@alfresco/aca-content 5.1.1 → 5.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (396) hide show
  1. package/assets/app.extensions.json +9 -0
  2. package/assets/i18n/ar.json +600 -599
  3. package/assets/i18n/cs.json +600 -599
  4. package/assets/i18n/da.json +600 -599
  5. package/assets/i18n/de.json +600 -599
  6. package/assets/i18n/en.json +40 -1
  7. package/assets/i18n/es.json +600 -599
  8. package/assets/i18n/fi.json +600 -599
  9. package/assets/i18n/fr.json +600 -599
  10. package/assets/i18n/it.json +600 -599
  11. package/assets/i18n/ja.json +600 -599
  12. package/assets/i18n/nb.json +600 -599
  13. package/assets/i18n/nl.json +600 -599
  14. package/assets/i18n/pl.json +600 -599
  15. package/assets/i18n/pt-BR.json +600 -599
  16. package/assets/i18n/ru.json +600 -599
  17. package/assets/i18n/sv.json +600 -599
  18. package/assets/i18n/zh-CN.json +600 -599
  19. package/esm2022/about/about.component.mjs +70 -0
  20. package/esm2022/about/aca-about.module.mjs +47 -0
  21. package/esm2022/folder-rules/folder-rules.module.mjs +116 -0
  22. package/esm2022/folder-rules/manage-rules/manage-rules.smart-component.mjs +280 -0
  23. package/esm2022/folder-rules/rule-details/actions/rule-action-list.ui-component.mjs +117 -0
  24. package/esm2022/folder-rules/rule-details/actions/rule-action.ui-component.mjs +359 -0
  25. package/esm2022/folder-rules/rule-details/conditions/rule-composite-condition.ui-component.mjs +171 -0
  26. package/esm2022/folder-rules/rule-details/conditions/rule-simple-condition.ui-component.mjs +237 -0
  27. package/esm2022/folder-rules/rule-details/edit-rule-dialog.ui-component.mjs +80 -0
  28. package/esm2022/folder-rules/rule-details/options/rule-options.ui-component.mjs +129 -0
  29. package/esm2022/folder-rules/rule-details/rule-details.ui-component.mjs +192 -0
  30. package/esm2022/folder-rules/rule-details/triggers/rule-triggers.ui-component.mjs +87 -0
  31. package/esm2022/folder-rules/rule-details/validators/rule-actions.validator.mjs +36 -0
  32. package/esm2022/folder-rules/rule-list/rule-list/rule-list.ui-component.mjs +166 -0
  33. package/esm2022/folder-rules/rule-list/rule-list-grouping/rule-list-grouping.ui-component.mjs +80 -0
  34. package/esm2022/folder-rules/rule-list/rule-list-item/rule-list-item.ui-component.mjs +59 -0
  35. package/esm2022/folder-rules/rule-set-picker/rule-set-picker.smart-component.mjs +125 -0
  36. package/esm2022/folder-rules/services/actions.service.mjs +117 -0
  37. package/esm2022/folder-rules/services/folder-rule-sets.service.mjs +230 -0
  38. package/esm2022/folder-rules/services/folder-rules.service.mjs +195 -0
  39. package/esm2022/lib/aca-content.module.mjs +303 -0
  40. package/esm2022/lib/aca-content.routes.mjs +369 -0
  41. package/esm2022/lib/components/bulk-actions-dropdown/bulk-actions-dropdown.component.mjs +82 -0
  42. package/{esm2020 → esm2022}/lib/components/common/language-picker/language-picker.component.mjs +9 -8
  43. package/esm2022/lib/components/common/location-link/location-link.component.mjs +182 -0
  44. package/{esm2020 → esm2022}/lib/components/common/logout/logout.component.mjs +8 -6
  45. package/esm2022/lib/components/common/toggle-shared/toggle-shared.component.mjs +81 -0
  46. package/esm2022/lib/components/common/user-info/user-info.component.mjs +46 -0
  47. package/esm2022/lib/components/context-menu/base-context-menu.directive.mjs +77 -0
  48. package/esm2022/lib/components/context-menu/context-menu-item.component.mjs +65 -0
  49. package/esm2022/lib/components/context-menu/context-menu-outside-event.directive.mjs +62 -0
  50. package/esm2022/lib/components/context-menu/context-menu-overlay.mjs +33 -0
  51. package/esm2022/lib/components/context-menu/context-menu.component.mjs +84 -0
  52. package/esm2022/lib/components/context-menu/context-menu.service.mjs +127 -0
  53. package/esm2022/lib/components/context-menu/custom-context-menu-actions.token.mjs +26 -0
  54. package/esm2022/lib/components/context-menu/custom-context-menu.component.mjs +79 -0
  55. package/esm2022/lib/components/details/details.component.mjs +154 -0
  56. package/esm2022/lib/components/dl-custom-components/datatable-cell-badges/datatable-cell-badges.component.mjs +75 -0
  57. package/esm2022/lib/components/dl-custom-components/name-column/name-column.component.mjs +106 -0
  58. package/esm2022/lib/components/dl-custom-components/tags-column/tags-column.component.mjs +52 -0
  59. package/esm2022/lib/components/dl-custom-components/thumbnail-column/thumbnail-column.component.mjs +77 -0
  60. package/esm2022/lib/components/favorite-libraries/favorite-libraries.component.mjs +126 -0
  61. package/esm2022/lib/components/favorites/favorites.component.mjs +105 -0
  62. package/esm2022/lib/components/files/files.component.mjs +336 -0
  63. package/esm2022/lib/components/home/home.component.mjs +46 -0
  64. package/esm2022/lib/components/info-drawer/comments-tab/comments-tab.component.mjs +62 -0
  65. package/esm2022/lib/components/info-drawer/info.drawer.module.mjs +74 -0
  66. package/esm2022/lib/components/info-drawer/library-metadata-tab/library-metadata-form.component.mjs +213 -0
  67. package/esm2022/lib/components/info-drawer/library-metadata-tab/library-metadata-tab.component.mjs +47 -0
  68. package/esm2022/lib/components/info-drawer/metadata-tab/metadata-tab.component.mjs +145 -0
  69. package/esm2022/lib/components/info-drawer/versions-tab/versions-tab.component.mjs +107 -0
  70. package/esm2022/lib/components/knowledge-retrieval/search-ai/agents-button/agents-button.component.mjs +135 -0
  71. package/esm2022/lib/components/knowledge-retrieval/search-ai/search-ai-input/search-ai-input.component.mjs +181 -0
  72. package/esm2022/lib/components/knowledge-retrieval/search-ai/search-ai-input-container/search-ai-input-container.component.mjs +77 -0
  73. package/esm2022/lib/components/knowledge-retrieval/search-ai/search-ai-results/search-ai-results.component.mjs +210 -0
  74. package/esm2022/lib/components/libraries/libraries.component.mjs +81 -0
  75. package/esm2022/lib/components/recent-files/recent-files.component.mjs +80 -0
  76. package/esm2022/lib/components/search/search-action-menu/search-action-menu.component.mjs +66 -0
  77. package/esm2022/lib/components/search/search-input/search-input.component.mjs +297 -0
  78. package/esm2022/lib/components/search/search-input-control/search-input-control.component.mjs +94 -0
  79. package/esm2022/lib/components/search/search-libraries-results/search-libraries-query-builder.service.mjs +93 -0
  80. package/esm2022/lib/components/search/search-libraries-results/search-libraries-results.component.mjs +155 -0
  81. package/esm2022/lib/components/search/search-navigation.service.mjs +62 -0
  82. package/esm2022/lib/components/search/search-results/search-results.component.mjs +279 -0
  83. package/esm2022/lib/components/search/search-results-row/search-results-row.component.mjs +149 -0
  84. package/esm2022/lib/components/search/search-save/dialog/delete/saved-search-delete-dialog.component.mjs +82 -0
  85. package/esm2022/lib/components/search/search-save/dialog/edit/saved-search-edit-dialog.component.mjs +116 -0
  86. package/esm2022/lib/components/search/search-save/dialog/save-search-dialog.component.mjs +125 -0
  87. package/esm2022/lib/components/search/search-save/dialog/saved-search-form.interface.mjs +25 -0
  88. package/esm2022/lib/components/search/search-save/dialog/unique-search-name-validator.mjs +45 -0
  89. package/esm2022/lib/components/search/search-save/directive/save-search.directive.mjs +64 -0
  90. package/esm2022/lib/components/search/search-save/list/saved-searches-list-ui.service.mjs +51 -0
  91. package/esm2022/lib/components/search/search-save/list/smart-list/saved-searches-list-schema.mjs +44 -0
  92. package/esm2022/lib/components/search/search-save/list/smart-list/saved-searches-smart-list.component.mjs +50 -0
  93. package/esm2022/lib/components/search/search-save/list/ui-list/saved-searches-list.ui-component.mjs +153 -0
  94. package/esm2022/lib/components/search/search-save/sidenav/save-search-sidenav.component.mjs +94 -0
  95. package/esm2022/lib/components/shared-files/shared-files.component.mjs +85 -0
  96. package/esm2022/lib/components/shared-link-view/shared-link-view.component.mjs +89 -0
  97. package/esm2022/lib/components/sidenav/components/button-menu.component.mjs +66 -0
  98. package/esm2022/lib/components/sidenav/components/expand-menu.component.mjs +73 -0
  99. package/esm2022/lib/components/sidenav/components/sidenav-header.component.mjs +65 -0
  100. package/esm2022/lib/components/sidenav/directives/action.directive.mjs +86 -0
  101. package/esm2022/lib/components/sidenav/directives/active-link.directive.mjs +100 -0
  102. package/esm2022/lib/components/sidenav/directives/expansion-panel.directive.mjs +107 -0
  103. package/esm2022/lib/components/sidenav/directives/menu-panel.directive.mjs +103 -0
  104. package/esm2022/lib/components/sidenav/sidenav.component.mjs +101 -0
  105. package/esm2022/lib/components/sidenav/user-menu/user-menu.component.mjs +57 -0
  106. package/esm2022/lib/components/toolbar/toggle-edit-offline/toggle-edit-offline.component.mjs +143 -0
  107. package/esm2022/lib/components/toolbar/toggle-favorite/toggle-favorite.component.mjs +91 -0
  108. package/esm2022/lib/components/toolbar/toggle-favorite-library/toggle-favorite-library.component.mjs +112 -0
  109. package/esm2022/lib/components/toolbar/toggle-info-drawer/toggle-info-drawer.component.mjs +77 -0
  110. package/esm2022/lib/components/toolbar/toggle-join-library/toggle-join-library-button.component.mjs +107 -0
  111. package/{esm2020 → esm2022}/lib/components/toolbar/toggle-join-library/toggle-join-library-menu.component.mjs +7 -6
  112. package/esm2022/lib/components/toolbar/view-node/view-node.component.mjs +128 -0
  113. package/esm2022/lib/components/trashcan/trashcan.component.mjs +66 -0
  114. package/esm2022/lib/components/upload-files-dialog/upload-files-dialog.component.mjs +55 -0
  115. package/esm2022/lib/components/view-profile/view-profile.component.mjs +200 -0
  116. package/esm2022/lib/dialogs/node-template/create-from-template.dialog.mjs +127 -0
  117. package/esm2022/lib/directives/document-list.directive.mjs +207 -0
  118. package/esm2022/lib/extensions/core.extensions.module.mjs +56 -0
  119. package/esm2022/lib/services/content-management.service.mjs +892 -0
  120. package/esm2022/lib/services/content-url.service.mjs +74 -0
  121. package/esm2022/lib/services/modal-ai.service.mjs +65 -0
  122. package/esm2022/lib/services/node-actions.service.mjs +609 -0
  123. package/esm2022/lib/services/node-template.service.mjs +145 -0
  124. package/esm2022/lib/services/search-ai-navigation.service.mjs +63 -0
  125. package/esm2022/lib/store/app-store.module.mjs +101 -0
  126. package/esm2022/lib/store/effects/app.effects.mjs +46 -0
  127. package/esm2022/lib/store/effects/contextmenu.effects.mjs +65 -0
  128. package/esm2022/lib/store/effects/download.effects.mjs +153 -0
  129. package/esm2022/lib/store/effects/favorite.effects.mjs +72 -0
  130. package/esm2022/lib/store/effects/library.effects.mjs +108 -0
  131. package/esm2022/lib/store/effects/node.effects.mjs +318 -0
  132. package/esm2022/lib/store/effects/search-ai.effects.mjs +54 -0
  133. package/esm2022/lib/store/effects/search.effects.mjs +52 -0
  134. package/esm2022/lib/store/effects/template.effects.mjs +116 -0
  135. package/esm2022/lib/store/effects/upload.effects.mjs +166 -0
  136. package/esm2022/lib/store/effects/viewer.effects.mjs +169 -0
  137. package/esm2022/lib/utils/aca-search-utils.mjs +129 -0
  138. package/esm2022/ms-office/actions/aos.actions.mjs +32 -0
  139. package/esm2022/ms-office/aos-extension.module.mjs +53 -0
  140. package/esm2022/ms-office/aos-extension.service.mjs +136 -0
  141. package/esm2022/ms-office/effects/aos.effects.mjs +45 -0
  142. package/esm2022/public-api.mjs +33 -0
  143. package/esm2022/viewer/lib/components/preview/preview.component.mjs +246 -0
  144. package/esm2022/viewer/lib/components/viewer/viewer.component.mjs +261 -0
  145. package/esm2022/viewer/lib/services/viewer.service.mjs +229 -0
  146. package/esm2022/viewer/lib/viewer.module.mjs +53 -0
  147. package/{fesm2015 → fesm2022}/alfresco-aca-content-about.mjs +17 -19
  148. package/fesm2022/alfresco-aca-content-about.mjs.map +1 -0
  149. package/{fesm2020 → fesm2022}/alfresco-aca-content-folder-rules.mjs +357 -316
  150. package/fesm2022/alfresco-aca-content-folder-rules.mjs.map +1 -0
  151. package/{fesm2020 → fesm2022}/alfresco-aca-content-ms-office.mjs +28 -26
  152. package/fesm2022/alfresco-aca-content-ms-office.mjs.map +1 -0
  153. package/{fesm2020 → fesm2022}/alfresco-aca-content-viewer.mjs +95 -64
  154. package/fesm2022/alfresco-aca-content-viewer.mjs.map +1 -0
  155. package/fesm2022/alfresco-aca-content.mjs +11091 -0
  156. package/fesm2022/alfresco-aca-content.mjs.map +1 -0
  157. package/folder-rules/rule-details/actions/rule-action-list.ui-component.d.ts +1 -1
  158. package/folder-rules/rule-details/actions/rule-action.ui-component.d.ts +1 -1
  159. package/folder-rules/rule-details/conditions/rule-composite-condition.ui-component.d.ts +1 -1
  160. package/folder-rules/rule-details/conditions/rule-simple-condition.ui-component.d.ts +1 -1
  161. package/folder-rules/rule-details/options/rule-options.ui-component.d.ts +1 -1
  162. package/folder-rules/rule-details/rule-details.ui-component.d.ts +1 -1
  163. package/folder-rules/rule-list/rule-list/rule-list.ui-component.d.ts +1 -1
  164. package/folder-rules/rule-list/rule-list-grouping/rule-list-grouping.ui-component.d.ts +1 -1
  165. package/folder-rules/rule-list/rule-list-item/rule-list-item.ui-component.d.ts +1 -1
  166. package/folder-rules/services/folder-rule-sets.service.d.ts +4 -4
  167. package/folder-rules/services/folder-rules.service.d.ts +1 -1
  168. package/lib/components/bulk-actions-dropdown/bulk-actions-dropdown.component.d.ts +5 -10
  169. package/lib/components/common/location-link/location-link.component.d.ts +1 -1
  170. package/lib/components/common/toggle-shared/toggle-shared.component.d.ts +1 -1
  171. package/lib/components/context-menu/base-context-menu.directive.d.ts +20 -0
  172. package/lib/components/context-menu/context-menu-item.component.d.ts +1 -1
  173. package/lib/components/context-menu/context-menu-outside-event.directive.d.ts +1 -1
  174. package/lib/components/context-menu/context-menu.component.d.ts +4 -15
  175. package/lib/components/context-menu/context-menu.service.d.ts +4 -1
  176. package/lib/components/{knowledge-retrieval/search-ai/search-ai-utils.d.ts → context-menu/custom-context-menu-actions.token.d.ts} +2 -2
  177. package/lib/components/context-menu/custom-context-menu.component.d.ts +36 -0
  178. package/lib/components/details/details.component.d.ts +1 -1
  179. package/lib/components/dl-custom-components/datatable-cell-badges/datatable-cell-badges.component.d.ts +1 -1
  180. package/lib/components/dl-custom-components/tags-column/tags-column.component.d.ts +1 -1
  181. package/lib/components/dl-custom-components/thumbnail-column/thumbnail-column.component.d.ts +1 -1
  182. package/lib/components/info-drawer/comments-tab/comments-tab.component.d.ts +1 -1
  183. package/lib/components/info-drawer/library-metadata-tab/library-metadata-form.component.d.ts +1 -1
  184. package/lib/components/info-drawer/library-metadata-tab/library-metadata-tab.component.d.ts +1 -1
  185. package/lib/components/info-drawer/metadata-tab/metadata-tab.component.d.ts +1 -1
  186. package/lib/components/info-drawer/versions-tab/versions-tab.component.d.ts +1 -1
  187. package/lib/components/knowledge-retrieval/search-ai/agents-button/agents-button.component.d.ts +1 -2
  188. package/lib/components/knowledge-retrieval/search-ai/search-ai-input/search-ai-input.component.d.ts +4 -5
  189. package/lib/components/knowledge-retrieval/search-ai/search-ai-input-container/search-ai-input-container.component.d.ts +8 -8
  190. package/lib/components/knowledge-retrieval/search-ai/search-ai-results/search-ai-results.component.d.ts +2 -3
  191. package/lib/components/search/search-input/search-input.component.d.ts +12 -14
  192. package/lib/components/search/search-input-control/search-input-control.component.d.ts +1 -1
  193. package/lib/components/search/search-libraries-results/search-libraries-results.component.d.ts +0 -1
  194. package/lib/components/search/search-results/search-results.component.d.ts +15 -9
  195. package/lib/components/search/search-results-row/search-results-row.component.d.ts +1 -1
  196. package/lib/components/search/search-save/dialog/delete/saved-search-delete-dialog.component.d.ts +16 -0
  197. package/lib/components/search/search-save/dialog/edit/saved-search-edit-dialog.component.d.ts +22 -0
  198. package/lib/components/search/search-save/dialog/save-search-dialog.component.d.ts +23 -0
  199. package/lib/components/search/search-save/dialog/saved-search-form.interface.d.ts +28 -0
  200. package/lib/components/search/search-save/dialog/unique-search-name-validator.d.ts +34 -0
  201. package/lib/components/search/search-save/directive/save-search.directive.d.ts +13 -0
  202. package/lib/components/search/search-save/list/saved-searches-list-ui.service.d.ts +9 -0
  203. package/lib/components/search/search-save/list/smart-list/saved-searches-list-schema.d.ts +33 -0
  204. package/lib/components/search/search-save/list/smart-list/saved-searches-smart-list.component.d.ts +13 -0
  205. package/lib/components/search/search-save/list/ui-list/saved-searches-list.ui-component.d.ts +66 -0
  206. package/lib/components/search/search-save/sidenav/save-search-sidenav.component.d.ts +44 -0
  207. package/lib/components/sidenav/components/button-menu.component.d.ts +1 -1
  208. package/lib/components/sidenav/components/expand-menu.component.d.ts +3 -2
  209. package/lib/components/sidenav/directives/action.directive.d.ts +28 -1
  210. package/lib/components/sidenav/directives/active-link.directive.d.ts +2 -2
  211. package/lib/components/sidenav/directives/expansion-panel.directive.d.ts +1 -1
  212. package/lib/components/sidenav/directives/menu-panel.directive.d.ts +1 -1
  213. package/lib/components/sidenav/sidenav.component.d.ts +4 -3
  214. package/lib/components/sidenav/user-menu/user-menu.component.d.ts +1 -1
  215. package/lib/components/toolbar/toggle-favorite/toggle-favorite.component.d.ts +1 -1
  216. package/lib/components/toolbar/view-node/view-node.component.d.ts +1 -1
  217. package/lib/services/search-ai-navigation.service.d.ts +4 -2
  218. package/lib/store/effects/app.effects.d.ts +2 -3
  219. package/lib/store/effects/contextmenu.effects.d.ts +3 -3
  220. package/lib/store/effects/download.effects.d.ts +0 -30
  221. package/lib/store/effects/favorite.effects.d.ts +0 -28
  222. package/lib/store/effects/library.effects.d.ts +2 -7
  223. package/lib/store/effects/node.effects.d.ts +7 -38
  224. package/lib/store/effects/search-ai.effects.d.ts +0 -4
  225. package/lib/store/effects/search.effects.d.ts +3 -30
  226. package/lib/store/effects/template.effects.d.ts +5 -7
  227. package/lib/store/effects/upload.effects.d.ts +8 -32
  228. package/lib/store/effects/viewer.effects.d.ts +0 -29
  229. package/lib/utils/aca-search-utils.d.ts +67 -0
  230. package/ms-office/effects/aos.effects.d.ts +0 -3
  231. package/package.json +21 -35
  232. package/public-api.d.ts +1 -0
  233. package/ui/overrides/adf-pagination.theme.scss +0 -4
  234. package/ui/theme.scss +9 -4
  235. package/assets/images/agent-avatar-blue.png +0 -0
  236. package/assets/images/agent-avatar-gold.png +0 -0
  237. package/assets/images/agent-avatar-pink.png +0 -0
  238. package/esm2020/about/about.component.mjs +0 -71
  239. package/esm2020/about/aca-about.module.mjs +0 -46
  240. package/esm2020/folder-rules/folder-rules.module.mjs +0 -115
  241. package/esm2020/folder-rules/manage-rules/manage-rules.smart-component.mjs +0 -261
  242. package/esm2020/folder-rules/rule-details/actions/rule-action-list.ui-component.mjs +0 -117
  243. package/esm2020/folder-rules/rule-details/actions/rule-action.ui-component.mjs +0 -351
  244. package/esm2020/folder-rules/rule-details/conditions/rule-composite-condition.ui-component.mjs +0 -172
  245. package/esm2020/folder-rules/rule-details/conditions/rule-simple-condition.ui-component.mjs +0 -234
  246. package/esm2020/folder-rules/rule-details/edit-rule-dialog.ui-component.mjs +0 -74
  247. package/esm2020/folder-rules/rule-details/options/rule-options.ui-component.mjs +0 -129
  248. package/esm2020/folder-rules/rule-details/rule-details.ui-component.mjs +0 -185
  249. package/esm2020/folder-rules/rule-details/triggers/rule-triggers.ui-component.mjs +0 -88
  250. package/esm2020/folder-rules/rule-details/validators/rule-actions.validator.mjs +0 -37
  251. package/esm2020/folder-rules/rule-list/rule-list/rule-list.ui-component.mjs +0 -164
  252. package/esm2020/folder-rules/rule-list/rule-list-grouping/rule-list-grouping.ui-component.mjs +0 -81
  253. package/esm2020/folder-rules/rule-list/rule-list-item/rule-list-item.ui-component.mjs +0 -58
  254. package/esm2020/folder-rules/rule-set-picker/rule-set-picker.smart-component.mjs +0 -120
  255. package/esm2020/folder-rules/services/actions.service.mjs +0 -114
  256. package/esm2020/folder-rules/services/folder-rule-sets.service.mjs +0 -225
  257. package/esm2020/folder-rules/services/folder-rules.service.mjs +0 -193
  258. package/esm2020/lib/aca-content.module.mjs +0 -299
  259. package/esm2020/lib/aca-content.routes.mjs +0 -359
  260. package/esm2020/lib/components/bulk-actions-dropdown/bulk-actions-dropdown.component.mjs +0 -83
  261. package/esm2020/lib/components/common/location-link/location-link.component.mjs +0 -180
  262. package/esm2020/lib/components/common/toggle-shared/toggle-shared.component.mjs +0 -76
  263. package/esm2020/lib/components/common/user-info/user-info.component.mjs +0 -47
  264. package/esm2020/lib/components/context-menu/context-menu-item.component.mjs +0 -62
  265. package/esm2020/lib/components/context-menu/context-menu-outside-event.directive.mjs +0 -63
  266. package/esm2020/lib/components/context-menu/context-menu-overlay.mjs +0 -32
  267. package/esm2020/lib/components/context-menu/context-menu.component.mjs +0 -114
  268. package/esm2020/lib/components/context-menu/context-menu.service.mjs +0 -99
  269. package/esm2020/lib/components/details/details.component.mjs +0 -147
  270. package/esm2020/lib/components/dl-custom-components/datatable-cell-badges/datatable-cell-badges.component.mjs +0 -71
  271. package/esm2020/lib/components/dl-custom-components/name-column/name-column.component.mjs +0 -101
  272. package/esm2020/lib/components/dl-custom-components/tags-column/tags-column.component.mjs +0 -48
  273. package/esm2020/lib/components/dl-custom-components/thumbnail-column/thumbnail-column.component.mjs +0 -75
  274. package/esm2020/lib/components/favorite-libraries/favorite-libraries.component.mjs +0 -120
  275. package/esm2020/lib/components/favorites/favorites.component.mjs +0 -103
  276. package/esm2020/lib/components/files/files.component.mjs +0 -330
  277. package/esm2020/lib/components/home/home.component.mjs +0 -47
  278. package/esm2020/lib/components/info-drawer/comments-tab/comments-tab.component.mjs +0 -59
  279. package/esm2020/lib/components/info-drawer/info.drawer.module.mjs +0 -73
  280. package/esm2020/lib/components/info-drawer/library-metadata-tab/library-metadata-form.component.mjs +0 -206
  281. package/esm2020/lib/components/info-drawer/library-metadata-tab/library-metadata-tab.component.mjs +0 -45
  282. package/esm2020/lib/components/info-drawer/metadata-tab/metadata-tab.component.mjs +0 -134
  283. package/esm2020/lib/components/info-drawer/versions-tab/versions-tab.component.mjs +0 -95
  284. package/esm2020/lib/components/knowledge-retrieval/search-ai/agents-button/agents-button.component.mjs +0 -129
  285. package/esm2020/lib/components/knowledge-retrieval/search-ai/search-ai-input/search-ai-input.component.mjs +0 -171
  286. package/esm2020/lib/components/knowledge-retrieval/search-ai/search-ai-input-container/search-ai-input-container.component.mjs +0 -82
  287. package/esm2020/lib/components/knowledge-retrieval/search-ai/search-ai-results/search-ai-results.component.mjs +0 -199
  288. package/esm2020/lib/components/knowledge-retrieval/search-ai/search-ai-utils.mjs +0 -33
  289. package/esm2020/lib/components/libraries/libraries.component.mjs +0 -79
  290. package/esm2020/lib/components/recent-files/recent-files.component.mjs +0 -82
  291. package/esm2020/lib/components/search/search-action-menu/search-action-menu.component.mjs +0 -64
  292. package/esm2020/lib/components/search/search-input/search-input.component.mjs +0 -301
  293. package/esm2020/lib/components/search/search-input-control/search-input-control.component.mjs +0 -94
  294. package/esm2020/lib/components/search/search-libraries-results/search-libraries-query-builder.service.mjs +0 -90
  295. package/esm2020/lib/components/search/search-libraries-results/search-libraries-results.component.mjs +0 -153
  296. package/esm2020/lib/components/search/search-navigation.service.mjs +0 -60
  297. package/esm2020/lib/components/search/search-results/search-results.component.mjs +0 -255
  298. package/esm2020/lib/components/search/search-results-row/search-results-row.component.mjs +0 -142
  299. package/esm2020/lib/components/shared-files/shared-files.component.mjs +0 -83
  300. package/esm2020/lib/components/shared-link-view/shared-link-view.component.mjs +0 -82
  301. package/esm2020/lib/components/sidenav/components/button-menu.component.mjs +0 -62
  302. package/esm2020/lib/components/sidenav/components/expand-menu.component.mjs +0 -67
  303. package/esm2020/lib/components/sidenav/components/sidenav-header.component.mjs +0 -66
  304. package/esm2020/lib/components/sidenav/directives/action.directive.mjs +0 -75
  305. package/esm2020/lib/components/sidenav/directives/active-link.directive.mjs +0 -93
  306. package/esm2020/lib/components/sidenav/directives/expansion-panel.directive.mjs +0 -102
  307. package/esm2020/lib/components/sidenav/directives/menu-panel.directive.mjs +0 -99
  308. package/esm2020/lib/components/sidenav/sidenav.component.mjs +0 -89
  309. package/esm2020/lib/components/sidenav/user-menu/user-menu.component.mjs +0 -56
  310. package/esm2020/lib/components/toolbar/toggle-edit-offline/toggle-edit-offline.component.mjs +0 -137
  311. package/esm2020/lib/components/toolbar/toggle-favorite/toggle-favorite.component.mjs +0 -86
  312. package/esm2020/lib/components/toolbar/toggle-favorite-library/toggle-favorite-library.component.mjs +0 -107
  313. package/esm2020/lib/components/toolbar/toggle-info-drawer/toggle-info-drawer.component.mjs +0 -74
  314. package/esm2020/lib/components/toolbar/toggle-join-library/toggle-join-library-button.component.mjs +0 -105
  315. package/esm2020/lib/components/toolbar/view-node/view-node.component.mjs +0 -122
  316. package/esm2020/lib/components/trashcan/trashcan.component.mjs +0 -68
  317. package/esm2020/lib/components/upload-files-dialog/upload-files-dialog.component.mjs +0 -52
  318. package/esm2020/lib/components/view-profile/view-profile.component.mjs +0 -193
  319. package/esm2020/lib/dialogs/node-template/create-from-template.dialog.mjs +0 -120
  320. package/esm2020/lib/directives/document-list.directive.mjs +0 -199
  321. package/esm2020/lib/extensions/core.extensions.module.mjs +0 -55
  322. package/esm2020/lib/services/content-management.service.mjs +0 -873
  323. package/esm2020/lib/services/content-url.service.mjs +0 -71
  324. package/esm2020/lib/services/modal-ai.service.mjs +0 -66
  325. package/esm2020/lib/services/node-actions.service.mjs +0 -600
  326. package/esm2020/lib/services/node-template.service.mjs +0 -144
  327. package/esm2020/lib/services/search-ai-navigation.service.mjs +0 -52
  328. package/esm2020/lib/store/app-store.module.mjs +0 -102
  329. package/esm2020/lib/store/effects/app.effects.mjs +0 -49
  330. package/esm2020/lib/store/effects/contextmenu.effects.mjs +0 -55
  331. package/esm2020/lib/store/effects/download.effects.mjs +0 -159
  332. package/esm2020/lib/store/effects/favorite.effects.mjs +0 -76
  333. package/esm2020/lib/store/effects/library.effects.mjs +0 -113
  334. package/esm2020/lib/store/effects/node.effects.mjs +0 -325
  335. package/esm2020/lib/store/effects/search-ai.effects.mjs +0 -57
  336. package/esm2020/lib/store/effects/search.effects.mjs +0 -60
  337. package/esm2020/lib/store/effects/template.effects.mjs +0 -121
  338. package/esm2020/lib/store/effects/upload.effects.mjs +0 -166
  339. package/esm2020/lib/store/effects/viewer.effects.mjs +0 -175
  340. package/esm2020/ms-office/actions/aos.actions.mjs +0 -31
  341. package/esm2020/ms-office/aos-extension.module.mjs +0 -52
  342. package/esm2020/ms-office/aos-extension.service.mjs +0 -132
  343. package/esm2020/ms-office/effects/aos.effects.mjs +0 -48
  344. package/esm2020/public-api.mjs +0 -32
  345. package/esm2020/viewer/lib/components/preview/preview.component.mjs +0 -236
  346. package/esm2020/viewer/lib/components/viewer/viewer.component.mjs +0 -240
  347. package/esm2020/viewer/lib/services/viewer.service.mjs +0 -226
  348. package/esm2020/viewer/lib/viewer.module.mjs +0 -52
  349. package/fesm2015/alfresco-aca-content-about.mjs.map +0 -1
  350. package/fesm2015/alfresco-aca-content-folder-rules.mjs +0 -2662
  351. package/fesm2015/alfresco-aca-content-folder-rules.mjs.map +0 -1
  352. package/fesm2015/alfresco-aca-content-ms-office.mjs +0 -256
  353. package/fesm2015/alfresco-aca-content-ms-office.mjs.map +0 -1
  354. package/fesm2015/alfresco-aca-content-viewer.mjs +0 -700
  355. package/fesm2015/alfresco-aca-content-viewer.mjs.map +0 -1
  356. package/fesm2015/alfresco-aca-content.mjs +0 -9835
  357. package/fesm2015/alfresco-aca-content.mjs.map +0 -1
  358. package/fesm2020/alfresco-aca-content-about.mjs +0 -193
  359. package/fesm2020/alfresco-aca-content-about.mjs.map +0 -1
  360. package/fesm2020/alfresco-aca-content-folder-rules.mjs.map +0 -1
  361. package/fesm2020/alfresco-aca-content-ms-office.mjs.map +0 -1
  362. package/fesm2020/alfresco-aca-content-viewer.mjs.map +0 -1
  363. package/fesm2020/alfresco-aca-content.mjs +0 -9934
  364. package/fesm2020/alfresco-aca-content.mjs.map +0 -1
  365. /package/{esm2020 → esm2022}/about/alfresco-aca-content-about.mjs +0 -0
  366. /package/{esm2020 → esm2022}/about/dev-mode.tokens.mjs +0 -0
  367. /package/{esm2020 → esm2022}/about/package-json.token.mjs +0 -0
  368. /package/{esm2020 → esm2022}/about/public-api.mjs +0 -0
  369. /package/{esm2020 → esm2022}/alfresco-aca-content.mjs +0 -0
  370. /package/{esm2020 → esm2022}/folder-rules/alfresco-aca-content-folder-rules.mjs +0 -0
  371. /package/{esm2020 → esm2022}/folder-rules/folder-rules.rules.mjs +0 -0
  372. /package/{esm2020 → esm2022}/folder-rules/model/action-parameter-constraint.model.mjs +0 -0
  373. /package/{esm2020 → esm2022}/folder-rules/model/rule-action.model.mjs +0 -0
  374. /package/{esm2020 → esm2022}/folder-rules/model/rule-composite-condition.model.mjs +0 -0
  375. /package/{esm2020 → esm2022}/folder-rules/model/rule-grouping-item.model.mjs +0 -0
  376. /package/{esm2020 → esm2022}/folder-rules/model/rule-set.model.mjs +0 -0
  377. /package/{esm2020 → esm2022}/folder-rules/model/rule-simple-condition.model.mjs +0 -0
  378. /package/{esm2020 → esm2022}/folder-rules/model/rule.model.mjs +0 -0
  379. /package/{esm2020 → esm2022}/folder-rules/public-api.mjs +0 -0
  380. /package/{esm2020 → esm2022}/folder-rules/rule-details/conditions/rule-condition-comparators.mjs +0 -0
  381. /package/{esm2020 → esm2022}/folder-rules/rule-details/conditions/rule-condition-fields.mjs +0 -0
  382. /package/{esm2020 → esm2022}/folder-rules/rule-details/validators/rule-composite-condition.validator.mjs +0 -0
  383. /package/{esm2020 → esm2022}/lib/components/common/index.mjs +0 -0
  384. /package/{esm2020 → esm2022}/lib/components/context-menu/direction.token.mjs +0 -0
  385. /package/{esm2020 → esm2022}/lib/components/context-menu/interfaces.mjs +0 -0
  386. /package/{esm2020 → esm2022}/lib/components/search/index.mjs +0 -0
  387. /package/{esm2020 → esm2022}/lib/components/sidenav/index.mjs +0 -0
  388. /package/{esm2020 → esm2022}/lib/components/toolbar/index.mjs +0 -0
  389. /package/{esm2020 → esm2022}/lib/components/view-profile/view-profile.guard.mjs +0 -0
  390. /package/{esm2020 → esm2022}/lib/store/effects.mjs +0 -0
  391. /package/{esm2020 → esm2022}/lib/store/initial-state.mjs +0 -0
  392. /package/{esm2020 → esm2022}/lib/store/reducers/app.reducer.mjs +0 -0
  393. /package/{esm2020 → esm2022}/ms-office/alfresco-aca-content-ms-office.mjs +0 -0
  394. /package/{esm2020 → esm2022}/ms-office/public-api.mjs +0 -0
  395. /package/{esm2020 → esm2022}/viewer/alfresco-aca-content-viewer.mjs +0 -0
  396. /package/{esm2020 → esm2022}/viewer/public-api.mjs +0 -0
