@alfresco/aca-content 5.1.1 → 5.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (396) hide show
  1. package/assets/app.extensions.json +9 -0
  2. package/assets/i18n/ar.json +600 -599
  3. package/assets/i18n/cs.json +600 -599
  4. package/assets/i18n/da.json +600 -599
  5. package/assets/i18n/de.json +600 -599
  6. package/assets/i18n/en.json +40 -1
  7. package/assets/i18n/es.json +600 -599
  8. package/assets/i18n/fi.json +600 -599
  9. package/assets/i18n/fr.json +600 -599
  10. package/assets/i18n/it.json +600 -599
  11. package/assets/i18n/ja.json +600 -599
  12. package/assets/i18n/nb.json +600 -599
  13. package/assets/i18n/nl.json +600 -599
  14. package/assets/i18n/pl.json +600 -599
  15. package/assets/i18n/pt-BR.json +600 -599
  16. package/assets/i18n/ru.json +600 -599
  17. package/assets/i18n/sv.json +600 -599
  18. package/assets/i18n/zh-CN.json +600 -599
  19. package/esm2022/about/about.component.mjs +70 -0
  20. package/esm2022/about/aca-about.module.mjs +47 -0
  21. package/esm2022/folder-rules/folder-rules.module.mjs +116 -0
  22. package/esm2022/folder-rules/manage-rules/manage-rules.smart-component.mjs +280 -0
  23. package/esm2022/folder-rules/rule-details/actions/rule-action-list.ui-component.mjs +117 -0
  24. package/esm2022/folder-rules/rule-details/actions/rule-action.ui-component.mjs +359 -0
  25. package/esm2022/folder-rules/rule-details/conditions/rule-composite-condition.ui-component.mjs +171 -0
  26. package/esm2022/folder-rules/rule-details/conditions/rule-simple-condition.ui-component.mjs +237 -0
  27. package/esm2022/folder-rules/rule-details/edit-rule-dialog.ui-component.mjs +80 -0
  28. package/esm2022/folder-rules/rule-details/options/rule-options.ui-component.mjs +129 -0
  29. package/esm2022/folder-rules/rule-details/rule-details.ui-component.mjs +192 -0
  30. package/esm2022/folder-rules/rule-details/triggers/rule-triggers.ui-component.mjs +87 -0
  31. package/esm2022/folder-rules/rule-details/validators/rule-actions.validator.mjs +36 -0
  32. package/esm2022/folder-rules/rule-list/rule-list/rule-list.ui-component.mjs +166 -0
  33. package/esm2022/folder-rules/rule-list/rule-list-grouping/rule-list-grouping.ui-component.mjs +80 -0
  34. package/esm2022/folder-rules/rule-list/rule-list-item/rule-list-item.ui-component.mjs +59 -0
  35. package/esm2022/folder-rules/rule-set-picker/rule-set-picker.smart-component.mjs +125 -0
  36. package/esm2022/folder-rules/services/actions.service.mjs +117 -0
  37. package/esm2022/folder-rules/services/folder-rule-sets.service.mjs +230 -0
  38. package/esm2022/folder-rules/services/folder-rules.service.mjs +195 -0
  39. package/esm2022/lib/aca-content.module.mjs +303 -0
  40. package/esm2022/lib/aca-content.routes.mjs +369 -0
  41. package/esm2022/lib/components/bulk-actions-dropdown/bulk-actions-dropdown.component.mjs +82 -0
  42. package/{esm2020 → esm2022}/lib/components/common/language-picker/language-picker.component.mjs +9 -8
  43. package/esm2022/lib/components/common/location-link/location-link.component.mjs +182 -0
  44. package/{esm2020 → esm2022}/lib/components/common/logout/logout.component.mjs +8 -6
  45. package/esm2022/lib/components/common/toggle-shared/toggle-shared.component.mjs +81 -0
  46. package/esm2022/lib/components/common/user-info/user-info.component.mjs +46 -0
  47. package/esm2022/lib/components/context-menu/base-context-menu.directive.mjs +77 -0
  48. package/esm2022/lib/components/context-menu/context-menu-item.component.mjs +65 -0
  49. package/esm2022/lib/components/context-menu/context-menu-outside-event.directive.mjs +62 -0
  50. package/esm2022/lib/components/context-menu/context-menu-overlay.mjs +33 -0
  51. package/esm2022/lib/components/context-menu/context-menu.component.mjs +84 -0
  52. package/esm2022/lib/components/context-menu/context-menu.service.mjs +127 -0
  53. package/esm2022/lib/components/context-menu/custom-context-menu-actions.token.mjs +26 -0
  54. package/esm2022/lib/components/context-menu/custom-context-menu.component.mjs +79 -0
  55. package/esm2022/lib/components/details/details.component.mjs +154 -0
  56. package/esm2022/lib/components/dl-custom-components/datatable-cell-badges/datatable-cell-badges.component.mjs +75 -0
  57. package/esm2022/lib/components/dl-custom-components/name-column/name-column.component.mjs +106 -0
  58. package/esm2022/lib/components/dl-custom-components/tags-column/tags-column.component.mjs +52 -0
  59. package/esm2022/lib/components/dl-custom-components/thumbnail-column/thumbnail-column.component.mjs +77 -0
  60. package/esm2022/lib/components/favorite-libraries/favorite-libraries.component.mjs +126 -0
  61. package/esm2022/lib/components/favorites/favorites.component.mjs +105 -0
  62. package/esm2022/lib/components/files/files.component.mjs +336 -0
  63. package/esm2022/lib/components/home/home.component.mjs +46 -0
  64. package/esm2022/lib/components/info-drawer/comments-tab/comments-tab.component.mjs +62 -0
  65. package/esm2022/lib/components/info-drawer/info.drawer.module.mjs +74 -0
  66. package/esm2022/lib/components/info-drawer/library-metadata-tab/library-metadata-form.component.mjs +213 -0
  67. package/esm2022/lib/components/info-drawer/library-metadata-tab/library-metadata-tab.component.mjs +47 -0
  68. package/esm2022/lib/components/info-drawer/metadata-tab/metadata-tab.component.mjs +145 -0
  69. package/esm2022/lib/components/info-drawer/versions-tab/versions-tab.component.mjs +107 -0
  70. package/esm2022/lib/components/knowledge-retrieval/search-ai/agents-button/agents-button.component.mjs +135 -0
  71. package/esm2022/lib/components/knowledge-retrieval/search-ai/search-ai-input/search-ai-input.component.mjs +181 -0
  72. package/esm2022/lib/components/knowledge-retrieval/search-ai/search-ai-input-container/search-ai-input-container.component.mjs +77 -0
  73. package/esm2022/lib/components/knowledge-retrieval/search-ai/search-ai-results/search-ai-results.component.mjs +210 -0
  74. package/esm2022/lib/components/libraries/libraries.component.mjs +81 -0
  75. package/esm2022/lib/components/recent-files/recent-files.component.mjs +80 -0
  76. package/esm2022/lib/components/search/search-action-menu/search-action-menu.component.mjs +66 -0
  77. package/esm2022/lib/components/search/search-input/search-input.component.mjs +297 -0
  78. package/esm2022/lib/components/search/search-input-control/search-input-control.component.mjs +94 -0
  79. package/esm2022/lib/components/search/search-libraries-results/search-libraries-query-builder.service.mjs +93 -0
  80. package/esm2022/lib/components/search/search-libraries-results/search-libraries-results.component.mjs +155 -0
  81. package/esm2022/lib/components/search/search-navigation.service.mjs +62 -0
  82. package/esm2022/lib/components/search/search-results/search-results.component.mjs +279 -0
  83. package/esm2022/lib/components/search/search-results-row/search-results-row.component.mjs +149 -0
  84. package/esm2022/lib/components/search/search-save/dialog/delete/saved-search-delete-dialog.component.mjs +82 -0
  85. package/esm2022/lib/components/search/search-save/dialog/edit/saved-search-edit-dialog.component.mjs +116 -0
  86. package/esm2022/lib/components/search/search-save/dialog/save-search-dialog.component.mjs +125 -0
  87. package/esm2022/lib/components/search/search-save/dialog/saved-search-form.interface.mjs +25 -0
  88. package/esm2022/lib/components/search/search-save/dialog/unique-search-name-validator.mjs +45 -0
  89. package/esm2022/lib/components/search/search-save/directive/save-search.directive.mjs +64 -0
  90. package/esm2022/lib/components/search/search-save/list/saved-searches-list-ui.service.mjs +51 -0
  91. package/esm2022/lib/components/search/search-save/list/smart-list/saved-searches-list-schema.mjs +44 -0
  92. package/esm2022/lib/components/search/search-save/list/smart-list/saved-searches-smart-list.component.mjs +50 -0
  93. package/esm2022/lib/components/search/search-save/list/ui-list/saved-searches-list.ui-component.mjs +153 -0
  94. package/esm2022/lib/components/search/search-save/sidenav/save-search-sidenav.component.mjs +94 -0
  95. package/esm2022/lib/components/shared-files/shared-files.component.mjs +85 -0
  96. package/esm2022/lib/components/shared-link-view/shared-link-view.component.mjs +89 -0
  97. package/esm2022/lib/components/sidenav/components/button-menu.component.mjs +66 -0
  98. package/esm2022/lib/components/sidenav/components/expand-menu.component.mjs +73 -0
  99. package/esm2022/lib/components/sidenav/components/sidenav-header.component.mjs +65 -0
  100. package/esm2022/lib/components/sidenav/directives/action.directive.mjs +86 -0
  101. package/esm2022/lib/components/sidenav/directives/active-link.directive.mjs +100 -0
  102. package/esm2022/lib/components/sidenav/directives/expansion-panel.directive.mjs +107 -0
  103. package/esm2022/lib/components/sidenav/directives/menu-panel.directive.mjs +103 -0
  104. package/esm2022/lib/components/sidenav/sidenav.component.mjs +101 -0
  105. package/esm2022/lib/components/sidenav/user-menu/user-menu.component.mjs +57 -0
  106. package/esm2022/lib/components/toolbar/toggle-edit-offline/toggle-edit-offline.component.mjs +143 -0
  107. package/esm2022/lib/components/toolbar/toggle-favorite/toggle-favorite.component.mjs +91 -0
  108. package/esm2022/lib/components/toolbar/toggle-favorite-library/toggle-favorite-library.component.mjs +112 -0
  109. package/esm2022/lib/components/toolbar/toggle-info-drawer/toggle-info-drawer.component.mjs +77 -0
  110. package/esm2022/lib/components/toolbar/toggle-join-library/toggle-join-library-button.component.mjs +107 -0
  111. package/{esm2020 → esm2022}/lib/components/toolbar/toggle-join-library/toggle-join-library-menu.component.mjs +7 -6
  112. package/esm2022/lib/components/toolbar/view-node/view-node.component.mjs +128 -0
  113. package/esm2022/lib/components/trashcan/trashcan.component.mjs +66 -0
  114. package/esm2022/lib/components/upload-files-dialog/upload-files-dialog.component.mjs +55 -0
  115. package/esm2022/lib/components/view-profile/view-profile.component.mjs +200 -0
  116. package/esm2022/lib/dialogs/node-template/create-from-template.dialog.mjs +127 -0
  117. package/esm2022/lib/directives/document-list.directive.mjs +207 -0
  118. package/esm2022/lib/extensions/core.extensions.module.mjs +56 -0
  119. package/esm2022/lib/services/content-management.service.mjs +892 -0
  120. package/esm2022/lib/services/content-url.service.mjs +74 -0
  121. package/esm2022/lib/services/modal-ai.service.mjs +65 -0
  122. package/esm2022/lib/services/node-actions.service.mjs +609 -0
  123. package/esm2022/lib/services/node-template.service.mjs +145 -0
  124. package/esm2022/lib/services/search-ai-navigation.service.mjs +63 -0
  125. package/esm2022/lib/store/app-store.module.mjs +101 -0
  126. package/esm2022/lib/store/effects/app.effects.mjs +46 -0
  127. package/esm2022/lib/store/effects/contextmenu.effects.mjs +65 -0
  128. package/esm2022/lib/store/effects/download.effects.mjs +153 -0
  129. package/esm2022/lib/store/effects/favorite.effects.mjs +72 -0
  130. package/esm2022/lib/store/effects/library.effects.mjs +108 -0
  131. package/esm2022/lib/store/effects/node.effects.mjs +318 -0
  132. package/esm2022/lib/store/effects/search-ai.effects.mjs +54 -0
  133. package/esm2022/lib/store/effects/search.effects.mjs +52 -0
  134. package/esm2022/lib/store/effects/template.effects.mjs +116 -0
  135. package/esm2022/lib/store/effects/upload.effects.mjs +166 -0
  136. package/esm2022/lib/store/effects/viewer.effects.mjs +169 -0
  137. package/esm2022/lib/utils/aca-search-utils.mjs +129 -0
  138. package/esm2022/ms-office/actions/aos.actions.mjs +32 -0
  139. package/esm2022/ms-office/aos-extension.module.mjs +53 -0
  140. package/esm2022/ms-office/aos-extension.service.mjs +136 -0
  141. package/esm2022/ms-office/effects/aos.effects.mjs +45 -0
  142. package/esm2022/public-api.mjs +33 -0
  143. package/esm2022/viewer/lib/components/preview/preview.component.mjs +246 -0
  144. package/esm2022/viewer/lib/components/viewer/viewer.component.mjs +261 -0
  145. package/esm2022/viewer/lib/services/viewer.service.mjs +229 -0
  146. package/esm2022/viewer/lib/viewer.module.mjs +53 -0
  147. package/{fesm2015 → fesm2022}/alfresco-aca-content-about.mjs +17 -19
  148. package/fesm2022/alfresco-aca-content-about.mjs.map +1 -0
  149. package/{fesm2020 → fesm2022}/alfresco-aca-content-folder-rules.mjs +357 -316
  150. package/fesm2022/alfresco-aca-content-folder-rules.mjs.map +1 -0
  151. package/{fesm2020 → fesm2022}/alfresco-aca-content-ms-office.mjs +28 -26
  152. package/fesm2022/alfresco-aca-content-ms-office.mjs.map +1 -0
  153. package/{fesm2020 → fesm2022}/alfresco-aca-content-viewer.mjs +95 -64
  154. package/fesm2022/alfresco-aca-content-viewer.mjs.map +1 -0
  155. package/fesm2022/alfresco-aca-content.mjs +11091 -0
  156. package/fesm2022/alfresco-aca-content.mjs.map +1 -0
  157. package/folder-rules/rule-details/actions/rule-action-list.ui-component.d.ts +1 -1
  158. package/folder-rules/rule-details/actions/rule-action.ui-component.d.ts +1 -1
  159. package/folder-rules/rule-details/conditions/rule-composite-condition.ui-component.d.ts +1 -1
  160. package/folder-rules/rule-details/conditions/rule-simple-condition.ui-component.d.ts +1 -1
  161. package/folder-rules/rule-details/options/rule-options.ui-component.d.ts +1 -1
  162. package/folder-rules/rule-details/rule-details.ui-component.d.ts +1 -1
  163. package/folder-rules/rule-list/rule-list/rule-list.ui-component.d.ts +1 -1
  164. package/folder-rules/rule-list/rule-list-grouping/rule-list-grouping.ui-component.d.ts +1 -1
  165. package/folder-rules/rule-list/rule-list-item/rule-list-item.ui-component.d.ts +1 -1
  166. package/folder-rules/services/folder-rule-sets.service.d.ts +4 -4
  167. package/folder-rules/services/folder-rules.service.d.ts +1 -1
  168. package/lib/components/bulk-actions-dropdown/bulk-actions-dropdown.component.d.ts +5 -10
  169. package/lib/components/common/location-link/location-link.component.d.ts +1 -1
  170. package/lib/components/common/toggle-shared/toggle-shared.component.d.ts +1 -1
  171. package/lib/components/context-menu/base-context-menu.directive.d.ts +20 -0
  172. package/lib/components/context-menu/context-menu-item.component.d.ts +1 -1
  173. package/lib/components/context-menu/context-menu-outside-event.directive.d.ts +1 -1
  174. package/lib/components/context-menu/context-menu.component.d.ts +4 -15
  175. package/lib/components/context-menu/context-menu.service.d.ts +4 -1
  176. package/lib/components/{knowledge-retrieval/search-ai/search-ai-utils.d.ts → context-menu/custom-context-menu-actions.token.d.ts} +2 -2
  177. package/lib/components/context-menu/custom-context-menu.component.d.ts +36 -0
  178. package/lib/components/details/details.component.d.ts +1 -1
  179. package/lib/components/dl-custom-components/datatable-cell-badges/datatable-cell-badges.component.d.ts +1 -1
  180. package/lib/components/dl-custom-components/tags-column/tags-column.component.d.ts +1 -1
  181. package/lib/components/dl-custom-components/thumbnail-column/thumbnail-column.component.d.ts +1 -1
  182. package/lib/components/info-drawer/comments-tab/comments-tab.component.d.ts +1 -1
  183. package/lib/components/info-drawer/library-metadata-tab/library-metadata-form.component.d.ts +1 -1
  184. package/lib/components/info-drawer/library-metadata-tab/library-metadata-tab.component.d.ts +1 -1
  185. package/lib/components/info-drawer/metadata-tab/metadata-tab.component.d.ts +1 -1
  186. package/lib/components/info-drawer/versions-tab/versions-tab.component.d.ts +1 -1
  187. package/lib/components/knowledge-retrieval/search-ai/agents-button/agents-button.component.d.ts +1 -2
  188. package/lib/components/knowledge-retrieval/search-ai/search-ai-input/search-ai-input.component.d.ts +4 -5
  189. package/lib/components/knowledge-retrieval/search-ai/search-ai-input-container/search-ai-input-container.component.d.ts +8 -8
  190. package/lib/components/knowledge-retrieval/search-ai/search-ai-results/search-ai-results.component.d.ts +2 -3
  191. package/lib/components/search/search-input/search-input.component.d.ts +12 -14
  192. package/lib/components/search/search-input-control/search-input-control.component.d.ts +1 -1
  193. package/lib/components/search/search-libraries-results/search-libraries-results.component.d.ts +0 -1
  194. package/lib/components/search/search-results/search-results.component.d.ts +15 -9
  195. package/lib/components/search/search-results-row/search-results-row.component.d.ts +1 -1
  196. package/lib/components/search/search-save/dialog/delete/saved-search-delete-dialog.component.d.ts +16 -0
  197. package/lib/components/search/search-save/dialog/edit/saved-search-edit-dialog.component.d.ts +22 -0
  198. package/lib/components/search/search-save/dialog/save-search-dialog.component.d.ts +23 -0
  199. package/lib/components/search/search-save/dialog/saved-search-form.interface.d.ts +28 -0
  200. package/lib/components/search/search-save/dialog/unique-search-name-validator.d.ts +34 -0
  201. package/lib/components/search/search-save/directive/save-search.directive.d.ts +13 -0
  202. package/lib/components/search/search-save/list/saved-searches-list-ui.service.d.ts +9 -0
  203. package/lib/components/search/search-save/list/smart-list/saved-searches-list-schema.d.ts +33 -0
  204. package/lib/components/search/search-save/list/smart-list/saved-searches-smart-list.component.d.ts +13 -0
  205. package/lib/components/search/search-save/list/ui-list/saved-searches-list.ui-component.d.ts +66 -0
  206. package/lib/components/search/search-save/sidenav/save-search-sidenav.component.d.ts +44 -0
  207. package/lib/components/sidenav/components/button-menu.component.d.ts +1 -1
  208. package/lib/components/sidenav/components/expand-menu.component.d.ts +3 -2
  209. package/lib/components/sidenav/directives/action.directive.d.ts +28 -1
  210. package/lib/components/sidenav/directives/active-link.directive.d.ts +2 -2
  211. package/lib/components/sidenav/directives/expansion-panel.directive.d.ts +1 -1
  212. package/lib/components/sidenav/directives/menu-panel.directive.d.ts +1 -1
  213. package/lib/components/sidenav/sidenav.component.d.ts +4 -3
  214. package/lib/components/sidenav/user-menu/user-menu.component.d.ts +1 -1
  215. package/lib/components/toolbar/toggle-favorite/toggle-favorite.component.d.ts +1 -1
  216. package/lib/components/toolbar/view-node/view-node.component.d.ts +1 -1
  217. package/lib/services/search-ai-navigation.service.d.ts +4 -2
  218. package/lib/store/effects/app.effects.d.ts +2 -3
  219. package/lib/store/effects/contextmenu.effects.d.ts +3 -3
  220. package/lib/store/effects/download.effects.d.ts +0 -30
  221. package/lib/store/effects/favorite.effects.d.ts +0 -28
  222. package/lib/store/effects/library.effects.d.ts +2 -7
  223. package/lib/store/effects/node.effects.d.ts +7 -38
  224. package/lib/store/effects/search-ai.effects.d.ts +0 -4
  225. package/lib/store/effects/search.effects.d.ts +3 -30
  226. package/lib/store/effects/template.effects.d.ts +5 -7
  227. package/lib/store/effects/upload.effects.d.ts +8 -32
  228. package/lib/store/effects/viewer.effects.d.ts +0 -29
  229. package/lib/utils/aca-search-utils.d.ts +67 -0
  230. package/ms-office/effects/aos.effects.d.ts +0 -3
  231. package/package.json +21 -35
  232. package/public-api.d.ts +1 -0
  233. package/ui/overrides/adf-pagination.theme.scss +0 -4
  234. package/ui/theme.scss +9 -4
  235. package/assets/images/agent-avatar-blue.png +0 -0
  236. package/assets/images/agent-avatar-gold.png +0 -0
  237. package/assets/images/agent-avatar-pink.png +0 -0
  238. package/esm2020/about/about.component.mjs +0 -71
  239. package/esm2020/about/aca-about.module.mjs +0 -46
  240. package/esm2020/folder-rules/folder-rules.module.mjs +0 -115
  241. package/esm2020/folder-rules/manage-rules/manage-rules.smart-component.mjs +0 -261
  242. package/esm2020/folder-rules/rule-details/actions/rule-action-list.ui-component.mjs +0 -117
  243. package/esm2020/folder-rules/rule-details/actions/rule-action.ui-component.mjs +0 -351
  244. package/esm2020/folder-rules/rule-details/conditions/rule-composite-condition.ui-component.mjs +0 -172
  245. package/esm2020/folder-rules/rule-details/conditions/rule-simple-condition.ui-component.mjs +0 -234
  246. package/esm2020/folder-rules/rule-details/edit-rule-dialog.ui-component.mjs +0 -74
  247. package/esm2020/folder-rules/rule-details/options/rule-options.ui-component.mjs +0 -129
  248. package/esm2020/folder-rules/rule-details/rule-details.ui-component.mjs +0 -185
  249. package/esm2020/folder-rules/rule-details/triggers/rule-triggers.ui-component.mjs +0 -88
  250. package/esm2020/folder-rules/rule-details/validators/rule-actions.validator.mjs +0 -37
  251. package/esm2020/folder-rules/rule-list/rule-list/rule-list.ui-component.mjs +0 -164
  252. package/esm2020/folder-rules/rule-list/rule-list-grouping/rule-list-grouping.ui-component.mjs +0 -81
  253. package/esm2020/folder-rules/rule-list/rule-list-item/rule-list-item.ui-component.mjs +0 -58
  254. package/esm2020/folder-rules/rule-set-picker/rule-set-picker.smart-component.mjs +0 -120
  255. package/esm2020/folder-rules/services/actions.service.mjs +0 -114
  256. package/esm2020/folder-rules/services/folder-rule-sets.service.mjs +0 -225
  257. package/esm2020/folder-rules/services/folder-rules.service.mjs +0 -193
  258. package/esm2020/lib/aca-content.module.mjs +0 -299
  259. package/esm2020/lib/aca-content.routes.mjs +0 -359
  260. package/esm2020/lib/components/bulk-actions-dropdown/bulk-actions-dropdown.component.mjs +0 -83
  261. package/esm2020/lib/components/common/location-link/location-link.component.mjs +0 -180
  262. package/esm2020/lib/components/common/toggle-shared/toggle-shared.component.mjs +0 -76
  263. package/esm2020/lib/components/common/user-info/user-info.component.mjs +0 -47
  264. package/esm2020/lib/components/context-menu/context-menu-item.component.mjs +0 -62
  265. package/esm2020/lib/components/context-menu/context-menu-outside-event.directive.mjs +0 -63
  266. package/esm2020/lib/components/context-menu/context-menu-overlay.mjs +0 -32
  267. package/esm2020/lib/components/context-menu/context-menu.component.mjs +0 -114
  268. package/esm2020/lib/components/context-menu/context-menu.service.mjs +0 -99
  269. package/esm2020/lib/components/details/details.component.mjs +0 -147
  270. package/esm2020/lib/components/dl-custom-components/datatable-cell-badges/datatable-cell-badges.component.mjs +0 -71
  271. package/esm2020/lib/components/dl-custom-components/name-column/name-column.component.mjs +0 -101
  272. package/esm2020/lib/components/dl-custom-components/tags-column/tags-column.component.mjs +0 -48
  273. package/esm2020/lib/components/dl-custom-components/thumbnail-column/thumbnail-column.component.mjs +0 -75
  274. package/esm2020/lib/components/favorite-libraries/favorite-libraries.component.mjs +0 -120
  275. package/esm2020/lib/components/favorites/favorites.component.mjs +0 -103
  276. package/esm2020/lib/components/files/files.component.mjs +0 -330
  277. package/esm2020/lib/components/home/home.component.mjs +0 -47
  278. package/esm2020/lib/components/info-drawer/comments-tab/comments-tab.component.mjs +0 -59
  279. package/esm2020/lib/components/info-drawer/info.drawer.module.mjs +0 -73
  280. package/esm2020/lib/components/info-drawer/library-metadata-tab/library-metadata-form.component.mjs +0 -206
  281. package/esm2020/lib/components/info-drawer/library-metadata-tab/library-metadata-tab.component.mjs +0 -45
  282. package/esm2020/lib/components/info-drawer/metadata-tab/metadata-tab.component.mjs +0 -134
  283. package/esm2020/lib/components/info-drawer/versions-tab/versions-tab.component.mjs +0 -95
  284. package/esm2020/lib/components/knowledge-retrieval/search-ai/agents-button/agents-button.component.mjs +0 -129
  285. package/esm2020/lib/components/knowledge-retrieval/search-ai/search-ai-input/search-ai-input.component.mjs +0 -171
  286. package/esm2020/lib/components/knowledge-retrieval/search-ai/search-ai-input-container/search-ai-input-container.component.mjs +0 -82
  287. package/esm2020/lib/components/knowledge-retrieval/search-ai/search-ai-results/search-ai-results.component.mjs +0 -199
  288. package/esm2020/lib/components/knowledge-retrieval/search-ai/search-ai-utils.mjs +0 -33
  289. package/esm2020/lib/components/libraries/libraries.component.mjs +0 -79
  290. package/esm2020/lib/components/recent-files/recent-files.component.mjs +0 -82
  291. package/esm2020/lib/components/search/search-action-menu/search-action-menu.component.mjs +0 -64
  292. package/esm2020/lib/components/search/search-input/search-input.component.mjs +0 -301
  293. package/esm2020/lib/components/search/search-input-control/search-input-control.component.mjs +0 -94
  294. package/esm2020/lib/components/search/search-libraries-results/search-libraries-query-builder.service.mjs +0 -90
  295. package/esm2020/lib/components/search/search-libraries-results/search-libraries-results.component.mjs +0 -153
  296. package/esm2020/lib/components/search/search-navigation.service.mjs +0 -60
  297. package/esm2020/lib/components/search/search-results/search-results.component.mjs +0 -255
  298. package/esm2020/lib/components/search/search-results-row/search-results-row.component.mjs +0 -142
  299. package/esm2020/lib/components/shared-files/shared-files.component.mjs +0 -83
  300. package/esm2020/lib/components/shared-link-view/shared-link-view.component.mjs +0 -82
  301. package/esm2020/lib/components/sidenav/components/button-menu.component.mjs +0 -62
  302. package/esm2020/lib/components/sidenav/components/expand-menu.component.mjs +0 -67
  303. package/esm2020/lib/components/sidenav/components/sidenav-header.component.mjs +0 -66
  304. package/esm2020/lib/components/sidenav/directives/action.directive.mjs +0 -75
  305. package/esm2020/lib/components/sidenav/directives/active-link.directive.mjs +0 -93
  306. package/esm2020/lib/components/sidenav/directives/expansion-panel.directive.mjs +0 -102
  307. package/esm2020/lib/components/sidenav/directives/menu-panel.directive.mjs +0 -99
  308. package/esm2020/lib/components/sidenav/sidenav.component.mjs +0 -89
  309. package/esm2020/lib/components/sidenav/user-menu/user-menu.component.mjs +0 -56
  310. package/esm2020/lib/components/toolbar/toggle-edit-offline/toggle-edit-offline.component.mjs +0 -137
  311. package/esm2020/lib/components/toolbar/toggle-favorite/toggle-favorite.component.mjs +0 -86
  312. package/esm2020/lib/components/toolbar/toggle-favorite-library/toggle-favorite-library.component.mjs +0 -107
  313. package/esm2020/lib/components/toolbar/toggle-info-drawer/toggle-info-drawer.component.mjs +0 -74
  314. package/esm2020/lib/components/toolbar/toggle-join-library/toggle-join-library-button.component.mjs +0 -105
  315. package/esm2020/lib/components/toolbar/view-node/view-node.component.mjs +0 -122
  316. package/esm2020/lib/components/trashcan/trashcan.component.mjs +0 -68
  317. package/esm2020/lib/components/upload-files-dialog/upload-files-dialog.component.mjs +0 -52
  318. package/esm2020/lib/components/view-profile/view-profile.component.mjs +0 -193
  319. package/esm2020/lib/dialogs/node-template/create-from-template.dialog.mjs +0 -120
  320. package/esm2020/lib/directives/document-list.directive.mjs +0 -199
  321. package/esm2020/lib/extensions/core.extensions.module.mjs +0 -55
  322. package/esm2020/lib/services/content-management.service.mjs +0 -873
  323. package/esm2020/lib/services/content-url.service.mjs +0 -71
  324. package/esm2020/lib/services/modal-ai.service.mjs +0 -66
  325. package/esm2020/lib/services/node-actions.service.mjs +0 -600
  326. package/esm2020/lib/services/node-template.service.mjs +0 -144
  327. package/esm2020/lib/services/search-ai-navigation.service.mjs +0 -52
  328. package/esm2020/lib/store/app-store.module.mjs +0 -102
  329. package/esm2020/lib/store/effects/app.effects.mjs +0 -49
  330. package/esm2020/lib/store/effects/contextmenu.effects.mjs +0 -55
  331. package/esm2020/lib/store/effects/download.effects.mjs +0 -159
  332. package/esm2020/lib/store/effects/favorite.effects.mjs +0 -76
  333. package/esm2020/lib/store/effects/library.effects.mjs +0 -113
  334. package/esm2020/lib/store/effects/node.effects.mjs +0 -325
  335. package/esm2020/lib/store/effects/search-ai.effects.mjs +0 -57
  336. package/esm2020/lib/store/effects/search.effects.mjs +0 -60
  337. package/esm2020/lib/store/effects/template.effects.mjs +0 -121
  338. package/esm2020/lib/store/effects/upload.effects.mjs +0 -166
  339. package/esm2020/lib/store/effects/viewer.effects.mjs +0 -175
  340. package/esm2020/ms-office/actions/aos.actions.mjs +0 -31
  341. package/esm2020/ms-office/aos-extension.module.mjs +0 -52
  342. package/esm2020/ms-office/aos-extension.service.mjs +0 -132
  343. package/esm2020/ms-office/effects/aos.effects.mjs +0 -48
  344. package/esm2020/public-api.mjs +0 -32
  345. package/esm2020/viewer/lib/components/preview/preview.component.mjs +0 -236
  346. package/esm2020/viewer/lib/components/viewer/viewer.component.mjs +0 -240
  347. package/esm2020/viewer/lib/services/viewer.service.mjs +0 -226
  348. package/esm2020/viewer/lib/viewer.module.mjs +0 -52
  349. package/fesm2015/alfresco-aca-content-about.mjs.map +0 -1
  350. package/fesm2015/alfresco-aca-content-folder-rules.mjs +0 -2662
  351. package/fesm2015/alfresco-aca-content-folder-rules.mjs.map +0 -1
  352. package/fesm2015/alfresco-aca-content-ms-office.mjs +0 -256
  353. package/fesm2015/alfresco-aca-content-ms-office.mjs.map +0 -1
  354. package/fesm2015/alfresco-aca-content-viewer.mjs +0 -700
  355. package/fesm2015/alfresco-aca-content-viewer.mjs.map +0 -1
  356. package/fesm2015/alfresco-aca-content.mjs +0 -9835
  357. package/fesm2015/alfresco-aca-content.mjs.map +0 -1
  358. package/fesm2020/alfresco-aca-content-about.mjs +0 -193
  359. package/fesm2020/alfresco-aca-content-about.mjs.map +0 -1
  360. package/fesm2020/alfresco-aca-content-folder-rules.mjs.map +0 -1
  361. package/fesm2020/alfresco-aca-content-ms-office.mjs.map +0 -1
  362. package/fesm2020/alfresco-aca-content-viewer.mjs.map +0 -1
  363. package/fesm2020/alfresco-aca-content.mjs +0 -9934
  364. package/fesm2020/alfresco-aca-content.mjs.map +0 -1
  365. /package/{esm2020 → esm2022}/about/alfresco-aca-content-about.mjs +0 -0
  366. /package/{esm2020 → esm2022}/about/dev-mode.tokens.mjs +0 -0
  367. /package/{esm2020 → esm2022}/about/package-json.token.mjs +0 -0
  368. /package/{esm2020 → esm2022}/about/public-api.mjs +0 -0
  369. /package/{esm2020 → esm2022}/alfresco-aca-content.mjs +0 -0
  370. /package/{esm2020 → esm2022}/folder-rules/alfresco-aca-content-folder-rules.mjs +0 -0
  371. /package/{esm2020 → esm2022}/folder-rules/folder-rules.rules.mjs +0 -0
  372. /package/{esm2020 → esm2022}/folder-rules/model/action-parameter-constraint.model.mjs +0 -0
  373. /package/{esm2020 → esm2022}/folder-rules/model/rule-action.model.mjs +0 -0
  374. /package/{esm2020 → esm2022}/folder-rules/model/rule-composite-condition.model.mjs +0 -0
  375. /package/{esm2020 → esm2022}/folder-rules/model/rule-grouping-item.model.mjs +0 -0
  376. /package/{esm2020 → esm2022}/folder-rules/model/rule-set.model.mjs +0 -0
  377. /package/{esm2020 → esm2022}/folder-rules/model/rule-simple-condition.model.mjs +0 -0
  378. /package/{esm2020 → esm2022}/folder-rules/model/rule.model.mjs +0 -0
  379. /package/{esm2020 → esm2022}/folder-rules/public-api.mjs +0 -0
  380. /package/{esm2020 → esm2022}/folder-rules/rule-details/conditions/rule-condition-comparators.mjs +0 -0
  381. /package/{esm2020 → esm2022}/folder-rules/rule-details/conditions/rule-condition-fields.mjs +0 -0
  382. /package/{esm2020 → esm2022}/folder-rules/rule-details/validators/rule-composite-condition.validator.mjs +0 -0
  383. /package/{esm2020 → esm2022}/lib/components/common/index.mjs +0 -0
  384. /package/{esm2020 → esm2022}/lib/components/context-menu/direction.token.mjs +0 -0
  385. /package/{esm2020 → esm2022}/lib/components/context-menu/interfaces.mjs +0 -0
  386. /package/{esm2020 → esm2022}/lib/components/search/index.mjs +0 -0
  387. /package/{esm2020 → esm2022}/lib/components/sidenav/index.mjs +0 -0
  388. /package/{esm2020 → esm2022}/lib/components/toolbar/index.mjs +0 -0
  389. /package/{esm2020 → esm2022}/lib/components/view-profile/view-profile.guard.mjs +0 -0
  390. /package/{esm2020 → esm2022}/lib/store/effects.mjs +0 -0
  391. /package/{esm2020 → esm2022}/lib/store/initial-state.mjs +0 -0
  392. /package/{esm2020 → esm2022}/lib/store/reducers/app.reducer.mjs +0 -0
  393. /package/{esm2020 → esm2022}/ms-office/alfresco-aca-content-ms-office.mjs +0 -0
  394. /package/{esm2020 → esm2022}/ms-office/public-api.mjs +0 -0
  395. /package/{esm2020 → esm2022}/viewer/alfresco-aca-content-viewer.mjs +0 -0
  396. /package/{esm2020 → esm2022}/viewer/public-api.mjs +0 -0
