@alfresco/aca-content 4.4.1 → 4.5.0-10004013253

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 (288) hide show
  1. package/about/about.component.d.ts +2 -2
  2. package/about/dev-mode.tokens.d.ts +1 -1
  3. package/about/package-json.token.d.ts +1 -1
  4. package/about/public-api.d.ts +1 -1
  5. package/assets/app.extensions.json +13 -19
  6. package/assets/i18n/ar.json +1 -1
  7. package/assets/i18n/cs.json +1 -1
  8. package/assets/i18n/da.json +1 -1
  9. package/assets/i18n/de.json +1 -1
  10. package/assets/i18n/en.json +1 -1
  11. package/assets/i18n/es.json +1 -1
  12. package/assets/i18n/fi.json +1 -1
  13. package/assets/i18n/fr.json +1 -1
  14. package/assets/i18n/it.json +1 -1
  15. package/assets/i18n/ja.json +1 -1
  16. package/assets/i18n/nb.json +1 -1
  17. package/assets/i18n/nl.json +1 -1
  18. package/assets/i18n/pl.json +1 -1
  19. package/assets/i18n/pt-BR.json +1 -1
  20. package/assets/i18n/ru.json +1 -1
  21. package/assets/i18n/sv.json +1 -1
  22. package/assets/i18n/zh-CN.json +1 -1
  23. package/esm2020/about/about.component.mjs +7 -7
  24. package/esm2020/about/aca-about.module.mjs +2 -2
  25. package/esm2020/about/dev-mode.tokens.mjs +2 -2
  26. package/esm2020/about/package-json.token.mjs +2 -2
  27. package/esm2020/about/public-api.mjs +2 -2
  28. package/esm2020/folder-rules/folder-rules.module.mjs +8 -3
  29. package/esm2020/folder-rules/folder-rules.rules.mjs +2 -2
  30. package/esm2020/folder-rules/manage-rules/manage-rules.smart-component.mjs +6 -5
  31. package/esm2020/folder-rules/model/action-parameter-constraint.model.mjs +2 -2
  32. package/esm2020/folder-rules/model/rule-action.model.mjs +2 -2
  33. package/esm2020/folder-rules/model/rule-composite-condition.model.mjs +2 -2
  34. package/esm2020/folder-rules/model/rule-grouping-item.model.mjs +2 -2
  35. package/esm2020/folder-rules/model/rule-set.model.mjs +2 -2
  36. package/esm2020/folder-rules/model/rule-simple-condition.model.mjs +2 -2
  37. package/esm2020/folder-rules/model/rule.model.mjs +2 -2
  38. package/esm2020/folder-rules/public-api.mjs +2 -2
  39. package/esm2020/folder-rules/rule-details/actions/rule-action-list.ui-component.mjs +2 -2
  40. package/esm2020/folder-rules/rule-details/actions/rule-action.ui-component.mjs +77 -10
  41. package/esm2020/folder-rules/rule-details/conditions/rule-composite-condition.ui-component.mjs +2 -2
  42. package/esm2020/folder-rules/rule-details/conditions/rule-condition-comparators.mjs +2 -2
  43. package/esm2020/folder-rules/rule-details/conditions/rule-condition-fields.mjs +2 -2
  44. package/esm2020/folder-rules/rule-details/conditions/rule-simple-condition.ui-component.mjs +21 -22
  45. package/esm2020/folder-rules/rule-details/edit-rule-dialog.ui-component.mjs +2 -2
  46. package/esm2020/folder-rules/rule-details/options/rule-options.ui-component.mjs +2 -2
  47. package/esm2020/folder-rules/rule-details/rule-details.ui-component.mjs +2 -2
  48. package/esm2020/folder-rules/rule-details/triggers/rule-triggers.ui-component.mjs +2 -2
  49. package/esm2020/folder-rules/rule-details/validators/rule-actions.validator.mjs +2 -2
  50. package/esm2020/folder-rules/rule-details/validators/rule-composite-condition.validator.mjs +2 -2
  51. package/esm2020/folder-rules/rule-list/rule-list/rule-list.ui-component.mjs +25 -19
  52. package/esm2020/folder-rules/rule-list/rule-list-grouping/rule-list-grouping.ui-component.mjs +2 -2
  53. package/esm2020/folder-rules/rule-list/rule-list-item/rule-list-item.ui-component.mjs +2 -2
  54. package/esm2020/folder-rules/rule-set-picker/rule-set-picker.smart-component.mjs +2 -2
  55. package/esm2020/folder-rules/services/actions.service.mjs +2 -2
  56. package/esm2020/folder-rules/services/folder-rule-sets.service.mjs +7 -3
  57. package/esm2020/folder-rules/services/folder-rules.service.mjs +2 -2
  58. package/esm2020/lib/aca-content.module.mjs +39 -87
  59. package/esm2020/lib/aca-content.routes.mjs +2 -2
  60. package/esm2020/lib/components/common/index.mjs +2 -2
  61. package/esm2020/lib/components/common/language-picker/language-picker.component.mjs +2 -2
  62. package/esm2020/lib/components/common/location-link/location-link.component.mjs +2 -2
  63. package/esm2020/lib/components/common/logout/logout.component.mjs +5 -6
  64. package/esm2020/lib/components/common/toggle-shared/toggle-shared.component.mjs +2 -2
  65. package/esm2020/lib/components/common/user-info/user-info.component.mjs +2 -2
  66. package/esm2020/lib/components/context-menu/context-menu-item.component.mjs +7 -9
  67. package/esm2020/lib/components/context-menu/context-menu-outside-event.directive.mjs +2 -2
  68. package/esm2020/lib/components/context-menu/context-menu-overlay.mjs +2 -2
  69. package/esm2020/lib/components/context-menu/context-menu.component.mjs +8 -10
  70. package/esm2020/lib/components/context-menu/context-menu.service.mjs +2 -2
  71. package/esm2020/lib/components/context-menu/direction.token.mjs +2 -2
  72. package/esm2020/lib/components/context-menu/interfaces.mjs +2 -2
  73. package/esm2020/lib/components/details/details.component.mjs +2 -2
  74. package/esm2020/lib/components/dl-custom-components/name-column/name-column.component.mjs +7 -9
  75. package/esm2020/lib/components/dl-custom-components/tags-column/tags-column.component.mjs +2 -2
  76. package/esm2020/lib/components/dl-custom-components/thumbnail-column/thumbnail-column.component.mjs +2 -2
  77. package/esm2020/lib/components/favorite-libraries/favorite-libraries.component.mjs +11 -12
  78. package/esm2020/lib/components/favorites/favorites.component.mjs +11 -12
  79. package/esm2020/lib/components/files/files.component.mjs +29 -27
  80. package/esm2020/lib/components/home/home.component.mjs +10 -14
  81. package/esm2020/lib/components/info-drawer/comments-tab/comments-tab.component.mjs +2 -2
  82. package/esm2020/lib/components/info-drawer/info.drawer.module.mjs +2 -2
  83. package/esm2020/lib/components/info-drawer/library-metadata-tab/library-metadata-form.component.mjs +2 -2
  84. package/esm2020/lib/components/info-drawer/library-metadata-tab/library-metadata-tab.component.mjs +2 -2
  85. package/esm2020/lib/components/info-drawer/metadata-tab/metadata-tab.component.mjs +2 -2
  86. package/esm2020/lib/components/info-drawer/versions-tab/versions-tab.component.mjs +7 -8
  87. package/esm2020/lib/components/libraries/libraries.component.mjs +11 -12
  88. package/esm2020/lib/components/recent-files/recent-files.component.mjs +11 -12
  89. package/esm2020/lib/components/search/index.mjs +2 -2
  90. package/esm2020/lib/components/search/search-action-menu/search-action-menu.component.mjs +2 -2
  91. package/esm2020/lib/components/search/search-input/search-input.component.mjs +2 -2
  92. package/esm2020/lib/components/search/search-input-control/search-input-control.component.mjs +2 -2
  93. package/esm2020/lib/components/search/search-libraries-results/search-libraries-query-builder.service.mjs +2 -2
  94. package/esm2020/lib/components/search/search-libraries-results/search-libraries-results.component.mjs +9 -10
  95. package/esm2020/lib/components/search/search-navigation.service.mjs +2 -2
  96. package/esm2020/lib/components/search/search-results/search-results.component.mjs +17 -22
  97. package/esm2020/lib/components/search/search-results-row/search-results-row.component.mjs +2 -2
  98. package/esm2020/lib/components/shared-files/shared-files.component.mjs +11 -12
  99. package/esm2020/lib/components/shared-link-view/shared-link-view.component.mjs +2 -2
  100. package/esm2020/lib/components/sidenav/components/button-menu.component.mjs +2 -2
  101. package/esm2020/lib/components/sidenav/components/expand-menu.component.mjs +2 -2
  102. package/esm2020/lib/components/sidenav/components/sidenav-header.component.mjs +11 -16
  103. package/esm2020/lib/components/sidenav/directives/action.directive.mjs +2 -2
  104. package/esm2020/lib/components/sidenav/directives/active-link.directive.mjs +2 -2
  105. package/esm2020/lib/components/sidenav/directives/expansion-panel.directive.mjs +2 -2
  106. package/esm2020/lib/components/sidenav/directives/menu-panel.directive.mjs +2 -2
  107. package/esm2020/lib/components/sidenav/index.mjs +2 -2
  108. package/esm2020/lib/components/sidenav/sidenav.component.mjs +5 -6
  109. package/esm2020/lib/components/sidenav/user-menu/user-menu.component.mjs +2 -2
  110. package/esm2020/lib/components/toolbar/index.mjs +2 -2
  111. package/esm2020/lib/components/toolbar/toggle-edit-offline/toggle-edit-offline.component.mjs +2 -2
  112. package/esm2020/lib/components/toolbar/toggle-favorite/toggle-favorite.component.mjs +7 -8
  113. package/esm2020/lib/components/toolbar/toggle-favorite-library/toggle-favorite-library.component.mjs +7 -8
  114. package/esm2020/lib/components/toolbar/toggle-info-drawer/toggle-info-drawer.component.mjs +2 -2
  115. package/esm2020/lib/components/toolbar/toggle-join-library/toggle-join-library-button.component.mjs +6 -7
  116. package/esm2020/lib/components/toolbar/toggle-join-library/toggle-join-library-menu.component.mjs +7 -8
  117. package/esm2020/lib/components/toolbar/view-node/view-node.component.mjs +2 -2
  118. package/esm2020/lib/components/trashcan/trashcan.component.mjs +10 -11
  119. package/esm2020/lib/components/upload-files-dialog/upload-files-dialog.component.mjs +2 -2
  120. package/esm2020/lib/components/view-profile/view-profile.component.mjs +2 -2
  121. package/esm2020/lib/components/view-profile/view-profile.guard.mjs +2 -2
  122. package/esm2020/lib/dialogs/node-template/create-from-template.dialog.mjs +2 -2
  123. package/esm2020/lib/directives/document-list.directive.mjs +44 -16
  124. package/esm2020/lib/extensions/core.extensions.module.mjs +2 -7
  125. package/esm2020/lib/services/content-management.service.mjs +26 -28
  126. package/esm2020/lib/services/content-url.service.mjs +2 -2
  127. package/esm2020/lib/services/node-actions.service.mjs +2 -2
  128. package/esm2020/lib/services/node-template.service.mjs +2 -2
  129. package/esm2020/lib/store/app-store.module.mjs +2 -2
  130. package/esm2020/lib/store/effects/app.effects.mjs +2 -2
  131. package/esm2020/lib/store/effects/contextmenu.effects.mjs +2 -2
  132. package/esm2020/lib/store/effects/download.effects.mjs +2 -2
  133. package/esm2020/lib/store/effects/favorite.effects.mjs +2 -2
  134. package/esm2020/lib/store/effects/library.effects.mjs +2 -2
  135. package/esm2020/lib/store/effects/node.effects.mjs +2 -2
  136. package/esm2020/lib/store/effects/search.effects.mjs +3 -3
  137. package/esm2020/lib/store/effects/template.effects.mjs +2 -2
  138. package/esm2020/lib/store/effects/upload.effects.mjs +2 -2
  139. package/esm2020/lib/store/effects/viewer.effects.mjs +2 -2
  140. package/esm2020/lib/store/effects.mjs +2 -2
  141. package/esm2020/lib/store/initial-state.mjs +3 -39
  142. package/esm2020/lib/store/reducers/app.reducer.mjs +3 -7
  143. package/esm2020/ms-office/actions/aos.actions.mjs +2 -2
  144. package/esm2020/ms-office/aos-extension.module.mjs +2 -2
  145. package/esm2020/ms-office/aos-extension.service.mjs +10 -12
  146. package/esm2020/ms-office/effects/aos.effects.mjs +2 -2
  147. package/esm2020/ms-office/public-api.mjs +2 -2
  148. package/esm2020/public-api.mjs +2 -2
  149. package/esm2020/viewer/lib/components/preview/preview.component.mjs +236 -0
  150. package/esm2020/viewer/lib/components/viewer/viewer.component.mjs +42 -203
  151. package/esm2020/viewer/lib/services/viewer.service.mjs +215 -0
  152. package/esm2020/viewer/lib/viewer.module.mjs +7 -6
  153. package/esm2020/viewer/public-api.mjs +3 -2
  154. package/fesm2015/alfresco-aca-content-about.mjs +10 -10
  155. package/fesm2015/alfresco-aca-content-about.mjs.map +1 -1
  156. package/fesm2015/alfresco-aca-content-folder-rules.mjs +167 -93
  157. package/fesm2015/alfresco-aca-content-folder-rules.mjs.map +1 -1
  158. package/fesm2015/alfresco-aca-content-ms-office.mjs +10 -13
  159. package/fesm2015/alfresco-aca-content-ms-office.mjs.map +1 -1
  160. package/fesm2015/alfresco-aca-content-viewer.mjs +414 -195
  161. package/fesm2015/alfresco-aca-content-viewer.mjs.map +1 -1
  162. package/fesm2015/alfresco-aca-content.mjs +5995 -6053
  163. package/fesm2015/alfresco-aca-content.mjs.map +1 -1
  164. package/fesm2020/alfresco-aca-content-about.mjs +10 -10
  165. package/fesm2020/alfresco-aca-content-about.mjs.map +1 -1
  166. package/fesm2020/alfresco-aca-content-folder-rules.mjs +178 -96
  167. package/fesm2020/alfresco-aca-content-folder-rules.mjs.map +1 -1
  168. package/fesm2020/alfresco-aca-content-ms-office.mjs +11 -14
  169. package/fesm2020/alfresco-aca-content-ms-office.mjs.map +1 -1
  170. package/fesm2020/alfresco-aca-content-viewer.mjs +449 -186
  171. package/fesm2020/alfresco-aca-content-viewer.mjs.map +1 -1
  172. package/fesm2020/alfresco-aca-content.mjs +4935 -4993
  173. package/fesm2020/alfresco-aca-content.mjs.map +1 -1
  174. package/folder-rules/folder-rules.module.d.ts +1 -1
  175. package/folder-rules/folder-rules.rules.d.ts +1 -1
  176. package/folder-rules/manage-rules/manage-rules.smart-component.d.ts +1 -1
  177. package/folder-rules/model/action-parameter-constraint.model.d.ts +1 -1
  178. package/folder-rules/model/rule-action.model.d.ts +1 -1
  179. package/folder-rules/model/rule-composite-condition.model.d.ts +1 -1
  180. package/folder-rules/model/rule-grouping-item.model.d.ts +1 -1
  181. package/folder-rules/model/rule-set.model.d.ts +1 -1
  182. package/folder-rules/model/rule-simple-condition.model.d.ts +1 -1
  183. package/folder-rules/model/rule.model.d.ts +1 -1
  184. package/folder-rules/public-api.d.ts +1 -1
  185. package/folder-rules/rule-details/actions/rule-action-list.ui-component.d.ts +1 -1
  186. package/folder-rules/rule-details/actions/rule-action.ui-component.d.ts +10 -5
  187. package/folder-rules/rule-details/conditions/rule-composite-condition.ui-component.d.ts +1 -1
  188. package/folder-rules/rule-details/conditions/rule-condition-comparators.d.ts +1 -1
  189. package/folder-rules/rule-details/conditions/rule-condition-fields.d.ts +1 -1
  190. package/folder-rules/rule-details/conditions/rule-simple-condition.ui-component.d.ts +5 -6
  191. package/folder-rules/rule-details/edit-rule-dialog.ui-component.d.ts +1 -1
  192. package/folder-rules/rule-details/options/rule-options.ui-component.d.ts +1 -1
  193. package/folder-rules/rule-details/rule-details.ui-component.d.ts +1 -1
  194. package/folder-rules/rule-details/triggers/rule-triggers.ui-component.d.ts +1 -1
  195. package/folder-rules/rule-details/validators/rule-actions.validator.d.ts +1 -1
  196. package/folder-rules/rule-details/validators/rule-composite-condition.validator.d.ts +1 -1
  197. package/folder-rules/rule-list/rule-list/rule-list.ui-component.d.ts +14 -9
  198. package/folder-rules/rule-list/rule-list-grouping/rule-list-grouping.ui-component.d.ts +1 -1
  199. package/folder-rules/rule-list/rule-list-item/rule-list-item.ui-component.d.ts +1 -1
  200. package/folder-rules/rule-set-picker/rule-set-picker.smart-component.d.ts +1 -1
  201. package/lib/aca-content.module.d.ts +5 -16
  202. package/lib/aca-content.routes.d.ts +1 -1
  203. package/lib/components/common/index.d.ts +1 -1
  204. package/lib/components/common/location-link/location-link.component.d.ts +1 -1
  205. package/lib/components/common/toggle-shared/toggle-shared.component.d.ts +1 -1
  206. package/lib/components/context-menu/context-menu-outside-event.directive.d.ts +1 -1
  207. package/lib/components/context-menu/context-menu-overlay.d.ts +1 -1
  208. package/lib/components/context-menu/context-menu.component.d.ts +1 -1
  209. package/lib/components/context-menu/context-menu.service.d.ts +1 -1
  210. package/lib/components/context-menu/direction.token.d.ts +1 -1
  211. package/lib/components/context-menu/interfaces.d.ts +1 -1
  212. package/lib/components/details/details.component.d.ts +1 -1
  213. package/lib/components/dl-custom-components/name-column/name-column.component.d.ts +1 -1
  214. package/lib/components/dl-custom-components/thumbnail-column/thumbnail-column.component.d.ts +1 -1
  215. package/lib/components/favorite-libraries/favorite-libraries.component.d.ts +1 -1
  216. package/lib/components/favorites/favorites.component.d.ts +1 -1
  217. package/lib/components/files/files.component.d.ts +3 -3
  218. package/lib/components/home/home.component.d.ts +2 -6
  219. package/lib/components/info-drawer/comments-tab/comments-tab.component.d.ts +1 -1
  220. package/lib/components/info-drawer/library-metadata-tab/library-metadata-form.component.d.ts +1 -1
  221. package/lib/components/info-drawer/metadata-tab/metadata-tab.component.d.ts +1 -1
  222. package/lib/components/info-drawer/versions-tab/versions-tab.component.d.ts +1 -1
  223. package/lib/components/recent-files/recent-files.component.d.ts +1 -1
  224. package/lib/components/search/index.d.ts +1 -1
  225. package/lib/components/search/search-action-menu/search-action-menu.component.d.ts +1 -1
  226. package/lib/components/search/search-input/search-input.component.d.ts +1 -1
  227. package/lib/components/search/search-input-control/search-input-control.component.d.ts +1 -1
  228. package/lib/components/search/search-libraries-results/search-libraries-query-builder.service.d.ts +1 -1
  229. package/lib/components/search/search-results/search-results.component.d.ts +1 -2
  230. package/lib/components/search/search-results-row/search-results-row.component.d.ts +1 -1
  231. package/lib/components/shared-files/shared-files.component.d.ts +1 -1
  232. package/lib/components/shared-link-view/shared-link-view.component.d.ts +1 -1
  233. package/lib/components/sidenav/components/button-menu.component.d.ts +1 -1
  234. package/lib/components/sidenav/components/expand-menu.component.d.ts +1 -1
  235. package/lib/components/sidenav/components/sidenav-header.component.d.ts +4 -5
  236. package/lib/components/sidenav/directives/active-link.directive.d.ts +1 -1
  237. package/lib/components/sidenav/directives/expansion-panel.directive.d.ts +1 -1
  238. package/lib/components/sidenav/directives/menu-panel.directive.d.ts +1 -1
  239. package/lib/components/sidenav/index.d.ts +1 -1
  240. package/lib/components/sidenav/sidenav.component.d.ts +1 -1
  241. package/lib/components/sidenav/user-menu/user-menu.component.d.ts +1 -1
  242. package/lib/components/toolbar/index.d.ts +1 -1
  243. package/lib/components/toolbar/toggle-edit-offline/toggle-edit-offline.component.d.ts +1 -1
  244. package/lib/components/toolbar/toggle-favorite/toggle-favorite.component.d.ts +1 -1
  245. package/lib/components/toolbar/toggle-favorite-library/toggle-favorite-library.component.d.ts +1 -1
  246. package/lib/components/toolbar/toggle-join-library/toggle-join-library-button.component.d.ts +1 -1
  247. package/lib/components/upload-files-dialog/upload-files-dialog.component.d.ts +1 -1
  248. package/lib/components/view-profile/view-profile.component.d.ts +1 -1
  249. package/lib/dialogs/node-template/create-from-template.dialog.d.ts +1 -1
  250. package/lib/directives/document-list.directive.d.ts +4 -1
  251. package/lib/extensions/core.extensions.module.d.ts +1 -2
  252. package/lib/services/content-management.service.d.ts +4 -3
  253. package/lib/store/effects/app.effects.d.ts +1 -1
  254. package/lib/store/effects/download.effects.d.ts +1 -1
  255. package/lib/store/effects/favorite.effects.d.ts +1 -1
  256. package/lib/store/effects/library.effects.d.ts +1 -1
  257. package/lib/store/effects/node.effects.d.ts +1 -1
  258. package/lib/store/effects/search.effects.d.ts +1 -1
  259. package/lib/store/effects/template.effects.d.ts +1 -1
  260. package/lib/store/effects/upload.effects.d.ts +1 -1
  261. package/lib/store/effects/viewer.effects.d.ts +1 -1
  262. package/lib/store/effects.d.ts +1 -1
  263. package/lib/store/initial-state.d.ts +2 -4
  264. package/lib/store/reducers/app.reducer.d.ts +1 -1
  265. package/ms-office/actions/aos.actions.d.ts +1 -1
  266. package/ms-office/aos-extension.module.d.ts +1 -1
  267. package/ms-office/aos-extension.service.d.ts +5 -5
  268. package/ms-office/public-api.d.ts +1 -1
  269. package/package.json +5 -13
  270. package/public-api.d.ts +1 -1
  271. package/{preview/lib/components → viewer/lib/components/preview}/preview.component.d.ts +16 -43
  272. package/viewer/lib/components/viewer/viewer.component.d.ts +20 -46
  273. package/viewer/lib/services/viewer.service.d.ts +65 -0
  274. package/viewer/lib/viewer.module.d.ts +2 -1
  275. package/viewer/public-api.d.ts +2 -1
  276. package/esm2020/folder-rules/rule-details/conditions/rule-mime-types.mjs +0 -25
  277. package/esm2020/preview/alfresco-aca-content-preview.mjs +0 -5
  278. package/esm2020/preview/lib/components/preview.component.mjs +0 -394
  279. package/esm2020/preview/lib/preview.module.mjs +0 -39
  280. package/esm2020/preview/public-api.mjs +0 -29
  281. package/fesm2015/alfresco-aca-content-preview.mjs +0 -447
  282. package/fesm2015/alfresco-aca-content-preview.mjs.map +0 -1
  283. package/fesm2020/alfresco-aca-content-preview.mjs +0 -461
  284. package/fesm2020/alfresco-aca-content-preview.mjs.map +0 -1
  285. package/folder-rules/rule-details/conditions/rule-mime-types.d.ts +0 -27
  286. package/preview/index.d.ts +0 -5
  287. package/preview/lib/preview.module.d.ts +0 -7
  288. package/preview/public-api.d.ts +0 -25
