@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 +0,0 @@
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 { Injectable } from '@angular/core';\nimport { Actions, ofType, createEffect } 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 constructor(private actions$: Actions, private aosEditOnlineService: 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.AosEditOnlineService","i2","i3"],"mappings":"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"}
@@ -1 +0,0 @@
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\"></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","/*!\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\"></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","/*!\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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"}