@@ -1,12 +1,12 @@
1
1
  import * as i1 from '@alfresco/adf-core';
2
2
  import * as i0 from '@angular/core';
3
- import { Injectable, NgModule } from '@angular/core';
3
+ import { Injectable, inject, NgModule } from '@angular/core';
4
4
  import { supportedExtensions, getFileExtension, canOpenWithOffice } from '@alfresco/aca-shared/rules';
5
5
  import * as i2 from '@alfresco/aca-shared';
6
- import * as i1$1 from '@ngrx/effects';
7
- import { createEffect, ofType, EffectsModule } from '@ngrx/effects';
6
+ import * as i3 from '@ngrx/effects';
7
+ import { Actions, createEffect, ofType, EffectsModule } from '@ngrx/effects';
8
8
  import { map } from 'rxjs/operators';
9
- import * as i1$2 from '@alfresco/adf-extensions';
9
+ import * as i1$1 from '@alfresco/adf-extensions';
10
10
  import { provideExtensionConfig } from '@alfresco/adf-extensions';
11
11
 
12
12
  /*!
@@ -34,6 +34,9 @@ import { provideExtensionConfig } from '@alfresco/adf-extensions';
34
34
  */
35
35
  /* cspell:disable */
36
36
  class AosEditOnlineService {
37
+ authenticationService;
38
+ appSettings;
39
+ notificationService;
37
40
  constructor(authenticationService, appSettings, notificationService) {
38
41
  this.authenticationService = authenticationService;
39
42
  this.appSettings = appSettings;
@@ -124,10 +127,10 @@ class AosEditOnlineService {
124
127
  getNodeId(node) {
125
128
  return node.nodeId || node.guid || node.id;
126
129
  }
130
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: AosEditOnlineService, deps: [{ token: i1.AuthenticationService }, { token: i2.AppSettingsService }, { token: i1.NotificationService }], target: i0.ɵɵFactoryTarget.Injectable });
131
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: AosEditOnlineService, providedIn: 'root' });
127
132
  }
