@alfresco/aca-content 5.1.1 → 5.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (396) hide show
  1. package/assets/app.extensions.json +9 -0
  2. package/assets/i18n/ar.json +600 -599
  3. package/assets/i18n/cs.json +600 -599
  4. package/assets/i18n/da.json +600 -599
  5. package/assets/i18n/de.json +600 -599
  6. package/assets/i18n/en.json +40 -1
  7. package/assets/i18n/es.json +600 -599
  8. package/assets/i18n/fi.json +600 -599
  9. package/assets/i18n/fr.json +600 -599
  10. package/assets/i18n/it.json +600 -599
  11. package/assets/i18n/ja.json +600 -599
  12. package/assets/i18n/nb.json +600 -599
  13. package/assets/i18n/nl.json +600 -599
  14. package/assets/i18n/pl.json +600 -599
  15. package/assets/i18n/pt-BR.json +600 -599
  16. package/assets/i18n/ru.json +600 -599
  17. package/assets/i18n/sv.json +600 -599
  18. package/assets/i18n/zh-CN.json +600 -599
  19. package/esm2022/about/about.component.mjs +70 -0
  20. package/esm2022/about/aca-about.module.mjs +47 -0
  21. package/esm2022/folder-rules/folder-rules.module.mjs +116 -0
  22. package/esm2022/folder-rules/manage-rules/manage-rules.smart-component.mjs +280 -0
  23. package/esm2022/folder-rules/rule-details/actions/rule-action-list.ui-component.mjs +117 -0
  24. package/esm2022/folder-rules/rule-details/actions/rule-action.ui-component.mjs +359 -0
  25. package/esm2022/folder-rules/rule-details/conditions/rule-composite-condition.ui-component.mjs +171 -0
  26. package/esm2022/folder-rules/rule-details/conditions/rule-simple-condition.ui-component.mjs +237 -0
  27. package/esm2022/folder-rules/rule-details/edit-rule-dialog.ui-component.mjs +80 -0
  28. package/esm2022/folder-rules/rule-details/options/rule-options.ui-component.mjs +129 -0
  29. package/esm2022/folder-rules/rule-details/rule-details.ui-component.mjs +192 -0
  30. package/esm2022/folder-rules/rule-details/triggers/rule-triggers.ui-component.mjs +87 -0
  31. package/esm2022/folder-rules/rule-details/validators/rule-actions.validator.mjs +36 -0
  32. package/esm2022/folder-rules/rule-list/rule-list/rule-list.ui-component.mjs +166 -0
  33. package/esm2022/folder-rules/rule-list/rule-list-grouping/rule-list-grouping.ui-component.mjs +80 -0
  34. package/esm2022/folder-rules/rule-list/rule-list-item/rule-list-item.ui-component.mjs +59 -0
  35. package/esm2022/folder-rules/rule-set-picker/rule-set-picker.smart-component.mjs +125 -0
  36. package/esm2022/folder-rules/services/actions.service.mjs +117 -0
  37. package/esm2022/folder-rules/services/folder-rule-sets.service.mjs +230 -0
  38. package/esm2022/folder-rules/services/folder-rules.service.mjs +195 -0
  39. package/esm2022/lib/aca-content.module.mjs +303 -0
  40. package/esm2022/lib/aca-content.routes.mjs +369 -0
  41. package/esm2022/lib/components/bulk-actions-dropdown/bulk-actions-dropdown.component.mjs +82 -0
  42. package/{esm2020 → esm2022}/lib/components/common/language-picker/language-picker.component.mjs +9 -8
  43. package/esm2022/lib/components/common/location-link/location-link.component.mjs +182 -0
  44. package/{esm2020 → esm2022}/lib/components/common/logout/logout.component.mjs +8 -6
  45. package/esm2022/lib/components/common/toggle-shared/toggle-shared.component.mjs +81 -0
  46. package/esm2022/lib/components/common/user-info/user-info.component.mjs +46 -0
  47. package/esm2022/lib/components/context-menu/base-context-menu.directive.mjs +77 -0
  48. package/esm2022/lib/components/context-menu/context-menu-item.component.mjs +65 -0
  49. package/esm2022/lib/components/context-menu/context-menu-outside-event.directive.mjs +62 -0
  50. package/esm2022/lib/components/context-menu/context-menu-overlay.mjs +33 -0
  51. package/esm2022/lib/components/context-menu/context-menu.component.mjs +84 -0
  52. package/esm2022/lib/components/context-menu/context-menu.service.mjs +127 -0
  53. package/esm2022/lib/components/context-menu/custom-context-menu-actions.token.mjs +26 -0
  54. package/esm2022/lib/components/context-menu/custom-context-menu.component.mjs +79 -0
  55. package/esm2022/lib/components/details/details.component.mjs +154 -0
  56. package/esm2022/lib/components/dl-custom-components/datatable-cell-badges/datatable-cell-badges.component.mjs +75 -0
  57. package/esm2022/lib/components/dl-custom-components/name-column/name-column.component.mjs +106 -0
  58. package/esm2022/lib/components/dl-custom-components/tags-column/tags-column.component.mjs +52 -0
  59. package/esm2022/lib/components/dl-custom-components/thumbnail-column/thumbnail-column.component.mjs +77 -0
  60. package/esm2022/lib/components/favorite-libraries/favorite-libraries.component.mjs +126 -0
  61. package/esm2022/lib/components/favorites/favorites.component.mjs +105 -0
  62. package/esm2022/lib/components/files/files.component.mjs +336 -0
  63. package/esm2022/lib/components/home/home.component.mjs +46 -0
  64. package/esm2022/lib/components/info-drawer/comments-tab/comments-tab.component.mjs +62 -0
  65. package/esm2022/lib/components/info-drawer/info.drawer.module.mjs +74 -0
  66. package/esm2022/lib/components/info-drawer/library-metadata-tab/library-metadata-form.component.mjs +213 -0
  67. package/esm2022/lib/components/info-drawer/library-metadata-tab/library-metadata-tab.component.mjs +47 -0
  68. package/esm2022/lib/components/info-drawer/metadata-tab/metadata-tab.component.mjs +145 -0
  69. package/esm2022/lib/components/info-drawer/versions-tab/versions-tab.component.mjs +107 -0
  70. package/esm2022/lib/components/knowledge-retrieval/search-ai/agents-button/agents-button.component.mjs +135 -0
  71. package/esm2022/lib/components/knowledge-retrieval/search-ai/search-ai-input/search-ai-input.component.mjs +181 -0
  72. package/esm2022/lib/components/knowledge-retrieval/search-ai/search-ai-input-container/search-ai-input-container.component.mjs +77 -0
  73. package/esm2022/lib/components/knowledge-retrieval/search-ai/search-ai-results/search-ai-results.component.mjs +210 -0
  74. package/esm2022/lib/components/libraries/libraries.component.mjs +81 -0
  75. package/esm2022/lib/components/recent-files/recent-files.component.mjs +80 -0
  76. package/esm2022/lib/components/search/search-action-menu/search-action-menu.component.mjs +66 -0
  77. package/esm2022/lib/components/search/search-input/search-input.component.mjs +297 -0
  78. package/esm2022/lib/components/search/search-input-control/search-input-control.component.mjs +94 -0
  79. package/esm2022/lib/components/search/search-libraries-results/search-libraries-query-builder.service.mjs +93 -0
  80. package/esm2022/lib/components/search/search-libraries-results/search-libraries-results.component.mjs +155 -0
  81. package/esm2022/lib/components/search/search-navigation.service.mjs +62 -0
  82. package/esm2022/lib/components/search/search-results/search-results.component.mjs +279 -0
  83. package/esm2022/lib/components/search/search-results-row/search-results-row.component.mjs +149 -0
  84. package/esm2022/lib/components/search/search-save/dialog/delete/saved-search-delete-dialog.component.mjs +82 -0
  85. package/esm2022/lib/components/search/search-save/dialog/edit/saved-search-edit-dialog.component.mjs +116 -0
  86. package/esm2022/lib/components/search/search-save/dialog/save-search-dialog.component.mjs +125 -0
  87. package/esm2022/lib/components/search/search-save/dialog/saved-search-form.interface.mjs +25 -0
  88. package/esm2022/lib/components/search/search-save/dialog/unique-search-name-validator.mjs +45 -0
  89. package/esm2022/lib/components/search/search-save/directive/save-search.directive.mjs +64 -0
  90. package/esm2022/lib/components/search/search-save/list/saved-searches-list-ui.service.mjs +51 -0
  91. package/esm2022/lib/components/search/search-save/list/smart-list/saved-searches-list-schema.mjs +44 -0
  92. package/esm2022/lib/components/search/search-save/list/smart-list/saved-searches-smart-list.component.mjs +50 -0
  93. package/esm2022/lib/components/search/search-save/list/ui-list/saved-searches-list.ui-component.mjs +153 -0
  94. package/esm2022/lib/components/search/search-save/sidenav/save-search-sidenav.component.mjs +94 -0
  95. package/esm2022/lib/components/shared-files/shared-files.component.mjs +85 -0
  96. package/esm2022/lib/components/shared-link-view/shared-link-view.component.mjs +89 -0
  97. package/esm2022/lib/components/sidenav/components/button-menu.component.mjs +66 -0
  98. package/esm2022/lib/components/sidenav/components/expand-menu.component.mjs +73 -0
  99. package/esm2022/lib/components/sidenav/components/sidenav-header.component.mjs +65 -0
  100. package/esm2022/lib/components/sidenav/directives/action.directive.mjs +86 -0
  101. package/esm2022/lib/components/sidenav/directives/active-link.directive.mjs +100 -0
  102. package/esm2022/lib/components/sidenav/directives/expansion-panel.directive.mjs +107 -0
  103. package/esm2022/lib/components/sidenav/directives/menu-panel.directive.mjs +103 -0
  104. package/esm2022/lib/components/sidenav/sidenav.component.mjs +101 -0
  105. package/esm2022/lib/components/sidenav/user-menu/user-menu.component.mjs +57 -0
  106. package/esm2022/lib/components/toolbar/toggle-edit-offline/toggle-edit-offline.component.mjs +143 -0
  107. package/esm2022/lib/components/toolbar/toggle-favorite/toggle-favorite.component.mjs +91 -0
  108. package/esm2022/lib/components/toolbar/toggle-favorite-library/toggle-favorite-library.component.mjs +112 -0
  109. package/esm2022/lib/components/toolbar/toggle-info-drawer/toggle-info-drawer.component.mjs +77 -0
  110. package/esm2022/lib/components/toolbar/toggle-join-library/toggle-join-library-button.component.mjs +107 -0
  111. package/{esm2020 → esm2022}/lib/components/toolbar/toggle-join-library/toggle-join-library-menu.component.mjs +7 -6
  112. package/esm2022/lib/components/toolbar/view-node/view-node.component.mjs +128 -0
  113. package/esm2022/lib/components/trashcan/trashcan.component.mjs +66 -0
  114. package/esm2022/lib/components/upload-files-dialog/upload-files-dialog.component.mjs +55 -0
  115. package/esm2022/lib/components/view-profile/view-profile.component.mjs +200 -0
  116. package/esm2022/lib/dialogs/node-template/create-from-template.dialog.mjs +127 -0
  117. package/esm2022/lib/directives/document-list.directive.mjs +207 -0
  118. package/esm2022/lib/extensions/core.extensions.module.mjs +56 -0
  119. package/esm2022/lib/services/content-management.service.mjs +892 -0
  120. package/esm2022/lib/services/content-url.service.mjs +74 -0
  121. package/esm2022/lib/services/modal-ai.service.mjs +65 -0
  122. package/esm2022/lib/services/node-actions.service.mjs +609 -0
  123. package/esm2022/lib/services/node-template.service.mjs +145 -0
  124. package/esm2022/lib/services/search-ai-navigation.service.mjs +63 -0
  125. package/esm2022/lib/store/app-store.module.mjs +101 -0
  126. package/esm2022/lib/store/effects/app.effects.mjs +46 -0
  127. package/esm2022/lib/store/effects/contextmenu.effects.mjs +65 -0
  128. package/esm2022/lib/store/effects/download.effects.mjs +153 -0
  129. package/esm2022/lib/store/effects/favorite.effects.mjs +72 -0
  130. package/esm2022/lib/store/effects/library.effects.mjs +108 -0
  131. package/esm2022/lib/store/effects/node.effects.mjs +318 -0
  132. package/esm2022/lib/store/effects/search-ai.effects.mjs +54 -0
  133. package/esm2022/lib/store/effects/search.effects.mjs +52 -0
  134. package/esm2022/lib/store/effects/template.effects.mjs +116 -0
  135. package/esm2022/lib/store/effects/upload.effects.mjs +166 -0
  136. package/esm2022/lib/store/effects/viewer.effects.mjs +169 -0
  137. package/esm2022/lib/utils/aca-search-utils.mjs +129 -0
  138. package/esm2022/ms-office/actions/aos.actions.mjs +32 -0
  139. package/esm2022/ms-office/aos-extension.module.mjs +53 -0
  140. package/esm2022/ms-office/aos-extension.service.mjs +136 -0
  141. package/esm2022/ms-office/effects/aos.effects.mjs +45 -0
  142. package/esm2022/public-api.mjs +33 -0
  143. package/esm2022/viewer/lib/components/preview/preview.component.mjs +246 -0
  144. package/esm2022/viewer/lib/components/viewer/viewer.component.mjs +261 -0
  145. package/esm2022/viewer/lib/services/viewer.service.mjs +229 -0
  146. package/esm2022/viewer/lib/viewer.module.mjs +53 -0
  147. package/{fesm2015 → fesm2022}/alfresco-aca-content-about.mjs +17 -19
  148. package/fesm2022/alfresco-aca-content-about.mjs.map +1 -0
  149. package/{fesm2020 → fesm2022}/alfresco-aca-content-folder-rules.mjs +357 -316
  150. package/fesm2022/alfresco-aca-content-folder-rules.mjs.map +1 -0
  151. package/{fesm2020 → fesm2022}/alfresco-aca-content-ms-office.mjs +28 -26
  152. package/fesm2022/alfresco-aca-content-ms-office.mjs.map +1 -0
  153. package/{fesm2020 → fesm2022}/alfresco-aca-content-viewer.mjs +95 -64
  154. package/fesm2022/alfresco-aca-content-viewer.mjs.map +1 -0
  155. package/fesm2022/alfresco-aca-content.mjs +11091 -0
  156. package/fesm2022/alfresco-aca-content.mjs.map +1 -0
  157. package/folder-rules/rule-details/actions/rule-action-list.ui-component.d.ts +1 -1
  158. package/folder-rules/rule-details/actions/rule-action.ui-component.d.ts +1 -1
  159. package/folder-rules/rule-details/conditions/rule-composite-condition.ui-component.d.ts +1 -1
  160. package/folder-rules/rule-details/conditions/rule-simple-condition.ui-component.d.ts +1 -1
  161. package/folder-rules/rule-details/options/rule-options.ui-component.d.ts +1 -1
  162. package/folder-rules/rule-details/rule-details.ui-component.d.ts +1 -1
  163. package/folder-rules/rule-list/rule-list/rule-list.ui-component.d.ts +1 -1
  164. package/folder-rules/rule-list/rule-list-grouping/rule-list-grouping.ui-component.d.ts +1 -1
  165. package/folder-rules/rule-list/rule-list-item/rule-list-item.ui-component.d.ts +1 -1
  166. package/folder-rules/services/folder-rule-sets.service.d.ts +4 -4
  167. package/folder-rules/services/folder-rules.service.d.ts +1 -1
  168. package/lib/components/bulk-actions-dropdown/bulk-actions-dropdown.component.d.ts +5 -10
  169. package/lib/components/common/location-link/location-link.component.d.ts +1 -1
  170. package/lib/components/common/toggle-shared/toggle-shared.component.d.ts +1 -1
  171. package/lib/components/context-menu/base-context-menu.directive.d.ts +20 -0
  172. package/lib/components/context-menu/context-menu-item.component.d.ts +1 -1
  173. package/lib/components/context-menu/context-menu-outside-event.directive.d.ts +1 -1
  174. package/lib/components/context-menu/context-menu.component.d.ts +4 -15
  175. package/lib/components/context-menu/context-menu.service.d.ts +4 -1
  176. package/lib/components/{knowledge-retrieval/search-ai/search-ai-utils.d.ts → context-menu/custom-context-menu-actions.token.d.ts} +2 -2
  177. package/lib/components/context-menu/custom-context-menu.component.d.ts +36 -0
  178. package/lib/components/details/details.component.d.ts +1 -1
  179. package/lib/components/dl-custom-components/datatable-cell-badges/datatable-cell-badges.component.d.ts +1 -1
  180. package/lib/components/dl-custom-components/tags-column/tags-column.component.d.ts +1 -1
  181. package/lib/components/dl-custom-components/thumbnail-column/thumbnail-column.component.d.ts +1 -1
  182. package/lib/components/info-drawer/comments-tab/comments-tab.component.d.ts +1 -1
  183. package/lib/components/info-drawer/library-metadata-tab/library-metadata-form.component.d.ts +1 -1
  184. package/lib/components/info-drawer/library-metadata-tab/library-metadata-tab.component.d.ts +1 -1
  185. package/lib/components/info-drawer/metadata-tab/metadata-tab.component.d.ts +1 -1
  186. package/lib/components/info-drawer/versions-tab/versions-tab.component.d.ts +1 -1
  187. package/lib/components/knowledge-retrieval/search-ai/agents-button/agents-button.component.d.ts +1 -2
  188. package/lib/components/knowledge-retrieval/search-ai/search-ai-input/search-ai-input.component.d.ts +4 -5
  189. package/lib/components/knowledge-retrieval/search-ai/search-ai-input-container/search-ai-input-container.component.d.ts +8 -8
  190. package/lib/components/knowledge-retrieval/search-ai/search-ai-results/search-ai-results.component.d.ts +2 -3
  191. package/lib/components/search/search-input/search-input.component.d.ts +12 -14
  192. package/lib/components/search/search-input-control/search-input-control.component.d.ts +1 -1
  193. package/lib/components/search/search-libraries-results/search-libraries-results.component.d.ts +0 -1
  194. package/lib/components/search/search-results/search-results.component.d.ts +15 -9
  195. package/lib/components/search/search-results-row/search-results-row.component.d.ts +1 -1
  196. package/lib/components/search/search-save/dialog/delete/saved-search-delete-dialog.component.d.ts +16 -0
  197. package/lib/components/search/search-save/dialog/edit/saved-search-edit-dialog.component.d.ts +22 -0
  198. package/lib/components/search/search-save/dialog/save-search-dialog.component.d.ts +23 -0
  199. package/lib/components/search/search-save/dialog/saved-search-form.interface.d.ts +28 -0
  200. package/lib/components/search/search-save/dialog/unique-search-name-validator.d.ts +34 -0
  201. package/lib/components/search/search-save/directive/save-search.directive.d.ts +13 -0
  202. package/lib/components/search/search-save/list/saved-searches-list-ui.service.d.ts +9 -0
  203. package/lib/components/search/search-save/list/smart-list/saved-searches-list-schema.d.ts +33 -0
  204. package/lib/components/search/search-save/list/smart-list/saved-searches-smart-list.component.d.ts +13 -0
  205. package/lib/components/search/search-save/list/ui-list/saved-searches-list.ui-component.d.ts +66 -0
  206. package/lib/components/search/search-save/sidenav/save-search-sidenav.component.d.ts +44 -0
  207. package/lib/components/sidenav/components/button-menu.component.d.ts +1 -1
  208. package/lib/components/sidenav/components/expand-menu.component.d.ts +3 -2
  209. package/lib/components/sidenav/directives/action.directive.d.ts +28 -1
  210. package/lib/components/sidenav/directives/active-link.directive.d.ts +2 -2
  211. package/lib/components/sidenav/directives/expansion-panel.directive.d.ts +1 -1
  212. package/lib/components/sidenav/directives/menu-panel.directive.d.ts +1 -1
  213. package/lib/components/sidenav/sidenav.component.d.ts +4 -3
  214. package/lib/components/sidenav/user-menu/user-menu.component.d.ts +1 -1
  215. package/lib/components/toolbar/toggle-favorite/toggle-favorite.component.d.ts +1 -1
  216. package/lib/components/toolbar/view-node/view-node.component.d.ts +1 -1
  217. package/lib/services/search-ai-navigation.service.d.ts +4 -2
  218. package/lib/store/effects/app.effects.d.ts +2 -3
  219. package/lib/store/effects/contextmenu.effects.d.ts +3 -3
  220. package/lib/store/effects/download.effects.d.ts +0 -30
  221. package/lib/store/effects/favorite.effects.d.ts +0 -28
  222. package/lib/store/effects/library.effects.d.ts +2 -7
  223. package/lib/store/effects/node.effects.d.ts +7 -38
  224. package/lib/store/effects/search-ai.effects.d.ts +0 -4
  225. package/lib/store/effects/search.effects.d.ts +3 -30
  226. package/lib/store/effects/template.effects.d.ts +5 -7
  227. package/lib/store/effects/upload.effects.d.ts +8 -32
  228. package/lib/store/effects/viewer.effects.d.ts +0 -29
  229. package/lib/utils/aca-search-utils.d.ts +67 -0
  230. package/ms-office/effects/aos.effects.d.ts +0 -3
  231. package/package.json +21 -35
  232. package/public-api.d.ts +1 -0
  233. package/ui/overrides/adf-pagination.theme.scss +0 -4
  234. package/ui/theme.scss +9 -4
  235. package/assets/images/agent-avatar-blue.png +0 -0
  236. package/assets/images/agent-avatar-gold.png +0 -0
  237. package/assets/images/agent-avatar-pink.png +0 -0
  238. package/esm2020/about/about.component.mjs +0 -71
  239. package/esm2020/about/aca-about.module.mjs +0 -46
  240. package/esm2020/folder-rules/folder-rules.module.mjs +0 -115
  241. package/esm2020/folder-rules/manage-rules/manage-rules.smart-component.mjs +0 -261
  242. package/esm2020/folder-rules/rule-details/actions/rule-action-list.ui-component.mjs +0 -117
  243. package/esm2020/folder-rules/rule-details/actions/rule-action.ui-component.mjs +0 -351
  244. package/esm2020/folder-rules/rule-details/conditions/rule-composite-condition.ui-component.mjs +0 -172
  245. package/esm2020/folder-rules/rule-details/conditions/rule-simple-condition.ui-component.mjs +0 -234
  246. package/esm2020/folder-rules/rule-details/edit-rule-dialog.ui-component.mjs +0 -74
  247. package/esm2020/folder-rules/rule-details/options/rule-options.ui-component.mjs +0 -129
  248. package/esm2020/folder-rules/rule-details/rule-details.ui-component.mjs +0 -185
  249. package/esm2020/folder-rules/rule-details/triggers/rule-triggers.ui-component.mjs +0 -88
  250. package/esm2020/folder-rules/rule-details/validators/rule-actions.validator.mjs +0 -37
  251. package/esm2020/folder-rules/rule-list/rule-list/rule-list.ui-component.mjs +0 -164
  252. package/esm2020/folder-rules/rule-list/rule-list-grouping/rule-list-grouping.ui-component.mjs +0 -81
  253. package/esm2020/folder-rules/rule-list/rule-list-item/rule-list-item.ui-component.mjs +0 -58
  254. package/esm2020/folder-rules/rule-set-picker/rule-set-picker.smart-component.mjs +0 -120
  255. package/esm2020/folder-rules/services/actions.service.mjs +0 -114
  256. package/esm2020/folder-rules/services/folder-rule-sets.service.mjs +0 -225
  257. package/esm2020/folder-rules/services/folder-rules.service.mjs +0 -193
  258. package/esm2020/lib/aca-content.module.mjs +0 -299
  259. package/esm2020/lib/aca-content.routes.mjs +0 -359
  260. package/esm2020/lib/components/bulk-actions-dropdown/bulk-actions-dropdown.component.mjs +0 -83
  261. package/esm2020/lib/components/common/location-link/location-link.component.mjs +0 -180
  262. package/esm2020/lib/components/common/toggle-shared/toggle-shared.component.mjs +0 -76
  263. package/esm2020/lib/components/common/user-info/user-info.component.mjs +0 -47
  264. package/esm2020/lib/components/context-menu/context-menu-item.component.mjs +0 -62
  265. package/esm2020/lib/components/context-menu/context-menu-outside-event.directive.mjs +0 -63
  266. package/esm2020/lib/components/context-menu/context-menu-overlay.mjs +0 -32
  267. package/esm2020/lib/components/context-menu/context-menu.component.mjs +0 -114
  268. package/esm2020/lib/components/context-menu/context-menu.service.mjs +0 -99
  269. package/esm2020/lib/components/details/details.component.mjs +0 -147
  270. package/esm2020/lib/components/dl-custom-components/datatable-cell-badges/datatable-cell-badges.component.mjs +0 -71
  271. package/esm2020/lib/components/dl-custom-components/name-column/name-column.component.mjs +0 -101
  272. package/esm2020/lib/components/dl-custom-components/tags-column/tags-column.component.mjs +0 -48
  273. package/esm2020/lib/components/dl-custom-components/thumbnail-column/thumbnail-column.component.mjs +0 -75
  274. package/esm2020/lib/components/favorite-libraries/favorite-libraries.component.mjs +0 -120
  275. package/esm2020/lib/components/favorites/favorites.component.mjs +0 -103
  276. package/esm2020/lib/components/files/files.component.mjs +0 -330
  277. package/esm2020/lib/components/home/home.component.mjs +0 -47
  278. package/esm2020/lib/components/info-drawer/comments-tab/comments-tab.component.mjs +0 -59
  279. package/esm2020/lib/components/info-drawer/info.drawer.module.mjs +0 -73
  280. package/esm2020/lib/components/info-drawer/library-metadata-tab/library-metadata-form.component.mjs +0 -206
  281. package/esm2020/lib/components/info-drawer/library-metadata-tab/library-metadata-tab.component.mjs +0 -45
  282. package/esm2020/lib/components/info-drawer/metadata-tab/metadata-tab.component.mjs +0 -134
  283. package/esm2020/lib/components/info-drawer/versions-tab/versions-tab.component.mjs +0 -95
  284. package/esm2020/lib/components/knowledge-retrieval/search-ai/agents-button/agents-button.component.mjs +0 -129
  285. package/esm2020/lib/components/knowledge-retrieval/search-ai/search-ai-input/search-ai-input.component.mjs +0 -171
  286. package/esm2020/lib/components/knowledge-retrieval/search-ai/search-ai-input-container/search-ai-input-container.component.mjs +0 -82
  287. package/esm2020/lib/components/knowledge-retrieval/search-ai/search-ai-results/search-ai-results.component.mjs +0 -199
  288. package/esm2020/lib/components/knowledge-retrieval/search-ai/search-ai-utils.mjs +0 -33
  289. package/esm2020/lib/components/libraries/libraries.component.mjs +0 -79
  290. package/esm2020/lib/components/recent-files/recent-files.component.mjs +0 -82
  291. package/esm2020/lib/components/search/search-action-menu/search-action-menu.component.mjs +0 -64
  292. package/esm2020/lib/components/search/search-input/search-input.component.mjs +0 -301
  293. package/esm2020/lib/components/search/search-input-control/search-input-control.component.mjs +0 -94
  294. package/esm2020/lib/components/search/search-libraries-results/search-libraries-query-builder.service.mjs +0 -90
  295. package/esm2020/lib/components/search/search-libraries-results/search-libraries-results.component.mjs +0 -153
  296. package/esm2020/lib/components/search/search-navigation.service.mjs +0 -60
  297. package/esm2020/lib/components/search/search-results/search-results.component.mjs +0 -255
  298. package/esm2020/lib/components/search/search-results-row/search-results-row.component.mjs +0 -142
  299. package/esm2020/lib/components/shared-files/shared-files.component.mjs +0 -83
  300. package/esm2020/lib/components/shared-link-view/shared-link-view.component.mjs +0 -82
  301. package/esm2020/lib/components/sidenav/components/button-menu.component.mjs +0 -62
  302. package/esm2020/lib/components/sidenav/components/expand-menu.component.mjs +0 -67
  303. package/esm2020/lib/components/sidenav/components/sidenav-header.component.mjs +0 -66
  304. package/esm2020/lib/components/sidenav/directives/action.directive.mjs +0 -75
  305. package/esm2020/lib/components/sidenav/directives/active-link.directive.mjs +0 -93
  306. package/esm2020/lib/components/sidenav/directives/expansion-panel.directive.mjs +0 -102
  307. package/esm2020/lib/components/sidenav/directives/menu-panel.directive.mjs +0 -99
  308. package/esm2020/lib/components/sidenav/sidenav.component.mjs +0 -89
  309. package/esm2020/lib/components/sidenav/user-menu/user-menu.component.mjs +0 -56
  310. package/esm2020/lib/components/toolbar/toggle-edit-offline/toggle-edit-offline.component.mjs +0 -137
  311. package/esm2020/lib/components/toolbar/toggle-favorite/toggle-favorite.component.mjs +0 -86
  312. package/esm2020/lib/components/toolbar/toggle-favorite-library/toggle-favorite-library.component.mjs +0 -107
  313. package/esm2020/lib/components/toolbar/toggle-info-drawer/toggle-info-drawer.component.mjs +0 -74
  314. package/esm2020/lib/components/toolbar/toggle-join-library/toggle-join-library-button.component.mjs +0 -105
  315. package/esm2020/lib/components/toolbar/view-node/view-node.component.mjs +0 -122
  316. package/esm2020/lib/components/trashcan/trashcan.component.mjs +0 -68
  317. package/esm2020/lib/components/upload-files-dialog/upload-files-dialog.component.mjs +0 -52
  318. package/esm2020/lib/components/view-profile/view-profile.component.mjs +0 -193
  319. package/esm2020/lib/dialogs/node-template/create-from-template.dialog.mjs +0 -120
  320. package/esm2020/lib/directives/document-list.directive.mjs +0 -199
  321. package/esm2020/lib/extensions/core.extensions.module.mjs +0 -55
  322. package/esm2020/lib/services/content-management.service.mjs +0 -873
  323. package/esm2020/lib/services/content-url.service.mjs +0 -71
  324. package/esm2020/lib/services/modal-ai.service.mjs +0 -66
  325. package/esm2020/lib/services/node-actions.service.mjs +0 -600
  326. package/esm2020/lib/services/node-template.service.mjs +0 -144
  327. package/esm2020/lib/services/search-ai-navigation.service.mjs +0 -52
  328. package/esm2020/lib/store/app-store.module.mjs +0 -102
  329. package/esm2020/lib/store/effects/app.effects.mjs +0 -49
  330. package/esm2020/lib/store/effects/contextmenu.effects.mjs +0 -55
  331. package/esm2020/lib/store/effects/download.effects.mjs +0 -159
  332. package/esm2020/lib/store/effects/favorite.effects.mjs +0 -76
  333. package/esm2020/lib/store/effects/library.effects.mjs +0 -113
  334. package/esm2020/lib/store/effects/node.effects.mjs +0 -325
  335. package/esm2020/lib/store/effects/search-ai.effects.mjs +0 -57
  336. package/esm2020/lib/store/effects/search.effects.mjs +0 -60
  337. package/esm2020/lib/store/effects/template.effects.mjs +0 -121
  338. package/esm2020/lib/store/effects/upload.effects.mjs +0 -166
  339. package/esm2020/lib/store/effects/viewer.effects.mjs +0 -175
  340. package/esm2020/ms-office/actions/aos.actions.mjs +0 -31
  341. package/esm2020/ms-office/aos-extension.module.mjs +0 -52
  342. package/esm2020/ms-office/aos-extension.service.mjs +0 -132
  343. package/esm2020/ms-office/effects/aos.effects.mjs +0 -48
  344. package/esm2020/public-api.mjs +0 -32
  345. package/esm2020/viewer/lib/components/preview/preview.component.mjs +0 -236
  346. package/esm2020/viewer/lib/components/viewer/viewer.component.mjs +0 -240
  347. package/esm2020/viewer/lib/services/viewer.service.mjs +0 -226
  348. package/esm2020/viewer/lib/viewer.module.mjs +0 -52
  349. package/fesm2015/alfresco-aca-content-about.mjs.map +0 -1
  350. package/fesm2015/alfresco-aca-content-folder-rules.mjs +0 -2662
  351. package/fesm2015/alfresco-aca-content-folder-rules.mjs.map +0 -1
  352. package/fesm2015/alfresco-aca-content-ms-office.mjs +0 -256
  353. package/fesm2015/alfresco-aca-content-ms-office.mjs.map +0 -1
  354. package/fesm2015/alfresco-aca-content-viewer.mjs +0 -700
  355. package/fesm2015/alfresco-aca-content-viewer.mjs.map +0 -1
  356. package/fesm2015/alfresco-aca-content.mjs +0 -9835
  357. package/fesm2015/alfresco-aca-content.mjs.map +0 -1
  358. package/fesm2020/alfresco-aca-content-about.mjs +0 -193
  359. package/fesm2020/alfresco-aca-content-about.mjs.map +0 -1
  360. package/fesm2020/alfresco-aca-content-folder-rules.mjs.map +0 -1
  361. package/fesm2020/alfresco-aca-content-ms-office.mjs.map +0 -1
  362. package/fesm2020/alfresco-aca-content-viewer.mjs.map +0 -1
  363. package/fesm2020/alfresco-aca-content.mjs +0 -9934
  364. package/fesm2020/alfresco-aca-content.mjs.map +0 -1
  365. /package/{esm2020 → esm2022}/about/alfresco-aca-content-about.mjs +0 -0
  366. /package/{esm2020 → esm2022}/about/dev-mode.tokens.mjs +0 -0
  367. /package/{esm2020 → esm2022}/about/package-json.token.mjs +0 -0
  368. /package/{esm2020 → esm2022}/about/public-api.mjs +0 -0
  369. /package/{esm2020 → esm2022}/alfresco-aca-content.mjs +0 -0
  370. /package/{esm2020 → esm2022}/folder-rules/alfresco-aca-content-folder-rules.mjs +0 -0
  371. /package/{esm2020 → esm2022}/folder-rules/folder-rules.rules.mjs +0 -0
  372. /package/{esm2020 → esm2022}/folder-rules/model/action-parameter-constraint.model.mjs +0 -0
  373. /package/{esm2020 → esm2022}/folder-rules/model/rule-action.model.mjs +0 -0
  374. /package/{esm2020 → esm2022}/folder-rules/model/rule-composite-condition.model.mjs +0 -0
  375. /package/{esm2020 → esm2022}/folder-rules/model/rule-grouping-item.model.mjs +0 -0
  376. /package/{esm2020 → esm2022}/folder-rules/model/rule-set.model.mjs +0 -0
  377. /package/{esm2020 → esm2022}/folder-rules/model/rule-simple-condition.model.mjs +0 -0
  378. /package/{esm2020 → esm2022}/folder-rules/model/rule.model.mjs +0 -0
  379. /package/{esm2020 → esm2022}/folder-rules/public-api.mjs +0 -0
  380. /package/{esm2020 → esm2022}/folder-rules/rule-details/conditions/rule-condition-comparators.mjs +0 -0
  381. /package/{esm2020 → esm2022}/folder-rules/rule-details/conditions/rule-condition-fields.mjs +0 -0
  382. /package/{esm2020 → esm2022}/folder-rules/rule-details/validators/rule-composite-condition.validator.mjs +0 -0
  383. /package/{esm2020 → esm2022}/lib/components/common/index.mjs +0 -0
  384. /package/{esm2020 → esm2022}/lib/components/context-menu/direction.token.mjs +0 -0
  385. /package/{esm2020 → esm2022}/lib/components/context-menu/interfaces.mjs +0 -0
  386. /package/{esm2020 → esm2022}/lib/components/search/index.mjs +0 -0
  387. /package/{esm2020 → esm2022}/lib/components/sidenav/index.mjs +0 -0
  388. /package/{esm2020 → esm2022}/lib/components/toolbar/index.mjs +0 -0
  389. /package/{esm2020 → esm2022}/lib/components/view-profile/view-profile.guard.mjs +0 -0
  390. /package/{esm2020 → esm2022}/lib/store/effects.mjs +0 -0
  391. /package/{esm2020 → esm2022}/lib/store/initial-state.mjs +0 -0
  392. /package/{esm2020 → esm2022}/lib/store/reducers/app.reducer.mjs +0 -0
  393. /package/{esm2020 → esm2022}/ms-office/alfresco-aca-content-ms-office.mjs +0 -0
  394. /package/{esm2020 → esm2022}/ms-office/public-api.mjs +0 -0
  395. /package/{esm2020 → esm2022}/viewer/alfresco-aca-content-viewer.mjs +0 -0
  396. /package/{esm2020 → esm2022}/viewer/public-api.mjs +0 -0
