@alfresco/aca-content 5.1.1 → 5.2.0-11950694546

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 (408) 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 +276 -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 +356 -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 +233 -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 +188 -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 +164 -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 +122 -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 +79 -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 +76 -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 +57 -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 +155 -0
  56. package/esm2022/lib/components/dl-custom-components/datatable-cell-badges/datatable-cell-badges.component.mjs +70 -0
  57. package/esm2022/lib/components/dl-custom-components/name-column/name-column.component.mjs +102 -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 +337 -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 +210 -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 +141 -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 +132 -0
  71. package/esm2022/lib/components/knowledge-retrieval/search-ai/search-ai-input/search-ai-input.component.mjs +176 -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 +207 -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 +294 -0
  78. package/esm2022/lib/components/search/search-input-control/search-input-control.component.mjs +88 -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 +278 -0
  83. package/esm2022/lib/components/search/search-results-row/search-results-row.component.mjs +145 -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 +89 -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 +86 -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 +60 -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 +103 -0
  103. package/esm2022/lib/components/sidenav/directives/menu-panel.directive.mjs +99 -0
  104. package/esm2022/lib/components/sidenav/sidenav.component.mjs +97 -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 +108 -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 +50 -0
  115. package/esm2022/lib/components/view-profile/view-profile.component.mjs +195 -0
  116. package/esm2022/lib/dialogs/node-template/create-from-template.dialog.mjs +127 -0
  117. package/esm2022/lib/directives/document-list.directive.mjs +203 -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 +244 -0
  144. package/esm2022/viewer/lib/components/viewer/viewer.component.mjs +260 -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 +376 -357
  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 +110 -83
  154. package/fesm2022/alfresco-aca-content-viewer.mjs.map +1 -0
  155. package/fesm2022/alfresco-aca-content.mjs +10996 -0
  156. package/fesm2022/alfresco-aca-content.mjs.map +1 -0
  157. package/folder-rules/manage-rules/manage-rules.smart-component.d.ts +3 -5
  158. package/folder-rules/rule-details/actions/rule-action-list.ui-component.d.ts +1 -1
  159. package/folder-rules/rule-details/actions/rule-action.ui-component.d.ts +5 -6
  160. package/folder-rules/rule-details/conditions/rule-composite-condition.ui-component.d.ts +1 -1
  161. package/folder-rules/rule-details/conditions/rule-simple-condition.ui-component.d.ts +4 -5
  162. package/folder-rules/rule-details/options/rule-options.ui-component.d.ts +1 -1
  163. package/folder-rules/rule-details/rule-details.ui-component.d.ts +5 -6
  164. package/folder-rules/rule-list/rule-list/rule-list.ui-component.d.ts +4 -5
  165. package/folder-rules/rule-list/rule-list-grouping/rule-list-grouping.ui-component.d.ts +1 -1
  166. package/folder-rules/rule-list/rule-list-item/rule-list-item.ui-component.d.ts +1 -1
  167. package/folder-rules/rule-set-picker/rule-set-picker.smart-component.d.ts +3 -5
  168. package/folder-rules/services/folder-rule-sets.service.d.ts +4 -4
  169. package/folder-rules/services/folder-rules.service.d.ts +1 -1
  170. package/lib/components/bulk-actions-dropdown/bulk-actions-dropdown.component.d.ts +7 -13
  171. package/lib/components/common/location-link/location-link.component.d.ts +1 -1
  172. package/lib/components/common/toggle-shared/toggle-shared.component.d.ts +5 -6
  173. package/lib/components/context-menu/base-context-menu.directive.d.ts +20 -0
  174. package/lib/components/context-menu/context-menu-item.component.d.ts +1 -1
  175. package/lib/components/context-menu/context-menu-outside-event.directive.d.ts +4 -5
  176. package/lib/components/context-menu/context-menu.component.d.ts +4 -15
  177. package/lib/components/context-menu/context-menu.service.d.ts +4 -1
  178. package/lib/components/{knowledge-retrieval/search-ai/search-ai-utils.d.ts → context-menu/custom-context-menu-actions.token.d.ts} +2 -2
  179. package/lib/components/context-menu/custom-context-menu.component.d.ts +36 -0
  180. package/lib/components/details/details.component.d.ts +1 -2
  181. package/lib/components/dl-custom-components/datatable-cell-badges/datatable-cell-badges.component.d.ts +4 -5
  182. package/lib/components/dl-custom-components/name-column/name-column.component.d.ts +3 -4
  183. package/lib/components/dl-custom-components/tags-column/tags-column.component.d.ts +1 -1
  184. package/lib/components/dl-custom-components/thumbnail-column/thumbnail-column.component.d.ts +1 -1
  185. package/lib/components/files/files.component.d.ts +1 -1
  186. package/lib/components/info-drawer/comments-tab/comments-tab.component.d.ts +1 -1
  187. package/lib/components/info-drawer/library-metadata-tab/library-metadata-form.component.d.ts +5 -7
  188. package/lib/components/info-drawer/library-metadata-tab/library-metadata-tab.component.d.ts +1 -1
  189. package/lib/components/info-drawer/metadata-tab/metadata-tab.component.d.ts +7 -8
  190. package/lib/components/info-drawer/versions-tab/versions-tab.component.d.ts +1 -1
  191. package/lib/components/knowledge-retrieval/search-ai/agents-button/agents-button.component.d.ts +4 -6
  192. package/lib/components/knowledge-retrieval/search-ai/search-ai-input/search-ai-input.component.d.ts +6 -8
  193. package/lib/components/knowledge-retrieval/search-ai/search-ai-input-container/search-ai-input-container.component.d.ts +8 -8
  194. package/lib/components/knowledge-retrieval/search-ai/search-ai-results/search-ai-results.component.d.ts +4 -6
  195. package/lib/components/search/search-input/search-input.component.d.ts +13 -16
  196. package/lib/components/search/search-input-control/search-input-control.component.d.ts +3 -6
  197. package/lib/components/search/search-libraries-results/search-libraries-results.component.d.ts +0 -1
  198. package/lib/components/search/search-results/search-results.component.d.ts +14 -9
  199. package/lib/components/search/search-results-row/search-results-row.component.d.ts +4 -5
  200. package/lib/components/search/search-save/dialog/delete/saved-search-delete-dialog.component.d.ts +16 -0
  201. package/lib/components/search/search-save/dialog/edit/saved-search-edit-dialog.component.d.ts +22 -0
  202. package/lib/components/search/search-save/dialog/save-search-dialog.component.d.ts +23 -0
  203. package/lib/components/search/search-save/dialog/saved-search-form.interface.d.ts +28 -0
  204. package/lib/components/search/search-save/dialog/unique-search-name-validator.d.ts +34 -0
  205. package/lib/components/search/search-save/directive/save-search.directive.d.ts +13 -0
  206. package/lib/components/search/search-save/list/saved-searches-list-ui.service.d.ts +9 -0
  207. package/lib/components/search/search-save/list/smart-list/saved-searches-list-schema.d.ts +33 -0
  208. package/lib/components/search/search-save/list/smart-list/saved-searches-smart-list.component.d.ts +13 -0
  209. package/lib/components/search/search-save/list/ui-list/saved-searches-list.ui-component.d.ts +66 -0
  210. package/lib/components/search/search-save/sidenav/save-search-sidenav.component.d.ts +42 -0
  211. package/lib/components/shared-link-view/shared-link-view.component.d.ts +4 -5
  212. package/lib/components/sidenav/components/button-menu.component.d.ts +1 -1
  213. package/lib/components/sidenav/components/expand-menu.component.d.ts +3 -2
  214. package/lib/components/sidenav/components/sidenav-header.component.d.ts +3 -4
  215. package/lib/components/sidenav/directives/action.directive.d.ts +28 -1
  216. package/lib/components/sidenav/directives/active-link.directive.d.ts +3 -3
  217. package/lib/components/sidenav/directives/expansion-panel.directive.d.ts +4 -5
  218. package/lib/components/sidenav/directives/menu-panel.directive.d.ts +4 -5
  219. package/lib/components/sidenav/sidenav.component.d.ts +7 -7
  220. package/lib/components/sidenav/user-menu/user-menu.component.d.ts +1 -1
  221. package/lib/components/toolbar/toggle-favorite/toggle-favorite.component.d.ts +1 -1
  222. package/lib/components/toolbar/toggle-favorite-library/toggle-favorite-library.component.d.ts +3 -4
  223. package/lib/components/toolbar/view-node/view-node.component.d.ts +1 -1
  224. package/lib/components/upload-files-dialog/upload-files-dialog.component.d.ts +1 -27
  225. package/lib/components/view-profile/view-profile.component.d.ts +2 -4
  226. package/lib/directives/document-list.directive.d.ts +3 -5
  227. package/lib/services/search-ai-navigation.service.d.ts +4 -2
  228. package/lib/store/effects/app.effects.d.ts +2 -3
  229. package/lib/store/effects/contextmenu.effects.d.ts +3 -3
  230. package/lib/store/effects/download.effects.d.ts +0 -30
  231. package/lib/store/effects/favorite.effects.d.ts +0 -28
  232. package/lib/store/effects/library.effects.d.ts +2 -7
  233. package/lib/store/effects/node.effects.d.ts +7 -38
  234. package/lib/store/effects/search-ai.effects.d.ts +0 -4
  235. package/lib/store/effects/search.effects.d.ts +3 -30
  236. package/lib/store/effects/template.effects.d.ts +5 -7
  237. package/lib/store/effects/upload.effects.d.ts +8 -32
  238. package/lib/store/effects/viewer.effects.d.ts +0 -29
  239. package/lib/utils/aca-search-utils.d.ts +67 -0
  240. package/ms-office/effects/aos.effects.d.ts +0 -3
  241. package/package.json +21 -35
  242. package/public-api.d.ts +1 -0
  243. package/ui/overrides/adf-pagination.theme.scss +0 -4
  244. package/ui/theme.scss +9 -4
  245. package/viewer/lib/components/preview/preview.component.d.ts +3 -4
  246. package/viewer/lib/components/viewer/viewer.component.d.ts +2 -2
  247. package/assets/images/agent-avatar-blue.png +0 -0
  248. package/assets/images/agent-avatar-gold.png +0 -0
  249. package/assets/images/agent-avatar-pink.png +0 -0
  250. package/esm2020/about/about.component.mjs +0 -71
  251. package/esm2020/about/aca-about.module.mjs +0 -46
  252. package/esm2020/folder-rules/folder-rules.module.mjs +0 -115
  253. package/esm2020/folder-rules/manage-rules/manage-rules.smart-component.mjs +0 -261
  254. package/esm2020/folder-rules/rule-details/actions/rule-action-list.ui-component.mjs +0 -117
  255. package/esm2020/folder-rules/rule-details/actions/rule-action.ui-component.mjs +0 -351
  256. package/esm2020/folder-rules/rule-details/conditions/rule-composite-condition.ui-component.mjs +0 -172
  257. package/esm2020/folder-rules/rule-details/conditions/rule-simple-condition.ui-component.mjs +0 -234
  258. package/esm2020/folder-rules/rule-details/edit-rule-dialog.ui-component.mjs +0 -74
  259. package/esm2020/folder-rules/rule-details/options/rule-options.ui-component.mjs +0 -129
  260. package/esm2020/folder-rules/rule-details/rule-details.ui-component.mjs +0 -185
  261. package/esm2020/folder-rules/rule-details/triggers/rule-triggers.ui-component.mjs +0 -88
  262. package/esm2020/folder-rules/rule-details/validators/rule-actions.validator.mjs +0 -37
  263. package/esm2020/folder-rules/rule-list/rule-list/rule-list.ui-component.mjs +0 -164
  264. package/esm2020/folder-rules/rule-list/rule-list-grouping/rule-list-grouping.ui-component.mjs +0 -81
  265. package/esm2020/folder-rules/rule-list/rule-list-item/rule-list-item.ui-component.mjs +0 -58
  266. package/esm2020/folder-rules/rule-set-picker/rule-set-picker.smart-component.mjs +0 -120
  267. package/esm2020/folder-rules/services/actions.service.mjs +0 -114
  268. package/esm2020/folder-rules/services/folder-rule-sets.service.mjs +0 -225
  269. package/esm2020/folder-rules/services/folder-rules.service.mjs +0 -193
  270. package/esm2020/lib/aca-content.module.mjs +0 -299
  271. package/esm2020/lib/aca-content.routes.mjs +0 -359
  272. package/esm2020/lib/components/bulk-actions-dropdown/bulk-actions-dropdown.component.mjs +0 -83
  273. package/esm2020/lib/components/common/location-link/location-link.component.mjs +0 -180
  274. package/esm2020/lib/components/common/toggle-shared/toggle-shared.component.mjs +0 -76
  275. package/esm2020/lib/components/common/user-info/user-info.component.mjs +0 -47
  276. package/esm2020/lib/components/context-menu/context-menu-item.component.mjs +0 -62
  277. package/esm2020/lib/components/context-menu/context-menu-outside-event.directive.mjs +0 -63
  278. package/esm2020/lib/components/context-menu/context-menu-overlay.mjs +0 -32
  279. package/esm2020/lib/components/context-menu/context-menu.component.mjs +0 -114
  280. package/esm2020/lib/components/context-menu/context-menu.service.mjs +0 -99
  281. package/esm2020/lib/components/details/details.component.mjs +0 -147
  282. package/esm2020/lib/components/dl-custom-components/datatable-cell-badges/datatable-cell-badges.component.mjs +0 -71
  283. package/esm2020/lib/components/dl-custom-components/name-column/name-column.component.mjs +0 -101
  284. package/esm2020/lib/components/dl-custom-components/tags-column/tags-column.component.mjs +0 -48
  285. package/esm2020/lib/components/dl-custom-components/thumbnail-column/thumbnail-column.component.mjs +0 -75
  286. package/esm2020/lib/components/favorite-libraries/favorite-libraries.component.mjs +0 -120
  287. package/esm2020/lib/components/favorites/favorites.component.mjs +0 -103
  288. package/esm2020/lib/components/files/files.component.mjs +0 -330
  289. package/esm2020/lib/components/home/home.component.mjs +0 -47
  290. package/esm2020/lib/components/info-drawer/comments-tab/comments-tab.component.mjs +0 -59
  291. package/esm2020/lib/components/info-drawer/info.drawer.module.mjs +0 -73
  292. package/esm2020/lib/components/info-drawer/library-metadata-tab/library-metadata-form.component.mjs +0 -206
  293. package/esm2020/lib/components/info-drawer/library-metadata-tab/library-metadata-tab.component.mjs +0 -45
  294. package/esm2020/lib/components/info-drawer/metadata-tab/metadata-tab.component.mjs +0 -134
  295. package/esm2020/lib/components/info-drawer/versions-tab/versions-tab.component.mjs +0 -95
  296. package/esm2020/lib/components/knowledge-retrieval/search-ai/agents-button/agents-button.component.mjs +0 -129
  297. package/esm2020/lib/components/knowledge-retrieval/search-ai/search-ai-input/search-ai-input.component.mjs +0 -171
  298. package/esm2020/lib/components/knowledge-retrieval/search-ai/search-ai-input-container/search-ai-input-container.component.mjs +0 -82
  299. package/esm2020/lib/components/knowledge-retrieval/search-ai/search-ai-results/search-ai-results.component.mjs +0 -199
  300. package/esm2020/lib/components/knowledge-retrieval/search-ai/search-ai-utils.mjs +0 -33
  301. package/esm2020/lib/components/libraries/libraries.component.mjs +0 -79
  302. package/esm2020/lib/components/recent-files/recent-files.component.mjs +0 -82
  303. package/esm2020/lib/components/search/search-action-menu/search-action-menu.component.mjs +0 -64
  304. package/esm2020/lib/components/search/search-input/search-input.component.mjs +0 -301
  305. package/esm2020/lib/components/search/search-input-control/search-input-control.component.mjs +0 -94
  306. package/esm2020/lib/components/search/search-libraries-results/search-libraries-query-builder.service.mjs +0 -90
  307. package/esm2020/lib/components/search/search-libraries-results/search-libraries-results.component.mjs +0 -153
  308. package/esm2020/lib/components/search/search-navigation.service.mjs +0 -60
  309. package/esm2020/lib/components/search/search-results/search-results.component.mjs +0 -255
  310. package/esm2020/lib/components/search/search-results-row/search-results-row.component.mjs +0 -142
  311. package/esm2020/lib/components/shared-files/shared-files.component.mjs +0 -83
  312. package/esm2020/lib/components/shared-link-view/shared-link-view.component.mjs +0 -82
  313. package/esm2020/lib/components/sidenav/components/button-menu.component.mjs +0 -62
  314. package/esm2020/lib/components/sidenav/components/expand-menu.component.mjs +0 -67
  315. package/esm2020/lib/components/sidenav/components/sidenav-header.component.mjs +0 -66
  316. package/esm2020/lib/components/sidenav/directives/action.directive.mjs +0 -75
  317. package/esm2020/lib/components/sidenav/directives/active-link.directive.mjs +0 -93
  318. package/esm2020/lib/components/sidenav/directives/expansion-panel.directive.mjs +0 -102
  319. package/esm2020/lib/components/sidenav/directives/menu-panel.directive.mjs +0 -99
  320. package/esm2020/lib/components/sidenav/sidenav.component.mjs +0 -89
  321. package/esm2020/lib/components/sidenav/user-menu/user-menu.component.mjs +0 -56
  322. package/esm2020/lib/components/toolbar/toggle-edit-offline/toggle-edit-offline.component.mjs +0 -137
  323. package/esm2020/lib/components/toolbar/toggle-favorite/toggle-favorite.component.mjs +0 -86
  324. package/esm2020/lib/components/toolbar/toggle-favorite-library/toggle-favorite-library.component.mjs +0 -107
  325. package/esm2020/lib/components/toolbar/toggle-info-drawer/toggle-info-drawer.component.mjs +0 -74
  326. package/esm2020/lib/components/toolbar/toggle-join-library/toggle-join-library-button.component.mjs +0 -105
  327. package/esm2020/lib/components/toolbar/view-node/view-node.component.mjs +0 -122
  328. package/esm2020/lib/components/trashcan/trashcan.component.mjs +0 -68
  329. package/esm2020/lib/components/upload-files-dialog/upload-files-dialog.component.mjs +0 -52
  330. package/esm2020/lib/components/view-profile/view-profile.component.mjs +0 -193
  331. package/esm2020/lib/dialogs/node-template/create-from-template.dialog.mjs +0 -120
  332. package/esm2020/lib/directives/document-list.directive.mjs +0 -199
  333. package/esm2020/lib/extensions/core.extensions.module.mjs +0 -55
  334. package/esm2020/lib/services/content-management.service.mjs +0 -873
  335. package/esm2020/lib/services/content-url.service.mjs +0 -71
  336. package/esm2020/lib/services/modal-ai.service.mjs +0 -66
  337. package/esm2020/lib/services/node-actions.service.mjs +0 -600
  338. package/esm2020/lib/services/node-template.service.mjs +0 -144
  339. package/esm2020/lib/services/search-ai-navigation.service.mjs +0 -52
  340. package/esm2020/lib/store/app-store.module.mjs +0 -102
  341. package/esm2020/lib/store/effects/app.effects.mjs +0 -49
  342. package/esm2020/lib/store/effects/contextmenu.effects.mjs +0 -55
  343. package/esm2020/lib/store/effects/download.effects.mjs +0 -159
  344. package/esm2020/lib/store/effects/favorite.effects.mjs +0 -76
  345. package/esm2020/lib/store/effects/library.effects.mjs +0 -113
  346. package/esm2020/lib/store/effects/node.effects.mjs +0 -325
  347. package/esm2020/lib/store/effects/search-ai.effects.mjs +0 -57
  348. package/esm2020/lib/store/effects/search.effects.mjs +0 -60
  349. package/esm2020/lib/store/effects/template.effects.mjs +0 -121
  350. package/esm2020/lib/store/effects/upload.effects.mjs +0 -166
  351. package/esm2020/lib/store/effects/viewer.effects.mjs +0 -175
  352. package/esm2020/ms-office/actions/aos.actions.mjs +0 -31
  353. package/esm2020/ms-office/aos-extension.module.mjs +0 -52
  354. package/esm2020/ms-office/aos-extension.service.mjs +0 -132
  355. package/esm2020/ms-office/effects/aos.effects.mjs +0 -48
  356. package/esm2020/public-api.mjs +0 -32
  357. package/esm2020/viewer/lib/components/preview/preview.component.mjs +0 -236
  358. package/esm2020/viewer/lib/components/viewer/viewer.component.mjs +0 -240
  359. package/esm2020/viewer/lib/services/viewer.service.mjs +0 -226
  360. package/esm2020/viewer/lib/viewer.module.mjs +0 -52
  361. package/fesm2015/alfresco-aca-content-about.mjs.map +0 -1
  362. package/fesm2015/alfresco-aca-content-folder-rules.mjs +0 -2662
  363. package/fesm2015/alfresco-aca-content-folder-rules.mjs.map +0 -1
  364. package/fesm2015/alfresco-aca-content-ms-office.mjs +0 -256
  365. package/fesm2015/alfresco-aca-content-ms-office.mjs.map +0 -1
  366. package/fesm2015/alfresco-aca-content-viewer.mjs +0 -700
  367. package/fesm2015/alfresco-aca-content-viewer.mjs.map +0 -1
  368. package/fesm2015/alfresco-aca-content.mjs +0 -9835
  369. package/fesm2015/alfresco-aca-content.mjs.map +0 -1
  370. package/fesm2020/alfresco-aca-content-about.mjs +0 -193
  371. package/fesm2020/alfresco-aca-content-about.mjs.map +0 -1
  372. package/fesm2020/alfresco-aca-content-folder-rules.mjs.map +0 -1
  373. package/fesm2020/alfresco-aca-content-ms-office.mjs.map +0 -1
  374. package/fesm2020/alfresco-aca-content-viewer.mjs.map +0 -1
  375. package/fesm2020/alfresco-aca-content.mjs +0 -9934
  376. package/fesm2020/alfresco-aca-content.mjs.map +0 -1
  377. /package/{esm2020 → esm2022}/about/alfresco-aca-content-about.mjs +0 -0
  378. /package/{esm2020 → esm2022}/about/dev-mode.tokens.mjs +0 -0
  379. /package/{esm2020 → esm2022}/about/package-json.token.mjs +0 -0
  380. /package/{esm2020 → esm2022}/about/public-api.mjs +0 -0
  381. /package/{esm2020 → esm2022}/alfresco-aca-content.mjs +0 -0
  382. /package/{esm2020 → esm2022}/folder-rules/alfresco-aca-content-folder-rules.mjs +0 -0
  383. /package/{esm2020 → esm2022}/folder-rules/folder-rules.rules.mjs +0 -0
  384. /package/{esm2020 → esm2022}/folder-rules/model/action-parameter-constraint.model.mjs +0 -0
  385. /package/{esm2020 → esm2022}/folder-rules/model/rule-action.model.mjs +0 -0
  386. /package/{esm2020 → esm2022}/folder-rules/model/rule-composite-condition.model.mjs +0 -0
  387. /package/{esm2020 → esm2022}/folder-rules/model/rule-grouping-item.model.mjs +0 -0
  388. /package/{esm2020 → esm2022}/folder-rules/model/rule-set.model.mjs +0 -0
  389. /package/{esm2020 → esm2022}/folder-rules/model/rule-simple-condition.model.mjs +0 -0
  390. /package/{esm2020 → esm2022}/folder-rules/model/rule.model.mjs +0 -0
  391. /package/{esm2020 → esm2022}/folder-rules/public-api.mjs +0 -0
  392. /package/{esm2020 → esm2022}/folder-rules/rule-details/conditions/rule-condition-comparators.mjs +0 -0
  393. /package/{esm2020 → esm2022}/folder-rules/rule-details/conditions/rule-condition-fields.mjs +0 -0
  394. /package/{esm2020 → esm2022}/folder-rules/rule-details/validators/rule-composite-condition.validator.mjs +0 -0
  395. /package/{esm2020 → esm2022}/lib/components/common/index.mjs +0 -0
  396. /package/{esm2020 → esm2022}/lib/components/context-menu/direction.token.mjs +0 -0
  397. /package/{esm2020 → esm2022}/lib/components/context-menu/interfaces.mjs +0 -0
  398. /package/{esm2020 → esm2022}/lib/components/search/index.mjs +0 -0
  399. /package/{esm2020 → esm2022}/lib/components/sidenav/index.mjs +0 -0
  400. /package/{esm2020 → esm2022}/lib/components/toolbar/index.mjs +0 -0
  401. /package/{esm2020 → esm2022}/lib/components/view-profile/view-profile.guard.mjs +0 -0
  402. /package/{esm2020 → esm2022}/lib/store/effects.mjs +0 -0
  403. /package/{esm2020 → esm2022}/lib/store/initial-state.mjs +0 -0
  404. /package/{esm2020 → esm2022}/lib/store/reducers/app.reducer.mjs +0 -0
  405. /package/{esm2020 → esm2022}/ms-office/alfresco-aca-content-ms-office.mjs +0 -0
  406. /package/{esm2020 → esm2022}/ms-office/public-api.mjs +0 -0
  407. /package/{esm2020 → esm2022}/viewer/alfresco-aca-content-viewer.mjs +0 -0
  408. /package/{esm2020 → esm2022}/viewer/public-api.mjs +0 -0