128
- AosEditOnlineService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: AosEditOnlineService, deps: [{ token: i1.AuthenticationService }, { token: i2.AppSettingsService }, { token: i1.NotificationService }], target: i0.ɵɵFactoryTarget.Injectable });
129
- AosEditOnlineService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: AosEditOnlineService, providedIn: 'root' });
130
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: AosEditOnlineService, decorators: [{
133
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: AosEditOnlineService, decorators: [{
131
134
  type: Injectable,
132
135
  args: [{
133
136
  providedIn: 'root'
@@ -159,9 +162,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
159
162
  */
160
163
  const AOS_ACTION = 'AOS_ACTION';
161
164
  class AosAction {
165
+ payload;
166
+ type = AOS_ACTION;
162
167
  constructor(payload) {
163
168
  this.payload = payload;
164
- this.type = AOS_ACTION;
165
169
  }
166
170
  }
167
171
 
@@ -189,21 +193,19 @@ class AosAction {
189
193
  * from Hyland Software. If not, see <http://www.gnu.org/licenses/>.
190
194
  */
191
195
  class AosEffects {
192
- constructor(actions$, aosEditOnlineService) {
193
- this.actions$ = actions$;
194
- this.aosEditOnlineService = aosEditOnlineService;
195
- this.openOffice$ = createEffect(() => this.actions$.pipe(ofType(AOS_ACTION), map((action) => {
196
- if (action.payload) {
197
- this.aosEditOnlineService.onActionEditOnlineAos(action.payload);
198
- }
199
- })), { dispatch: false });
200
- }
196
+ actions$ = inject(Actions);
197
+ aosEditOnlineService = inject(AosEditOnlineService);
198
+ openOffice$ = createEffect(() => this.actions$.pipe(ofType(AOS_ACTION), map((action) => {
199
+ if (action.payload) {
200
+ this.aosEditOnlineService.onActionEditOnlineAos(action.payload);
201
+ }
202
+ })), { dispatch: false });
203
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: AosEffects, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
204
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: AosEffects });
201
205
  }
202
- AosEffects.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: AosEffects, deps: [{ token: i1$1.Actions }, { token: AosEditOnlineService }], target: i0.ɵɵFactoryTarget.Injectable });
203
- AosEffects.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: AosEffects });
204
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: AosEffects, decorators: [{
206
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: AosEffects, decorators: [{
205
207
  type: Injectable
206
- }], ctorParameters: function () { return [{ type: i1$1.Actions }, { type: AosEditOnlineService }]; } });
208
+ }] });
207
209
 