@@ -1,461 +0,0 @@
1
- import * as i0 from '@angular/core';
2
- import { Component, ViewEncapsulation, HostListener, NgModule } from '@angular/core';
3
- import * as i6 from '@angular/common';
4
- import { CommonModule } from '@angular/common';
5
- import * as i3 from '@angular/router';
6
- import { PRIMARY_OUTLET } from '@angular/router';
7
- import { takeUntil, debounceTime, map } from 'rxjs/operators';
8
- import * as i2 from '@alfresco/adf-core';
9
- import { ObjectUtils, ViewerModule } from '@alfresco/adf-core';
10
- import { ViewerActionTypes, SetSelectedNodesAction } from '@alfresco/aca-shared/store';
11
- import * as i1 from '@alfresco/aca-shared';
12
- import { PageComponent, InfoDrawerComponent, ToolbarMenuItemComponent, ToolbarComponent } from '@alfresco/aca-shared';
13
- import { from } from 'rxjs';
14
- import * as i5 from '@ngrx/effects';
15
- import { ofType } from '@ngrx/effects';
16
- import * as i4 from '@alfresco/adf-content-services';
17
- import { AlfrescoViewerModule } from '@alfresco/adf-content-services';
18
-
19
- /*!
20
- * Copyright © 2005-2023 Hyland Software, Inc. and its affiliates. All rights reserved.
21
- *
22
- * Alfresco Example Content Application
23
- *
24
- * This file is part of the Alfresco Example Content Application.
25
- * If the software was purchased under a paid Alfresco license, the terms of
26
- * the paid license agreement will prevail. Otherwise, the software is
27
- * provided under the following open source license terms:
28
- *
29
- * The Alfresco Example Content Application is free software: you can redistribute it and/or modify
30
- * it under the terms of the GNU Lesser General Public License as published by
31
- * the Free Software Foundation, either version 3 of the License, or
32
- * (at your option) any later version.
33
- *
34
- * The Alfresco Example Content Application is distributed in the hope that it will be useful,
35
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
36
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
37
- * GNU Lesser General Public License for more details.
38
- *
39
- * You should have received a copy of the GNU Lesser General Public License
40
- * from Hyland Software. If not, see <http://www.gnu.org/licenses/>.
41
- */
42
- class PreviewComponent extends PageComponent {
43
- constructor(contentApi, preferences, route, nodesApiService, actions$, location, appHookService) {
44
- super();
45
- this.contentApi = contentApi;
46
- this.preferences = preferences;
47
- this.route = route;
48
- this.nodesApiService = nodesApiService;
49
- this.actions$ = actions$;
50
- this.location = location;
51
- this.appHookService = appHookService;
52
- this.previewLocation = null;
53
- this.routesSkipNavigation = ['shared', 'recent-files', 'favorites'];
54
- this.navigateSource = null;
55
- this.navigationSources = ['favorites', 'libraries', 'personal-files', 'recent-files', 'shared'];
56
- this.folderId = null;
57
- this.nodeId = null;
58
- this.navigateMultiple = false;
59
- this.openWith = [];
60
- this.contentExtensions = [];
61
- this.showRightSide = false;
62
- this.navigateBackAsClose = false;
63
- this.simplestMode = false;
64
- this.recentFileFilters = [
65
- 'TYPE:"content"',
66
- '-PATH:"//cm:wiki/*"',
67
- '-TYPE:"app:filelink"',
68
- '-TYPE:"fm:post"',
69
- '-TYPE:"cm:thumbnail"',
70
- '-TYPE:"cm:failedThumbnail"',
71
- '-TYPE:"cm:rating"',
72
- '-TYPE:"dl:dataList"',
73
- '-TYPE:"dl:todoList"',
74
- '-TYPE:"dl:issue"',
75
- '-TYPE:"dl:contact"',
76
- '-TYPE:"dl:eventAgenda"',
77
- '-TYPE:"dl:event"',
78
- '-TYPE:"dl:task"',
79
- '-TYPE:"dl:simpletask"',
80
- '-TYPE:"dl:meetingAgenda"',
81
- '-TYPE:"dl:location"',
82
- '-TYPE:"fm:topic"',
83
- '-TYPE:"fm:post"',
84
- '-TYPE:"ia:calendarEvent"',
85
- '-TYPE:"lnk:link"'
86
- ];
87
- this.containersSkipNavigation = ['adf-viewer__sidebar', 'cdk-overlay-container', 'adf-image-viewer'];
88
- }
89
- ngOnInit() {
90
- super.ngOnInit();
91
- from(this.infoDrawerOpened$)
92
- .pipe(takeUntil(this.onDestroy$))
93
- .subscribe((val) => {
94
- this.showRightSide = val;
95
- });
96
- this.previewLocation = this.router.url.substr(0, this.router.url.indexOf('/', 1)).replace(/\//g, '');
97
- const routeData = this.route.snapshot.data;
98
- this.navigateBackAsClose = !!routeData.navigateBackAsClose;
99
- this.simplestMode = !!routeData.simplestMode;
100
- if (routeData.navigateMultiple) {
101
- this.navigateMultiple = true;
102
- }
103
- if (routeData.navigateSource) {
104
- const source = routeData.navigateSource.toLowerCase();
105
- if (this.navigationSources.includes(source)) {
106
- this.navigateSource = routeData.navigateSource;
107
- }
108
- }
109
- this.route.params.subscribe((params) => {
110
- this.folderId = params.folderId;
111
- const id = params.nodeId;
112
- if (id) {
113
- this.displayNode(id);
114
- }
115
- });
116
- this.subscriptions = this.subscriptions.concat([
117
- this.appHookService.nodesDeleted.subscribe(() => this.navigateToFileLocation(true)),
118
- this.uploadService.fileUploadDeleted.subscribe(() => this.navigateToFileLocation(true)),
119
- this.uploadService.fileUploadComplete.pipe(debounceTime(300)).subscribe((file) => this.nodesApiService.nodeUpdated.next(file.data.entry)),
120
- this.actions$
121
- .pipe(ofType(ViewerActionTypes.ClosePreview), map(() => this.navigateToFileLocation(true)))
122
- .subscribe(() => { })
123
- ]);
124
- this.extensions
125
- .getOpenWithActions()
126
- .pipe(takeUntil(this.onDestroy$))
127
- .subscribe((actions) => {
128
- this.openWith = actions;
129
- });
130
- }
131
- ngOnDestroy() {
132
- super.ngOnDestroy();
133
- }
134
- /**
135
- * Loads the particular node into the Viewer
136
- *
137
- * @param id Unique identifier for the Node to display
138
- */
139
- async displayNode(id) {
140
- if (id) {
141
- try {
142
- this.node = await this.contentApi.getNodeInfo(id).toPromise();
143
- this.store.dispatch(new SetSelectedNodesAction([{ entry: this.node }]));
144
- if (this.node?.isFile) {
145
- const nearest = await this.getNearestNodes(this.node.id, this.node.parentId);
146
- this.previousNodeId = nearest.left;
147
- this.nextNodeId = nearest.right;
148
- this.nodeId = this.node.id;
149
- return;
150
- }
151
- await this.router.navigate([this.previewLocation, id]);
152
- }
153
- catch (err) {
154
- if (!err || err.status !== 401) {
155
- await this.router.navigate([this.previewLocation, id]);
156
- }
157
- }
158
- }
159
- }
160
- handleKeyboardEvent(event) {
161
- const key = event.key;
162
- if (key === 'ArrowRight' || key === 'ArrowLeft') {
163
- event.preventDefault();
164
- event.stopImmediatePropagation();
165
- }
166
- }
167
- /**
168
- * Handles the visibility change of the Viewer component.
169
- *
170
- * @param isVisible Indicator whether Viewer is visible or hidden.
171
- */
172
- onVisibilityChanged(isVisible) {
173
- const shouldNavigate = !isVisible;
174
- this.navigateToFileLocation(shouldNavigate);
175
- }
176
- navigateToFileLocation(shouldNavigate) {
177
- if (shouldNavigate) {
178
- if (this.navigateBackAsClose) {
179
- this.location.back();
180
- }
181
- else {
182
- const shouldSkipNavigation = this.routesSkipNavigation.includes(this.previewLocation);
183
- const route = this.getNavigationCommands(this.previewLocation);
184
- if (!shouldSkipNavigation && this.folderId) {
185
- route.push(this.folderId);
186
- }
187
- this.router.navigate(route);
188
- }
189
- }
190
- }
191
- /** Handles navigation to a previous document */
192
- onNavigateBefore(event) {
193
- if (event.type !== 'click' && this.shouldNavigate(event.target)) {
194
- return;
195
- }
196
- if (this.previousNodeId) {
197
- this.router.navigate(this.getPreviewPath(this.folderId, this.previousNodeId));
198
- }
199
- }
200
- /** Handles navigation to a next document */
201
- onNavigateNext(event) {
202
- if (event.type !== 'click' && this.shouldNavigate(event.target)) {
203
- return;
204
- }
205
- if (this.nextNodeId) {
206
- this.router.navigate(this.getPreviewPath(this.folderId, this.nextNodeId));
207
- }
208
- }
209
- /**
210
- * Generates a node preview route based on folder and node IDs.
211
- *
212
- * @param folderId Folder ID
213
- * @param nodeId Node ID
214
- */
215
- getPreviewPath(folderId, nodeId) {
216
- const route = [this.previewLocation];
217
- if (folderId) {
218
- route.push(folderId);
219
- }
220
- if (nodeId) {
221
- route.push('preview', nodeId);
222
- }
223
- return route;
224
- }
225
- /**
226
- * Retrieves nearest node information for the given node and folder.
227
- *
228
- * @param nodeId Unique identifier of the document node
229
- * @param folderId Unique identifier of the containing folder node.
230
- */
231
- async getNearestNodes(nodeId, folderId) {
232
- const empty = {
233
- left: null,
234
- right: null
235
- };
236
- if (nodeId && folderId) {
237
- try {
238
- const ids = await this.getFileIds(this.navigateSource, folderId);
239
- const idx = ids.indexOf(nodeId);
240
- if (idx >= 0) {
241
- return {
242
- left: ids[idx - 1] || null,
243
- right: ids[idx + 1] || null
244
- };
245
- }
246
- else {
247
- return empty;
248
- }
249
- }
250
- catch {
251
- return empty;
252
- }
253
- }
254
- else {
255
- return empty;
256
- }
257
- }
258
- /**
259
- * Retrieves a list of node identifiers for the folder and data source.
260
- *
261
- * @param source Data source name. Allowed values are: personal-files, libraries, favorites, shared, recent-files.
262
- * @param folderId Containing folder node identifier for 'personal-files' and 'libraries' sources.
263
- */
264
- async getFileIds(source, folderId) {
265
- if ((source === 'personal-files' || source === 'libraries') && folderId) {
266
- const sortKey = this.preferences.get('personal-files.sorting.key') || 'modifiedAt';
267
- const sortDirection = this.preferences.get('personal-files.sorting.direction') || 'desc';
268
- const nodes = await this.contentApi
269
- .getNodeChildren(folderId, {
270
- // orderBy: `${sortKey} ${sortDirection}`,
271
- fields: ['id', this.getRootField(sortKey)],
272
- where: '(isFile=true)'
273
- })
274
- .toPromise();
275
- const entries = nodes.list.entries.map((obj) => obj.entry);
276
- this.sort(entries, sortKey, sortDirection);
277
- return entries.map((obj) => obj.id);
278
- }
279
- if (source === 'favorites') {
280
- const nodes = await this.contentApi
281
- .getFavorites('-me-', {
282
- where: '(EXISTS(target/file))',
283
- fields: ['target']
284
- })
285
- .toPromise();
286
- const sortKey = this.preferences.get('favorites.sorting.key') || 'modifiedAt';
287
- const sortDirection = this.preferences.get('favorites.sorting.direction') || 'desc';
288
- const files = nodes.list.entries.map((obj) => obj.entry.target.file);
289
- this.sort(files, sortKey, sortDirection);
290
- return files.map((f) => f.id);
291
- }
292
- if (source === 'shared') {
293
- const sortingKey = this.preferences.get('shared.sorting.key') || 'modifiedAt';
294
- const sortingDirection = this.preferences.get('shared.sorting.direction') || 'desc';
295
- const nodes = await this.contentApi
296
- .findSharedLinks({
297
- fields: ['nodeId', this.getRootField(sortingKey)]
298
- })
299
- .toPromise();
300
- const entries = nodes.list.entries.map((obj) => obj.entry);
301
- this.sort(entries, sortingKey, sortingDirection);
302
- return entries.map((obj) => obj.nodeId);
303
- }
304
- if (source === 'recent-files') {
305
- const person = await this.contentApi.getPerson('-me-').toPromise();
306
- const username = person.entry.id;
307
- const sortingKey = this.preferences.get('recent-files.sorting.key') || 'modifiedAt';
308
- const sortingDirection = this.preferences.get('recent-files.sorting.direction') || 'desc';
309
- const query = {
310
- query: {
311
- query: '*',
312
- language: 'afts'
313
- },
314
- filterQueries: [
315
- { query: `cm:modified:[NOW/DAY-30DAYS TO NOW/DAY+1DAY]` },
316
- { query: `cm:modifier:${username} OR cm:creator:${username}` },
317
- {
318
- query: this.recentFileFilters.join(' AND ')
319
- }
320
- ],
321
- fields: ['id', this.getRootField(sortingKey)],
322
- include: ['path', 'properties', 'allowableOperations'],
323
- sort: [
324
- {
325
- type: 'FIELD',
326
- field: 'cm:modified',
327
- ascending: false
328
- }
329
- ]
330
- };
331
- const nodes = await this.contentApi.search(query).toPromise();
332
- const entries = nodes.list.entries.map((obj) => obj.entry);
333
- this.sort(entries, sortingKey, sortingDirection);
334
- return entries.map((obj) => obj.id);
335
- }
336
- return [];
337
- }
338
- sort(items, key, direction) {
339
- const options = {};
340
- if (key.includes('sizeInBytes') || key === 'name') {
341
- options.numeric = true;
342
- }
343
- items.sort((a, b) => {
344
- let left = ObjectUtils.getValue(a, key) ?? '';
345
- left = left instanceof Date ? left.valueOf().toString() : left.toString();
346
- let right = ObjectUtils.getValue(b, key) ?? '';
347
- right = right instanceof Date ? right.valueOf().toString() : right.toString();
348
- return direction === 'asc' ? left.localeCompare(right, undefined, options) : right.localeCompare(left, undefined, options);
349
- });
350
- }
351
- /**
352
- * Get the root field name from the property path.
353
- * Example: 'property1.some.child.property' => 'property1'
354
- *
355
- * @param path Property path
356
- */
357
- getRootField(path) {
358
- if (path) {
359
- return path.split('.')[0];
360
- }
361
- return path;
362
- }
363
- getNavigationCommands(url) {
364
- const urlTree = this.router.parseUrl(url);
365
- const urlSegmentGroup = urlTree.root.children[PRIMARY_OUTLET];
366
- if (!urlSegmentGroup) {
367
- return [url];
368
- }
369
- const urlSegments = urlSegmentGroup.segments;
370
- return urlSegments.reduce(function (acc, item) {
371
- acc.push(item.path, item.parameters);
372
- return acc;
373
- }, []);
374
- }
375
- shouldNavigate(element) {
376
- let currentElement = element.parentElement;
377
- while (currentElement && !this.isChild(currentElement.classList)) {
378
- currentElement = currentElement.parentElement;
379
- }
380
- return !!currentElement;
381
- }
382
- isChild(list) {
383
- return Array.from(list).some((className) => this.containersSkipNavigation.includes(className));
384
- }
385
- }
386
- PreviewComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: PreviewComponent, deps: [{ token: i1.ContentApiService }, { token: i2.UserPreferencesService }, { token: i3.ActivatedRoute }, { token: i4.NodesApiService }, { token: i5.Actions }, { token: i6.Location }, { token: i1.AppHookService }], target: i0.ɵɵFactoryTarget.Component });
387
- PreviewComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.3", 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: i6.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i6.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i6.AsyncPipe, name: "async" }, { kind: "ngmodule", type: ViewerModule }, { kind: "component", type: i2.ViewerSidebarComponent, selector: "adf-viewer-sidebar" }, { kind: "component", type: i2.ViewerOpenWithComponent, selector: "adf-viewer-open-with" }, { kind: "component", type: i2.ViewerToolbarActionsComponent, selector: "adf-viewer-toolbar-actions" }, { kind: "ngmodule", type: AlfrescoViewerModule }, { kind: "component", type: i4.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 });
388
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: PreviewComponent, decorators: [{
389
- type: Component,
390
- 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"] }]
391
- }], ctorParameters: function () { return [{ type: i1.ContentApiService }, { type: i2.UserPreferencesService }, { type: i3.ActivatedRoute }, { type: i4.NodesApiService }, { type: i5.Actions }, { type: i6.Location }, { type: i1.AppHookService }]; }, propDecorators: { handleKeyboardEvent: [{
392
- type: HostListener,
393
- args: ['document:keydown', ['$event']]
394
- }] } });
395
-
396
- /*!
397
- * Copyright © 2005-2023 Hyland Software, Inc. and its affiliates. All rights reserved.
398
- *
399
- * Alfresco Example Content Application
400
- *
401
- * This file is part of the Alfresco Example Content Application.
402
- * If the software was purchased under a paid Alfresco license, the terms of
403
- * the paid license agreement will prevail. Otherwise, the software is
404
- * provided under the following open source license terms:
405
- *
406
- * The Alfresco Example Content Application is free software: you can redistribute it and/or modify
407
- * it under the terms of the GNU Lesser General Public License as published by
408
- * the Free Software Foundation, either version 3 of the License, or
409
- * (at your option) any later version.
410
- *
411
- * The Alfresco Example Content Application is distributed in the hope that it will be useful,
412
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
413
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
414
- * GNU Lesser General Public License for more details.
415
- *
416
- * You should have received a copy of the GNU Lesser General Public License
417
- * from Hyland Software. If not, see <http://www.gnu.org/licenses/>.
418
- */
419
- class PreviewModule {
420
- }
421
- PreviewModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: PreviewModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
422
- PreviewModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.1.3", ngImport: i0, type: PreviewModule, imports: [PreviewComponent], exports: [PreviewComponent] });
423
- PreviewModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: PreviewModule, imports: [PreviewComponent] });
424
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: PreviewModule, decorators: [{
425
- type: NgModule,
426
- args: [{
427
- imports: [PreviewComponent],
428
- exports: [PreviewComponent]
429
- }]
430
- }] });
431
-
432
- /*!
433
- * Copyright © 2005-2023 Hyland Software, Inc. and its affiliates. All rights reserved.
434
- *
435
- * Alfresco Example Content Application
436
- *
437
- * This file is part of the Alfresco Example Content Application.
438
- * If the software was purchased under a paid Alfresco license, the terms of
439
- * the paid license agreement will prevail. Otherwise, the software is
440
- * provided under the following open source license terms:
441
- *
442
- * The Alfresco Example Content Application is free software: you can redistribute it and/or modify
443
- * it under the terms of the GNU Lesser General Public License as published by
444
- * the Free Software Foundation, either version 3 of the License, or
445
- * (at your option) any later version.
446
- *
447
- * The Alfresco Example Content Application is distributed in the hope that it will be useful,
448
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
449
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
450
- * GNU Lesser General Public License for more details.
451
- *
452
- * You should have received a copy of the GNU Lesser General Public License
453
- * from Hyland Software. If not, see <http://www.gnu.org/licenses/>.
454
- */
455
-
456
- /**
457
- * Generated bundle index. Do not edit.
458
- */
459
-
460
- export { PreviewComponent, PreviewModule };
461
- //# sourceMappingURL=alfresco-aca-content-preview.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"alfresco-aca-content-preview.mjs","sources":["../../../../projects/aca-content/preview/src/lib/components/preview.component.ts","../../../../projects/aca-content/preview/src/lib/components/preview.component.html","../../../../projects/aca-content/preview/src/lib/preview.module.ts","../../../../projects/aca-content/preview/src/public-api.ts","../../../../projects/aca-content/preview/src/alfresco-aca-content-preview.ts"],"sourcesContent":["/*!\n * Copyright © 2005-2023 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 { ActivatedRoute, UrlTree, UrlSegmentGroup, UrlSegment, PRIMARY_OUTLET } from '@angular/router';\nimport { debounceTime, map, takeUntil } from 'rxjs/operators';\nimport { UserPreferencesService, ObjectUtils, 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, ViewerExtensionRef } from '@alfresco/adf-extensions';\nimport { SearchRequest } from '@alfresco/js-api';\nimport { from } from 'rxjs';\nimport { Actions, ofType } from '@ngrx/effects';\nimport { AlfrescoViewerModule, NodesApiService } from '@alfresco/adf-content-services';\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 previewLocation: string = null;\n routesSkipNavigation = ['shared', 'recent-files', 'favorites'];\n navigateSource: string = null;\n navigationSources = ['favorites', 'libraries', 'personal-files', 'recent-files', 'shared'];\n folderId: string = null;\n nodeId: string = null;\n previousNodeId: string;\n nextNodeId: string;\n navigateMultiple = false;\n openWith: Array<ContentActionRef> = [];\n contentExtensions: Array<ViewerExtensionRef> = [];\n showRightSide = false;\n navigateBackAsClose = false;\n simplestMode = false;\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 private containersSkipNavigation = ['adf-viewer__sidebar', 'cdk-overlay-container', 'adf-image-viewer'];\n\n constructor(\n private contentApi: ContentApiService,\n private preferences: UserPreferencesService,\n private route: ActivatedRoute,\n private nodesApiService: NodesApiService,\n private actions$: Actions,\n private location: Location,\n private appHookService: AppHookService\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 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 const nearest = await this.getNearestNodes(this.node.id, this.node.parentId);\n\n this.previousNodeId = nearest.left;\n this.nextNodeId = nearest.right;\n this.nodeId = this.node.id;\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 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 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 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 /**\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 */\n async getNearestNodes(nodeId: string, folderId: string): Promise<{ left: string; right: string }> {\n const empty = {\n left: null,\n right: null\n };\n\n if (nodeId && folderId) {\n try {\n const ids = await this.getFileIds(this.navigateSource, 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 } else {\n return empty;\n }\n } catch {\n return empty;\n }\n } else {\n return empty;\n }\n }\n\n /**\n * Retrieves a list of node identifiers for the folder and data source.\n *\n * @param source Data source name. Allowed values are: personal-files, libraries, favorites, shared, recent-files.\n * @param folderId Containing folder node identifier for 'personal-files' and 'libraries' sources.\n */\n async getFileIds(source: string, folderId?: string): Promise<string[]> {\n if ((source === 'personal-files' || source === 'libraries') && folderId) {\n const sortKey = this.preferences.get('personal-files.sorting.key') || 'modifiedAt';\n const sortDirection = this.preferences.get('personal-files.sorting.direction') || 'desc';\n const nodes = await this.contentApi\n .getNodeChildren(folderId, {\n // orderBy: `${sortKey} ${sortDirection}`,\n fields: ['id', this.getRootField(sortKey)],\n where: '(isFile=true)'\n })\n .toPromise();\n\n const entries = nodes.list.entries.map((obj) => obj.entry);\n this.sort(entries, sortKey, sortDirection);\n\n return entries.map((obj) => obj.id);\n }\n\n if (source === 'favorites') {\n const nodes = await this.contentApi\n .getFavorites('-me-', {\n where: '(EXISTS(target/file))',\n fields: ['target']\n })\n .toPromise();\n\n const sortKey = this.preferences.get('favorites.sorting.key') || 'modifiedAt';\n const sortDirection = this.preferences.get('favorites.sorting.direction') || 'desc';\n const files = nodes.list.entries.map((obj) => obj.entry.target.file);\n this.sort(files, sortKey, sortDirection);\n\n return files.map((f) => f.id);\n }\n\n if (source === 'shared') {\n const sortingKey = this.preferences.get('shared.sorting.key') || 'modifiedAt';\n const sortingDirection = this.preferences.get('shared.sorting.direction') || 'desc';\n\n const nodes = await this.contentApi\n .findSharedLinks({\n fields: ['nodeId', this.getRootField(sortingKey)]\n })\n .toPromise();\n\n const entries = nodes.list.entries.map((obj) => obj.entry);\n this.sort(entries, sortingKey, sortingDirection);\n\n return entries.map((obj) => obj.nodeId);\n }\n\n if (source === 'recent-files') {\n const person = await this.contentApi.getPerson('-me-').toPromise();\n const username = person.entry.id;\n const sortingKey = this.preferences.get('recent-files.sorting.key') || 'modifiedAt';\n const sortingDirection = this.preferences.get('recent-files.sorting.direction') || 'desc';\n\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: ['id', this.getRootField(sortingKey)],\n include: ['path', 'properties', 'allowableOperations'],\n sort: [\n {\n type: 'FIELD',\n field: 'cm:modified',\n ascending: false\n }\n ]\n };\n const nodes = await this.contentApi.search(query).toPromise();\n\n const entries = nodes.list.entries.map((obj) => obj.entry);\n this.sort(entries, sortingKey, sortingDirection);\n\n return entries.map((obj) => obj.id);\n }\n\n return [];\n }\n\n private sort(items: any[], key: string, direction: string) {\n const options: Intl.CollatorOptions = {};\n\n if (key.includes('sizeInBytes') || key === 'name') {\n options.numeric = true;\n }\n\n items.sort((a: any, b: any) => {\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 /**\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) {\n if (path) {\n return path.split('.')[0];\n }\n return path;\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-2023 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 { PreviewComponent } from './components/preview.component';\n\n@NgModule({\n imports: [PreviewComponent],\n exports: [PreviewComponent]\n})\nexport class PreviewModule {}\n","/*!\n * Copyright © 2005-2023 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-preview\n */\n\nexport * from './lib/components/preview.component';\nexport * from './lib/preview.module';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -1,27 +0,0 @@
1
- /*!
2
- * Copyright © 2005-2023 Hyland Software, Inc. and its affiliates. All rights reserved.
3
- *
4
- * Alfresco Example Content Application
5
- *
6
- * This file is part of the Alfresco Example Content Application.
7
- * If the software was purchased under a paid Alfresco license, the terms of
8
- * the paid license agreement will prevail. Otherwise, the software is
9
- * provided under the following open source license terms:
10
- *
11
- * The Alfresco Example Content Application is free software: you can redistribute it and/or modify
12
- * it under the terms of the GNU Lesser General Public License as published by
13
- * the Free Software Foundation, either version 3 of the License, or
14
- * (at your option) any later version.
15
- *
16
- * The Alfresco Example Content Application is distributed in the hope that it will be useful,
17
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
18
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19
- * GNU Lesser General Public License for more details.
20
- *
21
- * You should have received a copy of the GNU Lesser General Public License
22
- * from Hyland Software. If not, see <http://www.gnu.org/licenses/>.
23
- */
24
- export interface MimeType {
25
- label: string;
26
- value: string;
27
- }
@@ -1,5 +0,0 @@
1
- /**
2
- * Generated bundle index. Do not edit.
3
- */
4
- /// <amd-module name="@alfresco/aca-content/preview" />
5
- export * from './public-api';
@@ -1,7 +0,0 @@
1
- import * as i0 from "@angular/core";
2
- import * as i1 from "./components/preview.component";
3
- export declare class PreviewModule {
4
- static ɵfac: i0.ɵɵFactoryDeclaration<PreviewModule, never>;
5
- static ɵmod: i0.ɵɵNgModuleDeclaration<PreviewModule, never, [typeof i1.PreviewComponent], [typeof i1.PreviewComponent]>;
6
- static ɵinj: i0.ɵɵInjectorDeclaration<PreviewModule>;
7
- }
@@ -1,25 +0,0 @@
1
- /*!
2
- * Copyright © 2005-2023 Hyland Software, Inc. and its affiliates. All rights reserved.
3
- *
4
- * Alfresco Example Content Application
5
- *
6
- * This file is part of the Alfresco Example Content Application.
7
- * If the software was purchased under a paid Alfresco license, the terms of
8
- * the paid license agreement will prevail. Otherwise, the software is
9
- * provided under the following open source license terms:
10
- *
11
- * The Alfresco Example Content Application is free software: you can redistribute it and/or modify
12
- * it under the terms of the GNU Lesser General Public License as published by
13
- * the Free Software Foundation, either version 3 of the License, or
14
- * (at your option) any later version.
15
- *
16
- * The Alfresco Example Content Application is distributed in the hope that it will be useful,
17
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
18
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19
- * GNU Lesser General Public License for more details.
20
- *
21
- * You should have received a copy of the GNU Lesser General Public License
22
- * from Hyland Software. If not, see <http://www.gnu.org/licenses/>.
23
- */
24
- export * from './lib/components/preview.component';
25
- export * from './lib/preview.module';