@@ -0,0 +1,77 @@
1
+ /*!
2
+ * Copyright © 2005-2024 Hyland Software, Inc. and its affiliates. All rights reserved.
3
+ *
4
+ * Alfresco Example Content Application
5
+ *
6
+ * This file is part of the Alfresco Example Content Application.
7
+ * If the software was purchased under a paid Alfresco license, the terms of
8
+ * the paid license agreement will prevail. Otherwise, the software is
9
+ * provided under the following open source license terms:
10
+ *
11
+ * The Alfresco Example Content Application is free software: you can redistribute it and/or modify
12
+ * it under the terms of the GNU Lesser General Public License as published by
13
+ * the Free Software Foundation, either version 3 of the License, or
14
+ * (at your option) any later version.
15
+ *
16
+ * The Alfresco Example Content Application is distributed in the hope that it will be useful,
17
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
18
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19
+ * GNU Lesser General Public License for more details.
20
+ *
21
+ * You should have received a copy of the GNU Lesser General Public License
22
+ * from Hyland Software. If not, see <http://www.gnu.org/licenses/>.
23
+ */
24
+ import { Component, Input, ViewEncapsulation } from '@angular/core';
25
+ import { MatButtonModule } from '@angular/material/button';
26
+ import { MatIconModule } from '@angular/material/icon';
27
+ import { SearchAiInputComponent } from '../search-ai-input/search-ai-input.component';
28
+ import { MatDividerModule } from '@angular/material/divider';
29
+ import { SearchAiNavigationService } from '../../../../services/search-ai-navigation.service';
30
+ import { SearchAiService } from '@alfresco/adf-content-services';
31
+ import { TranslateModule } from '@ngx-translate/core';
32
+ import { AsyncPipe } from '@angular/common';
33
+ import { Router } from '@angular/router';
34
+ import * as i0 from "@angular/core";
35
+ import * as i1 from "@alfresco/adf-content-services";
36
+ import * as i2 from "../../../../services/search-ai-navigation.service";
37
+ import * as i3 from "@angular/router";
38
+ import * as i4 from "@angular/material/icon";
39
+ import * as i5 from "@angular/material/divider";
40
+ import * as i6 from "@angular/material/button";
41
+ import * as i7 from "@ngx-translate/core";
42
+ class SearchAiInputContainerComponent {
43
+ searchAiService;
44
+ searchNavigationService;
45
+ router;
46
+ placeholder = 'KNOWLEDGE_RETRIEVAL.SEARCH.SEARCH_INPUT.DEFAULT_PLACEHOLDER';
47
+ agentId;
48
+ usedInAiResultsPage;
49
+ inputState$;
50
+ isKnowledgeRetrievalPage = false;
51
+ constructor(searchAiService, searchNavigationService, router) {
52
+ this.searchAiService = searchAiService;
53
+ this.searchNavigationService = searchNavigationService;
54
+ this.router = router;
55
+ }
56
+ ngOnInit() {
57
+ this.isKnowledgeRetrievalPage = this.router.url.startsWith('/knowledge-retrieval');
58
+ this.inputState$ = this.searchAiService.toggleSearchAiInput$;
59
+ }
60
+ leaveSearchInput() {
61
+ this.searchNavigationService.navigateToPreviousRouteOrCloseInput();
62
+ }
63
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: SearchAiInputContainerComponent, deps: [{ token: i1.SearchAiService }, { token: i2.SearchAiNavigationService }, { token: i3.Router }], target: i0.ɵɵFactoryTarget.Component });
64
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.9", type: SearchAiInputContainerComponent, isStandalone: true, selector: "aca-search-ai-input-container", inputs: { placeholder: "placeholder", agentId: "agentId", usedInAiResultsPage: "usedInAiResultsPage" }, ngImport: i0, template: "<aca-search-ai-input\n [searchTerm]=\"(inputState$ | async).searchTerm\"\n [placeholder]=\"placeholder\"\n [agentId]=\"agentId\"\n [usedInAiResultsPage]=\"usedInAiResultsPage\" />\n<mat-divider\n [vertical]=\"true\"\n class=\"aca-search-ai-input-container-divider\" />\n<button\n mat-icon-button\n (click)=\"leaveSearchInput()\"\n data-automation-id=\"aca-search-ai-input-container-leaving-search-button\"\n [title]=\"(isKnowledgeRetrievalPage ? 'KNOWLEDGE_RETRIEVAL.SEARCH.SEARCH_INPUT.HIDE_ANSWER' : 'KNOWLEDGE_RETRIEVAL.SEARCH.SEARCH_INPUT.HIDE_INPUT') | translate\"\n class=\"aca-search-ai-input-container-close\">\n <mat-icon>close</mat-icon>\n</button>\n", styles: ["aca-search-ai-input-container{display:flex;flex-direction:row;flex:1;align-items:center;width:100%}aca-search-ai-input-container .aca-search-ai-input-container-divider{height:24px;margin-left:30px;margin-right:7px;background:var(--adf-theme-foreground-text-color-025)}aca-search-ai-input-container .aca-search-ai-input-container-close{display:flex}\n"], dependencies: [{ kind: "component", type: SearchAiInputComponent, selector: "aca-search-ai-input", inputs: ["placeholder", "agentId", "usedInAiResultsPage", "searchTerm"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatDividerModule }, { kind: "component", type: i5.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i6.MatIconButton, selector: "button[mat-icon-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i7.TranslatePipe, name: "translate" }, { kind: "pipe", type: AsyncPipe, name: "async" }], encapsulation: i0.ViewEncapsulation.None });
65
+ }
66
+ export { SearchAiInputContainerComponent };
67
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: SearchAiInputContainerComponent, decorators: [{
68
+ type: Component,
69
+ args: [{ standalone: true, imports: [SearchAiInputComponent, MatIconModule, MatDividerModule, MatButtonModule, TranslateModule, AsyncPipe], selector: 'aca-search-ai-input-container', encapsulation: ViewEncapsulation.None, template: "<aca-search-ai-input\n [searchTerm]=\"(inputState$ | async).searchTerm\"\n [placeholder]=\"placeholder\"\n [agentId]=\"agentId\"\n [usedInAiResultsPage]=\"usedInAiResultsPage\" />\n<mat-divider\n [vertical]=\"true\"\n class=\"aca-search-ai-input-container-divider\" />\n<button\n mat-icon-button\n (click)=\"leaveSearchInput()\"\n data-automation-id=\"aca-search-ai-input-container-leaving-search-button\"\n [title]=\"(isKnowledgeRetrievalPage ? 'KNOWLEDGE_RETRIEVAL.SEARCH.SEARCH_INPUT.HIDE_ANSWER' : 'KNOWLEDGE_RETRIEVAL.SEARCH.SEARCH_INPUT.HIDE_INPUT') | translate\"\n class=\"aca-search-ai-input-container-close\">\n <mat-icon>close</mat-icon>\n</button>\n", styles: ["aca-search-ai-input-container{display:flex;flex-direction:row;flex:1;align-items:center;width:100%}aca-search-ai-input-container .aca-search-ai-input-container-divider{height:24px;margin-left:30px;margin-right:7px;background:var(--adf-theme-foreground-text-color-025)}aca-search-ai-input-container .aca-search-ai-input-container-close{display:flex}\n"] }]
70
+ }], ctorParameters: function () { return [{ type: i1.SearchAiService }, { type: i2.SearchAiNavigationService }, { type: i3.Router }]; }, propDecorators: { placeholder: [{
71
+ type: Input
72
+ }], agentId: [{
73
+ type: Input
74
+ }], usedInAiResultsPage: [{
75
+ type: Input
76
+ }] } });
77
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLWFpLWlucHV0LWNvbnRhaW5lci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hY2EtY29udGVudC9zcmMvbGliL2NvbXBvbmVudHMva25vd2xlZGdlLXJldHJpZXZhbC9zZWFyY2gtYWkvc2VhcmNoLWFpLWlucHV0LWNvbnRhaW5lci9zZWFyY2gtYWktaW5wdXQtY29udGFpbmVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FjYS1jb250ZW50L3NyYy9saWIvY29tcG9uZW50cy9rbm93bGVkZ2UtcmV0cmlldmFsL3NlYXJjaC1haS9zZWFyY2gtYWktaW5wdXQtY29udGFpbmVyL3NlYXJjaC1haS1pbnB1dC1jb250YWluZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FzQkc7QUFFSCxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBVSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM1RSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDhDQUE4QyxDQUFDO0FBQ3RGLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzdELE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLG1EQUFtRCxDQUFDO0FBQzlGLE9BQU8sRUFBRSxlQUFlLEVBQXNCLE1BQU0sZ0NBQWdDLENBQUM7QUFDckYsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRXRELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM1QyxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0saUJBQWlCLENBQUM7Ozs7Ozs7OztBQUV6QyxNQVFhLCtCQUErQjtJQVd0QjtJQUEwQztJQUE0RDtJQVQxSCxXQUFXLEdBQUcsNkRBQTZELENBQUM7SUFFNUUsT0FBTyxDQUFTO0lBRWhCLG1CQUFtQixDQUFVO0lBRTdCLFdBQVcsQ0FBaUM7SUFDNUMsd0JBQXdCLEdBQUcsS0FBSyxDQUFDO0lBRWpDLFlBQW9CLGVBQWdDLEVBQVUsdUJBQWtELEVBQVUsTUFBYztRQUFwSCxvQkFBZSxHQUFmLGVBQWUsQ0FBaUI7UUFBVSw0QkFBdUIsR0FBdkIsdUJBQXVCLENBQTJCO1FBQVUsV0FBTSxHQUFOLE1BQU0sQ0FBUTtJQUFHLENBQUM7SUFFNUksUUFBUTtRQUNOLElBQUksQ0FBQyx3QkFBd0IsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsc0JBQXNCLENBQUMsQ0FBQztRQUNuRixJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsb0JBQW9CLENBQUM7SUFDL0QsQ0FBQztJQUVELGdCQUFnQjtRQUNkLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxtQ0FBbUMsRUFBRSxDQUFDO0lBQ3JFLENBQUM7dUdBcEJVLCtCQUErQjsyRkFBL0IsK0JBQStCLGlNQzVDNUMsa3FCQWdCQSx3WkRzQlksc0JBQXNCLHdJQUFFLGFBQWEsbUxBQUUsZ0JBQWdCLGtJQUFFLGVBQWUsMkxBQUUsZUFBZSx1RkFBRSxTQUFTOztTQU1uRywrQkFBK0I7MkZBQS9CLCtCQUErQjtrQkFSM0MsU0FBUztpQ0FDSSxJQUFJLFdBQ1AsQ0FBQyxzQkFBc0IsRUFBRSxhQUFhLEVBQUUsZ0JBQWdCLEVBQUUsZUFBZSxFQUFFLGVBQWUsRUFBRSxTQUFTLENBQUMsWUFDckcsK0JBQStCLGlCQUcxQixpQkFBaUIsQ0FBQyxJQUFJO21LQUlyQyxXQUFXO3NCQURWLEtBQUs7Z0JBR04sT0FBTztzQkFETixLQUFLO2dCQUdOLG1CQUFtQjtzQkFEbEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbIi8qIVxuICogQ29weXJpZ2h0IMKpIDIwMDUtMjAyNCBIeWxhbmQgU29mdHdhcmUsIEluYy4gYW5kIGl0cyBhZmZpbGlhdGVzLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIEFsZnJlc2NvIEV4YW1wbGUgQ29udGVudCBBcHBsaWNhdGlvblxuICpcbiAqIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBBbGZyZXNjbyBFeGFtcGxlIENvbnRlbnQgQXBwbGljYXRpb24uXG4gKiBJZiB0aGUgc29mdHdhcmUgd2FzIHB1cmNoYXNlZCB1bmRlciBhIHBhaWQgQWxmcmVzY28gbGljZW5zZSwgdGhlIHRlcm1zIG9mXG4gKiB0aGUgcGFpZCBsaWNlbnNlIGFncmVlbWVudCB3aWxsIHByZXZhaWwuIE90aGVyd2lzZSwgdGhlIHNvZnR3YXJlIGlzXG4gKiBwcm92aWRlZCB1bmRlciB0aGUgZm9sbG93aW5nIG9wZW4gc291cmNlIGxpY2Vuc2UgdGVybXM6XG4gKlxuICogVGhlIEFsZnJlc2NvIEV4YW1wbGUgQ29udGVudCBBcHBsaWNhdGlvbiBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5XG4gKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnlcbiAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yXG4gKiAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLlxuICpcbiAqIFRoZSBBbGZyZXNjbyBFeGFtcGxlIENvbnRlbnQgQXBwbGljYXRpb24gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCxcbiAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mXG4gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGVcbiAqIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLlxuICpcbiAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZVxuICogZnJvbSBIeWxhbmQgU29mdHdhcmUuIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi5cbiAqL1xuXG5pbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkluaXQsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xuaW1wb3J0IHsgU2VhcmNoQWlJbnB1dENvbXBvbmVudCB9IGZyb20gJy4uL3NlYXJjaC1haS1pbnB1dC9zZWFyY2gtYWktaW5wdXQuY29tcG9uZW50JztcbmltcG9ydCB7IE1hdERpdmlkZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaXZpZGVyJztcbmltcG9ydCB7IFNlYXJjaEFpTmF2aWdhdGlvblNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi8uLi9zZXJ2aWNlcy9zZWFyY2gtYWktbmF2aWdhdGlvbi5zZXJ2aWNlJztcbmltcG9ydCB7IFNlYXJjaEFpU2VydmljZSwgU2VhcmNoQWlJbnB1dFN0YXRlIH0gZnJvbSAnQGFsZnJlc2NvL2FkZi1jb250ZW50LXNlcnZpY2VzJztcbmltcG9ydCB7IFRyYW5zbGF0ZU1vZHVsZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQXN5bmNQaXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5cbkBDb21wb25lbnQoe1xuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbU2VhcmNoQWlJbnB1dENvbXBvbmVudCwgTWF0SWNvbk1vZHVsZSwgTWF0RGl2aWRlck1vZHVsZSwgTWF0QnV0dG9uTW9kdWxlLCBUcmFuc2xhdGVNb2R1bGUsIEFzeW5jUGlwZV0sXG4gIHNlbGVjdG9yOiAnYWNhLXNlYXJjaC1haS1pbnB1dC1jb250YWluZXInLFxuICB0ZW1wbGF0ZVVybDogJy4vc2VhcmNoLWFpLWlucHV0LWNvbnRhaW5lci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3NlYXJjaC1haS1pbnB1dC1jb250YWluZXIuY29tcG9uZW50LnNjc3MnXSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxufSlcbmV4cG9ydCBjbGFzcyBTZWFyY2hBaUlucHV0Q29udGFpbmVyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgQElucHV0KClcbiAgcGxhY2Vob2xkZXIgPSAnS05PV0xFREdFX1JFVFJJRVZBTC5TRUFSQ0guU0VBUkNIX0lOUFVULkRFRkFVTFRfUExBQ0VIT0xERVInO1xuICBASW5wdXQoKVxuICBhZ2VudElkOiBzdHJpbmc7XG4gIEBJbnB1dCgpXG4gIHVzZWRJbkFpUmVzdWx0c1BhZ2U6IGJvb2xlYW47XG5cbiAgaW5wdXRTdGF0ZSQ6IE9ic2VydmFibGU8U2VhcmNoQWlJbnB1dFN0YXRlPjtcbiAgaXNLbm93bGVkZ2VSZXRyaWV2YWxQYWdlID0gZmFsc2U7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBzZWFyY2hBaVNlcnZpY2U6IFNlYXJjaEFpU2VydmljZSwgcHJpdmF0ZSBzZWFyY2hOYXZpZ2F0aW9uU2VydmljZTogU2VhcmNoQWlOYXZpZ2F0aW9uU2VydmljZSwgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlcikge31cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmlzS25vd2xlZGdlUmV0cmlldmFsUGFnZSA9IHRoaXMucm91dGVyLnVybC5zdGFydHNXaXRoKCcva25vd2xlZGdlLXJldHJpZXZhbCcpO1xuICAgIHRoaXMuaW5wdXRTdGF0ZSQgPSB0aGlzLnNlYXJjaEFpU2VydmljZS50b2dnbGVTZWFyY2hBaUlucHV0JDtcbiAgfVxuXG4gIGxlYXZlU2VhcmNoSW5wdXQoKTogdm9pZCB7XG4gICAgdGhpcy5zZWFyY2hOYXZpZ2F0aW9uU2VydmljZS5uYXZpZ2F0ZVRvUHJldmlvdXNSb3V0ZU9yQ2xvc2VJbnB1dCgpO1xuICB9XG59XG4iLCI8YWNhLXNlYXJjaC1haS1pbnB1dFxuICBbc2VhcmNoVGVybV09XCIoaW5wdXRTdGF0ZSQgfCBhc3luYykuc2VhcmNoVGVybVwiXG4gIFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlclwiXG4gIFthZ2VudElkXT1cImFnZW50SWRcIlxuICBbdXNlZEluQWlSZXN1bHRzUGFnZV09XCJ1c2VkSW5BaVJlc3VsdHNQYWdlXCIgLz5cbjxtYXQtZGl2aWRlclxuICBbdmVydGljYWxdPVwidHJ1ZVwiXG4gIGNsYXNzPVwiYWNhLXNlYXJjaC1haS1pbnB1dC1jb250YWluZXItZGl2aWRlclwiIC8+XG48YnV0dG9uXG4gIG1hdC1pY29uLWJ1dHRvblxuICAoY2xpY2spPVwibGVhdmVTZWFyY2hJbnB1dCgpXCJcbiAgZGF0YS1hdXRvbWF0aW9uLWlkPVwiYWNhLXNlYXJjaC1haS1pbnB1dC1jb250YWluZXItbGVhdmluZy1zZWFyY2gtYnV0dG9uXCJcbiAgW3RpdGxlXT1cIihpc0tub3dsZWRnZVJldHJpZXZhbFBhZ2UgPyAnS05PV0xFREdFX1JFVFJJRVZBTC5TRUFSQ0guU0VBUkNIX0lOUFVULkhJREVfQU5TV0VSJyA6ICdLTk9XTEVER0VfUkVUUklFVkFMLlNFQVJDSC5TRUFSQ0hfSU5QVVQuSElERV9JTlBVVCcpIHwgdHJhbnNsYXRlXCJcbiAgY2xhc3M9XCJhY2Etc2VhcmNoLWFpLWlucHV0LWNvbnRhaW5lci1jbG9zZVwiPlxuICA8bWF0LWljb24+Y2xvc2U8L21hdC1pY29uPlxuPC9idXR0b24+XG4iXX0=
@@ -0,0 +1,207 @@
1
+ /*!
2
+ * Copyright © 2005-2024 Hyland Software, Inc. and its affiliates. All rights reserved.
3
+ *
4
+ * Alfresco Example Content Application
5
+ *
6
+ * This file is part of the Alfresco Example Content Application.
7
+ * If the software was purchased under a paid Alfresco license, the terms of
8
+ * the paid license agreement will prevail. Otherwise, the software is
9
+ * provided under the following open source license terms:
10
+ *
11
+ * The Alfresco Example Content Application is free software: you can redistribute it and/or modify
12
+ * it under the terms of the GNU Lesser General Public License as published by
13
+ * the Free Software Foundation, either version 3 of the License, or
14
+ * (at your option) any later version.
15
+ *
16
+ * The Alfresco Example Content Application is distributed in the hope that it will be useful,
17
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
18
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19
+ * GNU Lesser General Public License for more details.
20
+ *
21
+ * You should have received a copy of the GNU Lesser General Public License
22
+ * from Hyland Software. If not, see <http://www.gnu.org/licenses/>.
23
+ */
24
+ import { Component, ViewEncapsulation } from '@angular/core';
25
+ import { ActivatedRoute } from '@angular/router';
26
+ import { PageComponent, PageLayoutComponent, ToolbarActionComponent, ToolbarComponent } from '@alfresco/aca-shared';
27
+ import { concatMap, delay, filter, finalize, retryWhen, skipWhile, switchMap } from 'rxjs/operators';
28
+ import { AvatarComponent, ClipboardService, EmptyContentComponent, ThumbnailService, ToolbarModule, UnsavedChangesGuard } from '@alfresco/adf-core';
29
+ import { CommonModule } from '@angular/common';
30
+ import { SearchAiInputContainerComponent } from '../search-ai-input-container/search-ai-input-container.component';
31
+ import { TranslateModule, TranslateService } from '@ngx-translate/core';
32
+ import { NodesApiService } from '@alfresco/adf-content-services';
33
+ import { forkJoin, of, throwError } from 'rxjs';
34
+ import { MatIconModule } from '@angular/material/icon';
35
+ import { MatButtonModule } from '@angular/material/button';
36
+ import { MatListModule } from '@angular/material/list';
37
+ import { MatCardModule } from '@angular/material/card';
38
+ import { MatTooltipModule } from '@angular/material/tooltip';
39
+ import { ModalAiService } from '../../../../services/modal-ai.service';
40
+ import { ViewNodeAction } from '@alfresco/aca-shared/store';
41
+ import { ViewerService } from '@alfresco/aca-content/viewer';
42
+ import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
43
+ import * as i0 from "@angular/core";
44
+ import * as i1 from "@angular/router";
45
+ import * as i2 from "@alfresco/adf-core";
46
+ import * as i3 from "@alfresco/adf-content-services";
47
+ import * as i4 from "@ngx-translate/core";
48
+ import * as i5 from "../../../../services/modal-ai.service";
49
+ import * as i6 from "@alfresco/aca-content/viewer";
50
+ import * as i7 from "@angular/common";
51
+ import * as i8 from "@angular/material/icon";
52
+ import * as i9 from "@angular/material/button";
53
+ import * as i10 from "@angular/material/divider";
54
+ class SearchAiResultsComponent extends PageComponent {
55
+ route;
56
+ clipboardService;
57
+ thumbnailService;
58
+ nodesApiService;
59
+ translateService;
60
+ unsavedChangesGuard;
61
+ modalAiService;
62
+ viewerService;
63
+ _agentId;
64
+ _hasAnsweringError = false;
65
+ _hasError = false;
66
+ _loading = false;
67
+ _mimeTypeIconsByNodeId = {};
68
+ _nodes = [];
69
+ openedViewer = false;
70
+ _selectedNodesState;
71
+ _searchQuery = '';
72
+ _queryAnswer;
73
+ get agentId() {
74
+ return this._agentId;
75
+ }
76
+ get hasAnsweringError() {
77
+ return this._hasAnsweringError;
78
+ }
79
+ get hasError() {
80
+ return this._hasError;
81
+ }
82
+ get loading() {
83
+ return this._loading;
84
+ }
85
+ get mimeTypeIconsByNodeId() {
86
+ return this._mimeTypeIconsByNodeId;
87
+ }
88
+ get nodes() {
89
+ return this._nodes;
90
+ }
91
+ get queryAnswer() {
92
+ return this._queryAnswer;
93
+ }
94
+ get searchQuery() {
95
+ return this._searchQuery;
96
+ }
97
+ constructor(route, clipboardService, thumbnailService, nodesApiService, translateService, unsavedChangesGuard, modalAiService, viewerService) {
98
+ super();
99
+ this.route = route;
100
+ this.clipboardService = clipboardService;
101
+ this.thumbnailService = thumbnailService;
102
+ this.nodesApiService = nodesApiService;
103
+ this.translateService = translateService;
104
+ this.unsavedChangesGuard = unsavedChangesGuard;
105
+ this.modalAiService = modalAiService;
106
+ this.viewerService = viewerService;
107
+ }
108
+ ngOnInit() {
109
+ this.viewerService.customNodesOrder = JSON.parse(this.userPreferencesService.get('aiReferences', '[]'));
110
+ this.route.queryParams
111
+ .pipe(filter((params) => {
112
+ const openedViewerPreviously = this.openedViewer;
113
+ this.openedViewer = !!params.location;
114
+ return !this.openedViewer && (!openedViewerPreviously || !this.queryAnswer);
115
+ }), takeUntilDestroyed(this.destroyRef))
116
+ .subscribe((params) => {
117
+ this._agentId = params.agentId;
118
+ this._searchQuery = params.query ? decodeURIComponent(params.query) : '';
119
+ const selectedNodesState = this.userPreferencesService.get('knowledgeRetrievalNodes');
120
+ if (!this.searchQuery || !this.agentId || !selectedNodesState) {
121
+ this._hasError = true;
122
+ return;
123
+ }
124
+ this._selectedNodesState = JSON.parse(selectedNodesState);
125
+ this.performAiSearch();
126
+ });
127
+ super.ngOnInit();
128
+ this.unsavedChangesGuard.unsaved = this.route.snapshot?.queryParams?.query?.length > 0 && !this.hasError;
129
+ this.unsavedChangesGuard.data = {
130
+ descriptionText: 'KNOWLEDGE_RETRIEVAL.SEARCH.DISCARD_CHANGES.CONVERSATION_DISCARDED',
131
+ confirmButtonText: 'KNOWLEDGE_RETRIEVAL.SEARCH.DISCARD_CHANGES.OKAY',
132
+ headerText: 'KNOWLEDGE_RETRIEVAL.SEARCH.DISCARD_CHANGES.WARNING'
133
+ };
134
+ }
135
+ copyResponseToClipboard() {
136
+ this.clipboardService.copyContentToClipboard(this.queryAnswer.answer, this.translateService.instant('KNOWLEDGE_RETRIEVAL.SEARCH.RESULTS_PAGE.COPY_MESSAGE'));
137
+ }
138
+ checkUnsavedChangesAndSearch() {
139
+ this.modalAiService.openUnsavedChangesModal(() => this.performAiSearch());
140
+ }
141
+ performAiSearch() {
142
+ this._loading = true;
143
+ this.searchAiService
144
+ .ask({
145
+ question: this.searchQuery,
146
+ nodeIds: this._selectedNodesState?.nodes?.length ? this._selectedNodesState.nodes.map((node) => node.entry.id) : [],
147
+ agentId: this._agentId
148
+ })
149
+ .pipe(switchMap((response) => this.searchAiService.getAnswer(response.questionId)), switchMap((response) => {
150
+ if (!response.entry?.answer) {
151
+ return throwError((e) => e);
152
+ }
153
+ this._queryAnswer = response.entry;
154
+ return forkJoin(this.queryAnswer.references.map((reference) => this.nodesApiService.getNode(reference.referenceId)));
155
+ }), retryWhen((errors) => this.aiSearchRetryWhen(errors)), finalize(() => (this._loading = false)), takeUntilDestroyed(this.destroyRef))
156
+ .subscribe((nodes) => {
157
+ nodes.forEach((node) => {
158
+ this._mimeTypeIconsByNodeId[node.id] = this.thumbnailService.getMimeTypeIcon(node.content?.mimeType);
159
+ });
160
+ this._nodes = nodes;
161
+ const nodesIds = nodes.map((node) => node.id);
162
+ this.viewerService.customNodesOrder = nodesIds;
163
+ this.userPreferencesService.set('aiReferences', JSON.stringify(nodesIds));
164
+ }, () => (this._hasAnsweringError = true));
165
+ }
166
+ openFile(id) {
167
+ this.store.dispatch(new ViewNodeAction(id, {
168
+ location: this.router.url
169
+ }));
170
+ }
171
+ aiSearchRetryWhen(errors) {
172
+ this._hasAnsweringError = false;
173
+ const delayBetweenRetries = 3000;
174
+ const maxRetries = 9;
175
+ return errors.pipe(skipWhile(() => this.hasAnsweringError), delay(delayBetweenRetries), concatMap((e, index) => {
176
+ if (index === maxRetries) {
177
+ this._hasAnsweringError = true;
178
+ this._loading = false;
179
+ return throwError(e);
180
+ }
181
+ return of(null);
182
+ }));
183
+ }
184
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: SearchAiResultsComponent, deps: [{ token: i1.ActivatedRoute }, { token: i2.ClipboardService }, { token: i2.ThumbnailService }, { token: i3.NodesApiService }, { token: i4.TranslateService }, { token: i2.UnsavedChangesGuard }, { token: i5.ModalAiService }, { token: i6.ViewerService }], target: i0.ɵɵFactoryTarget.Component });
185
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.9", type: SearchAiResultsComponent, isStandalone: true, selector: "aca-search-ai-results", host: { classAttribute: "aca-search-ai-results" }, usesInheritance: true, ngImport: i0, template: "<aca-page-layout>\n <aca-search-ai-input-container\n class=\"aca-page-layout-header\"\n placeholder=\"KNOWLEDGE_RETRIEVAL.SEARCH.RESULTS_PAGE.QUERY_INPUT_PLACEHOLDER\"\n [agentId]=\"agentId\"\n [usedInAiResultsPage]=\"true\"\n *ngIf=\"!hasError && agentId\" />\n <div\n class=\"aca-page-layout-content\"\n *ngIf=\"!hasError\">\n <div class=\"aca-search-ai-results-container\">\n <div\n class=\"aca-search-ai-results-container-query\"\n data-automation-id=\"aca-search-ai-results-query\">\n {{ searchQuery }}\n </div>\n <div\n class=\"aca-search-ai-response-container\"\n [class.aca-search-ai-response-container-error]=\"hasAnsweringError\">\n <ng-container *ngIf=\"!loading else skeleton\">\n <div\n class=\"aca-search-ai-response-container-body\"\n *ngIf=\"!hasAnsweringError\">\n <div\n class=\"aca-search-ai-response-container-body-response\"\n data-automation-id=\"aca-search-ai-results-response\">\n {{ queryAnswer?.answer }}\n </div>\n <button\n class=\"aca-search-ai-response-container-body-response-action aca-search-ai-response-container-body-response-action-regeneration\"\n mat-icon-button\n (click)=\"checkUnsavedChangesAndSearch()\"\n data-automation-id=\"aca-search-ai-results-regeneration-button\"\n [title]=\"'KNOWLEDGE_RETRIEVAL.SEARCH.RESULTS_PAGE.REGENERATION_BUTTON_LABEL' | translate\">\n <mat-icon>cached</mat-icon>\n </button>\n <button\n class=\"aca-search-ai-response-container-body-response-action\"\n mat-icon-button\n (click)=\"copyResponseToClipboard()\"\n data-automation-id=\"aca-search-ai-results-copying-button\"\n [title]=\"'KNOWLEDGE_RETRIEVAL.SEARCH.RESULTS_PAGE.COPY_BUTTON_LABEL' | translate\">\n <mat-icon>copy</mat-icon>\n </button>\n <ng-container *ngIf=\"nodes?.length\">\n <mat-divider class=\"aca-search-ai-response-container-body-divider\" />\n <div class=\"aca-search-ai-response-container-body-references-container\">\n <p class=\"aca-search-ai-response-container-body-references-container-header\">\n {{ 'KNOWLEDGE_RETRIEVAL.SEARCH.RESULTS_PAGE.REFERENCED_DOCUMENTS_HEADER' | translate }}\n </p>\n <div class=\"aca-search-ai-response-container-body-references-container-documents\">\n <a\n class=\"aca-search-ai-response-container-body-references-container-documents-document\"\n *ngFor=\"let node of nodes\"\n [attr.data-automation-id]=\"'aca-search-ai-results-' + node.id + '-document'\"\n (click)=\"openFile(node.id)\"\n (keyup.enter)=\"openFile(node.id)\"\n tabindex=\"0\">\n <mat-icon\n mat-list-icon\n class=\"aca-search-ai-response-container-body-references-container-documents-document-icon\">\n <img [alt]=\"node.content?.mimeType\" [src]=\"mimeTypeIconsByNodeId[node.id]\"/>\n </mat-icon>\n <div class=\"aca-search-ai-response-container-body-references-container-documents-document-name\">\n {{ node.name }}\n </div>\n </a>\n </div>\n </div>\n </ng-container>\n </div>\n <div\n *ngIf=\"hasAnsweringError\"\n class=\"aca-search-ai-response-container-error-message\">\n {{ 'KNOWLEDGE_RETRIEVAL.SEARCH.ERRORS.LOADING_ERROR' | translate }}\n <button\n mat-flat-button\n (click)=\"performAiSearch()\"\n class=\"aca-search-ai-response-container-error-message-regeneration-button\"\n data-automation-id=\"aca-search-ai-results-error-regeneration-button\">\n <mat-icon class=\"aca-search-ai-response-container-error-message-regeneration-button-icon\">cached</mat-icon>\n {{ 'KNOWLEDGE_RETRIEVAL.SEARCH.RESULTS_PAGE.REGENERATION_BUTTON_LABEL' | translate }}\n </button>\n </div>\n </ng-container>\n </div>\n </div>\n </div>\n <adf-empty-content\n class=\"aca-page-layout-content\"\n icon=\"star\"\n title=\"KNOWLEDGE_RETRIEVAL.SEARCH.ERRORS.PAGE_NOT_AVAILABLE_ERROR\"\n *ngIf=\"hasError\" />\n</aca-page-layout>\n\n<ng-template #skeleton>\n <div class=\"adf-skeleton\"></div>\n <div class=\"adf-skeleton\"></div>\n <div class=\"adf-skeleton adf-skeleton-half\"></div>\n</ng-template>\n", styles: [".aca-search-ai-results aca-page-layout .aca-page-layout-content{display:flex;justify-content:center;align-items:center;height:100%;width:100%;background-color:#fff;border-top:1px solid var(--theme-grey-background-color);padding-top:28px}.aca-search-ai-results aca-page-layout .aca-page-layout-content .aca-search-ai-results-container{display:flex;flex-direction:column;height:100%;overflow-y:auto;padding-right:24%;padding-left:24%;min-width:51%}.aca-search-ai-results aca-page-layout .aca-page-layout-content .aca-search-ai-results-container-query{border-radius:12px;padding:20px 15px 19px;background:var(--theme-card-background-grey-color)}.aca-search-ai-results aca-page-layout .aca-page-layout-content .aca-search-ai-response-container{padding:18px 20px;display:flex;flex-direction:column;border:1px solid var(--adf-card-view-border-color);border-radius:12px;margin:16px 0 75px}.aca-search-ai-results aca-page-layout .aca-page-layout-content .aca-search-ai-response-container-references-container-header{padding-left:8px}.aca-search-ai-results aca-page-layout .aca-page-layout-content .aca-search-ai-response-container .adf-skeleton{position:relative;background-image:linear-gradient(to left,var(--theme-light-grey-1-color) 0%,var(--theme-light-grey-2-color) 20%,var(--theme-light-grey-3-color) 40%,var(--theme-light-grey-1-color) 100%);background-size:200%;display:inline-block;height:1em;overflow:hidden;width:100%;margin-bottom:.5rem;border-radius:.25rem}.aca-search-ai-results aca-page-layout .aca-page-layout-content .aca-search-ai-response-container .adf-skeleton-half{width:50%;margin-bottom:8px}.aca-search-ai-results aca-page-layout .aca-page-layout-content .aca-search-ai-response-container .adf-skeleton:after{position:absolute;inset:0;transform:translate(-100%);background-image:linear-gradient(90deg,#fff0 0,#fff3 20%,#ffffff80 60%,#fff0);animation:shimmer 2s infinite;content:\"\"}@keyframes shimmer{to{transform:translate(100%)}}.aca-search-ai-results aca-page-layout .aca-page-layout-content .aca-search-ai-response-container-error{border-color:var(--adf-error-color);padding:32px 18px}.aca-search-ai-results aca-page-layout .aca-page-layout-content .aca-search-ai-response-container-error-message{display:flex;justify-content:space-between;align-items:center}.aca-search-ai-results aca-page-layout .aca-page-layout-content .aca-search-ai-response-container-error-message-regeneration-button{background-color:var(--adf-secondary-button-background)}.aca-search-ai-results aca-page-layout .aca-page-layout-content .aca-search-ai-response-container-error-message-regeneration-button-icon{font-size:24px;height:24px;width:23px}.aca-search-ai-results aca-page-layout .aca-page-layout-content .aca-search-ai-response-container-body-response{margin-bottom:17px;overflow-wrap:break-word;white-space:pre-wrap}.aca-search-ai-results aca-page-layout .aca-page-layout-content .aca-search-ai-response-container-body-response-action{width:max-content;padding:0}.aca-search-ai-results aca-page-layout .aca-page-layout-content .aca-search-ai-response-container-body-response-action mat-icon{font-size:17.25px}.aca-search-ai-results aca-page-layout .aca-page-layout-content .aca-search-ai-response-container-body-response-action-regeneration{margin-left:2px;margin-right:2px}.aca-search-ai-results aca-page-layout .aca-page-layout-content .aca-search-ai-response-container-body-response-action .mat-mdc-button-touch-target{width:24px}.aca-search-ai-results aca-page-layout .aca-page-layout-content .aca-search-ai-response-container-body-divider{margin-top:9px}.aca-search-ai-results aca-page-layout .aca-page-layout-content .aca-search-ai-response-container-body-references-container{padding-right:8px;padding-left:8px}.aca-search-ai-results aca-page-layout .aca-page-layout-content .aca-search-ai-response-container-body-references-container-header{margin-top:16px;color:var(--theme-text-light-color);font-weight:400;margin-bottom:3px}.aca-search-ai-results aca-page-layout .aca-page-layout-content .aca-search-ai-response-container-body-references-container-documents{padding-right:5px;padding-top:5px;margin-left:-2px;display:flex;flex-wrap:wrap;gap:21px}.aca-search-ai-results aca-page-layout .aca-page-layout-content .aca-search-ai-response-container-body-references-container-documents-document{display:flex;flex-direction:row;padding-top:7px;padding-bottom:7px}.aca-search-ai-results aca-page-layout .aca-page-layout-content .aca-search-ai-response-container-body-references-container-documents-document-icon{padding-right:11px}.aca-search-ai-results aca-page-layout .aca-page-layout-content .aca-search-ai-response-container-body-references-container-documents-document-name{display:flex;flex-direction:column;width:100%;justify-content:center}.aca-search-ai-results aca-page-layout .aca-page-layout-content .aca-search-ai-response-container-body-references-container-documents-document:hover{text-decoration:underline;text-decoration-color:var(--theme-primary-color);color:var(--theme-primary-color);cursor:pointer}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i7.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: PageLayoutComponent, selector: "aca-page-layout", inputs: ["hasError"] }, { kind: "ngmodule", type: ToolbarModule }, { kind: "component", type: SearchAiInputContainerComponent, selector: "aca-search-ai-input-container", inputs: ["placeholder", "agentId", "usedInAiResultsPage"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i8.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i9.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i9.MatIconButton, selector: "button[mat-icon-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "ngmodule", type: MatListModule }, { kind: "component", type: i10.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "component", type: EmptyContentComponent, selector: "adf-empty-content", inputs: ["icon", "title", "subtitle"] }, { kind: "ngmodule", type: MatCardModule }, { kind: "ngmodule", type: MatTooltipModule }], encapsulation: i0.ViewEncapsulation.None });
186
+ }
187
+ export { SearchAiResultsComponent };
188
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: SearchAiResultsComponent, decorators: [{
189
+ type: Component,
190
+ args: [{ standalone: true, imports: [
191
+ CommonModule,
192
+ PageLayoutComponent,
193
+ ToolbarActionComponent,
194
+ ToolbarModule,
195
+ ToolbarComponent,
196
+ SearchAiInputContainerComponent,
197
+ TranslateModule,
198
+ MatIconModule,
199
+ MatButtonModule,
200
+ MatListModule,
201
+ EmptyContentComponent,
202
+ MatCardModule,
203
+ AvatarComponent,
204
+ MatTooltipModule
205
+ ], selector: 'aca-search-ai-results', encapsulation: ViewEncapsulation.None, host: { class: 'aca-search-ai-results' }, template: "<aca-page-layout>\n <aca-search-ai-input-container\n class=\"aca-page-layout-header\"\n placeholder=\"KNOWLEDGE_RETRIEVAL.SEARCH.RESULTS_PAGE.QUERY_INPUT_PLACEHOLDER\"\n [agentId]=\"agentId\"\n [usedInAiResultsPage]=\"true\"\n *ngIf=\"!hasError && agentId\" />\n <div\n class=\"aca-page-layout-content\"\n *ngIf=\"!hasError\">\n <div class=\"aca-search-ai-results-container\">\n <div\n class=\"aca-search-ai-results-container-query\"\n data-automation-id=\"aca-search-ai-results-query\">\n {{ searchQuery }}\n </div>\n <div\n class=\"aca-search-ai-response-container\"\n [class.aca-search-ai-response-container-error]=\"hasAnsweringError\">\n <ng-container *ngIf=\"!loading else skeleton\">\n <div\n class=\"aca-search-ai-response-container-body\"\n *ngIf=\"!hasAnsweringError\">\n <div\n class=\"aca-search-ai-response-container-body-response\"\n data-automation-id=\"aca-search-ai-results-response\">\n {{ queryAnswer?.answer }}\n </div>\n <button\n class=\"aca-search-ai-response-container-body-response-action aca-search-ai-response-container-body-response-action-regeneration\"\n mat-icon-button\n (click)=\"checkUnsavedChangesAndSearch()\"\n data-automation-id=\"aca-search-ai-results-regeneration-button\"\n [title]=\"'KNOWLEDGE_RETRIEVAL.SEARCH.RESULTS_PAGE.REGENERATION_BUTTON_LABEL' | translate\">\n <mat-icon>cached</mat-icon>\n </button>\n <button\n class=\"aca-search-ai-response-container-body-response-action\"\n mat-icon-button\n (click)=\"copyResponseToClipboard()\"\n data-automation-id=\"aca-search-ai-results-copying-button\"\n [title]=\"'KNOWLEDGE_RETRIEVAL.SEARCH.RESULTS_PAGE.COPY_BUTTON_LABEL' | translate\">\n <mat-icon>copy</mat-icon>\n </button>\n <ng-container *ngIf=\"nodes?.length\">\n <mat-divider class=\"aca-search-ai-response-container-body-divider\" />\n <div class=\"aca-search-ai-response-container-body-references-container\">\n <p class=\"aca-search-ai-response-container-body-references-container-header\">\n {{ 'KNOWLEDGE_RETRIEVAL.SEARCH.RESULTS_PAGE.REFERENCED_DOCUMENTS_HEADER' | translate }}\n </p>\n <div class=\"aca-search-ai-response-container-body-references-container-documents\">\n <a\n class=\"aca-search-ai-response-container-body-references-container-documents-document\"\n *ngFor=\"let node of nodes\"\n [attr.data-automation-id]=\"'aca-search-ai-results-' + node.id + '-document'\"\n (click)=\"openFile(node.id)\"\n (keyup.enter)=\"openFile(node.id)\"\n tabindex=\"0\">\n <mat-icon\n mat-list-icon\n class=\"aca-search-ai-response-container-body-references-container-documents-document-icon\">\n <img [alt]=\"node.content?.mimeType\" [src]=\"mimeTypeIconsByNodeId[node.id]\"/>\n </mat-icon>\n <div class=\"aca-search-ai-response-container-body-references-container-documents-document-name\">\n {{ node.name }}\n </div>\n </a>\n </div>\n </div>\n </ng-container>\n </div>\n <div\n *ngIf=\"hasAnsweringError\"\n class=\"aca-search-ai-response-container-error-message\">\n {{ 'KNOWLEDGE_RETRIEVAL.SEARCH.ERRORS.LOADING_ERROR' | translate }}\n <button\n mat-flat-button\n (click)=\"performAiSearch()\"\n class=\"aca-search-ai-response-container-error-message-regeneration-button\"\n data-automation-id=\"aca-search-ai-results-error-regeneration-button\">\n <mat-icon class=\"aca-search-ai-response-container-error-message-regeneration-button-icon\">cached</mat-icon>\n {{ 'KNOWLEDGE_RETRIEVAL.SEARCH.RESULTS_PAGE.REGENERATION_BUTTON_LABEL' | translate }}\n </button>\n </div>\n </ng-container>\n </div>\n </div>\n </div>\n <adf-empty-content\n class=\"aca-page-layout-content\"\n icon=\"star\"\n title=\"KNOWLEDGE_RETRIEVAL.SEARCH.ERRORS.PAGE_NOT_AVAILABLE_ERROR\"\n *ngIf=\"hasError\" />\n</aca-page-layout>\n\n<ng-template #skeleton>\n <div class=\"adf-skeleton\"></div>\n <div class=\"adf-skeleton\"></div>\n <div class=\"adf-skeleton adf-skeleton-half\"></div>\n</ng-template>\n", styles: [".aca-search-ai-results aca-page-layout .aca-page-layout-content{display:flex;justify-content:center;align-items:center;height:100%;width:100%;background-color:#fff;border-top:1px solid var(--theme-grey-background-color);padding-top:28px}.aca-search-ai-results aca-page-layout .aca-page-layout-content .aca-search-ai-results-container{display:flex;flex-direction:column;height:100%;overflow-y:auto;padding-right:24%;padding-left:24%;min-width:51%}.aca-search-ai-results aca-page-layout .aca-page-layout-content .aca-search-ai-results-container-query{border-radius:12px;padding:20px 15px 19px;background:var(--theme-card-background-grey-color)}.aca-search-ai-results aca-page-layout .aca-page-layout-content .aca-search-ai-response-container{padding:18px 20px;display:flex;flex-direction:column;border:1px solid var(--adf-card-view-border-color);border-radius:12px;margin:16px 0 75px}.aca-search-ai-results aca-page-layout .aca-page-layout-content .aca-search-ai-response-container-references-container-header{padding-left:8px}.aca-search-ai-results aca-page-layout .aca-page-layout-content .aca-search-ai-response-container .adf-skeleton{position:relative;background-image:linear-gradient(to left,var(--theme-light-grey-1-color) 0%,var(--theme-light-grey-2-color) 20%,var(--theme-light-grey-3-color) 40%,var(--theme-light-grey-1-color) 100%);background-size:200%;display:inline-block;height:1em;overflow:hidden;width:100%;margin-bottom:.5rem;border-radius:.25rem}.aca-search-ai-results aca-page-layout .aca-page-layout-content .aca-search-ai-response-container .adf-skeleton-half{width:50%;margin-bottom:8px}.aca-search-ai-results aca-page-layout .aca-page-layout-content .aca-search-ai-response-container .adf-skeleton:after{position:absolute;inset:0;transform:translate(-100%);background-image:linear-gradient(90deg,#fff0 0,#fff3 20%,#ffffff80 60%,#fff0);animation:shimmer 2s infinite;content:\"\"}@keyframes shimmer{to{transform:translate(100%)}}.aca-search-ai-results aca-page-layout .aca-page-layout-content .aca-search-ai-response-container-error{border-color:var(--adf-error-color);padding:32px 18px}.aca-search-ai-results aca-page-layout .aca-page-layout-content .aca-search-ai-response-container-error-message{display:flex;justify-content:space-between;align-items:center}.aca-search-ai-results aca-page-layout .aca-page-layout-content .aca-search-ai-response-container-error-message-regeneration-button{background-color:var(--adf-secondary-button-background)}.aca-search-ai-results aca-page-layout .aca-page-layout-content .aca-search-ai-response-container-error-message-regeneration-button-icon{font-size:24px;height:24px;width:23px}.aca-search-ai-results aca-page-layout .aca-page-layout-content .aca-search-ai-response-container-body-response{margin-bottom:17px;overflow-wrap:break-word;white-space:pre-wrap}.aca-search-ai-results aca-page-layout .aca-page-layout-content .aca-search-ai-response-container-body-response-action{width:max-content;padding:0}.aca-search-ai-results aca-page-layout .aca-page-layout-content .aca-search-ai-response-container-body-response-action mat-icon{font-size:17.25px}.aca-search-ai-results aca-page-layout .aca-page-layout-content .aca-search-ai-response-container-body-response-action-regeneration{margin-left:2px;margin-right:2px}.aca-search-ai-results aca-page-layout .aca-page-layout-content .aca-search-ai-response-container-body-response-action .mat-mdc-button-touch-target{width:24px}.aca-search-ai-results aca-page-layout .aca-page-layout-content .aca-search-ai-response-container-body-divider{margin-top:9px}.aca-search-ai-results aca-page-layout .aca-page-layout-content .aca-search-ai-response-container-body-references-container{padding-right:8px;padding-left:8px}.aca-search-ai-results aca-page-layout .aca-page-layout-content .aca-search-ai-response-container-body-references-container-header{margin-top:16px;color:var(--theme-text-light-color);font-weight:400;margin-bottom:3px}.aca-search-ai-results aca-page-layout .aca-page-layout-content .aca-search-ai-response-container-body-references-container-documents{padding-right:5px;padding-top:5px;margin-left:-2px;display:flex;flex-wrap:wrap;gap:21px}.aca-search-ai-results aca-page-layout .aca-page-layout-content .aca-search-ai-response-container-body-references-container-documents-document{display:flex;flex-direction:row;padding-top:7px;padding-bottom:7px}.aca-search-ai-results aca-page-layout .aca-page-layout-content .aca-search-ai-response-container-body-references-container-documents-document-icon{padding-right:11px}.aca-search-ai-results aca-page-layout .aca-page-layout-content .aca-search-ai-response-container-body-references-container-documents-document-name{display:flex;flex-direction:column;width:100%;justify-content:center}.aca-search-ai-results aca-page-layout .aca-page-layout-content .aca-search-ai-response-container-body-references-container-documents-document:hover{text-decoration:underline;text-decoration-color:var(--theme-primary-color);color:var(--theme-primary-color);cursor:pointer}\n"] }]
206
+ }], ctorParameters: function () { return [{ type: i1.ActivatedRoute }, { type: i2.ClipboardService }, { type: i2.ThumbnailService }, { type: i3.NodesApiService }, { type: i4.TranslateService }, { type: i2.UnsavedChangesGuard }, { type: i5.ModalAiService }, { type: i6.ViewerService }]; } });
207
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLWFpLXJlc3VsdHMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWNhLWNvbnRlbnQvc3JjL2xpYi9jb21wb25lbnRzL2tub3dsZWRnZS1yZXRyaWV2YWwvc2VhcmNoLWFpL3NlYXJjaC1haS1yZXN1bHRzL3NlYXJjaC1haS1yZXN1bHRzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FjYS1jb250ZW50L3NyYy9saWIvY29tcG9uZW50cy9rbm93bGVkZ2UtcmV0cmlldmFsL3NlYXJjaC1haS9zZWFyY2gtYWktcmVzdWx0cy9zZWFyY2gtYWktcmVzdWx0cy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXNCRztBQUVILE9BQU8sRUFBRSxTQUFTLEVBQVUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDckUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxhQUFhLEVBQUUsbUJBQW1CLEVBQUUsc0JBQXNCLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNwSCxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDckcsT0FBTyxFQUFFLGVBQWUsRUFBRSxnQkFBZ0IsRUFBRSxxQkFBcUIsRUFBRSxnQkFBZ0IsRUFBRSxhQUFhLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUVwSixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLCtCQUErQixFQUFFLE1BQU0sa0VBQWtFLENBQUM7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Q0FBQztRQUNsQixDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ0osQ0FBQzt1R0FqS1Usd0JBQXdCOzJGQUF4Qix3QkFBd0IsMkpDdEVyQyxpdkpBb0dBLDg5SkRuREksWUFBWSxnUUFDWixtQkFBbUIsaUZBRW5CLGFBQWEsK0JBRWIsK0JBQStCLG9JQUMvQixlQUFlLDJGQUNmLGFBQWEsbUxBQ2IsZUFBZSx3YUFDZixhQUFhLG9JQUNiLHFCQUFxQixvR0FDckIsYUFBYSw4QkFFYixnQkFBZ0I7O1NBUVAsd0JBQXdCOzJGQUF4Qix3QkFBd0I7a0JBeEJwQyxTQUFTO2lDQUNJLElBQUksV0FDUDt3QkFDUCxZQUFZO3dCQUNaLG1CQUFtQjt3QkFDbkIsc0JBQXNCO3dCQUN0QixhQUFhO3dCQUNiLGdCQUFnQjt3QkFDaEIsK0JBQStCO3dCQUMvQixlQUFlO3dCQUNmLGFBQWE7d0JBQ2IsZUFBZTt3QkFDZixhQUFhO3dCQUNiLHFCQUFxQjt3QkFDckIsYUFBYTt3QkFDYixlQUFlO3dCQUNmLGdCQUFnQjtxQkFDakIsWUFDUyx1QkFBdUIsaUJBR2xCLGlCQUFpQixDQUFDLElBQUksUUFDL0IsRUFBRSxLQUFLLEVBQUUsdUJBQXVCLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyIvKiFcbiAqIENvcHlyaWdodCDCqSAyMDA1LTIwMjQgSHlsYW5kIFNvZnR3YXJlLCBJbmMuIGFuZCBpdHMgYWZmaWxpYXRlcy4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBBbGZyZXNjbyBFeGFtcGxlIENvbnRlbnQgQXBwbGljYXRpb25cbiAqXG4gKiBUaGlzIGZpbGUgaXMgcGFydCBvZiB0aGUgQWxmcmVzY28gRXhhbXBsZSBDb250ZW50IEFwcGxpY2F0aW9uLlxuICogSWYgdGhlIHNvZnR3YXJlIHdhcyBwdXJjaGFzZWQgdW5kZXIgYSBwYWlkIEFsZnJlc2NvIGxpY2Vuc2UsIHRoZSB0ZXJtcyBvZlxuICogdGhlIHBhaWQgbGljZW5zZSBhZ3JlZW1lbnQgd2lsbCBwcmV2YWlsLiBPdGhlcndpc2UsIHRoZSBzb2Z0d2FyZSBpc1xuICogcHJvdmlkZWQgdW5kZXIgdGhlIGZvbGxvd2luZyBvcGVuIHNvdXJjZSBsaWNlbnNlIHRlcm1zOlxuICpcbiAqIFRoZSBBbGZyZXNjbyBFeGFtcGxlIENvbnRlbnQgQXBwbGljYXRpb24gaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeVxuICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5XG4gKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvclxuICogKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi5cbiAqXG4gKiBUaGUgQWxmcmVzY28gRXhhbXBsZSBDb250ZW50IEFwcGxpY2F0aW9uIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsXG4gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZlxuICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiBTZWUgdGhlXG4gKiBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy5cbiAqXG4gKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2VcbiAqIGZyb20gSHlsYW5kIFNvZnR3YXJlLiBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uXG4gKi9cblxuaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBQYWdlQ29tcG9uZW50LCBQYWdlTGF5b3V0Q29tcG9uZW50LCBUb29sYmFyQWN0aW9uQ29tcG9uZW50LCBUb29sYmFyQ29tcG9uZW50IH0gZnJvbSAnQGFsZnJlc2NvL2FjYS1zaGFyZWQnO1xuaW1wb3J0IHsgY29uY2F0TWFwLCBkZWxheSwgZmlsdGVyLCBmaW5hbGl6ZSwgcmV0cnlXaGVuLCBza2lwV2hpbGUsIHN3aXRjaE1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEF2YXRhckNvbXBvbmVudCwgQ2xpcGJvYXJkU2VydmljZSwgRW1wdHlDb250ZW50Q29tcG9uZW50LCBUaHVtYm5haWxTZXJ2aWNlLCBUb29sYmFyTW9kdWxlLCBVbnNhdmVkQ2hhbmdlc0d1YXJkIH0gZnJvbSAnQGFsZnJlc2NvL2FkZi1jb3JlJztcbmltcG9ydCB7IEFpQW5zd2VyLCBOb2RlIH0gZnJvbSAnQGFsZnJlc2NvL2pzLWFwaSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgU2VhcmNoQWlJbnB1dENvbnRhaW5lckNvbXBvbmVudCB9IGZyb20gJy4uL3NlYXJjaC1haS1pbnB1dC1jb250YWluZXIvc2VhcmNoLWFpLWlucHV0LWNvbnRhaW5lci5jb21wb25lbnQnO1xuaW1wb3J0IHsgVHJhbnNsYXRlTW9kdWxlLCBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQgeyBOb2Rlc0FwaVNlcnZpY2UgfSBmcm9tICdAYWxmcmVzY28vYWRmLWNvbnRlbnQtc2VydmljZXMnO1xuaW1wb3J0IHsgZm9ya0pvaW4sIE9ic2VydmFibGUsIG9mLCB0aHJvd0Vycm9yIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBTZWxlY3Rpb25TdGF0ZSB9IGZyb20gJ0BhbGZyZXNjby9hZGYtZXh0ZW5zaW9ucyc7XG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xuaW1wb3J0IHsgTWF0TGlzdE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2xpc3QnO1xuaW1wb3J0IHsgTWF0Q2FyZE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NhcmQnO1xuaW1wb3J0IHsgTWF0VG9vbHRpcE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Rvb2x0aXAnO1xuaW1wb3J0IHsgTW9kYWxBaVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi8uLi9zZXJ2aWNlcy9tb2RhbC1haS5zZXJ2aWNlJztcbmltcG9ydCB7IFZpZXdOb2RlQWN0aW9uIH0gZnJvbSAnQGFsZnJlc2NvL2FjYS1zaGFyZWQvc3RvcmUnO1xuaW1wb3J0IHsgVmlld2VyU2VydmljZSB9IGZyb20gJ0BhbGZyZXNjby9hY2EtY29udGVudC92aWV3ZXInO1xuaW1wb3J0IHsgdGFrZVVudGlsRGVzdHJveWVkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuXG5AQ29tcG9uZW50KHtcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBQYWdlTGF5b3V0Q29tcG9uZW50LFxuICAgIFRvb2xiYXJBY3Rpb25Db21wb25lbnQsXG4gICAgVG9vbGJhck1vZHVsZSxcbiAgICBUb29sYmFyQ29tcG9uZW50LFxuICAgIFNlYXJjaEFpSW5wdXRDb250YWluZXJDb21wb25lbnQsXG4gICAgVHJhbnNsYXRlTW9kdWxlLFxuICAgIE1hdEljb25Nb2R1bGUsXG4gICAgTWF0QnV0dG9uTW9kdWxlLFxuICAgIE1hdExpc3RNb2R1bGUsXG4gICAgRW1wdHlDb250ZW50Q29tcG9uZW50LFxuICAgIE1hdENhcmRNb2R1bGUsXG4gICAgQXZhdGFyQ29tcG9uZW50LFxuICAgIE1hdFRvb2x0aXBNb2R1bGVcbiAgXSxcbiAgc2VsZWN0b3I6ICdhY2Etc2VhcmNoLWFpLXJlc3VsdHMnLFxuICB0ZW1wbGF0ZVVybDogJy4vc2VhcmNoLWFpLXJlc3VsdHMuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9zZWFyY2gtYWktcmVzdWx0cy5jb21wb25lbnQuc2NzcyddLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBob3N0OiB7IGNsYXNzOiAnYWNhLXNlYXJjaC1haS1yZXN1bHRzJyB9XG59KVxuZXhwb3J0IGNsYXNzIFNlYXJjaEFpUmVzdWx0c0NvbXBvbmVudCBleHRlbmRzIFBhZ2VDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBwcml2YXRlIF9hZ2VudElkOiBzdHJpbmc7XG4gIHByaXZhdGUgX2hhc0Fuc3dlcmluZ0Vycm9yID0gZmFsc2U7XG4gIHByaXZhdGUgX2hhc0Vycm9yID0gZmFsc2U7XG4gIHByaXZhdGUgX2xvYWRpbmcgPSBmYWxzZTtcbiAgcHJpdmF0ZSBfbWltZVR5cGVJY29uc0J5Tm9kZUlkOiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9ID0ge307XG4gIHByaXZhdGUgX25vZGVzOiBOb2RlW10gPSBbXTtcbiAgcHJpdmF0ZSBvcGVuZWRWaWV3ZXIgPSBmYWxzZTtcbiAgcHJpdmF0ZSBfc2VsZWN0ZWROb2Rlc1N0YXRlOiBTZWxlY3Rpb25TdGF0ZTtcbiAgcHJpdmF0ZSBfc2VhcmNoUXVlcnkgPSAnJztcbiAgcHJpdmF0ZSBfcXVlcnlBbnN3ZXI6IEFpQW5zd2VyO1xuXG4gIGdldCBhZ2VudElkKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuX2FnZW50SWQ7XG4gIH1cblxuICBnZXQgaGFzQW5zd2VyaW5nRXJyb3IoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX2hhc0Fuc3dlcmluZ0Vycm9yO1xuICB9XG5cbiAgZ2V0IGhhc0Vycm9yKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9oYXNFcnJvcjtcbiAgfVxuXG4gIGdldCBsb2FkaW5nKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9sb2FkaW5nO1xuICB9XG5cbiAgZ2V0IG1pbWVUeXBlSWNvbnNCeU5vZGVJZCgpOiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9IHtcbiAgICByZXR1cm4gdGhpcy5fbWltZVR5cGVJY29uc0J5Tm9kZUlkO1xuICB9XG5cbiAgZ2V0IG5vZGVzKCk6IE5vZGVbXSB7XG4gICAgcmV0dXJuIHRoaXMuX25vZGVzO1xuICB9XG5cbiAgZ2V0IHF1ZXJ5QW5zd2VyKCk6IEFpQW5zd2VyIHtcbiAgICByZXR1cm4gdGhpcy5fcXVlcnlBbnN3ZXI7XG4gIH1cblxuICBnZXQgc2VhcmNoUXVlcnkoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5fc2VhcmNoUXVlcnk7XG4gIH1cblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSxcbiAgICBwcml2YXRlIGNsaXBib2FyZFNlcnZpY2U6IENsaXBib2FyZFNlcnZpY2UsXG4gICAgcHJpdmF0ZSB0aHVtYm5haWxTZXJ2aWNlOiBUaHVtYm5haWxTZXJ2aWNlLFxuICAgIHByaXZhdGUgbm9kZXNBcGlTZXJ2aWNlOiBOb2Rlc0FwaVNlcnZpY2UsXG4gICAgcHJpdmF0ZSB0cmFuc2xhdGVTZXJ2aWNlOiBUcmFuc2xhdGVTZXJ2aWNlLFxuICAgIHByaXZhdGUgdW5zYXZlZENoYW5nZXNHdWFyZDogVW5zYXZlZENoYW5nZXNHdWFyZCxcbiAgICBwcml2YXRlIG1vZGFsQWlTZXJ2aWNlOiBNb2RhbEFpU2VydmljZSxcbiAgICBwcml2YXRlIHZpZXdlclNlcnZpY2U6IFZpZXdlclNlcnZpY2VcbiAgKSB7XG4gICAgc3VwZXIoKTtcbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMudmlld2VyU2VydmljZS5jdXN0b21Ob2Rlc09yZGVyID0gSlNPTi5wYXJzZSh0aGlzLnVzZXJQcmVmZXJlbmNlc1NlcnZpY2UuZ2V0KCdhaVJlZmVyZW5jZXMnLCAnW10nKSk7XG4gICAgdGhpcy5yb3V0ZS5xdWVyeVBhcmFtc1xuICAgICAgLnBpcGUoXG4gICAgICAgIGZpbHRlcigocGFyYW1zKSA9PiB7XG4gICAgICAgICAgY29uc3Qgb3BlbmVkVmlld2VyUHJldmlvdXNseSA9IHRoaXMub3BlbmVkVmlld2VyO1xuICAgICAgICAgIHRoaXMub3BlbmVkVmlld2VyID0gISFwYXJhbXMubG9jYXRpb247XG4gICAgICAgICAgcmV0dXJuICF0aGlzLm9wZW5lZFZpZXdlciAmJiAoIW9wZW5lZFZpZXdlclByZXZpb3VzbHkgfHwgIXRoaXMucXVlcnlBbnN3ZXIpO1xuICAgICAgICB9KSxcbiAgICAgICAgdGFrZVVudGlsRGVzdHJveWVkKHRoaXMuZGVzdHJveVJlZilcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKHBhcmFtcykgPT4ge1xuICAgICAgICB0aGlzLl9hZ2VudElkID0gcGFyYW1zLmFnZW50SWQ7XG4gICAgICAgIHRoaXMuX3NlYXJjaFF1ZXJ5ID0gcGFyYW1zLnF1ZXJ5ID8gZGVjb2RlVVJJQ29tcG9uZW50KHBhcmFtcy5xdWVyeSkgOiAnJztcbiAgICAgICAgY29uc3Qgc2VsZWN0ZWROb2Rlc1N0YXRlID0gdGhpcy51c2VyUHJlZmVyZW5jZXNTZXJ2aWNlLmdldCgna25vd2xlZGdlUmV0cmlldmFsTm9kZXMnKTtcbiAgICAgICAgaWYgKCF0aGlzLnNlYXJjaFF1ZXJ5IHx8ICF0aGlzLmFnZW50SWQgfHwgIXNlbGVjdGVkTm9kZXNTdGF0ZSkge1xuICAgICAgICAgIHRoaXMuX2hhc0Vycm9yID0gdHJ1ZTtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5fc2VsZWN0ZWROb2Rlc1N0YXRlID0gSlNPTi5wYXJzZShzZWxlY3RlZE5vZGVzU3RhdGUpO1xuICAgICAgICB0aGlzLnBlcmZvcm1BaVNlYXJjaCgpO1xuICAgICAgfSk7XG4gICAgc3VwZXIubmdPbkluaXQoKTtcblxuICAgIHRoaXMudW5zYXZlZENoYW5nZXNHdWFyZC51bnNhdmVkID0gdGhpcy5yb3V0ZS5zbmFwc2hvdD8ucXVlcnlQYXJhbXM/LnF1ZXJ5Py5sZW5ndGggPiAwICYmICF0aGlzLmhhc0Vycm9yO1xuICAgIHRoaXMudW5zYXZlZENoYW5nZXNHdWFyZC5kYXRhID0ge1xuICAgICAgZGVzY3JpcHRpb25UZXh0OiAnS05PV0xFREdFX1JFVFJJRVZBTC5TRUFSQ0guRElTQ0FSRF9DSEFOR0VTLkNPTlZFUlNBVElPTl9ESVNDQVJERUQnLFxuICAgICAgY29uZmlybUJ1dHRvblRleHQ6ICdLTk9XTEVER0VfUkVUUklFVkFMLlNFQVJDSC5ESVNDQVJEX0NIQU5HRVMuT0tBWScsXG4gICAgICBoZWFkZXJUZXh0OiAnS05PV0xFREdFX1JFVFJJRVZBTC5TRUFSQ0guRElTQ0FSRF9DSEFOR0VTLldBUk5JTkcnXG4gICAgfTtcbiAgfVxuXG4gIGNvcHlSZXNwb25zZVRvQ2xpcGJvYXJkKCk6IHZvaWQge1xuICAgIHRoaXMuY2xpcGJvYXJkU2VydmljZS5jb3B5Q29udGVudFRvQ2xpcGJvYXJkKFxuICAgICAgdGhpcy5xdWVyeUFuc3dlci5hbnN3ZXIsXG4gICAgICB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudCgnS05PV0xFREdFX1JFVFJJRVZBTC5TRUFSQ0guUkVTVUxUU19QQUdFLkNPUFlfTUVTU0FHRScpXG4gICAgKTtcbiAgfVxuXG4gIGNoZWNrVW5zYXZlZENoYW5nZXNBbmRTZWFyY2goKTogdm9pZCB7XG4gICAgdGhpcy5tb2RhbEFpU2VydmljZS5vcGVuVW5zYXZlZENoYW5nZXNNb2RhbCgoKSA9PiB0aGlzLnBlcmZvcm1BaVNlYXJjaCgpKTtcbiAgfVxuXG4gIHBlcmZvcm1BaVNlYXJjaCgpOiB2b2lkIHtcbiAgICB0aGlzLl9sb2FkaW5nID0gdHJ1ZTtcblxuICAgIHRoaXMuc2VhcmNoQWlTZXJ2aWNlXG4gICAgICAuYXNrKHtcbiAgICAgICAgcXVlc3Rpb246IHRoaXMuc2VhcmNoUXVlcnksXG4gICAgICAgIG5vZGVJZHM6IHRoaXMuX3NlbGVjdGVkTm9kZXNTdGF0ZT8ubm9kZXM/Lmxlbmd0aCA/IHRoaXMuX3NlbGVjdGVkTm9kZXNTdGF0ZS5ub2Rlcy5tYXAoKG5vZGUpID0+IG5vZGUuZW50cnkuaWQpIDogW10sXG4gICAgICAgIGFnZW50SWQ6IHRoaXMuX2FnZW50SWRcbiAgICAgIH0pXG4gICAgICAucGlwZShcbiAgICAgICAgc3dpdGNoTWFwKChyZXNwb25zZSkgPT4gdGhpcy5zZWFyY2hBaVNlcnZpY2UuZ2V0QW5zd2VyKHJlc3BvbnNlLnF1ZXN0aW9uSWQpKSxcbiAgICAgICAgc3dpdGNoTWFwKChyZXNwb25zZSkgPT4ge1xuICAgICAgICAgIGlmICghcmVzcG9uc2UuZW50cnk/LmFuc3dlcikge1xuICAgICAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoKGUpID0+IGUpO1xuICAgICAgICAgIH1cbiAgICAgICAgICB0aGlzLl9xdWVyeUFuc3dlciA9IHJlc3BvbnNlLmVudHJ5O1xuICAgICAgICAgIHJldHVybiBmb3JrSm9pbih0aGlzLnF1ZXJ5QW5zd2VyLnJlZmVyZW5jZXMubWFwKChyZWZlcmVuY2UpID0+IHRoaXMubm9kZXNBcGlTZXJ2aWNlLmdldE5vZGUocmVmZXJlbmNlLnJlZmVyZW5jZUlkKSkpO1xuICAgICAgICB9KSxcbiAgICAgICAgcmV0cnlXaGVuKChlcnJvcnM6IE9ic2VydmFibGU8RXJyb3I+KSA9PiB0aGlzLmFpU2VhcmNoUmV0cnlXaGVuKGVycm9ycykpLFxuICAgICAgICBmaW5hbGl6ZSgoKSA9PiAodGhpcy5fbG9hZGluZyA9IGZhbHNlKSksXG4gICAgICAgIHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLmRlc3Ryb3lSZWYpXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKFxuICAgICAgICAobm9kZXMpID0+IHtcbiAgICAgICAgICBub2Rlcy5mb3JFYWNoKChub2RlKSA9PiB7XG4gICAgICAgICAgICB0aGlzLl9taW1lVHlwZUljb25zQnlOb2RlSWRbbm9kZS5pZF0gPSB0aGlzLnRodW1ibmFpbFNlcnZpY2UuZ2V0TWltZVR5cGVJY29uKG5vZGUuY29udGVudD8ubWltZVR5cGUpO1xuICAgICAgICAgIH0pO1xuICAgICAgICAgIHRoaXMuX25vZGVzID0gbm9kZXM7XG4gICAgICAgICAgY29uc3Qgbm9kZXNJZHMgPSBub2Rlcy5tYXAoKG5vZGUpID0+IG5vZGUuaWQpO1xuICAgICAgICAgIHRoaXMudmlld2VyU2VydmljZS5jdXN0b21Ob2Rlc09yZGVyID0gbm9kZXNJZHM7XG4gICAgICAgICAgdGhpcy51c2VyUHJlZmVyZW5jZXNTZXJ2aWNlLnNldCgnYWlSZWZlcmVuY2VzJywgSlNPTi5zdHJpbmdpZnkobm9kZXNJZHMpKTtcbiAgICAgICAgfSxcbiAgICAgICAgKCkgPT4gKHRoaXMuX2hhc0Fuc3dlcmluZ0Vycm9yID0gdHJ1ZSlcbiAgICAgICk7XG4gIH1cblxuICBvcGVuRmlsZShpZDogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy5zdG9yZS5kaXNwYXRjaChcbiAgICAgIG5ldyBWaWV3Tm9kZUFjdGlvbihpZCwge1xuICAgICAgICBsb2NhdGlvbjogdGhpcy5yb3V0ZXIudXJsXG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIGFpU2VhcmNoUmV0cnlXaGVuKGVycm9yczogT2JzZXJ2YWJsZTxFcnJvcj4pOiBPYnNlcnZhYmxlPEVycm9yPiB7XG4gICAgdGhpcy5faGFzQW5zd2VyaW5nRXJyb3IgPSBmYWxzZTtcbiAgICBjb25zdCBkZWxheUJldHdlZW5SZXRyaWVzID0gMzAwMDtcbiAgICBjb25zdCBtYXhSZXRyaWVzID0gOTtcblxuICAgIHJldHVybiBlcnJvcnMucGlwZShcbiAgICAgIHNraXBXaGlsZSgoKSA9PiB0aGlzLmhhc0Fuc3dlcmluZ0Vycm9yKSxcbiAgICAgIGRlbGF5KGRlbGF5QmV0d2VlblJldHJpZXMpLFxuICAgICAgY29uY2F0TWFwKChlLCBpbmRleCkgPT4ge1xuICAgICAgICBpZiAoaW5kZXggPT09IG1heFJldHJpZXMpIHtcbiAgICAgICAgICB0aGlzLl9oYXNBbnN3ZXJpbmdFcnJvciA9IHRydWU7XG4gICAgICAgICAgdGhpcy5fbG9hZGluZyA9IGZhbHNlO1xuICAgICAgICAgIHJldHVybiB0aHJvd0Vycm9yKGUpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBvZihudWxsKTtcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxufVxuIiwiPGFjYS1wYWdlLWxheW91dD5cbiAgPGFjYS1zZWFyY2gtYWktaW5wdXQtY29udGFpbmVyXG4gICAgY2xhc3M9XCJhY2EtcGFnZS1sYXlvdXQtaGVhZGVyXCJcbiAgICBwbGFjZWhvbGRlcj1cIktOT1dMRURHRV9SRVRSSUVWQUwuU0VBUkNILlJFU1VMVFNfUEFHRS5RVUVSWV9JTlBVVF9QTEFDRUhPTERFUlwiXG4gICAgW2FnZW50SWRdPVwiYWdlbnRJZFwiXG4gICAgW3VzZWRJbkFpUmVzdWx0c1BhZ2VdPVwidHJ1ZVwiXG4gICAgKm5nSWY9XCIhaGFzRXJyb3IgJiYgYWdlbnRJZFwiIC8+XG4gIDxkaXZcbiAgICBjbGFzcz1cImFjYS1wYWdlLWxheW91dC1jb250ZW50XCJcbiAgICAqbmdJZj1cIiFoYXNFcnJvclwiPlxuICAgIDxkaXYgY2xhc3M9XCJhY2Etc2VhcmNoLWFpLXJlc3VsdHMtY29udGFpbmVyXCI+XG4gICAgICA8ZGl2XG4gICAgICAgIGNsYXNzPVwiYWNhLXNlYXJjaC1haS1yZXN1bHRzLWNvbnRhaW5lci1xdWVyeVwiXG4gICAgICAgIGRhdGEtYXV0b21hdGlvbi1pZD1cImFjYS1zZWFyY2gtYWktcmVzdWx0cy1xdWVyeVwiPlxuICAgICAgICB7eyBzZWFyY2hRdWVyeSB9fVxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2XG4gICAgICAgIGNsYXNzPVwiYWNhLXNlYXJjaC1haS1yZXNwb25zZS1jb250YWluZXJcIlxuICAgICAgICBbY2xhc3MuYWNhLXNlYXJjaC1haS1yZXNwb25zZS1jb250YWluZXItZXJyb3JdPVwiaGFzQW5zd2VyaW5nRXJyb3JcIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFsb2FkaW5nIGVsc2Ugc2tlbGV0b25cIj5cbiAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICBjbGFzcz1cImFjYS1zZWFyY2gtYWktcmVzcG9uc2UtY29udGFpbmVyLWJvZHlcIlxuICAgICAgICAgICAgKm5nSWY9XCIhaGFzQW5zd2VyaW5nRXJyb3JcIj5cbiAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgY2xhc3M9XCJhY2Etc2VhcmNoLWFpLXJlc3BvbnNlLWNvbnRhaW5lci1ib2R5LXJlc3BvbnNlXCJcbiAgICAgICAgICAgICAgZGF0YS1hdXRvbWF0aW9uLWlkPVwiYWNhLXNlYXJjaC1haS1yZXN1bHRzLXJlc3BvbnNlXCI+XG4gICAgICAgICAgICAgIHt7IHF1ZXJ5QW5zd2VyPy5hbnN3ZXIgfX1cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICBjbGFzcz1cImFjYS1zZWFyY2gtYWktcmVzcG9uc2UtY29udGFpbmVyLWJvZHktcmVzcG9uc2UtYWN0aW9uIGFjYS1zZWFyY2gtYWktcmVzcG9uc2UtY29udGFpbmVyLWJvZHktcmVzcG9uc2UtYWN0aW9uLXJlZ2VuZXJhdGlvblwiXG4gICAgICAgICAgICAgIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICAgICAgICAoY2xpY2spPVwiY2hlY2tVbnNhdmVkQ2hhbmdlc0FuZFNlYXJjaCgpXCJcbiAgICAgICAgICAgICAgZGF0YS1hdXRvbWF0aW9uLWlkPVwiYWNhLXNlYXJjaC1haS1yZXN1bHRzLXJlZ2VuZXJhdGlvbi1idXR0b25cIlxuICAgICAgICAgICAgICBbdGl0bGVdPVwiJ0tOT1dMRURHRV9SRVRSSUVWQUwuU0VBUkNILlJFU1VMVFNfUEFHRS5SRUdFTkVSQVRJT05fQlVUVE9OX0xBQkVMJyB8IHRyYW5zbGF0ZVwiPlxuICAgICAgICAgICAgICA8bWF0LWljb24+Y2FjaGVkPC9tYXQtaWNvbj5cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICBjbGFzcz1cImFjYS1zZWFyY2gtYWktcmVzcG9uc2UtY29udGFpbmVyLWJvZHktcmVzcG9uc2UtYWN0aW9uXCJcbiAgICAgICAgICAgICAgbWF0LWljb24tYnV0dG9uXG4gICAgICAgICAgICAgIChjbGljayk9XCJjb3B5UmVzcG9uc2VUb0NsaXBib2FyZCgpXCJcbiAgICAgICAgICAgICAgZGF0YS1hdXRvbWF0aW9uLWlkPVwiYWNhLXNlYXJjaC1haS1yZXN1bHRzLWNvcHlpbmctYnV0dG9uXCJcbiAgICAgICAgICAgICAgW3RpdGxlXT1cIidLTk9XTEVER0VfUkVUUklFVkFMLlNFQVJDSC5SRVNVTFRTX1BBR0UuQ09QWV9CVVRUT05fTEFCRUwnIHwgdHJhbnNsYXRlXCI+XG4gICAgICAgICAgICAgIDxtYXQtaWNvbj5jb3B5PC9tYXQtaWNvbj5cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIm5vZGVzPy5sZW5ndGhcIj5cbiAgICAgICAgICAgICAgPG1hdC1kaXZpZGVyIGNsYXNzPVwiYWNhLXNlYXJjaC1haS1yZXNwb25zZS1jb250YWluZXItYm9keS1kaXZpZGVyXCIgLz5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImFjYS1zZWFyY2gtYWktcmVzcG9uc2UtY29udGFpbmVyLWJvZHktcmVmZXJlbmNlcy1jb250YWluZXJcIj5cbiAgICAgICAgICAgICAgICA8cCBjbGFzcz1cImFjYS1zZWFyY2gtYWktcmVzcG9uc2UtY29udGFpbmVyLWJvZHktcmVmZXJlbmNlcy1jb250YWluZXItaGVhZGVyXCI+XG4gICAgICAgICAgICAgICAgICB7eyAnS05PV0xFREdFX1JFVFJJRVZBTC5TRUFSQ0guUkVTVUxUU19QQUdFLlJFRkVSRU5DRURfRE9DVU1FTlRTX0hFQURFUicgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImFjYS1zZWFyY2gtYWktcmVzcG9uc2UtY29udGFpbmVyLWJvZHktcmVmZXJlbmNlcy1jb250YWluZXItZG9jdW1lbnRzXCI+XG4gICAgICAgICAgICAgICAgICA8YVxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImFjYS1zZWFyY2gtYWktcmVzcG9uc2UtY29udGFpbmVyLWJvZHktcmVmZXJlbmNlcy1jb250YWluZXItZG9jdW1lbnRzLWRvY3VtZW50XCJcbiAgICAgICAgICAgICAgICAgICAgKm5nRm9yPVwibGV0IG5vZGUgb2Ygbm9kZXNcIlxuICAgICAgICAgICAgICAgICAgICBbYXR0ci5kYXRhLWF1dG9tYXRpb24taWRdPVwiJ2FjYS1zZWFyY2gtYWktcmVzdWx0cy0nICsgbm9kZS5pZCArICctZG9jdW1lbnQnXCJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9wZW5GaWxlKG5vZGUuaWQpXCJcbiAgICAgICAgICAgICAgICAgICAgKGtleXVwLmVudGVyKT1cIm9wZW5GaWxlKG5vZGUuaWQpXCJcbiAgICAgICAgICAgICAgICAgICAgdGFiaW5kZXg9XCIwXCI+XG4gICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvblxuICAgICAgICAgICAgICAgICAgICAgIG1hdC1saXN0LWljb25cbiAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImFjYS1zZWFyY2gtYWktcmVzcG9uc2UtY29udGFpbmVyLWJvZHktcmVmZXJlbmNlcy1jb250YWluZXItZG9jdW1lbnRzLWRvY3VtZW50LWljb25cIj5cbiAgICAgICAgICAgICAgICAgICAgICA8aW1nIFthbHRdPVwibm9kZS5jb250ZW50Py5taW1lVHlwZVwiIFtzcmNdPVwibWltZVR5cGVJY29uc0J5Tm9kZUlkW25vZGUuaWRdXCIvPlxuICAgICAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYWNhLXNlYXJjaC1haS1yZXNwb25zZS1jb250YWluZXItYm9keS1yZWZlcmVuY2VzLWNvbnRhaW5lci1kb2N1bWVudHMtZG9jdW1lbnQtbmFtZVwiPlxuICAgICAgICAgICAgICAgICAgICAgIHt7IG5vZGUubmFtZSB9fVxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAqbmdJZj1cImhhc0Fuc3dlcmluZ0Vycm9yXCJcbiAgICAgICAgICAgIGNsYXNzPVwiYWNhLXNlYXJjaC1haS1yZXNwb25zZS1jb250YWluZXItZXJyb3ItbWVzc2FnZVwiPlxuICAgICAgICAgICAge3sgJ0tOT1dMRURHRV9SRVRSSUVWQUwuU0VBUkNILkVSUk9SUy5MT0FESU5HX0VSUk9SJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICBtYXQtZmxhdC1idXR0b25cbiAgICAgICAgICAgICAgKGNsaWNrKT1cInBlcmZvcm1BaVNlYXJjaCgpXCJcbiAgICAgICAgICAgICAgY2xhc3M9XCJhY2Etc2VhcmNoLWFpLXJlc3BvbnNlLWNvbnRhaW5lci1lcnJvci1tZXNzYWdlLXJlZ2VuZXJhdGlvbi1idXR0b25cIlxuICAgICAgICAgICAgICBkYXRhLWF1dG9tYXRpb24taWQ9XCJhY2Etc2VhcmNoLWFpLXJlc3VsdHMtZXJyb3ItcmVnZW5lcmF0aW9uLWJ1dHRvblwiPlxuICAgICAgICAgICAgICA8bWF0LWljb24gY2xhc3M9XCJhY2Etc2VhcmNoLWFpLXJlc3BvbnNlLWNvbnRhaW5lci1lcnJvci1tZXNzYWdlLXJlZ2VuZXJhdGlvbi1idXR0b24taWNvblwiPmNhY2hlZDwvbWF0LWljb24+XG4gICAgICAgICAgICAgIHt7ICdLTk9XTEVER0VfUkVUUklFVkFMLlNFQVJDSC5SRVNVTFRTX1BBR0UuUkVHRU5FUkFUSU9OX0JVVFRPTl9MQUJFTCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbiAgPGFkZi1lbXB0eS1jb250ZW50XG4gICAgY2xhc3M9XCJhY2EtcGFnZS1sYXlvdXQtY29udGVudFwiXG4gICAgaWNvbj1cInN0YXJcIlxuICAgIHRpdGxlPVwiS05PV0xFREdFX1JFVFJJRVZBTC5TRUFSQ0guRVJST1JTLlBBR0VfTk9UX0FWQUlMQUJMRV9FUlJPUlwiXG4gICAgKm5nSWY9XCJoYXNFcnJvclwiIC8+XG48L2FjYS1wYWdlLWxheW91dD5cblxuPG5nLXRlbXBsYXRlICNza2VsZXRvbj5cbiAgPGRpdiBjbGFzcz1cImFkZi1za2VsZXRvblwiPjwvZGl2PlxuICA8ZGl2IGNsYXNzPVwiYWRmLXNrZWxldG9uXCI+PC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJhZGYtc2tlbGV0b24gYWRmLXNrZWxldG9uLWhhbGZcIj48L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
@@ -0,0 +1,81 @@
1
+ /*!
2
+ * Copyright © 2005-2024 Hyland Software, Inc. and its affiliates. All rights reserved.
3
+ *
4
+ * Alfresco Example Content Application
5
+ *
6
+ * This file is part of the Alfresco Example Content Application.
7
+ * If the software was purchased under a paid Alfresco license, the terms of
8
+ * the paid license agreement will prevail. Otherwise, the software is
9
+ * provided under the following open source license terms:
10
+ *
11
+ * The Alfresco Example Content Application is free software: you can redistribute it and/or modify
12
+ * it under the terms of the GNU Lesser General Public License as published by
13
+ * the Free Software Foundation, either version 3 of the License, or
14
+ * (at your option) any later version.
15
+ *
16
+ * The Alfresco Example Content Application is distributed in the hope that it will be useful,
17
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
18
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19
+ * GNU Lesser General Public License for more details.
20
+ *
21
+ * You should have received a copy of the GNU Lesser General Public License
22
+ * from Hyland Software. If not, see <http://www.gnu.org/licenses/>.
23
+ */
24
+ import { NavigateLibraryAction } from '@alfresco/aca-shared/store';
25
+ import { Component, ViewEncapsulation } from '@angular/core';
26
+ import { AppHookService, ContextActionsDirective, InfoDrawerComponent, PageComponent, PageLayoutComponent, PaginationDirective, ToolbarComponent } from '@alfresco/aca-shared';
27
+ import { DynamicColumnComponent } from '@alfresco/adf-extensions';
28
+ import { CommonModule } from '@angular/common';
29
+ import { DocumentListModule } from '@alfresco/adf-content-services';
30
+ import { DataTableModule, EmptyContentComponent, PaginationComponent } from '@alfresco/adf-core';
31
+ import { DocumentListDirective } from '../../directives/document-list.directive';
32
+ import { TranslateModule } from '@ngx-translate/core';
33
+ import * as i0 from "@angular/core";
34
+ import * as i1 from "@alfresco/aca-shared";
35
+ import * as i2 from "@angular/common";
36
+ import * as i3 from "@alfresco/adf-content-services";
37
+ import * as i4 from "@alfresco/adf-core";
38
+ import * as i5 from "@ngx-translate/core";
39
+ class LibrariesComponent extends PageComponent {
40
+ appHookService;
41
+ columns = [];
42
+ constructor(appHookService) {
43
+ super();
44
+ this.appHookService = appHookService;
45
+ }
46
+ ngOnInit() {
47
+ super.ngOnInit();
48
+ this.subscriptions.push(this.appHookService.libraryDeleted.subscribe(() => this.reload()), this.appHookService.libraryUpdated.subscribe(() => this.reload()), this.appHookService.libraryLeft.subscribe(() => this.reload()));
49
+ this.columns = this.extensions.documentListPresets.libraries || [];
50
+ }
51
+ navigateTo(node) {
52
+ if (node?.entry?.guid) {
53
+ this.store.dispatch(new NavigateLibraryAction(node.entry.guid));
54
+ }
55
+ }
56
+ handleNodeClick(event) {
57
+ this.navigateTo(event.detail?.node);
58
+ }
59
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: LibrariesComponent, deps: [{ token: i1.AppHookService }], target: i0.ɵɵFactoryTarget.Component });
60
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.9", type: LibrariesComponent, isStandalone: true, selector: "ng-component", usesInheritance: true, ngImport: i0, template: "<aca-page-layout>\n <div class=\"aca-page-layout-header\">\n <h1 class=\"aca-page-title\">\n {{ (selectedRowItemsCount < 1 ? 'APP.BROWSE.LIBRARIES.MENU.MY_LIBRARIES.TITLE' : 'APP.HEADER.SELECTED') | translate: { count: selectedRowItemsCount } }}\n </h1>\n <aca-toolbar [items]=\"actions\" />\n </div>\n\n <div class=\"aca-page-layout-content\">\n <div class=\"aca-main-content\">\n <adf-document-list\n #documentList\n acaDocumentList\n acaContextActions\n [currentFolderId]=\"'-mysites-'\"\n [selectionMode]=\"'multiple'\"\n [multiselect]=\"true\"\n [navigate]=\"false\"\n [sorting]=\"['title', 'asc']\"\n [sortingMode]=\"'client'\"\n [preselectNodes]=\"selectedNodesState?.nodes\"\n [imageResolver]=\"imageResolver\"\n [displayCheckboxesOnHover]=\"true\"\n [isResizingEnabled]=\"true\"\n (selectedItemsCountChanged)=\"onSelectedItemsCountChanged($event)\"\n [blurOnResize]=\"false\"\n (node-dblclick)=\"handleNodeClick($event)\"\n (name-click)=\"handleNodeClick($event)\"\n >\n <adf-custom-empty-content-template>\n <adf-empty-content\n icon=\"library_books\"\n [title]=\"'APP.BROWSE.LIBRARIES.EMPTY_STATE.FILE_LIBRARIES.TITLE'\"\n subtitle=\"APP.BROWSE.LIBRARIES.EMPTY_STATE.FILE_LIBRARIES.TEXT\"\n />\n </adf-custom-empty-content-template>\n\n <data-columns>\n <ng-container *ngFor=\"let column of columns; trackBy: trackByColumnId\">\n <ng-container *ngIf=\"column.template && !(column.desktopOnly && isSmallScreen)\">\n <data-column\n [id]=\"column.id\"\n [key]=\"column.key\"\n [title]=\"column.title\"\n [type]=\"column.type\"\n [format]=\"column.format\"\n [draggable]=\"column.draggable\"\n [resizable]=\"column.resizable\"\n [class]=\"column.class\"\n [sortable]=\"column.sortable\"\n [isHidden]=\"column.isHidden\"\n [sortingKey]=\"column.sortingKey || column.key\"\n >\n <ng-template let-context>\n <adf-dynamic-column [id]=\"column.template\" [context]=\"context\" />\n </ng-template>\n </data-column>\n </ng-container>\n\n <ng-container *ngIf=\"!column.template && !(column.desktopOnly && isSmallScreen)\">\n <data-column\n [id]=\"column.id\"\n [key]=\"column.key\"\n [title]=\"column.title\"\n [type]=\"column.type\"\n [format]=\"column.format\"\n [class]=\"column.class\"\n [draggable]=\"column.draggable\"\n [resizable]=\"column.resizable\"\n [sortable]=\"column.sortable\"\n [isHidden]=\"column.isHidden\"\n [sortingKey]=\"column.sortingKey || column.key\"\n />\n </ng-container>\n </ng-container>\n </data-columns>\n </adf-document-list>\n\n <adf-pagination acaPagination [target]=\"documentList\" />\n </div>\n\n <div class=\"aca-sidebar\" *ngIf=\"infoDrawerOpened$ | async\">\n <aca-info-drawer [node]=\"$any(selection).library\" />\n </div>\n </div>\n</aca-page-layout>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "ngmodule", type: DocumentListModule }, { kind: "component", type: i3.DocumentListComponent, selector: "adf-document-list", inputs: ["includeFields", "where", "permissionsStyle", "locationFormat", "navigate", "showHeader", "navigationMode", "thumbnails", "selectionMode", "multiselect", "contentActions", "contentActionsPosition", "contextMenuActions", "emptyFolderImageUrl", "allowDropFiles", "sorting", "additionalSorting", "sortingMode", "rowStyle", "rowStyleClass", "loading", "_rowFilter", "rowFilter", "imageResolver", "stickyHeader", "headerFilters", "filterValue", "currentFolderId", "preselectNodes", "node", "maxItems", "columnsPresetKey", "setColumnsVisibility", "setColumnsWidths", "setColumnsOrder", "maxColumnsVisible", "isResizingEnabled", "blurOnResize", "displayCheckboxesOnHover"], outputs: ["nodeClick", "nodeDblClick", "folderChange", "preview", "ready", "error", "nodeSelected", "filterSelection", "columnsWidthChanged", "columnsVisibilityChanged", "columnsOrderChanged", "selectedItemsCountChanged"] }, { kind: "directive", type: DocumentListDirective, selector: "[acaDocumentList]" }, { kind: "directive", type: ContextActionsDirective, selector: "[acaContextActions]", inputs: ["acaContextEnable", "customActions"], exportAs: ["acaContextActions"] }, { kind: "ngmodule", type: DataTableModule }, { kind: "component", type: i4.DataColumnComponent, selector: "data-column", inputs: ["id", "key", "customData", "type", "format", "sortable", "draggable", "resizable", "isHidden", "title", "formatTooltip", "sr-title", "class", "copyContent", "editable", "focus", "sortingKey", "order", "currencyConfig", "decimalConfig", "dateConfig"] }, { kind: "component", type: i4.DataColumnListComponent, selector: "data-columns" }, { kind: "directive", type: i4.CustomEmptyContentTemplateDirective, selector: "adf-custom-empty-content-template, empty-folder-content" }, { kind: "component", type: PaginationComponent, selector: "adf-pagination", inputs: ["target", "supportedPageSizes", "pagination"], outputs: ["change", "changePageNumber", "changePageSize", "nextPage", "prevPage"] }, { kind: "directive", type: PaginationDirective, selector: "[acaPagination]" }, { kind: "component", type: InfoDrawerComponent, selector: "aca-info-drawer", inputs: ["nodeId", "node"] }, { kind: "component", type: PageLayoutComponent, selector: "aca-page-layout", inputs: ["hasError"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i5.TranslatePipe, name: "translate" }, { kind: "component", type: ToolbarComponent, selector: "aca-toolbar", inputs: ["items"] }, { kind: "component", type: EmptyContentComponent, selector: "adf-empty-content", inputs: ["icon", "title", "subtitle"] }, { kind: "component", type: DynamicColumnComponent, selector: "adf-dynamic-column", inputs: ["id", "context"] }], encapsulation: i0.ViewEncapsulation.None });
61
+ }
62
+ export { LibrariesComponent };
63
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: LibrariesComponent, decorators: [{
64
+ type: Component,
65
+ args: [{ standalone: true, imports: [
66
+ CommonModule,
67
+ DocumentListModule,
68
+ DocumentListDirective,
69
+ ContextActionsDirective,
70
+ DataTableModule,
71
+ PaginationComponent,
72
+ PaginationDirective,
73
+ InfoDrawerComponent,
74
+ PageLayoutComponent,
75
+ TranslateModule,
76
+ ToolbarComponent,
77
+ EmptyContentComponent,
78
+ DynamicColumnComponent
79
+ ], encapsulation: ViewEncapsulation.None, template: "<aca-page-layout>\n <div class=\"aca-page-layout-header\">\n <h1 class=\"aca-page-title\">\n {{ (selectedRowItemsCount < 1 ? 'APP.BROWSE.LIBRARIES.MENU.MY_LIBRARIES.TITLE' : 'APP.HEADER.SELECTED') | translate: { count: selectedRowItemsCount } }}\n </h1>\n <aca-toolbar [items]=\"actions\" />\n </div>\n\n <div class=\"aca-page-layout-content\">\n <div class=\"aca-main-content\">\n <adf-document-list\n #documentList\n acaDocumentList\n acaContextActions\n [currentFolderId]=\"'-mysites-'\"\n [selectionMode]=\"'multiple'\"\n [multiselect]=\"true\"\n [navigate]=\"false\"\n [sorting]=\"['title', 'asc']\"\n [sortingMode]=\"'client'\"\n [preselectNodes]=\"selectedNodesState?.nodes\"\n [imageResolver]=\"imageResolver\"\n [displayCheckboxesOnHover]=\"true\"\n [isResizingEnabled]=\"true\"\n (selectedItemsCountChanged)=\"onSelectedItemsCountChanged($event)\"\n [blurOnResize]=\"false\"\n (node-dblclick)=\"handleNodeClick($event)\"\n (name-click)=\"handleNodeClick($event)\"\n >\n <adf-custom-empty-content-template>\n <adf-empty-content\n icon=\"library_books\"\n [title]=\"'APP.BROWSE.LIBRARIES.EMPTY_STATE.FILE_LIBRARIES.TITLE'\"\n subtitle=\"APP.BROWSE.LIBRARIES.EMPTY_STATE.FILE_LIBRARIES.TEXT\"\n />\n </adf-custom-empty-content-template>\n\n <data-columns>\n <ng-container *ngFor=\"let column of columns; trackBy: trackByColumnId\">\n <ng-container *ngIf=\"column.template && !(column.desktopOnly && isSmallScreen)\">\n <data-column\n [id]=\"column.id\"\n [key]=\"column.key\"\n [title]=\"column.title\"\n [type]=\"column.type\"\n [format]=\"column.format\"\n [draggable]=\"column.draggable\"\n [resizable]=\"column.resizable\"\n [class]=\"column.class\"\n [sortable]=\"column.sortable\"\n [isHidden]=\"column.isHidden\"\n [sortingKey]=\"column.sortingKey || column.key\"\n >\n <ng-template let-context>\n <adf-dynamic-column [id]=\"column.template\" [context]=\"context\" />\n </ng-template>\n </data-column>\n </ng-container>\n\n <ng-container *ngIf=\"!column.template && !(column.desktopOnly && isSmallScreen)\">\n <data-column\n [id]=\"column.id\"\n [key]=\"column.key\"\n [title]=\"column.title\"\n [type]=\"column.type\"\n [format]=\"column.format\"\n [class]=\"column.class\"\n [draggable]=\"column.draggable\"\n [resizable]=\"column.resizable\"\n [sortable]=\"column.sortable\"\n [isHidden]=\"column.isHidden\"\n [sortingKey]=\"column.sortingKey || column.key\"\n />\n </ng-container>\n </ng-container>\n </data-columns>\n </adf-document-list>\n\n <adf-pagination acaPagination [target]=\"documentList\" />\n </div>\n\n <div class=\"aca-sidebar\" *ngIf=\"infoDrawerOpened$ | async\">\n <aca-info-drawer [node]=\"$any(selection).library\" />\n </div>\n </div>\n</aca-page-layout>\n" }]
80
+ }], ctorParameters: function () { return [{ type: i1.AppHookService }]; } });
81
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlicmFyaWVzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FjYS1jb250ZW50L3NyYy9saWIvY29tcG9uZW50cy9saWJyYXJpZXMvbGlicmFyaWVzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FjYS1jb250ZW50L3NyYy9saWIvY29tcG9uZW50cy9saWJyYXJpZXMvbGlicmFyaWVzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBc0JHO0FBRUgsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFFbkUsT0FBTyxFQUFFLFNBQVMsRUFBVSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNyRSxPQUFPLEVBQ0wsY0FBYyxFQUNkLHVCQUF1QixFQUN2QixtQkFBbUIsRUFDbkIsYUFBYSxFQUNiLG1CQUFtQixFQUNuQixtQkFBbUIsRUFDbkIsZ0JBQWdCLEVBQ2pCLE1BQU0sc0JBQXNCLENBQUM7QUFDOUIsT0FBTyxFQUF5QixzQkFBc0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3pGLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNwRSxPQUFPLEVBQUUsZUFBZSxFQUFFLHFCQUFxQixFQUFFLG1CQUFtQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDakcsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFDakYsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDOzs7Ozs7O0FBRXRELE1Bb0JhLGtCQUFtQixTQUFRLGFBQWE7SUFHL0I7SUFGcEIsT0FBTyxHQUE0QixFQUFFLENBQUM7SUFFdEMsWUFBb0IsY0FBOEI7UUFDaEQsS0FBSyxFQUFFLENBQUM7UUFEVSxtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7SUFFbEQsQ0FBQztJQUVELFFBQVE7UUFDTixLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7UUFFakIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQ3JCLElBQUksQ0FBQyxjQUFjLENBQUMsY0FBYyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsRUFDakUsSUFBSSxDQUFDLGNBQWMsQ0FBQyxjQUFjLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUNqRSxJQUFJLENBQUMsY0FBYyxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQy9ELENBQUM7UUFFRixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsbUJBQW1CLENBQUMsU0FBUyxJQUFJLEVBQUUsQ0FBQztJQUNyRSxDQUFDO0lBRUQsVUFBVSxDQUFDLElBQWU7UUFDeEIsSUFBSSxJQUFJLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRTtZQUNyQixJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxJQUFJLHFCQUFxQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztTQUNqRTtJQUNILENBQUM7SUFFRCxlQUFlLENBQUMsS0FBWTtRQUMxQixJQUFJLENBQUMsVUFBVSxDQUFFLEtBQXFCLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ3ZELENBQUM7dUdBM0JVLGtCQUFrQjsyRkFBbEIsa0JBQWtCLCtGQy9EL0IsNjNHQXNGQSwyQ0R4Q0ksWUFBWSxvVEFDWixrQkFBa0Isdy9CQUNsQixxQkFBcUIsOERBQ3JCLHVCQUF1QiwrSUFDdkIsZUFBZSw4a0JBQ2YsbUJBQW1CLHNNQUNuQixtQkFBbUIsNERBQ25CLG1CQUFtQix3RkFDbkIsbUJBQW1CLGlGQUNuQixlQUFlLDRGQUNmLGdCQUFnQiwyRUFDaEIscUJBQXFCLHFHQUNyQixzQkFBc0I7O1NBS2Isa0JBQWtCOzJGQUFsQixrQkFBa0I7a0JBcEI5QixTQUFTO2lDQUNJLElBQUksV0FDUDt3QkFDUCxZQUFZO3dCQUNaLGtCQUFrQjt3QkFDbEIscUJBQXFCO3dCQUNyQix1QkFBdUI7d0JBQ3ZCLGVBQWU7d0JBQ2YsbUJBQW1CO3dCQUNuQixtQkFBbUI7d0JBQ25CLG1CQUFtQjt3QkFDbkIsbUJBQW1CO3dCQUNuQixlQUFlO3dCQUNmLGdCQUFnQjt3QkFDaEIscUJBQXFCO3dCQUNyQixzQkFBc0I7cUJBQ3ZCLGlCQUVjLGlCQUFpQixDQUFDLElBQUkiLCJzb3VyY2VzQ29udGVudCI6WyIvKiFcbiAqIENvcHlyaWdodCDCqSAyMDA1LTIwMjQgSHlsYW5kIFNvZnR3YXJlLCBJbmMuIGFuZCBpdHMgYWZmaWxpYXRlcy4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBBbGZyZXNjbyBFeGFtcGxlIENvbnRlbnQgQXBwbGljYXRpb25cbiAqXG4gKiBUaGlzIGZpbGUgaXMgcGFydCBvZiB0aGUgQWxmcmVzY28gRXhhbXBsZSBDb250ZW50IEFwcGxpY2F0aW9uLlxuICogSWYgdGhlIHNvZnR3YXJlIHdhcyBwdXJjaGFzZWQgdW5kZXIgYSBwYWlkIEFsZnJlc2NvIGxpY2Vuc2UsIHRoZSB0ZXJtcyBvZlxuICogdGhlIHBhaWQgbGljZW5zZSBhZ3JlZW1lbnQgd2lsbCBwcmV2YWlsLiBPdGhlcndpc2UsIHRoZSBzb2Z0d2FyZSBpc1xuICogcHJvdmlkZWQgdW5kZXIgdGhlIGZvbGxvd2luZyBvcGVuIHNvdXJjZSBsaWNlbnNlIHRlcm1zOlxuICpcbiAqIFRoZSBBbGZyZXNjbyBFeGFtcGxlIENvbnRlbnQgQXBwbGljYXRpb24gaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeVxuICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5XG4gKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvclxuICogKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi5cbiAqXG4gKiBUaGUgQWxmcmVzY28gRXhhbXBsZSBDb250ZW50IEFwcGxpY2F0aW9uIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsXG4gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZlxuICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiBTZWUgdGhlXG4gKiBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy5cbiAqXG4gKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2VcbiAqIGZyb20gSHlsYW5kIFNvZnR3YXJlLiBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uXG4gKi9cblxuaW1wb3J0IHsgTmF2aWdhdGVMaWJyYXJ5QWN0aW9uIH0gZnJvbSAnQGFsZnJlc2NvL2FjYS1zaGFyZWQvc3RvcmUnO1xuaW1wb3J0IHsgU2l0ZUVudHJ5IH0gZnJvbSAnQGFsZnJlc2NvL2pzLWFwaSc7XG5pbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIEFwcEhvb2tTZXJ2aWNlLFxuICBDb250ZXh0QWN0aW9uc0RpcmVjdGl2ZSxcbiAgSW5mb0RyYXdlckNvbXBvbmVudCxcbiAgUGFnZUNvbXBvbmVudCxcbiAgUGFnZUxheW91dENvbXBvbmVudCxcbiAgUGFnaW5hdGlvbkRpcmVjdGl2ZSxcbiAgVG9vbGJhckNvbXBvbmVudFxufSBmcm9tICdAYWxmcmVzY28vYWNhLXNoYXJlZCc7XG5pbXBvcnQgeyBEb2N1bWVudExpc3RQcmVzZXRSZWYsIER5bmFtaWNDb2x1bW5Db21wb25lbnQgfSBmcm9tICdAYWxmcmVzY28vYWRmLWV4dGVuc2lvbnMnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IERvY3VtZW50TGlzdE1vZHVsZSB9IGZyb20gJ0BhbGZyZXNjby9hZGYtY29udGVudC1zZXJ2aWNlcyc7XG5pbXBvcnQgeyBEYXRhVGFibGVNb2R1bGUsIEVtcHR5Q29udGVudENvbXBvbmVudCwgUGFnaW5hdGlvbkNvbXBvbmVudCB9IGZyb20gJ0BhbGZyZXNjby9hZGYtY29yZSc7XG5pbXBvcnQgeyBEb2N1bWVudExpc3REaXJlY3RpdmUgfSBmcm9tICcuLi8uLi9kaXJlY3RpdmVzL2RvY3VtZW50LWxpc3QuZGlyZWN0aXZlJztcbmltcG9ydCB7IFRyYW5zbGF0ZU1vZHVsZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBEb2N1bWVudExpc3RNb2R1bGUsXG4gICAgRG9jdW1lbnRMaXN0RGlyZWN0aXZlLFxuICAgIENvbnRleHRBY3Rpb25zRGlyZWN0aXZlLFxuICAgIERhdGFUYWJsZU1vZHVsZSxcbiAgICBQYWdpbmF0aW9uQ29tcG9uZW50LFxuICAgIFBhZ2luYXRpb25EaXJlY3RpdmUsXG4gICAgSW5mb0RyYXdlckNvbXBvbmVudCxcbiAgICBQYWdlTGF5b3V0Q29tcG9uZW50LFxuICAgIFRyYW5zbGF0ZU1vZHVsZSxcbiAgICBUb29sYmFyQ29tcG9uZW50LFxuICAgIEVtcHR5Q29udGVudENvbXBvbmVudCxcbiAgICBEeW5hbWljQ29sdW1uQ29tcG9uZW50XG4gIF0sXG4gIHRlbXBsYXRlVXJsOiAnLi9saWJyYXJpZXMuY29tcG9uZW50Lmh0bWwnLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXG59KVxuZXhwb3J0IGNsYXNzIExpYnJhcmllc0NvbXBvbmVudCBleHRlbmRzIFBhZ2VDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBjb2x1bW5zOiBEb2N1bWVudExpc3RQcmVzZXRSZWZbXSA9IFtdO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgYXBwSG9va1NlcnZpY2U6IEFwcEhvb2tTZXJ2aWNlKSB7XG4gICAgc3VwZXIoKTtcbiAgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHN1cGVyLm5nT25Jbml0KCk7XG5cbiAgICB0aGlzLnN1YnNjcmlwdGlvbnMucHVzaChcbiAgICAgIHRoaXMuYXBwSG9va1NlcnZpY2UubGlicmFyeURlbGV0ZWQuc3Vic2NyaWJlKCgpID0+IHRoaXMucmVsb2FkKCkpLFxuICAgICAgdGhpcy5hcHBIb29rU2VydmljZS5saWJyYXJ5VXBkYXRlZC5zdWJzY3JpYmUoKCkgPT4gdGhpcy5yZWxvYWQoKSksXG4gICAgICB0aGlzLmFwcEhvb2tTZXJ2aWNlLmxpYnJhcnlMZWZ0LnN1YnNjcmliZSgoKSA9PiB0aGlzLnJlbG9hZCgpKVxuICAgICk7XG5cbiAgICB0aGlzLmNvbHVtbnMgPSB0aGlzLmV4dGVuc2lvbnMuZG9jdW1lbnRMaXN0UHJlc2V0cy5saWJyYXJpZXMgfHwgW107XG4gIH1cblxuICBuYXZpZ2F0ZVRvKG5vZGU6IFNpdGVFbnRyeSkge1xuICAgIGlmIChub2RlPy5lbnRyeT8uZ3VpZCkge1xuICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChuZXcgTmF2aWdhdGVMaWJyYXJ5QWN0aW9uKG5vZGUuZW50cnkuZ3VpZCkpO1xuICAgIH1cbiAgfVxuXG4gIGhhbmRsZU5vZGVDbGljayhldmVudDogRXZlbnQpIHtcbiAgICB0aGlzLm5hdmlnYXRlVG8oKGV2ZW50IGFzIEN1c3RvbUV2ZW50KS5kZXRhaWw/Lm5vZGUpO1xuICB9XG59XG4iLCI8YWNhLXBhZ2UtbGF5b3V0PlxuICA8ZGl2IGNsYXNzPVwiYWNhLXBhZ2UtbGF5b3V0LWhlYWRlclwiPlxuICAgIDxoMSBjbGFzcz1cImFjYS1wYWdlLXRpdGxlXCI+XG4gICAgICB7eyAoc2VsZWN0ZWRSb3dJdGVtc0NvdW50IDwgMSA/ICdBUFAuQlJPV1NFLkxJQlJBUklFUy5NRU5VLk1ZX0xJQlJBUklFUy5USVRMRScgOiAnQVBQLkhFQURFUi5TRUxFQ1RFRCcpIHwgdHJhbnNsYXRlOiB7IGNvdW50OiBzZWxlY3RlZFJvd0l0ZW1zQ291bnQgfSB9fVxuICAgIDwvaDE+XG4gICAgPGFjYS10b29sYmFyIFtpdGVtc109XCJhY3Rpb25zXCIgLz5cbiAgPC9kaXY+XG5cbiAgPGRpdiBjbGFzcz1cImFjYS1wYWdlLWxheW91dC1jb250ZW50XCI+XG4gICAgPGRpdiBjbGFzcz1cImFjYS1tYWluLWNvbnRlbnRcIj5cbiAgICAgIDxhZGYtZG9jdW1lbnQtbGlzdFxuICAgICAgICAjZG9jdW1lbnRMaXN0XG4gICAgICAgIGFjYURvY3VtZW50TGlzdFxuICAgICAgICBhY2FDb250ZXh0QWN0aW9uc1xuICAgICAgICBbY3VycmVudEZvbGRlcklkXT1cIictbXlzaXRlcy0nXCJcbiAgICAgICAgW3NlbGVjdGlvbk1vZGVdPVwiJ211bHRpcGxlJ1wiXG4gICAgICAgIFttdWx0aXNlbGVjdF09XCJ0cnVlXCJcbiAgICAgICAgW25hdmlnYXRlXT1cImZhbHNlXCJcbiAgICAgICAgW3NvcnRpbmddPVwiWyd0aXRsZScsICdhc2MnXVwiXG4gICAgICAgIFtzb3J0aW5nTW9kZV09XCInY2xpZW50J1wiXG4gICAgICAgIFtwcmVzZWxlY3ROb2Rlc109XCJzZWxlY3RlZE5vZGVzU3RhdGU/Lm5vZGVzXCJcbiAgICAgICAgW2ltYWdlUmVzb2x2ZXJdPVwiaW1hZ2VSZXNvbHZlclwiXG4gICAgICAgIFtkaXNwbGF5Q2hlY2tib3hlc09uSG92ZXJdPVwidHJ1ZVwiXG4gICAgICAgIFtpc1Jlc2l6aW5nRW5hYmxlZF09XCJ0cnVlXCJcbiAgICAgICAgKHNlbGVjdGVkSXRlbXNDb3VudENoYW5nZWQpPVwib25TZWxlY3RlZEl0ZW1zQ291bnRDaGFuZ2VkKCRldmVudClcIlxuICAgICAgICBbYmx1ck9uUmVzaXplXT1cImZhbHNlXCJcbiAgICAgICAgKG5vZGUtZGJsY2xpY2spPVwiaGFuZGxlTm9kZUNsaWNrKCRldmVudClcIlxuICAgICAgICAobmFtZS1jbGljayk9XCJoYW5kbGVOb2RlQ2xpY2soJGV2ZW50KVwiXG4gICAgICA+XG4gICAgICAgIDxhZGYtY3VzdG9tLWVtcHR5LWNvbnRlbnQtdGVtcGxhdGU+XG4gICAgICAgICAgPGFkZi1lbXB0eS1jb250ZW50XG4gICAgICAgICAgICBpY29uPVwibGlicmFyeV9ib29rc1wiXG4gICAgICAgICAgICBbdGl0bGVdPVwiJ0FQUC5CUk9XU0UuTElCUkFSSUVTLkVNUFRZX1NUQVRFLkZJTEVfTElCUkFSSUVTLlRJVExFJ1wiXG4gICAgICAgICAgICBzdWJ0aXRsZT1cIkFQUC5CUk9XU0UuTElCUkFSSUVTLkVNUFRZX1NUQVRFLkZJTEVfTElCUkFSSUVTLlRFWFRcIlxuICAgICAgICAgIC8+XG4gICAgICAgIDwvYWRmLWN1c3RvbS1lbXB0eS1jb250ZW50LXRlbXBsYXRlPlxuXG4gICAgICAgIDxkYXRhLWNvbHVtbnM+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgY29sdW1uIG9mIGNvbHVtbnM7IHRyYWNrQnk6IHRyYWNrQnlDb2x1bW5JZFwiPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImNvbHVtbi50ZW1wbGF0ZSAmJiAhKGNvbHVtbi5kZXNrdG9wT25seSAmJiBpc1NtYWxsU2NyZWVuKVwiPlxuICAgICAgICAgICAgICA8ZGF0YS1jb2x1bW5cbiAgICAgICAgICAgICAgICBbaWRdPVwiY29sdW1uLmlkXCJcbiAgICAgICAgICAgICAgICBba2V5XT1cImNvbHVtbi5rZXlcIlxuICAgICAgICAgICAgICAgIFt0aXRsZV09XCJjb2x1bW4udGl0bGVcIlxuICAgICAgICAgICAgICAgIFt0eXBlXT1cImNvbHVtbi50eXBlXCJcbiAgICAgICAgICAgICAgICBbZm9ybWF0XT1cImNvbHVtbi5mb3JtYXRcIlxuICAgICAgICAgICAgICAgIFtkcmFnZ2FibGVdPVwiY29sdW1uLmRyYWdnYWJsZVwiXG4gICAgICAgICAgICAgICAgW3Jlc2l6YWJsZV09XCJjb2x1bW4ucmVzaXphYmxlXCJcbiAgICAgICAgICAgICAgICBbY2xhc3NdPVwiY29sdW1uLmNsYXNzXCJcbiAgICAgICAgICAgICAgICBbc29ydGFibGVdPVwiY29sdW1uLnNvcnRhYmxlXCJcbiAgICAgICAgICAgICAgICBbaXNIaWRkZW5dPVwiY29sdW1uLmlzSGlkZGVuXCJcbiAgICAgICAgICAgICAgICBbc29ydGluZ0tleV09XCJjb2x1bW4uc29ydGluZ0tleSB8fCBjb2x1bW4ua2V5XCJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBsZXQtY29udGV4dD5cbiAgICAgICAgICAgICAgICAgIDxhZGYtZHluYW1pYy1jb2x1bW4gW2lkXT1cImNvbHVtbi50ZW1wbGF0ZVwiIFtjb250ZXh0XT1cImNvbnRleHRcIiAvPlxuICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICAgIDwvZGF0YS1jb2x1bW4+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFjb2x1bW4udGVtcGxhdGUgJiYgIShjb2x1bW4uZGVza3RvcE9ubHkgJiYgaXNTbWFsbFNjcmVlbilcIj5cbiAgICAgICAgICAgICAgPGRhdGEtY29sdW1uXG4gICAgICAgICAgICAgICAgW2lkXT1cImNvbHVtbi5pZFwiXG4gICAgICAgICAgICAgICAgW2tleV09XCJjb2x1bW4ua2V5XCJcbiAgICAgICAgICAgICAgICBbdGl0bGVdPVwiY29sdW1uLnRpdGxlXCJcbiAgICAgICAgICAgICAgICBbdHlwZV09XCJjb2x1bW4udHlwZVwiXG4gICAgICAgICAgICAgICAgW2Zvcm1hdF09XCJjb2x1bW4uZm9ybWF0XCJcbiAgICAgICAgICAgICAgICBbY2xhc3NdPVwiY29sdW1uLmNsYXNzXCJcbiAgICAgICAgICAgICAgICBbZHJhZ2dhYmxlXT1cImNvbHVtbi5kcmFnZ2FibGVcIlxuICAgICAgICAgICAgICAgIFtyZXNpemFibGVdPVwiY29sdW1uLnJlc2l6YWJsZVwiXG4gICAgICAgICAgICAgICAgW3NvcnRhYmxlXT1cImNvbHVtbi5zb3J0YWJsZVwiXG4gICAgICAgICAgICAgICAgW2lzSGlkZGVuXT1cImNvbHVtbi5pc0hpZGRlblwiXG4gICAgICAgICAgICAgICAgW3NvcnRpbmdLZXldPVwiY29sdW1uLnNvcnRpbmdLZXkgfHwgY29sdW1uLmtleVwiXG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9kYXRhLWNvbHVtbnM+XG4gICAgICA8L2FkZi1kb2N1bWVudC1saXN0PlxuXG4gICAgICA8YWRmLXBhZ2luYXRpb24gYWNhUGFnaW5hdGlvbiBbdGFyZ2V0XT1cImRvY3VtZW50TGlzdFwiIC8+XG4gICAgPC9kaXY+XG5cbiAgICA8ZGl2IGNsYXNzPVwiYWNhLXNpZGViYXJcIiAqbmdJZj1cImluZm9EcmF3ZXJPcGVuZWQkIHwgYXN5bmNcIj5cbiAgICAgIDxhY2EtaW5mby1kcmF3ZXIgW25vZGVdPVwiJGFueShzZWxlY3Rpb24pLmxpYnJhcnlcIiAvPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvYWNhLXBhZ2UtbGF5b3V0PlxuIl19