@@ -0,0 +1,66 @@
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 { DynamicColumnComponent } from '@alfresco/adf-extensions';
25
+ import { Component, inject, ViewEncapsulation } from '@angular/core';
26
+ import { ContextActionsDirective, PageComponent, PageLayoutComponent, PaginationDirective, ToolbarComponent, UserProfileService } from '@alfresco/aca-shared';
27
+ import { CommonModule } from '@angular/common';
28
+ import { TranslateModule } from '@ngx-translate/core';
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 * as i0 from "@angular/core";
33
+ import * as i1 from "@angular/common";
34
+ import * as i2 from "@ngx-translate/core";
35
+ import * as i3 from "@alfresco/adf-content-services";
36
+ import * as i4 from "@alfresco/adf-core";
37
+ class TrashcanComponent extends PageComponent {
38
+ userProfileService = inject(UserProfileService);
39
+ user$ = this.userProfileService.userProfile$;
40
+ columns = [];
41
+ ngOnInit() {
42
+ super.ngOnInit();
43
+ this.columns = this.extensions.documentListPresets.trashcan || [];
44
+ }
45
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: TrashcanComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
46
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.9", type: TrashcanComponent, 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.TRASHCAN.TITLE' : 'APP.HEADER.SELECTED') | translate: { count: selectedRowItemsCount } }}\n </h1>\n\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]=\"'-trashcan-'\"\n [selectionMode]=\"'multiple'\"\n [multiselect]=\"true\"\n [navigate]=\"false\"\n [sortingMode]=\"'client'\"\n [preselectNodes]=\"selectedNodesState?.nodes\"\n [imageResolver]=\"imageResolver\"\n [displayCheckboxesOnHover]=\"true\"\n (selectedItemsCountChanged)=\"onSelectedItemsCountChanged($event)\"\n [sorting]=\"['archivedAt', 'desc']\"\n [isResizingEnabled]=\"true\"\n [blurOnResize]=\"false\"\n >\n <adf-custom-empty-content-template>\n <adf-empty-content icon=\"delete\" [title]=\"'APP.BROWSE.TRASHCAN.EMPTY_STATE.TITLE'\">\n <p class=\"adf-empty-content__text\">\n {{ 'APP.BROWSE.TRASHCAN.EMPTY_STATE.FIRST_TEXT' | translate }}\n </p>\n <p class=\"adf-empty-content__text\">\n {{ 'APP.BROWSE.TRASHCAN.EMPTY_STATE.SECOND_TEXT' | translate }}\n </p>\n </adf-empty-content>\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 [draggable]=\"column.draggable\"\n [resizable]=\"column.resizable\"\n [title]=\"column.title\"\n [type]=\"column.type\"\n [format]=\"column.format\"\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 [sortable]=\"column.sortable\"\n [draggable]=\"column.draggable\"\n [resizable]=\"column.resizable\"\n [isHidden]=\"column.isHidden\"\n [sortingKey]=\"column.sortingKey || column.key\"\n />\n </ng-container>\n </ng-container>\n\n <data-column\n *ngIf=\"!isSmallScreen && (user$ | async)?.isAdmin\"\n class=\"adf-ellipsis-cell\"\n key=\"archivedByUser.displayName\"\n title=\"APP.DOCUMENT_LIST.COLUMNS.DELETED_BY\"\n />\n </data-columns>\n </adf-document-list>\n\n <adf-pagination acaPagination [target]=\"documentList\" />\n </div>\n </div>\n</aca-page-layout>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }, { 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: "component", type: PaginationComponent, selector: "adf-pagination", inputs: ["target", "supportedPageSizes", "pagination"], outputs: ["change", "changePageNumber", "changePageSize", "nextPage", "prevPage"] }, { 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: "directive", type: DocumentListDirective, selector: "[acaDocumentList]" }, { kind: "directive", type: ContextActionsDirective, selector: "[acaContextActions]", inputs: ["acaContextEnable", "customActions"], exportAs: ["acaContextActions"] }, { kind: "directive", type: PaginationDirective, selector: "[acaPagination]" }, { kind: "component", type: PageLayoutComponent, selector: "aca-page-layout", inputs: ["hasError"] }, { 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 });
47
+ }
48
+ export { TrashcanComponent };
49
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: TrashcanComponent, decorators: [{
50
+ type: Component,
51
+ args: [{ standalone: true, imports: [
52
+ CommonModule,
53
+ TranslateModule,
54
+ DocumentListModule,
55
+ PaginationComponent,
56
+ DataTableModule,
57
+ DocumentListDirective,
58
+ ContextActionsDirective,
59
+ PaginationDirective,
60
+ PageLayoutComponent,
61
+ ToolbarComponent,
62
+ EmptyContentComponent,
63
+ DynamicColumnComponent
64
+ ], 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.TRASHCAN.TITLE' : 'APP.HEADER.SELECTED') | translate: { count: selectedRowItemsCount } }}\n </h1>\n\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]=\"'-trashcan-'\"\n [selectionMode]=\"'multiple'\"\n [multiselect]=\"true\"\n [navigate]=\"false\"\n [sortingMode]=\"'client'\"\n [preselectNodes]=\"selectedNodesState?.nodes\"\n [imageResolver]=\"imageResolver\"\n [displayCheckboxesOnHover]=\"true\"\n (selectedItemsCountChanged)=\"onSelectedItemsCountChanged($event)\"\n [sorting]=\"['archivedAt', 'desc']\"\n [isResizingEnabled]=\"true\"\n [blurOnResize]=\"false\"\n >\n <adf-custom-empty-content-template>\n <adf-empty-content icon=\"delete\" [title]=\"'APP.BROWSE.TRASHCAN.EMPTY_STATE.TITLE'\">\n <p class=\"adf-empty-content__text\">\n {{ 'APP.BROWSE.TRASHCAN.EMPTY_STATE.FIRST_TEXT' | translate }}\n </p>\n <p class=\"adf-empty-content__text\">\n {{ 'APP.BROWSE.TRASHCAN.EMPTY_STATE.SECOND_TEXT' | translate }}\n </p>\n </adf-empty-content>\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 [draggable]=\"column.draggable\"\n [resizable]=\"column.resizable\"\n [title]=\"column.title\"\n [type]=\"column.type\"\n [format]=\"column.format\"\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 [sortable]=\"column.sortable\"\n [draggable]=\"column.draggable\"\n [resizable]=\"column.resizable\"\n [isHidden]=\"column.isHidden\"\n [sortingKey]=\"column.sortingKey || column.key\"\n />\n </ng-container>\n </ng-container>\n\n <data-column\n *ngIf=\"!isSmallScreen && (user$ | async)?.isAdmin\"\n class=\"adf-ellipsis-cell\"\n key=\"archivedByUser.displayName\"\n title=\"APP.DOCUMENT_LIST.COLUMNS.DELETED_BY\"\n />\n </data-columns>\n </adf-document-list>\n\n <adf-pagination acaPagination [target]=\"documentList\" />\n </div>\n </div>\n</aca-page-layout>\n" }]
65
+ }] });
66
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhc2hjYW4uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWNhLWNvbnRlbnQvc3JjL2xpYi9jb21wb25lbnRzL3RyYXNoY2FuL3RyYXNoY2FuLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FjYS1jb250ZW50L3NyYy9saWIvY29tcG9uZW50cy90cmFzaGNhbi90cmFzaGNhbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXNCRztBQUVILE9BQU8sRUFBeUIsc0JBQXNCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUN6RixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBVSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM3RSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLGFBQWEsRUFDYixtQkFBbUIsRUFDbkIsbUJBQW1CLEVBQ25CLGdCQUFnQixFQUNoQixrQkFBa0IsRUFDbkIsTUFBTSxzQkFBc0IsQ0FBQztBQUM5QixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxlQUFlLEVBQUUscUJBQXFCLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNqRyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQzs7Ozs7O0FBRWpGLE1BbUJhLGlCQUFrQixTQUFRLGFBQWE7SUFDMUMsa0JBQWtCLEdBQUcsTUFBTSxDQUFDLGtCQUFrQixDQUFDLENBQUM7SUFFeEQsS0FBSyxHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxZQUFZLENBQUM7SUFDN0MsT0FBTyxHQUE0QixFQUFFLENBQUM7SUFFdEMsUUFBUTtRQUNOLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNqQixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsbUJBQW1CLENBQUMsUUFBUSxJQUFJLEVBQUUsQ0FBQztJQUNwRSxDQUFDO3VHQVRVLGlCQUFpQjsyRkFBakIsaUJBQWlCLCtGQzNEOUIsb2pIQTJGQSwyQ0RoREksWUFBWSxvVEFDWixlQUFlLDJGQUNmLGtCQUFrQix3L0JBQ2xCLG1CQUFtQixxTUFDbkIsZUFBZSw4a0JBQ2YscUJBQXFCLDhEQUNyQix1QkFBdUIsZ0pBQ3ZCLG1CQUFtQiw0REFDbkIsbUJBQW1CLGtGQUNuQixnQkFBZ0IsMkVBQ2hCLHFCQUFxQixxR0FDckIsc0JBQXNCOztTQUtiLGlCQUFpQjsyRkFBakIsaUJBQWlCO2tCQW5CN0IsU0FBUztpQ0FDSSxJQUFJLFdBQ1A7d0JBQ1AsWUFBWTt3QkFDWixlQUFlO3dCQUNmLGtCQUFrQjt3QkFDbEIsbUJBQW1CO3dCQUNuQixlQUFlO3dCQUNmLHFCQUFxQjt3QkFDckIsdUJBQXVCO3dCQUN2QixtQkFBbUI7d0JBQ25CLG1CQUFtQjt3QkFDbkIsZ0JBQWdCO3dCQUNoQixxQkFBcUI7d0JBQ3JCLHNCQUFzQjtxQkFDdkIsaUJBRWMsaUJBQWlCLENBQUMsSUFBSSIsInNvdXJjZXNDb250ZW50IjpbIi8qIVxuICogQ29weXJpZ2h0IMKpIDIwMDUtMjAyNCBIeWxhbmQgU29mdHdhcmUsIEluYy4gYW5kIGl0cyBhZmZpbGlhdGVzLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIEFsZnJlc2NvIEV4YW1wbGUgQ29udGVudCBBcHBsaWNhdGlvblxuICpcbiAqIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBBbGZyZXNjbyBFeGFtcGxlIENvbnRlbnQgQXBwbGljYXRpb24uXG4gKiBJZiB0aGUgc29mdHdhcmUgd2FzIHB1cmNoYXNlZCB1bmRlciBhIHBhaWQgQWxmcmVzY28gbGljZW5zZSwgdGhlIHRlcm1zIG9mXG4gKiB0aGUgcGFpZCBsaWNlbnNlIGFncmVlbWVudCB3aWxsIHByZXZhaWwuIE90aGVyd2lzZSwgdGhlIHNvZnR3YXJlIGlzXG4gKiBwcm92aWRlZCB1bmRlciB0aGUgZm9sbG93aW5nIG9wZW4gc291cmNlIGxpY2Vuc2UgdGVybXM6XG4gKlxuICogVGhlIEFsZnJlc2NvIEV4YW1wbGUgQ29udGVudCBBcHBsaWNhdGlvbiBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5XG4gKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnlcbiAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yXG4gKiAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLlxuICpcbiAqIFRoZSBBbGZyZXNjbyBFeGFtcGxlIENvbnRlbnQgQXBwbGljYXRpb24gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCxcbiAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mXG4gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGVcbiAqIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLlxuICpcbiAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZVxuICogZnJvbSBIeWxhbmQgU29mdHdhcmUuIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi5cbiAqL1xuXG5pbXBvcnQgeyBEb2N1bWVudExpc3RQcmVzZXRSZWYsIER5bmFtaWNDb2x1bW5Db21wb25lbnQgfSBmcm9tICdAYWxmcmVzY28vYWRmLWV4dGVuc2lvbnMnO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBpbmplY3QsIE9uSW5pdCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIENvbnRleHRBY3Rpb25zRGlyZWN0aXZlLFxuICBQYWdlQ29tcG9uZW50LFxuICBQYWdlTGF5b3V0Q29tcG9uZW50LFxuICBQYWdpbmF0aW9uRGlyZWN0aXZlLFxuICBUb29sYmFyQ29tcG9uZW50LFxuICBVc2VyUHJvZmlsZVNlcnZpY2Vcbn0gZnJvbSAnQGFsZnJlc2NvL2FjYS1zaGFyZWQnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IFRyYW5zbGF0ZU1vZHVsZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHsgRG9jdW1lbnRMaXN0TW9kdWxlIH0gZnJvbSAnQGFsZnJlc2NvL2FkZi1jb250ZW50LXNlcnZpY2VzJztcbmltcG9ydCB7IERhdGFUYWJsZU1vZHVsZSwgRW1wdHlDb250ZW50Q29tcG9uZW50LCBQYWdpbmF0aW9uQ29tcG9uZW50IH0gZnJvbSAnQGFsZnJlc2NvL2FkZi1jb3JlJztcbmltcG9ydCB7IERvY3VtZW50TGlzdERpcmVjdGl2ZSB9IGZyb20gJy4uLy4uL2RpcmVjdGl2ZXMvZG9jdW1lbnQtbGlzdC5kaXJlY3RpdmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBUcmFuc2xhdGVNb2R1bGUsXG4gICAgRG9jdW1lbnRMaXN0TW9kdWxlLFxuICAgIFBhZ2luYXRpb25Db21wb25lbnQsXG4gICAgRGF0YVRhYmxlTW9kdWxlLFxuICAgIERvY3VtZW50TGlzdERpcmVjdGl2ZSxcbiAgICBDb250ZXh0QWN0aW9uc0RpcmVjdGl2ZSxcbiAgICBQYWdpbmF0aW9uRGlyZWN0aXZlLFxuICAgIFBhZ2VMYXlvdXRDb21wb25lbnQsXG4gICAgVG9vbGJhckNvbXBvbmVudCxcbiAgICBFbXB0eUNvbnRlbnRDb21wb25lbnQsXG4gICAgRHluYW1pY0NvbHVtbkNvbXBvbmVudFxuICBdLFxuICB0ZW1wbGF0ZVVybDogJy4vdHJhc2hjYW4uY29tcG9uZW50Lmh0bWwnLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXG59KVxuZXhwb3J0IGNsYXNzIFRyYXNoY2FuQ29tcG9uZW50IGV4dGVuZHMgUGFnZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIHByaXZhdGUgdXNlclByb2ZpbGVTZXJ2aWNlID0gaW5qZWN0KFVzZXJQcm9maWxlU2VydmljZSk7XG5cbiAgdXNlciQgPSB0aGlzLnVzZXJQcm9maWxlU2VydmljZS51c2VyUHJvZmlsZSQ7XG4gIGNvbHVtbnM6IERvY3VtZW50TGlzdFByZXNldFJlZltdID0gW107XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgc3VwZXIubmdPbkluaXQoKTtcbiAgICB0aGlzLmNvbHVtbnMgPSB0aGlzLmV4dGVuc2lvbnMuZG9jdW1lbnRMaXN0UHJlc2V0cy50cmFzaGNhbiB8fCBbXTtcbiAgfVxufVxuIiwiPGFjYS1wYWdlLWxheW91dD5cbiAgPGRpdiBjbGFzcz1cImFjYS1wYWdlLWxheW91dC1oZWFkZXJcIj5cbiAgICA8aDEgY2xhc3M9XCJhY2EtcGFnZS10aXRsZVwiPlxuICAgICAge3sgKHNlbGVjdGVkUm93SXRlbXNDb3VudCA8IDEgPyAnQVBQLkJST1dTRS5UUkFTSENBTi5USVRMRScgOiAnQVBQLkhFQURFUi5TRUxFQ1RFRCcpIHwgdHJhbnNsYXRlOiB7IGNvdW50OiBzZWxlY3RlZFJvd0l0ZW1zQ291bnQgfSB9fVxuICAgIDwvaDE+XG5cbiAgICA8YWNhLXRvb2xiYXIgW2l0ZW1zXT1cImFjdGlvbnNcIiAvPlxuICA8L2Rpdj5cblxuICA8ZGl2IGNsYXNzPVwiYWNhLXBhZ2UtbGF5b3V0LWNvbnRlbnRcIj5cbiAgICA8ZGl2IGNsYXNzPVwiYWNhLW1haW4tY29udGVudFwiPlxuICAgICAgPGFkZi1kb2N1bWVudC1saXN0XG4gICAgICAgICNkb2N1bWVudExpc3RcbiAgICAgICAgYWNhRG9jdW1lbnRMaXN0XG4gICAgICAgIGFjYUNvbnRleHRBY3Rpb25zXG4gICAgICAgIFtjdXJyZW50Rm9sZGVySWRdPVwiJy10cmFzaGNhbi0nXCJcbiAgICAgICAgW3NlbGVjdGlvbk1vZGVdPVwiJ211bHRpcGxlJ1wiXG4gICAgICAgIFttdWx0aXNlbGVjdF09XCJ0cnVlXCJcbiAgICAgICAgW25hdmlnYXRlXT1cImZhbHNlXCJcbiAgICAgICAgW3NvcnRpbmdNb2RlXT1cIidjbGllbnQnXCJcbiAgICAgICAgW3ByZXNlbGVjdE5vZGVzXT1cInNlbGVjdGVkTm9kZXNTdGF0ZT8ubm9kZXNcIlxuICAgICAgICBbaW1hZ2VSZXNvbHZlcl09XCJpbWFnZVJlc29sdmVyXCJcbiAgICAgICAgW2Rpc3BsYXlDaGVja2JveGVzT25Ib3Zlcl09XCJ0cnVlXCJcbiAgICAgICAgKHNlbGVjdGVkSXRlbXNDb3VudENoYW5nZWQpPVwib25TZWxlY3RlZEl0ZW1zQ291bnRDaGFuZ2VkKCRldmVudClcIlxuICAgICAgICBbc29ydGluZ109XCJbJ2FyY2hpdmVkQXQnLCAnZGVzYyddXCJcbiAgICAgICAgW2lzUmVzaXppbmdFbmFibGVkXT1cInRydWVcIlxuICAgICAgICBbYmx1ck9uUmVzaXplXT1cImZhbHNlXCJcbiAgICAgID5cbiAgICAgICAgPGFkZi1jdXN0b20tZW1wdHktY29udGVudC10ZW1wbGF0ZT5cbiAgICAgICAgICA8YWRmLWVtcHR5LWNvbnRlbnQgaWNvbj1cImRlbGV0ZVwiIFt0aXRsZV09XCInQVBQLkJST1dTRS5UUkFTSENBTi5FTVBUWV9TVEFURS5USVRMRSdcIj5cbiAgICAgICAgICAgIDxwIGNsYXNzPVwiYWRmLWVtcHR5LWNvbnRlbnRfX3RleHRcIj5cbiAgICAgICAgICAgICAge3sgJ0FQUC5CUk9XU0UuVFJBU0hDQU4uRU1QVFlfU1RBVEUuRklSU1RfVEVYVCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgIDxwIGNsYXNzPVwiYWRmLWVtcHR5LWNvbnRlbnRfX3RleHRcIj5cbiAgICAgICAgICAgICAge3sgJ0FQUC5CUk9XU0UuVFJBU0hDQU4uRU1QVFlfU1RBVEUuU0VDT05EX1RFWFQnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICA8L3A+XG4gICAgICAgICAgPC9hZGYtZW1wdHktY29udGVudD5cbiAgICAgICAgPC9hZGYtY3VzdG9tLWVtcHR5LWNvbnRlbnQtdGVtcGxhdGU+XG5cbiAgICAgICAgPGRhdGEtY29sdW1ucz5cbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBjb2x1bW4gb2YgY29sdW1uczsgdHJhY2tCeTogdHJhY2tCeUNvbHVtbklkXCI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiY29sdW1uLnRlbXBsYXRlICYmICEoY29sdW1uLmRlc2t0b3BPbmx5ICYmIGlzU21hbGxTY3JlZW4pXCI+XG4gICAgICAgICAgICAgIDxkYXRhLWNvbHVtblxuICAgICAgICAgICAgICAgIFtpZF09XCJjb2x1bW4uaWRcIlxuICAgICAgICAgICAgICAgIFtrZXldPVwiY29sdW1uLmtleVwiXG4gICAgICAgICAgICAgICAgW2RyYWdnYWJsZV09XCJjb2x1bW4uZHJhZ2dhYmxlXCJcbiAgICAgICAgICAgICAgICBbcmVzaXphYmxlXT1cImNvbHVtbi5yZXNpemFibGVcIlxuICAgICAgICAgICAgICAgIFt0aXRsZV09XCJjb2x1bW4udGl0bGVcIlxuICAgICAgICAgICAgICAgIFt0eXBlXT1cImNvbHVtbi50eXBlXCJcbiAgICAgICAgICAgICAgICBbZm9ybWF0XT1cImNvbHVtbi5mb3JtYXRcIlxuICAgICAgICAgICAgICAgIFtjbGFzc109XCJjb2x1bW4uY2xhc3NcIlxuICAgICAgICAgICAgICAgIFtzb3J0YWJsZV09XCJjb2x1bW4uc29ydGFibGVcIlxuICAgICAgICAgICAgICAgIFtpc0hpZGRlbl09XCJjb2x1bW4uaXNIaWRkZW5cIlxuICAgICAgICAgICAgICAgIFtzb3J0aW5nS2V5XT1cImNvbHVtbi5zb3J0aW5nS2V5IHx8IGNvbHVtbi5rZXlcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlIGxldC1jb250ZXh0PlxuICAgICAgICAgICAgICAgICAgPGFkZi1keW5hbWljLWNvbHVtbiBbaWRdPVwiY29sdW1uLnRlbXBsYXRlXCIgW2NvbnRleHRdPVwiY29udGV4dFwiIC8+XG4gICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgICAgPC9kYXRhLWNvbHVtbj5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWNvbHVtbi50ZW1wbGF0ZSAmJiAhKGNvbHVtbi5kZXNrdG9wT25seSAmJiBpc1NtYWxsU2NyZWVuKVwiPlxuICAgICAgICAgICAgICA8ZGF0YS1jb2x1bW5cbiAgICAgICAgICAgICAgICBbaWRdPVwiY29sdW1uLmlkXCJcbiAgICAgICAgICAgICAgICBba2V5XT1cImNvbHVtbi5rZXlcIlxuICAgICAgICAgICAgICAgIFt0aXRsZV09XCJjb2x1bW4udGl0bGVcIlxuICAgICAgICAgICAgICAgIFt0eXBlXT1cImNvbHVtbi50eXBlXCJcbiAgICAgICAgICAgICAgICBbZm9ybWF0XT1cImNvbHVtbi5mb3JtYXRcIlxuICAgICAgICAgICAgICAgIFtjbGFzc109XCJjb2x1bW4uY2xhc3NcIlxuICAgICAgICAgICAgICAgIFtzb3J0YWJsZV09XCJjb2x1bW4uc29ydGFibGVcIlxuICAgICAgICAgICAgICAgIFtkcmFnZ2FibGVdPVwiY29sdW1uLmRyYWdnYWJsZVwiXG4gICAgICAgICAgICAgICAgW3Jlc2l6YWJsZV09XCJjb2x1bW4ucmVzaXphYmxlXCJcbiAgICAgICAgICAgICAgICBbaXNIaWRkZW5dPVwiY29sdW1uLmlzSGlkZGVuXCJcbiAgICAgICAgICAgICAgICBbc29ydGluZ0tleV09XCJjb2x1bW4uc29ydGluZ0tleSB8fCBjb2x1bW4ua2V5XCJcbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICAgICAgPGRhdGEtY29sdW1uXG4gICAgICAgICAgICAqbmdJZj1cIiFpc1NtYWxsU2NyZWVuICYmICh1c2VyJCB8IGFzeW5jKT8uaXNBZG1pblwiXG4gICAgICAgICAgICBjbGFzcz1cImFkZi1lbGxpcHNpcy1jZWxsXCJcbiAgICAgICAgICAgIGtleT1cImFyY2hpdmVkQnlVc2VyLmRpc3BsYXlOYW1lXCJcbiAgICAgICAgICAgIHRpdGxlPVwiQVBQLkRPQ1VNRU5UX0xJU1QuQ09MVU1OUy5ERUxFVEVEX0JZXCJcbiAgICAgICAgICAvPlxuICAgICAgICA8L2RhdGEtY29sdW1ucz5cbiAgICAgIDwvYWRmLWRvY3VtZW50LWxpc3Q+XG5cbiAgICAgIDxhZGYtcGFnaW5hdGlvbiBhY2FQYWdpbmF0aW9uIFt0YXJnZXRdPVwiZG9jdW1lbnRMaXN0XCIgLz5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2FjYS1wYWdlLWxheW91dD5cbiJdfQ==
@@ -0,0 +1,55 @@
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 { Subject } from 'rxjs';
26
+ import { delay, takeUntil } from 'rxjs/operators';
27
+ import { Store } from '@ngrx/store';
28
+ import { getFileUploadingDialog } from '@alfresco/aca-shared/store';
29
+ import { CommonModule } from '@angular/common';
30
+ import { UploadModule } from '@alfresco/adf-content-services';
31
+ import * as i0 from "@angular/core";
32
+ import * as i1 from "@ngrx/store";
33
+ import * as i2 from "@angular/common";
34
+ import * as i3 from "@alfresco/adf-content-services";
35
+ class UploadFilesDialogComponent {
36
+ store;
37
+ showFileUploadingDialog$;
38
+ onDestroy$ = new Subject();
39
+ constructor(store) {
40
+ this.store = store;
41
+ this.showFileUploadingDialog$ = this.store.select(getFileUploadingDialog).pipe(delay(0), takeUntil(this.onDestroy$));
42
+ }
43
+ ngOnDestroy() {
44
+ this.onDestroy$.next(true);
45
+ this.onDestroy$.complete();
46
+ }
47
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: UploadFilesDialogComponent, deps: [{ token: i1.Store }], target: i0.ɵɵFactoryTarget.Component });
48
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.9", type: UploadFilesDialogComponent, isStandalone: true, selector: "aca-upload-files-dialog", ngImport: i0, template: "<adf-file-uploading-dialog *ngIf=\"showFileUploadingDialog$ | async\" position=\"left\" />", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "ngmodule", type: UploadModule }, { kind: "component", type: i3.FileUploadingDialogComponent, selector: "adf-file-uploading-dialog", inputs: ["position", "alwaysVisible"], outputs: ["error"] }], encapsulation: i0.ViewEncapsulation.None });
49
+ }
50
+ export { UploadFilesDialogComponent };
51
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: UploadFilesDialogComponent, decorators: [{
52
+ type: Component,
53
+ args: [{ standalone: true, imports: [CommonModule, UploadModule], selector: 'aca-upload-files-dialog', encapsulation: ViewEncapsulation.None, template: "<adf-file-uploading-dialog *ngIf=\"showFileUploadingDialog$ | async\" position=\"left\" />" }]
54
+ }], ctorParameters: function () { return [{ type: i1.Store }]; } });
55
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBsb2FkLWZpbGVzLWRpYWxvZy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hY2EtY29udGVudC9zcmMvbGliL2NvbXBvbmVudHMvdXBsb2FkLWZpbGVzLWRpYWxvZy91cGxvYWQtZmlsZXMtZGlhbG9nLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FjYS1jb250ZW50L3NyYy9saWIvY29tcG9uZW50cy91cGxvYWQtZmlsZXMtZGlhbG9nL3VwbG9hZC1maWxlcy1kaWFsb2cuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FzQkc7QUFFSCxPQUFPLEVBQUUsU0FBUyxFQUFhLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3hFLE9BQU8sRUFBYyxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDM0MsT0FBTyxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNsRCxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3BDLE9BQU8sRUFBWSxzQkFBc0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzlFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7Ozs7O0FBRTlELE1BT2EsMEJBQTBCO0lBS2pCO0lBSnBCLHdCQUF3QixDQUFzQjtJQUV0QyxVQUFVLEdBQXFCLElBQUksT0FBTyxFQUFXLENBQUM7SUFFOUQsWUFBb0IsS0FBc0I7UUFBdEIsVUFBSyxHQUFMLEtBQUssQ0FBaUI7UUFDeEMsSUFBSSxDQUFDLHdCQUF3QixHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLHNCQUFzQixDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7SUFDdkgsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUMzQixJQUFJLENBQUMsVUFBVSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQzdCLENBQUM7dUdBWlUsMEJBQTBCOzJGQUExQiwwQkFBMEIsbUZDdkN2Qyw0RkFBc0YsMkNEa0MxRSxZQUFZLHVMQUFFLFlBQVk7O1NBS3pCLDBCQUEwQjsyRkFBMUIsMEJBQTBCO2tCQVB0QyxTQUFTO2lDQUNJLElBQUksV0FDUCxDQUFDLFlBQVksRUFBRSxZQUFZLENBQUMsWUFDM0IseUJBQXlCLGlCQUVwQixpQkFBaUIsQ0FBQyxJQUFJIiwic291cmNlc0NvbnRlbnQiOlsiLyohXG4gKiBDb3B5cmlnaHQgwqkgMjAwNS0yMDI0IEh5bGFuZCBTb2Z0d2FyZSwgSW5jLiBhbmQgaXRzIGFmZmlsaWF0ZXMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogQWxmcmVzY28gRXhhbXBsZSBDb250ZW50IEFwcGxpY2F0aW9uXG4gKlxuICogVGhpcyBmaWxlIGlzIHBhcnQgb2YgdGhlIEFsZnJlc2NvIEV4YW1wbGUgQ29udGVudCBBcHBsaWNhdGlvbi5cbiAqIElmIHRoZSBzb2Z0d2FyZSB3YXMgcHVyY2hhc2VkIHVuZGVyIGEgcGFpZCBBbGZyZXNjbyBsaWNlbnNlLCB0aGUgdGVybXMgb2ZcbiAqIHRoZSBwYWlkIGxpY2Vuc2UgYWdyZWVtZW50IHdpbGwgcHJldmFpbC4gT3RoZXJ3aXNlLCB0aGUgc29mdHdhcmUgaXNcbiAqIHByb3ZpZGVkIHVuZGVyIHRoZSBmb2xsb3dpbmcgb3BlbiBzb3VyY2UgbGljZW5zZSB0ZXJtczpcbiAqXG4gKiBUaGUgQWxmcmVzY28gRXhhbXBsZSBDb250ZW50IEFwcGxpY2F0aW9uIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnlcbiAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieVxuICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3JcbiAqIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uXG4gKlxuICogVGhlIEFsZnJlc2NvIEV4YW1wbGUgQ29udGVudCBBcHBsaWNhdGlvbiBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLFxuICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2ZcbiAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gU2VlIHRoZVxuICogR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuXG4gKlxuICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlXG4gKiBmcm9tIEh5bGFuZCBTb2Z0d2FyZS4gSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LlxuICovXG5cbmltcG9ydCB7IENvbXBvbmVudCwgT25EZXN0cm95LCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZGVsYXksIHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IFN0b3JlIH0gZnJvbSAnQG5ncngvc3RvcmUnO1xuaW1wb3J0IHsgQXBwU3RvcmUsIGdldEZpbGVVcGxvYWRpbmdEaWFsb2cgfSBmcm9tICdAYWxmcmVzY28vYWNhLXNoYXJlZC9zdG9yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgVXBsb2FkTW9kdWxlIH0gZnJvbSAnQGFsZnJlc2NvL2FkZi1jb250ZW50LXNlcnZpY2VzJztcblxuQENvbXBvbmVudCh7XG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIFVwbG9hZE1vZHVsZV0sXG4gIHNlbGVjdG9yOiAnYWNhLXVwbG9hZC1maWxlcy1kaWFsb2cnLFxuICB0ZW1wbGF0ZVVybDogJy4vdXBsb2FkLWZpbGVzLWRpYWxvZy5jb21wb25lbnQuaHRtbCcsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcbn0pXG5leHBvcnQgY2xhc3MgVXBsb2FkRmlsZXNEaWFsb2dDb21wb25lbnQgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuICBzaG93RmlsZVVwbG9hZGluZ0RpYWxvZyQ6IE9ic2VydmFibGU8Ym9vbGVhbj47XG5cbiAgcHJpdmF0ZSBvbkRlc3Ryb3kkOiBTdWJqZWN0PGJvb2xlYW4+ID0gbmV3IFN1YmplY3Q8Ym9vbGVhbj4oKTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHN0b3JlOiBTdG9yZTxBcHBTdG9yZT4pIHtcbiAgICB0aGlzLnNob3dGaWxlVXBsb2FkaW5nRGlhbG9nJCA9IHRoaXMuc3RvcmUuc2VsZWN0KGdldEZpbGVVcGxvYWRpbmdEaWFsb2cpLnBpcGUoZGVsYXkoMCksIHRha2VVbnRpbCh0aGlzLm9uRGVzdHJveSQpKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMub25EZXN0cm95JC5uZXh0KHRydWUpO1xuICAgIHRoaXMub25EZXN0cm95JC5jb21wbGV0ZSgpO1xuICB9XG59XG4iLCI8YWRmLWZpbGUtdXBsb2FkaW5nLWRpYWxvZyAqbmdJZj1cInNob3dGaWxlVXBsb2FkaW5nRGlhbG9nJCB8IGFzeW5jXCIgcG9zaXRpb249XCJsZWZ0XCIgLz4iXX0=
@@ -0,0 +1,200 @@
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 { AlfrescoApiService } from '@alfresco/adf-content-services';
25
+ import { PeopleApi } from '@alfresco/js-api';
26
+ import { Component, ViewEncapsulation } from '@angular/core';
27
+ import { FormControl, FormGroup, ReactiveFormsModule, Validators } from '@angular/forms';
28
+ import { Router } from '@angular/router';
29
+ import { Subject, throwError } from 'rxjs';
30
+ import { AppService } from '@alfresco/aca-shared';
31
+ import { takeUntil } from 'rxjs/operators';
32
+ import { CommonModule } from '@angular/common';
33
+ import { MatButtonModule } from '@angular/material/button';
34
+ import { MatIconModule } from '@angular/material/icon';
35
+ import { TranslateModule } from '@ngx-translate/core';
36
+ import { MatDividerModule } from '@angular/material/divider';
37
+ import { MatFormFieldModule } from '@angular/material/form-field';
38
+ import * as i0 from "@angular/core";
39
+ import * as i1 from "@angular/router";
40
+ import * as i2 from "@alfresco/adf-content-services";
41
+ import * as i3 from "@alfresco/aca-shared";
42
+ import * as i4 from "@angular/common";
43
+ import * as i5 from "@ngx-translate/core";
44
+ import * as i6 from "@angular/forms";
45
+ import * as i7 from "@angular/material/button";
46
+ import * as i8 from "@angular/material/icon";
47
+ import * as i9 from "@angular/material/divider";
48
+ import * as i10 from "@angular/material/form-field";
49
+ class ViewProfileComponent {
50
+ router;
51
+ appService;
52
+ peopleApi;
53
+ profileForm;
54
+ personDetails;
55
+ generalSectionDropdown = true;
56
+ generalSectionButtonsToggle = true;
57
+ loginSectionDropdown = false;
58
+ loginSectionButtonsToggle = true;
59
+ passwordSectionDropdown = false;
60
+ contactSectionDropdown = false;
61
+ contactSectionButtonsToggle = true;
62
+ appNavNarMode$;
63
+ onDestroy$ = new Subject();
64
+ constructor(router, apiService, appService) {
65
+ this.router = router;
66
+ this.appService = appService;
67
+ this.peopleApi = new PeopleApi(apiService.getInstance());
68
+ this.appNavNarMode$ = appService.appNavNarMode$.pipe(takeUntil(this.onDestroy$));
69
+ }
70
+ ngOnInit() {
71
+ this.populateForm(this.personDetails);
72
+ this.peopleApi
73
+ .getPerson('-me-')
74
+ .then((userInfo) => {
75
+ this.personDetails = userInfo?.entry;
76
+ this.populateForm(userInfo?.entry);
77
+ })
78
+ .catch((error) => {
79
+ throwError(error);
80
+ });
81
+ }
82
+ toggleClick() {
83
+ this.appService.toggleAppNavBar$.next();
84
+ }
85
+ populateForm(userInfo) {
86
+ this.profileForm = new FormGroup({
87
+ jobTitle: new FormControl(userInfo?.jobTitle || ''),
88
+ location: new FormControl(userInfo?.location || ''),
89
+ telephone: new FormControl(userInfo?.telephone || '', [Validators.pattern('^([0-9]+-)*[0-9]+$')]),
90
+ mobile: new FormControl(userInfo?.mobile || '', [Validators.pattern('^([0-9]+-)*[0-9]+$')]),
91
+ oldPassword: new FormControl(''),
92
+ newPassword: new FormControl(''),
93
+ verifyPassword: new FormControl(''),
94
+ companyName: new FormControl(userInfo?.company?.organization || ''),
95
+ companyPostCode: new FormControl(userInfo?.company?.postcode || ''),
96
+ companyAddress: new FormControl(userInfo?.company?.address1 || ''),
97
+ companyTelephone: new FormControl(userInfo?.company?.telephone || '', [Validators.pattern('^([0-9]+-)*[0-9]+$')]),
98
+ companyEmail: new FormControl(userInfo?.company?.email || '', [Validators.email])
99
+ });
100
+ }
101
+ navigateToPersonalFiles() {
102
+ this.router.navigate(['/personal-files'], {
103
+ replaceUrl: true
104
+ });
105
+ }
106
+ toggleGeneralDropdown() {
107
+ this.generalSectionDropdown = !this.generalSectionDropdown;
108
+ if (!this.generalSectionDropdown) {
109
+ this.generalSectionButtonsToggle = true;
110
+ }
111
+ }
112
+ toggleGeneralButtons() {
113
+ this.generalSectionButtonsToggle = !this.generalSectionButtonsToggle;
114
+ if (!this.generalSectionButtonsToggle) {
115
+ this.generalSectionDropdown = true;
116
+ }
117
+ }
118
+ onSaveGeneralData(event) {
119
+ this.generalSectionButtonsToggle = !this.generalSectionButtonsToggle;
120
+ this.updatePersonDetails(event);
121
+ }
122
+ onSaveLoginData() {
123
+ this.passwordSectionDropdown = !this.passwordSectionDropdown;
124
+ this.loginSectionButtonsToggle = !this.loginSectionButtonsToggle;
125
+ }
126
+ onSaveCompanyData(event) {
127
+ this.contactSectionButtonsToggle = !this.contactSectionButtonsToggle;
128
+ this.updatePersonDetails(event);
129
+ }
130
+ toggleLoginDropdown() {
131
+ this.loginSectionDropdown = !this.loginSectionDropdown;
132
+ if (!this.loginSectionDropdown) {
133
+ this.loginSectionButtonsToggle = true;
134
+ }
135
+ }
136
+ toggleLoginButtons() {
137
+ this.loginSectionButtonsToggle = !this.loginSectionButtonsToggle;
138
+ this.passwordSectionDropdown = !this.passwordSectionDropdown;
139
+ if (!this.loginSectionButtonsToggle) {
140
+ this.loginSectionDropdown = true;
141
+ this.passwordSectionDropdown = true;
142
+ }
143
+ }
144
+ toggleContactDropdown() {
145
+ this.contactSectionDropdown = !this.contactSectionDropdown;
146
+ if (!this.contactSectionDropdown) {
147
+ this.contactSectionButtonsToggle = true;
148
+ }
149
+ }
150
+ toggleContactButtons() {
151
+ this.contactSectionButtonsToggle = !this.contactSectionButtonsToggle;
152
+ if (!this.contactSectionButtonsToggle) {
153
+ this.contactSectionDropdown = true;
154
+ }
155
+ }
156
+ updatePersonDetails(event) {
157
+ if (this.profileForm.valid) {
158
+ this.peopleApi
159
+ .updatePerson('-me-', {
160
+ jobTitle: event.value.jobTitle,
161
+ location: event.value.location,
162
+ telephone: event.value.telephone,
163
+ mobile: event.value.mobile,
164
+ company: {
165
+ organization: event.value.companyName,
166
+ postcode: event.value.companyPostCode,
167
+ address1: event.value.companyAddress,
168
+ telephone: event.value.companyTelephone,
169
+ email: event.value.companyEmail
170
+ }
171
+ })
172
+ .then((person) => {
173
+ this.personDetails = person?.entry;
174
+ this.populateForm(person?.entry);
175
+ })
176
+ .catch((error) => {
177
+ this.populateForm(this.personDetails);
178
+ throwError(error);
179
+ });
180
+ }
181
+ else {
182
+ this.populateForm(this.personDetails);
183
+ }
184
+ }
185
+ isSaveButtonDisabled() {
186
+ return this.profileForm.invalid;
187
+ }
188
+ ngOnDestroy() {
189
+ this.onDestroy$.next(true);
190
+ this.onDestroy$.complete();
191
+ }
192
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: ViewProfileComponent, deps: [{ token: i1.Router }, { token: i2.AlfrescoApiService }, { token: i3.AppService }], target: i0.ɵɵFactoryTarget.Component });
193
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.9", type: ViewProfileComponent, isStandalone: true, selector: "app-view-profile", ngImport: i0, template: "<div class=\"app-profile-container\">\n <div class=\"app-profile-row\">\n <div class=\"app-profile-title\">\n <button *ngIf=\"(appNavNarMode$ | async) === 'collapsed'\" mat-icon-button (click)=\"toggleClick()\"\n title=\"{{'APP.TOOLTIPS.EXPAND_NAVIGATION' | translate}}\">\n <mat-icon>menu</mat-icon>\n </button>\n <mat-icon class=\"app-profile-icon\" (click)=\"navigateToPersonalFiles()\" id=\"backButton\">arrow_back</mat-icon>\n <h3 class=\"app-profile\">{{'APP.EDIT_PROFILE.MY_PROFILE' | translate}}</h3>\n </div>\n </div>\n <div class=\"app-profile-general-row\" [formGroup]=\"profileForm\">\n <div class=\"app-profile-general\">\n <div class=\"app-profile-general-section\">\n <mat-icon class=\"app-profile-general-icon\" (click)=\"toggleGeneralDropdown()\" id=\"toggle-general-dropdown\">\n {{ generalSectionDropdown ? 'expand_more' : 'chevron_right'}}</mat-icon>\n <h4 class=\"app-general-title\">{{'APP.EDIT_PROFILE.GENERAL' | translate}}</h4>\n </div>\n <div class=\"app-general-edit-btn\" *ngIf=\"generalSectionButtonsToggle\">\n <button mat-raised-button (click)=\"toggleGeneralButtons()\" id=\"general-edit-button\"\n class=\"app-general-edit\">{{'APP.EDIT_PROFILE.EDIT' | translate}}</button>\n </div>\n <div class=\"app-general-edit-btn\" *ngIf=\"!generalSectionButtonsToggle\">\n <button mat-raised-button class=\"app-general-cancel-btn\" id=\"general-cancel-button\"\n (click)=\"toggleGeneralButtons()\">{{'APP.EDIT_PROFILE.CANCEL' | translate}}</button>\n <button mat-raised-button class=\"app-general-save-btn\" id=\"general-save-button\" [disabled]=\"profileForm.invalid\"\n (click)=\"onSaveGeneralData(profileForm)\">{{'APP.EDIT_PROFILE.SAVE' | translate}}</button>\n </div>\n </div>\n <mat-divider class=\"app-divider\" *ngIf=\"generalSectionDropdown\" />\n <div *ngIf=\"generalSectionDropdown\">\n <div class=\"app-general-dropdown\">\n <div class=\"app-general-dropdown-details\">\n <h4 class=\"app-profile-general-dropdown-heading\">{{'APP.EDIT_PROFILE.FIRST_NAME' | translate}}</h4>\n <p class=\"app-profile-general-dropdown-details\">{{personDetails?.firstName}}</p>\n </div>\n <mat-divider class=\"app-general-dropdown-divider\" />\n <div class=\"app-general-dropdown-details\">\n <h4 class=\"app-profile-general-dropdown-heading\">{{'APP.EDIT_PROFILE.LAST_NAME' | translate}}</h4>\n <p class=\"app-profile-general-dropdown-details\">{{personDetails?.lastName}}</p>\n </div>\n <mat-divider class=\"app-general-dropdown-divider\" />\n <div class=\"app-general-dropdown-details\">\n <h4 class=\"app-profile-general-dropdown-heading\">{{'APP.EDIT_PROFILE.JOB_TITLE' | translate}}</h4>\n <p class=\"app-profile-general-dropdown-details\" *ngIf=\"generalSectionButtonsToggle\">{{personDetails?.jobTitle}}</p>\n <input type=\"text\" value=\"\" formControlName=\"jobTitle\" *ngIf=\"!generalSectionButtonsToggle\"\n class=\"app-profile-general-dropdown-input-details app-selected\">\n </div>\n <mat-divider class=\"app-general-dropdown-divider\" />\n <div class=\"app-general-dropdown-details\">\n <h4 class=\"app-profile-general-dropdown-heading\">{{'APP.EDIT_PROFILE.LOCATION' | translate}}</h4>\n <p class=\"app-profile-general-dropdown-details\" *ngIf=\"generalSectionButtonsToggle\">{{personDetails?.location}}</p>\n <input type=\"text\" value=\"\" formControlName=\"location\" *ngIf=\"!generalSectionButtonsToggle\"\n class=\"app-profile-general-dropdown-input-details app-selected\">\n </div>\n <mat-divider class=\"app-general-dropdown-divider\" />\n <div class=\"app-general-dropdown-details\">\n <h4 class=\"app-profile-general-dropdown-heading\">{{'APP.EDIT_PROFILE.TELEPHONE' | translate}}</h4>\n <p class=\"app-profile-general-dropdown-details\" *ngIf=\"generalSectionButtonsToggle\">{{personDetails?.telephone}}</p>\n <input type=\"tel\" name=\"Telephone\" value=\"\" formControlName=\"telephone\" *ngIf=\"!generalSectionButtonsToggle\"\n class=\"app-profile-general-dropdown-input-details app-selected\">\n <mat-error class=\"app-error-message\" *ngIf=\"profileForm.get('telephone').invalid\">\n {{ 'APP.EDIT_PROFILE.INVALID_INPUT' | translate }}\n </mat-error>\n </div>\n <mat-divider class=\"app-general-dropdown-divider\" />\n <div class=\"app-general-dropdown-details\">\n <h4 class=\"app-profile-general-dropdown-heading\">{{'APP.EDIT_PROFILE.MOBILE' | translate}}</h4>\n <p class=\"app-profile-general-dropdown-details\" *ngIf=\"generalSectionButtonsToggle\">{{personDetails?.mobile}}</p>\n <input type=\"tel\" value=\"\" formControlName=\"mobile\" *ngIf=\"!generalSectionButtonsToggle\"\n class=\"app-profile-general-dropdown-input-details app-selected\">\n <mat-error class=\"app-error-message\" *ngIf=\"profileForm.get('mobile').invalid\">\n {{ 'APP.EDIT_PROFILE.INVALID_INPUT' | translate }}\n </mat-error>\n </div>\n </div>\n </div>\n </div>\n\n <div class=\"app-profile-contact-row\" [formGroup]=\"profileForm\">\n <div class=\"app-profile-general profile-general-bottom-radius\">\n <div class=\"app-profile-general-section\">\n <mat-icon class=\"app-profile-general-icon\" (click)=\"toggleContactDropdown()\" id=\"toggle-contact-dropdown\">\n {{ contactSectionDropdown ? 'expand_more' : 'chevron_right'}}</mat-icon>\n <h4 class=\"app-general-title\">{{'APP.EDIT_PROFILE.COMPANY_DETAILS' | translate}}</h4>\n </div>\n\n <div class=\"app-general-edit-btn\" *ngIf=\"contactSectionButtonsToggle\">\n <button mat-raised-button class=\"app-general-edit\" id=\"contact-edit-button\"\n (click)=\"toggleContactButtons()\">{{'APP.EDIT_PROFILE.EDIT' | translate}}</button>\n </div>\n <div class=\"app-general-edit-btn\" *ngIf=\"!contactSectionButtonsToggle\">\n <button mat-raised-button class=\"app-general-cancel-btn\" id=\"contact-cancel-button\"\n (click)=\"toggleContactButtons()\">{{'APP.EDIT_PROFILE.CANCEL' | translate}}</button>\n <button mat-raised-button class=\"app-general-save-btn\" id=\"contact-save-button\" [disabled]=\"profileForm.invalid\"\n (click)=\"onSaveCompanyData(profileForm)\">{{'APP.EDIT_PROFILE.SAVE' | translate}}</button>\n </div>\n </div>\n <mat-divider class=\"app-divider\" *ngIf=\"contactSectionDropdown\" />\n <div *ngIf=\"contactSectionDropdown\">\n <div class=\"app-general-dropdown\">\n <div class=\"app-general-dropdown-details\">\n <h4 class=\"app-profile-general-dropdown-heading\">{{'APP.EDIT_PROFILE.NAME' | translate}}</h4>\n <p class=\"app-profile-general-dropdown-details\" *ngIf=\"contactSectionButtonsToggle\">{{personDetails?.company?.organization}}</p>\n <input type=\"text\" value=\"\" *ngIf=\"!contactSectionButtonsToggle\" formControlName=\"companyName\"\n class=\"app-profile-general-dropdown-input-details app-selected\">\n </div>\n <mat-divider class=\"app-general-dropdown-divider\" />\n <div class=\"app-general-dropdown-details\">\n <h4 class=\"app-profile-general-dropdown-heading\">{{'APP.EDIT_PROFILE.ADDRESS' | translate}}</h4>\n <p class=\"app-profile-general-dropdown-details\" *ngIf=\"contactSectionButtonsToggle\">{{personDetails?.company?.address1}}</p>\n <input type=\"text\" value=\"\" *ngIf=\"!contactSectionButtonsToggle\" formControlName=\"companyAddress\"\n class=\"app-profile-general-dropdown-input-details app-selected\">\n </div>\n <mat-divider class=\"app-general-dropdown-divider\" />\n <div class=\"app-general-dropdown-details\">\n <h4 class=\"app-profile-general-dropdown-heading\">{{'APP.EDIT_PROFILE.POSTCODE' | translate}}</h4>\n <p class=\"app-profile-general-dropdown-details\" *ngIf=\"contactSectionButtonsToggle\">{{personDetails?.company?.postcode}}</p>\n <input type=\"text\" value=\"\" *ngIf=\"!contactSectionButtonsToggle\" formControlName=\"companyPostCode\"\n class=\"app-profile-general-dropdown-input-details app-selected\">\n </div>\n <mat-divider class=\"app-general-dropdown-divider\" />\n <div class=\"app-general-dropdown-details\">\n <h4 class=\"app-profile-general-dropdown-heading\">{{'APP.EDIT_PROFILE.TELEPHONE' | translate}}</h4>\n <p class=\"app-profile-general-dropdown-details\" *ngIf=\"contactSectionButtonsToggle\">{{personDetails?.company?.telephone}}</p>\n <input type=\"tel\" value=\"\" *ngIf=\"!contactSectionButtonsToggle\" formControlName=\"companyTelephone\"\n class=\"app-profile-general-dropdown-input-details app-selected\">\n <mat-error class=\"app-error-message\" *ngIf=\"profileForm.get('companyTelephone').invalid\">\n {{ 'APP.EDIT_PROFILE.INVALID_INPUT' | translate }}\n </mat-error>\n </div>\n <mat-divider class=\"app-general-dropdown-divider\" />\n <div class=\"app-general-dropdown-details\">\n <h4 class=\"app-profile-general-dropdown-heading\">{{'APP.EDIT_PROFILE.EMAIL' | translate}}</h4>\n <p class=\"app-profile-general-dropdown-details\" *ngIf=\"contactSectionButtonsToggle\">{{personDetails?.company?.email}}</p>\n <input type=\"text\" value=\"\" *ngIf=\"!contactSectionButtonsToggle\" formControlName=\"companyEmail\"\n class=\"app-profile-general-dropdown-input-details app-selected\">\n <mat-error class=\"app-error-message\" *ngIf=\"profileForm.get('companyEmail').invalid\">\n {{ 'APP.EDIT_PROFILE.INVALID_INPUT' | translate }}\n </mat-error>\n </div>\n </div>\n </div>\n </div>\n</div>\n", styles: ["app-view-profile{letter-spacing:.5px}app-view-profile .app-profile-container{overflow:scroll;height:100%;width:100%}app-view-profile .app-profile-row{width:100%;height:32px;padding:32px 0;border-bottom:1px solid var(--theme-about-panel-border-color)}app-view-profile .app-profile-title{display:flex;flex-direction:row;align-items:center;height:32px;padding:0 24px}app-view-profile .app-profile{cursor:pointer;margin-top:1rem}app-view-profile .app-profile-general-row{margin:2rem 0 0 2rem;width:70%;border:1px solid var(--theme-grey-background-color);border-radius:1rem}app-view-profile .app-profile-icon{margin-right:1rem;cursor:pointer}app-view-profile .app-profile-general-icon{cursor:pointer}app-view-profile .app-profile-text{letter-spacing:.5px}app-view-profile .app-profile-general{display:flex;padding-left:1rem}app-view-profile .app-profile-general-bottom-radius{border-bottom-left-radius:0;border-bottom-right-radius:0}app-view-profile .app-profile-general-section{display:flex;width:60%;padding-top:1rem;cursor:pointer}app-view-profile .app-general-title{margin-left:.6rem;margin-top:4px;letter-spacing:.5px}app-view-profile .app-general-edit-btn{width:60%;text-align:end}app-view-profile .app-general-edit-btn .app-general-edit{background:var(--theme-grey-text-background-color);height:30px;margin:1rem}app-view-profile .app-general-edit-btn .app-general-cancel-btn{height:30px;margin:1rem 1rem 1rem .5rem;background-color:var(--theme-grey-text-background-color);padding-top:.25px}app-view-profile .app-general-edit-btn .app-general-save-btn{width:75px;height:30px;margin:1rem 1rem 1rem .5rem;color:#fff;background-color:var(--theme-blue-button-color);font-weight:600}app-view-profile .app-divider{border-top-width:2px;border-top-color:var(--theme-grey-background-color);padding-left:-1px;padding-right:1px}app-view-profile .app-selected:focus{border:2px solid var(--theme-blue-button-color);border-radius:6px;outline:none;box-shadow:0 0 2px var(--theme-blue-button-color)}app-view-profile .app-general-edit:hover{background:var(--theme-grey-hover-background-color)}app-view-profile .app-general-dropdown-divider{border-top-color:var(--theme-grey-divider-color)}app-view-profile .app-general-dropdown{padding:0 1rem}app-view-profile .app-general-dropdown-details{display:flex}app-view-profile .app-profile-general-dropdown-heading{color:var(--theme-heading-color);width:20%;font-weight:400;letter-spacing:.5px}app-view-profile .app-profile-general-dropdown-details{margin-top:1.3rem;letter-spacing:.5px}app-view-profile .app-profile-general-dropdown-input-details{width:24%;height:25px;border:none;margin-top:1.3rem;background-color:var(--theme-dropdown-color)}app-view-profile .app-profile-login-row{margin:2rem 0 0 2rem;width:70%;border:1px solid var(--theme-grey-background-color);border-radius:1rem}app-view-profile .app-profile-login{display:flex;padding-left:1rem}app-view-profile .app-profile-login-dropdown-details{width:24%;height:25px;border:none;margin-top:1.3rem;background-color:var(--theme-dropdown-color)}app-view-profile .app-profile-login-dropdown-heading-forgot{margin-top:1.3rem;color:var(--theme-heading-color);margin-left:16rem}app-view-profile .app-profile-company-row{margin-top:2rem}app-view-profile .app-profile-contact-row{margin:2rem 0 5rem 2rem;width:70%;border:1px solid var(--theme-grey-background-color);border-radius:1rem}app-view-profile .app-error-message{padding-top:2rem;padding-left:.5rem}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i5.TranslatePipe, name: "translate" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i6.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i6.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i6.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i6.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i6.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i7.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: i7.MatIconButton, selector: "button[mat-icon-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i8.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatDividerModule }, { kind: "component", type: i9.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "directive", type: i10.MatError, selector: "mat-error, [matError]", inputs: ["id"] }], encapsulation: i0.ViewEncapsulation.None });
194
+ }
195
+ export { ViewProfileComponent };
196
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: ViewProfileComponent, decorators: [{
197
+ type: Component,
198
+ args: [{ standalone: true, imports: [CommonModule, TranslateModule, ReactiveFormsModule, MatButtonModule, MatIconModule, MatDividerModule, MatFormFieldModule], selector: 'app-view-profile', encapsulation: ViewEncapsulation.None, template: "<div class=\"app-profile-container\">\n <div class=\"app-profile-row\">\n <div class=\"app-profile-title\">\n <button *ngIf=\"(appNavNarMode$ | async) === 'collapsed'\" mat-icon-button (click)=\"toggleClick()\"\n title=\"{{'APP.TOOLTIPS.EXPAND_NAVIGATION' | translate}}\">\n <mat-icon>menu</mat-icon>\n </button>\n <mat-icon class=\"app-profile-icon\" (click)=\"navigateToPersonalFiles()\" id=\"backButton\">arrow_back</mat-icon>\n <h3 class=\"app-profile\">{{'APP.EDIT_PROFILE.MY_PROFILE' | translate}}</h3>\n </div>\n </div>\n <div class=\"app-profile-general-row\" [formGroup]=\"profileForm\">\n <div class=\"app-profile-general\">\n <div class=\"app-profile-general-section\">\n <mat-icon class=\"app-profile-general-icon\" (click)=\"toggleGeneralDropdown()\" id=\"toggle-general-dropdown\">\n {{ generalSectionDropdown ? 'expand_more' : 'chevron_right'}}</mat-icon>\n <h4 class=\"app-general-title\">{{'APP.EDIT_PROFILE.GENERAL' | translate}}</h4>\n </div>\n <div class=\"app-general-edit-btn\" *ngIf=\"generalSectionButtonsToggle\">\n <button mat-raised-button (click)=\"toggleGeneralButtons()\" id=\"general-edit-button\"\n class=\"app-general-edit\">{{'APP.EDIT_PROFILE.EDIT' | translate}}</button>\n </div>\n <div class=\"app-general-edit-btn\" *ngIf=\"!generalSectionButtonsToggle\">\n <button mat-raised-button class=\"app-general-cancel-btn\" id=\"general-cancel-button\"\n (click)=\"toggleGeneralButtons()\">{{'APP.EDIT_PROFILE.CANCEL' | translate}}</button>\n <button mat-raised-button class=\"app-general-save-btn\" id=\"general-save-button\" [disabled]=\"profileForm.invalid\"\n (click)=\"onSaveGeneralData(profileForm)\">{{'APP.EDIT_PROFILE.SAVE' | translate}}</button>\n </div>\n </div>\n <mat-divider class=\"app-divider\" *ngIf=\"generalSectionDropdown\" />\n <div *ngIf=\"generalSectionDropdown\">\n <div class=\"app-general-dropdown\">\n <div class=\"app-general-dropdown-details\">\n <h4 class=\"app-profile-general-dropdown-heading\">{{'APP.EDIT_PROFILE.FIRST_NAME' | translate}}</h4>\n <p class=\"app-profile-general-dropdown-details\">{{personDetails?.firstName}}</p>\n </div>\n <mat-divider class=\"app-general-dropdown-divider\" />\n <div class=\"app-general-dropdown-details\">\n <h4 class=\"app-profile-general-dropdown-heading\">{{'APP.EDIT_PROFILE.LAST_NAME' | translate}}</h4>\n <p class=\"app-profile-general-dropdown-details\">{{personDetails?.lastName}}</p>\n </div>\n <mat-divider class=\"app-general-dropdown-divider\" />\n <div class=\"app-general-dropdown-details\">\n <h4 class=\"app-profile-general-dropdown-heading\">{{'APP.EDIT_PROFILE.JOB_TITLE' | translate}}</h4>\n <p class=\"app-profile-general-dropdown-details\" *ngIf=\"generalSectionButtonsToggle\">{{personDetails?.jobTitle}}</p>\n <input type=\"text\" value=\"\" formControlName=\"jobTitle\" *ngIf=\"!generalSectionButtonsToggle\"\n class=\"app-profile-general-dropdown-input-details app-selected\">\n </div>\n <mat-divider class=\"app-general-dropdown-divider\" />\n <div class=\"app-general-dropdown-details\">\n <h4 class=\"app-profile-general-dropdown-heading\">{{'APP.EDIT_PROFILE.LOCATION' | translate}}</h4>\n <p class=\"app-profile-general-dropdown-details\" *ngIf=\"generalSectionButtonsToggle\">{{personDetails?.location}}</p>\n <input type=\"text\" value=\"\" formControlName=\"location\" *ngIf=\"!generalSectionButtonsToggle\"\n class=\"app-profile-general-dropdown-input-details app-selected\">\n </div>\n <mat-divider class=\"app-general-dropdown-divider\" />\n <div class=\"app-general-dropdown-details\">\n <h4 class=\"app-profile-general-dropdown-heading\">{{'APP.EDIT_PROFILE.TELEPHONE' | translate}}</h4>\n <p class=\"app-profile-general-dropdown-details\" *ngIf=\"generalSectionButtonsToggle\">{{personDetails?.telephone}}</p>\n <input type=\"tel\" name=\"Telephone\" value=\"\" formControlName=\"telephone\" *ngIf=\"!generalSectionButtonsToggle\"\n class=\"app-profile-general-dropdown-input-details app-selected\">\n <mat-error class=\"app-error-message\" *ngIf=\"profileForm.get('telephone').invalid\">\n {{ 'APP.EDIT_PROFILE.INVALID_INPUT' | translate }}\n </mat-error>\n </div>\n <mat-divider class=\"app-general-dropdown-divider\" />\n <div class=\"app-general-dropdown-details\">\n <h4 class=\"app-profile-general-dropdown-heading\">{{'APP.EDIT_PROFILE.MOBILE' | translate}}</h4>\n <p class=\"app-profile-general-dropdown-details\" *ngIf=\"generalSectionButtonsToggle\">{{personDetails?.mobile}}</p>\n <input type=\"tel\" value=\"\" formControlName=\"mobile\" *ngIf=\"!generalSectionButtonsToggle\"\n class=\"app-profile-general-dropdown-input-details app-selected\">\n <mat-error class=\"app-error-message\" *ngIf=\"profileForm.get('mobile').invalid\">\n {{ 'APP.EDIT_PROFILE.INVALID_INPUT' | translate }}\n </mat-error>\n </div>\n </div>\n </div>\n </div>\n\n <div class=\"app-profile-contact-row\" [formGroup]=\"profileForm\">\n <div class=\"app-profile-general profile-general-bottom-radius\">\n <div class=\"app-profile-general-section\">\n <mat-icon class=\"app-profile-general-icon\" (click)=\"toggleContactDropdown()\" id=\"toggle-contact-dropdown\">\n {{ contactSectionDropdown ? 'expand_more' : 'chevron_right'}}</mat-icon>\n <h4 class=\"app-general-title\">{{'APP.EDIT_PROFILE.COMPANY_DETAILS' | translate}}</h4>\n </div>\n\n <div class=\"app-general-edit-btn\" *ngIf=\"contactSectionButtonsToggle\">\n <button mat-raised-button class=\"app-general-edit\" id=\"contact-edit-button\"\n (click)=\"toggleContactButtons()\">{{'APP.EDIT_PROFILE.EDIT' | translate}}</button>\n </div>\n <div class=\"app-general-edit-btn\" *ngIf=\"!contactSectionButtonsToggle\">\n <button mat-raised-button class=\"app-general-cancel-btn\" id=\"contact-cancel-button\"\n (click)=\"toggleContactButtons()\">{{'APP.EDIT_PROFILE.CANCEL' | translate}}</button>\n <button mat-raised-button class=\"app-general-save-btn\" id=\"contact-save-button\" [disabled]=\"profileForm.invalid\"\n (click)=\"onSaveCompanyData(profileForm)\">{{'APP.EDIT_PROFILE.SAVE' | translate}}</button>\n </div>\n </div>\n <mat-divider class=\"app-divider\" *ngIf=\"contactSectionDropdown\" />\n <div *ngIf=\"contactSectionDropdown\">\n <div class=\"app-general-dropdown\">\n <div class=\"app-general-dropdown-details\">\n <h4 class=\"app-profile-general-dropdown-heading\">{{'APP.EDIT_PROFILE.NAME' | translate}}</h4>\n <p class=\"app-profile-general-dropdown-details\" *ngIf=\"contactSectionButtonsToggle\">{{personDetails?.company?.organization}}</p>\n <input type=\"text\" value=\"\" *ngIf=\"!contactSectionButtonsToggle\" formControlName=\"companyName\"\n class=\"app-profile-general-dropdown-input-details app-selected\">\n </div>\n <mat-divider class=\"app-general-dropdown-divider\" />\n <div class=\"app-general-dropdown-details\">\n <h4 class=\"app-profile-general-dropdown-heading\">{{'APP.EDIT_PROFILE.ADDRESS' | translate}}</h4>\n <p class=\"app-profile-general-dropdown-details\" *ngIf=\"contactSectionButtonsToggle\">{{personDetails?.company?.address1}}</p>\n <input type=\"text\" value=\"\" *ngIf=\"!contactSectionButtonsToggle\" formControlName=\"companyAddress\"\n class=\"app-profile-general-dropdown-input-details app-selected\">\n </div>\n <mat-divider class=\"app-general-dropdown-divider\" />\n <div class=\"app-general-dropdown-details\">\n <h4 class=\"app-profile-general-dropdown-heading\">{{'APP.EDIT_PROFILE.POSTCODE' | translate}}</h4>\n <p class=\"app-profile-general-dropdown-details\" *ngIf=\"contactSectionButtonsToggle\">{{personDetails?.company?.postcode}}</p>\n <input type=\"text\" value=\"\" *ngIf=\"!contactSectionButtonsToggle\" formControlName=\"companyPostCode\"\n class=\"app-profile-general-dropdown-input-details app-selected\">\n </div>\n <mat-divider class=\"app-general-dropdown-divider\" />\n <div class=\"app-general-dropdown-details\">\n <h4 class=\"app-profile-general-dropdown-heading\">{{'APP.EDIT_PROFILE.TELEPHONE' | translate}}</h4>\n <p class=\"app-profile-general-dropdown-details\" *ngIf=\"contactSectionButtonsToggle\">{{personDetails?.company?.telephone}}</p>\n <input type=\"tel\" value=\"\" *ngIf=\"!contactSectionButtonsToggle\" formControlName=\"companyTelephone\"\n class=\"app-profile-general-dropdown-input-details app-selected\">\n <mat-error class=\"app-error-message\" *ngIf=\"profileForm.get('companyTelephone').invalid\">\n {{ 'APP.EDIT_PROFILE.INVALID_INPUT' | translate }}\n </mat-error>\n </div>\n <mat-divider class=\"app-general-dropdown-divider\" />\n <div class=\"app-general-dropdown-details\">\n <h4 class=\"app-profile-general-dropdown-heading\">{{'APP.EDIT_PROFILE.EMAIL' | translate}}</h4>\n <p class=\"app-profile-general-dropdown-details\" *ngIf=\"contactSectionButtonsToggle\">{{personDetails?.company?.email}}</p>\n <input type=\"text\" value=\"\" *ngIf=\"!contactSectionButtonsToggle\" formControlName=\"companyEmail\"\n class=\"app-profile-general-dropdown-input-details app-selected\">\n <mat-error class=\"app-error-message\" *ngIf=\"profileForm.get('companyEmail').invalid\">\n {{ 'APP.EDIT_PROFILE.INVALID_INPUT' | translate }}\n </mat-error>\n </div>\n </div>\n </div>\n </div>\n</div>\n", styles: ["app-view-profile{letter-spacing:.5px}app-view-profile .app-profile-container{overflow:scroll;height:100%;width:100%}app-view-profile .app-profile-row{width:100%;height:32px;padding:32px 0;border-bottom:1px solid var(--theme-about-panel-border-color)}app-view-profile .app-profile-title{display:flex;flex-direction:row;align-items:center;height:32px;padding:0 24px}app-view-profile .app-profile{cursor:pointer;margin-top:1rem}app-view-profile .app-profile-general-row{margin:2rem 0 0 2rem;width:70%;border:1px solid var(--theme-grey-background-color);border-radius:1rem}app-view-profile .app-profile-icon{margin-right:1rem;cursor:pointer}app-view-profile .app-profile-general-icon{cursor:pointer}app-view-profile .app-profile-text{letter-spacing:.5px}app-view-profile .app-profile-general{display:flex;padding-left:1rem}app-view-profile .app-profile-general-bottom-radius{border-bottom-left-radius:0;border-bottom-right-radius:0}app-view-profile .app-profile-general-section{display:flex;width:60%;padding-top:1rem;cursor:pointer}app-view-profile .app-general-title{margin-left:.6rem;margin-top:4px;letter-spacing:.5px}app-view-profile .app-general-edit-btn{width:60%;text-align:end}app-view-profile .app-general-edit-btn .app-general-edit{background:var(--theme-grey-text-background-color);height:30px;margin:1rem}app-view-profile .app-general-edit-btn .app-general-cancel-btn{height:30px;margin:1rem 1rem 1rem .5rem;background-color:var(--theme-grey-text-background-color);padding-top:.25px}app-view-profile .app-general-edit-btn .app-general-save-btn{width:75px;height:30px;margin:1rem 1rem 1rem .5rem;color:#fff;background-color:var(--theme-blue-button-color);font-weight:600}app-view-profile .app-divider{border-top-width:2px;border-top-color:var(--theme-grey-background-color);padding-left:-1px;padding-right:1px}app-view-profile .app-selected:focus{border:2px solid var(--theme-blue-button-color);border-radius:6px;outline:none;box-shadow:0 0 2px var(--theme-blue-button-color)}app-view-profile .app-general-edit:hover{background:var(--theme-grey-hover-background-color)}app-view-profile .app-general-dropdown-divider{border-top-color:var(--theme-grey-divider-color)}app-view-profile .app-general-dropdown{padding:0 1rem}app-view-profile .app-general-dropdown-details{display:flex}app-view-profile .app-profile-general-dropdown-heading{color:var(--theme-heading-color);width:20%;font-weight:400;letter-spacing:.5px}app-view-profile .app-profile-general-dropdown-details{margin-top:1.3rem;letter-spacing:.5px}app-view-profile .app-profile-general-dropdown-input-details{width:24%;height:25px;border:none;margin-top:1.3rem;background-color:var(--theme-dropdown-color)}app-view-profile .app-profile-login-row{margin:2rem 0 0 2rem;width:70%;border:1px solid var(--theme-grey-background-color);border-radius:1rem}app-view-profile .app-profile-login{display:flex;padding-left:1rem}app-view-profile .app-profile-login-dropdown-details{width:24%;height:25px;border:none;margin-top:1.3rem;background-color:var(--theme-dropdown-color)}app-view-profile .app-profile-login-dropdown-heading-forgot{margin-top:1.3rem;color:var(--theme-heading-color);margin-left:16rem}app-view-profile .app-profile-company-row{margin-top:2rem}app-view-profile .app-profile-contact-row{margin:2rem 0 5rem 2rem;width:70%;border:1px solid var(--theme-grey-background-color);border-radius:1rem}app-view-profile .app-error-message{padding-top:2rem;padding-left:.5rem}\n"] }]
199
+ }], ctorParameters: function () { return [{ type: i1.Router }, { type: i2.AlfrescoApiService }, { type: i3.AppService }]; } });
200
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlldy1wcm9maWxlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FjYS1jb250ZW50L3NyYy9saWIvY29tcG9uZW50cy92aWV3LXByb2ZpbGUvdmlldy1wcm9maWxlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FjYS1jb250ZW50L3NyYy9saWIvY29tcG9uZW50cy92aWV3LXByb2ZpbGUvdmlldy1wcm9maWxlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBc0JHO0FBRUgsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDcEUsT0FBTyxFQUFFLFNBQVMsRUFBVSxNQUFNLGtCQUFrQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxTQUFTLEVBQXFCLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2hGLE9BQU8sRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLG1CQUFtQixFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3pGLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QyxPQUFPLEVBQWMsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN2RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbEQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIs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QUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7U0FDdkM7SUFDSCxDQUFDO0lBRUQsb0JBQW9CO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUM7SUFDbEMsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUMzQixJQUFJLENBQUMsVUFBVSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQzdCLENBQUM7dUdBcEtVLG9CQUFvQjsyRkFBcEIsb0JBQW9CLDRFQy9DakMsNDFUQWlKQSx3NkdEeEdZLFlBQVksdUxBQUUsZUFBZSwyRkFBRSxtQkFBbUIsbTJCQUFFLGVBQWUsd2FBQUUsYUFBYSxtTEFBRSxnQkFBZ0Isa0lBQUUsa0JBQWtCOztTQU12SCxvQkFBb0I7MkZBQXBCLG9CQUFvQjtrQkFSaEMsU0FBUztpQ0FDSSxJQUFJLFdBQ1AsQ0FBQyxZQUFZLEVBQUUsZUFBZSxFQUFFLG1CQUFtQixFQUFFLGVBQWUsRUFBRSxhQUFhLEVBQUUsZ0JBQWdCLEVBQUUsa0JBQWtCLENBQUMsWUFDekgsa0JBQWtCLGlCQUdiLGlCQUFpQixDQUFDLElBQUkiLCJzb3VyY2VzQ29udGVudCI6WyIvKiFcbiAqIENvcHlyaWdodCDCqSAyMDA1LTIwMjQgSHlsYW5kIFNvZnR3YXJlLCBJbmMuIGFuZCBpdHMgYWZmaWxpYXRlcy4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBBbGZyZXNjbyBFeGFtcGxlIENvbnRlbnQgQXBwbGljYXRpb25cbiAqXG4gKiBUaGlzIGZpbGUgaXMgcGFydCBvZiB0aGUgQWxmcmVzY28gRXhhbXBsZSBDb250ZW50IEFwcGxpY2F0aW9uLlxuICogSWYgdGhlIHNvZnR3YXJlIHdhcyBwdXJjaGFzZWQgdW5kZXIgYSBwYWlkIEFsZnJlc2NvIGxpY2Vuc2UsIHRoZSB0ZXJtcyBvZlxuICogdGhlIHBhaWQgbGljZW5zZSBhZ3JlZW1lbnQgd2lsbCBwcmV2YWlsLiBPdGhlcndpc2UsIHRoZSBzb2Z0d2FyZSBpc1xuICogcHJvdmlkZWQgdW5kZXIgdGhlIGZvbGxvd2luZyBvcGVuIHNvdXJjZSBsaWNlbnNlIHRlcm1zOlxuICpcbiAqIFRoZSBBbGZyZXNjbyBFeGFtcGxlIENvbnRlbnQgQXBwbGljYXRpb24gaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeVxuICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5XG4gKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvclxuICogKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi5cbiAqXG4gKiBUaGUgQWxmcmVzY28gRXhhbXBsZSBDb250ZW50IEFwcGxpY2F0aW9uIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsXG4gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZlxuICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiBTZWUgdGhlXG4gKiBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy5cbiAqXG4gKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2VcbiAqIGZyb20gSHlsYW5kIFNvZnR3YXJlLiBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uXG4gKi9cblxuaW1wb3J0IHsgQWxmcmVzY29BcGlTZXJ2aWNlIH0gZnJvbSAnQGFsZnJlc2NvL2FkZi1jb250ZW50LXNlcnZpY2VzJztcbmltcG9ydCB7IFBlb3BsZUFwaSwgUGVyc29uIH0gZnJvbSAnQGFsZnJlc2NvL2pzLWFwaSc7XG5pbXBvcnQgeyBDb21wb25lbnQsIE9uRGVzdHJveSwgT25Jbml0LCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUNvbnRyb2wsIEZvcm1Hcm91cCwgUmVhY3RpdmVGb3Jtc01vZHVsZSwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBTdWJqZWN0LCB0aHJvd0Vycm9yIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBBcHBTZXJ2aWNlIH0gZnJvbSAnQGFsZnJlc2NvL2FjYS1zaGFyZWQnO1xuaW1wb3J0IHsgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE1hdEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XG5pbXBvcnQgeyBUcmFuc2xhdGVNb2R1bGUgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7IE1hdERpdmlkZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaXZpZGVyJztcbmltcG9ydCB7IE1hdEZvcm1GaWVsZE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2Zvcm0tZmllbGQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgVHJhbnNsYXRlTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlLCBNYXRCdXR0b25Nb2R1bGUsIE1hdEljb25Nb2R1bGUsIE1hdERpdmlkZXJNb2R1bGUsIE1hdEZvcm1GaWVsZE1vZHVsZV0sXG4gIHNlbGVjdG9yOiAnYXBwLXZpZXctcHJvZmlsZScsXG4gIHRlbXBsYXRlVXJsOiAnLi92aWV3LXByb2ZpbGUuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi92aWV3LXByb2ZpbGUuY29tcG9uZW50LnNjc3MnXSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxufSlcbmV4cG9ydCBjbGFzcyBWaWV3UHJvZmlsZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgcGVvcGxlQXBpOiBQZW9wbGVBcGk7XG5cbiAgcHJvZmlsZUZvcm06IEZvcm1Hcm91cDtcbiAgcGVyc29uRGV0YWlsczogUGVyc29uO1xuXG4gIGdlbmVyYWxTZWN0aW9uRHJvcGRvd24gPSB0cnVlO1xuICBnZW5lcmFsU2VjdGlvbkJ1dHRvbnNUb2dnbGUgPSB0cnVlO1xuXG4gIGxvZ2luU2VjdGlvbkRyb3Bkb3duID0gZmFsc2U7XG4gIGxvZ2luU2VjdGlvbkJ1dHRvbnNUb2dnbGUgPSB0cnVlO1xuICBwYXNzd29yZFNlY3Rpb25Ecm9wZG93biA9IGZhbHNlO1xuXG4gIGNvbnRhY3RTZWN0aW9uRHJvcGRvd24gPSBmYWxzZTtcbiAgY29udGFjdFNlY3Rpb25CdXR0b25zVG9nZ2xlID0gdHJ1ZTtcbiAgYXBwTmF2TmFyTW9kZSQ6IE9ic2VydmFibGU8J2NvbGxhcHNlZCcgfCAnZXhwYW5kZWQnPjtcbiAgcHJpdmF0ZSBvbkRlc3Ryb3kkID0gbmV3IFN1YmplY3Q8Ym9vbGVhbj4oKTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJvdXRlcjogUm91dGVyLCBhcGlTZXJ2aWNlOiBBbGZyZXNjb0FwaVNlcnZpY2UsIHByaXZhdGUgYXBwU2VydmljZTogQXBwU2VydmljZSkge1xuICAgIHRoaXMucGVvcGxlQXBpID0gbmV3IFBlb3BsZUFwaShhcGlTZXJ2aWNlLmdldEluc3RhbmNlKCkpO1xuICAgIHRoaXMuYXBwTmF2TmFyTW9kZSQgPSBhcHBTZXJ2aWNlLmFwcE5hdk5hck1vZGUkLnBpcGUodGFrZVVudGlsKHRoaXMub25EZXN0cm95JCkpO1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5wb3B1bGF0ZUZvcm0odGhpcy5wZXJzb25EZXRhaWxzKTtcbiAgICB0aGlzLnBlb3BsZUFwaVxuICAgICAgLmdldFBlcnNvbignLW1lLScpXG4gICAgICAudGhlbigodXNlckluZm8pID0+IHtcbiAgICAgICAgdGhpcy5wZXJzb25EZXRhaWxzID0gdXNlckluZm8/LmVudHJ5O1xuICAgICAgICB0aGlzLnBvcHVsYXRlRm9ybSh1c2VySW5mbz8uZW50cnkpO1xuICAgICAgfSlcbiAgICAgIC5jYXRjaCgoZXJyb3IpID0+IHtcbiAgICAgICAgdGhyb3dFcnJvcihlcnJvcik7XG4gICAgICB9KTtcbiAgfVxuXG4gIHRvZ2dsZUNsaWNrKCkge1xuICAgIHRoaXMuYXBwU2VydmljZS50b2dnbGVBcHBOYXZCYXIkLm5leHQoKTtcbiAgfVxuXG4gIHBvcHVsYXRlRm9ybSh1c2VySW5mbzogUGVyc29uKSB7XG4gICAgdGhpcy5wcm9maWxlRm9ybSA9IG5ldyBGb3JtR3JvdXAoe1xuICAgICAgam9iVGl0bGU6IG5ldyBGb3JtQ29udHJvbCh1c2VySW5mbz8uam9iVGl0bGUgfHwgJycpLFxuICAgICAgbG9jYXRpb246IG5ldyBGb3JtQ29udHJvbCh1c2VySW5mbz8ubG9jYXRpb24gfHwgJycpLFxuICAgICAgdGVsZXBob25lOiBuZXcgRm9ybUNvbnRyb2wodXNlckluZm8/LnRlbGVwaG9uZSB8fCAnJywgW1ZhbGlkYXRvcnMucGF0dGVybignXihbMC05XSstKSpbMC05XSskJyldKSxcbiAgICAgIG1vYmlsZTogbmV3IEZvcm1Db250cm9sKHVzZXJJbmZvPy5tb2JpbGUgfHwgJycsIFtWYWxpZGF0b3JzLnBhdHRlcm4oJ14oWzAtOV0rLSkqWzAtOV0rJCcpXSksXG4gICAgICBvbGRQYXNzd29yZDogbmV3IEZvcm1Db250cm9sKCcnKSxcbiAgICAgIG5ld1Bhc3N3b3JkOiBuZXcgRm9ybUNvbnRyb2woJycpLFxuICAgICAgdmVyaWZ5UGFzc3dvcmQ6IG5ldyBGb3JtQ29udHJvbCgnJyksXG4gICAgICBjb21wYW55TmFtZTogbmV3IEZvcm1Db250cm9sKHVzZXJJbmZvPy5jb21wYW55Py5vcmdhbml6YXRpb24gfHwgJycpLFxuICAgICAgY29tcGFueVBvc3RDb2RlOiBuZXcgRm9ybUNvbnRyb2wodXNlckluZm8/LmNvbXBhbnk/LnBvc3Rjb2RlIHx8ICcnKSxcbiAgICAgIGNvbXBhbnlBZGRyZXNzOiBuZXcgRm9ybUNvbnRyb2wodXNlckluZm8/LmNvbXBhbnk/LmFkZHJlc3MxIHx8ICcnKSxcbiAgICAgIGNvbXBhbnlUZWxlcGhvbmU6IG5ldyBGb3JtQ29udHJvbCh1c2VySW5mbz8uY29tcGFueT8udGVsZXBob25lIHx8ICcnLCBbVmFsaWRhdG9ycy5wYXR0ZXJuKCdeKFswLTldKy0pKlswLTldKyQnKV0pLFxuICAgICAgY29tcGFueUVtYWlsOiBuZXcgRm9ybUNvbnRyb2wodXNlckluZm8/LmNvbXBhbnk/LmVtYWlsIHx8ICcnLCBbVmFsaWRhdG9ycy5lbWFpbF0pXG4gICAgfSk7XG4gIH1cblxuICBuYXZpZ2F0ZVRvUGVyc29uYWxGaWxlcygpIHtcbiAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbJy9wZXJzb25hbC1maWxlcyddLCB7XG4gICAgICByZXBsYWNlVXJsOiB0cnVlXG4gICAgfSk7XG4gIH1cblxuICB0b2dnbGVHZW5lcmFsRHJvcGRvd24oKSB7XG4gICAgdGhpcy5nZW5lcmFsU2VjdGlvbkRyb3Bkb3duID0gIXRoaXMuZ2VuZXJhbFNlY3Rpb25Ecm9wZG93bjtcblxuICAgIGlmICghdGhpcy5nZW5lcmFsU2VjdGlvbkRyb3Bkb3duKSB7XG4gICAgICB0aGlzLmdlbmVyYWxTZWN0aW9uQnV0dG9uc1RvZ2dsZSA9IHRydWU7XG4gICAgfVxuICB9XG5cbiAgdG9nZ2xlR2VuZXJhbEJ1dHRvbnMoKSB7XG4gICAgdGhpcy5nZW5lcmFsU2VjdGlvbkJ1dHRvbnNUb2dnbGUgPSAhdGhpcy5nZW5lcmFsU2VjdGlvbkJ1dHRvbnNUb2dnbGU7XG5cbiAgICBpZiAoIXRoaXMuZ2VuZXJhbFNlY3Rpb25CdXR0b25zVG9nZ2xlKSB7XG4gICAgICB0aGlzLmdlbmVyYWxTZWN0aW9uRHJvcGRvd24gPSB0cnVlO1xuICAgIH1cbiAgfVxuXG4gIG9uU2F2ZUdlbmVyYWxEYXRhKGV2ZW50KSB7XG4gICAgdGhpcy5nZW5lcmFsU2VjdGlvbkJ1dHRvbnNUb2dnbGUgPSAhdGhpcy5nZW5lcmFsU2VjdGlvbkJ1dHRvbnNUb2dnbGU7XG4gICAgdGhpcy51cGRhdGVQZXJzb25EZXRhaWxzKGV2ZW50KTtcbiAgfVxuXG4gIG9uU2F2ZUxvZ2luRGF0YSgpIHtcbiAgICB0aGlzLnBhc3N3b3JkU2VjdGlvbkRyb3Bkb3duID0gIXRoaXMucGFzc3dvcmRTZWN0aW9uRHJvcGRvd247XG4gICAgdGhpcy5sb2dpblNlY3Rpb25CdXR0b25zVG9nZ2xlID0gIXRoaXMubG9naW5TZWN0aW9uQnV0dG9uc1RvZ2dsZTtcbiAgfVxuXG4gIG9uU2F2ZUNvbXBhbnlEYXRhKGV2ZW50KSB7XG4gICAgdGhpcy5jb250YWN0U2VjdGlvbkJ1dHRvbnNUb2dnbGUgPSAhdGhpcy5jb250YWN0U2VjdGlvbkJ1dHRvbnNUb2dnbGU7XG4gICAgdGhpcy51cGRhdGVQZXJzb25EZXRhaWxzKGV2ZW50KTtcbiAgfVxuXG4gIHRvZ2dsZUxvZ2luRHJvcGRvd24oKSB7XG4gICAgdGhpcy5sb2dpblNlY3Rpb25Ecm9wZG93biA9ICF0aGlzLmxvZ2luU2VjdGlvbkRyb3Bkb3duO1xuXG4gICAgaWYgKCF0aGlzLmxvZ2luU2VjdGlvbkRyb3Bkb3duKSB7XG4gICAgICB0aGlzLmxvZ2luU2VjdGlvbkJ1dHRvbnNUb2dnbGUgPSB0cnVlO1xuICAgIH1cbiAgfVxuXG4gIHRvZ2dsZUxvZ2luQnV0dG9ucygpIHtcbiAgICB0aGlzLmxvZ2luU2VjdGlvbkJ1dHRvbnNUb2dnbGUgPSAhdGhpcy5sb2dpblNlY3Rpb25CdXR0b25zVG9nZ2xlO1xuICAgIHRoaXMucGFzc3dvcmRTZWN0aW9uRHJvcGRvd24gPSAhdGhpcy5wYXNzd29yZFNlY3Rpb25Ecm9wZG93bjtcblxuICAgIGlmICghdGhpcy5sb2dpblNlY3Rpb25CdXR0b25zVG9nZ2xlKSB7XG4gICAgICB0aGlzLmxvZ2luU2VjdGlvbkRyb3Bkb3duID0gdHJ1ZTtcbiAgICAgIHRoaXMucGFzc3dvcmRTZWN0aW9uRHJvcGRvd24gPSB0cnVlO1xuICAgIH1cbiAgfVxuXG4gIHRvZ2dsZUNvbnRhY3REcm9wZG93bigpIHtcbiAgICB0aGlzLmNvbnRhY3RTZWN0aW9uRHJvcGRvd24gPSAhdGhpcy5jb250YWN0U2VjdGlvbkRyb3Bkb3duO1xuXG4gICAgaWYgKCF0aGlzLmNvbnRhY3RTZWN0aW9uRHJvcGRvd24pIHtcbiAgICAgIHRoaXMuY29udGFjdFNlY3Rpb25CdXR0b25zVG9nZ2xlID0gdHJ1ZTtcbiAgICB9XG4gIH1cblxuICB0b2dnbGVDb250YWN0QnV0dG9ucygpIHtcbiAgICB0aGlzLmNvbnRhY3RTZWN0aW9uQnV0dG9uc1RvZ2dsZSA9ICF0aGlzLmNvbnRhY3RTZWN0aW9uQnV0dG9uc1RvZ2dsZTtcblxuICAgIGlmICghdGhpcy5jb250YWN0U2VjdGlvbkJ1dHRvbnNUb2dnbGUpIHtcbiAgICAgIHRoaXMuY29udGFjdFNlY3Rpb25Ecm9wZG93biA9IHRydWU7XG4gICAgfVxuICB9XG5cbiAgdXBkYXRlUGVyc29uRGV0YWlscyhldmVudCkge1xuICAgIGlmICh0aGlzLnByb2ZpbGVGb3JtLnZhbGlkKSB7XG4gICAgICB0aGlzLnBlb3BsZUFwaVxuICAgICAgICAudXBkYXRlUGVyc29uKCctbWUtJywge1xuICAgICAgICAgIGpvYlRpdGxlOiBldmVudC52YWx1ZS5qb2JUaXRsZSxcbiAgICAgICAgICBsb2NhdGlvbjogZXZlbnQudmFsdWUubG9jYXRpb24sXG4gICAgICAgICAgdGVsZXBob25lOiBldmVudC52YWx1ZS50ZWxlcGhvbmUsXG4gICAgICAgICAgbW9iaWxlOiBldmVudC52YWx1ZS5tb2JpbGUsXG4gICAgICAgICAgY29tcGFueToge1xuICAgICAgICAgICAgb3JnYW5pemF0aW9uOiBldmVudC52YWx1ZS5jb21wYW55TmFtZSxcbiAgICAgICAgICAgIHBvc3Rjb2RlOiBldmVudC52YWx1ZS5jb21wYW55UG9zdENvZGUsXG4gICAgICAgICAgICBhZGRyZXNzMTogZXZlbnQudmFsdWUuY29tcGFueUFkZHJlc3MsXG4gICAgICAgICAgICB0ZWxlcGhvbmU6IGV2ZW50LnZhbHVlLmNvbXBhbnlUZWxlcGhvbmUsXG4gICAgICAgICAgICBlbWFpbDogZXZlbnQudmFsdWUuY29tcGFueUVtYWlsXG4gICAgICAgICAgfVxuICAgICAgICB9KVxuICAgICAgICAudGhlbigocGVyc29uKSA9PiB7XG4gICAgICAgICAgdGhpcy5wZXJzb25EZXRhaWxzID0gcGVyc29uPy5lbnRyeTtcbiAgICAgICAgICB0aGlzLnBvcHVsYXRlRm9ybShwZXJzb24/LmVudHJ5KTtcbiAgICAgICAgfSlcbiAgICAgICAgLmNhdGNoKChlcnJvcikgPT4ge1xuICAgICAgICAgIHRoaXMucG9wdWxhdGVGb3JtKHRoaXMucGVyc29uRGV0YWlscyk7XG4gICAgICAgICAgdGhyb3dFcnJvcihlcnJvcik7XG4gICAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnBvcHVsYXRlRm9ybSh0aGlzLnBlcnNvbkRldGFpbHMpO1xuICAgIH1cbiAgfVxuXG4gIGlzU2F2ZUJ1dHRvbkRpc2FibGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnByb2ZpbGVGb3JtLmludmFsaWQ7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLm9uRGVzdHJveSQubmV4dCh0cnVlKTtcbiAgICB0aGlzLm9uRGVzdHJveSQuY29tcGxldGUoKTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImFwcC1wcm9maWxlLWNvbnRhaW5lclwiPlxuICA8ZGl2IGNsYXNzPVwiYXBwLXByb2ZpbGUtcm93XCI+XG4gICAgPGRpdiBjbGFzcz1cImFwcC1wcm9maWxlLXRpdGxlXCI+XG4gICAgICA8YnV0dG9uICpuZ0lmPVwiKGFwcE5hdk5hck1vZGUkIHwgYXN5bmMpID09PSAnY29sbGFwc2VkJ1wiIG1hdC1pY29uLWJ1dHRvbiAoY2xpY2spPVwidG9nZ2xlQ2xpY2soKVwiXG4gICAgICAgIHRpdGxlPVwie3snQVBQLlRPT0xUSVBTLkVYUEFORF9OQVZJR0FUSU9OJyB8IHRyYW5zbGF0ZX19XCI+XG4gICAgICAgIDxtYXQtaWNvbj5tZW51PC9tYXQtaWNvbj5cbiAgICAgIDwvYnV0dG9uPlxuICAgICAgPG1hdC1pY29uIGNsYXNzPVwiYXBwLXByb2ZpbGUtaWNvblwiIChjbGljayk9XCJuYXZpZ2F0ZVRvUGVyc29uYWxGaWxlcygpXCIgaWQ9XCJiYWNrQnV0dG9uXCI+YXJyb3dfYmFjazwvbWF0LWljb24+XG4gICAgICA8aDMgY2xhc3M9XCJhcHAtcHJvZmlsZVwiPnt7J0FQUC5FRElUX1BST0ZJTEUuTVlfUFJPRklMRScgfCB0cmFuc2xhdGV9fTwvaDM+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPVwiYXBwLXByb2ZpbGUtZ2VuZXJhbC1yb3dcIiBbZm9ybUdyb3VwXT1cInByb2ZpbGVGb3JtXCI+XG4gICAgPGRpdiBjbGFzcz1cImFwcC1wcm9maWxlLWdlbmVyYWxcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJhcHAtcHJvZmlsZS1nZW5lcmFsLXNlY3Rpb25cIj5cbiAgICAgICAgPG1hdC1pY29uIGNsYXNzPVwiYXBwLXByb2ZpbGUtZ2VuZXJhbC1pY29uXCIgKGNsaWNrKT1cInRvZ2dsZUdlbmVyYWxEcm9wZG93bigpXCIgaWQ9XCJ0b2dnbGUtZ2VuZXJhbC1kcm9wZG93blwiPlxuICAgICAgICAgIHt7IGdlbmVyYWxTZWN0aW9uRHJvcGRvd24gPyAgJ2V4cGFuZF9tb3JlJyA6ICdjaGV2cm9uX3JpZ2h0J319PC9tYXQtaWNvbj5cbiAgICAgICAgPGg0IGNsYXNzPVwiYXBwLWdlbmVyYWwtdGl0bGVcIj57eydBUFAuRURJVF9QUk9GSUxFLkdFTkVSQUwnIHwgdHJhbnNsYXRlfX08L2g0PlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwiYXBwLWdlbmVyYWwtZWRpdC1idG5cIiAqbmdJZj1cImdlbmVyYWxTZWN0aW9uQnV0dG9uc1RvZ2dsZVwiPlxuICAgICAgICA8YnV0dG9uIG1hdC1yYWlzZWQtYnV0dG9uIChjbGljayk9XCJ0b2dnbGVHZW5lcmFsQnV0dG9ucygpXCIgaWQ9XCJnZW5lcmFsLWVkaXQtYnV0dG9uXCJcbiAgICAgICAgICBjbGFzcz1cImFwcC1nZW5lcmFsLWVkaXRcIj57eydBUFAuRURJVF9QUk9GSUxFLkVESVQnIHwgdHJhbnNsYXRlfX08L2J1dHRvbj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cImFwcC1nZW5lcmFsLWVkaXQtYnRuXCIgKm5nSWY9XCIhZ2VuZXJhbFNlY3Rpb25CdXR0b25zVG9nZ2xlXCI+XG4gICAgICAgIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b24gY2xhc3M9XCJhcHAtZ2VuZXJhbC1jYW5jZWwtYnRuXCIgaWQ9XCJnZW5lcmFsLWNhbmNlbC1idXR0b25cIlxuICAgICAgICAgIChjbGljayk9XCJ0b2dnbGVHZW5lcmFsQnV0dG9ucygpXCI+e3snQVBQLkVESVRfUFJPRklMRS5DQU5DRUwnIHwgdHJhbnNsYXRlfX08L2J1dHRvbj5cbiAgICAgICAgPGJ1dHRvbiBtYXQtcmFpc2VkLWJ1dHRvbiBjbGFzcz1cImFwcC1nZW5lcmFsLXNhdmUtYnRuXCIgaWQ9XCJnZW5lcmFsLXNhdmUtYnV0dG9uXCIgW2Rpc2FibGVkXT1cInByb2ZpbGVGb3JtLmludmFsaWRcIlxuICAgICAgICAgIChjbGljayk9XCJvblNhdmVHZW5lcmFsRGF0YShwcm9maWxlRm9ybSlcIj57eydBUFAuRURJVF9QUk9GSUxFLlNBVkUnIHwgdHJhbnNsYXRlfX08L2J1dHRvbj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxtYXQtZGl2aWRlciBjbGFzcz1cImFwcC1kaXZpZGVyXCIgKm5nSWY9XCJnZW5lcmFsU2VjdGlvbkRyb3Bkb3duXCIgLz5cbiAgICA8ZGl2ICpuZ0lmPVwiZ2VuZXJhbFNlY3Rpb25Ecm9wZG93blwiPlxuICAgICAgPGRpdiBjbGFzcz1cImFwcC1nZW5lcmFsLWRyb3Bkb3duXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJhcHAtZ2VuZXJhbC1kcm9wZG93bi1kZXRhaWxzXCI+XG4gICAgICAgICAgPGg0IGNsYXNzPVwiYXBwLXByb2ZpbGUtZ2VuZXJhbC1kcm9wZG93bi1oZWFkaW5nXCI+e3snQVBQLkVESVRfUFJPRklMRS5GSVJTVF9OQU1FJyB8IHRyYW5zbGF0ZX19PC9oND5cbiAgICAgICAgICA8cCBjbGFzcz1cImFwcC1wcm9maWxlLWdlbmVyYWwtZHJvcGRvd24tZGV0YWlsc1wiPnt7cGVyc29uRGV0YWlscz8uZmlyc3ROYW1lfX08L3A+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8bWF0LWRpdmlkZXIgY2xhc3M9XCJhcHAtZ2VuZXJhbC1kcm9wZG93bi1kaXZpZGVyXCIgLz5cbiAgICAgICAgPGRpdiBjbGFzcz1cImFwcC1nZW5lcmFsLWRyb3Bkb3duLWRldGFpbHNcIj5cbiAgICAgICAgICA8aDQgY2xhc3M9XCJhcHAtcHJvZmlsZS1nZW5lcmFsLWRyb3Bkb3duLWhlYWRpbmdcIj57eydBUFAuRURJVF9QUk9GSUxFLkxBU1RfTkFNRScgfCB0cmFuc2xhdGV9fTwvaDQ+XG4gICAgICAgICAgPHAgY2xhc3M9XCJhcHAtcHJvZmlsZS1nZW5lcmFsLWRyb3Bkb3duLWRldGFpbHNcIj57e3BlcnNvbkRldGFpbHM/Lmxhc3ROYW1lfX08L3A+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8bWF0LWRpdmlkZXIgY2xhc3M9XCJhcHAtZ2VuZXJhbC1kcm9wZG93bi1kaXZpZGVyXCIgLz5cbiAgICAgICAgPGRpdiBjbGFzcz1cImFwcC1nZW5lcmFsLWRyb3Bkb3duLWRldGFpbHNcIj5cbiAgICAgICAgICA8aDQgY2xhc3M9XCJhcHAtcHJvZmlsZS1nZW5lcmFsLWRyb3Bkb3duLWhlYWRpbmdcIj57eydBUFAuRURJVF9QUk9GSUxFLkpPQl9USVRMRScgfCB0cmFuc2xhdGV9fTwvaDQ+XG4gICAgICAgICAgPHAgY2xhc3M9XCJhcHAtcHJvZmlsZS1nZW5lcmFsLWRyb3Bkb3duLWRldGFpbHNcIiAqbmdJZj1cImdlbmVyYWxTZWN0aW9uQnV0dG9uc1RvZ2dsZVwiPnt7cGVyc29uRGV0YWlscz8uam9iVGl0bGV9fTwvcD5cbiAgICAgICAgICA8aW5wdXQgdHlwZT1cInRleHRcIiB2YWx1ZT1cIlwiIGZvcm1Db250cm9sTmFtZT1cImpvYlRpdGxlXCIgKm5nSWY9XCIhZ2VuZXJhbFNlY3Rpb25CdXR0b25zVG9nZ2xlXCJcbiAgICAgICAgICAgIGNsYXNzPVwiYXBwLXByb2ZpbGUtZ2VuZXJhbC1kcm9wZG93bi1pbnB1dC1kZXRhaWxzIGFwcC1zZWxlY3RlZFwiPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPG1hdC1kaXZpZGVyIGNsYXNzPVwiYXBwLWdlbmVyYWwtZHJvcGRvd24tZGl2aWRlclwiIC8+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJhcHAtZ2VuZXJhbC1kcm9wZG93bi1kZXRhaWxzXCI+XG4gICAgICAgICAgPGg0IGNsYXNzPVwiYXBwLXByb2ZpbGUtZ2VuZXJhbC1kcm9wZG93bi1oZWFkaW5nXCI+e3snQVBQLkVESVRfUFJPRklMRS5MT0NBVElPTicgfCB0cmFuc2xhdGV9fTwvaDQ+XG4gICAgICAgICAgPHAgY2xhc3M9XCJhcHAtcHJvZmlsZS1nZW5lcmFsLWRyb3Bkb3duLWRldGFpbHNcIiAgKm5nSWY9XCJnZW5lcmFsU2VjdGlvbkJ1dHRvbnNUb2dnbGVcIj57e3BlcnNvbkRldGFpbHM/LmxvY2F0aW9ufX08L3A+XG4gICAgICAgICAgPGlucHV0IHR5cGU9XCJ0ZXh0XCIgdmFsdWU9XCJcIiBmb3JtQ29udHJvbE5hbWU9XCJsb2NhdGlvblwiICpuZ0lmPVwiIWdlbmVyYWxTZWN0aW9uQnV0dG9uc1RvZ2dsZVwiXG4gICAgICAgICAgICBjbGFzcz1cImFwcC1wcm9maWxlLWdlbmVyYWwtZHJvcGRvd24taW5wdXQtZGV0YWlscyBhcHAtc2VsZWN0ZWRcIj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxtYXQtZGl2aWRlciBjbGFzcz1cImFwcC1nZW5lcmFsLWRyb3Bkb3duLWRpdmlkZXJcIiAvPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiYXBwLWdlbmVyYWwtZHJvcGRvd24tZGV0YWlsc1wiPlxuICAgICAgICAgIDxoNCBjbGFzcz1cImFwcC1wcm9maWxlLWdlbmVyYWwtZHJvcGRvd24taGVhZGluZ1wiPnt7J0FQUC5FRElUX1BST0ZJTEUuVEVMRVBIT05FJyB8IHRyYW5zbGF0ZX19PC9oND5cbiAgICAgICAgICA8cCBjbGFzcz1cImFwcC1wcm9maWxlLWdlbmVyYWwtZHJvcGRvd24tZGV0YWlsc1wiICpuZ0lmPVwiZ2VuZXJhbFNlY3Rpb25CdXR0b25zVG9nZ2xlXCI+e3twZXJzb25EZXRhaWxzPy50ZWxlcGhvbmV9fTwvcD5cbiAgICAgICAgICA8aW5wdXQgdHlwZT1cInRlbFwiIG5hbWU9XCJUZWxlcGhvbmVcIiB2YWx1ZT1cIlwiIGZvcm1Db250cm9sTmFtZT1cInRlbGVwaG9uZVwiICpuZ0lmPVwiIWdlbmVyYWxTZWN0aW9uQnV0dG9uc1RvZ2dsZVwiXG4gICAgICAgICAgICBjbGFzcz1cImFwcC1wcm9maWxlLWdlbmVyYWwtZHJvcGRvd24taW5wdXQtZGV0YWlscyBhcHAtc2VsZWN0ZWRcIj5cbiAgICAgICAgICA8bWF0LWVycm9yIGNsYXNzPVwiYXBwLWVycm9yLW1lc3NhZ2VcIiAqbmdJZj1cInByb2ZpbGVGb3JtLmdldCgndGVsZXBob25lJykuaW52YWxpZFwiPlxuICAgICAgICAgICAge3sgJ0FQUC5FRElUX1BST0ZJTEUuSU5WQUxJRF9JTlBVVCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxtYXQtZGl2aWRlciBjbGFzcz1cImFwcC1nZW5lcmFsLWRyb3Bkb3duLWRpdmlkZXJcIiAvPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiYXBwLWdlbmVyYWwtZHJvcGRvd24tZGV0YWlsc1wiPlxuICAgICAgICAgIDxoNCBjbGFzcz1cImFwcC1wcm9maWxlLWdlbmVyYWwtZHJvcGRvd24taGVhZGluZ1wiPnt7J0FQUC5FRElUX1BST0ZJTEUuTU9CSUxFJyB8IHRyYW5zbGF0ZX19PC9oND5cbiAgICAgICAgICA8cCBjbGFzcz1cImFwcC1wcm9maWxlLWdlbmVyYWwtZHJvcGRvd24tZGV0YWlsc1wiICpuZ0lmPVwiZ2VuZXJhbFNlY3Rpb25CdXR0b25zVG9nZ2xlXCI+e3twZXJzb25EZXRhaWxzPy5tb2JpbGV9fTwvcD5cbiAgICAgICAgPGlucHV0IHR5cGU9XCJ0ZWxcIiB2YWx1ZT1cIlwiIGZvcm1Db250cm9sTmFtZT1cIm1vYmlsZVwiICpuZ0lmPVwiIWdlbmVyYWxTZWN0aW9uQnV0dG9uc1RvZ2dsZVwiXG4gICAgICAgICAgY2xhc3M9XCJhcHAtcHJvZmlsZS1nZW5lcmFsLWRyb3Bkb3duLWlucHV0LWRldGFpbHMgYXBwLXNlbGVjdGVkXCI+XG4gICAgICAgIDxtYXQtZXJyb3IgY2xhc3M9XCJhcHAtZXJyb3ItbWVzc2FnZVwiICpuZ0lmPVwicHJvZmlsZUZvcm0uZ2V0KCdtb2JpbGUnKS5pbnZhbGlkXCI+XG4gICAgICAgICAge3sgJ0FQUC5FRElUX1BST0ZJTEUuSU5WQUxJRF9JTlBVVCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuXG4gIDxkaXYgY2xhc3M9XCJhcHAtcHJvZmlsZS1jb250YWN0LXJvd1wiIFtmb3JtR3JvdXBdPVwicHJvZmlsZUZvcm1cIj5cbiAgICA8ZGl2IGNsYXNzPVwiYXBwLXByb2ZpbGUtZ2VuZXJhbCBwcm9maWxlLWdlbmVyYWwtYm90dG9tLXJhZGl1c1wiPlxuICAgICAgPGRpdiBjbGFzcz1cImFwcC1wcm9maWxlLWdlbmVyYWwtc2VjdGlvblwiPlxuICAgICAgICA8bWF0LWljb24gY2xhc3M9XCJhcHAtcHJvZmlsZS1nZW5lcmFsLWljb25cIiAoY2xpY2spPVwidG9nZ2xlQ29udGFjdERyb3Bkb3duKClcIiBpZD1cInRvZ2dsZS1jb250YWN0LWRyb3Bkb3duXCI+XG4gICAgICAgICAge3sgY29udGFjdFNlY3Rpb25Ecm9wZG93biA/ICAnZXhwYW5kX21vcmUnIDogJ2NoZXZyb25fcmlnaHQnfX08L21hdC1pY29uPlxuICAgICAgICA8aDQgY2xhc3M9XCJhcHAtZ2VuZXJhbC10aXRsZVwiPnt7J0FQUC5FRElUX1BST0ZJTEUuQ09NUEFOWV9ERVRBSUxTJyB8IHRyYW5zbGF0ZX19PC9oND5cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8ZGl2IGNsYXNzPVwiYXBwLWdlbmVyYWwtZWRpdC1idG5cIiAqbmdJZj1cImNvbnRhY3RTZWN0aW9uQnV0dG9uc1RvZ2dsZVwiPlxuICAgICAgICA8YnV0dG9uIG1hdC1yYWlzZWQtYnV0dG9uIGNsYXNzPVwiYXBwLWdlbmVyYWwtZWRpdFwiIGlkPVwiY29udGFjdC1lZGl0LWJ1dHRvblwiXG4gICAgICAgICAgKGNsaWNrKT1cInRvZ2dsZUNvbnRhY3RCdXR0b25zKClcIj57eydBUFAuRURJVF9QUk9GSUxFLkVESVQnIHwgdHJhbnNsYXRlfX08L2J1dHRvbj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cImFwcC1nZW5lcmFsLWVkaXQtYnRuXCIgKm5nSWY9XCIhY29udGFjdFNlY3Rpb25CdXR0b25zVG9nZ2xlXCI+XG4gICAgICAgIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b24gY2xhc3M9XCJhcHAtZ2VuZXJhbC1jYW5jZWwtYnRuXCIgaWQ9XCJjb250YWN0LWNhbmNlbC1idXR0b25cIlxuICAgICAgICAgIChjbGljayk9XCJ0b2dnbGVDb250YWN0QnV0dG9ucygpXCI+e3snQVBQLkVESVRfUFJPRklMRS5DQU5DRUwnIHwgdHJhbnNsYXRlfX08L2J1dHRvbj5cbiAgICAgICAgPGJ1dHRvbiBtYXQtcmFpc2VkLWJ1dHRvbiAgY2xhc3M9XCJhcHAtZ2VuZXJhbC1zYXZlLWJ0blwiIGlkPVwiY29udGFjdC1zYXZlLWJ1dHRvblwiIFtkaXNhYmxlZF09XCJwcm9maWxlRm9ybS5pbnZhbGlkXCJcbiAgICAgICAgICAoY2xpY2spPVwib25TYXZlQ29tcGFueURhdGEocHJvZmlsZUZvcm0pXCI+e3snQVBQLkVESVRfUFJPRklMRS5TQVZFJyB8IHRyYW5zbGF0ZX19PC9idXR0b24+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8bWF0LWRpdmlkZXIgY2xhc3M9XCJhcHAtZGl2aWRlclwiICpuZ0lmPVwiY29udGFjdFNlY3Rpb25Ecm9wZG93blwiIC8+XG4gICAgPGRpdiAqbmdJZj1cImNvbnRhY3RTZWN0aW9uRHJvcGRvd25cIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJhcHAtZ2VuZXJhbC1kcm9wZG93blwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiYXBwLWdlbmVyYWwtZHJvcGRvd24tZGV0YWlsc1wiPlxuICAgICAgICAgIDxoNCBjbGFzcz1cImFwcC1wcm9maWxlLWdlbmVyYWwtZHJvcGRvd24taGVhZGluZ1wiPnt7J0FQUC5FRElUX1BST0ZJTEUuTkFNRScgfCB0cmFuc2xhdGV9fTwvaDQ+XG4gICAgICAgICAgPHAgY2xhc3M9XCJhcHAtcHJvZmlsZS1nZW5lcmFsLWRyb3Bkb3duLWRldGFpbHNcIiAqbmdJZj1cImNvbnRhY3RTZWN0aW9uQnV0dG9uc1RvZ2dsZVwiPnt7cGVyc29uRGV0YWlscz8uY29tcGFueT8ub3JnYW5pemF0aW9ufX08L3A+XG4gICAgICAgICAgPGlucHV0IHR5cGU9XCJ0ZXh0XCIgdmFsdWU9XCJcIiAqbmdJZj1cIiFjb250YWN0U2VjdGlvbkJ1dHRvbnNUb2dnbGVcIiBmb3JtQ29udHJvbE5hbWU9XCJjb21wYW55TmFtZVwiXG4gICAgICAgICAgICBjbGFzcz1cImFwcC1wcm9maWxlLWdlbmVyYWwtZHJvcGRvd24taW5wdXQtZGV0YWlscyBhcHAtc2VsZWN0ZWRcIj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxtYXQtZGl2aWRlciBjbGFzcz1cImFwcC1nZW5lcmFsLWRyb3Bkb3duLWRpdmlkZXJcIiAvPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiYXBwLWdlbmVyYWwtZHJvcGRvd24tZGV0YWlsc1wiPlxuICAgICAgICAgIDxoNCBjbGFzcz1cImFwcC1wcm9maWxlLWdlbmVyYWwtZHJvcGRvd24taGVhZGluZ1wiPnt7J0FQUC5FRElUX1BST0ZJTEUuQUREUkVTUycgfCB0cmFuc2xhdGV9fTwvaDQ+XG4gICAgICAgICAgPHAgY2xhc3M9XCJhcHAtcHJvZmlsZS1nZW5lcmFsLWRyb3Bkb3duLWRldGFpbHNcIiAqbmdJZj1cImNvbnRhY3RTZWN0aW9uQnV0dG9uc1RvZ2dsZVwiPnt7cGVyc29uRGV0YWlscz8uY29tcGFueT8uYWRkcmVzczF9fTwvcD5cbiAgICAgICAgICA8aW5wdXQgdHlwZT1cInRleHRcIiB2YWx1ZT1cIlwiICpuZ0lmPVwiIWNvbnRhY3RTZWN0aW9uQnV0dG9uc1RvZ2dsZVwiIGZvcm1Db250cm9sTmFtZT1cImNvbXBhbnlBZGRyZXNzXCJcbiAgICAgICAgICAgIGNsYXNzPVwiYXBwLXByb2ZpbGUtZ2VuZXJhbC1kcm9wZG93bi1pbnB1dC1kZXRhaWxzIGFwcC1zZWxlY3RlZFwiPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPG1hdC1kaXZpZGVyIGNsYXNzPVwiYXBwLWdlbmVyYWwtZHJvcGRvd24tZGl2aWRlclwiIC8+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJhcHAtZ2VuZXJhbC1kcm9wZG93bi1kZXRhaWxzXCI+XG4gICAgICAgICAgPGg0IGNsYXNzPVwiYXBwLXByb2ZpbGUtZ2VuZXJhbC1kcm9wZG93bi1oZWFkaW5nXCI+e3snQVBQLkVESVRfUFJPRklMRS5QT1NUQ09ERScgfCB0cmFuc2xhdGV9fTwvaDQ+XG4gICAgICAgICAgPHAgY2xhc3M9XCJhcHAtcHJvZmlsZS1nZW5lcmFsLWRyb3Bkb3duLWRldGFpbHNcIiAqbmdJZj1cImNvbnRhY3RTZWN0aW9uQnV0dG9uc1RvZ2dsZVwiPnt7cGVyc29uRGV0YWlscz8uY29tcGFueT8ucG9zdGNvZGV9fTwvcD5cbiAgICAgICAgICA8aW5wdXQgdHlwZT1cInRleHRcIiB2YWx1ZT1cIlwiICpuZ0lmPVwiIWNvbnRhY3RTZWN0aW9uQnV0dG9uc1RvZ2dsZVwiIGZvcm1Db250cm9sTmFtZT1cImNvbXBhbnlQb3N0Q29kZVwiXG4gICAgICAgICAgICBjbGFzcz1cImFwcC1wcm9maWxlLWdlbmVyYWwtZHJvcGRvd24taW5wdXQtZGV0YWlscyBhcHAtc2VsZWN0ZWRcIj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxtYXQtZGl2aWRlciBjbGFzcz1cImFwcC1nZW5lcmFsLWRyb3Bkb3duLWRpdmlkZXJcIiAvPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiYXBwLWdlbmVyYWwtZHJvcGRvd24tZGV0YWlsc1wiPlxuICAgICAgICAgIDxoNCBjbGFzcz1cImFwcC1wcm9maWxlLWdlbmVyYWwtZHJvcGRvd24taGVhZGluZ1wiPnt7J0FQUC5FRElUX1BST0ZJTEUuVEVMRVBIT05FJyB8IHRyYW5zbGF0ZX19PC9oND5cbiAgICAgICAgICA8cCBjbGFzcz1cImFwcC1wcm9maWxlLWdlbmVyYWwtZHJvcGRvd24tZGV0YWlsc1wiICpuZ0lmPVwiY29udGFjdFNlY3Rpb25CdXR0b25zVG9nZ2xlXCI+e3twZXJzb25EZXRhaWxzPy5jb21wYW55Py50ZWxlcGhvbmV9fTwvcD5cbiAgICAgICAgICA8aW5wdXQgdHlwZT1cInRlbFwiIHZhbHVlPVwiXCIgKm5nSWY9XCIhY29udGFjdFNlY3Rpb25CdXR0b25zVG9nZ2xlXCIgZm9ybUNvbnRyb2xOYW1lPVwiY29tcGFueVRlbGVwaG9uZVwiXG4gICAgICAgICAgICBjbGFzcz1cImFwcC1wcm9maWxlLWdlbmVyYWwtZHJvcGRvd24taW5wdXQtZGV0YWlscyBhcHAtc2VsZWN0ZWRcIj5cbiAgICAgICAgICA8bWF0LWVycm9yIGNsYXNzPVwiYXBwLWVycm9yLW1lc3NhZ2VcIiAqbmdJZj1cInByb2ZpbGVGb3JtLmdldCgnY29tcGFueVRlbGVwaG9uZScpLmludmFsaWRcIj5cbiAgICAgICAgICAgIHt7ICdBUFAuRURJVF9QUk9GSUxFLklOVkFMSURfSU5QVVQnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8bWF0LWRpdmlkZXIgY2xhc3M9XCJhcHAtZ2VuZXJhbC1kcm9wZG93bi1kaXZpZGVyXCIgLz5cbiAgICAgICAgPGRpdiBjbGFzcz1cImFwcC1nZW5lcmFsLWRyb3Bkb3duLWRldGFpbHNcIj5cbiAgICAgICAgICA8aDQgY2xhc3M9XCJhcHAtcHJvZmlsZS1nZW5lcmFsLWRyb3Bkb3duLWhlYWRpbmdcIj57eydBUFAuRURJVF9QUk9GSUxFLkVNQUlMJyB8IHRyYW5zbGF0ZX19PC9oND5cbiAgICAgICAgICA8cCBjbGFzcz1cImFwcC1wcm9maWxlLWdlbmVyYWwtZHJvcGRvd24tZGV0YWlsc1wiICpuZ0lmPVwiY29udGFjdFNlY3Rpb25CdXR0b25zVG9nZ2xlXCI+e3twZXJzb25EZXRhaWxzPy5jb21wYW55Py5lbWFpbH19PC9wPlxuICAgICAgICAgIDxpbnB1dCB0eXBlPVwidGV4dFwiIHZhbHVlPVwiXCIgKm5nSWY9XCIhY29udGFjdFNlY3Rpb25CdXR0b25zVG9nZ2xlXCIgZm9ybUNvbnRyb2xOYW1lPVwiY29tcGFueUVtYWlsXCJcbiAgICAgICAgICAgIGNsYXNzPVwiYXBwLXByb2ZpbGUtZ2VuZXJhbC1kcm9wZG93bi1pbnB1dC1kZXRhaWxzIGFwcC1zZWxlY3RlZFwiPlxuICAgICAgICAgIDxtYXQtZXJyb3IgY2xhc3M9XCJhcHAtZXJyb3ItbWVzc2FnZVwiICpuZ0lmPVwicHJvZmlsZUZvcm0uZ2V0KCdjb21wYW55RW1haWwnKS5pbnZhbGlkXCI+XG4gICAgICAgICAgICB7eyAnQVBQLkVESVRfUFJPRklMRS5JTlZBTElEX0lOUFVUJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19