@@ -1,46 +0,0 @@
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 { NgModule } from '@angular/core';
25
- import { AboutComponent } from './about.component';
26
- import { ExtensionService, provideExtensionConfig } from '@alfresco/adf-extensions';
27
- import * as i0 from "@angular/core";
28
- import * as i1 from "@alfresco/adf-extensions";
29
- export class AcaAboutModule {
30
- constructor(extensions) {
31
- extensions.setComponents({
32
- 'app.about.component': AboutComponent
33
- });
34
- }
35
- }
36
- AcaAboutModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: AcaAboutModule, deps: [{ token: i1.ExtensionService }], target: i0.ɵɵFactoryTarget.NgModule });
37
- AcaAboutModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: AcaAboutModule, imports: [AboutComponent] });
38
- AcaAboutModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: AcaAboutModule, providers: [provideExtensionConfig(['about.plugin.json'])], imports: [AboutComponent] });
39
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: AcaAboutModule, decorators: [{
40
- type: NgModule,
41
- args: [{
42
- imports: [AboutComponent],
43
- providers: [provideExtensionConfig(['about.plugin.json'])]
44
- }]
45
- }], ctorParameters: function () { return [{ type: i1.ExtensionService }]; } });
46
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNhLWFib3V0Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FjYS1jb250ZW50L2Fib3V0L3NyYy9hY2EtYWJvdXQubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBc0JHO0FBRUgsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDbkQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLHNCQUFzQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7OztBQU1wRixNQUFNLE9BQU8sY0FBYztJQUN6QixZQUFZLFVBQTRCO1FBQ3RDLFVBQVUsQ0FBQyxhQUFhLENBQUM7WUFDdkIscUJBQXFCLEVBQUUsY0FBYztTQUN0QyxDQUFDLENBQUM7SUFDTCxDQUFDOzs0R0FMVSxjQUFjOzZHQUFkLGNBQWMsWUFIZixjQUFjOzZHQUdiLGNBQWMsYUFGZCxDQUFDLHNCQUFzQixDQUFDLENBQUMsbUJBQW1CLENBQUMsQ0FBQyxDQUFDLFlBRGhELGNBQWM7NEZBR2IsY0FBYztrQkFKMUIsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUUsQ0FBQyxjQUFjLENBQUM7b0JBQ3pCLFNBQVMsRUFBRSxDQUFDLHNCQUFzQixDQUFDLENBQUMsbUJBQW1CLENBQUMsQ0FBQyxDQUFDO2lCQUMzRCIsInNvdXJjZXNDb250ZW50IjpbIi8qIVxuICogQ29weXJpZ2h0IMKpIDIwMDUtMjAyNCBIeWxhbmQgU29mdHdhcmUsIEluYy4gYW5kIGl0cyBhZmZpbGlhdGVzLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIEFsZnJlc2NvIEV4YW1wbGUgQ29udGVudCBBcHBsaWNhdGlvblxuICpcbiAqIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBBbGZyZXNjbyBFeGFtcGxlIENvbnRlbnQgQXBwbGljYXRpb24uXG4gKiBJZiB0aGUgc29mdHdhcmUgd2FzIHB1cmNoYXNlZCB1bmRlciBhIHBhaWQgQWxmcmVzY28gbGljZW5zZSwgdGhlIHRlcm1zIG9mXG4gKiB0aGUgcGFpZCBsaWNlbnNlIGFncmVlbWVudCB3aWxsIHByZXZhaWwuIE90aGVyd2lzZSwgdGhlIHNvZnR3YXJlIGlzXG4gKiBwcm92aWRlZCB1bmRlciB0aGUgZm9sbG93aW5nIG9wZW4gc291cmNlIGxpY2Vuc2UgdGVybXM6XG4gKlxuICogVGhlIEFsZnJlc2NvIEV4YW1wbGUgQ29udGVudCBBcHBsaWNhdGlvbiBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5XG4gKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnlcbiAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yXG4gKiAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLlxuICpcbiAqIFRoZSBBbGZyZXNjbyBFeGFtcGxlIENvbnRlbnQgQXBwbGljYXRpb24gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCxcbiAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mXG4gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGVcbiAqIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLlxuICpcbiAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZVxuICogZnJvbSBIeWxhbmQgU29mdHdhcmUuIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi5cbiAqL1xuXG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWJvdXRDb21wb25lbnQgfSBmcm9tICcuL2Fib3V0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBFeHRlbnNpb25TZXJ2aWNlLCBwcm92aWRlRXh0ZW5zaW9uQ29uZmlnIH0gZnJvbSAnQGFsZnJlc2NvL2FkZi1leHRlbnNpb25zJztcblxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW0Fib3V0Q29tcG9uZW50XSxcbiAgcHJvdmlkZXJzOiBbcHJvdmlkZUV4dGVuc2lvbkNvbmZpZyhbJ2Fib3V0LnBsdWdpbi5qc29uJ10pXVxufSlcbmV4cG9ydCBjbGFzcyBBY2FBYm91dE1vZHVsZSB7XG4gIGNvbnN0cnVjdG9yKGV4dGVuc2lvbnM6IEV4dGVuc2lvblNlcnZpY2UpIHtcbiAgICBleHRlbnNpb25zLnNldENvbXBvbmVudHMoe1xuICAgICAgJ2FwcC5hYm91dC5jb21wb25lbnQnOiBBYm91dENvbXBvbmVudFxuICAgIH0pO1xuICB9XG59XG4iXX0=
@@ -1,115 +0,0 @@
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 { TranslationService } from '@alfresco/adf-core';
25
- import { ExtensionService, provideExtensionConfig } from '@alfresco/adf-extensions';
26
- import { NgModule } from '@angular/core';
27
- import * as rules from './folder-rules.rules';
28
- import { RouterModule } from '@angular/router';
29
- import { EditRuleDialogUiComponent } from './rule-details/edit-rule-dialog.ui-component';
30
- import { ManageRulesSmartComponent } from './manage-rules/manage-rules.smart-component';
31
- import { RuleCompositeConditionUiComponent } from './rule-details/conditions/rule-composite-condition.ui-component';
32
- import { RuleDetailsUiComponent } from './rule-details/rule-details.ui-component';
33
- import { RuleSimpleConditionUiComponent } from './rule-details/conditions/rule-simple-condition.ui-component';
34
- import { RuleListItemUiComponent } from './rule-list/rule-list-item/rule-list-item.ui-component';
35
- import { RuleListGroupingUiComponent } from './rule-list/rule-list-grouping/rule-list-grouping.ui-component';
36
- import { RuleTriggersUiComponent } from './rule-details/triggers/rule-triggers.ui-component';
37
- import { RuleOptionsUiComponent } from './rule-details/options/rule-options.ui-component';
38
- import { RuleActionListUiComponent } from './rule-details/actions/rule-action-list.ui-component';
39
- import { RuleActionUiComponent } from './rule-details/actions/rule-action.ui-component';
40
- import { RuleListUiComponent } from './rule-list/rule-list/rule-list.ui-component';
41
- import { RuleSetPickerSmartComponent } from './rule-set-picker/rule-set-picker.smart-component';
42
- import { PluginEnabledGuard } from '@alfresco/aca-shared';
43
- import * as i0 from "@angular/core";
44
- import * as i1 from "@alfresco/adf-core";
45
- import * as i2 from "@alfresco/adf-extensions";
46
- import * as i3 from "@angular/router";
47
- const routes = [
48
- {
49
- path: 'rules',
50
- component: ManageRulesSmartComponent,
51
- canActivate: [PluginEnabledGuard],
52
- data: {
53
- plugin: 'plugins.folderRules'
54
- }
55
- }
56
- ];
57
- export class AcaFolderRulesModule {
58
- constructor(translation, extensions) {
59
- translation.addTranslationFolder('folder-rules', 'assets/folder-rules');
60
- extensions.setEvaluators({
61
- 'rules.canManageFolderRules': rules.canManageFolderRules
62
- });
63
- }
64
- }
65
- AcaFolderRulesModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: AcaFolderRulesModule, deps: [{ token: i1.TranslationService }, { token: i2.ExtensionService }], target: i0.ɵɵFactoryTarget.NgModule });
66
- AcaFolderRulesModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: AcaFolderRulesModule, imports: [i3.RouterModule, RuleListItemUiComponent,
67
- RuleListGroupingUiComponent,
68
- RuleListUiComponent,
69
- ManageRulesSmartComponent,
70
- RuleSetPickerSmartComponent,
71
- RuleActionListUiComponent,
72
- RuleActionUiComponent,
73
- RuleCompositeConditionUiComponent,
74
- RuleSimpleConditionUiComponent,
75
- RuleOptionsUiComponent,
76
- RuleTriggersUiComponent,
77
- RuleDetailsUiComponent,
78
- EditRuleDialogUiComponent] });
79
- AcaFolderRulesModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: AcaFolderRulesModule, providers: [provideExtensionConfig(['folder-rules.plugin.json'])], imports: [RouterModule.forChild(routes),
80
- RuleListItemUiComponent,
81
- RuleListGroupingUiComponent,
82
- RuleListUiComponent,
83
- ManageRulesSmartComponent,
84
- RuleSetPickerSmartComponent,
85
- RuleActionListUiComponent,
86
- RuleActionUiComponent,
87
- RuleCompositeConditionUiComponent,
88
- RuleSimpleConditionUiComponent,
89
- RuleOptionsUiComponent,
90
- RuleTriggersUiComponent,
91
- RuleDetailsUiComponent,
92
- EditRuleDialogUiComponent] });
93
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: AcaFolderRulesModule, decorators: [{
94
- type: NgModule,
95
- args: [{
96
- providers: [provideExtensionConfig(['folder-rules.plugin.json'])],
97
- imports: [
98
- RouterModule.forChild(routes),
99
- RuleListItemUiComponent,
100
- RuleListGroupingUiComponent,
101
- RuleListUiComponent,
102
- ManageRulesSmartComponent,
103
- RuleSetPickerSmartComponent,
104
- RuleActionListUiComponent,
105
- RuleActionUiComponent,
106
- RuleCompositeConditionUiComponent,
107
- RuleSimpleConditionUiComponent,
108
- RuleOptionsUiComponent,
109
- RuleTriggersUiComponent,
110
- RuleDetailsUiComponent,
111
- EditRuleDialogUiComponent
112
- ]
113
- }]
114
- }], ctorParameters: function () { return [{ type: i1.TranslationService }, { type: i2.ExtensionService }]; } });
115
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9sZGVyLXJ1bGVzLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FjYS1jb250ZW50L2ZvbGRlci1ydWxlcy9zcmMvZm9sZGVyLXJ1bGVzLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXNCRztBQUVILE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3BGLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxLQUFLLEtBQUssTUFBTSxzQkFBc0IsQ0FBQztBQUM5QyxPQUFPLEVBQUUsWUFBWSxFQUFVLE1BQU0saUJBQWlCLENBQUM7QUFDdkQsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sOENBQThDLENBQUM7QUFDekYsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sNkNBQTZDLENBQUM7QUFDeEYsT0FBTyxFQUFFLGlDQUFpQyxFQUFFLE1BQU0saUVBQWlFLENBQUM7QUFDcEgsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFDbEYsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0sOERBQThELENBQUM7QUFDOUcsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sd0RBQXdELENBQUM7QUFDakcsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sZ0VBQWdFLENBQUM7QUFDN0csT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sb0RBQW9ELENBQUM7QUFDN0YsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sa0RBQWtELENBQUM7QUFDMUYsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sc0RBQXNELENBQUM7QUFDakcsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0saURBQWlELENBQUM7QUFDeEYsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sOENBQThDLENBQUM7QUFDbkYsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sbURBQW1ELENBQUM7QUFDaEcsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7Ozs7O0FBRTFELE1BQU0sTUFBTSxHQUFXO0lBQ3JCO1FBQ0UsSUFBSSxFQUFFLE9BQU87UUFDYixTQUFTLEVBQUUseUJBQXlCO1FBQ3BDLFdBQVcsRUFBRSxDQUFDLGtCQUFrQixDQUFDO1FBQ2pDLElBQUksRUFBRTtZQUNKLE1BQU0sRUFBRSxxQkFBcUI7U0FDOUI7S0FDRjtDQUNGLENBQUM7QUFxQkYsTUFBTSxPQUFPLG9CQUFvQjtJQUMvQixZQUFZLFdBQStCLEVBQUUsVUFBNEI7UUFDdkUsV0FBVyxDQUFDLG9CQUFvQixDQUFDLGNBQWMsRUFBRSxxQkFBcUIsQ0FBQyxDQUFDO1FBRXhFLFVBQVUsQ0FBQyxhQUFhLENBQUM7WUFDdkIsNEJBQTRCLEVBQUUsS0FBSyxDQUFDLG9CQUFvQjtTQUN6RCxDQUFDLENBQUM7SUFDTCxDQUFDOztrSEFQVSxvQkFBb0I7bUhBQXBCLG9CQUFvQiw2QkFmN0IsdUJBQXVCO1FBQ3ZCLDJCQUEyQjtRQUMzQixtQkFBbUI7UUFDbkIseUJBQXlCO1FBQ3pCLDJCQUEyQjtRQUMzQix5QkFBeUI7UUFDekIscUJBQXFCO1FBQ3JCLGlDQUFpQztRQUNqQyw4QkFBOEI7UUFDOUIsc0JBQXNCO1FBQ3RCLHVCQUF1QjtRQUN2QixzQkFBc0I7UUFDdEIseUJBQXlCO21IQUdoQixvQkFBb0IsYUFsQnBCLENBQUMsc0JBQXNCLENBQUMsQ0FBQywwQkFBMEIsQ0FBQyxDQUFDLENBQUMsWUFFL0QsWUFBWSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUM7UUFDN0IsdUJBQXVCO1FBQ3ZCLDJCQUEyQjtRQUMzQixtQkFBbUI7UUFDbkIseUJBQXlCO1FBQ3pCLDJCQUEyQjtRQUMzQix5QkFBeUI7UUFDekIscUJBQXFCO1FBQ3JCLGlDQUFpQztRQUNqQyw4QkFBOEI7UUFDOUIsc0JBQXNCO1FBQ3RCLHVCQUF1QjtRQUN2QixzQkFBc0I7UUFDdEIseUJBQXlCOzRGQUdoQixvQkFBb0I7a0JBbkJoQyxRQUFRO21CQUFDO29CQUNSLFNBQVMsRUFBRSxDQUFDLHNCQUFzQixDQUFDLENBQUMsMEJBQTBCLENBQUMsQ0FBQyxDQUFDO29CQUNqRSxPQUFPLEVBQUU7d0JBQ1AsWUFBWSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUM7d0JBQzdCLHVCQUF1Qjt3QkFDdkIsMkJBQTJCO3dCQUMzQixtQkFBbUI7d0JBQ25CLHlCQUF5Qjt3QkFDekIsMkJBQTJCO3dCQUMzQix5QkFBeUI7d0JBQ3pCLHFCQUFxQjt3QkFDckIsaUNBQWlDO3dCQUNqQyw4QkFBOEI7d0JBQzlCLHNCQUFzQjt3QkFDdEIsdUJBQXVCO3dCQUN2QixzQkFBc0I7d0JBQ3RCLHlCQUF5QjtxQkFDMUI7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyIvKiFcbiAqIENvcHlyaWdodCDCqSAyMDA1LTIwMjQgSHlsYW5kIFNvZnR3YXJlLCBJbmMuIGFuZCBpdHMgYWZmaWxpYXRlcy4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBBbGZyZXNjbyBFeGFtcGxlIENvbnRlbnQgQXBwbGljYXRpb25cbiAqXG4gKiBUaGlzIGZpbGUgaXMgcGFydCBvZiB0aGUgQWxmcmVzY28gRXhhbXBsZSBDb250ZW50IEFwcGxpY2F0aW9uLlxuICogSWYgdGhlIHNvZnR3YXJlIHdhcyBwdXJjaGFzZWQgdW5kZXIgYSBwYWlkIEFsZnJlc2NvIGxpY2Vuc2UsIHRoZSB0ZXJtcyBvZlxuICogdGhlIHBhaWQgbGljZW5zZSBhZ3JlZW1lbnQgd2lsbCBwcmV2YWlsLiBPdGhlcndpc2UsIHRoZSBzb2Z0d2FyZSBpc1xuICogcHJvdmlkZWQgdW5kZXIgdGhlIGZvbGxvd2luZyBvcGVuIHNvdXJjZSBsaWNlbnNlIHRlcm1zOlxuICpcbiAqIFRoZSBBbGZyZXNjbyBFeGFtcGxlIENvbnRlbnQgQXBwbGljYXRpb24gaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeVxuICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5XG4gKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvclxuICogKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi5cbiAqXG4gKiBUaGUgQWxmcmVzY28gRXhhbXBsZSBDb250ZW50IEFwcGxpY2F0aW9uIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsXG4gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZlxuICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiBTZWUgdGhlXG4gKiBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy5cbiAqXG4gKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2VcbiAqIGZyb20gSHlsYW5kIFNvZnR3YXJlLiBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uXG4gKi9cblxuaW1wb3J0IHsgVHJhbnNsYXRpb25TZXJ2aWNlIH0gZnJvbSAnQGFsZnJlc2NvL2FkZi1jb3JlJztcbmltcG9ydCB7IEV4dGVuc2lvblNlcnZpY2UsIHByb3ZpZGVFeHRlbnNpb25Db25maWcgfSBmcm9tICdAYWxmcmVzY28vYWRmLWV4dGVuc2lvbnMnO1xuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCAqIGFzIHJ1bGVzIGZyb20gJy4vZm9sZGVyLXJ1bGVzLnJ1bGVzJztcbmltcG9ydCB7IFJvdXRlck1vZHVsZSwgUm91dGVzIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IEVkaXRSdWxlRGlhbG9nVWlDb21wb25lbnQgfSBmcm9tICcuL3J1bGUtZGV0YWlscy9lZGl0LXJ1bGUtZGlhbG9nLnVpLWNvbXBvbmVudCc7XG5pbXBvcnQgeyBNYW5hZ2VSdWxlc1NtYXJ0Q29tcG9uZW50IH0gZnJvbSAnLi9tYW5hZ2UtcnVsZXMvbWFuYWdlLXJ1bGVzLnNtYXJ0LWNvbXBvbmVudCc7XG5pbXBvcnQgeyBSdWxlQ29tcG9zaXRlQ29uZGl0aW9uVWlDb21wb25lbnQgfSBmcm9tICcuL3J1bGUtZGV0YWlscy9jb25kaXRpb25zL3J1bGUtY29tcG9zaXRlLWNvbmRpdGlvbi51aS1jb21wb25lbnQnO1xuaW1wb3J0IHsgUnVsZURldGFpbHNVaUNvbXBvbmVudCB9IGZyb20gJy4vcnVsZS1kZXRhaWxzL3J1bGUtZGV0YWlscy51aS1jb21wb25lbnQnO1xuaW1wb3J0IHsgUnVsZVNpbXBsZUNvbmRpdGlvblVpQ29tcG9uZW50IH0gZnJvbSAnLi9ydWxlLWRldGFpbHMvY29uZGl0aW9ucy9ydWxlLXNpbXBsZS1jb25kaXRpb24udWktY29tcG9uZW50JztcbmltcG9ydCB7IFJ1bGVMaXN0SXRlbVVpQ29tcG9uZW50IH0gZnJvbSAnLi9ydWxlLWxpc3QvcnVsZS1saXN0LWl0ZW0vcnVsZS1saXN0LWl0ZW0udWktY29tcG9uZW50JztcbmltcG9ydCB7IFJ1bGVMaXN0R3JvdXBpbmdVaUNvbXBvbmVudCB9IGZyb20gJy4vcnVsZS1saXN0L3J1bGUtbGlzdC1ncm91cGluZy9ydWxlLWxpc3QtZ3JvdXBpbmcudWktY29tcG9uZW50JztcbmltcG9ydCB7IFJ1bGVUcmlnZ2Vyc1VpQ29tcG9uZW50IH0gZnJvbSAnLi9ydWxlLWRldGFpbHMvdHJpZ2dlcnMvcnVsZS10cmlnZ2Vycy51aS1jb21wb25lbnQnO1xuaW1wb3J0IHsgUnVsZU9wdGlvbnNVaUNvbXBvbmVudCB9IGZyb20gJy4vcnVsZS1kZXRhaWxzL29wdGlvbnMvcnVsZS1vcHRpb25zLnVpLWNvbXBvbmVudCc7XG5pbXBvcnQgeyBSdWxlQWN0aW9uTGlzdFVpQ29tcG9uZW50IH0gZnJvbSAnLi9ydWxlLWRldGFpbHMvYWN0aW9ucy9ydWxlLWFjdGlvbi1saXN0LnVpLWNvbXBvbmVudCc7XG5pbXBvcnQgeyBSdWxlQWN0aW9uVWlDb21wb25lbnQgfSBmcm9tICcuL3J1bGUtZGV0YWlscy9hY3Rpb25zL3J1bGUtYWN0aW9uLnVpLWNvbXBvbmVudCc7XG5pbXBvcnQgeyBSdWxlTGlzdFVpQ29tcG9uZW50IH0gZnJvbSAnLi9ydWxlLWxpc3QvcnVsZS1saXN0L3J1bGUtbGlzdC51aS1jb21wb25lbnQnO1xuaW1wb3J0IHsgUnVsZVNldFBpY2tlclNtYXJ0Q29tcG9uZW50IH0gZnJvbSAnLi9ydWxlLXNldC1waWNrZXIvcnVsZS1zZXQtcGlja2VyLnNtYXJ0LWNvbXBvbmVudCc7XG5pbXBvcnQgeyBQbHVnaW5FbmFibGVkR3VhcmQgfSBmcm9tICdAYWxmcmVzY28vYWNhLXNoYXJlZCc7XG5cbmNvbnN0IHJvdXRlczogUm91dGVzID0gW1xuICB7XG4gICAgcGF0aDogJ3J1bGVzJyxcbiAgICBjb21wb25lbnQ6IE1hbmFnZVJ1bGVzU21hcnRDb21wb25lbnQsXG4gICAgY2FuQWN0aXZhdGU6IFtQbHVnaW5FbmFibGVkR3VhcmRdLFxuICAgIGRhdGE6IHtcbiAgICAgIHBsdWdpbjogJ3BsdWdpbnMuZm9sZGVyUnVsZXMnXG4gICAgfVxuICB9XG5dO1xuXG5ATmdNb2R1bGUoe1xuICBwcm92aWRlcnM6IFtwcm92aWRlRXh0ZW5zaW9uQ29uZmlnKFsnZm9sZGVyLXJ1bGVzLnBsdWdpbi5qc29uJ10pXSxcbiAgaW1wb3J0czogW1xuICAgIFJvdXRlck1vZHVsZS5mb3JDaGlsZChyb3V0ZXMpLFxuICAgIFJ1bGVMaXN0SXRlbVVpQ29tcG9uZW50LFxuICAgIFJ1bGVMaXN0R3JvdXBpbmdVaUNvbXBvbmVudCxcbiAgICBSdWxlTGlzdFVpQ29tcG9uZW50LFxuICAgIE1hbmFnZVJ1bGVzU21hcnRDb21wb25lbnQsXG4gICAgUnVsZVNldFBpY2tlclNtYXJ0Q29tcG9uZW50LFxuICAgIFJ1bGVBY3Rpb25MaXN0VWlDb21wb25lbnQsXG4gICAgUnVsZUFjdGlvblVpQ29tcG9uZW50LFxuICAgIFJ1bGVDb21wb3NpdGVDb25kaXRpb25VaUNvbXBvbmVudCxcbiAgICBSdWxlU2ltcGxlQ29uZGl0aW9uVWlDb21wb25lbnQsXG4gICAgUnVsZU9wdGlvbnNVaUNvbXBvbmVudCxcbiAgICBSdWxlVHJpZ2dlcnNVaUNvbXBvbmVudCxcbiAgICBSdWxlRGV0YWlsc1VpQ29tcG9uZW50LFxuICAgIEVkaXRSdWxlRGlhbG9nVWlDb21wb25lbnRcbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBBY2FGb2xkZXJSdWxlc01vZHVsZSB7XG4gIGNvbnN0cnVjdG9yKHRyYW5zbGF0aW9uOiBUcmFuc2xhdGlvblNlcnZpY2UsIGV4dGVuc2lvbnM6IEV4dGVuc2lvblNlcnZpY2UpIHtcbiAgICB0cmFuc2xhdGlvbi5hZGRUcmFuc2xhdGlvbkZvbGRlcignZm9sZGVyLXJ1bGVzJywgJ2Fzc2V0cy9mb2xkZXItcnVsZXMnKTtcblxuICAgIGV4dGVuc2lvbnMuc2V0RXZhbHVhdG9ycyh7XG4gICAgICAncnVsZXMuY2FuTWFuYWdlRm9sZGVyUnVsZXMnOiBydWxlcy5jYW5NYW5hZ2VGb2xkZXJSdWxlc1xuICAgIH0pO1xuICB9XG59XG4iXX0=
@@ -1,261 +0,0 @@
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 { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';
25
- import { CommonModule, Location } from '@angular/common';
26
- import { FolderRulesService } from '../services/folder-rules.service';
27
- import { Subject } from 'rxjs';
28
- import { ActivatedRoute, RouterModule } from '@angular/router';
29
- import { delay, takeUntil } from 'rxjs/operators';
30
- import { EditRuleDialogUiComponent } from '../rule-details/edit-rule-dialog.ui-component';
31
- import { MatDialog, MatDialogModule } from '@angular/material/dialog';
32
- import { NotificationService, TemplateModule, ToolbarModule, ConfirmDialogComponent } from '@alfresco/adf-core';
33
- import { ActionsService } from '../services/actions.service';
34
- import { FolderRuleSetsService } from '../services/folder-rule-sets.service';
35
- import { RuleSetPickerSmartComponent } from '../rule-set-picker/rule-set-picker.smart-component';
36
- import { MatSlideToggleModule } from '@angular/material/slide-toggle';
37
- import { TranslateModule } from '@ngx-translate/core';
38
- import { GenericErrorComponent, PageLayoutComponent } from '@alfresco/aca-shared';
39
- import { MatButtonModule } from '@angular/material/button';
40
- import { MatIconModule } from '@angular/material/icon';
41
- import { MatProgressBarModule } from '@angular/material/progress-bar';
42
- import { MatDividerModule } from '@angular/material/divider';
43
- import { RuleListUiComponent } from '../rule-list/rule-list/rule-list.ui-component';
44
- import { RuleDetailsUiComponent } from '../rule-details/rule-details.ui-component';
45
- import * as i0 from "@angular/core";
46
- import * as i1 from "@angular/common";
47
- import * as i2 from "../services/folder-rules.service";
48
- import * as i3 from "@angular/router";
49
- import * as i4 from "@angular/material/dialog";
50
- import * as i5 from "@alfresco/adf-core";
51
- import * as i6 from "../services/actions.service";
52
- import * as i7 from "../services/folder-rule-sets.service";
53
- import * as i8 from "@ngx-translate/core";
54
- import * as i9 from "@angular/material/button";
55
- import * as i10 from "@angular/material/icon";
56
- import * as i11 from "@angular/material/progress-bar";
57
- import * as i12 from "@angular/material/slide-toggle";
58
- import * as i13 from "@angular/material/divider";
59
- export class ManageRulesSmartComponent {
60
- constructor(location, folderRulesService, route, matDialogService, notificationService, actionsService, folderRuleSetsService) {
61
- this.location = location;
62
- this.folderRulesService = folderRulesService;
63
- this.route = route;
64
- this.matDialogService = matDialogService;
65
- this.notificationService = notificationService;
66
- this.actionsService = actionsService;
67
- this.folderRuleSetsService = folderRuleSetsService;
68
- this.nodeId = '';
69
- this.isInheritanceEnabled = true;
70
- this.isInheritanceToggleDisabled = false;
71
- this.canEditMainRule = false;
72
- this.canEditSelectedRule = false;
73
- this.isMainRuleSetNotEmpty = false;
74
- this.isInheritedRuleSetsNotEmpty = false;
75
- this.destroyed$ = new Subject();
76
- }
77
- ngOnInit() {
78
- this.mainRuleSet$ = this.folderRuleSetsService.mainRuleSet$;
79
- this.inheritedRuleSets$ = this.folderRuleSetsService.inheritedRuleSets$;
80
- this.selectedRule$ = this.folderRulesService.selectedRule$;
81
- this.selectedRuleSet$ = this.folderRuleSetsService.selectedRuleSet$;
82
- this.hasMoreRuleSets$ = this.folderRuleSetsService.hasMoreRuleSets$;
83
- this.ruleSetsLoading$ = this.folderRuleSetsService.isLoading$;
84
- this.folderInfo$ = this.folderRuleSetsService.folderInfo$;
85
- this.actionsLoading$ = this.actionsService.loading$.pipe(delay(0));
86
- this.actionDefinitions$ = this.actionsService.actionDefinitionsListing$;
87
- this.parameterConstraints$ = this.actionsService.parameterConstraints$;
88
- this.folderRulesService.deletedRuleId$.pipe(takeUntil(this.destroyed$)).subscribe((deletedRuleId) => this.onRuleDelete(deletedRuleId));
89
- this.actionsService.loadActionDefinitions();
90
- this.route.params.subscribe((params) => {
91
- this.nodeId = params.nodeId;
92
- if (this.nodeId) {
93
- this.folderRulesService.getRuleSettings(this.nodeId).then((ruleSettings) => {
94
- this.isInheritanceEnabled = ruleSettings.value;
95
- });
96
- this.folderRuleSetsService.loadRuleSets(this.nodeId);
97
- }
98
- });
99
- this._actionDefinitionsSub = this.actionDefinitions$.subscribe((actionDefinitions) => this.actionsService.loadActionParameterConstraints(actionDefinitions));
100
- this.mainRuleSet$.pipe(takeUntil(this.destroyed$)).subscribe((ruleSet) => {
101
- this.canEditMainRule = this.canEditRule(ruleSet);
102
- this.isMainRuleSetNotEmpty = !!ruleSet;
103
- });
104
- this.inheritedRuleSets$.pipe(takeUntil(this.destroyed$)).subscribe((inheritedRuleSet) => {
105
- this.isInheritedRuleSetsNotEmpty = inheritedRuleSet.some((ruleSet) => ruleSet.rules.some((rule) => rule.isEnabled));
106
- });
107
- this.selectedRuleSet$.pipe(takeUntil(this.destroyed$)).subscribe((ruleSet) => {
108
- this.canEditSelectedRule = this.canEditRule(ruleSet);
109
- });
110
- }
111
- ngOnDestroy() {
112
- this.destroyed$.next();
113
- this.destroyed$.complete();
114
- this._actionDefinitionsSub.unsubscribe();
115
- }
116
- goBack() {
117
- this.location.back();
118
- }
119
- onSelectRule(rule) {
120
- this.folderRulesService.selectRule(rule);
121
- }
122
- openCreateUpdateRuleDialog(model = {}) {
123
- const dialogRef = this.matDialogService.open(EditRuleDialogUiComponent, {
124
- width: '90%',
125
- panelClass: 'aca-edit-rule-dialog-container',
126
- data: {
127
- model,
128
- nodeId: this.nodeId,
129
- parameterConstraints$: this.parameterConstraints$,
130
- actionDefinitions$: this.actionDefinitions$
131
- }
132
- });
133
- this.onSubmitRuleDialog(dialogRef);
134
- }
135
- onSubmitRuleDialog(dialogRef) {
136
- dialogRef.componentInstance.submitted.subscribe(async (rule) => {
137
- try {
138
- if (rule.id) {
139
- await this.onRuleUpdate(rule);
140
- }
141
- else {
142
- await this.onRuleCreate(rule);
143
- }
144
- dialogRef.close();
145
- }
146
- catch (error) {
147
- this.notificationService.showError(error.response.body.error.errorKey);
148
- }
149
- });
150
- }
151
- async onRuleUpdate(rule) {
152
- const newRule = await this.folderRulesService.updateRule(this.nodeId, rule.id, rule);
153
- this.folderRuleSetsService.addOrUpdateRuleInMainRuleSet(newRule);
154
- }
155
- async onRuleCreate(ruleCreateParams) {
156
- const newRule = await this.folderRulesService.createRule(this.nodeId, ruleCreateParams);
157
- this.folderRuleSetsService.addOrUpdateRuleInMainRuleSet(newRule);
158
- }
159
- async onRuleEnabledToggle(rule, isEnabled) {
160
- const updatedRule = await this.folderRulesService.updateRule(this.nodeId, rule.id, { ...rule, isEnabled });
161
- this.folderRuleSetsService.addOrUpdateRuleInMainRuleSet(updatedRule);
162
- }
163
- async onInheritanceToggleChange(event) {
164
- this.isInheritanceToggleDisabled = true;
165
- const ruleSettings = await this.folderRulesService.updateRuleSettings(this.nodeId, '-isInheritanceEnabled-', { value: event.checked });
166
- this.isInheritanceEnabled = ruleSettings.value;
167
- this.folderRuleSetsService.loadRuleSets(this.nodeId);
168
- this.isInheritanceToggleDisabled = false;
169
- }
170
- onRuleDeleteButtonClicked(rule) {
171
- this.matDialogService
172
- .open(ConfirmDialogComponent, {
173
- data: {
174
- title: 'ACA_FOLDER_RULES.CONFIRMATION_DIALOG.DELETE_RULE.TITLE',
175
- message: 'ACA_FOLDER_RULES.CONFIRMATION_DIALOG.DELETE_RULE.MESSAGE'
176
- },
177
- minWidth: '346px'
178
- })
179
- .afterClosed()
180
- .subscribe((result) => {
181
- if (result) {
182
- this.folderRulesService.deleteRule(this.nodeId, rule.id);
183
- }
184
- });
185
- }
186
- onRuleDelete(deletedRuleId) {
187
- this.folderRuleSetsService.removeRuleFromMainRuleSet(deletedRuleId);
188
- }
189
- onLoadMoreRuleSets() {
190
- this.folderRuleSetsService.loadMoreInheritedRuleSets();
191
- }
192
- onLoadMoreRules(ruleSet) {
193
- this.folderRulesService.loadRules(ruleSet);
194
- }
195
- canEditRule(ruleSet) {
196
- return !ruleSet || FolderRuleSetsService.isOwnedRuleSet(ruleSet, this.nodeId);
197
- }
198
- openLinkRulesDialog(existingRuleSet) {
199
- this.matDialogService
200
- .open(RuleSetPickerSmartComponent, {
201
- width: '90%',
202
- panelClass: 'aca-rule-set-picker-container',
203
- data: {
204
- nodeId: this.nodeId,
205
- defaultNodeId: this.nodeId,
206
- existingRuleSet
207
- }
208
- })
209
- .afterClosed()
210
- .subscribe((result) => {
211
- if (result) {
212
- this.folderRuleSetsService.refreshMainRuleSet();
213
- }
214
- });
215
- }
216
- onRuleSetUnlinkClicked(linkedRuleSet) {
217
- this.matDialogService
218
- .open(ConfirmDialogComponent, {
219
- data: {
220
- title: 'ACA_FOLDER_RULES.CONFIRMATION_DIALOG.DELETE_RULE_SET_LINK.TITLE',
221
- message: 'ACA_FOLDER_RULES.CONFIRMATION_DIALOG.DELETE_RULE_SET_LINK.MESSAGE'
222
- },
223
- minWidth: '346px'
224
- })
225
- .afterClosed()
226
- .subscribe(async (result) => {
227
- if (result) {
228
- try {
229
- await this.folderRuleSetsService.deleteRuleSetLink(this.nodeId, linkedRuleSet.id);
230
- this.folderRuleSetsService.refreshMainRuleSet();
231
- }
232
- catch (error) {
233
- this.notificationService.showError('ACA_FOLDER_RULES.ERRORS.DELETE_RULE_SET_LINK_FAILED');
234
- }
235
- }
236
- });
237
- }
238
- }
239
- ManageRulesSmartComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ManageRulesSmartComponent, deps: [{ token: i1.Location }, { token: i2.FolderRulesService }, { token: i3.ActivatedRoute }, { token: i4.MatDialog }, { token: i5.NotificationService }, { token: i6.ActionsService }, { token: i7.FolderRuleSetsService }], target: i0.ɵɵFactoryTarget.Component });
240
- ManageRulesSmartComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: ManageRulesSmartComponent, isStandalone: true, selector: "aca-manage-rules", host: { classAttribute: "aca-manage-rules" }, ngImport: i0, template: "<aca-page-layout>\n\n <div class=\"aca-page-layout-header\">\n <adf-toolbar class=\"adf-toolbar--inline\">\n <button mat-icon-button (click)=\"goBack()\">\n <mat-icon>arrow_back</mat-icon>\n </button>\n </adf-toolbar>\n <h1 class=\"aca-page-title\">{{ 'ACA_FOLDER_RULES.ACTIONS.MANAGE_RULES' | translate }}</h1>\n </div>\n\n <div class=\"aca-page-layout-content\">\n <div class=\"aca-main-content\">\n\n <ng-container *ngIf=\"((ruleSetsLoading$ | async) && (inheritedRuleSets$ | async).length === 0) || (actionsLoading$ | async); else onLoaded\">\n <mat-progress-bar color=\"primary\" mode=\"indeterminate\"></mat-progress-bar>\n </ng-container>\n\n <ng-template #onLoaded>\n <ng-container *ngIf=\"folderInfo$ | async; else genericError\">\n <adf-toolbar class=\"adf-toolbar--inline aca-manage-rules__actions-bar\">\n\n <adf-toolbar-title class=\"aca-manage-rules__actions-bar__title\">\n <mat-icon class=\"icon-aligner\">folder</mat-icon>\n <h2 class=\"aca-page-title\">{{ (folderInfo$ | async).name }}:{{'ACA_FOLDER_RULES.MANAGE_RULES.TOOLBAR.BREADCRUMB.RULES' | translate}}</h2>\n </adf-toolbar-title>\n\n <mat-slide-toggle\n data-automation-id=\"manage-rules-inheritance-toggle-button\"\n class=\"aca-manage-rules__actions-bar__toggle\"\n [checked]=\"isInheritanceEnabled\"\n (change)=\"onInheritanceToggleChange($event)\"\n [disabled]=\"isInheritanceToggleDisabled\"\n [labelPosition]=\"'before'\">\n {{ 'ACA_FOLDER_RULES.MANAGE_RULES.TOOLBAR.ACTIONS.INHERIT_RULES' | translate }}\n </mat-slide-toggle>\n\n <mat-divider vertical class=\"aca-manage-rules__actions-bar__vertical-divider\"></mat-divider>\n\n <div class=\"aca-manage-rules__actions-bar__buttons\">\n <button\n *ngIf=\"!(mainRuleSet$ | async)\"\n data-automation-id=\"manage-rules-link-button\"\n mat-stroked-button\n (click)=\"openLinkRulesDialog()\">\n {{ 'ACA_FOLDER_RULES.MANAGE_RULES.TOOLBAR.ACTIONS.LINK_RULES' | translate }}\n </button>\n\n <button\n *ngIf=\"canEditMainRule\"\n data-automation-id=\"manage-rules-create-button\"\n mat-flat-button color=\"primary\"\n (click)=\"openCreateUpdateRuleDialog()\">\n {{ 'ACA_FOLDER_RULES.MANAGE_RULES.TOOLBAR.ACTIONS.CREATE_RULE' | translate }}\n </button>\n </div>\n\n </adf-toolbar>\n <mat-divider></mat-divider>\n\n <div class=\"aca-manage-rules__container\" *ngIf=\"isMainRuleSetNotEmpty || isInheritedRuleSetsNotEmpty; else emptyContent\">\n <aca-rule-list\n [mainRuleSet$]=\"mainRuleSet$\"\n [folderId]=\"nodeId\"\n [inheritedRuleSets]=\"inheritedRuleSets$ | async\"\n [hasMoreRuleSets]=\"hasMoreRuleSets$ | async\"\n [ruleSetsLoading]=\"ruleSetsLoading$ | async\"\n [selectedRule]=\"selectedRule$ | async\"\n (loadMoreRuleSets)=\"onLoadMoreRuleSets()\"\n (loadMoreRules)=\"onLoadMoreRules($event)\"\n (selectRule)=\"onSelectRule($event)\"\n (ruleEnabledChanged)=\"onRuleEnabledToggle($event[0], $event[1])\"\n (ruleSetEditLinkClicked)=\"openLinkRulesDialog($event)\"\n (ruleSetUnlinkClicked)=\"onRuleSetUnlinkClicked($event)\">\n </aca-rule-list>\n\n <div class=\"aca-manage-rules__container__rule-details\">\n\n <div class=\"aca-manage-rules__container__rule-details__header\" *ngIf=\"(selectedRule$ | async) as selectedRule\">\n <div class=\"aca-manage-rules__container__rule-details__header__title\">\n <div class=\"aca-manage-rules__container__rule-details__header__title__name\">\n {{ selectedRule.name }}\n </div>\n <div class=\"aca-manage-rules__container__rule-details__header__title__description\">\n {{ selectedRule.description }}\n </div>\n </div>\n\n <div class=\"aca-manage-rules__container__rule-details__header__buttons\">\n <ng-container *ngIf=\"canEditSelectedRule; else goToFolderButton\">\n <button mat-stroked-button (click)=\"onRuleDeleteButtonClicked(selectedRule)\" id=\"delete-rule-btn\">\n <mat-icon>delete_outline</mat-icon>\n </button>\n <button mat-stroked-button (click)=\"openCreateUpdateRuleDialog(selectedRule)\" id=\"edit-rule-btn\">\n {{ 'ACA_FOLDER_RULES.MANAGE_RULES.TOOLBAR.ACTIONS.EDIT_RULE' | translate }}\n </button>\n </ng-container>\n\n <ng-template #goToFolderButton>\n <button mat-stroked-button [routerLink]=\"['/nodes', (selectedRuleSet$ | async).owningFolder.id, 'rules']\">\n {{ 'ACA_FOLDER_RULES.MANAGE_RULES.TOOLBAR.ACTIONS.SEE_IN_FOLDER' | translate }}\n </button>\n </ng-template>\n </div>\n </div>\n\n <div class=\"aca-manage-rules__container__rule-details__content\" *ngIf=\"(selectedRule$ | async) as selectedRule\">\n <aca-rule-details\n [actionDefinitions]=\"actionDefinitions$ | async\"\n [parameterConstraints]=\"parameterConstraints$ | async\"\n [readOnly]=\"true\"\n [preview]=\"true\"\n [value]=\"selectedRule\"\n [nodeId]=\"nodeId\">\n </aca-rule-details>\n </div>\n </div>\n </div>\n\n <ng-template #emptyContent>\n <adf-empty-content\n icon=\"library_books\"\n [title]=\"'ACA_FOLDER_RULES.MANAGE_RULES.EMPTY_RULES_LIST.TITLE' | translate\"\n [subtitle]=\"'ACA_FOLDER_RULES.MANAGE_RULES.EMPTY_RULES_LIST.SUBTITLE' | translate\"\n >\n </adf-empty-content>\n </ng-template>\n </ng-container>\n\n <ng-template #genericError>\n <div class=\"aca-page-layout-error\">\n <aca-generic-error></aca-generic-error>\n </div>\n </ng-template>\n\n </ng-template>\n\n </div>\n </div>\n\n</aca-page-layout>\n", styles: [".aca-manage-rules .mat-mdc-slide-toggle:is(mat-slide-toggle) .mdc-switch:enabled .mdc-switch__track:after{background:var(--mdc-switch-selected-track-color)}.aca-manage-rules .mat-mdc-slide-toggle .mdc-switch .mdc-switch__handle:before{background:var(--mdc-switch-selected-pressed-handle-color)}.aca-manage-rules__actions-bar{padding:0 30px;display:flex;align-items:center}.aca-manage-rules__actions-bar .aca-page-title{margin-left:18px}.aca-manage-rules__actions-bar__title{align-items:center;flex:1}.aca-manage-rules__actions-bar__buttons{display:flex;align-items:stretch;gap:12px}.aca-manage-rules__actions-bar__toggle{font-weight:600;font-size:14px}.aca-manage-rules__actions-bar__vertical-divider{height:50%;margin:0 12px}.aca-manage-rules__container{display:grid;grid-template-columns:minmax(250px,1fr) 3fr;padding:20px;gap:12px;overflow-y:auto;flex:1}.aca-manage-rules__container__rule-details{border:1px solid var(--theme-border-color);border-radius:12px;overflow-y:auto}.aca-manage-rules__container__rule-details__header{position:sticky;top:0;z-index:1;display:flex;flex-direction:row;align-items:flex-start;overflow-x:auto;justify-content:space-between;padding:12px 20px;border-bottom:1px solid var(--theme-border-color);background-color:var(--theme-background-color);column-gap:20px}.aca-manage-rules__container__rule-details__header__title{display:flex;flex-direction:column;gap:4px;word-wrap:break-word;min-width:100px}.aca-manage-rules__container__rule-details__header__title__name{font-size:1.2em;font-weight:700}.aca-manage-rules__container__rule-details__header__title__description{font-size:.8em;font-style:italic}.aca-manage-rules__container__rule-details__header .aca-manage-rules__container__rule-details__header__buttons{display:flex;flex-direction:row;align-items:stretch;gap:4px}.aca-manage-rules__container__rule-details__header .aca-manage-rules__container__rule-details__header__buttons button{color:var(--theme-text-color)}.aca-manage-rules__container__rule-details__header .aca-manage-rules__container__rule-details__header__buttons button#delete-rule-btn{padding:0 8px;margin:0;min-width:unset}.aca-manage-rules__container__rule-details__header .aca-manage-rules__container__rule-details__header__buttons button#delete-rule-btn mat-icon{margin:0;padding:0;width:24px;height:24px;font-size:24px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { 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: i8.TranslatePipe, name: "translate" }, { kind: "component", type: PageLayoutComponent, selector: "aca-page-layout", inputs: ["hasError"] }, { kind: "ngmodule", type: ToolbarModule }, { kind: "component", type: i5.ToolbarComponent, selector: "adf-toolbar", inputs: ["title", "color"] }, { kind: "component", type: i5.ToolbarTitleComponent, selector: "adf-toolbar-title" }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i9.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i9.MatIconButton, selector: "button[mat-icon-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i10.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatProgressBarModule }, { kind: "component", type: i11.MatProgressBar, selector: "mat-progress-bar", inputs: ["color", "value", "bufferValue", "mode"], outputs: ["animationEnd"], exportAs: ["matProgressBar"] }, { kind: "ngmodule", type: MatSlideToggleModule }, { kind: "component", type: i12.MatSlideToggle, selector: "mat-slide-toggle", inputs: ["disabled", "disableRipple", "color", "tabIndex"], exportAs: ["matSlideToggle"] }, { kind: "ngmodule", type: MatDividerModule }, { kind: "component", type: i13.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "component", type: RuleListUiComponent, selector: "aca-rule-list", inputs: ["mainRuleSet$", "folderId", "inheritedRuleSets", "hasMoreRuleSets", "ruleSetsLoading", "selectedRule"], outputs: ["loadMoreRuleSets", "loadMoreRules", "selectRule", "ruleEnabledChanged", "ruleSetEditLinkClicked", "ruleSetUnlinkClicked"] }, { kind: "ngmodule", type: RouterModule }, { kind: "directive", type: i3.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "ngmodule", type: TemplateModule }, { kind: "component", type: i5.EmptyContentComponent, selector: "adf-empty-content", inputs: ["icon", "title", "subtitle"] }, { kind: "component", type: GenericErrorComponent, selector: "aca-generic-error", inputs: ["text"] }, { kind: "component", type: RuleDetailsUiComponent, selector: "aca-rule-details", inputs: ["readOnly", "value", "preview", "actionDefinitions", "parameterConstraints", "nodeId"], outputs: ["formValidationChanged", "formValueChanged"] }, { kind: "ngmodule", type: MatDialogModule }], changeDetection: i0.ChangeDetectionStrategy.Default, encapsulation: i0.ViewEncapsulation.None });
241
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ManageRulesSmartComponent, decorators: [{
242
- type: Component,
243
- args: [{ standalone: true, imports: [
244
- CommonModule,
245
- TranslateModule,
246
- PageLayoutComponent,
247
- ToolbarModule,
248
- MatButtonModule,
249
- MatIconModule,
250
- MatProgressBarModule,
251
- MatSlideToggleModule,
252
- MatDividerModule,
253
- RuleListUiComponent,
254
- RouterModule,
255
- TemplateModule,
256
- GenericErrorComponent,
257
- RuleDetailsUiComponent,
258
- MatDialogModule
259
- ], selector: 'aca-manage-rules', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.Default, host: { class: 'aca-manage-rules' }, template: "<aca-page-layout>\n\n <div class=\"aca-page-layout-header\">\n <adf-toolbar class=\"adf-toolbar--inline\">\n <button mat-icon-button (click)=\"goBack()\">\n <mat-icon>arrow_back</mat-icon>\n </button>\n </adf-toolbar>\n <h1 class=\"aca-page-title\">{{ 'ACA_FOLDER_RULES.ACTIONS.MANAGE_RULES' | translate }}</h1>\n </div>\n\n <div class=\"aca-page-layout-content\">\n <div class=\"aca-main-content\">\n\n <ng-container *ngIf=\"((ruleSetsLoading$ | async) && (inheritedRuleSets$ | async).length === 0) || (actionsLoading$ | async); else onLoaded\">\n <mat-progress-bar color=\"primary\" mode=\"indeterminate\"></mat-progress-bar>\n </ng-container>\n\n <ng-template #onLoaded>\n <ng-container *ngIf=\"folderInfo$ | async; else genericError\">\n <adf-toolbar class=\"adf-toolbar--inline aca-manage-rules__actions-bar\">\n\n <adf-toolbar-title class=\"aca-manage-rules__actions-bar__title\">\n <mat-icon class=\"icon-aligner\">folder</mat-icon>\n <h2 class=\"aca-page-title\">{{ (folderInfo$ | async).name }}:{{'ACA_FOLDER_RULES.MANAGE_RULES.TOOLBAR.BREADCRUMB.RULES' | translate}}</h2>\n </adf-toolbar-title>\n\n <mat-slide-toggle\n data-automation-id=\"manage-rules-inheritance-toggle-button\"\n class=\"aca-manage-rules__actions-bar__toggle\"\n [checked]=\"isInheritanceEnabled\"\n (change)=\"onInheritanceToggleChange($event)\"\n [disabled]=\"isInheritanceToggleDisabled\"\n [labelPosition]=\"'before'\">\n {{ 'ACA_FOLDER_RULES.MANAGE_RULES.TOOLBAR.ACTIONS.INHERIT_RULES' | translate }}\n </mat-slide-toggle>\n\n <mat-divider vertical class=\"aca-manage-rules__actions-bar__vertical-divider\"></mat-divider>\n\n <div class=\"aca-manage-rules__actions-bar__buttons\">\n <button\n *ngIf=\"!(mainRuleSet$ | async)\"\n data-automation-id=\"manage-rules-link-button\"\n mat-stroked-button\n (click)=\"openLinkRulesDialog()\">\n {{ 'ACA_FOLDER_RULES.MANAGE_RULES.TOOLBAR.ACTIONS.LINK_RULES' | translate }}\n </button>\n\n <button\n *ngIf=\"canEditMainRule\"\n data-automation-id=\"manage-rules-create-button\"\n mat-flat-button color=\"primary\"\n (click)=\"openCreateUpdateRuleDialog()\">\n {{ 'ACA_FOLDER_RULES.MANAGE_RULES.TOOLBAR.ACTIONS.CREATE_RULE' | translate }}\n </button>\n </div>\n\n </adf-toolbar>\n <mat-divider></mat-divider>\n\n <div class=\"aca-manage-rules__container\" *ngIf=\"isMainRuleSetNotEmpty || isInheritedRuleSetsNotEmpty; else emptyContent\">\n <aca-rule-list\n [mainRuleSet$]=\"mainRuleSet$\"\n [folderId]=\"nodeId\"\n [inheritedRuleSets]=\"inheritedRuleSets$ | async\"\n [hasMoreRuleSets]=\"hasMoreRuleSets$ | async\"\n [ruleSetsLoading]=\"ruleSetsLoading$ | async\"\n [selectedRule]=\"selectedRule$ | async\"\n (loadMoreRuleSets)=\"onLoadMoreRuleSets()\"\n (loadMoreRules)=\"onLoadMoreRules($event)\"\n (selectRule)=\"onSelectRule($event)\"\n (ruleEnabledChanged)=\"onRuleEnabledToggle($event[0], $event[1])\"\n (ruleSetEditLinkClicked)=\"openLinkRulesDialog($event)\"\n (ruleSetUnlinkClicked)=\"onRuleSetUnlinkClicked($event)\">\n </aca-rule-list>\n\n <div class=\"aca-manage-rules__container__rule-details\">\n\n <div class=\"aca-manage-rules__container__rule-details__header\" *ngIf=\"(selectedRule$ | async) as selectedRule\">\n <div class=\"aca-manage-rules__container__rule-details__header__title\">\n <div class=\"aca-manage-rules__container__rule-details__header__title__name\">\n {{ selectedRule.name }}\n </div>\n <div class=\"aca-manage-rules__container__rule-details__header__title__description\">\n {{ selectedRule.description }}\n </div>\n </div>\n\n <div class=\"aca-manage-rules__container__rule-details__header__buttons\">\n <ng-container *ngIf=\"canEditSelectedRule; else goToFolderButton\">\n <button mat-stroked-button (click)=\"onRuleDeleteButtonClicked(selectedRule)\" id=\"delete-rule-btn\">\n <mat-icon>delete_outline</mat-icon>\n </button>\n <button mat-stroked-button (click)=\"openCreateUpdateRuleDialog(selectedRule)\" id=\"edit-rule-btn\">\n {{ 'ACA_FOLDER_RULES.MANAGE_RULES.TOOLBAR.ACTIONS.EDIT_RULE' | translate }}\n </button>\n </ng-container>\n\n <ng-template #goToFolderButton>\n <button mat-stroked-button [routerLink]=\"['/nodes', (selectedRuleSet$ | async).owningFolder.id, 'rules']\">\n {{ 'ACA_FOLDER_RULES.MANAGE_RULES.TOOLBAR.ACTIONS.SEE_IN_FOLDER' | translate }}\n </button>\n </ng-template>\n </div>\n </div>\n\n <div class=\"aca-manage-rules__container__rule-details__content\" *ngIf=\"(selectedRule$ | async) as selectedRule\">\n <aca-rule-details\n [actionDefinitions]=\"actionDefinitions$ | async\"\n [parameterConstraints]=\"parameterConstraints$ | async\"\n [readOnly]=\"true\"\n [preview]=\"true\"\n [value]=\"selectedRule\"\n [nodeId]=\"nodeId\">\n </aca-rule-details>\n </div>\n </div>\n </div>\n\n <ng-template #emptyContent>\n <adf-empty-content\n icon=\"library_books\"\n [title]=\"'ACA_FOLDER_RULES.MANAGE_RULES.EMPTY_RULES_LIST.TITLE' | translate\"\n [subtitle]=\"'ACA_FOLDER_RULES.MANAGE_RULES.EMPTY_RULES_LIST.SUBTITLE' | translate\"\n >\n </adf-empty-content>\n </ng-template>\n </ng-container>\n\n <ng-template #genericError>\n <div class=\"aca-page-layout-error\">\n <aca-generic-error></aca-generic-error>\n </div>\n </ng-template>\n\n </ng-template>\n\n </div>\n </div>\n\n</aca-page-layout>\n", styles: [".aca-manage-rules .mat-mdc-slide-toggle:is(mat-slide-toggle) .mdc-switch:enabled .mdc-switch__track:after{background:var(--mdc-switch-selected-track-color)}.aca-manage-rules .mat-mdc-slide-toggle .mdc-switch .mdc-switch__handle:before{background:var(--mdc-switch-selected-pressed-handle-color)}.aca-manage-rules__actions-bar{padding:0 30px;display:flex;align-items:center}.aca-manage-rules__actions-bar .aca-page-title{margin-left:18px}.aca-manage-rules__actions-bar__title{align-items:center;flex:1}.aca-manage-rules__actions-bar__buttons{display:flex;align-items:stretch;gap:12px}.aca-manage-rules__actions-bar__toggle{font-weight:600;font-size:14px}.aca-manage-rules__actions-bar__vertical-divider{height:50%;margin:0 12px}.aca-manage-rules__container{display:grid;grid-template-columns:minmax(250px,1fr) 3fr;padding:20px;gap:12px;overflow-y:auto;flex:1}.aca-manage-rules__container__rule-details{border:1px solid var(--theme-border-color);border-radius:12px;overflow-y:auto}.aca-manage-rules__container__rule-details__header{position:sticky;top:0;z-index:1;display:flex;flex-direction:row;align-items:flex-start;overflow-x:auto;justify-content:space-between;padding:12px 20px;border-bottom:1px solid var(--theme-border-color);background-color:var(--theme-background-color);column-gap:20px}.aca-manage-rules__container__rule-details__header__title{display:flex;flex-direction:column;gap:4px;word-wrap:break-word;min-width:100px}.aca-manage-rules__container__rule-details__header__title__name{font-size:1.2em;font-weight:700}.aca-manage-rules__container__rule-details__header__title__description{font-size:.8em;font-style:italic}.aca-manage-rules__container__rule-details__header .aca-manage-rules__container__rule-details__header__buttons{display:flex;flex-direction:row;align-items:stretch;gap:4px}.aca-manage-rules__container__rule-details__header .aca-manage-rules__container__rule-details__header__buttons button{color:var(--theme-text-color)}.aca-manage-rules__container__rule-details__header .aca-manage-rules__container__rule-details__header__buttons button#delete-rule-btn{padding:0 8px;margin:0;min-width:unset}.aca-manage-rules__container__rule-details__header .aca-manage-rules__container__rule-details__header__buttons button#delete-rule-btn mat-icon{margin:0;padding:0;width:24px;height:24px;font-size:24px}\n"] }]
260
- }], ctorParameters: function () { return [{ type: i1.Location }, { type: i2.FolderRulesService }, { type: i3.ActivatedRoute }, { type: i4.MatDialog }, { type: i5.NotificationService }, { type: i6.ActionsService }, { type: i7.FolderRuleSetsService }]; } });
261
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFuYWdlLXJ1bGVzLnNtYXJ0LWNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FjYS1jb250ZW50L2ZvbGRlci1ydWxlcy9zcmMvbWFuYWdlLXJ1bGVzL21hbmFnZS1ydWxlcy5zbWFydC1jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hY2EtY29udGVudC9mb2xkZXItcnVsZXMvc3JjL21hbmFnZS1ydWxlcy9tYW5hZ2UtcnVsZXMuc21hcnQtY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FzQkc7QUFFSCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFxQixpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6RyxPQUFPLEVBQUUsWUFBWSxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ3RFLE9BQU8sRUFBYyxPQUFPLEVBQWdCLE1BQU0sTUFBTSxDQUFDO0FBRXpELE9BQU8sRUFBRSxjQUFjLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFL0QsT0FBTyxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNsRCxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQztBQUMxRixPQUFPLEVBQUUsU0FBUyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3RFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxjQUFjLEVBQUUsYUFBYSxFQUFFLHNCQUFzQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFaEgsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzdELE9BQU8sRUFBRSxxQkFBcUIsRUFB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LGVBQWU7d0JBQ2YsYUFBYTt3QkFDYixvQkFBb0I7d0JBQ3BCLG9CQUFvQjt3QkFDcEIsZ0JBQWdCO3dCQUNoQixtQkFBbUI7d0JBQ25CLFlBQVk7d0JBQ1osY0FBYzt3QkFDZCxxQkFBcUI7d0JBQ3JCLHNCQUFzQjt3QkFDdEIsZUFBZTtxQkFDaEIsWUFDUyxrQkFBa0IsaUJBR2IsaUJBQWlCLENBQUMsSUFBSSxtQkFDcEIsdUJBQXVCLENBQUMsT0FBTyxRQUMxQyxFQUFFLEtBQUssRUFBRSxrQkFBa0IsRUFBRSIsInNvdXJjZXNDb250ZW50IjpbIi8qIVxuICogQ29weXJpZ2h0IMKpIDIwMDUtMjAyNCBIeWxhbmQgU29mdHdhcmUsIEluYy4gYW5kIGl0cyBhZmZpbGlhdGVzLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIEFsZnJlc2NvIEV4YW1wbGUgQ29udGVudCBBcHBsaWNhdGlvblxuICpcbiAqIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBBbGZyZXNjbyBFeGFtcGxlIENvbnRlbnQgQXBwbGljYXRpb24uXG4gKiBJZiB0aGUgc29mdHdhcmUgd2FzIHB1cmNoYXNlZCB1bmRlciBhIHBhaWQgQWxmcmVzY28gbGljZW5zZSwgdGhlIHRlcm1zIG9mXG4gKiB0aGUgcGFpZCBsaWNlbnNlIGFncmVlbWVudCB3aWxsIHByZXZhaWwuIE90aGVyd2lzZSwgdGhlIHNvZnR3YXJlIGlzXG4gKiBwcm92aWRlZCB1bmRlciB0aGUgZm9sbG93aW5nIG9wZW4gc291cmNlIGxpY2Vuc2UgdGVybXM6XG4gKlxuICogVGhlIEFsZnJlc2NvIEV4YW1wbGUgQ29udGVudCBBcHBsaWNhdGlvbiBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5XG4gKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnlcbiAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yXG4gKiAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLlxuICpcbiAqIFRoZSBBbGZyZXNjbyBFeGFtcGxlIENvbnRlbnQgQXBwbGljYXRpb24gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCxcbiAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mXG4gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGVcbiAqIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLlxuICpcbiAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZVxuICogZnJvbSBIeWxhbmQgU29mdHdhcmUuIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi5cbiAqL1xuXG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBPbkRlc3Ryb3ksIE9uSW5pdCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSwgTG9jYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgRm9sZGVyUnVsZXNTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvZm9sZGVyLXJ1bGVzLnNlcnZpY2UnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgU3ViamVjdCwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBSdWxlIH0gZnJvbSAnLi4vbW9kZWwvcnVsZS5tb2RlbCc7XG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSwgUm91dGVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IE5vZGVJbmZvIH0gZnJvbSAnQGFsZnJlc2NvL2FjYS1zaGFyZWQvc3RvcmUnO1xuaW1wb3J0IHsgZGVsYXksIHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEVkaXRSdWxlRGlhbG9nVWlDb21wb25lbnQgfSBmcm9tICcuLi9ydWxlLWRldGFpbHMvZWRpdC1ydWxlLWRpYWxvZy51aS1jb21wb25lbnQnO1xuaW1wb3J0IHsgTWF0RGlhbG9nLCBNYXREaWFsb2dNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xuaW1wb3J0IHsgTm90aWZpY2F0aW9uU2VydmljZSwgVGVtcGxhdGVNb2R1bGUsIFRvb2xiYXJNb2R1bGUsIENvbmZpcm1EaWFsb2dDb21wb25lbnQgfSBmcm9tICdAYWxmcmVzY28vYWRmLWNvcmUnO1xuaW1wb3J0IHsgQWN0aW9uRGVmaW5pdGlvblRyYW5zZm9ybWVkIH0gZnJvbSAnLi4vbW9kZWwvcnVsZS1hY3Rpb24ubW9kZWwnO1xuaW1wb3J0IHsgQWN0aW9uc1NlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9hY3Rpb25zLnNlcnZpY2UnO1xuaW1wb3J0IHsgRm9sZGVyUnVsZVNldHNTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvZm9sZGVyLXJ1bGUtc2V0cy5zZXJ2aWNlJztcbmltcG9ydCB7IFJ1bGVTZXQgfSBmcm9tICcuLi9tb2RlbC9ydWxlLXNldC5tb2RlbCc7XG5pbXBvcnQgeyBSdWxlU2V0UGlja2VyU21hcnRDb21wb25lbnQgfSBmcm9tICcuLi9ydWxlLXNldC1waWNrZXIvcnVsZS1zZXQtcGlja2VyLnNtYXJ0LWNvbXBvbmVudCc7XG5pbXBvcnQgeyBNYXRTbGlkZVRvZ2dsZUNoYW5nZSwgTWF0U2xpZGVUb2dnbGVNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zbGlkZS10b2dnbGUnO1xuaW1wb3J0IHsgQWN0aW9uUGFyYW1ldGVyQ29uc3RyYWludCB9IGZyb20gJy4uL21vZGVsL2FjdGlvbi1wYXJhbWV0ZXItY29uc3RyYWludC5tb2RlbCc7XG5pbXBvcnQgeyBUcmFuc2xhdGVNb2R1bGUgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7IEdlbmVyaWNFcnJvckNvbXBvbmVudCwgUGFnZUxheW91dENvbXBvbmVudCB9IGZyb20gJ0BhbGZyZXNjby9hY2Etc2hhcmVkJztcbmltcG9ydCB7IE1hdEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XG5pbXBvcnQgeyBNYXRQcm9ncmVzc0Jhck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Byb2dyZXNzLWJhcic7XG5pbXBvcnQgeyBNYXREaXZpZGVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGl2aWRlcic7XG5pbXBvcnQgeyBSdWxlTGlzdFVpQ29tcG9uZW50IH0gZnJvbSAnLi4vcnVsZS1saXN0L3J1bGUtbGlzdC9ydWxlLWxpc3QudWktY29tcG9uZW50JztcbmltcG9ydCB7IFJ1bGVEZXRhaWxzVWlDb21wb25lbnQgfSBmcm9tICcuLi9ydWxlLWRldGFpbHMvcnVsZS1kZXRhaWxzLnVpLWNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIFRyYW5zbGF0ZU1vZHVsZSxcbiAgICBQYWdlTGF5b3V0Q29tcG9uZW50LFxuICAgIFRvb2xiYXJNb2R1bGUsXG4gICAgTWF0QnV0dG9uTW9kdWxlLFxuICAgIE1hdEljb25Nb2R1bGUsXG4gICAgTWF0UHJvZ3Jlc3NCYXJNb2R1bGUsXG4gICAgTWF0U2xpZGVUb2dnbGVNb2R1bGUsXG4gICAgTWF0RGl2aWRlck1vZHVsZSxcbiAgICBSdWxlTGlzdFVpQ29tcG9uZW50LFxuICAgIFJvdXRlck1vZHVsZSxcbiAgICBUZW1wbGF0ZU1vZHVsZSxcbiAgICBHZW5lcmljRXJyb3JDb21wb25lbnQsXG4gICAgUnVsZURldGFpbHNVaUNvbXBvbmVudCxcbiAgICBNYXREaWFsb2dNb2R1bGVcbiAgXSxcbiAgc2VsZWN0b3I6ICdhY2EtbWFuYWdlLXJ1bGVzJyxcbiAgdGVtcGxhdGVVcmw6ICdtYW5hZ2UtcnVsZXMuc21hcnQtY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnbWFuYWdlLXJ1bGVzLnNtYXJ0LWNvbXBvbmVudC5zY3NzJ10sXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuRGVmYXVsdCxcbiAgaG9zdDogeyBjbGFzczogJ2FjYS1tYW5hZ2UtcnVsZXMnIH1cbn0pXG5leHBvcnQgY2xhc3MgTWFuYWdlUnVsZXNTbWFydENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgbm9kZUlkID0gJyc7XG4gIGlzSW5oZXJpdGFuY2VFbmFibGVkID0gdHJ1ZTtcbiAgaXNJbmhlcml0YW5jZVRvZ2dsZURpc2FibGVkID0gZmFsc2U7XG5cbiAgbWFpblJ1bGVTZXQkOiBPYnNlcnZhYmxlPFJ1bGVTZXQ+O1xuICBpbmhlcml0ZWRSdWxlU2V0cyQ6IE9ic2VydmFibGU8UnVsZVNldFtdPjtcbiAgc2VsZWN0ZWRSdWxlJDogT2JzZXJ2YWJsZTxSdWxlPjtcbiAgc2VsZWN0ZWRSdWxlU2V0JDogT2JzZXJ2YWJsZTxSdWxlU2V0PjtcbiAgaGFzTW9yZVJ1bGVTZXRzJDogT2JzZXJ2YWJsZTxib29sZWFuPjtcbiAgcnVsZVNldHNMb2FkaW5nJDogT2JzZXJ2YWJsZTxib29sZWFuPjtcbiAgZm9sZGVySW5mbyQ6IE9ic2VydmFibGU8Tm9kZUluZm8+O1xuXG4gIGFjdGlvbnNMb2FkaW5nJDogT2JzZXJ2YWJsZTxib29sZWFuPjtcbiAgYWN0aW9uRGVmaW5pdGlvbnMkOiBPYnNlcnZhYmxlPEFjdGlvbkRlZmluaXRpb25UcmFuc2Zvcm1lZFtdPjtcbiAgcGFyYW1ldGVyQ29uc3RyYWludHMkOiBPYnNlcnZhYmxlPEFjdGlvblBhcmFtZXRlckNvbnN0cmFpbnRbXT47XG4gIGNhbkVkaXRNYWluUnVsZSA9IGZhbHNlO1xuICBjYW5FZGl0U2VsZWN0ZWRSdWxlID0gZmFsc2U7XG4gIGlzTWFpblJ1bGVTZXROb3RFbXB0eSA9IGZhbHNlO1xuICBpc0luaGVyaXRlZFJ1bGVTZXRzTm90RW1wdHkgPSBmYWxzZTtcblxuICBwcml2YXRlIGRlc3Ryb3llZCQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuICBwcml2YXRlIF9hY3Rpb25EZWZpbml0aW9uc1N1YjogU3Vic2NyaXB0aW9uO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgbG9jYXRpb246IExvY2F0aW9uLFxuICAgIHByaXZhdGUgZm9sZGVyUnVsZXNTZXJ2aWNlOiBGb2xkZXJSdWxlc1NlcnZpY2UsXG4gICAgcHJpdmF0ZSByb3V0ZTogQWN0aXZhdGVkUm91dGUsXG4gICAgcHJpdmF0ZSBtYXREaWFsb2dTZXJ2aWNlOiBNYXREaWFsb2csXG4gICAgcHJpdmF0ZSBub3RpZmljYXRpb25TZXJ2aWNlOiBOb3RpZmljYXRpb25TZXJ2aWNlLFxuICAgIHByaXZhdGUgYWN0aW9uc1NlcnZpY2U6IEFjdGlvbnNTZXJ2aWNlLFxuICAgIHByaXZhdGUgZm9sZGVyUnVsZVNldHNTZXJ2aWNlOiBGb2xkZXJSdWxlU2V0c1NlcnZpY2VcbiAgKSB7fVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMubWFpblJ1bGVTZXQkID0gdGhpcy5mb2xkZXJSdWxlU2V0c1NlcnZpY2UubWFpblJ1bGVTZXQkO1xuICAgIHRoaXMuaW5oZXJpdGVkUnVsZVNldHMkID0gdGhpcy5mb2xkZXJSdWxlU2V0c1NlcnZpY2UuaW5oZXJpdGVkUnVsZVNldHMkO1xuICAgIHRoaXMuc2VsZWN0ZWRSdWxlJCA9IHRoaXMuZm9sZGVyUnVsZXNTZXJ2aWNlLnNlbGVjdGVkUnVsZSQ7XG4gICAgdGhpcy5zZWxlY3RlZFJ1bGVTZXQkID0gdGhpcy5mb2xkZXJSdWxlU2V0c1NlcnZpY2Uuc2VsZWN0ZWRSdWxlU2V0JDtcbiAgICB0aGlzLmhhc01vcmVSdWxlU2V0cyQgPSB0aGlzLmZvbGRlclJ1bGVTZXRzU2VydmljZS5oYXNNb3JlUnVsZVNldHMkO1xuICAgIHRoaXMucnVsZVNldHNMb2FkaW5nJCA9IHRoaXMuZm9sZGVyUnVsZVNldHNTZXJ2aWNlLmlzTG9hZGluZyQ7XG4gICAgdGhpcy5mb2xkZXJJbmZvJCA9IHRoaXMuZm9sZGVyUnVsZVNldHNTZXJ2aWNlLmZvbGRlckluZm8kO1xuXG4gICAgdGhpcy5hY3Rpb25zTG9hZGluZyQgPSB0aGlzLmFjdGlvbnNTZXJ2aWNlLmxvYWRpbmckLnBpcGUoZGVsYXkoMCkpO1xuICAgIHRoaXMuYWN0aW9uRGVmaW5pdGlvbnMkID0gdGhpcy5hY3Rpb25zU2VydmljZS5hY3Rpb25EZWZpbml0aW9uc0xpc3RpbmckO1xuICAgIHRoaXMucGFyYW1ldGVyQ29uc3RyYWludHMkID0gdGhpcy5hY3Rpb25zU2VydmljZS5wYXJhbWV0ZXJDb25zdHJhaW50cyQ7XG5cbiAgICB0aGlzLmZvbGRlclJ1bGVzU2VydmljZS5kZWxldGVkUnVsZUlkJC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3llZCQpKS5zdWJzY3JpYmUoKGRlbGV0ZWRSdWxlSWQpID0+IHRoaXMub25SdWxlRGVsZXRlKGRlbGV0ZWRSdWxlSWQpKTtcblxuICAgIHRoaXMuYWN0aW9uc1NlcnZpY2UubG9hZEFjdGlvbkRlZmluaXRpb25zKCk7XG5cbiAgICB0aGlzLnJvdXRlLnBhcmFtcy5zdWJzY3JpYmUoKHBhcmFtcykgPT4ge1xuICAgICAgdGhpcy5ub2RlSWQgPSBwYXJhbXMubm9kZUlkO1xuICAgICAgaWYgKHRoaXMubm9kZUlkKSB7XG4gICAgICAgIHRoaXMuZm9sZGVyUnVsZXNTZXJ2aWNlLmdldFJ1bGVTZXR0aW5ncyh0aGlzLm5vZGVJZCkudGhlbigocnVsZVNldHRpbmdzKSA9PiB7XG4gICAgICAgICAgdGhpcy5pc0luaGVyaXRhbmNlRW5hYmxlZCA9IHJ1bGVTZXR0aW5ncy52YWx1ZTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5mb2xkZXJSdWxlU2V0c1NlcnZpY2UubG9hZFJ1bGVTZXRzKHRoaXMubm9kZUlkKTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIHRoaXMuX2FjdGlvbkRlZmluaXRpb25zU3ViID0gdGhpcy5hY3Rpb25EZWZpbml0aW9ucyQuc3Vic2NyaWJlKChhY3Rpb25EZWZpbml0aW9uczogQWN0aW9uRGVmaW5pdGlvblRyYW5zZm9ybWVkW10pID0+XG4gICAgICB0aGlzLmFjdGlvbnNTZXJ2aWNlLmxvYWRBY3Rpb25QYXJhbWV0ZXJDb25zdHJhaW50cyhhY3Rpb25EZWZpbml0aW9ucylcbiAgICApO1xuXG4gICAgdGhpcy5tYWluUnVsZVNldCQucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95ZWQkKSkuc3Vic2NyaWJlKChydWxlU2V0KSA9PiB7XG4gICAgICB0aGlzLmNhbkVkaXRNYWluUnVsZSA9IHRoaXMuY2FuRWRpdFJ1bGUocnVsZVNldCk7XG4gICAgICB0aGlzLmlzTWFpblJ1bGVTZXROb3RFbXB0eSA9ICEhcnVsZVNldDtcbiAgICB9KTtcblxuICAgIHRoaXMuaW5oZXJpdGVkUnVsZVNldHMkLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveWVkJCkpLnN1YnNjcmliZSgoaW5oZXJpdGVkUnVsZVNldCkgPT4ge1xuICAgICAgdGhpcy5pc0luaGVyaXRlZFJ1bGVTZXRzTm90RW1wdHkgPSBpbmhlcml0ZWRSdWxlU2V0LnNvbWUoKHJ1bGVTZXQpID0+IHJ1bGVTZXQucnVsZXMuc29tZSgocnVsZTogUnVsZSkgPT4gcnVsZS5pc0VuYWJsZWQpKTtcbiAgICB9KTtcblxuICAgIHRoaXMuc2VsZWN0ZWRSdWxlU2V0JC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3llZCQpKS5zdWJzY3JpYmUoKHJ1bGVTZXQpID0+IHtcbiAgICAgIHRoaXMuY2FuRWRpdFNlbGVjdGVkUnVsZSA9IHRoaXMuY2FuRWRpdFJ1bGUocnVsZVNldCk7XG4gICAgfSk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLmRlc3Ryb3llZCQubmV4dCgpO1xuICAgIHRoaXMuZGVzdHJveWVkJC5jb21wbGV0ZSgpO1xuICAgIHRoaXMuX2FjdGlvbkRlZmluaXRpb25zU3ViLnVuc3Vic2NyaWJlKCk7XG4gIH1cblxuICBnb0JhY2soKTogdm9pZCB7XG4gICAgdGhpcy5sb2NhdGlvbi5iYWNrKCk7XG4gIH1cblxuICBvblNlbGVjdFJ1bGUocnVsZTogUnVsZSkge1xuICAgIHRoaXMuZm9sZGVyUnVsZXNTZXJ2aWNlLnNlbGVjdFJ1bGUocnVsZSk7XG4gIH1cblxuICBvcGVuQ3JlYXRlVXBkYXRlUnVsZURpYWxvZyhtb2RlbCA9IHt9KSB7XG4gICAgY29uc3QgZGlhbG9nUmVmID0gdGhpcy5tYXREaWFsb2dTZXJ2aWNlLm9wZW4oRWRpdFJ1bGVEaWFsb2dVaUNvbXBvbmVudCwge1xuICAgICAgd2lkdGg6ICc5MCUnLFxuICAgICAgcGFuZWxDbGFzczogJ2FjYS1lZGl0LXJ1bGUtZGlhbG9nLWNvbnRhaW5lcicsXG4gICAgICBkYXRhOiB7XG4gICAgICAgIG1vZGVsLFxuICAgICAgICBub2RlSWQ6IHRoaXMubm9kZUlkLFxuICAgICAgICBwYXJhbWV0ZXJDb25zdHJhaW50cyQ6IHRoaXMucGFyYW1ldGVyQ29uc3RyYWludHMkLFxuICAgICAgICBhY3Rpb25EZWZpbml0aW9ucyQ6IHRoaXMuYWN0aW9uRGVmaW5pdGlvbnMkXG4gICAgICB9XG4gICAgfSk7XG5cbiAgICB0aGlzLm9uU3VibWl0UnVsZURpYWxvZyhkaWFsb2dSZWYpO1xuICB9XG5cbiAgb25TdWJtaXRSdWxlRGlhbG9nKGRpYWxvZ1JlZikge1xuICAgIGRpYWxvZ1JlZi5jb21wb25lbnRJbnN0YW5jZS5zdWJtaXR0ZWQuc3Vic2NyaWJlKGFzeW5jIChydWxlKSA9PiB7XG4gICAgICB0cnkge1xuICAgICAgICBpZiAocnVsZS5pZCkge1xuICAgICAgICAgIGF3YWl0IHRoaXMub25SdWxlVXBkYXRlKHJ1bGUpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGF3YWl0IHRoaXMub25SdWxlQ3JlYXRlKHJ1bGUpO1xuICAgICAgICB9XG4gICAgICAgIGRpYWxvZ1JlZi5jbG9zZSgpO1xuICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgdGhpcy5ub3RpZmljYXRpb25TZXJ2aWNlLnNob3dFcnJvcihlcnJvci5yZXNwb25zZS5ib2R5LmVycm9yLmVycm9yS2V5KTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIGFzeW5jIG9uUnVsZVVwZGF0ZShydWxlOiBSdWxlKSB7XG4gICAgY29uc3QgbmV3UnVsZSA9IGF3YWl0IHRoaXMuZm9sZGVyUnVsZXNTZXJ2aWNlLnVwZGF0ZVJ1bGUodGhpcy5ub2RlSWQsIHJ1bGUuaWQsIHJ1bGUpO1xuICAgIHRoaXMuZm9sZGVyUnVsZVNldHNTZXJ2aWNlLmFkZE9yVXBkYXRlUnVsZUluTWFpblJ1bGVTZXQobmV3UnVsZSk7XG4gIH1cblxuICBhc3luYyBvblJ1bGVDcmVhdGUocnVsZUNyZWF0ZVBhcmFtczogUGFydGlhbDxSdWxlPikge1xuICAgIGNvbnN0IG5ld1J1bGUgPSBhd2FpdCB0aGlzLmZvbGRlclJ1bGVzU2VydmljZS5jcmVhdGVSdWxlKHRoaXMubm9kZUlkLCBydWxlQ3JlYXRlUGFyYW1zKTtcbiAgICB0aGlzLmZvbGRlclJ1bGVTZXRzU2VydmljZS5hZGRPclVwZGF0ZVJ1bGVJbk1haW5SdWxlU2V0KG5ld1J1bGUpO1xuICB9XG5cbiAgYXN5bmMgb25SdWxlRW5hYmxlZFRvZ2dsZShydWxlOiBSdWxlLCBpc0VuYWJsZWQ6IGJvb2xlYW4pIHtcbiAgICBjb25zdCB1cGRhdGVkUnVsZSA9IGF3YWl0IHRoaXMuZm9sZGVyUnVsZXNTZXJ2aWNlLnVwZGF0ZVJ1bGUodGhpcy5ub2RlSWQsIHJ1bGUuaWQsIHsgLi4ucnVsZSwgaXNFbmFibGVkIH0pO1xuICAgIHRoaXMuZm9sZGVyUnVsZVNldHNTZXJ2aWNlLmFkZE9yVXBkYXRlUnVsZUluTWFpblJ1bGVTZXQodXBkYXRlZFJ1bGUpO1xuICB9XG5cbiAgYXN5bmMgb25Jbmhlcml0YW5jZVRvZ2dsZUNoYW5nZShldmVudDogTWF0U2xpZGVUb2dnbGVDaGFuZ2UpIHtcbiAgICB0aGlzLmlzSW5oZXJpdGFuY2VUb2dnbGVEaXNhYmxlZCA9IHRydWU7XG4gICAgY29uc3QgcnVsZVNldHRpbmdzID0gYXdhaXQgdGhpcy5mb2xkZXJSdWxlc1NlcnZpY2UudXBkYXRlUnVsZVNldHRpbmdzKHRoaXMubm9kZUlkLCAnLWlzSW5oZXJpdGFuY2VFbmFibGVkLScsIHsgdmFsdWU6IGV2ZW50LmNoZWNrZWQgfSk7XG4gICAgdGhpcy5pc0luaGVyaXRhbmNlRW5hYmxlZCA9IHJ1bGVTZXR0aW5ncy52YWx1ZTtcbiAgICB0aGlzLmZvbGRlclJ1bGVTZXRzU2VydmljZS5sb2FkUnVsZVNldHModGhpcy5ub2RlSWQpO1xuICAgIHRoaXMuaXNJbmhlcml0YW5jZVRvZ2dsZURpc2FibGVkID0gZmFsc2U7XG4gIH1cblxuICBvblJ1bGVEZWxldGVCdXR0b25DbGlja2VkKHJ1bGU6IFJ1bGUpIHtcbiAgICB0aGlzLm1hdERpYWxvZ1NlcnZpY2VcbiAgICAgIC5vcGVuKENvbmZpcm1EaWFsb2dDb21wb25lbnQsIHtcbiAgICAgICAgZGF0YToge1xuICAgICAgICAgIHRpdGxlOiAnQUNBX0ZPTERFUl9SVUxFUy5DT05GSVJNQVRJT05fRElBTE9HLkRFTEVURV9SVUxFLlRJVExFJyxcbiAgICAgICAgICBtZXNzYWdlOiAnQUNBX0ZPTERFUl9SVUxFUy5DT05GSVJNQVRJT05fRElBTE9HLkRFTEVURV9SVUxFLk1FU1NBR0UnXG4gICAgICAgIH0sXG4gICAgICAgIG1pbldpZHRoOiAnMzQ2cHgnXG4gICAgICB9KVxuICAgICAgLmFmdGVyQ2xvc2VkKClcbiAgICAgIC5zdWJzY3JpYmUoKHJlc3VsdCkgPT4ge1xuICAgICAgICBpZiAocmVzdWx0KSB7XG4gICAgICAgICAgdGhpcy5mb2xkZXJSdWxlc1NlcnZpY2UuZGVsZXRlUnVsZSh0aGlzLm5vZGVJZCwgcnVsZS5pZCk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICB9XG5cbiAgb25SdWxlRGVsZXRlKGRlbGV0ZWRSdWxlSWQ6IHN0cmluZykge1xuICAgIHRoaXMuZm9sZGVyUnVsZVNldHNTZXJ2aWNlLnJlbW92ZVJ1bGVGcm9tTWFpblJ1bGVTZXQoZGVsZXRlZFJ1bGVJZCk7XG4gIH1cblxuICBvbkxvYWRNb3JlUnVsZVNldHMoKSB7XG4gICAgdGhpcy5mb2xkZXJSdWxlU2V0c1NlcnZpY2UubG9hZE1vcmVJbmhlcml0ZWRSdWxlU2V0cygpO1xuICB9XG5cbiAgb25Mb2FkTW9yZVJ1bGVzKHJ1bGVTZXQ6IFJ1bGVTZXQpIHtcbiAgICB0aGlzLmZvbGRlclJ1bGVzU2VydmljZS5sb2FkUnVsZXMocnVsZVNldCk7XG4gIH1cblxuICBjYW5FZGl0UnVsZShydWxlU2V0OiBSdWxlU2V0KTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICFydWxlU2V0IHx8IEZvbGRlclJ1bGVTZXRzU2VydmljZS5pc093bmVkUnVsZVNldChydWxlU2V0LCB0aGlzLm5vZGVJZCk7XG4gIH1cblxuICBvcGVuTGlua1J1bGVzRGlhbG9nKGV4aXN0aW5nUnVsZVNldD86IFJ1bGVTZXQpIHtcbiAgICB0aGlzLm1hdERpYWxvZ1NlcnZpY2VcbiAgICAgIC5vcGVuKFJ1bGVTZXRQaWNrZXJTbWFydENvbXBvbmVudCwge1xuICAgICAgICB3aWR0aDogJzkwJScsXG4gICAgICAgIHBhbmVsQ2xhc3M6ICdhY2EtcnVsZS1zZXQtcGlja2VyLWNvbnRhaW5lcicsXG4gICAgICAgIGRhdGE6IHtcbiAgICAgICAgICBub2RlSWQ6IHRoaXMubm9kZUlkLFxuICAgICAgICAgIGRlZmF1bHROb2RlSWQ6IHRoaXMubm9kZUlkLFxuICAgICAgICAgIGV4aXN0aW5nUnVsZVNldFxuICAgICAgICB9XG4gICAgICB9KVxuICAgICAgLmFmdGVyQ2xvc2VkKClcbiAgICAgIC5zdWJzY3JpYmUoKHJlc3VsdCkgPT4ge1xuICAgICAgICBpZiAocmVzdWx0KSB7XG4gICAgICAgICAgdGhpcy5mb2xkZXJSdWxlU2V0c1NlcnZpY2UucmVmcmVzaE1haW5SdWxlU2V0KCk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICB9XG5cbiAgb25SdWxlU2V0VW5saW5rQ2xpY2tlZChsaW5rZWRSdWxlU2V0OiBSdWxlU2V0KSB7XG4gICAgdGhpcy5tYXREaWFsb2dTZXJ2aWNlXG4gICAgICAub3BlbihDb25maXJtRGlhbG9nQ29tcG9uZW50LCB7XG4gICAgICAgIGRhdGE6IHtcbiAgICAgICAgICB0aXRsZTogJ0FDQV9GT0xERVJfUlVMRVMuQ09ORklSTUFUSU9OX0RJQUxPRy5ERUxFVEVfUlVMRV9TRVRfTElOSy5USVRMRScsXG4gICAgICAgICAgbWVzc2FnZTogJ0FDQV9GT0xERVJfUlVMRVMuQ09ORklSTUFUSU9OX0RJQUxPRy5ERUxFVEVfUlVMRV9TRVRfTElOSy5NRVNTQUdFJ1xuICAgICAgICB9LFxuICAgICAgICBtaW5XaWR0aDogJzM0NnB4J1xuICAgICAgfSlcbiAgICAgIC5hZnRlckNsb3NlZCgpXG4gICAgICAuc3Vic2NyaWJlKGFzeW5jIChyZXN1bHQpID0+IHtcbiAgICAgICAgaWYgKHJlc3VsdCkge1xuICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICBhd2FpdCB0aGlzLmZvbGRlclJ1bGVTZXRzU2VydmljZS5kZWxldGVSdWxlU2V0TGluayh0aGlzLm5vZGVJZCwgbGlua2VkUnVsZVNldC5pZCk7XG4gICAgICAgICAgICB0aGlzLmZvbGRlclJ1bGVTZXRzU2VydmljZS5yZWZyZXNoTWFpblJ1bGVTZXQoKTtcbiAgICAgICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICAgICAgdGhpcy5ub3RpZmljYXRpb25TZXJ2aWNlLnNob3dFcnJvcignQUNBX0ZPTERFUl9SVUxFUy5FUlJPUlMuREVMRVRFX1JVTEVfU0VUX0xJTktfRkFJTEVEJyk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9KTtcbiAgfVxufVxuIiwiPGFjYS1wYWdlLWxheW91dD5cblxuICA8ZGl2IGNsYXNzPVwiYWNhLXBhZ2UtbGF5b3V0LWhlYWRlclwiPlxuICAgIDxhZGYtdG9vbGJhciBjbGFzcz1cImFkZi10b29sYmFyLS1pbmxpbmVcIj5cbiAgICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uIChjbGljayk9XCJnb0JhY2soKVwiPlxuICAgICAgICA8bWF0LWljb24+YXJyb3dfYmFjazwvbWF0LWljb24+XG4gICAgICA8L2J1dHRvbj5cbiAgICA8L2FkZi10b29sYmFyPlxuICAgIDxoMSBjbGFzcz1cImFjYS1wYWdlLXRpdGxlXCI+e3sgJ0FDQV9GT0xERVJfUlVMRVMuQUNUSU9OUy5NQU5BR0VfUlVMRVMnIHwgdHJhbnNsYXRlIH19PC9oMT5cbiAgPC9kaXY+XG5cbiAgPGRpdiBjbGFzcz1cImFjYS1wYWdlLWxheW91dC1jb250ZW50XCI+XG4gICAgPGRpdiBjbGFzcz1cImFjYS1tYWluLWNvbnRlbnRcIj5cblxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIigocnVsZVNldHNMb2FkaW5nJCB8IGFzeW5jKSAmJiAoaW5oZXJpdGVkUnVsZVNldHMkIHwgYXN5bmMpLmxlbmd0aCA9PT0gMCkgfHwgKGFjdGlvbnNMb2FkaW5nJCB8IGFzeW5jKTsgZWxzZSBvbkxvYWRlZFwiPlxuICAgICAgICA8bWF0LXByb2dyZXNzLWJhciBjb2xvcj1cInByaW1hcnlcIiBtb2RlPVwiaW5kZXRlcm1pbmF0ZVwiPjwvbWF0LXByb2dyZXNzLWJhcj5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICA8bmctdGVtcGxhdGUgI29uTG9hZGVkPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiZm9sZGVySW5mbyQgfCBhc3luYzsgZWxzZSBnZW5lcmljRXJyb3JcIj5cbiAgICAgICAgICA8YWRmLXRvb2xiYXIgY2xhc3M9XCJhZGYtdG9vbGJhci0taW5saW5lIGFjYS1tYW5hZ2UtcnVsZXNfX2FjdGlvbnMtYmFyXCI+XG5cbiAgICAgICAgICAgIDxhZGYtdG9vbGJhci10aXRsZSBjbGFzcz1cImFjYS1tYW5hZ2UtcnVsZXNfX2FjdGlvbnMtYmFyX190aXRsZVwiPlxuICAgICAgICAgICAgICA8bWF0LWljb24gY2xhc3M9XCJpY29uLWFsaWduZXJcIj5mb2xkZXI8L21hdC1pY29uPlxuICAgICAgICAgICAgICA8aDIgY2xhc3M9XCJhY2EtcGFnZS10aXRsZVwiPnt7IChmb2xkZXJJbmZvJCB8IGFzeW5jKS5uYW1lIH19Ont7J0FDQV9GT0xERVJfUlVMRVMuTUFOQUdFX1JVTEVTLlRPT0xCQVIuQlJFQURDUlVNQi5SVUxFUycgfCB0cmFuc2xhdGV9fTwvaDI+XG4gICAgICAgICAgICA8L2FkZi10b29sYmFyLXRpdGxlPlxuXG4gICAgICAgICAgICA8bWF0LXNsaWRlLXRvZ2dsZVxuICAgICAgICAgICAgICBkYXRhLWF1dG9tYXRpb24taWQ9XCJtYW5hZ2UtcnVsZXMtaW5oZXJpdGFuY2UtdG9nZ2xlLWJ1dHRvblwiXG4gICAgICAgICAgICAgIGNsYXNzPVwiYWNhLW1hbmFnZS1ydWxlc19fYWN0aW9ucy1iYXJfX3RvZ2dsZVwiXG4gICAgICAgICAgICAgIFtjaGVja2VkXT1cImlzSW5oZXJpdGFuY2VFbmFibGVkXCJcbiAgICAgICAgICAgICAgKGNoYW5nZSk9XCJvbkluaGVyaXRhbmNlVG9nZ2xlQ2hhbmdlKCRldmVudClcIlxuICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiaXNJbmhlcml0YW5jZVRvZ2dsZURpc2FibGVkXCJcbiAgICAgICAgICAgICAgW2xhYmVsUG9zaXRpb25dPVwiJ2JlZm9yZSdcIj5cbiAgICAgICAgICAgICAge3sgJ0FDQV9GT0xERVJfUlVMRVMuTUFOQUdFX1JVTEVTLlRPT0xCQVIuQUNUSU9OUy5JTkhFUklUX1JVTEVTJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgPC9tYXQtc2xpZGUtdG9nZ2xlPlxuXG4gICAgICAgICAgICA8bWF0LWRpdmlkZXIgdmVydGljYWwgY2xhc3M9XCJhY2EtbWFuYWdlLXJ1bGVzX19hY3Rpb25zLWJhcl9fdmVydGljYWwtZGl2aWRlclwiPjwvbWF0LWRpdmlkZXI+XG5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJhY2EtbWFuYWdlLXJ1bGVzX19hY3Rpb25zLWJhcl9fYnV0dG9uc1wiPlxuICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgKm5nSWY9XCIhKG1haW5SdWxlU2V0JCB8IGFzeW5jKVwiXG4gICAgICAgICAgICAgICAgZGF0YS1hdXRvbWF0aW9uLWlkPVwibWFuYWdlLXJ1bGVzLWxpbmstYnV0dG9uXCJcbiAgICAgICAgICAgICAgICBtYXQtc3Ryb2tlZC1idXR0b25cbiAgICAgICAgICAgICAgICAoY2xpY2spPVwib3BlbkxpbmtSdWxlc0RpYWxvZygpXCI+XG4gICAgICAgICAgICAgICAge3sgJ0FDQV9GT0xERVJfUlVMRVMuTUFOQUdFX1JVTEVTLlRPT0xCQVIuQUNUSU9OUy5MSU5LX1JVTEVTJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICA8L2J1dHRvbj5cblxuICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgKm5nSWY9XCJjYW5FZGl0TWFpblJ1bGVcIlxuICAgICAgICAgICAgICAgIGRhdGEtYXV0b21hdGlvbi1pZD1cIm1hbmFnZS1ydWxlcy1jcmVhdGUtYnV0dG9uXCJcbiAgICAgICAgICAgICAgICBtYXQtZmxhdC1idXR0b24gY29sb3I9XCJwcmltYXJ5XCJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwib3BlbkNyZWF0ZVVwZGF0ZVJ1bGVEaWFsb2coKVwiPlxuICAgICAgICAgICAgICAgIHt7ICdBQ0FfRk9MREVSX1JVTEVTLk1BTkFHRV9SVUxFUy5UT09MQkFSLkFDVElPTlMuQ1JFQVRFX1JVTEUnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICA8L2FkZi10b29sYmFyPlxuICAgICAgICAgIDxtYXQtZGl2aWRlcj48L21hdC1kaXZpZGVyPlxuXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImFjYS1tYW5hZ2UtcnVsZXNfX2NvbnRhaW5lclwiICpuZ0lmPVwiaXNNYWluUnVsZVNldE5vdEVtcHR5IHx8IGlzSW5oZXJpdGVkUnVsZVNldHNOb3RFbXB0eTsgZWxzZSBlbXB0eUNvbnRlbnRcIj5cbiAgICAgICAgICAgIDxhY2EtcnVsZS1saXN0XG4gICAgICAgICAgICAgIFttYWluUnVsZVNldCRdPVwibWFpblJ1bGVTZXQkXCJcbiAgICAgICAgICAgICAgW2ZvbGRlcklkXT1cIm5vZGVJZFwiXG4gICAgICAgICAgICAgIFtpbmhlcml0ZWRSdWxlU2V0c109XCJpbmhlcml0ZWRSdWxlU2V0cyQgfCBhc3luY1wiXG4gICAgICAgICAgICAgIFtoYXNNb3JlUnVsZVNldHNdPVwiaGFzTW9yZVJ1bGVTZXRzJCB8IGFzeW5jXCJcbiAgICAgICAgICAgICAgW3J1bGVTZXRzTG9hZGluZ109XCJydWxlU2V0c0xvYWRpbmckIHwgYXN5bmNcIlxuICAgICAgICAgICAgICBbc2VsZWN0ZWRSdWxlXT1cInNlbGVjdGVkUnVsZSQgfCBhc3luY1wiXG4gICAgICAgICAgICAgIChsb2FkTW9yZVJ1bGVTZXRzKT1cIm9uTG9hZE1vcmVSdWxlU2V0cygpXCJcbiAgICAgICAgICAgICAgKGxvYWRNb3JlUnVsZXMpPVwib25Mb2FkTW9yZVJ1bGVzKCRldmVudClcIlxuICAgICAgICAgICAgICAoc2VsZWN0UnVsZSk9XCJvblNlbGVjdFJ1bGUoJGV2ZW50KVwiXG4gICAgICAgICAgICAgIChydWxlRW5hYmxlZENoYW5nZWQpPVwib25SdWxlRW5hYmxlZFRvZ2dsZSgkZXZlbnRbMF0sICRldmVudFsxXSlcIlxuICAgICAgICAgICAgICAocnVsZVNldEVkaXRMaW5rQ2xpY2tlZCk9XCJvcGVuTGlua1J1bGVzRGlhbG9nKCRldmVudClcIlxuICAgICAgICAgICAgICAocnVsZVNldFVubGlua0NsaWNrZWQpPVwib25SdWxlU2V0VW5saW5rQ2xpY2tlZCgkZXZlbnQpXCI+XG4gICAgICAgICAgICA8L2FjYS1ydWxlLWxpc3Q+XG5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJhY2EtbWFuYWdlLXJ1bGVzX19jb250YWluZXJfX3J1bGUtZGV0YWlsc1wiPlxuXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJhY2EtbWFuYWdlLXJ1bGVzX19jb250YWluZXJfX3J1bGUtZGV0YWlsc19faGVhZGVyXCIgKm5nSWY9XCIoc2VsZWN0ZWRSdWxlJCB8IGFzeW5jKSBhcyBzZWxlY3RlZFJ1bGVcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYWNhLW1hbmFnZS1ydWxlc19fY29udGFpbmVyX19ydWxlLWRldGFpbHNfX2hlYWRlcl9fdGl0bGVcIj5cbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJhY2EtbWFuYWdlLXJ1bGVzX19jb250YWluZXJfX3J1bGUtZGV0YWlsc19faGVhZGVyX190aXRsZV9fbmFtZVwiPlxuICAgICAgICAgICAgICAgICAgICB7eyBzZWxlY3RlZFJ1bGUubmFtZSB9fVxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYWNhLW1hbmFnZS1ydWxlc19fY29udGFpbmVyX19ydWxlLWRldGFpbHNfX2hlYWRlcl9fdGl0bGVfX2Rlc2NyaXB0aW9uXCI+XG4gICAgICAgICAgICAgICAgICAgIHt7IHNlbGVjdGVkUnVsZS5kZXNjcmlwdGlvbiB9fVxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYWNhLW1hbmFnZS1ydWxlc19fY29udGFpbmVyX19ydWxlLWRldGFpbHNfX2hlYWRlcl9fYnV0dG9uc1wiPlxuICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImNhbkVkaXRTZWxlY3RlZFJ1bGU7IGVsc2UgZ29Ub0ZvbGRlckJ1dHRvblwiPlxuICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIG1hdC1zdHJva2VkLWJ1dHRvbiAoY2xpY2spPVwib25SdWxlRGVsZXRlQnV0dG9uQ2xpY2tlZChzZWxlY3RlZFJ1bGUpXCIgaWQ9XCJkZWxldGUtcnVsZS1idG5cIj5cbiAgICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24+ZGVsZXRlX291dGxpbmU8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBtYXQtc3Ryb2tlZC1idXR0b24gKGNsaWNrKT1cIm9wZW5DcmVhdGVVcGRhdGVSdWxlRGlhbG9nKHNlbGVjdGVkUnVsZSlcIiBpZD1cImVkaXQtcnVsZS1idG5cIj5cbiAgICAgICAgICAgICAgICAgICAgICB7eyAnQUNBX0ZPTERFUl9SVUxFUy5NQU5BR0VfUlVMRVMuVE9PTEJBUi5BQ1RJT05TLkVESVRfUlVMRScgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNnb1RvRm9sZGVyQnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIG1hdC1zdHJva2VkLWJ1dHRvbiBbcm91dGVyTGlua109XCJbJy9ub2RlcycsIChzZWxlY3RlZFJ1bGVTZXQkIHwgYXN5bmMpLm93bmluZ0ZvbGRlci5pZCwgJ3J1bGVzJ11cIj5cbiAgICAgICAgICAgICAgICAgICAgICB7eyAnQUNBX0ZPTERFUl9SVUxFUy5NQU5BR0VfUlVMRVMuVE9PTEJBUi5BQ1RJT05TLlNFRV9JTl9GT0xERVInIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImFjYS1tYW5hZ2UtcnVsZXNfX2NvbnRhaW5lcl9fcnVsZS1kZXRhaWxzX19jb250ZW50XCIgKm5nSWY9XCIoc2VsZWN0ZWRSdWxlJCB8IGFzeW5jKSBhcyBzZWxlY3RlZFJ1bGVcIj5cbiAgICAgICAgICAgICAgICA8YWNhLXJ1bGUtZGV0YWlsc1xuICAgICAgICAgICAgICAgICAgW2FjdGlvbkRlZmluaXRpb25zXT1cImFjdGlvbkRlZmluaXRpb25zJCB8IGFzeW5jXCJcbiAgICAgICAgICAgICAgICAgIFtwYXJhbWV0ZXJDb25zdHJhaW50c109XCJwYXJhbWV0ZXJDb25zdHJhaW50cyQgfCBhc3luY1wiXG4gICAgICAgICAgICAgICAgICBbcmVhZE9ubHldPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgICBbcHJldmlld109XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAgIFt2YWx1ZV09XCJzZWxlY3RlZFJ1bGVcIlxuICAgICAgICAgICAgICAgICAgW25vZGVJZF09XCJub2RlSWRcIj5cbiAgICAgICAgICAgICAgICA8L2FjYS1ydWxlLWRldGFpbHM+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICA8bmctdGVtcGxhdGUgI2VtcHR5Q29udGVudD5cbiAgICAgICAgICAgIDxhZGYtZW1wdHktY29udGVudFxuICAgICAgICAgICAgICBpY29uPVwibGlicmFyeV9ib29rc1wiXG4gICAgICAgICAgICAgIFt0aXRsZV09XCInQUNBX0ZPTERFUl9SVUxFUy5NQU5BR0VfUlVMRVMuRU1QVFlfUlVMRVNfTElTVC5USVRMRScgfCB0cmFuc2xhdGVcIlxuICAgICAgICAgICAgICBbc3VidGl0bGVdPVwiJ0FDQV9GT0xERVJfUlVMRVMuTUFOQUdFX1JVTEVTLkVNUFRZX1JVTEVTX0xJU1QuU1VCVElUTEUnIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgIDwvYWRmLWVtcHR5LWNvbnRlbnQ+XG4gICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgPG5nLXRlbXBsYXRlICNnZW5lcmljRXJyb3I+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImFjYS1wYWdlLWxheW91dC1lcnJvclwiPlxuICAgICAgICAgICAgPGFjYS1nZW5lcmljLWVycm9yPjwvYWNhLWdlbmVyaWMtZXJyb3I+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvbmctdGVtcGxhdGU+XG5cbiAgICAgIDwvbmctdGVtcGxhdGU+XG5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG5cbjwvYWNhLXBhZ2UtbGF5b3V0PlxuIl19