208
210
  /*!
209
211
  * Copyright © 2005-2024 Hyland Software, Inc. and its affiliates. All rights reserved.
@@ -235,17 +237,17 @@ class AosExtensionModule {
235
237
  'aos.canOpenWithOffice': canOpenWithOffice
236
238
  });
237
239
  }
240
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: AosExtensionModule, deps: [{ token: i1$1.ExtensionService }, { token: i1.TranslationService }], target: i0.ɵɵFactoryTarget.NgModule });
241
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.9", ngImport: i0, type: AosExtensionModule, imports: [i3.EffectsFeatureModule] });
242
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: AosExtensionModule, providers: [provideExtensionConfig(['aos.plugin.json'])], imports: [EffectsModule.forFeature([AosEffects])] });
238
243
  }
239
- AosExtensionModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: AosExtensionModule, deps: [{ token: i1$2.ExtensionService }, { token: i1.TranslationService }], target: i0.ɵɵFactoryTarget.NgModule });
240
- AosExtensionModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: AosExtensionModule, imports: [i1$1.EffectsFeatureModule] });
241
- AosExtensionModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: AosExtensionModule, providers: [provideExtensionConfig(['aos.plugin.json'])], imports: [EffectsModule.forFeature([AosEffects])] });
242
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: AosExtensionModule, decorators: [{
244
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: AosExtensionModule, decorators: [{
243
245
  type: NgModule,
244
246
  args: [{
245
247
  imports: [EffectsModule.forFeature([AosEffects])],
246
248
  providers: [provideExtensionConfig(['aos.plugin.json'])]
247
249
  }]
248
- }], ctorParameters: function () { return [{ type: i1$2.ExtensionService }, { type: i1.TranslationService }]; } });
250
+ }], ctorParameters: function () { return [{ type: i1$1.ExtensionService }, { type: i1.TranslationService }]; } });
249
251
 
250
252
  /*!
251
253
  * Copyright © 2005-2024 Hyland Software, Inc. and its affiliates. All rights reserved.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"alfresco-aca-content-ms-office.mjs","sources":["../../../../projects/aca-content/ms-office/src/aos-extension.service.ts","../../../../projects/aca-content/ms-office/src/actions/aos.actions.ts","../../../../projects/aca-content/ms-office/src/effects/aos.effects.ts","../../../../projects/aca-content/ms-office/src/aos-extension.module.ts","../../../../projects/aca-content/ms-office/src/public-api.ts","../../../../projects/aca-content/ms-office/src/alfresco-aca-content-ms-office.ts"],"sourcesContent":["/*!\n * Copyright © 2005-2024 Hyland Software, Inc. and its affiliates. All rights reserved.\n *\n * Alfresco Example Content Application\n *\n * This file is part of the Alfresco Example Content Application.\n * If the software was purchased under a paid Alfresco license, the terms of\n * the paid license agreement will prevail. Otherwise, the software is\n * provided under the following open source license terms:\n *\n * The Alfresco Example Content Application is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Lesser General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * The Alfresco Example Content Application is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Lesser General Public License for more details.\n *\n * You should have received a copy of the GNU Lesser General Public License\n * from Hyland Software. If not, see <http://www.gnu.org/licenses/>.\n */\n\n/* cspell:disable */\nimport { AuthenticationService, NotificationService } from '@alfresco/adf-core';\nimport { Injectable } from '@angular/core';\nimport { Node } from '@alfresco/js-api';\nimport { getFileExtension, supportedExtensions } from '@alfresco/aca-shared/rules';\nimport { AppSettingsService } from '@alfresco/aca-shared';\n\nexport interface IAosEditOnlineService {\n onActionEditOnlineAos(node: Node): void;\n}\n\n@Injectable({\n providedIn: 'root'\n})\nexport class AosEditOnlineService implements IAosEditOnlineService {\n constructor(\n private authenticationService: AuthenticationService,\n private appSettings: AppSettingsService,\n private notificationService: NotificationService\n ) {}\n\n onActionEditOnlineAos(node: Node): void {\n if (node && this.isFile(node) && node.properties) {\n if (node.isLocked) {\n // const checkedOut = node.aspectNames.find(\n // (aspect: string) => aspect === 'cm:checkedOut'\n // );\n const checkedOut = node.properties['cm:lockType'] === 'WRITE_LOCK' || node.properties['cm:lockType'] === 'READ_ONLY_LOCK';\n const lockOwner = node.properties['cm:lockOwner'];\n const differentLockOwner = lockOwner.id !== this.authenticationService.getEcmUsername();\n\n if (checkedOut && differentLockOwner) {\n this.onAlreadyLockedNotification(node.id, lockOwner.id);\n } else {\n this.triggerEditOnlineAos(node);\n }\n } else {\n this.triggerEditOnlineAos(node);\n }\n }\n }\n\n private getUserAgent(): string {\n return navigator.userAgent.toLowerCase();\n }\n\n private isWindows(): boolean {\n return this.getUserAgent().indexOf('win') !== -1;\n }\n\n private isMacOs(): boolean {\n return this.getUserAgent().indexOf('mac') !== -1;\n }\n\n private onAlreadyLockedNotification(nodeId: string, lockOwner: string) {\n this.notificationService.showError(`AOS.ERRORS.ALREADY_LOCKED`, null, {\n nodeId,\n lockOwner\n });\n }\n\n private getProtocolForFileExtension(fileExtension: string) {\n return fileExtension && supportedExtensions[fileExtension];\n }\n\n private triggerEditOnlineAos(node: Node): void {\n const aosHost = this.appSettings.aosHost;\n let url: string;\n const pathElements = (node.path?.elements || []).map((segment) => segment.name);\n\n if (!pathElements.length) {\n url = `${aosHost}/Company Home/_aos_nodeid/${this.getNodeId(node)}/${encodeURIComponent(node.name)}`;\n }\n\n if (pathElements.length === 1) {\n url = `${aosHost}/${encodeURIComponent(node.name)}`;\n }\n\n if (pathElements.length > 1) {\n const root = pathElements[1];\n url = `${aosHost}/${root}/_aos_nodeid/${this.getNodeId(node)}/${encodeURIComponent(node.name)}`;\n }\n\n const fileExtension = getFileExtension(node.name);\n const protocolHandler = this.getProtocolForFileExtension(fileExtension);\n\n if (protocolHandler === undefined) {\n this.notificationService.showError(`AOS.ERRORS.MISSING_PROTOCOL_HANDLER`, null, { nodeName: node.name });\n return;\n }\n\n if (!this.isWindows() && !this.isMacOs()) {\n this.notificationService.showError('AOS.ERRORS.UNSUPPORTED_PLATFORM');\n } else {\n this.openByUrl(protocolHandler, url);\n }\n }\n\n openByUrl(protocolHandler: string, url: string) {\n const finalUrl = protocolHandler + ':ofe%7Cu%7C' + url;\n\n const iframe = document.createElement('iframe');\n iframe.style.display = 'none';\n iframe.src = finalUrl;\n\n document.body.appendChild(iframe);\n\n setTimeout(() => {\n if (iframe) {\n document.body.removeChild(iframe);\n }\n }, 500);\n }\n\n private isFile(node: Node): boolean {\n const implicitFile = (node as any).nodeId || (node as any).guid;\n\n return !!implicitFile || node.isFile;\n }\n\n private getNodeId(node: Node): string {\n return (node as any).nodeId || (node as any).guid || node.id;\n }\n}\n","/*!\n * Copyright © 2005-2024 Hyland Software, Inc. and its affiliates. All rights reserved.\n *\n * Alfresco Example Content Application\n *\n * This file is part of the Alfresco Example Content Application.\n * If the software was purchased under a paid Alfresco license, the terms of\n * the paid license agreement will prevail. Otherwise, the software is\n * provided under the following open source license terms:\n *\n * The Alfresco Example Content Application is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Lesser General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * The Alfresco Example Content Application is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Lesser General Public License for more details.\n *\n * You should have received a copy of the GNU Lesser General Public License\n * from Hyland Software. If not, see <http://www.gnu.org/licenses/>.\n */\n\nimport { Action } from '@ngrx/store';\nimport { Node } from '@alfresco/js-api';\n\nexport const AOS_ACTION = 'AOS_ACTION';\n\nexport class AosAction implements Action {\n readonly type = AOS_ACTION;\n constructor(public payload: Node) {}\n}\n","/*!\n * Copyright © 2005-2024 Hyland Software, Inc. and its affiliates. All rights reserved.\n *\n * Alfresco Example Content Application\n *\n * This file is part of the Alfresco Example Content Application.\n * If the software was purchased under a paid Alfresco license, the terms of\n * the paid license agreement will prevail. Otherwise, the software is\n * provided under the following open source license terms:\n *\n * The Alfresco Example Content Application is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Lesser General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * The Alfresco Example Content Application is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Lesser General Public License for more details.\n *\n * You should have received a copy of the GNU Lesser General Public License\n * from Hyland Software. If not, see <http://www.gnu.org/licenses/>.\n */\n\nimport { inject, Injectable } from '@angular/core';\nimport { Actions, createEffect, ofType } from '@ngrx/effects';\nimport { map } from 'rxjs/operators';\n\nimport { AOS_ACTION, AosAction } from '../actions/aos.actions';\nimport { AosEditOnlineService } from '../aos-extension.service';\n\n@Injectable()\nexport class AosEffects {\n private actions$ = inject(Actions);\n private aosEditOnlineService = inject(AosEditOnlineService);\n\n openOffice$ = createEffect(\n () =>\n this.actions$.pipe(\n ofType<AosAction>(AOS_ACTION),\n map((action) => {\n if (action.payload) {\n this.aosEditOnlineService.onActionEditOnlineAos(action.payload);\n }\n })\n ),\n { dispatch: false }\n );\n}\n","/*!\n * Copyright © 2005-2024 Hyland Software, Inc. and its affiliates. All rights reserved.\n *\n * Alfresco Example Content Application\n *\n * This file is part of the Alfresco Example Content Application.\n * If the software was purchased under a paid Alfresco license, the terms of\n * the paid license agreement will prevail. Otherwise, the software is\n * provided under the following open source license terms:\n *\n * The Alfresco Example Content Application is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Lesser General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * The Alfresco Example Content Application is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Lesser General Public License for more details.\n *\n * You should have received a copy of the GNU Lesser General Public License\n * from Hyland Software. If not, see <http://www.gnu.org/licenses/>.\n */\n\nimport { ExtensionService, provideExtensionConfig } from '@alfresco/adf-extensions';\nimport { NgModule } from '@angular/core';\nimport { EffectsModule } from '@ngrx/effects';\nimport { AosEffects } from './effects/aos.effects';\nimport { TranslationService } from '@alfresco/adf-core';\nimport { canOpenWithOffice } from '@alfresco/aca-shared/rules';\n\n@NgModule({\n imports: [EffectsModule.forFeature([AosEffects])],\n providers: [provideExtensionConfig(['aos.plugin.json'])]\n})\nexport class AosExtensionModule {\n constructor(extensions: ExtensionService, translation: TranslationService) {\n translation.addTranslationFolder('ms-office', 'assets/ms-office');\n extensions.setEvaluators({\n 'aos.canOpenWithOffice': canOpenWithOffice\n });\n }\n}\n","/*!\n * Copyright © 2005-2024 Hyland Software, Inc. and its affiliates. All rights reserved.\n *\n * Alfresco Example Content Application\n *\n * This file is part of the Alfresco Example Content Application.\n * If the software was purchased under a paid Alfresco license, the terms of\n * the paid license agreement will prevail. Otherwise, the software is\n * provided under the following open source license terms:\n *\n * The Alfresco Example Content Application is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Lesser General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * The Alfresco Example Content Application is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Lesser General Public License for more details.\n *\n * You should have received a copy of the GNU Lesser General Public License\n * from Hyland Software. If not, see <http://www.gnu.org/licenses/>.\n */\n\nexport * from './aos-extension.service';\nexport * from './actions/aos.actions';\nexport * from './effects/aos.effects';\n\nexport * from './aos-extension.module';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1","i2"],"mappings":";;;;;;;;;;;AAAA;;;;;;;;;;;;;;;;;;;;;;AAsBG;AAEH;AAWA,MAGa,oBAAoB,CAAA;AAErB,IAAA,qBAAA,CAAA;AACA,IAAA,WAAA,CAAA;AACA,IAAA,mBAAA,CAAA;AAHV,IAAA,WAAA,CACU,qBAA4C,EAC5C,WAA+B,EAC/B,mBAAwC,EAAA;QAFxC,IAAqB,CAAA,qBAAA,GAArB,qBAAqB,CAAuB;QAC5C,IAAW,CAAA,WAAA,GAAX,WAAW,CAAoB;QAC/B,IAAmB,CAAA,mBAAA,GAAnB,mBAAmB,CAAqB;KAC9C;AAEJ,IAAA,qBAAqB,CAAC,IAAU,EAAA;AAC9B,QAAA,IAAI,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,UAAU,EAAE;YAChD,IAAI,IAAI,CAAC,QAAQ,EAAE;;;;AAIjB,gBAAA,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,KAAK,YAAY,IAAI,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,KAAK,gBAAgB,CAAC;gBAC1H,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC;AAClD,gBAAA,MAAM,kBAAkB,GAAG,SAAS,CAAC,EAAE,KAAK,IAAI,CAAC,qBAAqB,CAAC,cAAc,EAAE,CAAC;gBAExF,IAAI,UAAU,IAAI,kBAAkB,EAAE;oBACpC,IAAI,CAAC,2BAA2B,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,CAAC,EAAE,CAAC,CAAC;AACzD,iBAAA;AAAM,qBAAA;AACL,oBAAA,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC;AACjC,iBAAA;AACF,aAAA;AAAM,iBAAA;AACL,gBAAA,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC;AACjC,aAAA;AACF,SAAA;KACF;IAEO,YAAY,GAAA;AAClB,QAAA,OAAO,SAAS,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC;KAC1C;IAEO,SAAS,GAAA;AACf,QAAA,OAAO,IAAI,CAAC,YAAY,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;KAClD;IAEO,OAAO,GAAA;AACb,QAAA,OAAO,IAAI,CAAC,YAAY,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;KAClD;IAEO,2BAA2B,CAAC,MAAc,EAAE,SAAiB,EAAA;QACnE,IAAI,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAA2B,yBAAA,CAAA,EAAE,IAAI,EAAE;YACpE,MAAM;YACN,SAAS;AACV,SAAA,CAAC,CAAC;KACJ;AAEO,IAAA,2BAA2B,CAAC,aAAqB,EAAA;AACvD,QAAA,OAAO,aAAa,IAAI,mBAAmB,CAAC,aAAa,CAAC,CAAC;KAC5D;AAEO,IAAA,oBAAoB,CAAC,IAAU,EAAA;AACrC,QAAA,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC;AACzC,QAAA,IAAI,GAAW,CAAC;QAChB,MAAM,YAAY,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,IAAI,EAAE,EAAE,GAAG,CAAC,CAAC,OAAO,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;AAEhF,QAAA,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE;AACxB,YAAA,GAAG,GAAG,CAAG,EAAA,OAAO,6BAA6B,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA,CAAA,EAAI,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;AACtG,SAAA;AAED,QAAA,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE;YAC7B,GAAG,GAAG,CAAG,EAAA,OAAO,CAAI,CAAA,EAAA,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA,CAAE,CAAC;AACrD,SAAA;AAED,QAAA,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE;AAC3B,YAAA,MAAM,IAAI,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;YAC7B,GAAG,GAAG,GAAG,OAAO,CAAA,CAAA,EAAI,IAAI,CAAgB,aAAA,EAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA,CAAA,EAAI,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;AACjG,SAAA;QAED,MAAM,aAAa,GAAG,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClD,MAAM,eAAe,GAAG,IAAI,CAAC,2BAA2B,CAAC,aAAa,CAAC,CAAC;QAExE,IAAI,eAAe,KAAK,SAAS,EAAE;AACjC,YAAA,IAAI,CAAC,mBAAmB,CAAC,SAAS,CAAC,qCAAqC,EAAE,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;YACzG,OAAO;AACR,SAAA;QAED,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE;AACxC,YAAA,IAAI,CAAC,mBAAmB,CAAC,SAAS,CAAC,iCAAiC,CAAC,CAAC;AACvE,SAAA;AAAM,aAAA;AACL,YAAA,IAAI,CAAC,SAAS,CAAC,eAAe,EAAE,GAAG,CAAC,CAAC;AACtC,SAAA;KACF;IAED,SAAS,CAAC,eAAuB,EAAE,GAAW,EAAA;AAC5C,QAAA,MAAM,QAAQ,GAAG,eAAe,GAAG,aAAa,GAAG,GAAG,CAAC;QAEvD,MAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;AAChD,QAAA,MAAM,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;AAC9B,QAAA,MAAM,CAAC,GAAG,GAAG,QAAQ,CAAC;AAEtB,QAAA,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QAElC,UAAU,CAAC,MAAK;AACd,YAAA,IAAI,MAAM,EAAE;AACV,gBAAA,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;AACnC,aAAA;SACF,EAAE,GAAG,CAAC,CAAC;KACT;AAEO,IAAA,MAAM,CAAC,IAAU,EAAA;QACvB,MAAM,YAAY,GAAI,IAAY,CAAC,MAAM,IAAK,IAAY,CAAC,IAAI,CAAC;AAEhE,QAAA,OAAO,CAAC,CAAC,YAAY,IAAI,IAAI,CAAC,MAAM,CAAC;KACtC;AAEO,IAAA,SAAS,CAAC,IAAU,EAAA;QAC1B,OAAQ,IAAY,CAAC,MAAM,IAAK,IAAY,CAAC,IAAI,IAAI,IAAI,CAAC,EAAE,CAAC;KAC9D;uGA5GU,oBAAoB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,qBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,kBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,mBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAApB,IAAA,OAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,oBAAoB,cAFnB,MAAM,EAAA,CAAA,CAAA;;2FAEP,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBAHhC,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;AACnB,iBAAA,CAAA;;;ACrCD;;;;;;;;;;;;;;;;;;;;;;AAsBG;AAKI,MAAM,UAAU,GAAG,aAAa;MAE1B,SAAS,CAAA;AAED,IAAA,OAAA,CAAA;IADV,IAAI,GAAG,UAAU,CAAC;AAC3B,IAAA,WAAA,CAAmB,OAAa,EAAA;QAAb,IAAO,CAAA,OAAA,GAAP,OAAO,CAAM;KAAI;AACrC;;AChCD;;;;;;;;;;;;;;;;;;;;;;AAsBG;AASH,MACa,UAAU,CAAA;AACb,IAAA,QAAQ,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;AAC3B,IAAA,oBAAoB,GAAG,MAAM,CAAC,oBAAoB,CAAC,CAAC;IAE5D,WAAW,GAAG,YAAY,CACxB,MACE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAChB,MAAM,CAAY,UAAU,CAAC,EAC7B,GAAG,CAAC,CAAC,MAAM,KAAI;QACb,IAAI,MAAM,CAAC,OAAO,EAAE;YAClB,IAAI,CAAC,oBAAoB,CAAC,qBAAqB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;AACjE,SAAA;KACF,CAAC,CACH,EACH,EAAE,QAAQ,EAAE,KAAK,EAAE,CACpB,CAAC;uGAfS,UAAU,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;2GAAV,UAAU,EAAA,CAAA,CAAA;;2FAAV,UAAU,EAAA,UAAA,EAAA,CAAA;kBADtB,UAAU;;;AC/BX;;;;;;;;;;;;;;;;;;;;;;AAsBG;AASH,MAIa,kBAAkB,CAAA;IAC7B,WAAY,CAAA,UAA4B,EAAE,WAA+B,EAAA;AACvE,QAAA,WAAW,CAAC,oBAAoB,CAAC,WAAW,EAAE,kBAAkB,CAAC,CAAC;QAClE,UAAU,CAAC,aAAa,CAAC;AACvB,YAAA,uBAAuB,EAAE,iBAAiB;AAC3C,SAAA,CAAC,CAAC;KACJ;uGANU,kBAAkB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAA,IAAA,CAAA,gBAAA,EAAA,EAAA,EAAA,KAAA,EAAAC,EAAA,CAAA,kBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;wGAAlB,kBAAkB,EAAA,OAAA,EAAA,CAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,CAAA,CAAA;AAAlB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,kBAAkB,aAFlB,CAAC,sBAAsB,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAA,OAAA,EAAA,CAD9C,aAAa,CAAC,UAAU,CAAC,CAAC,UAAU,CAAC,CAAC,CAAA,EAAA,CAAA,CAAA;;2FAGrC,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAJ9B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACR,OAAO,EAAE,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC;oBACjD,SAAS,EAAE,CAAC,sBAAsB,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC;AACzD,iBAAA,CAAA;;;AClCD;;;;;;;;;;;;;;;;;;;;;;AAsBG;;ACtBH;;AAEG;;;;"}
@@ -42,37 +42,39 @@ import { CommonModule } from '@angular/common';
42
42
  * from Hyland Software. If not, see <http://www.gnu.org/licenses/>.
43
43
  */
44
44
  class ViewerService {
45
+ preferences;
46
+ contentApi;
47
+ _customNodesOrder = [];
45
48
  set customNodesOrder(customNodesOrder) {
46
49
  this._customNodesOrder = customNodesOrder;
47
50
  }
48
51
  constructor(preferences, contentApi) {
49
52
  this.preferences = preferences;
50
53
  this.contentApi = contentApi;
51
- this._customNodesOrder = [];
52
- this.recentFileFilters = [
53
- 'TYPE:"content"',
54
- '-PATH:"//cm:wiki/*"',
55
- '-TYPE:"app:filelink"',
56
- '-TYPE:"fm:post"',
57
- '-TYPE:"cm:thumbnail"',
58
- '-TYPE:"cm:failedThumbnail"',
59
- '-TYPE:"cm:rating"',
60
- '-TYPE:"dl:dataList"',
61
- '-TYPE:"dl:todoList"',
62
- '-TYPE:"dl:issue"',
63
- '-TYPE:"dl:contact"',
64
- '-TYPE:"dl:eventAgenda"',
65
- '-TYPE:"dl:event"',
66
- '-TYPE:"dl:task"',
67
- '-TYPE:"dl:simpletask"',
68
- '-TYPE:"dl:meetingAgenda"',
69
- '-TYPE:"dl:location"',
70
- '-TYPE:"fm:topic"',
71
- '-TYPE:"fm:post"',
72
- '-TYPE:"ia:calendarEvent"',
73
- '-TYPE:"lnk:link"'
74
- ];
75
54
  }
55
+ recentFileFilters = [
56
+ 'TYPE:"content"',
57
+ '-PATH:"//cm:wiki/*"',
58
+ '-TYPE:"app:filelink"',
59
+ '-TYPE:"fm:post"',
60
+ '-TYPE:"cm:thumbnail"',
61
+ '-TYPE:"cm:failedThumbnail"',
62
+ '-TYPE:"cm:rating"',
63
+ '-TYPE:"dl:dataList"',
64
+ '-TYPE:"dl:todoList"',
65
+ '-TYPE:"dl:issue"',
66
+ '-TYPE:"dl:contact"',
67
+ '-TYPE:"dl:eventAgenda"',
68
+ '-TYPE:"dl:event"',
69
+ '-TYPE:"dl:task"',
70
+ '-TYPE:"dl:simpletask"',
71
+ '-TYPE:"dl:meetingAgenda"',
72
+ '-TYPE:"dl:location"',
73
+ '-TYPE:"fm:topic"',
74
+ '-TYPE:"fm:post"',
75
+ '-TYPE:"ia:calendarEvent"',
76
+ '-TYPE:"lnk:link"'
77
+ ];
76
78
  /**
77
79
  * Retrieves nearest node information for the given node and folder.
78
80
  *
@@ -228,10 +230,10 @@ class ViewerService {
228
230
  return this._customNodesOrder;
229
231
  }
230
232
  }
233
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: ViewerService, deps: [{ token: i7.UserPreferencesService }, { token: i3.ContentApiService }], target: i0.ɵɵFactoryTarget.Injectable });
234
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: ViewerService, providedIn: 'root' });
231
235
  }
232
- ViewerService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ViewerService, deps: [{ token: i7.UserPreferencesService }, { token: i3.ContentApiService }], target: i0.ɵɵFactoryTarget.Injectable });
233
- ViewerService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ViewerService, providedIn: 'root' });
234
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ViewerService, decorators: [{
236
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: ViewerService, decorators: [{
235
237
  type: Injectable,
236
238
  args: [{
237
239
  providedIn: 'root'
@@ -262,10 +264,43 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
262
264
  * from Hyland Software. If not, see <http://www.gnu.org/licenses/>.
263
265
  */
264
266
  class AcaViewerComponent {
267
+ actions$;
268
+ apiService;
269
+ appHookService;
270
+ contentApi;
271
+ extensions;
272
+ nodesApiService;
273
+ route;
274
+ router;
275
+ store;
276
+ uploadService;
277
+ viewerService;
278
+ settings = inject(AppSettingsService);
279
+ documentListService = inject(DocumentListService);
280
+ _versionsApi;
265
281
  get versionsApi() {
266
282
  this._versionsApi = this._versionsApi ?? new VersionsApi(this.apiService.getInstance());
267
283
  return this._versionsApi;
268
284
  }
285
+ onDestroy$ = new Subject();
286
+ fileName;
287
+ folderId = null;
288
+ infoDrawerOpened$;
289
+ navigateMultiple = true;
290
+ navigateSource = null;
291
+ navigationSources = ['favorites', 'libraries', 'personal-files', 'recent-files', 'shared'];
292
+ nextNodeId;
293
+ node;
294
+ nodeId = null;
295
+ openWith = [];
296
+ previousNodeId;
297
+ selection;
298
+ showRightSide = false;
299
+ toolbarActions = [];
300
+ versionId = null;
301
+ navigationPath;
302
+ previewLocation;
303
+ containersSkipNavigation = ['adf-viewer__sidebar', 'cdk-overlay-container', 'adf-image-viewer'];
269
304
  constructor(actions$, apiService, appHookService, contentApi, extensions, nodesApiService, route, router, store, uploadService, viewerService) {
270
305
  this.actions$ = actions$;
271
306
  this.apiService = apiService;
@@ -278,19 +313,6 @@ class AcaViewerComponent {
278
313
  this.store = store;
279
314
  this.uploadService = uploadService;
280
315
  this.viewerService = viewerService;
281
- this.settings = inject(AppSettingsService);
282
- this.documentListService = inject(DocumentListService);
283
- this.onDestroy$ = new Subject();
284
- this.folderId = null;
285
- this.navigateMultiple = true;
286
- this.navigateSource = null;
287
- this.navigationSources = ['favorites', 'libraries', 'personal-files', 'recent-files', 'shared'];
288
- this.nodeId = null;
289
- this.openWith = [];
290
- this.showRightSide = false;
291
- this.toolbarActions = [];
292
- this.versionId = null;
293
- this.containersSkipNavigation = ['adf-viewer__sidebar', 'cdk-overlay-container', 'adf-image-viewer'];
294
316
  }
295
317
  ngOnInit() {
296
318
  this.infoDrawerOpened$ = this.store.select(isInfoDrawerOpened);
@@ -437,10 +459,10 @@ class AcaViewerComponent {
437
459
  isChild(list) {
438
460
  return Array.from(list).some((className) => this.containersSkipNavigation.includes(className));
439
461
  }
462
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: AcaViewerComponent, deps: [{ token: i1.Actions }, { token: i2.AlfrescoApiService }, { token: i3.AppHookService }, { token: i3.ContentApiService }, { token: i3.AppExtensionService }, { token: i2.NodesApiService }, { token: i4.ActivatedRoute }, { token: i4.Router }, { token: i5.Store }, { token: i2.UploadService }, { token: ViewerService }], target: i0.ɵɵFactoryTarget.Component });
463
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.9", type: AcaViewerComponent, isStandalone: true, selector: "aca-viewer", host: { listeners: { "document:keydown": "handleKeyboardEvent($event)" }, classAttribute: "app-viewer" }, ngImport: i0, template: "<ng-container *ngIf=\"nodeId\">\n <adf-alfresco-viewer\n [ngClass]=\"{\n 'aca-right_side--hide': !showRightSide\n }\"\n [maxRetries]=\"settings.viewerMaxRetries\"\n [nodeId]=\"nodeId\"\n [versionId]=\"versionId\"\n [allowNavigate]=\"navigateMultiple\"\n [allowRightSidebar]=\"true\"\n [allowPrint]=\"false\"\n [showRightSidebar]=\"true\"\n [allowDownload]=\"false\"\n [allowFullScreen]=\"false\"\n [overlayMode]=\"true\"\n [hideInfoButton]=\"true\"\n [closeButtonPosition]=\"settings.viewerCloseButtonPosition\"\n (showViewerChange)=\"onViewerVisibilityChanged()\"\n [canNavigateBefore]=\"!!previousNodeId\"\n [canNavigateNext]=\"!!nextNodeId\"\n (navigateBefore)=\"onNavigateBefore($event)\"\n (navigateNext)=\"onNavigateNext($event)\"\n >\n <adf-viewer-sidebar *ngIf=\"infoDrawerOpened$ | async\">\n <aca-info-drawer [node]=\"selection.file\" />\n </adf-viewer-sidebar>\n\n <adf-viewer-open-with *ngIf=\"openWith.length\">\n <ng-container *ngFor=\"let action of openWith; trackBy: trackByActionId\">\n <app-toolbar-menu-item [actionRef]=\"action\" />\n </ng-container>\n </adf-viewer-open-with>\n\n <adf-viewer-toolbar-actions>\n <aca-toolbar [items]=\"toolbarActions\" />\n </adf-viewer-toolbar-actions>\n </adf-alfresco-viewer>\n</ng-container>\n", styles: [".app-viewer{width:100%;height:100%}.app-viewer .adf-viewer-toolbar .adf-toolbar-divider{display:none}.app-viewer .adf-viewer-toolbar-actions{display:flex;flex-direction:row;align-items:center;margin-left:auto}.app-viewer .adf-viewer-toolbar-actions .adf-toolbar-divider{display:inline}.app-viewer .adf-alfresco-viewer.aca-right_side--hide .adf-viewer__sidebar__right{width:0}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i3$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i3$1.AsyncPipe, name: "async" }, { kind: "component", type: InfoDrawerComponent, selector: "aca-info-drawer", inputs: ["nodeId", "node"] }, { kind: "component", type: ToolbarMenuItemComponent, selector: "app-toolbar-menu-item", inputs: ["actionRef", "menuId"] }, { kind: "component", type: ToolbarComponent, selector: "aca-toolbar", inputs: ["items"] }, { kind: "component", type: AlfrescoViewerComponent, selector: "adf-alfresco-viewer", inputs: ["nodeId", "versionId", "sharedLinkId", "showViewer", "maxRetries", "allowGoBack", "showToolbar", "overlayMode", "allowNavigate", "canNavigateBefore", "canNavigateNext", "allowLeftSidebar", "allowRightSidebar", "showRightSidebar", "showLeftSidebar", "allowDownload", "allowPrint", "allowFullScreen", "hideInfoButton", "closeButtonPosition", "sidebarRightTemplate", "sidebarLeftTemplate"], outputs: ["invalidSharedLink", "navigateBefore", "navigateNext", "showViewerChange"] }, { kind: "component", type: ViewerToolbarActionsComponent, selector: "adf-viewer-toolbar-actions" }, { kind: "component", type: ViewerOpenWithComponent, selector: "adf-viewer-open-with" }, { kind: "component", type: ViewerSidebarComponent, selector: "adf-viewer-sidebar" }], encapsulation: i0.ViewEncapsulation.None });
440
464
  }
441
- AcaViewerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: AcaViewerComponent, deps: [{ token: i1.Actions }, { token: i2.AlfrescoApiService }, { token: i3.AppHookService }, { token: i3.ContentApiService }, { token: i3.AppExtensionService }, { token: i2.NodesApiService }, { token: i4.ActivatedRoute }, { token: i4.Router }, { token: i5.Store }, { token: i2.UploadService }, { token: ViewerService }], target: i0.ɵɵFactoryTarget.Component });
442
- AcaViewerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: AcaViewerComponent, isStandalone: true, selector: "aca-viewer", host: { listeners: { "document:keydown": "handleKeyboardEvent($event)" }, classAttribute: "app-viewer" }, ngImport: i0, template: "<ng-container *ngIf=\"nodeId\">\n <adf-alfresco-viewer\n [ngClass]=\"{\n 'aca-right_side--hide': !showRightSide\n }\"\n [maxRetries]=\"settings.viewerMaxRetries\"\n [nodeId]=\"nodeId\"\n [versionId]=\"versionId\"\n [allowNavigate]=\"navigateMultiple\"\n [allowRightSidebar]=\"true\"\n [allowPrint]=\"false\"\n [showRightSidebar]=\"true\"\n [allowDownload]=\"false\"\n [allowFullScreen]=\"false\"\n [overlayMode]=\"true\"\n [hideInfoButton]=\"true\"\n [closeButtonPosition]=\"settings.viewerCloseButtonPosition\"\n (showViewerChange)=\"onViewerVisibilityChanged()\"\n [canNavigateBefore]=\"!!previousNodeId\"\n [canNavigateNext]=\"!!nextNodeId\"\n (navigateBefore)=\"onNavigateBefore($event)\"\n (navigateNext)=\"onNavigateNext($event)\"\n >\n <adf-viewer-sidebar *ngIf=\"infoDrawerOpened$ | async\">\n <aca-info-drawer [node]=\"selection.file\"></aca-info-drawer>\n </adf-viewer-sidebar>\n\n <adf-viewer-open-with *ngIf=\"openWith.length\">\n <ng-container *ngFor=\"let action of openWith; trackBy: trackByActionId\">\n <app-toolbar-menu-item [actionRef]=\"action\"></app-toolbar-menu-item>\n </ng-container>\n </adf-viewer-open-with>\n\n <adf-viewer-toolbar-actions>\n <aca-toolbar [items]=\"toolbarActions\"></aca-toolbar>\n </adf-viewer-toolbar-actions>\n </adf-alfresco-viewer>\n</ng-container>\n", styles: [".app-viewer{width:100%;height:100%}.app-viewer .adf-viewer-toolbar .adf-toolbar-divider{display:none}.app-viewer .adf-viewer-toolbar-actions{display:flex;flex-direction:row;align-items:center;margin-left:auto}.app-viewer .adf-viewer-toolbar-actions .adf-toolbar-divider{display:inline}.app-viewer .adf-alfresco-viewer.aca-right_side--hide .adf-viewer__sidebar__right{width:0}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i3$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i3$1.AsyncPipe, name: "async" }, { kind: "component", type: InfoDrawerComponent, selector: "aca-info-drawer", inputs: ["nodeId", "node"] }, { kind: "component", type: ToolbarMenuItemComponent, selector: "app-toolbar-menu-item", inputs: ["actionRef", "menuId"] }, { kind: "component", type: ToolbarComponent, selector: "aca-toolbar", inputs: ["items"] }, { kind: "component", type: AlfrescoViewerComponent, selector: "adf-alfresco-viewer", inputs: ["nodeId", "versionId", "sharedLinkId", "showViewer", "maxRetries", "allowGoBack", "showToolbar", "overlayMode", "allowNavigate", "canNavigateBefore", "canNavigateNext", "allowLeftSidebar", "allowRightSidebar", "showRightSidebar", "showLeftSidebar", "allowDownload", "allowPrint", "allowFullScreen", "hideInfoButton", "closeButtonPosition", "sidebarRightTemplate", "sidebarLeftTemplate"], outputs: ["invalidSharedLink", "navigateBefore", "navigateNext", "showViewerChange"] }, { kind: "component", type: ViewerToolbarActionsComponent, selector: "adf-viewer-toolbar-actions" }, { kind: "component", type: ViewerOpenWithComponent, selector: "adf-viewer-open-with" }, { kind: "component", type: ViewerSidebarComponent, selector: "adf-viewer-sidebar" }], encapsulation: i0.ViewEncapsulation.None });
443
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: AcaViewerComponent, decorators: [{
465
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: AcaViewerComponent, decorators: [{
444
466
  type: Component,
445
467
  args: [{ standalone: true, imports: [
446
468
  CommonModule,
@@ -451,7 +473,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
451
473
  ViewerToolbarActionsComponent,
452
474
  ViewerOpenWithComponent,
453
475
  ViewerSidebarComponent
454
- ], selector: 'aca-viewer', encapsulation: ViewEncapsulation.None, host: { class: 'app-viewer' }, template: "<ng-container *ngIf=\"nodeId\">\n <adf-alfresco-viewer\n [ngClass]=\"{\n 'aca-right_side--hide': !showRightSide\n }\"\n [maxRetries]=\"settings.viewerMaxRetries\"\n [nodeId]=\"nodeId\"\n [versionId]=\"versionId\"\n [allowNavigate]=\"navigateMultiple\"\n [allowRightSidebar]=\"true\"\n [allowPrint]=\"false\"\n [showRightSidebar]=\"true\"\n [allowDownload]=\"false\"\n [allowFullScreen]=\"false\"\n [overlayMode]=\"true\"\n [hideInfoButton]=\"true\"\n [closeButtonPosition]=\"settings.viewerCloseButtonPosition\"\n (showViewerChange)=\"onViewerVisibilityChanged()\"\n [canNavigateBefore]=\"!!previousNodeId\"\n [canNavigateNext]=\"!!nextNodeId\"\n (navigateBefore)=\"onNavigateBefore($event)\"\n (navigateNext)=\"onNavigateNext($event)\"\n >\n <adf-viewer-sidebar *ngIf=\"infoDrawerOpened$ | async\">\n <aca-info-drawer [node]=\"selection.file\"></aca-info-drawer>\n </adf-viewer-sidebar>\n\n <adf-viewer-open-with *ngIf=\"openWith.length\">\n <ng-container *ngFor=\"let action of openWith; trackBy: trackByActionId\">\n <app-toolbar-menu-item [actionRef]=\"action\"></app-toolbar-menu-item>\n </ng-container>\n </adf-viewer-open-with>\n\n <adf-viewer-toolbar-actions>\n <aca-toolbar [items]=\"toolbarActions\"></aca-toolbar>\n </adf-viewer-toolbar-actions>\n </adf-alfresco-viewer>\n</ng-container>\n", styles: [".app-viewer{width:100%;height:100%}.app-viewer .adf-viewer-toolbar .adf-toolbar-divider{display:none}.app-viewer .adf-viewer-toolbar-actions{display:flex;flex-direction:row;align-items:center;margin-left:auto}.app-viewer .adf-viewer-toolbar-actions .adf-toolbar-divider{display:inline}.app-viewer .adf-alfresco-viewer.aca-right_side--hide .adf-viewer__sidebar__right{width:0}\n"] }]
476
+ ], selector: 'aca-viewer', encapsulation: ViewEncapsulation.None, host: { class: 'app-viewer' }, template: "<ng-container *ngIf=\"nodeId\">\n <adf-alfresco-viewer\n [ngClass]=\"{\n 'aca-right_side--hide': !showRightSide\n }\"\n [maxRetries]=\"settings.viewerMaxRetries\"\n [nodeId]=\"nodeId\"\n [versionId]=\"versionId\"\n [allowNavigate]=\"navigateMultiple\"\n [allowRightSidebar]=\"true\"\n [allowPrint]=\"false\"\n [showRightSidebar]=\"true\"\n [allowDownload]=\"false\"\n [allowFullScreen]=\"false\"\n [overlayMode]=\"true\"\n [hideInfoButton]=\"true\"\n [closeButtonPosition]=\"settings.viewerCloseButtonPosition\"\n (showViewerChange)=\"onViewerVisibilityChanged()\"\n [canNavigateBefore]=\"!!previousNodeId\"\n [canNavigateNext]=\"!!nextNodeId\"\n (navigateBefore)=\"onNavigateBefore($event)\"\n (navigateNext)=\"onNavigateNext($event)\"\n >\n <adf-viewer-sidebar *ngIf=\"infoDrawerOpened$ | async\">\n <aca-info-drawer [node]=\"selection.file\" />\n </adf-viewer-sidebar>\n\n <adf-viewer-open-with *ngIf=\"openWith.length\">\n <ng-container *ngFor=\"let action of openWith; trackBy: trackByActionId\">\n <app-toolbar-menu-item [actionRef]=\"action\" />\n </ng-container>\n </adf-viewer-open-with>\n\n <adf-viewer-toolbar-actions>\n <aca-toolbar [items]=\"toolbarActions\" />\n </adf-viewer-toolbar-actions>\n </adf-alfresco-viewer>\n</ng-container>\n", styles: [".app-viewer{width:100%;height:100%}.app-viewer .adf-viewer-toolbar .adf-toolbar-divider{display:none}.app-viewer .adf-viewer-toolbar-actions{display:flex;flex-direction:row;align-items:center;margin-left:auto}.app-viewer .adf-viewer-toolbar-actions .adf-toolbar-divider{display:inline}.app-viewer .adf-alfresco-viewer.aca-right_side--hide .adf-viewer__sidebar__right{width:0}\n"] }]
455
477
  }], ctorParameters: function () { return [{ type: i1.Actions }, { type: i2.AlfrescoApiService }, { type: i3.AppHookService }, { type: i3.ContentApiService }, { type: i3.AppExtensionService }, { type: i2.NodesApiService }, { type: i4.ActivatedRoute }, { type: i4.Router }, { type: i5.Store }, { type: i2.UploadService }, { type: ViewerService }]; }, propDecorators: { handleKeyboardEvent: [{
456
478
  type: HostListener,
457
479
  args: ['document:keydown', ['$event']]
@@ -481,6 +503,27 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
481
503
  * from Hyland Software. If not, see <http://www.gnu.org/licenses/>.
482
504
  */
483
505
  class PreviewComponent extends PageComponent {
506
+ actions$;
507
+ appHookService;
508
+ contentApi;
509
+ location;
510
+ nodesApiService;
511
+ route;
512
+ viewerService;
513
+ folderId = null;
514
+ navigateBackAsClose = false;
515
+ navigateMultiple = false;
516
+ navigateSource = null;
517
+ navigationSources = ['favorites', 'libraries', 'personal-files', 'recent-files', 'shared'];
518
+ nextNodeId;
519
+ nodeId = null;
520
+ openWith = [];
521
+ previewLocation = null;
522
+ previousNodeId;
523
+ routesSkipNavigation = ['favorites', 'recent-files', 'shared'];
524
+ showRightSide = false;
525
+ simplestMode = false;
526
+ containersSkipNavigation = ['adf-viewer__sidebar', 'cdk-overlay-container', 'adf-image-viewer'];
484
527
  constructor(actions$, appHookService, contentApi, location, nodesApiService, route, viewerService) {
485
528
  super();
486
529
  this.actions$ = actions$;
@@ -490,18 +533,6 @@ class PreviewComponent extends PageComponent {
490
533
  this.nodesApiService = nodesApiService;
491
534
  this.route = route;
492
535
  this.viewerService = viewerService;
493
- this.folderId = null;
494
- this.navigateBackAsClose = false;
495
- this.navigateMultiple = false;
496
- this.navigateSource = null;
497
- this.navigationSources = ['favorites', 'libraries', 'personal-files', 'recent-files', 'shared'];
498
- this.nodeId = null;
499
- this.openWith = [];
500
- this.previewLocation = null;
501
- this.routesSkipNavigation = ['favorites', 'recent-files', 'shared'];
502
- this.showRightSide = false;
503
- this.simplestMode = false;
504
- this.containersSkipNavigation = ['adf-viewer__sidebar', 'cdk-overlay-container', 'adf-image-viewer'];
505
536
  }
506
537
  ngOnInit() {
507
538
  super.ngOnInit();
@@ -663,12 +694,12 @@ class PreviewComponent extends PageComponent {
663
694
  isChild(list) {
664
695
  return Array.from(list).some((className) => this.containersSkipNavigation.includes(className));
665
696
  }
697
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: PreviewComponent, deps: [{ token: i1.Actions }, { token: i3.AppHookService }, { token: i3.ContentApiService }, { token: i3$1.Location }, { token: i2.NodesApiService }, { token: i4.ActivatedRoute }, { token: ViewerService }], target: i0.ɵɵFactoryTarget.Component });
698
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.9", type: PreviewComponent, isStandalone: true, selector: "app-preview", host: { listeners: { "document:keydown": "handleKeyboardEvent($event)" }, classAttribute: "app-preview" }, usesInheritance: true, ngImport: i0, template: "<ng-container *ngIf=\"nodeId\">\n <adf-alfresco-viewer\n [ngClass]=\"{\n 'aca-right_side--hide': !showRightSide\n }\"\n [nodeId]=\"nodeId\"\n [allowNavigate]=\"navigateMultiple\"\n [allowRightSidebar]=\"true\"\n [allowPrint]=\"false\"\n [showRightSidebar]=\"true\"\n [allowDownload]=\"false\"\n [allowFullScreen]=\"false\"\n [canNavigateBefore]=\"!!previousNodeId\"\n [canNavigateNext]=\"!!nextNodeId\"\n [overlayMode]=\"true\"\n (showViewerChange)=\"onVisibilityChanged($event)\"\n (navigateBefore)=\"onNavigateBefore($event)\"\n (navigateNext)=\"onNavigateNext($event)\"\n >\n <adf-viewer-sidebar *ngIf=\"infoDrawerOpened$ | async\">\n <aca-info-drawer [node]=\"selection.file\" />\n </adf-viewer-sidebar>\n\n <adf-viewer-open-with *ngIf=\"openWith.length\">\n <ng-container *ngFor=\"let action of openWith; trackBy: trackByActionId\">\n <app-toolbar-menu-item [actionRef]=\"action\" />\n </ng-container>\n </adf-viewer-open-with>\n\n <adf-viewer-toolbar-actions *ngIf=\"!simplestMode\">\n <aca-toolbar [items]=\"viewerToolbarActions\" />\n </adf-viewer-toolbar-actions>\n </adf-alfresco-viewer>\n</ng-container>\n", styles: [".app-preview{width:100%;height:100%}.adf-viewer-toolbar .adf-toolbar-divider{display:none}.adf-viewer-toolbar-actions{display:flex;flex-direction:row;align-items:center}.adf-viewer-toolbar-actions .adf-toolbar-divider{display:inline}.adf-viewer-toolbar>*>button:last-child{display:none}.adf-alfresco-viewer.aca-right_side--hide .adf-viewer__sidebar__right{width:0}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i3$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i3$1.AsyncPipe, name: "async" }, { kind: "ngmodule", type: ViewerModule }, { kind: "component", type: i7.ViewerSidebarComponent, selector: "adf-viewer-sidebar" }, { kind: "component", type: i7.ViewerOpenWithComponent, selector: "adf-viewer-open-with" }, { kind: "component", type: i7.ViewerToolbarActionsComponent, selector: "adf-viewer-toolbar-actions" }, { kind: "ngmodule", type: AlfrescoViewerModule }, { kind: "component", type: i2.AlfrescoViewerComponent, selector: "adf-alfresco-viewer", inputs: ["nodeId", "versionId", "sharedLinkId", "showViewer", "maxRetries", "allowGoBack", "showToolbar", "overlayMode", "allowNavigate", "canNavigateBefore", "canNavigateNext", "allowLeftSidebar", "allowRightSidebar", "showRightSidebar", "showLeftSidebar", "allowDownload", "allowPrint", "allowFullScreen", "hideInfoButton", "closeButtonPosition", "sidebarRightTemplate", "sidebarLeftTemplate"], outputs: ["invalidSharedLink", "navigateBefore", "navigateNext", "showViewerChange"] }, { kind: "component", type: InfoDrawerComponent, selector: "aca-info-drawer", inputs: ["nodeId", "node"] }, { kind: "component", type: ToolbarMenuItemComponent, selector: "app-toolbar-menu-item", inputs: ["actionRef", "menuId"] }, { kind: "component", type: ToolbarComponent, selector: "aca-toolbar", inputs: ["items"] }], encapsulation: i0.ViewEncapsulation.None });
666
699
  }
667
- PreviewComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: PreviewComponent, deps: [{ token: i1.Actions }, { token: i3.AppHookService }, { token: i3.ContentApiService }, { token: i3$1.Location }, { token: i2.NodesApiService }, { token: i4.ActivatedRoute }, { token: ViewerService }], target: i0.ɵɵFactoryTarget.Component });
668
- PreviewComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: PreviewComponent, isStandalone: true, selector: "app-preview", host: { listeners: { "document:keydown": "handleKeyboardEvent($event)" }, classAttribute: "app-preview" }, usesInheritance: true, ngImport: i0, template: "<ng-container *ngIf=\"nodeId\">\n <adf-alfresco-viewer\n [ngClass]=\"{\n 'aca-right_side--hide': !showRightSide\n }\"\n [nodeId]=\"nodeId\"\n [allowNavigate]=\"navigateMultiple\"\n [allowRightSidebar]=\"true\"\n [allowPrint]=\"false\"\n [showRightSidebar]=\"true\"\n [allowDownload]=\"false\"\n [allowFullScreen]=\"false\"\n [canNavigateBefore]=\"!!previousNodeId\"\n [canNavigateNext]=\"!!nextNodeId\"\n [overlayMode]=\"true\"\n (showViewerChange)=\"onVisibilityChanged($event)\"\n (navigateBefore)=\"onNavigateBefore($event)\"\n (navigateNext)=\"onNavigateNext($event)\"\n >\n <adf-viewer-sidebar *ngIf=\"infoDrawerOpened$ | async\">\n <aca-info-drawer [node]=\"selection.file\"></aca-info-drawer>\n </adf-viewer-sidebar>\n\n <adf-viewer-open-with *ngIf=\"openWith.length\">\n <ng-container *ngFor=\"let action of openWith; trackBy: trackByActionId\">\n <app-toolbar-menu-item [actionRef]=\"action\"></app-toolbar-menu-item>\n </ng-container>\n </adf-viewer-open-with>\n\n <adf-viewer-toolbar-actions *ngIf=\"!simplestMode\">\n <aca-toolbar [items]=\"viewerToolbarActions\"></aca-toolbar>\n </adf-viewer-toolbar-actions>\n </adf-alfresco-viewer>\n</ng-container>\n", styles: [".app-preview{width:100%;height:100%}.adf-viewer-toolbar .adf-toolbar-divider{display:none}.adf-viewer-toolbar-actions{display:flex;flex-direction:row;align-items:center}.adf-viewer-toolbar-actions .adf-toolbar-divider{display:inline}.adf-viewer-toolbar>*>button:last-child{display:none}.adf-alfresco-viewer.aca-right_side--hide .adf-viewer__sidebar__right{width:0}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i3$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i3$1.AsyncPipe, name: "async" }, { kind: "ngmodule", type: ViewerModule }, { kind: "component", type: i7.ViewerSidebarComponent, selector: "adf-viewer-sidebar" }, { kind: "component", type: i7.ViewerOpenWithComponent, selector: "adf-viewer-open-with" }, { kind: "component", type: i7.ViewerToolbarActionsComponent, selector: "adf-viewer-toolbar-actions" }, { kind: "ngmodule", type: AlfrescoViewerModule }, { kind: "component", type: i2.AlfrescoViewerComponent, selector: "adf-alfresco-viewer", inputs: ["nodeId", "versionId", "sharedLinkId", "showViewer", "maxRetries", "allowGoBack", "showToolbar", "overlayMode", "allowNavigate", "canNavigateBefore", "canNavigateNext", "allowLeftSidebar", "allowRightSidebar", "showRightSidebar", "showLeftSidebar", "allowDownload", "allowPrint", "allowFullScreen", "hideInfoButton", "closeButtonPosition", "sidebarRightTemplate", "sidebarLeftTemplate"], outputs: ["invalidSharedLink", "navigateBefore", "navigateNext", "showViewerChange"] }, { kind: "component", type: InfoDrawerComponent, selector: "aca-info-drawer", inputs: ["nodeId", "node"] }, { kind: "component", type: ToolbarMenuItemComponent, selector: "app-toolbar-menu-item", inputs: ["actionRef", "menuId"] }, { kind: "component", type: ToolbarComponent, selector: "aca-toolbar", inputs: ["items"] }], encapsulation: i0.ViewEncapsulation.None });
669
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: PreviewComponent, decorators: [{
700
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: PreviewComponent, decorators: [{
670
701
  type: Component,
671
- args: [{ standalone: true, imports: [CommonModule, ViewerModule, AlfrescoViewerModule, InfoDrawerComponent, ToolbarMenuItemComponent, ToolbarComponent], selector: 'app-preview', encapsulation: ViewEncapsulation.None, host: { class: 'app-preview' }, template: "<ng-container *ngIf=\"nodeId\">\n <adf-alfresco-viewer\n [ngClass]=\"{\n 'aca-right_side--hide': !showRightSide\n }\"\n [nodeId]=\"nodeId\"\n [allowNavigate]=\"navigateMultiple\"\n [allowRightSidebar]=\"true\"\n [allowPrint]=\"false\"\n [showRightSidebar]=\"true\"\n [allowDownload]=\"false\"\n [allowFullScreen]=\"false\"\n [canNavigateBefore]=\"!!previousNodeId\"\n [canNavigateNext]=\"!!nextNodeId\"\n [overlayMode]=\"true\"\n (showViewerChange)=\"onVisibilityChanged($event)\"\n (navigateBefore)=\"onNavigateBefore($event)\"\n (navigateNext)=\"onNavigateNext($event)\"\n >\n <adf-viewer-sidebar *ngIf=\"infoDrawerOpened$ | async\">\n <aca-info-drawer [node]=\"selection.file\"></aca-info-drawer>\n </adf-viewer-sidebar>\n\n <adf-viewer-open-with *ngIf=\"openWith.length\">\n <ng-container *ngFor=\"let action of openWith; trackBy: trackByActionId\">\n <app-toolbar-menu-item [actionRef]=\"action\"></app-toolbar-menu-item>\n </ng-container>\n </adf-viewer-open-with>\n\n <adf-viewer-toolbar-actions *ngIf=\"!simplestMode\">\n <aca-toolbar [items]=\"viewerToolbarActions\"></aca-toolbar>\n </adf-viewer-toolbar-actions>\n </adf-alfresco-viewer>\n</ng-container>\n", styles: [".app-preview{width:100%;height:100%}.adf-viewer-toolbar .adf-toolbar-divider{display:none}.adf-viewer-toolbar-actions{display:flex;flex-direction:row;align-items:center}.adf-viewer-toolbar-actions .adf-toolbar-divider{display:inline}.adf-viewer-toolbar>*>button:last-child{display:none}.adf-alfresco-viewer.aca-right_side--hide .adf-viewer__sidebar__right{width:0}\n"] }]
702
+ args: [{ standalone: true, imports: [CommonModule, ViewerModule, AlfrescoViewerModule, InfoDrawerComponent, ToolbarMenuItemComponent, ToolbarComponent], selector: 'app-preview', encapsulation: ViewEncapsulation.None, host: { class: 'app-preview' }, template: "<ng-container *ngIf=\"nodeId\">\n <adf-alfresco-viewer\n [ngClass]=\"{\n 'aca-right_side--hide': !showRightSide\n }\"\n [nodeId]=\"nodeId\"\n [allowNavigate]=\"navigateMultiple\"\n [allowRightSidebar]=\"true\"\n [allowPrint]=\"false\"\n [showRightSidebar]=\"true\"\n [allowDownload]=\"false\"\n [allowFullScreen]=\"false\"\n [canNavigateBefore]=\"!!previousNodeId\"\n [canNavigateNext]=\"!!nextNodeId\"\n [overlayMode]=\"true\"\n (showViewerChange)=\"onVisibilityChanged($event)\"\n (navigateBefore)=\"onNavigateBefore($event)\"\n (navigateNext)=\"onNavigateNext($event)\"\n >\n <adf-viewer-sidebar *ngIf=\"infoDrawerOpened$ | async\">\n <aca-info-drawer [node]=\"selection.file\" />\n </adf-viewer-sidebar>\n\n <adf-viewer-open-with *ngIf=\"openWith.length\">\n <ng-container *ngFor=\"let action of openWith; trackBy: trackByActionId\">\n <app-toolbar-menu-item [actionRef]=\"action\" />\n </ng-container>\n </adf-viewer-open-with>\n\n <adf-viewer-toolbar-actions *ngIf=\"!simplestMode\">\n <aca-toolbar [items]=\"viewerToolbarActions\" />\n </adf-viewer-toolbar-actions>\n </adf-alfresco-viewer>\n</ng-container>\n", styles: [".app-preview{width:100%;height:100%}.adf-viewer-toolbar .adf-toolbar-divider{display:none}.adf-viewer-toolbar-actions{display:flex;flex-direction:row;align-items:center}.adf-viewer-toolbar-actions .adf-toolbar-divider{display:inline}.adf-viewer-toolbar>*>button:last-child{display:none}.adf-alfresco-viewer.aca-right_side--hide .adf-viewer__sidebar__right{width:0}\n"] }]
672
703
  }], ctorParameters: function () { return [{ type: i1.Actions }, { type: i3.AppHookService }, { type: i3.ContentApiService }, { type: i3$1.Location }, { type: i2.NodesApiService }, { type: i4.ActivatedRoute }, { type: ViewerService }]; }, propDecorators: { handleKeyboardEvent: [{
673
704
  type: HostListener,
674
705
  args: ['document:keydown', ['$event']]
@@ -708,11 +739,11 @@ const routes = [
708
739
  }
709
740
  ];
710
741
  class AcaViewerModule {
742
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: AcaViewerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
743
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.9", ngImport: i0, type: AcaViewerModule, imports: [i4.RouterModule, AcaViewerComponent, PreviewComponent], exports: [AcaViewerComponent, PreviewComponent] });
744
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: AcaViewerModule, imports: [RouterModule.forChild(routes), AcaViewerComponent, PreviewComponent] });
711
745
  }
712
- AcaViewerModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: AcaViewerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
713
- AcaViewerModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: AcaViewerModule, imports: [i4.RouterModule, AcaViewerComponent, PreviewComponent], exports: [AcaViewerComponent, PreviewComponent] });
714
- AcaViewerModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: AcaViewerModule, imports: [RouterModule.forChild(routes), AcaViewerComponent, PreviewComponent] });
715
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: AcaViewerModule, decorators: [{
746
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: AcaViewerModule, decorators: [{
716
747
  type: NgModule,
717
748
  args: [{
718
749
  imports: [RouterModule.forChild(routes), AcaViewerComponent, PreviewComponent],
@@ -0,0 +1 @@
1
+ {"version":3,"file":"alfresco-aca-content-viewer.mjs","sources":["../../../../projects/aca-content/viewer/src/lib/services/viewer.service.ts","../../../../projects/aca-content/viewer/src/lib/components/viewer/viewer.component.ts","../../../../projects/aca-content/viewer/src/lib/components/viewer/viewer.component.html","../../../../projects/aca-content/viewer/src/lib/components/preview/preview.component.ts","../../../../projects/aca-content/viewer/src/lib/components/preview/preview.component.html","../../../../projects/aca-content/viewer/src/lib/viewer.module.ts","../../../../projects/aca-content/viewer/src/public-api.ts","../../../../projects/aca-content/viewer/src/alfresco-aca-content-viewer.ts"],"sourcesContent":["/*!\n * Copyright © 2005-2024 Hyland Software, Inc. and its affiliates. All rights reserved.\n *\n * Alfresco Example Content Application\n *\n * This file is part of the Alfresco Example Content Application.\n * If the software was purchased under a paid Alfresco license, the terms of\n * the paid license agreement will prevail. Otherwise, the software is\n * provided under the following open source license terms:\n *\n * The Alfresco Example Content Application is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Lesser General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * The Alfresco Example Content Application is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Lesser General Public License for more details.\n *\n * You should have received a copy of the GNU Lesser General Public License\n * from Hyland Software. If not, see <http://www.gnu.org/licenses/>.\n */\n\nimport { ObjectUtils, UserPreferencesService } from '@alfresco/adf-core';\nimport { FavoritePaging, Node, NodePaging, SearchRequest, ResultSetPaging, SharedLink, SharedLinkPaging } from '@alfresco/js-api';\nimport { Injectable } from '@angular/core';\nimport { ContentApiService } from '@alfresco/aca-shared';\n\ninterface AdjacentFiles {\n left: string;\n right: string;\n}\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ViewerService {\n private _customNodesOrder: string[] = [];\n\n set customNodesOrder(customNodesOrder: string[]) {\n this._customNodesOrder = customNodesOrder;\n }\n\n constructor(private preferences: UserPreferencesService, private contentApi: ContentApiService) {}\n\n recentFileFilters = [\n 'TYPE:\"content\"',\n '-PATH:\"//cm:wiki/*\"',\n '-TYPE:\"app:filelink\"',\n '-TYPE:\"fm:post\"',\n '-TYPE:\"cm:thumbnail\"',\n '-TYPE:\"cm:failedThumbnail\"',\n '-TYPE:\"cm:rating\"',\n '-TYPE:\"dl:dataList\"',\n '-TYPE:\"dl:todoList\"',\n '-TYPE:\"dl:issue\"',\n '-TYPE:\"dl:contact\"',\n '-TYPE:\"dl:eventAgenda\"',\n '-TYPE:\"dl:event\"',\n '-TYPE:\"dl:task\"',\n '-TYPE:\"dl:simpletask\"',\n '-TYPE:\"dl:meetingAgenda\"',\n '-TYPE:\"dl:location\"',\n '-TYPE:\"fm:topic\"',\n '-TYPE:\"fm:post\"',\n '-TYPE:\"ia:calendarEvent\"',\n '-TYPE:\"lnk:link\"'\n ];\n\n /**\n * Retrieves nearest node information for the given node and folder.\n *\n * @param nodeId Unique identifier of the document node\n * @param folderId Unique identifier of the containing folder node.\n * @param source Data source name. Returns file ids for personal-files, libraries, favorites, shared and recent-files, otherwise returns empty.\n */\n async getNearestNodes(nodeId: string, folderId: string, source: string): Promise<AdjacentFiles> {\n const empty: AdjacentFiles = {\n left: null,\n right: null\n };\n\n if (nodeId && folderId) {\n try {\n const ids = await this.getFileIds(source, folderId);\n const idx = ids.indexOf(nodeId);\n\n if (idx >= 0) {\n return {\n left: ids[idx - 1] || null,\n right: ids[idx + 1] || null\n };\n }\n } catch {}\n }\n return empty;\n }\n\n /**\n * Retrieves a list of node identifiers for the folder and data source.\n *\n * @param source Data source name. Returns file ids for personal-files, libraries, favorites, shared and recent-files, otherwise returns empty.\n * @param folderId Optional parameter containing folder node identifier for 'personal-files' and 'libraries' sources.\n */\n async getFileIds(source: string, folderId?: string): Promise<string[]> {\n if (source === 'libraries') {\n source = 'libraries-files';\n }\n const isClient = this.preferences.get(`${source}.sorting.mode`) === 'client';\n const [sortKey, sortDirection, previousSortKey, previousSortDir] = this.getSortKeyDir(source);\n let nodes: NodePaging | FavoritePaging | SharedLinkPaging | ResultSetPaging;\n\n if (source === 'personal-files' || source === 'libraries-files') {\n if (!folderId) {\n return [];\n }\n const orderBy = isClient ? null : ['isFolder desc', `${sortKey} ${sortDirection}`];\n nodes = await this.contentApi\n .getNodeChildren(folderId, {\n orderBy: orderBy,\n fields: this.getFields(sortKey, previousSortKey),\n where: '(isFile=true)'\n })\n .toPromise();\n }\n\n if (source === 'favorites') {\n nodes = await this.contentApi\n .getFavorites('-me-', {\n where: '(EXISTS(target/file))',\n fields: ['target']\n })\n .toPromise();\n }\n\n if (source === 'shared') {\n nodes = await this.contentApi\n .findSharedLinks({\n fields: ['nodeId', this.getRootField(sortKey)]\n })\n .toPromise();\n }\n\n if (source === 'recent-files') {\n const person = await this.contentApi.getPerson('-me-').toPromise();\n const username = person.entry.id;\n const query: SearchRequest = {\n query: {\n query: '*',\n language: 'afts'\n },\n filterQueries: [\n { query: `cm:modified:[NOW/DAY-30DAYS TO NOW/DAY+1DAY]` },\n { query: `cm:modifier:${username} OR cm:creator:${username}` },\n {\n query: this.recentFileFilters.join(' AND ')\n }\n ],\n fields: this.getFields(sortKey, previousSortKey),\n include: ['path', 'properties', 'allowableOperations'],\n sort: [\n {\n type: 'FIELD',\n field: 'cm:modified',\n ascending: false\n }\n ]\n };\n nodes = await this.contentApi.search(query).toPromise();\n }\n return this.getCustomNodesOrderIfNoNodes(nodes, isClient, previousSortKey, previousSortDir, sortKey, sortDirection);\n }\n\n /**\n * Get the root field name from the property path.\n * Example: 'property1.some.child.property' => 'property1'\n *\n * @param path Property path\n */\n getRootField(path: string): string {\n if (path) {\n return path.split('.')[0];\n }\n return path;\n }\n\n private sort(items: Node[] | SharedLink[], key: string, direction: string) {\n const options: Intl.CollatorOptions = {};\n if (key.includes('sizeInBytes') || key === 'name') {\n options.numeric = true;\n }\n\n items.sort((a: Node | SharedLink, b: Node | SharedLink) => {\n let left = ObjectUtils.getValue(a, key) ?? '';\n left = left instanceof Date ? left.valueOf().toString() : left.toString();\n\n let right = ObjectUtils.getValue(b, key) ?? '';\n right = right instanceof Date ? right.valueOf().toString() : right.toString();\n\n return direction === 'asc' ? left.localeCompare(right, undefined, options) : right.localeCompare(left, undefined, options);\n });\n }\n\n private getFields(sortKey: string, previousSortKey?: string): string[] {\n return ['id', this.getRootField(sortKey), this.getRootField(previousSortKey)];\n }\n\n private getSortKeyDir(source: string): string[] {\n const previousSortKey = this.preferences.get(`${source}.sorting.previousKey`);\n const previousSortDir = this.preferences.get(`${source}.sorting.previousDirection`);\n const sortKey = this.preferences.get(`${source}.sorting.key`) || this.getDefaults(source)[0];\n const sortDirection = this.preferences.get(`${source}.sorting.direction`) || this.getDefaults(source)[1];\n return [sortKey, sortDirection, previousSortKey, previousSortDir];\n }\n\n private getDefaults(source: string): string[] {\n if (source === 'personal-files' || source === 'libraries-files') {\n return ['name', 'asc'];\n } else {\n return ['modifiedAt', 'desc'];\n }\n }\n\n private getCustomNodesOrderIfNoNodes(\n nodes: NodePaging | FavoritePaging | SharedLinkPaging | ResultSetPaging,\n isClient: boolean,\n previousSortKey: string,\n previousSortDir: string,\n sortKey: string,\n sortDirection: string\n ): string[] {\n if (nodes) {\n const entries = nodes.list.entries.map((obj) => obj.entry.target?.file ?? obj.entry);\n if (isClient) {\n if (previousSortKey) {\n this.sort(entries, previousSortKey, previousSortDir);\n }\n this.sort(entries, sortKey, sortDirection);\n }\n return entries.map((entry) => entry.id ?? entry.nodeId);\n } else {\n return this._customNodesOrder;\n }\n }\n}\n","/*!\n * Copyright © 2005-2024 Hyland Software, Inc. and its affiliates. All rights reserved.\n *\n * Alfresco Example Content Application\n *\n * This file is part of the Alfresco Example Content Application.\n * If the software was purchased under a paid Alfresco license, the terms of\n * the paid license agreement will prevail. Otherwise, the software is\n * provided under the following open source license terms:\n *\n * The Alfresco Example Content Application is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Lesser General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * The Alfresco Example Content Application is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Lesser General Public License for more details.\n *\n * You should have received a copy of the GNU Lesser General Public License\n * from Hyland Software. If not, see <http://www.gnu.org/licenses/>.\n */\n\nimport {\n AppExtensionService,\n AppHookService,\n AppSettingsService,\n ContentApiService,\n InfoDrawerComponent,\n ToolbarComponent,\n ToolbarMenuItemComponent\n} from '@alfresco/aca-shared';\nimport {\n AppStore,\n ClosePreviewAction,\n getAppSelection,\n isInfoDrawerOpened,\n RefreshPreviewAction,\n SetCurrentNodeVersionAction,\n SetSelectedNodesAction,\n ViewerActionTypes,\n ViewNodeAction\n} from '@alfresco/aca-shared/store';\nimport { ContentActionRef, SelectionState } from '@alfresco/adf-extensions';\nimport { Node, VersionEntry, VersionsApi } from '@alfresco/js-api';\nimport { Component, HostListener, inject, OnDestroy, OnInit, ViewEncapsulation } from '@angular/core';\nimport { ActivatedRoute, PRIMARY_OUTLET, Router } from '@angular/router';\nimport { ViewerOpenWithComponent, ViewerSidebarComponent, ViewerToolbarActionsComponent } from '@alfresco/adf-core';\nimport { Store } from '@ngrx/store';\nimport { from, Observable, Subject } from 'rxjs';\nimport { debounceTime, takeUntil } from 'rxjs/operators';\nimport { Actions, ofType } from '@ngrx/effects';\nimport { AlfrescoApiService, AlfrescoViewerComponent, DocumentListService, NodesApiService, UploadService } from '@alfresco/adf-content-services';\nimport { CommonModule } from '@angular/common';\nimport { ViewerService } from '../../services/viewer.service';\n\n@Component({\n standalone: true,\n imports: [\n CommonModule,\n InfoDrawerComponent,\n ToolbarMenuItemComponent,\n ToolbarComponent,\n AlfrescoViewerComponent,\n ViewerToolbarActionsComponent,\n ViewerOpenWithComponent,\n ViewerSidebarComponent\n ],\n selector: 'aca-viewer',\n templateUrl: './viewer.component.html',\n styleUrls: ['./viewer.component.scss'],\n encapsulation: ViewEncapsulation.None,\n host: { class: 'app-viewer' }\n})\nexport class AcaViewerComponent implements OnInit, OnDestroy {\n settings = inject(AppSettingsService);\n\n private documentListService = inject(DocumentListService);\n\n private _versionsApi: VersionsApi;\n get versionsApi(): VersionsApi {\n this._versionsApi = this._versionsApi ?? new VersionsApi(this.apiService.getInstance());\n return this._versionsApi;\n }\n\n onDestroy$ = new Subject<boolean>();\n\n fileName: string;\n folderId: string = null;\n infoDrawerOpened$: Observable<boolean>;\n navigateMultiple = true;\n navigateSource: string = null;\n navigationSources = ['favorites', 'libraries', 'personal-files', 'recent-files', 'shared'];\n nextNodeId: string;\n node: Node;\n nodeId: string = null;\n openWith: ContentActionRef[] = [];\n previousNodeId: string;\n selection: SelectionState;\n showRightSide = false;\n toolbarActions: ContentActionRef[] = [];\n versionId: string = null;\n\n private navigationPath: string;\n private previewLocation: string;\n private containersSkipNavigation = ['adf-viewer__sidebar', 'cdk-overlay-container', 'adf-image-viewer'];\n\n constructor(\n private actions$: Actions,\n private apiService: AlfrescoApiService,\n private appHookService: AppHookService,\n private contentApi: ContentApiService,\n private extensions: AppExtensionService,\n private nodesApiService: NodesApiService,\n private route: ActivatedRoute,\n private router: Router,\n private store: Store<AppStore>,\n private uploadService: UploadService,\n private viewerService: ViewerService\n ) {}\n\n ngOnInit() {\n this.infoDrawerOpened$ = this.store.select(isInfoDrawerOpened);\n\n from(this.infoDrawerOpened$)\n .pipe(takeUntil(this.onDestroy$))\n .subscribe((val) => {\n this.showRightSide = val;\n });\n\n this.store\n .select(getAppSelection)\n .pipe(takeUntil(this.onDestroy$))\n .subscribe((selection) => {\n this.selection = selection;\n });\n\n this.extensions\n .getViewerToolbarActions()\n .pipe(takeUntil(this.onDestroy$))\n .subscribe((actions) => {\n this.toolbarActions = actions;\n });\n\n this.extensions\n .getOpenWithActions()\n .pipe(takeUntil(this.onDestroy$))\n .subscribe((actions) => {\n this.openWith = actions;\n });\n\n this.route.params.subscribe((params) => {\n this.folderId = params.folderId;\n const { nodeId } = params;\n this.versionId = params.versionId;\n if (this.versionId) {\n void this.versionsApi.getVersion(nodeId, this.versionId).then((version: VersionEntry) => {\n if (version) {\n this.store.dispatch(new SetCurrentNodeVersionAction(version));\n }\n });\n }\n if (nodeId) {\n void this.displayNode(nodeId);\n }\n });\n\n this.route.queryParams.subscribe((params) => {\n this.navigationPath = params.path || params.location;\n });\n\n if (this.route.snapshot.data?.navigateSource) {\n const source = this.route.snapshot.data.navigateSource.toLowerCase();\n if (this.navigationSources.includes(source)) {\n this.navigateSource = this.route.snapshot.data.navigateSource;\n }\n }\n\n this.actions$.pipe(ofType<ClosePreviewAction>(ViewerActionTypes.ClosePreview), takeUntil(this.onDestroy$)).subscribe(() => {\n this.store.dispatch(new SetCurrentNodeVersionAction(null));\n this.navigateToFileLocation();\n });\n\n this.actions$\n .pipe(ofType<RefreshPreviewAction>(ViewerActionTypes.RefreshPreview), takeUntil(this.onDestroy$))\n .subscribe((action: RefreshPreviewAction) => {\n this.nodesApiService.nodeUpdated.next(action.node);\n void this.displayNode(action.node.id);\n });\n\n this.appHookService.nodesDeleted.pipe(takeUntil(this.onDestroy$)).subscribe(() => this.navigateToFileLocation());\n\n this.uploadService.fileUploadDeleted.pipe(takeUntil(this.onDestroy$)).subscribe(() => this.navigateToFileLocation());\n\n this.uploadService.fileUploadComplete.pipe(debounceTime(300), takeUntil(this.onDestroy$)).subscribe((file) => {\n this.nodesApiService.nodeUpdated.next(file.data.entry);\n void this.displayNode(file.data.entry.id);\n });\n\n this.previewLocation = this.router.url.substring(0, this.router.url.indexOf('/', 1)).replace(/\\//g, '');\n }\n\n onViewerVisibilityChanged() {\n this.documentListService.reload();\n this.navigateToFileLocation();\n }\n\n ngOnDestroy() {\n this.store.dispatch(new SetCurrentNodeVersionAction(null));\n this.onDestroy$.next(true);\n this.onDestroy$.complete();\n }\n\n trackByActionId(_: number, obj: ContentActionRef): string {\n return obj.id;\n }\n\n async displayNode(nodeId: string) {\n if (nodeId) {\n try {\n this.node = await this.contentApi.getNodeInfo(nodeId).toPromise();\n this.store.dispatch(new SetSelectedNodesAction([{ entry: this.node }]));\n this.navigateMultiple = this.extensions.canShowViewerNavigation({ entry: this.node });\n\n if (this.node?.isFile) {\n this.nodeId = this.node.id;\n this.fileName = this.node.name + this.node?.properties?.['cm:versionLabel'];\n if (this.navigateMultiple) {\n const nearest = await this.viewerService.getNearestNodes(this.node.id, this.node.parentId, this.navigateSource);\n this.previousNodeId = nearest.left;\n this.nextNodeId = nearest.right;\n }\n return;\n }\n this.navigateToFileLocation();\n } catch (error) {\n const statusCode = JSON.parse(error.message).error.statusCode;\n\n if (statusCode !== 401) {\n await this.router.navigate([this.previewLocation, { outlets: { viewer: null } }]).then(() => {\n void this.router.navigate([this.previewLocation, nodeId]);\n });\n }\n }\n }\n }\n\n onNavigateBefore(event: MouseEvent | KeyboardEvent): void {\n if (event.type !== 'click' && this.shouldNavigate(event.target as HTMLElement)) {\n return;\n }\n\n const location = this.getFileLocation();\n this.store.dispatch(new ViewNodeAction(this.previousNodeId, { location }));\n }\n\n onNavigateNext(event: MouseEvent | KeyboardEvent): void {\n if (event.type !== 'click' && this.shouldNavigate(event.target as HTMLElement)) {\n return;\n }\n\n const location = this.getFileLocation();\n this.store.dispatch(new ViewNodeAction(this.nextNodeId, { location }));\n }\n\n @HostListener('document:keydown', ['$event'])\n handleKeyboardEvent(event: KeyboardEvent) {\n const key = event.key;\n\n if (key === 'ArrowRight' || key === 'ArrowLeft') {\n event.preventDefault();\n event.stopImmediatePropagation();\n }\n }\n\n private navigateToFileLocation() {\n const location = this.getFileLocation();\n void this.router.navigateByUrl(location);\n }\n\n private getFileLocation(): string {\n return this.navigationPath || this.router.parseUrl(this.router.url).root.children[PRIMARY_OUTLET].toString();\n }\n\n private shouldNavigate(element: HTMLElement): boolean {\n let currentElement = element.parentElement;\n\n while (currentElement && !this.isChild(currentElement.classList)) {\n currentElement = currentElement.parentElement;\n }\n\n return !!currentElement;\n }\n\n private isChild(list: DOMTokenList): boolean {\n return Array.from(list).some((className: string) => this.containersSkipNavigation.includes(className));\n }\n}\n","<ng-container *ngIf=\"nodeId\">\n <adf-alfresco-viewer\n [ngClass]=\"{\n 'aca-right_side--hide': !showRightSide\n }\"\n [maxRetries]=\"settings.viewerMaxRetries\"\n [nodeId]=\"nodeId\"\n [versionId]=\"versionId\"\n [allowNavigate]=\"navigateMultiple\"\n [allowRightSidebar]=\"true\"\n [allowPrint]=\"false\"\n [showRightSidebar]=\"true\"\n [allowDownload]=\"false\"\n [allowFullScreen]=\"false\"\n [overlayMode]=\"true\"\n [hideInfoButton]=\"true\"\n [closeButtonPosition]=\"settings.viewerCloseButtonPosition\"\n (showViewerChange)=\"onViewerVisibilityChanged()\"\n [canNavigateBefore]=\"!!previousNodeId\"\n [canNavigateNext]=\"!!nextNodeId\"\n (navigateBefore)=\"onNavigateBefore($event)\"\n (navigateNext)=\"onNavigateNext($event)\"\n >\n <adf-viewer-sidebar *ngIf=\"infoDrawerOpened$ | async\">\n <aca-info-drawer [node]=\"selection.file\" />\n </adf-viewer-sidebar>\n\n <adf-viewer-open-with *ngIf=\"openWith.length\">\n <ng-container *ngFor=\"let action of openWith; trackBy: trackByActionId\">\n <app-toolbar-menu-item [actionRef]=\"action\" />\n </ng-container>\n </adf-viewer-open-with>\n\n <adf-viewer-toolbar-actions>\n <aca-toolbar [items]=\"toolbarActions\" />\n </adf-viewer-toolbar-actions>\n </adf-alfresco-viewer>\n</ng-container>\n","/*!\n * Copyright © 2005-2024 Hyland Software, Inc. and its affiliates. All rights reserved.\n *\n * Alfresco Example Content Application\n *\n * This file is part of the Alfresco Example Content Application.\n * If the software was purchased under a paid Alfresco license, the terms of\n * the paid license agreement will prevail. Otherwise, the software is\n * provided under the following open source license terms:\n *\n * The Alfresco Example Content Application is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Lesser General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * The Alfresco Example Content Application is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Lesser General Public License for more details.\n *\n * You should have received a copy of the GNU Lesser General Public License\n * from Hyland Software. If not, see <http://www.gnu.org/licenses/>.\n */\n\nimport { Component, OnInit, OnDestroy, ViewEncapsulation, HostListener } from '@angular/core';\nimport { CommonModule, Location } from '@angular/common';\nimport { UrlTree, UrlSegmentGroup, UrlSegment, PRIMARY_OUTLET, ActivatedRoute } from '@angular/router';\nimport { debounceTime, map, takeUntil } from 'rxjs/operators';\nimport { ViewerModule } from '@alfresco/adf-core';\nimport { ClosePreviewAction, ViewerActionTypes, SetSelectedNodesAction } from '@alfresco/aca-shared/store';\nimport {\n PageComponent,\n AppHookService,\n ContentApiService,\n InfoDrawerComponent,\n ToolbarMenuItemComponent,\n ToolbarComponent\n} from '@alfresco/aca-shared';\nimport { ContentActionRef } from '@alfresco/adf-extensions';\nimport { from } from 'rxjs';\nimport { Actions, ofType } from '@ngrx/effects';\nimport { AlfrescoViewerModule, NodesApiService } from '@alfresco/adf-content-services';\nimport { ViewerService } from '../../services/viewer.service';\n\n@Component({\n standalone: true,\n imports: [CommonModule, ViewerModule, AlfrescoViewerModule, InfoDrawerComponent, ToolbarMenuItemComponent, ToolbarComponent],\n selector: 'app-preview',\n templateUrl: './preview.component.html',\n styleUrls: ['./preview.component.scss'],\n encapsulation: ViewEncapsulation.None,\n host: { class: 'app-preview' }\n})\nexport class PreviewComponent extends PageComponent implements OnInit, OnDestroy {\n folderId: string = null;\n navigateBackAsClose = false;\n navigateMultiple = false;\n navigateSource: string = null;\n navigationSources = ['favorites', 'libraries', 'personal-files', 'recent-files', 'shared'];\n nextNodeId: string;\n nodeId: string = null;\n openWith: Array<ContentActionRef> = [];\n previewLocation: string = null;\n previousNodeId: string;\n routesSkipNavigation = ['favorites', 'recent-files', 'shared'];\n showRightSide = false;\n simplestMode = false;\n\n private containersSkipNavigation = ['adf-viewer__sidebar', 'cdk-overlay-container', 'adf-image-viewer'];\n\n constructor(\n private actions$: Actions,\n private appHookService: AppHookService,\n private contentApi: ContentApiService,\n private location: Location,\n private nodesApiService: NodesApiService,\n private route: ActivatedRoute,\n private viewerService: ViewerService\n ) {\n super();\n }\n\n ngOnInit() {\n super.ngOnInit();\n\n from(this.infoDrawerOpened$)\n .pipe(takeUntil(this.onDestroy$))\n .subscribe((val) => {\n this.showRightSide = val;\n });\n\n this.previewLocation = this.router.url.substr(0, this.router.url.indexOf('/', 1)).replace(/\\//g, '');\n\n const routeData = this.route.snapshot.data;\n this.navigateBackAsClose = !!routeData.navigateBackAsClose;\n this.simplestMode = !!routeData.simplestMode;\n\n if (routeData.navigateMultiple) {\n this.navigateMultiple = true;\n }\n\n if (routeData.navigateSource) {\n const source = routeData.navigateSource.toLowerCase();\n if (this.navigationSources.includes(source)) {\n this.navigateSource = routeData.navigateSource;\n }\n }\n\n this.route.params.subscribe((params) => {\n this.folderId = params.folderId;\n const id = params.nodeId;\n if (id) {\n void this.displayNode(id);\n }\n });\n\n this.subscriptions = this.subscriptions.concat([\n this.appHookService.nodesDeleted.subscribe(() => this.navigateToFileLocation(true)),\n\n this.uploadService.fileUploadDeleted.subscribe(() => this.navigateToFileLocation(true)),\n\n this.uploadService.fileUploadComplete.pipe(debounceTime(300)).subscribe((file) => this.nodesApiService.nodeUpdated.next(file.data.entry)),\n\n this.actions$\n .pipe(\n ofType<ClosePreviewAction>(ViewerActionTypes.ClosePreview),\n map(() => this.navigateToFileLocation(true))\n )\n .subscribe(() => {})\n ]);\n\n this.extensions\n .getOpenWithActions()\n .pipe(takeUntil(this.onDestroy$))\n .subscribe((actions) => {\n this.openWith = actions;\n });\n }\n\n ngOnDestroy() {\n super.ngOnDestroy();\n }\n\n /**\n * Loads the particular node into the Viewer\n *\n * @param id Unique identifier for the Node to display\n */\n async displayNode(id: string) {\n if (id) {\n try {\n this.node = await this.contentApi.getNodeInfo(id).toPromise();\n this.store.dispatch(new SetSelectedNodesAction([{ entry: this.node }]));\n\n if (this.node?.isFile) {\n this.nodeId = this.node.id;\n if (this.navigateMultiple) {\n const nearest = await this.viewerService.getNearestNodes(this.node.id, this.node.parentId, this.navigateSource);\n this.previousNodeId = nearest.left;\n this.nextNodeId = nearest.right;\n }\n return;\n }\n await this.router.navigate([this.previewLocation, id]);\n } catch (err) {\n if (!err || err.status !== 401) {\n await this.router.navigate([this.previewLocation, id]);\n }\n }\n }\n }\n\n @HostListener('document:keydown', ['$event'])\n handleKeyboardEvent(event: KeyboardEvent) {\n const key = event.key;\n\n if (key === 'ArrowRight' || key === 'ArrowLeft') {\n event.preventDefault();\n event.stopImmediatePropagation();\n }\n }\n\n /**\n * Handles the visibility change of the Viewer component.\n *\n * @param isVisible Indicator whether Viewer is visible or hidden.\n */\n onVisibilityChanged(isVisible: boolean): void {\n const shouldNavigate = !isVisible;\n this.navigateToFileLocation(shouldNavigate);\n }\n\n navigateToFileLocation(shouldNavigate: boolean) {\n if (shouldNavigate) {\n if (this.navigateBackAsClose) {\n this.location.back();\n } else {\n const shouldSkipNavigation = this.routesSkipNavigation.includes(this.previewLocation);\n const route = this.getNavigationCommands(this.previewLocation);\n\n if (!shouldSkipNavigation && this.folderId) {\n route.push(this.folderId);\n }\n void this.router.navigate(route);\n }\n }\n }\n\n /** Handles navigation to a previous document */\n onNavigateBefore(event: MouseEvent | KeyboardEvent): void {\n if (event.type !== 'click' && this.shouldNavigate(event.target as HTMLElement)) {\n return;\n }\n\n if (this.previousNodeId) {\n void this.router.navigate(this.getPreviewPath(this.folderId, this.previousNodeId));\n }\n }\n\n /** Handles navigation to a next document */\n onNavigateNext(event: MouseEvent | KeyboardEvent): void {\n if (event.type !== 'click' && this.shouldNavigate(event.target as HTMLElement)) {\n return;\n }\n\n if (this.nextNodeId) {\n void this.router.navigate(this.getPreviewPath(this.folderId, this.nextNodeId));\n }\n }\n\n /**\n * Generates a node preview route based on folder and node IDs.\n *\n * @param folderId Folder ID\n * @param nodeId Node ID\n */\n getPreviewPath(folderId: string, nodeId: string): any[] {\n const route = [this.previewLocation];\n\n if (folderId) {\n route.push(folderId);\n }\n\n if (nodeId) {\n route.push('preview', nodeId);\n }\n\n return route;\n }\n\n private getNavigationCommands(url: string): any[] {\n const urlTree: UrlTree = this.router.parseUrl(url);\n const urlSegmentGroup: UrlSegmentGroup = urlTree.root.children[PRIMARY_OUTLET];\n\n if (!urlSegmentGroup) {\n return [url];\n }\n\n const urlSegments: UrlSegment[] = urlSegmentGroup.segments;\n\n return urlSegments.reduce(function (acc, item) {\n acc.push(item.path, item.parameters);\n return acc;\n }, []);\n }\n\n private shouldNavigate(element: HTMLElement): boolean {\n let currentElement = element.parentElement;\n\n while (currentElement && !this.isChild(currentElement.classList)) {\n currentElement = currentElement.parentElement;\n }\n\n return !!currentElement;\n }\n\n private isChild(list: DOMTokenList): boolean {\n return Array.from(list).some((className: string) => this.containersSkipNavigation.includes(className));\n }\n}\n","<ng-container *ngIf=\"nodeId\">\n <adf-alfresco-viewer\n [ngClass]=\"{\n 'aca-right_side--hide': !showRightSide\n }\"\n [nodeId]=\"nodeId\"\n [allowNavigate]=\"navigateMultiple\"\n [allowRightSidebar]=\"true\"\n [allowPrint]=\"false\"\n [showRightSidebar]=\"true\"\n [allowDownload]=\"false\"\n [allowFullScreen]=\"false\"\n [canNavigateBefore]=\"!!previousNodeId\"\n [canNavigateNext]=\"!!nextNodeId\"\n [overlayMode]=\"true\"\n (showViewerChange)=\"onVisibilityChanged($event)\"\n (navigateBefore)=\"onNavigateBefore($event)\"\n (navigateNext)=\"onNavigateNext($event)\"\n >\n <adf-viewer-sidebar *ngIf=\"infoDrawerOpened$ | async\">\n <aca-info-drawer [node]=\"selection.file\" />\n </adf-viewer-sidebar>\n\n <adf-viewer-open-with *ngIf=\"openWith.length\">\n <ng-container *ngFor=\"let action of openWith; trackBy: trackByActionId\">\n <app-toolbar-menu-item [actionRef]=\"action\" />\n </ng-container>\n </adf-viewer-open-with>\n\n <adf-viewer-toolbar-actions *ngIf=\"!simplestMode\">\n <aca-toolbar [items]=\"viewerToolbarActions\" />\n </adf-viewer-toolbar-actions>\n </adf-alfresco-viewer>\n</ng-container>\n","/*!\n * Copyright © 2005-2024 Hyland Software, Inc. and its affiliates. All rights reserved.\n *\n * Alfresco Example Content Application\n *\n * This file is part of the Alfresco Example Content Application.\n * If the software was purchased under a paid Alfresco license, the terms of\n * the paid license agreement will prevail. Otherwise, the software is\n * provided under the following open source license terms:\n *\n * The Alfresco Example Content Application is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Lesser General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * The Alfresco Example Content Application is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Lesser General Public License for more details.\n *\n * You should have received a copy of the GNU Lesser General Public License\n * from Hyland Software. If not, see <http://www.gnu.org/licenses/>.\n */\n\nimport { NgModule } from '@angular/core';\nimport { AcaViewerComponent } from './components/viewer/viewer.component';\nimport { PreviewComponent } from './components/preview/preview.component';\nimport { RouterModule, Routes } from '@angular/router';\n\nconst routes: Routes = [\n {\n path: '',\n data: {\n title: 'APP.PREVIEW.TITLE',\n navigateMultiple: true\n },\n component: AcaViewerComponent\n }\n];\n\n@NgModule({\n imports: [RouterModule.forChild(routes), AcaViewerComponent, PreviewComponent],\n exports: [AcaViewerComponent, PreviewComponent]\n})\nexport class AcaViewerModule {}\n","/*!\n * Copyright © 2005-2024 Hyland Software, Inc. and its affiliates. All rights reserved.\n *\n * Alfresco Example Content Application\n *\n * This file is part of the Alfresco Example Content Application.\n * If the software was purchased under a paid Alfresco license, the terms of\n * the paid license agreement will prevail. Otherwise, the software is\n * provided under the following open source license terms:\n *\n * The Alfresco Example Content Application is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Lesser General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * The Alfresco Example Content Application is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Lesser General Public License for more details.\n *\n * You should have received a copy of the GNU Lesser General Public License\n * from Hyland Software. If not, see <http://www.gnu.org/licenses/>.\n */\n\n/*\n * Public API Surface of aca-viewer\n */\n\nexport * from './lib/components/viewer/viewer.component';\nexport * from './lib/components/preview/preview.component';\nexport * from './lib/viewer.module';\nexport * from './lib/services/viewer.service';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1","i2","i6.ViewerService","i7","i3","i4","i5"],"mappings":"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"}