@alfresco/adf-content-services 8.1.0-16116633181 → 8.1.0-16117584844

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 (414) hide show
  1. package/bundles/assets/adf-content-services/i18n/en.json +1 -3
  2. package/esm2022/adf-content-services.mjs +5 -0
  3. package/esm2022/lib/agent/index.mjs +18 -0
  4. package/esm2022/lib/agent/public-api.mjs +18 -0
  5. package/esm2022/lib/agent/services/agent.service.mjs +60 -0
  6. package/esm2022/lib/alfresco-icon/alfresco-icon.component.mjs +27 -0
  7. package/esm2022/lib/api-factories/alfresco-api-no-auth.service.mjs +42 -0
  8. package/esm2022/lib/api-factories/alfresco-api-v2-loader.service.mjs +77 -0
  9. package/esm2022/lib/api-factories/index.mjs +18 -0
  10. package/esm2022/lib/api-factories/public-api.mjs +19 -0
  11. package/esm2022/lib/aspect-list/aspect-list-dialog-data.interface.mjs +18 -0
  12. package/esm2022/lib/aspect-list/aspect-list-dialog.component.mjs +77 -0
  13. package/esm2022/lib/aspect-list/aspect-list.component.mjs +139 -0
  14. package/esm2022/lib/aspect-list/aspect-list.module.mjs +35 -0
  15. package/esm2022/lib/aspect-list/index.mjs +18 -0
  16. package/esm2022/lib/aspect-list/public-api.mjs +24 -0
  17. package/esm2022/lib/aspect-list/services/aspect-list.service.mjs +83 -0
  18. package/esm2022/lib/aspect-list/services/dialog-aspect-list.service.mjs +86 -0
  19. package/esm2022/lib/aspect-list/services/node-aspect.service.mjs +52 -0
  20. package/esm2022/lib/auth-loader/content-auth-loader-factory.mjs +26 -0
  21. package/esm2022/lib/auth-loader/content-auth-loader.service.mjs +42 -0
  22. package/esm2022/lib/breadcrumb/breadcrumb.component.mjs +166 -0
  23. package/esm2022/lib/breadcrumb/breadcrumb.module.mjs +35 -0
  24. package/esm2022/lib/breadcrumb/dropdown-breadcrumb.component.mjs +65 -0
  25. package/esm2022/lib/breadcrumb/index.mjs +18 -0
  26. package/esm2022/lib/breadcrumb/public-api.mjs +20 -0
  27. package/esm2022/lib/category/categories-management/categories-management-mode.mjs +22 -0
  28. package/esm2022/lib/category/categories-management/categories-management.component.mjs +308 -0
  29. package/esm2022/lib/category/category.module.mjs +33 -0
  30. package/esm2022/lib/category/index.mjs +18 -0
  31. package/esm2022/lib/category/models/category-node.interface.mjs +18 -0
  32. package/esm2022/lib/category/public-api.mjs +23 -0
  33. package/esm2022/lib/category/services/category-tree-datasource.service.mjs +80 -0
  34. package/esm2022/lib/category/services/category.service.mjs +159 -0
  35. package/esm2022/lib/common/events/file.event.mjs +46 -0
  36. package/esm2022/lib/common/index.mjs +18 -0
  37. package/esm2022/lib/common/interfaces/saved-search.interface.mjs +18 -0
  38. package/esm2022/lib/common/interfaces/search-configuration.interface.mjs +18 -0
  39. package/esm2022/lib/common/mocks/ecm-user.service.mock.mjs +37 -0
  40. package/esm2022/lib/common/models/allowable-operations.enum.mjs +30 -0
  41. package/esm2022/lib/common/models/ecm-company.model.mjs +19 -0
  42. package/esm2022/lib/common/models/ecm-user.model.mjs +45 -0
  43. package/esm2022/lib/common/models/file.model.mjs +53 -0
  44. package/esm2022/lib/common/models/node-metadata.model.mjs +23 -0
  45. package/esm2022/lib/common/models/permissions.enum.mjs +32 -0
  46. package/esm2022/lib/common/public-api.mjs +37 -0
  47. package/esm2022/lib/common/services/card-view-content-update.service.mjs +55 -0
  48. package/esm2022/lib/common/services/content.service.mjs +180 -0
  49. package/esm2022/lib/common/services/discovery-api.service.mjs +79 -0
  50. package/esm2022/lib/common/services/favorites-api.service.mjs +84 -0
  51. package/esm2022/lib/common/services/nodes-api.service.mjs +251 -0
  52. package/esm2022/lib/common/services/people-content.service.mjs +138 -0
  53. package/esm2022/lib/common/services/rendition.service.mjs +270 -0
  54. package/esm2022/lib/common/services/saved-searches.service.mjs +206 -0
  55. package/esm2022/lib/common/services/sites.service.mjs +243 -0
  56. package/esm2022/lib/common/services/upload.service.mjs +391 -0
  57. package/esm2022/lib/content-metadata/components/content-metadata/content-metadata-header.component.mjs +54 -0
  58. package/esm2022/lib/content-metadata/components/content-metadata/content-metadata.component.mjs +490 -0
  59. package/esm2022/lib/content-metadata/components/content-metadata-card/content-metadata-card.component.mjs +128 -0
  60. package/esm2022/lib/content-metadata/content-metadata.module.mjs +36 -0
  61. package/esm2022/lib/content-metadata/index.mjs +18 -0
  62. package/esm2022/lib/content-metadata/interfaces/aspect-oriented-config.interface.mjs +18 -0
  63. package/esm2022/lib/content-metadata/interfaces/card-view-group.interface.mjs +18 -0
  64. package/esm2022/lib/content-metadata/interfaces/content-metadata-config.interface.mjs +18 -0
  65. package/esm2022/lib/content-metadata/interfaces/content-metadata-custom-panel.interface.mjs +18 -0
  66. package/esm2022/lib/content-metadata/interfaces/content-metadata-panel.interface.mjs +18 -0
  67. package/esm2022/lib/content-metadata/interfaces/content-metadata.interfaces.mjs +28 -0
  68. package/esm2022/lib/content-metadata/interfaces/indifferent-config.interface.mjs +18 -0
  69. package/esm2022/lib/content-metadata/interfaces/layout-oriented-config.interface.mjs +18 -0
  70. package/esm2022/lib/content-metadata/interfaces/organised-property-group.interface.mjs +18 -0
  71. package/esm2022/lib/content-metadata/interfaces/preset-config.interface.mjs +18 -0
  72. package/esm2022/lib/content-metadata/interfaces/property-group.interface.mjs +18 -0
  73. package/esm2022/lib/content-metadata/interfaces/property.interface.mjs +18 -0
  74. package/esm2022/lib/content-metadata/public-api.mjs +31 -0
  75. package/esm2022/lib/content-metadata/services/basic-properties.service.mjs +107 -0
  76. package/esm2022/lib/content-metadata/services/config/aspect-oriented-config.service.mjs +106 -0
  77. package/esm2022/lib/content-metadata/services/config/content-metadata-config.factory.mjs +76 -0
  78. package/esm2022/lib/content-metadata/services/config/indifferent-config.service.mjs +40 -0
  79. package/esm2022/lib/content-metadata/services/config/layout-oriented-config.service.mjs +108 -0
  80. package/esm2022/lib/content-metadata/services/config/property-group-reader.mjs +33 -0
  81. package/esm2022/lib/content-metadata/services/content-metadata.service.mjs +99 -0
  82. package/esm2022/lib/content-metadata/services/content-type-property.service.mjs +134 -0
  83. package/esm2022/lib/content-metadata/services/property-descriptors.service.mjs +52 -0
  84. package/esm2022/lib/content-metadata/services/property-groups-translator.service.mjs +169 -0
  85. package/esm2022/lib/content-node-selector/content-node-dialog.service.mjs +256 -0
  86. package/esm2022/lib/content-node-selector/content-node-selector-panel/content-node-selector-panel.component.mjs +617 -0
  87. package/esm2022/lib/content-node-selector/content-node-selector-panel/content-node-selector-panel.service.mjs +66 -0
  88. package/esm2022/lib/content-node-selector/content-node-selector.component-data.interface.mjs +18 -0
  89. package/esm2022/lib/content-node-selector/content-node-selector.component.mjs +205 -0
  90. package/esm2022/lib/content-node-selector/content-node-selector.module.mjs +50 -0
  91. package/esm2022/lib/content-node-selector/index.mjs +18 -0
  92. package/esm2022/lib/content-node-selector/name-location-cell/name-location-cell.component.mjs +48 -0
  93. package/esm2022/lib/content-node-selector/public-api.mjs +25 -0
  94. package/esm2022/lib/content-node-selector/site-dropdown/sites-dropdown.component.mjs +168 -0
  95. package/esm2022/lib/content-node-share/content-node-share.dialog.mjs +287 -0
  96. package/esm2022/lib/content-node-share/content-node-share.directive.mjs +102 -0
  97. package/esm2022/lib/content-node-share/content-node-share.module.mjs +35 -0
  98. package/esm2022/lib/content-node-share/content-node-share.settings.mjs +18 -0
  99. package/esm2022/lib/content-node-share/index.mjs +18 -0
  100. package/esm2022/lib/content-node-share/public-api.mjs +22 -0
  101. package/esm2022/lib/content-node-share/services/shared-links-api.service.mjs +83 -0
  102. package/esm2022/lib/content-type/content-type-dialog.component.mjs +57 -0
  103. package/esm2022/lib/content-type/content-type-metadata.interface.mjs +18 -0
  104. package/esm2022/lib/content-type/content-type.service.mjs +52 -0
  105. package/esm2022/lib/content-type/index.mjs +20 -0
  106. package/esm2022/lib/content.module.mjs +277 -0
  107. package/esm2022/lib/dialogs/category-selector/category-selector.dialog.mjs +51 -0
  108. package/esm2022/lib/dialogs/dialog.module.mjs +52 -0
  109. package/esm2022/lib/dialogs/download-zip/download-zip.dialog.mjs +111 -0
  110. package/esm2022/lib/dialogs/download-zip/download-zip.dialog.module.mjs +38 -0
  111. package/esm2022/lib/dialogs/download-zip/services/download-zip.service.mjs +66 -0
  112. package/esm2022/lib/dialogs/folder/folder-name.validators.mjs +44 -0
  113. package/esm2022/lib/dialogs/folder/folder.dialog.mjs +146 -0
  114. package/esm2022/lib/dialogs/index.mjs +18 -0
  115. package/esm2022/lib/dialogs/library/library.dialog.mjs +224 -0
  116. package/esm2022/lib/dialogs/node-lock/node-lock.dialog.mjs +115 -0
  117. package/esm2022/lib/dialogs/public-api.mjs +25 -0
  118. package/esm2022/lib/directives/auto-focus.directive.mjs +38 -0
  119. package/esm2022/lib/directives/check-allowable-operation.directive.mjs +126 -0
  120. package/esm2022/lib/directives/content-directive.module.mjs +75 -0
  121. package/esm2022/lib/directives/index.mjs +18 -0
  122. package/esm2022/lib/directives/library-favorite.directive.mjs +119 -0
  123. package/esm2022/lib/directives/library-membership.directive.mjs +202 -0
  124. package/esm2022/lib/directives/node-counter.directive.mjs +59 -0
  125. package/esm2022/lib/directives/node-delete.directive.mjs +177 -0
  126. package/esm2022/lib/directives/node-download.directive.mjs +138 -0
  127. package/esm2022/lib/directives/node-favorite.directive.mjs +193 -0
  128. package/esm2022/lib/directives/node-lock.directive.mjs +57 -0
  129. package/esm2022/lib/directives/node-restore.directive.mjs +218 -0
  130. package/esm2022/lib/directives/public-api.mjs +28 -0
  131. package/esm2022/lib/document-list/components/content-action/content-action-list.component.mjs +60 -0
  132. package/esm2022/lib/document-list/components/content-action/content-action.component.mjs +196 -0
  133. package/esm2022/lib/document-list/components/document-list.component.mjs +965 -0
  134. package/esm2022/lib/document-list/components/document-list.token.mjs +21 -0
  135. package/esm2022/lib/document-list/components/file-auto-download/file-auto-download.component.mjs +42 -0
  136. package/esm2022/lib/document-list/components/filter-header/filter-header.component.mjs +107 -0
  137. package/esm2022/lib/document-list/components/library-name-column/library-name-column.component.mjs +131 -0
  138. package/esm2022/lib/document-list/components/library-role-column/library-role-column.component.mjs +91 -0
  139. package/esm2022/lib/document-list/components/library-status-column/library-status-column.component.mjs +86 -0
  140. package/esm2022/lib/document-list/components/name-column/name-column.component.mjs +118 -0
  141. package/esm2022/lib/document-list/components/node.event.mjs +30 -0
  142. package/esm2022/lib/document-list/components/trashcan-name-column/trashcan-name-column.component.mjs +83 -0
  143. package/esm2022/lib/document-list/data/image-resolver.model.mjs +18 -0
  144. package/esm2022/lib/document-list/data/row-filter.model.mjs +18 -0
  145. package/esm2022/lib/document-list/data/share-data-row.model.mjs +102 -0
  146. package/esm2022/lib/document-list/data/share-datatable-adapter.mjs +258 -0
  147. package/esm2022/lib/document-list/document-list.module.mjs +75 -0
  148. package/esm2022/lib/document-list/index.mjs +18 -0
  149. package/esm2022/lib/document-list/interfaces/document-list-loader.interface.mjs +18 -0
  150. package/esm2022/lib/document-list/models/content-action.model.mjs +59 -0
  151. package/esm2022/lib/document-list/models/document-folder.model.mjs +23 -0
  152. package/esm2022/lib/document-list/models/node-action.enum.mjs +27 -0
  153. package/esm2022/lib/document-list/models/permissions-style.model.mjs +27 -0
  154. package/esm2022/lib/document-list/models/permissions.model.mjs +26 -0
  155. package/esm2022/lib/document-list/models/preset.model.mjs +257 -0
  156. package/esm2022/lib/document-list/public-api.mjs +47 -0
  157. package/esm2022/lib/document-list/services/custom-resources.service.mjs +378 -0
  158. package/esm2022/lib/document-list/services/document-actions.service.mjs +142 -0
  159. package/esm2022/lib/document-list/services/document-list.service.mjs +175 -0
  160. package/esm2022/lib/document-list/services/folder-actions.service.mjs +137 -0
  161. package/esm2022/lib/document-list/services/lock.service.mjs +72 -0
  162. package/esm2022/lib/document-list/services/node-actions.service.mjs +122 -0
  163. package/esm2022/lib/group/index.mjs +18 -0
  164. package/esm2022/lib/group/public-api.mjs +18 -0
  165. package/esm2022/lib/group/services/group.service.mjs +84 -0
  166. package/esm2022/lib/infinite-scroll-datasource/index.mjs +18 -0
  167. package/esm2022/lib/infinite-scroll-datasource/infinite-scroll-datasource.mjs +69 -0
  168. package/esm2022/lib/infinite-scroll-datasource/public-api.mjs +18 -0
  169. package/esm2022/lib/interfaces/base-card-view-content-update.interface.mjs +18 -0
  170. package/esm2022/lib/interfaces/index.mjs +18 -0
  171. package/esm2022/lib/interfaces/library-entity.interface.mjs +18 -0
  172. package/esm2022/lib/interfaces/library-membership-error-event.interface.mjs +18 -0
  173. package/esm2022/lib/interfaces/library-membership-toggle-event.interface.mjs +18 -0
  174. package/esm2022/lib/interfaces/node-allowable-operation-subject.interface.mjs +18 -0
  175. package/esm2022/lib/interfaces/public-api.mjs +23 -0
  176. package/esm2022/lib/interfaces/restore-message-model.interface.mjs +19 -0
  177. package/esm2022/lib/legal-hold/index.mjs +18 -0
  178. package/esm2022/lib/legal-hold/public-api.mjs +18 -0
  179. package/esm2022/lib/legal-hold/services/legal-hold.service.mjs +136 -0
  180. package/esm2022/lib/material.module.mjs +183 -0
  181. package/esm2022/lib/mock/alfresco-api.service.mock.mjs +43 -0
  182. package/esm2022/lib/mock/date-range-search-filter.mock.mjs +65 -0
  183. package/esm2022/lib/mock/document-library.model.mock.mjs +84 -0
  184. package/esm2022/lib/mock/document-list.component.mock.mjs +364 -0
  185. package/esm2022/lib/mock/index.mjs +18 -0
  186. package/esm2022/lib/mock/new-version-uploader.service.mock.mjs +161 -0
  187. package/esm2022/lib/mock/public-api.mjs +27 -0
  188. package/esm2022/lib/mock/search-filter-mock.mjs +637 -0
  189. package/esm2022/lib/mock/search-query.mock.mjs +40 -0
  190. package/esm2022/lib/mock/search.component.mock.mjs +165 -0
  191. package/esm2022/lib/mock/search.service.mock.mjs +61 -0
  192. package/esm2022/lib/mock/sites-dropdown.component.mock.mjs +281 -0
  193. package/esm2022/lib/new-version-uploader/index.mjs +18 -0
  194. package/esm2022/lib/new-version-uploader/models/index.mjs +18 -0
  195. package/esm2022/lib/new-version-uploader/models/new-version-uploader.model.mjs +24 -0
  196. package/esm2022/lib/new-version-uploader/new-version-uploader.dialog.mjs +74 -0
  197. package/esm2022/lib/new-version-uploader/new-version-uploader.module.mjs +33 -0
  198. package/esm2022/lib/new-version-uploader/new-version-uploader.service.mjs +103 -0
  199. package/esm2022/lib/new-version-uploader/public-api.mjs +21 -0
  200. package/esm2022/lib/node-comments/index.mjs +18 -0
  201. package/esm2022/lib/node-comments/node-comments.component.mjs +50 -0
  202. package/esm2022/lib/node-comments/node-comments.module.mjs +33 -0
  203. package/esm2022/lib/node-comments/public-api.mjs +20 -0
  204. package/esm2022/lib/node-comments/services/node-comments.service.mjs +85 -0
  205. package/esm2022/lib/permission-manager/components/add-permission/add-permission-dialog-data.interface.mjs +18 -0
  206. package/esm2022/lib/permission-manager/components/add-permission/add-permission-dialog.component.mjs +123 -0
  207. package/esm2022/lib/permission-manager/components/add-permission/add-permission-panel.component.mjs +102 -0
  208. package/esm2022/lib/permission-manager/components/add-permission/add-permission.component.mjs +69 -0
  209. package/esm2022/lib/permission-manager/components/add-permission/search-config-permission.service.mjs +45 -0
  210. package/esm2022/lib/permission-manager/components/inherited-button.directive.mjs +67 -0
  211. package/esm2022/lib/permission-manager/components/node-path-column/node-path-column.component.mjs +56 -0
  212. package/esm2022/lib/permission-manager/components/permission-container/permission-container.component.mjs +102 -0
  213. package/esm2022/lib/permission-manager/components/permission-list/permission-list.component.mjs +87 -0
  214. package/esm2022/lib/permission-manager/components/permission-list/permission-list.service.mjs +219 -0
  215. package/esm2022/lib/permission-manager/components/pop-over.directive.mjs +134 -0
  216. package/esm2022/lib/permission-manager/components/user-icon-column/user-icon-column.component.mjs +88 -0
  217. package/esm2022/lib/permission-manager/components/user-name-column/user-name-column.component.mjs +82 -0
  218. package/esm2022/lib/permission-manager/components/user-role-column/user-role-column.component.mjs +111 -0
  219. package/esm2022/lib/permission-manager/index.mjs +18 -0
  220. package/esm2022/lib/permission-manager/models/member.model.mjs +59 -0
  221. package/esm2022/lib/permission-manager/models/permission.model.mjs +29 -0
  222. package/esm2022/lib/permission-manager/models/role.model.mjs +18 -0
  223. package/esm2022/lib/permission-manager/permission-manager.module.mjs +84 -0
  224. package/esm2022/lib/permission-manager/public-api.mjs +36 -0
  225. package/esm2022/lib/permission-manager/services/node-permission-dialog.service.mjs +78 -0
  226. package/esm2022/lib/permission-manager/services/node-permission.service.mjs +299 -0
  227. package/esm2022/lib/pipes/content-pipe.module.mjs +37 -0
  228. package/esm2022/lib/pipes/index.mjs +18 -0
  229. package/esm2022/lib/pipes/node-name-tooltip.pipe.mjs +69 -0
  230. package/esm2022/lib/pipes/public-api.mjs +19 -0
  231. package/esm2022/lib/prediction/index.mjs +18 -0
  232. package/esm2022/lib/prediction/public-api.mjs +18 -0
  233. package/esm2022/lib/prediction/services/index.mjs +18 -0
  234. package/esm2022/lib/prediction/services/prediction.service.mjs +57 -0
  235. package/esm2022/lib/search/components/empty-search-result.component.mjs +27 -0
  236. package/esm2022/lib/search/components/index.mjs +43 -0
  237. package/esm2022/lib/search/components/reset-search.directive.mjs +41 -0
  238. package/esm2022/lib/search/components/search-check-list/index.mjs +18 -0
  239. package/esm2022/lib/search/components/search-check-list/search-check-list.component.mjs +158 -0
  240. package/esm2022/lib/search/components/search-chip-autocomplete-input/index.mjs +18 -0
  241. package/esm2022/lib/search/components/search-chip-autocomplete-input/search-chip-autocomplete-input.component.mjs +169 -0
  242. package/esm2022/lib/search/components/search-chip-list/search-chip-list.component.mjs +46 -0
  243. package/esm2022/lib/search/components/search-control.component.mjs +180 -0
  244. package/esm2022/lib/search/components/search-date-range-tabbed/index.mjs +22 -0
  245. package/esm2022/lib/search/components/search-date-range-tabbed/search-date-range/date-range-type.mjs +23 -0
  246. package/esm2022/lib/search/components/search-date-range-tabbed/search-date-range/in-last-date-type.mjs +23 -0
  247. package/esm2022/lib/search/components/search-date-range-tabbed/search-date-range/search-date-range.component.mjs +196 -0
  248. package/esm2022/lib/search/components/search-date-range-tabbed/search-date-range/search-date-range.mjs +18 -0
  249. package/esm2022/lib/search/components/search-date-range-tabbed/search-date-range-tabbed.component.mjs +201 -0
  250. package/esm2022/lib/search/components/search-datetime-range/index.mjs +18 -0
  251. package/esm2022/lib/search/components/search-datetime-range/search-datetime-range.component.mjs +223 -0
  252. package/esm2022/lib/search/components/search-facet-field/index.mjs +18 -0
  253. package/esm2022/lib/search/components/search-facet-field/search-facet-field.component.mjs +132 -0
  254. package/esm2022/lib/search/components/search-filter/index.mjs +19 -0
  255. package/esm2022/lib/search/components/search-filter/search-filter-card/search-filter-card.component.mjs +45 -0
  256. package/esm2022/lib/search/components/search-filter/search-filter.component.mjs +80 -0
  257. package/esm2022/lib/search/components/search-filter-autocomplete-chips/index.mjs +18 -0
  258. package/esm2022/lib/search/components/search-filter-autocomplete-chips/search-filter-autocomplete-chips.component.mjs +154 -0
  259. package/esm2022/lib/search/components/search-filter-chips/index.mjs +23 -0
  260. package/esm2022/lib/search/components/search-filter-chips/search-facet-chip/search-facet-chip.component.mjs +104 -0
  261. package/esm2022/lib/search/components/search-filter-chips/search-facet-chip-tabbed/search-facet-chip-tabbed.component.mjs +109 -0
  262. package/esm2022/lib/search/components/search-filter-chips/search-facet-chip-tabbed/search-facet-tabbed-content.component.mjs +129 -0
  263. package/esm2022/lib/search/components/search-filter-chips/search-filter-chips.component.mjs +63 -0
  264. package/esm2022/lib/search/components/search-filter-chips/search-filter-menu-card/search-filter-menu-card.component.mjs +43 -0
  265. package/esm2022/lib/search/components/search-filter-chips/search-widget-chip/search-widget-chip.component.mjs +109 -0
  266. package/esm2022/lib/search/components/search-filter-container/index.mjs +18 -0
  267. package/esm2022/lib/search/components/search-filter-container/search-filter-container.component.mjs +122 -0
  268. package/esm2022/lib/search/components/search-filter-tabbed/index.mjs +19 -0
  269. package/esm2022/lib/search/components/search-filter-tabbed/search-filter-tab.directive.mjs +36 -0
  270. package/esm2022/lib/search/components/search-filter-tabbed/search-filter-tabbed.component.mjs +63 -0
  271. package/esm2022/lib/search/components/search-form/index.mjs +18 -0
  272. package/esm2022/lib/search/components/search-form/search-form.component.mjs +52 -0
  273. package/esm2022/lib/search/components/search-input/index.mjs +18 -0
  274. package/esm2022/lib/search/components/search-input/search-input.component.mjs +108 -0
  275. package/esm2022/lib/search/components/search-logical-filter/index.mjs +18 -0
  276. package/esm2022/lib/search/components/search-logical-filter/search-logical-filter.component.mjs +163 -0
  277. package/esm2022/lib/search/components/search-number-range/index.mjs +18 -0
  278. package/esm2022/lib/search/components/search-number-range/search-number-range.component.mjs +154 -0
  279. package/esm2022/lib/search/components/search-panel/index.mjs +18 -0
  280. package/esm2022/lib/search/components/search-panel/search-panel.component.mjs +44 -0
  281. package/esm2022/lib/search/components/search-properties/file-size-condition.mjs +18 -0
  282. package/esm2022/lib/search/components/search-properties/file-size-operator.enum.mjs +23 -0
  283. package/esm2022/lib/search/components/search-properties/file-size-unit.enum.mjs +26 -0
  284. package/esm2022/lib/search/components/search-properties/index.mjs +22 -0
  285. package/esm2022/lib/search/components/search-properties/search-properties.component.mjs +244 -0
  286. package/esm2022/lib/search/components/search-properties/search-properties.mjs +18 -0
  287. package/esm2022/lib/search/components/search-radio/index.mjs +18 -0
  288. package/esm2022/lib/search/components/search-radio/search-radio.component.mjs +145 -0
  289. package/esm2022/lib/search/components/search-slider/index.mjs +18 -0
  290. package/esm2022/lib/search/components/search-slider/search-slider.component.mjs +119 -0
  291. package/esm2022/lib/search/components/search-sorting-picker/index.mjs +18 -0
  292. package/esm2022/lib/search/components/search-sorting-picker/search-sorting-picker.component.mjs +77 -0
  293. package/esm2022/lib/search/components/search-text/index.mjs +18 -0
  294. package/esm2022/lib/search/components/search-text/search-text.component.mjs +134 -0
  295. package/esm2022/lib/search/components/search-widget-container/index.mjs +18 -0
  296. package/esm2022/lib/search/components/search-widget-container/search-widget-container.component.mjs +113 -0
  297. package/esm2022/lib/search/components/search.component.mjs +152 -0
  298. package/esm2022/lib/search/forms/index.mjs +19 -0
  299. package/esm2022/lib/search/forms/live-error-state-matcher.mjs +23 -0
  300. package/esm2022/lib/search/forms/search-term-validator.mjs +26 -0
  301. package/esm2022/lib/search/index.mjs +18 -0
  302. package/esm2022/lib/search/mocks/index.mjs +18 -0
  303. package/esm2022/lib/search/mocks/search.service.mock.mjs +56 -0
  304. package/esm2022/lib/search/models/autocomplete-option.interface.mjs +22 -0
  305. package/esm2022/lib/search/models/facet-field-bucket.interface.mjs +18 -0
  306. package/esm2022/lib/search/models/facet-field.interface.mjs +29 -0
  307. package/esm2022/lib/search/models/facet-query.interface.mjs +18 -0
  308. package/esm2022/lib/search/models/facet-widget.interface.mjs +18 -0
  309. package/esm2022/lib/search/models/filter-query.interface.mjs +18 -0
  310. package/esm2022/lib/search/models/filter-search.interface.mjs +18 -0
  311. package/esm2022/lib/search/models/index.mjs +34 -0
  312. package/esm2022/lib/search/models/response-facet-query-list.model.mjs +31 -0
  313. package/esm2022/lib/search/models/search-category.interface.mjs +18 -0
  314. package/esm2022/lib/search/models/search-configuration.interface.mjs +18 -0
  315. package/esm2022/lib/search/models/search-filter-list.model.mjs +148 -0
  316. package/esm2022/lib/search/models/search-form.interface.mjs +18 -0
  317. package/esm2022/lib/search/models/search-range.interface.mjs +18 -0
  318. package/esm2022/lib/search/models/search-sorting-definition.interface.mjs +18 -0
  319. package/esm2022/lib/search/models/search-widget-settings.interface.mjs +18 -0
  320. package/esm2022/lib/search/models/search-widget.interface.mjs +18 -0
  321. package/esm2022/lib/search/models/tabbed-facet-field.interface.mjs +18 -0
  322. package/esm2022/lib/search/public-api.mjs +24 -0
  323. package/esm2022/lib/search/search-configuration.token.mjs +19 -0
  324. package/esm2022/lib/search/search.module.mjs +192 -0
  325. package/esm2022/lib/search/services/base-query-builder.service.mjs +509 -0
  326. package/esm2022/lib/search/services/index.mjs +24 -0
  327. package/esm2022/lib/search/services/search-configuration.service.mjs +50 -0
  328. package/esm2022/lib/search/services/search-facet-filters.service.mjs +374 -0
  329. package/esm2022/lib/search/services/search-filter.service.mjs +56 -0
  330. package/esm2022/lib/search/services/search-header-query-builder.service.mjs +136 -0
  331. package/esm2022/lib/search/services/search-query-builder.service.mjs +48 -0
  332. package/esm2022/lib/search/services/search.service.mjs +89 -0
  333. package/esm2022/lib/search-ai/index.mjs +18 -0
  334. package/esm2022/lib/search-ai/models/search-ai-input-state.mjs +18 -0
  335. package/esm2022/lib/search-ai/public-api.mjs +19 -0
  336. package/esm2022/lib/search-ai/services/search-ai.service.mjs +103 -0
  337. package/esm2022/lib/security/index.mjs +18 -0
  338. package/esm2022/lib/security/public-api.mjs +18 -0
  339. package/esm2022/lib/security/services/models/security-controls-group-response.interface.mjs +18 -0
  340. package/esm2022/lib/security/services/models/security-controls-mark-response.interface.mjs +18 -0
  341. package/esm2022/lib/security/services/security-controls-groups-marks-security.service.mjs +274 -0
  342. package/esm2022/lib/security-options-loader/security-options-loader.service.mjs +43 -0
  343. package/esm2022/lib/services/alfresco-api.interface.mjs +18 -0
  344. package/esm2022/lib/services/alfresco-api.service.mjs +120 -0
  345. package/esm2022/lib/services/index.mjs +18 -0
  346. package/esm2022/lib/services/public-api.mjs +18 -0
  347. package/esm2022/lib/tag/index.mjs +18 -0
  348. package/esm2022/lib/tag/public-api.mjs +24 -0
  349. package/esm2022/lib/tag/services/tag.service.mjs +171 -0
  350. package/esm2022/lib/tag/tag-actions/tag-actions.component.mjs +114 -0
  351. package/esm2022/lib/tag/tag-list/tag-list.component.mjs +98 -0
  352. package/esm2022/lib/tag/tag-node-list/tag-node-list.component.mjs +80 -0
  353. package/esm2022/lib/tag/tag.module.mjs +37 -0
  354. package/esm2022/lib/tag/tags-creator/tags-creator-mode.mjs +27 -0
  355. package/esm2022/lib/tag/tags-creator/tags-creator.component.mjs +370 -0
  356. package/esm2022/lib/testing/content.testing.module.mjs +56 -0
  357. package/esm2022/lib/tree/components/tree.component.mjs +312 -0
  358. package/esm2022/lib/tree/index.mjs +18 -0
  359. package/esm2022/lib/tree/models/tree-context-menu-result.interface.mjs +18 -0
  360. package/esm2022/lib/tree/models/tree-node.interface.mjs +22 -0
  361. package/esm2022/lib/tree/models/tree-response.interface.mjs +18 -0
  362. package/esm2022/lib/tree/public-api.mjs +23 -0
  363. package/esm2022/lib/tree/services/tree.service.mjs +134 -0
  364. package/esm2022/lib/tree/tree.module.mjs +33 -0
  365. package/esm2022/lib/tree-view/components/tree-view.component.mjs +75 -0
  366. package/esm2022/lib/tree-view/data/tree-view-datasource.mjs +99 -0
  367. package/esm2022/lib/tree-view/index.mjs +18 -0
  368. package/esm2022/lib/tree-view/models/tree-view.model.mjs +28 -0
  369. package/esm2022/lib/tree-view/public-api.mjs +22 -0
  370. package/esm2022/lib/tree-view/services/tree-view.service.mjs +38 -0
  371. package/esm2022/lib/tree-view/tree-view.module.mjs +33 -0
  372. package/esm2022/lib/upload/components/base-upload/upload-base.mjs +176 -0
  373. package/esm2022/lib/upload/components/file-uploading-dialog.component.mjs +190 -0
  374. package/esm2022/lib/upload/components/file-uploading-list-row.component.mjs +92 -0
  375. package/esm2022/lib/upload/components/file-uploading-list.component.mjs +124 -0
  376. package/esm2022/lib/upload/components/upload-button.component.mjs +133 -0
  377. package/esm2022/lib/upload/components/upload-drag-area.component.mjs +112 -0
  378. package/esm2022/lib/upload/components/upload-files.event.mjs +41 -0
  379. package/esm2022/lib/upload/components/upload-version-button.component.mjs +54 -0
  380. package/esm2022/lib/upload/directives/file-draggable.directive.mjs +154 -0
  381. package/esm2022/lib/upload/directives/toggle-icon.directive.mjs +75 -0
  382. package/esm2022/lib/upload/index.mjs +18 -0
  383. package/esm2022/lib/upload/pipes/file-upload-error.pipe.mjs +39 -0
  384. package/esm2022/lib/upload/public-api.mjs +29 -0
  385. package/esm2022/lib/upload/upload.module.mjs +72 -0
  386. package/esm2022/lib/version-compatibility/index.mjs +18 -0
  387. package/esm2022/lib/version-compatibility/public-api.mjs +20 -0
  388. package/esm2022/lib/version-compatibility/version-compatibility-factory.mjs +26 -0
  389. package/esm2022/lib/version-compatibility/version-compatibility.directive.mjs +53 -0
  390. package/esm2022/lib/version-compatibility/version-compatibility.module.mjs +33 -0
  391. package/esm2022/lib/version-compatibility/version-compatibility.service.mjs +76 -0
  392. package/esm2022/lib/version-manager/content-version.service.mjs +53 -0
  393. package/esm2022/lib/version-manager/index.mjs +18 -0
  394. package/esm2022/lib/version-manager/public-api.mjs +23 -0
  395. package/esm2022/lib/version-manager/version-comparison.component.mjs +42 -0
  396. package/esm2022/lib/version-manager/version-list.component.mjs +215 -0
  397. package/esm2022/lib/version-manager/version-manager.component.mjs +145 -0
  398. package/esm2022/lib/version-manager/version-manager.module.mjs +48 -0
  399. package/esm2022/lib/version-manager/version-upload.component.mjs +154 -0
  400. package/esm2022/lib/viewer/alfresco-viewer.module.mjs +33 -0
  401. package/esm2022/lib/viewer/components/alfresco-viewer.component.mjs +408 -0
  402. package/esm2022/lib/viewer/index.mjs +18 -0
  403. package/esm2022/lib/viewer/public-api.mjs +19 -0
  404. package/esm2022/public-api.mjs +56 -0
  405. package/fesm2022/adf-content-services.mjs +790 -831
  406. package/fesm2022/adf-content-services.mjs.map +1 -1
  407. package/lib/aspect-list/aspect-list.component.d.ts +0 -4
  408. package/lib/aspect-list/public-api.d.ts +0 -1
  409. package/lib/aspect-list/services/aspect-list.service.d.ts +4 -6
  410. package/lib/category/categories-management/categories-management.component.d.ts +0 -4
  411. package/lib/new-version-uploader/new-version-uploader.dialog.scss +1 -1
  412. package/lib/upload/components/base-upload/upload-base.d.ts +1 -1
  413. package/package.json +5 -3
  414. package/lib/aspect-list/interfaces/custom-aspect-paging.interface.d.ts +0 -21
@@ -0,0 +1,123 @@
1
+ /*!
2
+ * @license
3
+ * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved.
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License");
6
+ * you may not use this file except in compliance with the License.
7
+ * You may obtain a copy of the License at
8
+ *
9
+ * http://www.apache.org/licenses/LICENSE-2.0
10
+ *
11
+ * Unless required by applicable law or agreed to in writing, software
12
+ * distributed under the License is distributed on an "AS IS" BASIS,
13
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ * See the License for the specific language governing permissions and
15
+ * limitations under the License.
16
+ */
17
+ import { Component, Inject, ViewEncapsulation } from '@angular/core';
18
+ import { MAT_DIALOG_DATA, MatDialogModule, MatDialogRef } from '@angular/material/dialog';
19
+ import { MemberModel } from '../../models/member.model';
20
+ import { CommonModule } from '@angular/common';
21
+ import { MatButtonModule } from '@angular/material/button';
22
+ import { TranslatePipe } from '@ngx-translate/core';
23
+ import { DataColumnComponent, DataColumnListComponent, DataTableComponent, DateColumnHeaderComponent } from '@alfresco/adf-core';
24
+ import { MatIconModule } from '@angular/material/icon';
25
+ import { AddPermissionPanelComponent } from './add-permission-panel.component';
26
+ import { UserIconColumnComponent } from '../user-icon-column/user-icon-column.component';
27
+ import { UserNameColumnComponent } from '../user-name-column/user-name-column.component';
28
+ import { UserRoleColumnComponent } from '../user-role-column/user-role-column.component';
29
+ import * as i0 from "@angular/core";
30
+ import * as i1 from "@angular/material/dialog";
31
+ import * as i2 from "@angular/common";
32
+ import * as i3 from "@angular/material/button";
33
+ import * as i4 from "@angular/material/icon";
34
+ export class AddPermissionDialogComponent {
35
+ constructor(data, dialogRef) {
36
+ this.data = data;
37
+ this.dialogRef = dialogRef;
38
+ this.isSearchActive = true;
39
+ this.selectedMembers = [];
40
+ this.existingMembers = [];
41
+ this.currentSelection = [];
42
+ this.existingMembers = this.data.node.permissions.locallySet || [];
43
+ }
44
+ onSelect(items) {
45
+ this.currentSelection = items;
46
+ }
47
+ onAddClicked() {
48
+ const selection = this.selectedMembers.filter((member) => !member.readonly).map((member) => member.toPermissionElement());
49
+ this.data.confirm.next(selection);
50
+ this.data.confirm.complete();
51
+ }
52
+ onSearchAddClicked() {
53
+ const newMembers = this.currentSelection
54
+ .map((item) => MemberModel.parseFromSearchResult(item))
55
+ .filter(({ id }) => !this.selectedMembers.find((member) => member.id === id));
56
+ this.selectedMembers = this.selectedMembers.concat(newMembers);
57
+ this.selectedMembers.forEach((member) => {
58
+ const existingMember = this.existingMembers.find(({ authorityId }) => authorityId === member.id);
59
+ if (existingMember) {
60
+ member.role = existingMember.name;
61
+ member.accessStatus = existingMember.accessStatus;
62
+ member.readonly = true; // make role non editable
63
+ }
64
+ });
65
+ this.disableSearch();
66
+ }
67
+ canCloseDialog() {
68
+ if (this.selectedMembers.length) {
69
+ this.disableSearch();
70
+ }
71
+ else {
72
+ this.dialogRef.close();
73
+ }
74
+ }
75
+ enableSearch() {
76
+ this.isSearchActive = true;
77
+ }
78
+ disableSearch() {
79
+ this.isSearchActive = false;
80
+ }
81
+ onBulkUpdate(role) {
82
+ this.selectedMembers.filter((member) => !member.readonly).forEach((member) => (member.role = role));
83
+ }
84
+ onMemberDelete({ id }) {
85
+ const index = this.selectedMembers.findIndex((member) => member.id === id);
86
+ this.selectedMembers.splice(index, 1);
87
+ if (this.selectedMembers.length === 0) {
88
+ this.enableSearch();
89
+ this.currentSelection = [];
90
+ }
91
+ }
92
+ onMemberUpdate(role, member) {
93
+ const memberInstance = this.selectedMembers.find(({ id }) => id === member.id);
94
+ memberInstance.role = role;
95
+ }
96
+ isValid() {
97
+ return this.selectedMembers.filter(({ readonly }) => !readonly).length && this.selectedMembers.every(({ role }) => !!role);
98
+ }
99
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AddPermissionDialogComponent, deps: [{ token: MAT_DIALOG_DATA }, { token: i1.MatDialogRef }], target: i0.ɵɵFactoryTarget.Component }); }
100
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: AddPermissionDialogComponent, isStandalone: true, selector: "adf-add-permission-dialog", ngImport: i0, template: "<h2 mat-dialog-title class='adf-add-permission-dialog-title' id=\"add-permission-dialog-title\">\n {{ (data?.title ? data?.title : \"PERMISSION_MANAGER.ADD-PERMISSION.BASE-DIALOG-TITLE\") | translate }}\n</h2>\n\n<ng-container *ngIf=\"!isSearchActive\">\n <mat-dialog-content class=\"adf-add-permission-dialog-content\">\n <button mat-button (click)=\"enableSearch()\" class=\"adf-search-user-button\">\n {{ \"PERMISSION_MANAGER.ADD-PERMISSION.SEARCH\" | translate }}\n <span class=\"adf-toolbar--spacer\"></span>\n <mat-icon iconPositionEnd>search</mat-icon>\n </button>\n\n <div class=\"adf-new-permission-table\">\n <adf-datatable [rows]=\"selectedMembers\"\n class=\"adf-datatable-permission\"\n selectionMode=\"none\"\n [stickyHeader]=\"true\"\n data-automation-id=\"adf-user-role-selection-table\"\n *ngIf=\"selectedMembers.length\">\n <data-columns>\n <data-column class=\"adf-datatable-cell--image adf-authority-icon-column\" key=\"$thumbunail\" [sortable]=\"false\">\n <ng-template let-context>\n <adf-user-icon-column [context]=\"context\" />\n </ng-template>\n </data-column>\n\n <data-column class=\"adf-ellipsis-cell adf-expand-cell-5 adf-authorityId-column\"\n [title]=\"'PERMISSION_MANAGER.COLUMN.NAME' | translate:{count:selectedMembers.length}\"\n key=\"id\">\n <ng-template let-context>\n <adf-user-name-column [context]=\"context\" />\n </ng-template>\n </data-column>\n\n <data-column class=\"adf-ellipsis-cell adf-expand-cell-4\"\n title=\"PERMISSION_MANAGER.PERMISSION_DISPLAY.ROLE\"\n key=\"role\">\n <ng-template let-entry=\"$implicit\">\n <adf-user-role-column [readonly]=\"entry.row.obj.readonly\"\n [value]=\"entry.data.getValue(entry.row, entry.col)\"\n [roles]=\"data.roles\"\n id=\"adf-select-role-permission\"\n (roleChanged)=\"onMemberUpdate($event, entry.row.obj)\" />\n </ng-template>\n\n <adf-data-column-header>\n <ng-template>\n <adf-user-role-column class=\"adf-permission-role-column-header\"\n placeholder=\"PERMISSION_MANAGER.COLUMN.BULK-ROLE\"\n [roles]=\"data.roles\"\n id=\"adf-bulk-select-role-permission\"\n (roleChanged)=\"onBulkUpdate($event)\" />\n </ng-template>\n </adf-data-column-header>\n </data-column>\n\n <data-column class=\"adf-datatable-cell adf-delete-permission-column\" key=\"\" [sortable]=\"false\">\n <ng-template let-entry=\"$implicit\">\n <button mat-icon-button\n class=\"adf-add-member-action\"\n [style.display]=\"entry.row.obj.readonly ? 'none': 'block'\"\n (click)=\"onMemberDelete(entry.row.obj)\"\n data-automation-id=\"adf-delete-permission-button\">\n <mat-icon>highlight_off</mat-icon>\n </button>\n </ng-template>\n </data-column>\n </data-columns>\n </adf-datatable>\n </div>\n\n </mat-dialog-content>\n\n <mat-dialog-actions class=\"adf-add-permission-dialog-actions\">\n <button mat-button\n mat-dialog-close\n data-automation-id=\"add-permission-dialog-close-button\">\n {{ \"PERMISSION_MANAGER.ADD-PERMISSION.CLOSE-ACTION\" | translate }}\n </button>\n <button mat-button\n data-automation-id=\"add-permission-dialog-confirm-button\"\n [mat-dialog-close]=\"true\"\n class=\"adf-choose-action\"\n [disabled]=\"!isValid()\"\n (click)=\"onAddClicked()\">\n {{ \"PERMISSION_MANAGER.ADD-PERMISSION.ADD-ACTION\" | translate }}\n </button>\n </mat-dialog-actions>\n</ng-container>\n\n<ng-container *ngIf=\"isSearchActive\">\n <mat-dialog-content class=\"adf-add-permission-dialog-content\">\n <adf-add-permission-panel class=\"adf-search-container\" (select)=\"onSelect($event)\" />\n </mat-dialog-content>\n\n <mat-dialog-actions class=\"adf-add-permission-dialog-actions\">\n <button mat-button\n (click)=\"canCloseDialog()\"\n data-automation-id=\"add-permission-dialog-close-button\">\n {{ \"PERMISSION_MANAGER.ADD-PERMISSION.CLOSE-ACTION\" | translate }}\n </button>\n <button mat-button\n data-automation-id=\"add-permission-dialog-confirm-button\"\n [disabled]=\"!currentSelection.length\"\n (click)=\"onSearchAddClicked()\">\n {{ \"PERMISSION_MANAGER.ADD-PERMISSION.SELECT-ACTION\" | translate }}\n </button>\n </mat-dialog-actions>\n</ng-container>\n", styles: [".mdc-dialog .mat-mdc-dialog-surface:is(div){padding-bottom:0}.adf-add-permission-dialog .adf-add-permission-dialog-title{margin-bottom:28px;margin-left:20px;margin-right:20px;font-size:var(--theme-title-font-size);font-weight:600;font-style:normal;font-stretch:normal;line-height:1.6;letter-spacing:-.5px;color:var(--adf-theme-foreground-text-color-087)}.adf-add-permission-dialog .adf-add-permission-dialog-content{margin:0;overflow:hidden;flex-grow:1;height:80vh}.adf-add-permission-dialog .adf-add-permission-dialog-content .adf-search-user-button{width:100%;justify-content:unset}.adf-add-permission-dialog .adf-add-permission-dialog-content .adf-search-user-button .mdc-button__label{padding-right:0}.adf-add-permission-dialog .adf-add-permission-dialog-content .adf-search-user-button .mat-icon{font-size:24px;width:24px;height:24px;margin-left:0}.adf-add-permission-dialog .adf-add-permission-dialog-content .adf-add-member-action{padding:0 15px}.adf-add-permission-dialog .adf-add-permission-dialog-content .adf-new-permission-table{height:90%}.adf-add-permission-dialog .adf-add-permission-dialog-content .adf-search-container{height:100%}.adf-add-permission-dialog .adf-add-permission-dialog-actions{padding:0 24px;background-color:var(--theme-background-color);display:flex;justify-content:flex-end;color:var(--adf-theme-foreground-text-color)}.adf-add-permission-dialog .adf-add-permission-dialog-actions button{text-transform:uppercase;font-weight:400}.adf-add-permission-dialog .adf-add-permission-dialog-actions .adf-choose-action[disabled]{color:var(--adf-theme-foreground-secondary-text-color)}.adf-add-permission-dialog .adf-add-permission-dialog-actions .adf-choose-action:enabled{color:var(--theme-primary-color)}.adf-add-permission-dialog .adf-datatable-cell .adf-cell-value adf-user-role-column{position:unset}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: MatDialogModule }, { kind: "directive", type: i1.MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["aria-label", "type", "mat-dialog-close", "matDialogClose"], exportAs: ["matDialogClose"] }, { kind: "directive", type: i1.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { kind: "directive", type: i1.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }, { kind: "directive", type: i1.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i3.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i3.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "component", type: DataTableComponent, selector: "adf-datatable", inputs: ["data", "rows", "sorting", "columns", "selectionMode", "multiselect", "mainTableAction", "actions", "showMainDatatableActions", "showProvidedActions", "actionsPosition", "actionsVisibleOnHover", "fallbackThumbnail", "contextMenu", "rowStyle", "rowStyleClass", "showHeader", "stickyHeader", "loading", "noPermission", "rowMenuCacheEnabled", "resolverFn", "allowFiltering", "isResizingEnabled", "blurOnResize", "displayCheckboxesOnHover", "enableDragRows"], outputs: ["rowClick", "rowDblClick", "showRowContextMenu", "showRowActionsMenu", "executeRowAction", "columnOrderChanged", "columnsWidthChanged", "selectedItemsCountChanged", "dragDropped"] }, { kind: "component", type: DataColumnListComponent, selector: "data-columns" }, { kind: "component", type: DataColumnComponent, selector: "data-column", inputs: ["id", "key", "customData", "type", "format", "sortable", "draggable", "resizable", "isHidden", "title", "subtitle", "formatTooltip", "sr-title", "class", "copyContent", "editable", "focus", "sortingKey", "order", "currencyConfig", "decimalConfig", "dateConfig"] }, { kind: "component", type: DateColumnHeaderComponent, selector: "adf-data-column-header" }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: AddPermissionPanelComponent, selector: "adf-add-permission-panel", outputs: ["select"] }, { kind: "component", type: UserIconColumnComponent, selector: "adf-user-icon-column", inputs: ["context", "node", "selected"] }, { kind: "component", type: UserNameColumnComponent, selector: "adf-user-name-column", inputs: ["context", "node"] }, { kind: "component", type: UserRoleColumnComponent, selector: "adf-user-role-column", inputs: ["roles", "value", "readonly", "placeholder"], outputs: ["roleChanged"] }], encapsulation: i0.ViewEncapsulation.None }); }
101
+ }
102
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AddPermissionDialogComponent, decorators: [{
103
+ type: Component,
104
+ args: [{ selector: 'adf-add-permission-dialog', standalone: true, imports: [
105
+ CommonModule,
106
+ MatDialogModule,
107
+ MatButtonModule,
108
+ TranslatePipe,
109
+ DataTableComponent,
110
+ DataColumnListComponent,
111
+ DataColumnComponent,
112
+ DateColumnHeaderComponent,
113
+ MatIconModule,
114
+ AddPermissionPanelComponent,
115
+ UserIconColumnComponent,
116
+ UserNameColumnComponent,
117
+ UserRoleColumnComponent
118
+ ], encapsulation: ViewEncapsulation.None, template: "<h2 mat-dialog-title class='adf-add-permission-dialog-title' id=\"add-permission-dialog-title\">\n {{ (data?.title ? data?.title : \"PERMISSION_MANAGER.ADD-PERMISSION.BASE-DIALOG-TITLE\") | translate }}\n</h2>\n\n<ng-container *ngIf=\"!isSearchActive\">\n <mat-dialog-content class=\"adf-add-permission-dialog-content\">\n <button mat-button (click)=\"enableSearch()\" class=\"adf-search-user-button\">\n {{ \"PERMISSION_MANAGER.ADD-PERMISSION.SEARCH\" | translate }}\n <span class=\"adf-toolbar--spacer\"></span>\n <mat-icon iconPositionEnd>search</mat-icon>\n </button>\n\n <div class=\"adf-new-permission-table\">\n <adf-datatable [rows]=\"selectedMembers\"\n class=\"adf-datatable-permission\"\n selectionMode=\"none\"\n [stickyHeader]=\"true\"\n data-automation-id=\"adf-user-role-selection-table\"\n *ngIf=\"selectedMembers.length\">\n <data-columns>\n <data-column class=\"adf-datatable-cell--image adf-authority-icon-column\" key=\"$thumbunail\" [sortable]=\"false\">\n <ng-template let-context>\n <adf-user-icon-column [context]=\"context\" />\n </ng-template>\n </data-column>\n\n <data-column class=\"adf-ellipsis-cell adf-expand-cell-5 adf-authorityId-column\"\n [title]=\"'PERMISSION_MANAGER.COLUMN.NAME' | translate:{count:selectedMembers.length}\"\n key=\"id\">\n <ng-template let-context>\n <adf-user-name-column [context]=\"context\" />\n </ng-template>\n </data-column>\n\n <data-column class=\"adf-ellipsis-cell adf-expand-cell-4\"\n title=\"PERMISSION_MANAGER.PERMISSION_DISPLAY.ROLE\"\n key=\"role\">\n <ng-template let-entry=\"$implicit\">\n <adf-user-role-column [readonly]=\"entry.row.obj.readonly\"\n [value]=\"entry.data.getValue(entry.row, entry.col)\"\n [roles]=\"data.roles\"\n id=\"adf-select-role-permission\"\n (roleChanged)=\"onMemberUpdate($event, entry.row.obj)\" />\n </ng-template>\n\n <adf-data-column-header>\n <ng-template>\n <adf-user-role-column class=\"adf-permission-role-column-header\"\n placeholder=\"PERMISSION_MANAGER.COLUMN.BULK-ROLE\"\n [roles]=\"data.roles\"\n id=\"adf-bulk-select-role-permission\"\n (roleChanged)=\"onBulkUpdate($event)\" />\n </ng-template>\n </adf-data-column-header>\n </data-column>\n\n <data-column class=\"adf-datatable-cell adf-delete-permission-column\" key=\"\" [sortable]=\"false\">\n <ng-template let-entry=\"$implicit\">\n <button mat-icon-button\n class=\"adf-add-member-action\"\n [style.display]=\"entry.row.obj.readonly ? 'none': 'block'\"\n (click)=\"onMemberDelete(entry.row.obj)\"\n data-automation-id=\"adf-delete-permission-button\">\n <mat-icon>highlight_off</mat-icon>\n </button>\n </ng-template>\n </data-column>\n </data-columns>\n </adf-datatable>\n </div>\n\n </mat-dialog-content>\n\n <mat-dialog-actions class=\"adf-add-permission-dialog-actions\">\n <button mat-button\n mat-dialog-close\n data-automation-id=\"add-permission-dialog-close-button\">\n {{ \"PERMISSION_MANAGER.ADD-PERMISSION.CLOSE-ACTION\" | translate }}\n </button>\n <button mat-button\n data-automation-id=\"add-permission-dialog-confirm-button\"\n [mat-dialog-close]=\"true\"\n class=\"adf-choose-action\"\n [disabled]=\"!isValid()\"\n (click)=\"onAddClicked()\">\n {{ \"PERMISSION_MANAGER.ADD-PERMISSION.ADD-ACTION\" | translate }}\n </button>\n </mat-dialog-actions>\n</ng-container>\n\n<ng-container *ngIf=\"isSearchActive\">\n <mat-dialog-content class=\"adf-add-permission-dialog-content\">\n <adf-add-permission-panel class=\"adf-search-container\" (select)=\"onSelect($event)\" />\n </mat-dialog-content>\n\n <mat-dialog-actions class=\"adf-add-permission-dialog-actions\">\n <button mat-button\n (click)=\"canCloseDialog()\"\n data-automation-id=\"add-permission-dialog-close-button\">\n {{ \"PERMISSION_MANAGER.ADD-PERMISSION.CLOSE-ACTION\" | translate }}\n </button>\n <button mat-button\n data-automation-id=\"add-permission-dialog-confirm-button\"\n [disabled]=\"!currentSelection.length\"\n (click)=\"onSearchAddClicked()\">\n {{ \"PERMISSION_MANAGER.ADD-PERMISSION.SELECT-ACTION\" | translate }}\n </button>\n </mat-dialog-actions>\n</ng-container>\n", styles: [".mdc-dialog .mat-mdc-dialog-surface:is(div){padding-bottom:0}.adf-add-permission-dialog .adf-add-permission-dialog-title{margin-bottom:28px;margin-left:20px;margin-right:20px;font-size:var(--theme-title-font-size);font-weight:600;font-style:normal;font-stretch:normal;line-height:1.6;letter-spacing:-.5px;color:var(--adf-theme-foreground-text-color-087)}.adf-add-permission-dialog .adf-add-permission-dialog-content{margin:0;overflow:hidden;flex-grow:1;height:80vh}.adf-add-permission-dialog .adf-add-permission-dialog-content .adf-search-user-button{width:100%;justify-content:unset}.adf-add-permission-dialog .adf-add-permission-dialog-content .adf-search-user-button .mdc-button__label{padding-right:0}.adf-add-permission-dialog .adf-add-permission-dialog-content .adf-search-user-button .mat-icon{font-size:24px;width:24px;height:24px;margin-left:0}.adf-add-permission-dialog .adf-add-permission-dialog-content .adf-add-member-action{padding:0 15px}.adf-add-permission-dialog .adf-add-permission-dialog-content .adf-new-permission-table{height:90%}.adf-add-permission-dialog .adf-add-permission-dialog-content .adf-search-container{height:100%}.adf-add-permission-dialog .adf-add-permission-dialog-actions{padding:0 24px;background-color:var(--theme-background-color);display:flex;justify-content:flex-end;color:var(--adf-theme-foreground-text-color)}.adf-add-permission-dialog .adf-add-permission-dialog-actions button{text-transform:uppercase;font-weight:400}.adf-add-permission-dialog .adf-add-permission-dialog-actions .adf-choose-action[disabled]{color:var(--adf-theme-foreground-secondary-text-color)}.adf-add-permission-dialog .adf-add-permission-dialog-actions .adf-choose-action:enabled{color:var(--theme-primary-color)}.adf-add-permission-dialog .adf-datatable-cell .adf-cell-value adf-user-role-column{position:unset}\n"] }]
119
+ }], ctorParameters: () => [{ type: undefined, decorators: [{
120
+ type: Inject,
121
+ args: [MAT_DIALOG_DATA]
122
+ }] }, { type: i1.MatDialogRef }] });
123
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkLXBlcm1pc3Npb24tZGlhbG9nLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYi9jb250ZW50LXNlcnZpY2VzL3NyYy9saWIvcGVybWlzc2lvbi1tYW5hZ2VyL2NvbXBvbmVudHMvYWRkLXBlcm1pc3Npb24vYWRkLXBlcm1pc3Npb24tZGlhbG9nLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYi9jb250ZW50LXNlcnZpY2VzL3NyYy9saWIvcGVybWlzc2lvbi1tYW5hZ2VyL2NvbXBvbmVudHMvYWRkLXBlcm1pc3Npb24vYWRkLXBlcm1pc3Npb24tZGlhbG9nLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7R0FlRztBQUVILE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxlQUFlLEVBQUUsZUFBZSxFQUFFLFlBQVksRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRzFGLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNwRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsdUJBQXVCLEVBQUUsa0JBQWtCLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNqSSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDL0UsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1B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LE1BQU0sSUFBSSxJQUFJLENBQUMsZUFBZSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMvSCxDQUFDOytHQTFFUSw0QkFBNEIsa0JBT2pCLGVBQWU7bUdBUDFCLDRCQUE0QixxRkN0RHpDLGcwTEE2R0EsbTJERHpFUSxZQUFZLGtJQUNaLGVBQWUsK25CQUNmLGVBQWUsb1VBQ2YsYUFBYSxrREFDYixrQkFBa0IsMHNCQUNsQix1QkFBdUIseURBQ3ZCLG1CQUFtQix3VUFDbkIseUJBQXlCLGtFQUN6QixhQUFhLG9MQUNiLDJCQUEyQiwwRkFDM0IsdUJBQXVCLDBHQUN2Qix1QkFBdUIsOEZBQ3ZCLHVCQUF1Qjs7NEZBTWxCLDRCQUE0QjtrQkF0QnhDLFNBQVM7K0JBQ0ksMkJBQTJCLGNBQ3pCLElBQUksV0FDUDt3QkFDTCxZQUFZO3dCQUNaLGVBQWU7d0JBQ2YsZUFBZTt3QkFDZixhQUFhO3dCQUNiLGtCQUFrQjt3QkFDbEIsdUJBQXVCO3dCQUN2QixtQkFBbUI7d0JBQ25CLHlCQUF5Qjt3QkFDekIsYUFBYTt3QkFDYiwyQkFBMkI7d0JBQzNCLHVCQUF1Qjt3QkFDdkIsdUJBQXVCO3dCQUN2Qix1QkFBdUI7cUJBQzFCLGlCQUdjLGlCQUFpQixDQUFDLElBQUk7OzBCQVN4QixNQUFNOzJCQUFDLGVBQWUiLCJzb3VyY2VzQ29udGVudCI6WyIvKiFcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgwqkgMjAwNS0yMDI1IEh5bGFuZCBTb2Z0d2FyZSwgSW5jLiBhbmQgaXRzIGFmZmlsaWF0ZXMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmltcG9ydCB7IENvbXBvbmVudCwgSW5qZWN0LCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTUFUX0RJQUxPR19EQVRBLCBNYXREaWFsb2dNb2R1bGUsIE1hdERpYWxvZ1JlZiB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XG5pbXBvcnQgeyBOb2RlRW50cnksIFBlcm1pc3Npb25FbGVtZW50IH0gZnJvbSAnQGFsZnJlc2NvL2pzLWFwaSc7XG5pbXBvcnQgeyBBZGRQZXJtaXNzaW9uRGlhbG9nRGF0YSB9IGZyb20gJy4vYWRkLXBlcm1pc3Npb24tZGlhbG9nLWRhdGEuaW50ZXJmYWNlJztcbmltcG9ydCB7IE1lbWJlck1vZGVsIH0gZnJvbSAnLi4vLi4vbW9kZWxzL21lbWJlci5tb2RlbCc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTWF0QnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcbmltcG9ydCB7IFRyYW5zbGF0ZVBpcGUgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7IERhdGFDb2x1bW5Db21wb25lbnQsIERhdGFDb2x1bW5MaXN0Q29tcG9uZW50LCBEYXRhVGFibGVDb21wb25lbnQsIERhdGVDb2x1bW5IZWFkZXJDb21wb25lbnQgfSBmcm9tICdAYWxmcmVzY28vYWRmLWNvcmUnO1xuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xuaW1wb3J0IHsgQWRkUGVybWlzc2lvblBhbmVsQ29tcG9uZW50IH0gZnJvbSAnLi9hZGQtcGVybWlzc2lvbi1wYW5lbC5jb21wb25lbnQnO1xuaW1wb3J0IHsgVXNlckljb25Db2x1bW5Db21wb25lbnQgfSBmcm9tICcuLi91c2VyLWljb24tY29sdW1uL3VzZXItaWNvbi1jb2x1bW4uY29tcG9uZW50JztcbmltcG9ydCB7IFVzZXJOYW1lQ29sdW1uQ29tcG9uZW50IH0gZnJvbSAnLi4vdXNlci1uYW1lLWNvbHVtbi91c2VyLW5hbWUtY29sdW1uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBVc2VyUm9sZUNvbHVtbkNvbXBvbmVudCB9IGZyb20gJy4uL3VzZXItcm9sZS1jb2x1bW4vdXNlci1yb2xlLWNvbHVtbi5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2FkZi1hZGQtcGVybWlzc2lvbi1kaWFsb2cnLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW1xuICAgICAgICBDb21tb25Nb2R1bGUsXG4gICAgICAgIE1hdERpYWxvZ01vZHVsZSxcbiAgICAgICAgTWF0QnV0dG9uTW9kdWxlLFxuICAgICAgICBUcmFuc2xhdGVQaXBlLFxuICAgICAgICBEYXRhVGFibGVDb21wb25lbnQsXG4gICAgICAgIERhdGFDb2x1bW5MaXN0Q29tcG9uZW50LFxuICAgICAgICBEYXRhQ29sdW1uQ29tcG9uZW50LFxuICAgICAgICBEYXRlQ29sdW1uSGVhZGVyQ29tcG9uZW50LFxuICAgICAgICBNYXRJY29uTW9kdWxlLFxuICAgICAgICBBZGRQZXJtaXNzaW9uUGFuZWxDb21wb25lbnQsXG4gICAgICAgIFVzZXJJY29uQ29sdW1uQ29tcG9uZW50LFxuICAgICAgICBVc2VyTmFtZUNvbHVtbkNvbXBvbmVudCxcbiAgICAgICAgVXNlclJvbGVDb2x1bW5Db21wb25lbnRcbiAgICBdLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9hZGQtcGVybWlzc2lvbi1kaWFsb2cuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2FkZC1wZXJtaXNzaW9uLWRpYWxvZy5jb21wb25lbnQuc2NzcyddLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcbn0pXG5leHBvcnQgY2xhc3MgQWRkUGVybWlzc2lvbkRpYWxvZ0NvbXBvbmVudCB7XG4gICAgaXNTZWFyY2hBY3RpdmUgPSB0cnVlO1xuICAgIHNlbGVjdGVkTWVtYmVyczogTWVtYmVyTW9kZWxbXSA9IFtdO1xuXG4gICAgcHJpdmF0ZSBleGlzdGluZ01lbWJlcnM6IFBlcm1pc3Npb25FbGVtZW50W10gPSBbXTtcbiAgICBjdXJyZW50U2VsZWN0aW9uOiBOb2RlRW50cnlbXSA9IFtdO1xuXG4gICAgY29uc3RydWN0b3IoQEluamVjdChNQVRfRElBTE9HX0RBVEEpIHB1YmxpYyBkYXRhOiBBZGRQZXJtaXNzaW9uRGlhbG9nRGF0YSwgcHJpdmF0ZSBkaWFsb2dSZWY6IE1hdERpYWxvZ1JlZjxBZGRQZXJtaXNzaW9uRGlhbG9nQ29tcG9uZW50Pikge1xuICAgICAgICB0aGlzLmV4aXN0aW5nTWVtYmVycyA9IHRoaXMuZGF0YS5ub2RlLnBlcm1pc3Npb25zLmxvY2FsbHlTZXQgfHwgW107XG4gICAgfVxuXG4gICAgb25TZWxlY3QoaXRlbXM6IE5vZGVFbnRyeVtdKSB7XG4gICAgICAgIHRoaXMuY3VycmVudFNlbGVjdGlvbiA9IGl0ZW1zO1xuICAgIH1cblxuICAgIG9uQWRkQ2xpY2tlZCgpIHtcbiAgICAgICAgY29uc3Qgc2VsZWN0aW9uID0gdGhpcy5zZWxlY3RlZE1lbWJlcnMuZmlsdGVyKChtZW1iZXIpID0+ICFtZW1iZXIucmVhZG9ubHkpLm1hcCgobWVtYmVyKSA9PiBtZW1iZXIudG9QZXJtaXNzaW9uRWxlbWVudCgpKTtcbiAgICAgICAgdGhpcy5kYXRhLmNvbmZpcm0ubmV4dChzZWxlY3Rpb24pO1xuICAgICAgICB0aGlzLmRhdGEuY29uZmlybS5jb21wbGV0ZSgpO1xuICAgIH1cblxuICAgIG9uU2VhcmNoQWRkQ2xpY2tlZCgpIHtcbiAgICAgICAgY29uc3QgbmV3TWVtYmVycyA9IHRoaXMuY3VycmVudFNlbGVjdGlvblxuICAgICAgICAgICAgLm1hcCgoaXRlbSkgPT4gTWVtYmVyTW9kZWwucGFyc2VGcm9tU2VhcmNoUmVzdWx0KGl0ZW0pKVxuICAgICAgICAgICAgLmZpbHRlcigoeyBpZCB9KSA9PiAhdGhpcy5zZWxlY3RlZE1lbWJlcnMuZmluZCgobWVtYmVyKSA9PiBtZW1iZXIuaWQgPT09IGlkKSk7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRNZW1iZXJzID0gdGhpcy5zZWxlY3RlZE1lbWJlcnMuY29uY2F0KG5ld01lbWJlcnMpO1xuXG4gICAgICAgIHRoaXMuc2VsZWN0ZWRNZW1iZXJzLmZvckVhY2goKG1lbWJlcikgPT4ge1xuICAgICAgICAgICAgY29uc3QgZXhpc3RpbmdNZW1iZXIgPSB0aGlzLmV4aXN0aW5nTWVtYmVycy5maW5kKCh7IGF1dGhvcml0eUlkIH0pID0+IGF1dGhvcml0eUlkID09PSBtZW1iZXIuaWQpO1xuICAgICAgICAgICAgaWYgKGV4aXN0aW5nTWVtYmVyKSB7XG4gICAgICAgICAgICAgICAgbWVtYmVyLnJvbGUgPSBleGlzdGluZ01lbWJlci5uYW1lO1xuICAgICAgICAgICAgICAgIG1lbWJlci5hY2Nlc3NTdGF0dXMgPSBleGlzdGluZ01lbWJlci5hY2Nlc3NTdGF0dXM7XG4gICAgICAgICAgICAgICAgbWVtYmVyLnJlYWRvbmx5ID0gdHJ1ZTsgLy8gbWFrZSByb2xlIG5vbiBlZGl0YWJsZVxuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5kaXNhYmxlU2VhcmNoKCk7XG4gICAgfVxuXG4gICAgY2FuQ2xvc2VEaWFsb2coKSB7XG4gICAgICAgIGlmICh0aGlzLnNlbGVjdGVkTWVtYmVycy5sZW5ndGgpIHtcbiAgICAgICAgICAgIHRoaXMuZGlzYWJsZVNlYXJjaCgpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5kaWFsb2dSZWYuY2xvc2UoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGVuYWJsZVNlYXJjaCgpIHtcbiAgICAgICAgdGhpcy5pc1NlYXJjaEFjdGl2ZSA9IHRydWU7XG4gICAgfVxuXG4gICAgZGlzYWJsZVNlYXJjaCgpIHtcbiAgICAgICAgdGhpcy5pc1NlYXJjaEFjdGl2ZSA9IGZhbHNlO1xuICAgIH1cblxuICAgIG9uQnVsa1VwZGF0ZShyb2xlOiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5zZWxlY3RlZE1lbWJlcnMuZmlsdGVyKChtZW1iZXIpID0+ICFtZW1iZXIucmVhZG9ubHkpLmZvckVhY2goKG1lbWJlcikgPT4gKG1lbWJlci5yb2xlID0gcm9sZSkpO1xuICAgIH1cblxuICAgIG9uTWVtYmVyRGVsZXRlKHsgaWQgfTogTWVtYmVyTW9kZWwpIHtcbiAgICAgICAgY29uc3QgaW5kZXggPSB0aGlzLnNlbGVjdGVkTWVtYmVycy5maW5kSW5kZXgoKG1lbWJlcikgPT4gbWVtYmVyLmlkID09PSBpZCk7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRNZW1iZXJzLnNwbGljZShpbmRleCwgMSk7XG4gICAgICAgIGlmICh0aGlzLnNlbGVjdGVkTWVtYmVycy5sZW5ndGggPT09IDApIHtcbiAgICAgICAgICAgIHRoaXMuZW5hYmxlU2VhcmNoKCk7XG4gICAgICAgICAgICB0aGlzLmN1cnJlbnRTZWxlY3Rpb24gPSBbXTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9uTWVtYmVyVXBkYXRlKHJvbGU6IHN0cmluZywgbWVtYmVyOiBNZW1iZXJNb2RlbCkge1xuICAgICAgICBjb25zdCBtZW1iZXJJbnN0YW5jZSA9IHRoaXMuc2VsZWN0ZWRNZW1iZXJzLmZpbmQoKHsgaWQgfSkgPT4gaWQgPT09IG1lbWJlci5pZCk7XG4gICAgICAgIG1lbWJlckluc3RhbmNlLnJvbGUgPSByb2xlO1xuICAgIH1cblxuICAgIGlzVmFsaWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLnNlbGVjdGVkTWVtYmVycy5maWx0ZXIoKHsgcmVhZG9ubHkgfSkgPT4gIXJlYWRvbmx5KS5sZW5ndGggJiYgdGhpcy5zZWxlY3RlZE1lbWJlcnMuZXZlcnkoKHsgcm9sZSB9KSA9PiAhIXJvbGUpO1xuICAgIH1cbn1cbiIsIjxoMiBtYXQtZGlhbG9nLXRpdGxlIGNsYXNzPSdhZGYtYWRkLXBlcm1pc3Npb24tZGlhbG9nLXRpdGxlJyBpZD1cImFkZC1wZXJtaXNzaW9uLWRpYWxvZy10aXRsZVwiPlxuICAgIHt7IChkYXRhPy50aXRsZSA/IGRhdGE/LnRpdGxlIDogXCJQRVJNSVNTSU9OX01BTkFHRVIuQURELVBFUk1JU1NJT04uQkFTRS1ESUFMT0ctVElUTEVcIikgfCB0cmFuc2xhdGUgfX1cbjwvaDI+XG5cbjxuZy1jb250YWluZXIgKm5nSWY9XCIhaXNTZWFyY2hBY3RpdmVcIj5cbiAgICA8bWF0LWRpYWxvZy1jb250ZW50IGNsYXNzPVwiYWRmLWFkZC1wZXJtaXNzaW9uLWRpYWxvZy1jb250ZW50XCI+XG4gICAgICAgIDxidXR0b24gbWF0LWJ1dHRvbiAoY2xpY2spPVwiZW5hYmxlU2VhcmNoKClcIiBjbGFzcz1cImFkZi1zZWFyY2gtdXNlci1idXR0b25cIj5cbiAgICAgICAgICAgIHt7IFwiUEVSTUlTU0lPTl9NQU5BR0VSLkFERC1QRVJNSVNTSU9OLlNFQVJDSFwiIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cImFkZi10b29sYmFyLS1zcGFjZXJcIj48L3NwYW4+XG4gICAgICAgICAgICA8bWF0LWljb24gaWNvblBvc2l0aW9uRW5kPnNlYXJjaDwvbWF0LWljb24+XG4gICAgICAgIDwvYnV0dG9uPlxuXG4gICAgICAgIDxkaXYgY2xhc3M9XCJhZGYtbmV3LXBlcm1pc3Npb24tdGFibGVcIj5cbiAgICAgICAgICAgIDxhZGYtZGF0YXRhYmxlIFtyb3dzXT1cInNlbGVjdGVkTWVtYmVyc1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImFkZi1kYXRhdGFibGUtcGVybWlzc2lvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxlY3Rpb25Nb2RlPVwibm9uZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICBbc3RpY2t5SGVhZGVyXT1cInRydWVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1hdXRvbWF0aW9uLWlkPVwiYWRmLXVzZXItcm9sZS1zZWxlY3Rpb24tdGFibGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJzZWxlY3RlZE1lbWJlcnMubGVuZ3RoXCI+XG4gICAgICAgICAgICAgICAgPGRhdGEtY29sdW1ucz5cbiAgICAgICAgICAgICAgICAgICAgPGRhdGEtY29sdW1uIGNsYXNzPVwiYWRmLWRhdGF0YWJsZS1jZWxsLS1pbWFnZSBhZGYtYXV0aG9yaXR5LWljb24tY29sdW1uXCIga2V5PVwiJHRodW1idW5haWxcIiBbc29ydGFibGVdPVwiZmFsc2VcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBsZXQtY29udGV4dD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YWRmLXVzZXItaWNvbi1jb2x1bW4gW2NvbnRleHRdPVwiY29udGV4dFwiIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgICAgICAgICA8L2RhdGEtY29sdW1uPlxuXG4gICAgICAgICAgICAgICAgICAgIDxkYXRhLWNvbHVtbiBjbGFzcz1cImFkZi1lbGxpcHNpcy1jZWxsIGFkZi1leHBhbmQtY2VsbC01IGFkZi1hdXRob3JpdHlJZC1jb2x1bW5cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3RpdGxlXT1cIidQRVJNSVNTSU9OX01BTkFHRVIuQ09MVU1OLk5BTUUnIHwgdHJhbnNsYXRlOntjb3VudDpzZWxlY3RlZE1lbWJlcnMubGVuZ3RofVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBrZXk9XCJpZFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlIGxldC1jb250ZXh0PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhZGYtdXNlci1uYW1lLWNvbHVtbiBbY29udGV4dF09XCJjb250ZXh0XCIgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICAgICAgICAgIDwvZGF0YS1jb2x1bW4+XG5cbiAgICAgICAgICAgICAgICAgICAgPGRhdGEtY29sdW1uIGNsYXNzPVwiYWRmLWVsbGlwc2lzLWNlbGwgYWRmLWV4cGFuZC1jZWxsLTRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGl0bGU9XCJQRVJNSVNTSU9OX01BTkFHRVIuUEVSTUlTU0lPTl9ESVNQTEFZLlJPTEVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAga2V5PVwicm9sZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlIGxldC1lbnRyeT1cIiRpbXBsaWNpdFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhZGYtdXNlci1yb2xlLWNvbHVtbiBbcmVhZG9ubHldPVwiZW50cnkucm93Lm9iai5yZWFkb25seVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt2YWx1ZV09XCJlbnRyeS5kYXRhLmdldFZhbHVlKGVudHJ5LnJvdywgZW50cnkuY29sKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtyb2xlc109XCJkYXRhLnJvbGVzXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWQ9XCJhZGYtc2VsZWN0LXJvbGUtcGVybWlzc2lvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChyb2xlQ2hhbmdlZCk9XCJvbk1lbWJlclVwZGF0ZSgkZXZlbnQsIGVudHJ5LnJvdy5vYmopXCIgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxhZGYtZGF0YS1jb2x1bW4taGVhZGVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFkZi11c2VyLXJvbGUtY29sdW1uICBjbGFzcz1cImFkZi1wZXJtaXNzaW9uLXJvbGUtY29sdW1uLWhlYWRlclwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJQRVJNSVNTSU9OX01BTkFHRVIuQ09MVU1OLkJVTEstUk9MRVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3JvbGVzXT1cImRhdGEucm9sZXNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlkPVwiYWRmLWJ1bGstc2VsZWN0LXJvbGUtcGVybWlzc2lvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHJvbGVDaGFuZ2VkKT1cIm9uQnVsa1VwZGF0ZSgkZXZlbnQpXCIgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9hZGYtZGF0YS1jb2x1bW4taGVhZGVyPlxuICAgICAgICAgICAgICAgICAgICA8L2RhdGEtY29sdW1uPlxuXG4gICAgICAgICAgICAgICAgICAgIDxkYXRhLWNvbHVtbiBjbGFzcz1cImFkZi1kYXRhdGFibGUtY2VsbCBhZGYtZGVsZXRlLXBlcm1pc3Npb24tY29sdW1uXCIga2V5PVwiXCIgW3NvcnRhYmxlXT1cImZhbHNlXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgbGV0LWVudHJ5PVwiJGltcGxpY2l0XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYWRmLWFkZC1tZW1iZXItYWN0aW9uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzdHlsZS5kaXNwbGF5XT1cImVudHJ5LnJvdy5vYmoucmVhZG9ubHkgPyAnbm9uZSc6ICdibG9jaydcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uTWVtYmVyRGVsZXRlKGVudHJ5LnJvdy5vYmopXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtYXV0b21hdGlvbi1pZD1cImFkZi1kZWxldGUtcGVybWlzc2lvbi1idXR0b25cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uPmhpZ2hsaWdodF9vZmY8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgICAgICAgICAgPC9kYXRhLWNvbHVtbj5cbiAgICAgICAgICAgICAgICA8L2RhdGEtY29sdW1ucz5cbiAgICAgICAgICAgIDwvYWRmLWRhdGF0YWJsZT5cbiAgICAgICAgPC9kaXY+XG5cbiAgICA8L21hdC1kaWFsb2ctY29udGVudD5cblxuICAgIDxtYXQtZGlhbG9nLWFjdGlvbnMgY2xhc3M9XCJhZGYtYWRkLXBlcm1pc3Npb24tZGlhbG9nLWFjdGlvbnNcIj5cbiAgICAgICAgPGJ1dHRvbiBtYXQtYnV0dG9uXG4gICAgICAgICAgICAgICAgbWF0LWRpYWxvZy1jbG9zZVxuICAgICAgICAgICAgICAgIGRhdGEtYXV0b21hdGlvbi1pZD1cImFkZC1wZXJtaXNzaW9uLWRpYWxvZy1jbG9zZS1idXR0b25cIj5cbiAgICAgICAgICAgIHt7IFwiUEVSTUlTU0lPTl9NQU5BR0VSLkFERC1QRVJNSVNTSU9OLkNMT1NFLUFDVElPTlwiIHwgdHJhbnNsYXRlIH19XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8YnV0dG9uIG1hdC1idXR0b25cbiAgICAgICAgICAgICAgICBkYXRhLWF1dG9tYXRpb24taWQ9XCJhZGQtcGVybWlzc2lvbi1kaWFsb2ctY29uZmlybS1idXR0b25cIlxuICAgICAgICAgICAgICAgIFttYXQtZGlhbG9nLWNsb3NlXT1cInRydWVcIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwiYWRmLWNob29zZS1hY3Rpb25cIlxuICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCIhaXNWYWxpZCgpXCJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwib25BZGRDbGlja2VkKClcIj5cbiAgICAgICAgICAgIHt7IFwiUEVSTUlTU0lPTl9NQU5BR0VSLkFERC1QRVJNSVNTSU9OLkFERC1BQ1RJT05cIiB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICA8L2J1dHRvbj5cbiAgICA8L21hdC1kaWFsb2ctYWN0aW9ucz5cbjwvbmctY29udGFpbmVyPlxuXG48bmctY29udGFpbmVyICpuZ0lmPVwiaXNTZWFyY2hBY3RpdmVcIj5cbiAgICA8bWF0LWRpYWxvZy1jb250ZW50IGNsYXNzPVwiYWRmLWFkZC1wZXJtaXNzaW9uLWRpYWxvZy1jb250ZW50XCI+XG4gICAgICAgIDxhZGYtYWRkLXBlcm1pc3Npb24tcGFuZWwgY2xhc3M9XCJhZGYtc2VhcmNoLWNvbnRhaW5lclwiIChzZWxlY3QpPVwib25TZWxlY3QoJGV2ZW50KVwiIC8+XG4gICAgPC9tYXQtZGlhbG9nLWNvbnRlbnQ+XG5cbiAgICA8bWF0LWRpYWxvZy1hY3Rpb25zIGNsYXNzPVwiYWRmLWFkZC1wZXJtaXNzaW9uLWRpYWxvZy1hY3Rpb25zXCI+XG4gICAgICAgICAgICA8YnV0dG9uIG1hdC1idXR0b25cbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImNhbkNsb3NlRGlhbG9nKClcIlxuICAgICAgICAgICAgICAgICAgICBkYXRhLWF1dG9tYXRpb24taWQ9XCJhZGQtcGVybWlzc2lvbi1kaWFsb2ctY2xvc2UtYnV0dG9uXCI+XG4gICAgICAgICAgICAgICAge3sgXCJQRVJNSVNTSU9OX01BTkFHRVIuQURELVBFUk1JU1NJT04uQ0xPU0UtQUNUSU9OXCIgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgPGJ1dHRvbiBtYXQtYnV0dG9uXG4gICAgICAgICAgICAgICAgICAgIGRhdGEtYXV0b21hdGlvbi1pZD1cImFkZC1wZXJtaXNzaW9uLWRpYWxvZy1jb25maXJtLWJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCIhY3VycmVudFNlbGVjdGlvbi5sZW5ndGhcIlxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwib25TZWFyY2hBZGRDbGlja2VkKClcIj5cbiAgICAgICAgICAgICAgICB7eyBcIlBFUk1JU1NJT05fTUFOQUdFUi5BREQtUEVSTUlTU0lPTi5TRUxFQ1QtQUNUSU9OXCIgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgIDwvbWF0LWRpYWxvZy1hY3Rpb25zPlxuPC9uZy1jb250YWluZXI+XG4iXX0=
@@ -0,0 +1,102 @@
1
+ /*!
2
+ * @license
3
+ * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved.
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License");
6
+ * you may not use this file except in compliance with the License.
7
+ * You may obtain a copy of the License at
8
+ *
9
+ * http://www.apache.org/licenses/LICENSE-2.0
10
+ *
11
+ * Unless required by applicable law or agreed to in writing, software
12
+ * distributed under the License is distributed on an "AS IS" BASIS,
13
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ * See the License for the specific language governing permissions and
15
+ * limitations under the License.
16
+ */
17
+ import { SearchConfigurationService } from '../../../search/services/search-configuration.service';
18
+ import { SearchService } from '../../../search/services/search.service';
19
+ import { Node, NodeEntry } from '@alfresco/js-api';
20
+ import { Component, EventEmitter, Output, ViewChild, ViewEncapsulation } from '@angular/core';
21
+ import { ReactiveFormsModule, UntypedFormControl } from '@angular/forms';
22
+ import { debounceTime } from 'rxjs/operators';
23
+ import { SearchPermissionConfigurationService } from './search-config-permission.service';
24
+ import { SearchComponent } from '../../../search/components/search.component';
25
+ import { MatListModule, MatSelectionList } from '@angular/material/list';
26
+ import { CommonModule } from '@angular/common';
27
+ import { MatFormFieldModule } from '@angular/material/form-field';
28
+ import { MatInputModule } from '@angular/material/input';
29
+ import { TranslatePipe } from '@ngx-translate/core';
30
+ import { MatIconModule } from '@angular/material/icon';
31
+ import { UserIconColumnComponent } from '../user-icon-column/user-icon-column.component';
32
+ import * as i0 from "@angular/core";
33
+ import * as i1 from "@angular/common";
34
+ import * as i2 from "@angular/material/form-field";
35
+ import * as i3 from "@angular/material/input";
36
+ import * as i4 from "@angular/forms";
37
+ import * as i5 from "@angular/material/icon";
38
+ import * as i6 from "@angular/material/list";
39
+ export class AddPermissionPanelComponent {
40
+ constructor() {
41
+ /** Emitted when a permission list item is selected. */
42
+ this.select = new EventEmitter();
43
+ this.searchInput = new UntypedFormControl();
44
+ this.searchedWord = '';
45
+ this.debounceSearch = 200;
46
+ this.selectedItems = [];
47
+ // eslint-disable-next-line @typescript-eslint/naming-convention
48
+ this.EVERYONE = new NodeEntry({
49
+ entry: new Node({ nodeType: 'cm:authorityContainer', properties: { 'cm:authorityName': 'GROUP_EVERYONE' } })
50
+ });
51
+ this.searchInput.valueChanges.pipe(debounceTime(this.debounceSearch)).subscribe((searchValue) => {
52
+ const selectionOptions = this.matSelectionList.selectedOptions.selected.map((option) => option.value);
53
+ this.selectedItems.push(...selectionOptions);
54
+ this.matSelectionList.deselectAll();
55
+ this.searchedWord = searchValue;
56
+ if (!searchValue) {
57
+ this.search.resetResults();
58
+ }
59
+ });
60
+ }
61
+ onSelectionChange() {
62
+ const currentSelection = this.matSelectionList.selectedOptions.selected.map((option) => option.value);
63
+ const uniqueSelection = [...currentSelection, ...this.selectedItems].reduce((uniquesElements, currentElement) => {
64
+ const isExist = uniquesElements.find((uniqueElement) => uniqueElement.entry.id === currentElement.entry.id);
65
+ if (!isExist) {
66
+ uniquesElements.push(currentElement);
67
+ }
68
+ return uniquesElements;
69
+ }, []);
70
+ this.select.emit(uniqueSelection);
71
+ }
72
+ clearSearch() {
73
+ this.searchedWord = '';
74
+ this.selectedItems.splice(0, this.selectedItems.length);
75
+ this.search.resetResults();
76
+ }
77
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AddPermissionPanelComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
78
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: AddPermissionPanelComponent, isStandalone: true, selector: "adf-add-permission-panel", outputs: { select: "select" }, providers: [{ provide: SearchConfigurationService, useClass: SearchPermissionConfigurationService }, SearchService], viewQueries: [{ propertyName: "search", first: true, predicate: ["search"], descendants: true, static: true }, { propertyName: "matSelectionList", first: true, predicate: MatSelectionList, descendants: true }], ngImport: i0, template: "<mat-form-field appearance=\"fill\" class=\"adf-permission-search-input\">\n <input\n matInput\n id=\"searchInput\"\n class=\"adf-permission-search-input-control\"\n [formControl]=\"searchInput\"\n type=\"text\"\n title=\"{{ 'PERMISSION_MANAGER.ADD-PERMISSION.SEARCH' | translate }}\"\n placeholder=\"{{ 'PERMISSION_MANAGER.ADD-PERMISSION.SEARCH' | translate }}\"\n [attr.aria-label]=\"'PERMISSION_MANAGER.ADD-PERMISSION.SEARCH' | translate\"\n [value]=\"searchedWord\"\n />\n\n <mat-icon\n *ngIf=\"searchedWord?.length > 0\"\n class=\"adf-permission-search-icon\"\n data-automation-id=\"adf-permission-clear-input\"\n id=\"adf-permission-clear-input\"\n matSuffix\n (click)=\"clearSearch()\"\n >clear\n </mat-icon>\n\n <mat-icon *ngIf=\"searchedWord?.length === 0\" class=\"adf-permission-search-icon\" data-automation-id=\"adf-permission-search-icon\" matSuffix\n >search\n </mat-icon>\n</mat-form-field>\n\n<div *ngIf=\"searchedWord?.length === 0\" class=\"adf-permission-start-message\" id=\"adf-add-permission-type-search\">\n <span>{{ 'PERMISSION_MANAGER.ADD-PERMISSION.TYPE-MESSAGE' | translate }}</span>\n</div>\n\n<adf-search\n #search\n [searchTerm]=\"searchedWord\"\n id=\"adf-add-permission-authority-results\"\n class=\"adf-permission-result-list\"\n [class.adf-permission-result-list-search]=\"searchedWord.length === 0\"\n>\n <ng-template let-data>\n <mat-selection-list\n class=\"adf-permission-result-list-elements\"\n title=\"{{ 'PERMISSION_MANAGER.ADD-PERMISSION.USER-GROUP-LIST' | translate }}\"\n tabindex=\"0\"\n [attr.aria-label]=\"'PERMISSION_MANAGER.ADD-PERMISSION.USER-GROUP-LIST' | translate\"\n (selectionChange)=\"onSelectionChange()\"\n >\n <mat-list-option id=\"adf-add-permission-group-everyone\" #eveyone [disableRipple]=\"true\" [value]=\"EVERYONE\">\n <div class=\"adf-list-option-item\">\n <adf-user-icon-column [node]=\"EVERYONE\" id=\"add-group-icon\" [selected]=\"eveyone.selected\" />\n <p class=\"adf-result-name\">\n {{ 'PERMISSION_MANAGER.ADD-PERMISSION.EVERYONE' | translate }}\n </p>\n </div>\n </mat-list-option>\n\n <mat-list-option\n *ngFor=\"let item of data?.list?.entries; let idx = index\"\n [disableRipple]=\"true\"\n [value]=\"item\"\n id=\"result_option_{{ idx }}\"\n #option\n >\n <div class=\"adf-list-option-item\">\n <adf-user-icon-column [node]=\"item\" [selected]=\"option.selected\" />\n <p class=\"adf-result-name\">\n <ng-container *ngIf=\"item.entry?.properties['cm:authorityDisplayName']; else authorityName\">\n {{ item.entry.properties['cm:authorityDisplayName'] }}\n </ng-container>\n <ng-template #authorityName>\n <ng-container *ngIf=\"item.entry?.properties['cm:authorityName']; else owner\">\n {{ item.entry.properties['cm:authorityName'] }}\n </ng-container>\n </ng-template>\n <ng-template #owner>\n {{ item.entry?.properties['cm:firstName'] ? item.entry?.properties['cm:firstName'] : '' }}\n {{ item.entry?.properties['cm:lastName'] ? item.entry?.properties['cm:lastName'] : '' }}\n </ng-template>\n </p>\n </div>\n </mat-list-option>\n </mat-selection-list>\n </ng-template>\n</adf-search>\n", styles: [".adf-permission-result-list{display:flex;height:calc(100% - 60px);overflow:auto;border:2px solid var(--adf-theme-foreground-text-color-007)}.adf-permission-result-list .mdc-list-item__end{display:none}.adf-permission-result-list-elements{width:100%}.adf-permission-result-list-search{display:none}.adf-list-option-item{display:flex;flex-direction:row;align-items:center}.adf-list-option-item .adf-result-name{padding-left:16px}.adf-permission-start-message{display:flex;align-items:center;justify-content:space-around;height:calc(100% - 60px);overflow:auto;border:2px solid var(--adf-theme-foreground-text-color-007)}.adf-permission-no-result{display:flex;align-items:center;justify-content:space-around;width:100%}.adf-permission-search-input{width:100%;padding-bottom:0;padding-top:12px}.adf-permission-search-input .mat-mdc-text-field-wrapper .mat-mdc-form-field-flex{align-items:center}.adf-permission-search-input .mat-mdc-text-field-wrapper .mat-mdc-form-field-flex .mat-mdc-form-field-infix{padding-top:0;padding-bottom:0}.adf-permission-search-input .mat-mdc-form-field-subscript-wrapper{height:16px}.adf-permission-search-input .adf-permission-search-input-control:focus::placeholder{color:var(--theme-primary-color)}.adf-permission-search-input .adf-permission-search-icon:is(mat-icon){padding:0 0 12px;width:1em;height:1em;font-size:20px;cursor:pointer}.adf-permission-search-input .adf-permission-search-icon:is(mat-icon):hover{color:var(--adf-theme-foreground-base-color)}.adf-permission-action[disabled]{opacity:.6}.adf-permission-action:enabled{color:var(--theme-primary-color)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "component", type: i2.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i2.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i3.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i5.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatListModule }, { kind: "component", type: i6.MatSelectionList, selector: "mat-selection-list", inputs: ["color", "compareWith", "multiple", "hideSingleSelectionIndicator", "disabled"], outputs: ["selectionChange"], exportAs: ["matSelectionList"] }, { kind: "component", type: i6.MatListOption, selector: "mat-list-option", inputs: ["togglePosition", "checkboxPosition", "color", "value", "selected"], outputs: ["selectedChange"], exportAs: ["matListOption"] }, { kind: "component", type: UserIconColumnComponent, selector: "adf-user-icon-column", inputs: ["context", "node", "selected"] }, { kind: "component", type: SearchComponent, selector: "adf-search", inputs: ["displayWith", "maxResults", "skipResults", "searchTerm", "class"], outputs: ["resultLoaded", "error"], exportAs: ["searchAutocomplete"] }], encapsulation: i0.ViewEncapsulation.None }); }
79
+ }
80
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AddPermissionPanelComponent, decorators: [{
81
+ type: Component,
82
+ args: [{ selector: 'adf-add-permission-panel', standalone: true, imports: [
83
+ CommonModule,
84
+ MatFormFieldModule,
85
+ MatInputModule,
86
+ TranslatePipe,
87
+ ReactiveFormsModule,
88
+ MatIconModule,
89
+ MatListModule,
90
+ UserIconColumnComponent,
91
+ SearchComponent
92
+ ], encapsulation: ViewEncapsulation.None, providers: [{ provide: SearchConfigurationService, useClass: SearchPermissionConfigurationService }, SearchService], template: "<mat-form-field appearance=\"fill\" class=\"adf-permission-search-input\">\n <input\n matInput\n id=\"searchInput\"\n class=\"adf-permission-search-input-control\"\n [formControl]=\"searchInput\"\n type=\"text\"\n title=\"{{ 'PERMISSION_MANAGER.ADD-PERMISSION.SEARCH' | translate }}\"\n placeholder=\"{{ 'PERMISSION_MANAGER.ADD-PERMISSION.SEARCH' | translate }}\"\n [attr.aria-label]=\"'PERMISSION_MANAGER.ADD-PERMISSION.SEARCH' | translate\"\n [value]=\"searchedWord\"\n />\n\n <mat-icon\n *ngIf=\"searchedWord?.length > 0\"\n class=\"adf-permission-search-icon\"\n data-automation-id=\"adf-permission-clear-input\"\n id=\"adf-permission-clear-input\"\n matSuffix\n (click)=\"clearSearch()\"\n >clear\n </mat-icon>\n\n <mat-icon *ngIf=\"searchedWord?.length === 0\" class=\"adf-permission-search-icon\" data-automation-id=\"adf-permission-search-icon\" matSuffix\n >search\n </mat-icon>\n</mat-form-field>\n\n<div *ngIf=\"searchedWord?.length === 0\" class=\"adf-permission-start-message\" id=\"adf-add-permission-type-search\">\n <span>{{ 'PERMISSION_MANAGER.ADD-PERMISSION.TYPE-MESSAGE' | translate }}</span>\n</div>\n\n<adf-search\n #search\n [searchTerm]=\"searchedWord\"\n id=\"adf-add-permission-authority-results\"\n class=\"adf-permission-result-list\"\n [class.adf-permission-result-list-search]=\"searchedWord.length === 0\"\n>\n <ng-template let-data>\n <mat-selection-list\n class=\"adf-permission-result-list-elements\"\n title=\"{{ 'PERMISSION_MANAGER.ADD-PERMISSION.USER-GROUP-LIST' | translate }}\"\n tabindex=\"0\"\n [attr.aria-label]=\"'PERMISSION_MANAGER.ADD-PERMISSION.USER-GROUP-LIST' | translate\"\n (selectionChange)=\"onSelectionChange()\"\n >\n <mat-list-option id=\"adf-add-permission-group-everyone\" #eveyone [disableRipple]=\"true\" [value]=\"EVERYONE\">\n <div class=\"adf-list-option-item\">\n <adf-user-icon-column [node]=\"EVERYONE\" id=\"add-group-icon\" [selected]=\"eveyone.selected\" />\n <p class=\"adf-result-name\">\n {{ 'PERMISSION_MANAGER.ADD-PERMISSION.EVERYONE' | translate }}\n </p>\n </div>\n </mat-list-option>\n\n <mat-list-option\n *ngFor=\"let item of data?.list?.entries; let idx = index\"\n [disableRipple]=\"true\"\n [value]=\"item\"\n id=\"result_option_{{ idx }}\"\n #option\n >\n <div class=\"adf-list-option-item\">\n <adf-user-icon-column [node]=\"item\" [selected]=\"option.selected\" />\n <p class=\"adf-result-name\">\n <ng-container *ngIf=\"item.entry?.properties['cm:authorityDisplayName']; else authorityName\">\n {{ item.entry.properties['cm:authorityDisplayName'] }}\n </ng-container>\n <ng-template #authorityName>\n <ng-container *ngIf=\"item.entry?.properties['cm:authorityName']; else owner\">\n {{ item.entry.properties['cm:authorityName'] }}\n </ng-container>\n </ng-template>\n <ng-template #owner>\n {{ item.entry?.properties['cm:firstName'] ? item.entry?.properties['cm:firstName'] : '' }}\n {{ item.entry?.properties['cm:lastName'] ? item.entry?.properties['cm:lastName'] : '' }}\n </ng-template>\n </p>\n </div>\n </mat-list-option>\n </mat-selection-list>\n </ng-template>\n</adf-search>\n", styles: [".adf-permission-result-list{display:flex;height:calc(100% - 60px);overflow:auto;border:2px solid var(--adf-theme-foreground-text-color-007)}.adf-permission-result-list .mdc-list-item__end{display:none}.adf-permission-result-list-elements{width:100%}.adf-permission-result-list-search{display:none}.adf-list-option-item{display:flex;flex-direction:row;align-items:center}.adf-list-option-item .adf-result-name{padding-left:16px}.adf-permission-start-message{display:flex;align-items:center;justify-content:space-around;height:calc(100% - 60px);overflow:auto;border:2px solid var(--adf-theme-foreground-text-color-007)}.adf-permission-no-result{display:flex;align-items:center;justify-content:space-around;width:100%}.adf-permission-search-input{width:100%;padding-bottom:0;padding-top:12px}.adf-permission-search-input .mat-mdc-text-field-wrapper .mat-mdc-form-field-flex{align-items:center}.adf-permission-search-input .mat-mdc-text-field-wrapper .mat-mdc-form-field-flex .mat-mdc-form-field-infix{padding-top:0;padding-bottom:0}.adf-permission-search-input .mat-mdc-form-field-subscript-wrapper{height:16px}.adf-permission-search-input .adf-permission-search-input-control:focus::placeholder{color:var(--theme-primary-color)}.adf-permission-search-input .adf-permission-search-icon:is(mat-icon){padding:0 0 12px;width:1em;height:1em;font-size:20px;cursor:pointer}.adf-permission-search-input .adf-permission-search-icon:is(mat-icon):hover{color:var(--adf-theme-foreground-base-color)}.adf-permission-action[disabled]{opacity:.6}.adf-permission-action:enabled{color:var(--theme-primary-color)}\n"] }]
93
+ }], ctorParameters: () => [], propDecorators: { search: [{
94
+ type: ViewChild,
95
+ args: ['search', { static: true }]
96
+ }], matSelectionList: [{
97
+ type: ViewChild,
98
+ args: [MatSelectionList, { static: false }]
99
+ }], select: [{
100
+ type: Output
101
+ }] } });
102
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkLXBlcm1pc3Npb24tcGFuZWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGliL2NvbnRlbnQtc2VydmljZXMvc3JjL2xpYi9wZXJtaXNzaW9uLW1hbmFnZXIvY29tcG9uZW50cy9hZGQtcGVybWlzc2lvbi9hZGQtcGVybWlzc2lvbi1wYW5lbC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWIvY29udGVudC1zZXJ2aWNlcy9zcmMvbGliL3Blcm1pc3Npb24tbWFuYWdlci9jb21wb25lbnRzL2FkZC1wZXJtaXNzaW9uL2FkZC1wZXJtaXNzaW9uLXBhbmVsLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7R0FlRztBQUVILE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLHVEQUF1RCxDQUFDO0FBQ25HLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUN4RSxPQUFPLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDOUYsT0FBTyxFQUFFLG1CQUFtQixFQUFFLGtCQUFrQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDekUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzlDLE9BQU8sRUFBRSxvQ0FBb0MsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQzFGLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQztBQUM5RSxPQUFPLEVBQUUsYUFBYSxFQUFFLGdCQUFnQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDekUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlC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RCxJQUFJLENBQUMsTUFBTSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQy9CLENBQUM7K0dBbERRLDJCQUEyQjttR0FBM0IsMkJBQTJCLHNHQUZ6QixDQUFDLEVBQUUsT0FBTyxFQUFFLDBCQUEwQixFQUFFLFFBQVEsRUFBRSxvQ0FBb0MsRUFBRSxFQUFFLGFBQWEsQ0FBQyw2S0FNeEcsZ0JBQWdCLGdEQ3hEL0IsazJIQW9GQSxvbkREL0NRLFlBQVksK1BBQ1osa0JBQWtCLDBXQUNsQixjQUFjLHNXQUNkLGFBQWEsaURBQ2IsbUJBQW1CLHlrQkFDbkIsYUFBYSxtTEFDYixhQUFhLDZkQUNiLHVCQUF1QiwwR0FDdkIsZUFBZTs7NEZBT1YsMkJBQTJCO2tCQW5CdkMsU0FBUzsrQkFDSSwwQkFBMEIsY0FDeEIsSUFBSSxXQUNQO3dCQUNMLFlBQVk7d0JBQ1osa0JBQWtCO3dCQUNsQixjQUFjO3dCQUNkLGFBQWE7d0JBQ2IsbUJBQW1CO3dCQUNuQixhQUFhO3dCQUNiLGFBQWE7d0JBQ2IsdUJBQXVCO3dCQUN2QixlQUFlO3FCQUNsQixpQkFHYyxpQkFBaUIsQ0FBQyxJQUFJLGFBQzFCLENBQUMsRUFBRSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsUUFBUSxFQUFFLG9DQUFvQyxFQUFFLEVBQUUsYUFBYSxDQUFDO3dEQUluSCxNQUFNO3NCQURMLFNBQVM7dUJBQUMsUUFBUSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFJckMsZ0JBQWdCO3NCQURmLFNBQVM7dUJBQUMsZ0JBQWdCLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFO2dCQUs5QyxNQUFNO3NCQURMLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyIvKiFcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgwqkgMjAwNS0yMDI1IEh5bGFuZCBTb2Z0d2FyZSwgSW5jLiBhbmQgaXRzIGFmZmlsaWF0ZXMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmltcG9ydCB7IFNlYXJjaENvbmZpZ3VyYXRpb25TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VhcmNoL3NlcnZpY2VzL3NlYXJjaC1jb25maWd1cmF0aW9uLnNlcnZpY2UnO1xuaW1wb3J0IHsgU2VhcmNoU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlYXJjaC9zZXJ2aWNlcy9zZWFyY2guc2VydmljZSc7XG5pbXBvcnQgeyBOb2RlLCBOb2RlRW50cnkgfSBmcm9tICdAYWxmcmVzY28vanMtYXBpJztcbmltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBPdXRwdXQsIFZpZXdDaGlsZCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJlYWN0aXZlRm9ybXNNb2R1bGUsIFVudHlwZWRGb3JtQ29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IGRlYm91bmNlVGltZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IFNlYXJjaFBlcm1pc3Npb25Db25maWd1cmF0aW9uU2VydmljZSB9IGZyb20gJy4vc2VhcmNoLWNvbmZpZy1wZXJtaXNzaW9uLnNlcnZpY2UnO1xuaW1wb3J0IHsgU2VhcmNoQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vc2VhcmNoL2NvbXBvbmVudHMvc2VhcmNoLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBNYXRMaXN0TW9kdWxlLCBNYXRTZWxlY3Rpb25MaXN0IH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvbGlzdCc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTWF0Rm9ybUZpZWxkTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZm9ybS1maWVsZCc7XG5pbXBvcnQgeyBNYXRJbnB1dE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2lucHV0JztcbmltcG9ydCB7IFRyYW5zbGF0ZVBpcGUgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcbmltcG9ydCB7IFVzZXJJY29uQ29sdW1uQ29tcG9uZW50IH0gZnJvbSAnLi4vdXNlci1pY29uLWNvbHVtbi91c2VyLWljb24tY29sdW1uLmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnYWRmLWFkZC1wZXJtaXNzaW9uLXBhbmVsJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtcbiAgICAgICAgQ29tbW9uTW9kdWxlLFxuICAgICAgICBNYXRGb3JtRmllbGRNb2R1bGUsXG4gICAgICAgIE1hdElucHV0TW9kdWxlLFxuICAgICAgICBUcmFuc2xhdGVQaXBlLFxuICAgICAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgICAgICBNYXRJY29uTW9kdWxlLFxuICAgICAgICBNYXRMaXN0TW9kdWxlLFxuICAgICAgICBVc2VySWNvbkNvbHVtbkNvbXBvbmVudCxcbiAgICAgICAgU2VhcmNoQ29tcG9uZW50XG4gICAgXSxcbiAgICB0ZW1wbGF0ZVVybDogJy4vYWRkLXBlcm1pc3Npb24tcGFuZWwuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2FkZC1wZXJtaXNzaW9uLXBhbmVsLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgICBwcm92aWRlcnM6IFt7IHByb3ZpZGU6IFNlYXJjaENvbmZpZ3VyYXRpb25TZXJ2aWNlLCB1c2VDbGFzczogU2VhcmNoUGVybWlzc2lvbkNvbmZpZ3VyYXRpb25TZXJ2aWNlIH0sIFNlYXJjaFNlcnZpY2VdXG59KVxuZXhwb3J0IGNsYXNzIEFkZFBlcm1pc3Npb25QYW5lbENvbXBvbmVudCB7XG4gICAgQFZpZXdDaGlsZCgnc2VhcmNoJywgeyBzdGF0aWM6IHRydWUgfSlcbiAgICBzZWFyY2g6IFNlYXJjaENvbXBvbmVudDtcblxuICAgIEBWaWV3Q2hpbGQoTWF0U2VsZWN0aW9uTGlzdCwgeyBzdGF0aWM6IGZhbHNlIH0pXG4gICAgbWF0U2VsZWN0aW9uTGlzdDogTWF0U2VsZWN0aW9uTGlzdDtcblxuICAgIC8qKiBFbWl0dGVkIHdoZW4gYSBwZXJtaXNzaW9uIGxpc3QgaXRlbSBpcyBzZWxlY3RlZC4gKi9cbiAgICBAT3V0cHV0KClcbiAgICBzZWxlY3Q6IEV2ZW50RW1pdHRlcjxOb2RlRW50cnlbXT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgICBzZWFyY2hJbnB1dDogVW50eXBlZEZvcm1Db250cm9sID0gbmV3IFVudHlwZWRGb3JtQ29udHJvbCgpO1xuICAgIHNlYXJjaGVkV29yZCA9ICcnO1xuICAgIGRlYm91bmNlU2VhcmNoOiBudW1iZXIgPSAyMDA7XG5cbiAgICBzZWxlY3RlZEl0ZW1zOiBOb2RlRW50cnlbXSA9IFtdO1xuXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvblxuICAgIEVWRVJZT05FOiBOb2RlRW50cnkgPSBuZXcgTm9kZUVudHJ5KHtcbiAgICAgICAgZW50cnk6IG5ldyBOb2RlKHsgbm9kZVR5cGU6ICdjbTphdXRob3JpdHlDb250YWluZXInLCBwcm9wZXJ0aWVzOiB7ICdjbTphdXRob3JpdHlOYW1lJzogJ0dST1VQX0VWRVJZT05FJyB9IH0pXG4gICAgfSk7XG5cbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgdGhpcy5zZWFyY2hJbnB1dC52YWx1ZUNoYW5nZXMucGlwZShkZWJvdW5jZVRpbWUodGhpcy5kZWJvdW5jZVNlYXJjaCkpLnN1YnNjcmliZSgoc2VhcmNoVmFsdWUpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHNlbGVjdGlvbk9wdGlvbnMgPSB0aGlzLm1hdFNlbGVjdGlvbkxpc3Quc2VsZWN0ZWRPcHRpb25zLnNlbGVjdGVkLm1hcCgob3B0aW9uKSA9PiBvcHRpb24udmFsdWUpO1xuICAgICAgICAgICAgdGhpcy5zZWxlY3RlZEl0ZW1zLnB1c2goLi4uc2VsZWN0aW9uT3B0aW9ucyk7XG4gICAgICAgICAgICB0aGlzLm1hdFNlbGVjdGlvbkxpc3QuZGVzZWxlY3RBbGwoKTtcbiAgICAgICAgICAgIHRoaXMuc2VhcmNoZWRXb3JkID0gc2VhcmNoVmFsdWU7XG4gICAgICAgICAgICBpZiAoIXNlYXJjaFZhbHVlKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5zZWFyY2gucmVzZXRSZXN1bHRzKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIG9uU2VsZWN0aW9uQ2hhbmdlKCkge1xuICAgICAgICBjb25zdCBjdXJyZW50U2VsZWN0aW9uID0gdGhpcy5tYXRTZWxlY3Rpb25MaXN0LnNlbGVjdGVkT3B0aW9ucy5zZWxlY3RlZC5tYXAoKG9wdGlvbikgPT4gb3B0aW9uLnZhbHVlKTtcbiAgICAgICAgY29uc3QgdW5pcXVlU2VsZWN0aW9uID0gWy4uLmN1cnJlbnRTZWxlY3Rpb24sIC4uLnRoaXMuc2VsZWN0ZWRJdGVtc10ucmVkdWNlKCh1bmlxdWVzRWxlbWVudHMsIGN1cnJlbnRFbGVtZW50KSA9PiB7XG4gICAgICAgICAgICBjb25zdCBpc0V4aXN0ID0gdW5pcXVlc0VsZW1lbnRzLmZpbmQoKHVuaXF1ZUVsZW1lbnQpID0+IHVuaXF1ZUVsZW1lbnQuZW50cnkuaWQgPT09IGN1cnJlbnRFbGVtZW50LmVudHJ5LmlkKTtcbiAgICAgICAgICAgIGlmICghaXNFeGlzdCkge1xuICAgICAgICAgICAgICAgIHVuaXF1ZXNFbGVtZW50cy5wdXNoKGN1cnJlbnRFbGVtZW50KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiB1bmlxdWVzRWxlbWVudHM7XG4gICAgICAgIH0sIFtdKTtcbiAgICAgICAgdGhpcy5zZWxlY3QuZW1pdCh1bmlxdWVTZWxlY3Rpb24pO1xuICAgIH1cblxuICAgIGNsZWFyU2VhcmNoKCkge1xuICAgICAgICB0aGlzLnNlYXJjaGVkV29yZCA9ICcnO1xuICAgICAgICB0aGlzLnNlbGVjdGVkSXRlbXMuc3BsaWNlKDAsIHRoaXMuc2VsZWN0ZWRJdGVtcy5sZW5ndGgpO1xuICAgICAgICB0aGlzLnNlYXJjaC5yZXNldFJlc3VsdHMoKTtcbiAgICB9XG59XG4iLCI8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT1cImZpbGxcIiBjbGFzcz1cImFkZi1wZXJtaXNzaW9uLXNlYXJjaC1pbnB1dFwiPlxuICAgIDxpbnB1dFxuICAgICAgICBtYXRJbnB1dFxuICAgICAgICBpZD1cInNlYXJjaElucHV0XCJcbiAgICAgICAgY2xhc3M9XCJhZGYtcGVybWlzc2lvbi1zZWFyY2gtaW5wdXQtY29udHJvbFwiXG4gICAgICAgIFtmb3JtQ29udHJvbF09XCJzZWFyY2hJbnB1dFwiXG4gICAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgdGl0bGU9XCJ7eyAnUEVSTUlTU0lPTl9NQU5BR0VSLkFERC1QRVJNSVNTSU9OLlNFQVJDSCcgfCB0cmFuc2xhdGUgfX1cIlxuICAgICAgICBwbGFjZWhvbGRlcj1cInt7ICdQRVJNSVNTSU9OX01BTkFHRVIuQURELVBFUk1JU1NJT04uU0VBUkNIJyB8IHRyYW5zbGF0ZSB9fVwiXG4gICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiJ1BFUk1JU1NJT05fTUFOQUdFUi5BREQtUEVSTUlTU0lPTi5TRUFSQ0gnIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgW3ZhbHVlXT1cInNlYXJjaGVkV29yZFwiXG4gICAgLz5cblxuICAgIDxtYXQtaWNvblxuICAgICAgICAqbmdJZj1cInNlYXJjaGVkV29yZD8ubGVuZ3RoID4gMFwiXG4gICAgICAgIGNsYXNzPVwiYWRmLXBlcm1pc3Npb24tc2VhcmNoLWljb25cIlxuICAgICAgICBkYXRhLWF1dG9tYXRpb24taWQ9XCJhZGYtcGVybWlzc2lvbi1jbGVhci1pbnB1dFwiXG4gICAgICAgIGlkPVwiYWRmLXBlcm1pc3Npb24tY2xlYXItaW5wdXRcIlxuICAgICAgICBtYXRTdWZmaXhcbiAgICAgICAgKGNsaWNrKT1cImNsZWFyU2VhcmNoKClcIlxuICAgICAgICA+Y2xlYXJcbiAgICA8L21hdC1pY29uPlxuXG4gICAgPG1hdC1pY29uICpuZ0lmPVwic2VhcmNoZWRXb3JkPy5sZW5ndGggPT09IDBcIiBjbGFzcz1cImFkZi1wZXJtaXNzaW9uLXNlYXJjaC1pY29uXCIgZGF0YS1hdXRvbWF0aW9uLWlkPVwiYWRmLXBlcm1pc3Npb24tc2VhcmNoLWljb25cIiBtYXRTdWZmaXhcbiAgICAgICAgPnNlYXJjaFxuICAgIDwvbWF0LWljb24+XG48L21hdC1mb3JtLWZpZWxkPlxuXG48ZGl2ICpuZ0lmPVwic2VhcmNoZWRXb3JkPy5sZW5ndGggPT09IDBcIiBjbGFzcz1cImFkZi1wZXJtaXNzaW9uLXN0YXJ0LW1lc3NhZ2VcIiBpZD1cImFkZi1hZGQtcGVybWlzc2lvbi10eXBlLXNlYXJjaFwiPlxuICAgIDxzcGFuPnt7ICdQRVJNSVNTSU9OX01BTkFHRVIuQURELVBFUk1JU1NJT04uVFlQRS1NRVNTQUdFJyB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj5cbjwvZGl2PlxuXG48YWRmLXNlYXJjaFxuICAgICNzZWFyY2hcbiAgICBbc2VhcmNoVGVybV09XCJzZWFyY2hlZFdvcmRcIlxuICAgIGlkPVwiYWRmLWFkZC1wZXJtaXNzaW9uLWF1dGhvcml0eS1yZXN1bHRzXCJcbiAgICBjbGFzcz1cImFkZi1wZXJtaXNzaW9uLXJlc3VsdC1saXN0XCJcbiAgICBbY2xhc3MuYWRmLXBlcm1pc3Npb24tcmVzdWx0LWxpc3Qtc2VhcmNoXT1cInNlYXJjaGVkV29yZC5sZW5ndGggPT09IDBcIlxuPlxuICAgIDxuZy10ZW1wbGF0ZSBsZXQtZGF0YT5cbiAgICAgICAgPG1hdC1zZWxlY3Rpb24tbGlzdFxuICAgICAgICAgICAgY2xhc3M9XCJhZGYtcGVybWlzc2lvbi1yZXN1bHQtbGlzdC1lbGVtZW50c1wiXG4gICAgICAgICAgICB0aXRsZT1cInt7ICdQRVJNSVNTSU9OX01BTkFHRVIuQURELVBFUk1JU1NJT04uVVNFUi1HUk9VUC1MSVNUJyB8IHRyYW5zbGF0ZSB9fVwiXG4gICAgICAgICAgICB0YWJpbmRleD1cIjBcIlxuICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCInUEVSTUlTU0lPTl9NQU5BR0VSLkFERC1QRVJNSVNTSU9OLlVTRVItR1JPVVAtTElTVCcgfCB0cmFuc2xhdGVcIlxuICAgICAgICAgICAgKHNlbGVjdGlvbkNoYW5nZSk9XCJvblNlbGVjdGlvbkNoYW5nZSgpXCJcbiAgICAgICAgPlxuICAgICAgICAgICAgPG1hdC1saXN0LW9wdGlvbiBpZD1cImFkZi1hZGQtcGVybWlzc2lvbi1ncm91cC1ldmVyeW9uZVwiICNldmV5b25lIFtkaXNhYmxlUmlwcGxlXT1cInRydWVcIiBbdmFsdWVdPVwiRVZFUllPTkVcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYWRmLWxpc3Qtb3B0aW9uLWl0ZW1cIj5cbiAgICAgICAgICAgICAgICAgICAgPGFkZi11c2VyLWljb24tY29sdW1uIFtub2RlXT1cIkVWRVJZT05FXCIgaWQ9XCJhZGQtZ3JvdXAtaWNvblwiIFtzZWxlY3RlZF09XCJldmV5b25lLnNlbGVjdGVkXCIgLz5cbiAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9XCJhZGYtcmVzdWx0LW5hbWVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIHt7ICdQRVJNSVNTSU9OX01BTkFHRVIuQURELVBFUk1JU1NJT04uRVZFUllPTkUnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvbWF0LWxpc3Qtb3B0aW9uPlxuXG4gICAgICAgICAgICA8bWF0LWxpc3Qtb3B0aW9uXG4gICAgICAgICAgICAgICAgKm5nRm9yPVwibGV0IGl0ZW0gb2YgZGF0YT8ubGlzdD8uZW50cmllczsgbGV0IGlkeCA9IGluZGV4XCJcbiAgICAgICAgICAgICAgICBbZGlzYWJsZVJpcHBsZV09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICBbdmFsdWVdPVwiaXRlbVwiXG4gICAgICAgICAgICAgICAgaWQ9XCJyZXN1bHRfb3B0aW9uX3t7IGlkeCB9fVwiXG4gICAgICAgICAgICAgICAgI29wdGlvblxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJhZGYtbGlzdC1vcHRpb24taXRlbVwiPlxuICAgICAgICAgICAgICAgICAgICA8YWRmLXVzZXItaWNvbi1jb2x1bW4gW25vZGVdPVwiaXRlbVwiIFtzZWxlY3RlZF09XCJvcHRpb24uc2VsZWN0ZWRcIiAvPlxuICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz1cImFkZi1yZXN1bHQtbmFtZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIml0ZW0uZW50cnk/LnByb3BlcnRpZXNbJ2NtOmF1dGhvcml0eURpc3BsYXlOYW1lJ107IGVsc2UgYXV0aG9yaXR5TmFtZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IGl0ZW0uZW50cnkucHJvcGVydGllc1snY206YXV0aG9yaXR5RGlzcGxheU5hbWUnXSB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgI2F1dGhvcml0eU5hbWU+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIml0ZW0uZW50cnk/LnByb3BlcnRpZXNbJ2NtOmF1dGhvcml0eU5hbWUnXTsgZWxzZSBvd25lclwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyBpdGVtLmVudHJ5LnByb3BlcnRpZXNbJ2NtOmF1dGhvcml0eU5hbWUnXSB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjb3duZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgaXRlbS5lbnRyeT8ucHJvcGVydGllc1snY206Zmlyc3ROYW1lJ10gPyBpdGVtLmVudHJ5Py5wcm9wZXJ0aWVzWydjbTpmaXJzdE5hbWUnXSA6ICcnIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgaXRlbS5lbnRyeT8ucHJvcGVydGllc1snY206bGFzdE5hbWUnXSA/IGl0ZW0uZW50cnk/LnByb3BlcnRpZXNbJ2NtOmxhc3ROYW1lJ10gOiAnJyB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9tYXQtbGlzdC1vcHRpb24+XG4gICAgICAgIDwvbWF0LXNlbGVjdGlvbi1saXN0PlxuICAgIDwvbmctdGVtcGxhdGU+XG48L2FkZi1zZWFyY2g+XG4iXX0=
@@ -0,0 +1,69 @@
1
+ import { Component, EventEmitter, Input, Output, ViewEncapsulation } from '@angular/core';
2
+ import { NodePermissionService } from '../../services/node-permission.service';
3
+ import { ContentService } from '../../../common/services/content.service';
4
+ import { AllowableOperationsEnum } from '../../../common/models/allowable-operations.enum';
5
+ import { CommonModule } from '@angular/common';
6
+ import { AddPermissionPanelComponent } from './add-permission-panel.component';
7
+ import { MatButtonModule } from '@angular/material/button';
8
+ import { TranslatePipe } from '@ngx-translate/core';
9
+ import * as i0 from "@angular/core";
10
+ import * as i1 from "../../services/node-permission.service";
11
+ import * as i2 from "../../../common/services/content.service";
12
+ import * as i3 from "@angular/material/button";
13
+ /*
14
+ * @deprecated in 4.4.0, use adf-add-permission-panel instead.
15
+ */
16
+ export class AddPermissionComponent {
17
+ constructor(nodePermissionService, contentService) {
18
+ this.nodePermissionService = nodePermissionService;
19
+ this.contentService = contentService;
20
+ /** Emitted when the node is updated successfully. */
21
+ this.success = new EventEmitter();
22
+ /** Emitted when an error occurs during the update. */
23
+ this.error = new EventEmitter();
24
+ this.selectedItems = [];
25
+ }
26
+ ngOnInit() {
27
+ this.nodePermissionService.getNodeWithRoles(this.nodeId).subscribe(({ node, roles }) => {
28
+ this.currentNode = node;
29
+ this.currentNodeRoles = roles;
30
+ });
31
+ }
32
+ onSelect(selection) {
33
+ this.selectedItems = selection;
34
+ }
35
+ isAddEnabled() {
36
+ return (this.contentService.hasAllowableOperations(this.currentNode, AllowableOperationsEnum.UPDATEPERMISSIONS) && this.selectedItems.length !== 0);
37
+ }
38
+ applySelection() {
39
+ if (this.contentService.hasAllowableOperations(this.currentNode, AllowableOperationsEnum.UPDATEPERMISSIONS)) {
40
+ const permissions = this.transformNodeToPermissionElement(this.selectedItems, this.currentNodeRoles[0].role);
41
+ this.nodePermissionService.updateNodePermissions(this.nodeId, permissions).subscribe((node) => {
42
+ this.success.emit(node);
43
+ }, (error) => {
44
+ this.error.emit(error);
45
+ });
46
+ }
47
+ }
48
+ transformNodeToPermissionElement(nodes, role) {
49
+ return nodes.map((node) => ({
50
+ authorityId: node.entry.properties['cm:authorityName'] ?? node.entry.properties['cm:userName'],
51
+ name: role,
52
+ accessStatus: 'ALLOWED'
53
+ }));
54
+ }
55
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AddPermissionComponent, deps: [{ token: i1.NodePermissionService }, { token: i2.ContentService }], target: i0.ɵɵFactoryTarget.Component }); }
56
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: AddPermissionComponent, isStandalone: true, selector: "adf-add-permission", inputs: { nodeId: "nodeId" }, outputs: { success: "success", error: "error" }, ngImport: i0, template: "<adf-add-permission-panel (select)=\"onSelect($event)\" />\n<div id=\"adf-add-permission-actions\">\n <button mat-button\n id=\"adf-add-permission-action-button\"\n class=\"adf-permission-action\"\n [disabled]=\"!isAddEnabled()\"\n (click)=\"applySelection()\">\n {{'PERMISSION_MANAGER.ADD-PERMISSION.ADD-ACTION' | translate}}\n </button>\n</div>\n", styles: [".adf-permission-action[disabled]{opacity:.6}.adf-permission-action:enabled{color:var(--theme-primary-color)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: AddPermissionPanelComponent, selector: "adf-add-permission-panel", outputs: ["select"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i3.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }], encapsulation: i0.ViewEncapsulation.None }); }
57
+ }
58
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AddPermissionComponent, decorators: [{
59
+ type: Component,
60
+ args: [{ selector: 'adf-add-permission', standalone: true, imports: [CommonModule, AddPermissionPanelComponent, MatButtonModule, TranslatePipe], encapsulation: ViewEncapsulation.None, template: "<adf-add-permission-panel (select)=\"onSelect($event)\" />\n<div id=\"adf-add-permission-actions\">\n <button mat-button\n id=\"adf-add-permission-action-button\"\n class=\"adf-permission-action\"\n [disabled]=\"!isAddEnabled()\"\n (click)=\"applySelection()\">\n {{'PERMISSION_MANAGER.ADD-PERMISSION.ADD-ACTION' | translate}}\n </button>\n</div>\n", styles: [".adf-permission-action[disabled]{opacity:.6}.adf-permission-action:enabled{color:var(--theme-primary-color)}\n"] }]
61
+ }], ctorParameters: () => [{ type: i1.NodePermissionService }, { type: i2.ContentService }], propDecorators: { nodeId: [{
62
+ type: Input,
63
+ args: [{ required: true }]
64
+ }], success: [{
65
+ type: Output
66
+ }], error: [{
67
+ type: Output
68
+ }] } });
69
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkLXBlcm1pc3Npb24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGliL2NvbnRlbnQtc2VydmljZXMvc3JjL2xpYi9wZXJtaXNzaW9uLW1hbmFnZXIvY29tcG9uZW50cy9hZGQtcGVybWlzc2lvbi9hZGQtcGVybWlzc2lvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWIvY29udGVudC1zZXJ2aWNlcy9zcmMvbGliL3Blcm1pc3Npb24tbWFuYWdlci9jb21wb25lbnRzL2FkZC1wZXJtaXNzaW9uL2FkZC1wZXJtaXNzaW9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQWtCQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2xHLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBRS9FLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUMxRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxrREFBa0QsQ0FBQztBQUMzRixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDL0UsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7Ozs7QUFVcEQ7O0dBRUc7QUFDSCxNQUFNLE9BQU8sc0JBQXNCO0lBaUIvQixZQUFvQixxQkFBNEMsRUFBVSxjQUE4QjtRQUFwRiwwQkFBcUIsR0FBckIscUJBQXFCLENBQXVCO1FBQVUsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBWnhHLHFEQUFxRDtRQUVyRCxZQUFPLEdBQUcsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQUVuQyxzREFBc0Q7UUFFdEQsVUFBSyxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7UUFFaEMsa0JBQWEsR0FBZ0IsRUFBRSxDQUFDO0lBSTJFLENBQUM7SUFFNUcsUUFBUTtRQUNKLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLEVBQUUsRUFBRTtZQUNuRixJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQztZQUN4QixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsS0FBSyxDQUFDO1FBQ2xDLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELFFBQVEsQ0FBQyxTQUFzQjtRQUMzQixJQUFJLENBQUMsYUFBYSxHQUFHLFNBQVMsQ0FBQztJQUNuQyxDQUFDO0lBRUQsWUFBWTtRQUNSLE9BQU8sQ0FDSCxJQUFJLENBQUMsY0FBYyxDQUFDLHNCQUFzQixDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsdUJBQXVCLENBQUMsaUJBQWlCLENBQUMsSUFBSSxJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sS0FBSyxDQUFDLENBQzdJLENBQUM7SUFDTixDQUFDO0lBRUQsY0FBYztRQUNWLElBQUksSUFBSSxDQUFDLGNBQWMsQ0FBQyxzQkFBc0IsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLHVCQUF1QixDQUFDLGlCQUFpQixDQUFDLEVBQUUsQ0FBQztZQUMxRyxNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsZ0NBQWdDLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDN0csSUFBSSxDQUFDLHFCQUFxQixDQUFDLHFCQUFxQixDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsV0FBVyxDQUFDLENBQUMsU0FBUyxDQUNoRixDQUFDLElBQUksRUFBRSxFQUFFO2dCQUNMLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQzVCLENBQUMsRUFDRCxDQUFDLEtBQUssRUFBRSxFQUFFO2dCQUNOLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQzNCLENBQUMsQ0FDSixDQUFDO1FBQ04sQ0FBQztJQUNMLENBQUM7SUFFTyxnQ0FBZ0MsQ0FBQyxLQUFrQixFQUFFLElBQVk7UUFDckUsT0FBTyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1lBQ3hCLFdBQVcsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQztZQUM5RixJQUFJLEVBQUUsSUFBSTtZQUNWLFlBQVksRUFBRSxTQUFTO1NBQzFCLENBQUMsQ0FBQyxDQUFDO0lBQ1IsQ0FBQzsrR0F4RFEsc0JBQXNCO21HQUF0QixzQkFBc0IsNkpDdkNuQywyWUFVQSx1S0RxQmMsWUFBWSwrQkFBRSwyQkFBMkIseUZBQUUsZUFBZSx1TkFBRSxhQUFhOzs0RkFRMUUsc0JBQXNCO2tCQVhsQyxTQUFTOytCQUNJLG9CQUFvQixjQUNsQixJQUFJLFdBQ1AsQ0FBQyxZQUFZLEVBQUUsMkJBQTJCLEVBQUUsZUFBZSxFQUFFLGFBQWEsQ0FBQyxpQkFHckUsaUJBQWlCLENBQUMsSUFBSTt1SEFRckMsTUFBTTtzQkFETCxLQUFLO3VCQUFDLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRTtnQkFLekIsT0FBTztzQkFETixNQUFNO2dCQUtQLEtBQUs7c0JBREosTUFBTSIsInNvdXJjZXNDb250ZW50IjpbIi8qIVxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCDCqSAyMDA1LTIwMjUgSHlsYW5kIFNvZnR3YXJlLCBJbmMuIGFuZCBpdHMgYWZmaWxpYXRlcy4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuaW1wb3J0IHsgTm9kZSwgTm9kZUVudHJ5LCBQZXJtaXNzaW9uRWxlbWVudCB9IGZyb20gJ0BhbGZyZXNjby9qcy1hcGknO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5vZGVQZXJtaXNzaW9uU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL25vZGUtcGVybWlzc2lvbi5zZXJ2aWNlJztcbmltcG9ydCB7IFJvbGVNb2RlbCB9IGZyb20gJy4uLy4uL21vZGVscy9yb2xlLm1vZGVsJztcbmltcG9ydCB7IENvbnRlbnRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vY29tbW9uL3NlcnZpY2VzL2NvbnRlbnQuc2VydmljZSc7XG5pbXBvcnQgeyBBbGxvd2FibGVPcGVyYXRpb25zRW51bSB9IGZyb20gJy4uLy4uLy4uL2NvbW1vbi9tb2RlbHMvYWxsb3dhYmxlLW9wZXJhdGlvbnMuZW51bSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQWRkUGVybWlzc2lvblBhbmVsQ29tcG9uZW50IH0gZnJvbSAnLi9hZGQtcGVybWlzc2lvbi1wYW5lbC5jb21wb25lbnQnO1xuaW1wb3J0IHsgTWF0QnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcbmltcG9ydCB7IFRyYW5zbGF0ZVBpcGUgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdhZGYtYWRkLXBlcm1pc3Npb24nLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgQWRkUGVybWlzc2lvblBhbmVsQ29tcG9uZW50LCBNYXRCdXR0b25Nb2R1bGUsIFRyYW5zbGF0ZVBpcGVdLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9hZGQtcGVybWlzc2lvbi5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vYWRkLXBlcm1pc3Npb24uY29tcG9uZW50LnNjc3MnXSxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXG59KVxuLypcbiAqIEBkZXByZWNhdGVkIGluIDQuNC4wLCB1c2UgYWRmLWFkZC1wZXJtaXNzaW9uLXBhbmVsIGluc3RlYWQuXG4gKi9cbmV4cG9ydCBjbGFzcyBBZGRQZXJtaXNzaW9uQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgICAvKiogSUQgb2YgdGhlIHRhcmdldCBub2RlLiAqL1xuICAgIEBJbnB1dCh7IHJlcXVpcmVkOiB0cnVlIH0pXG4gICAgbm9kZUlkOiBzdHJpbmc7XG5cbiAgICAvKiogRW1pdHRlZCB3aGVuIHRoZSBub2RlIGlzIHVwZGF0ZWQgc3VjY2Vzc2Z1bGx5LiAqL1xuICAgIEBPdXRwdXQoKVxuICAgIHN1Y2Nlc3MgPSBuZXcgRXZlbnRFbWl0dGVyPE5vZGU+KCk7XG5cbiAgICAvKiogRW1pdHRlZCB3aGVuIGFuIGVycm9yIG9jY3VycyBkdXJpbmcgdGhlIHVwZGF0ZS4gKi9cbiAgICBAT3V0cHV0KClcbiAgICBlcnJvciA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuXG4gICAgc2VsZWN0ZWRJdGVtczogTm9kZUVudHJ5W10gPSBbXTtcbiAgICBjdXJyZW50Tm9kZTogTm9kZTtcbiAgICBjdXJyZW50Tm9kZVJvbGVzOiBSb2xlTW9kZWxbXTtcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgbm9kZVBlcm1pc3Npb25TZXJ2aWNlOiBOb2RlUGVybWlzc2lvblNlcnZpY2UsIHByaXZhdGUgY29udGVudFNlcnZpY2U6IENvbnRlbnRTZXJ2aWNlKSB7fVxuXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMubm9kZVBlcm1pc3Npb25TZXJ2aWNlLmdldE5vZGVXaXRoUm9sZXModGhpcy5ub2RlSWQpLnN1YnNjcmliZSgoeyBub2RlLCByb2xlcyB9KSA9PiB7XG4gICAgICAgICAgICB0aGlzLmN1cnJlbnROb2RlID0gbm9kZTtcbiAgICAgICAgICAgIHRoaXMuY3VycmVudE5vZGVSb2xlcyA9IHJvbGVzO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBvblNlbGVjdChzZWxlY3Rpb246IE5vZGVFbnRyeVtdKSB7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRJdGVtcyA9IHNlbGVjdGlvbjtcbiAgICB9XG5cbiAgICBpc0FkZEVuYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICB0aGlzLmNvbnRlbnRTZXJ2aWNlLmhhc0FsbG93YWJsZU9wZXJhdGlvbnModGhpcy5jdXJyZW50Tm9kZSwgQWxsb3dhYmxlT3BlcmF0aW9uc0VudW0uVVBEQVRFUEVSTUlTU0lPTlMpICYmIHRoaXMuc2VsZWN0ZWRJdGVtcy5sZW5ndGggIT09IDBcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBhcHBseVNlbGVjdGlvbigpIHtcbiAgICAgICAgaWYgKHRoaXMuY29udGVudFNlcnZpY2UuaGFzQWxsb3dhYmxlT3BlcmF0aW9ucyh0aGlzLmN1cnJlbnROb2RlLCBBbGxvd2FibGVPcGVyYXRpb25zRW51bS5VUERBVEVQRVJNSVNTSU9OUykpIHtcbiAgICAgICAgICAgIGNvbnN0IHBlcm1pc3Npb25zID0gdGhpcy50cmFuc2Zvcm1Ob2RlVG9QZXJtaXNzaW9uRWxlbWVudCh0aGlzLnNlbGVjdGVkSXRlbXMsIHRoaXMuY3VycmVudE5vZGVSb2xlc1swXS5yb2xlKTtcbiAgICAgICAgICAgIHRoaXMubm9kZVBlcm1pc3Npb25TZXJ2aWNlLnVwZGF0ZU5vZGVQZXJtaXNzaW9ucyh0aGlzLm5vZGVJZCwgcGVybWlzc2lvbnMpLnN1YnNjcmliZShcbiAgICAgICAgICAgICAgICAobm9kZSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnN1Y2Nlc3MuZW1pdChub2RlKTtcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIChlcnJvcikgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmVycm9yLmVtaXQoZXJyb3IpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIHRyYW5zZm9ybU5vZGVUb1Blcm1pc3Npb25FbGVtZW50KG5vZGVzOiBOb2RlRW50cnlbXSwgcm9sZTogc3RyaW5nKTogUGVybWlzc2lvbkVsZW1lbnRbXSB7XG4gICAgICAgIHJldHVybiBub2Rlcy5tYXAoKG5vZGUpID0+ICh7XG4gICAgICAgICAgICBhdXRob3JpdHlJZDogbm9kZS5lbnRyeS5wcm9wZXJ0aWVzWydjbTphdXRob3JpdHlOYW1lJ10gPz8gbm9kZS5lbnRyeS5wcm9wZXJ0aWVzWydjbTp1c2VyTmFtZSddLFxuICAgICAgICAgICAgbmFtZTogcm9sZSxcbiAgICAgICAgICAgIGFjY2Vzc1N0YXR1czogJ0FMTE9XRUQnXG4gICAgICAgIH0pKTtcbiAgICB9XG59XG4iLCI8YWRmLWFkZC1wZXJtaXNzaW9uLXBhbmVsIChzZWxlY3QpPVwib25TZWxlY3QoJGV2ZW50KVwiIC8+XG48ZGl2IGlkPVwiYWRmLWFkZC1wZXJtaXNzaW9uLWFjdGlvbnNcIj5cbiAgIDxidXR0b24gbWF0LWJ1dHRvblxuICAgICAgICAgIGlkPVwiYWRmLWFkZC1wZXJtaXNzaW9uLWFjdGlvbi1idXR0b25cIlxuICAgICAgICAgIGNsYXNzPVwiYWRmLXBlcm1pc3Npb24tYWN0aW9uXCJcbiAgICAgICAgICBbZGlzYWJsZWRdPVwiIWlzQWRkRW5hYmxlZCgpXCJcbiAgICAgICAgICAoY2xpY2spPVwiYXBwbHlTZWxlY3Rpb24oKVwiPlxuICAgICB7eydQRVJNSVNTSU9OX01BTkFHRVIuQURELVBFUk1JU1NJT04uQURELUFDVElPTicgfCB0cmFuc2xhdGV9fVxuICAgIDwvYnV0dG9uPlxuPC9kaXY+XG4iXX0=
@@ -0,0 +1,45 @@
1
+ import { Injectable, Optional, Inject, InjectionToken } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export const SEARCH_QUERY_TOKEN = new InjectionToken('Alfresco Search Query Token');
4
+ export class SearchPermissionConfigurationService {
5
+ constructor(queryProvider) {
6
+ this.queryProvider = queryProvider;
7
+ }
8
+ generateQueryBody(searchTerm, maxResults, skipCount) {
9
+ return {
10
+ query: {
11
+ query: this.getQuery(searchTerm)
12
+ },
13
+ include: ['properties', 'aspectNames'],
14
+ paging: {
15
+ maxItems: maxResults,
16
+ skipCount
17
+ },
18
+ filterQueries: [
19
+ /* eslint-disable-next-line */
20
+ { query: "TYPE:'cm:authority'" }
21
+ ]
22
+ };
23
+ }
24
+ getQuery(searchTerm) {
25
+ let query;
26
+ if (this.queryProvider?.query) {
27
+ query = this.queryProvider.query.replace(new RegExp(/\${([^}]+)}/g), searchTerm);
28
+ }
29
+ else {
30
+ query = `(userName:*${searchTerm}* OR email:*${searchTerm}* OR firstName:*${searchTerm}* OR lastName:*${searchTerm}* OR authorityName:*${searchTerm}* OR authorityDisplayName:*${searchTerm}*) AND PATH:"//cm:APP.DEFAULT/*"`;
31
+ }
32
+ return query;
33
+ }
34
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SearchPermissionConfigurationService, deps: [{ token: SEARCH_QUERY_TOKEN, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
35
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SearchPermissionConfigurationService }); }
36
+ }
37
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SearchPermissionConfigurationService, decorators: [{
38
+ type: Injectable
39
+ }], ctorParameters: () => [{ type: undefined, decorators: [{
40
+ type: Optional
41
+ }, {
42
+ type: Inject,
43
+ args: [SEARCH_QUERY_TOKEN]
44
+ }] }] });
45
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLWNvbmZpZy1wZXJtaXNzaW9uLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWIvY29udGVudC1zZXJ2aWNlcy9zcmMvbGliL3Blcm1pc3Npb24tbWFuYWdlci9jb21wb25lbnRzL2FkZC1wZXJtaXNzaW9uL3NlYXJjaC1jb25maWctcGVybWlzc2lvbi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQWtCQSxPQUFPLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUc3RSxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRyxJQUFJLGNBQWMsQ0FBZ0IsNkJBQTZCLENBQUMsQ0FBQztBQU1uRyxNQUFNLE9BQU8sb0NBQW9DO0lBQzdDLFlBR1ksYUFBNEI7UUFBNUIsa0JBQWEsR0FBYixhQUFhLENBQWU7SUFDckMsQ0FBQztJQUVHLGlCQUFpQixDQUFDLFVBQWtCLEVBQUUsVUFBa0IsRUFBRSxTQUFpQjtRQUM5RSxPQUFPO1lBQ0gsS0FBSyxFQUFFO2dCQUNILEtBQUssRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQzthQUNuQztZQUNELE9BQU8sRUFBRSxDQUFDLFlBQVksRUFBRSxhQUFhLENBQUM7WUFDdEMsTUFBTSxFQUFFO2dCQUNKLFFBQVEsRUFBRSxVQUFVO2dCQUNwQixTQUFTO2FBQ1o7WUFDRCxhQUFhLEVBQUU7Z0JBQ1gsOEJBQThCO2dCQUM5QixFQUFFLEtBQUssRUFBRSxxQkFBcUIsRUFBRTthQUNuQztTQUNKLENBQUM7SUFDTixDQUFDO0lBRU8sUUFBUSxDQUFDLFVBQWtCO1FBQy9CLElBQUksS0FBYSxDQUFDO1FBQ2xCLElBQUksSUFBSSxDQUFDLGFBQWEsRUFBRSxLQUFLLEVBQUUsQ0FBQztZQUM1QixLQUFLLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksTUFBTSxDQUFDLGNBQWMsQ0FBQyxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBQ3JGLENBQUM7YUFBTSxDQUFDO1lBQ0osS0FBSyxHQUFHLGNBQWMsVUFBVSxlQUFlLFVBQVUsbUJBQW1CLFVBQVUsa0JBQWtCLFVBQVUsdUJBQXVCLFVBQVUsOEJBQThCLFVBQVUsa0NBQWtDLENBQUM7UUFDbE8sQ0FBQztRQUNELE9BQU8sS0FBSyxDQUFDO0lBQ2pCLENBQUM7K0dBaENRLG9DQUFvQyxrQkFHakMsa0JBQWtCO21IQUhyQixvQ0FBb0M7OzRGQUFwQyxvQ0FBb0M7a0JBRGhELFVBQVU7OzBCQUdGLFFBQVE7OzBCQUNSLE1BQU07MkJBQUMsa0JBQWtCIiwic291cmNlc0NvbnRlbnQiOlsiLyohXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IMKpIDIwMDUtMjAyNSBIeWxhbmQgU29mdHdhcmUsIEluYy4gYW5kIGl0cyBhZmZpbGlhdGVzLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5pbXBvcnQgeyBTZWFyY2hSZXF1ZXN0IH0gZnJvbSAnQGFsZnJlc2NvL2pzLWFwaSc7XG5pbXBvcnQgeyBJbmplY3RhYmxlLCBPcHRpb25hbCwgSW5qZWN0LCBJbmplY3Rpb25Ub2tlbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU2VhcmNoQ29uZmlndXJhdGlvbkludGVyZmFjZSB9IGZyb20gJy4uLy4uLy4uL2NvbW1vbi9pbnRlcmZhY2VzL3NlYXJjaC1jb25maWd1cmF0aW9uLmludGVyZmFjZSc7XG5cbmV4cG9ydCBjb25zdCBTRUFSQ0hfUVVFUllfVE9LRU4gPSBuZXcgSW5qZWN0aW9uVG9rZW48UXVlcnlQcm92aWRlcj4oJ0FsZnJlc2NvIFNlYXJjaCBRdWVyeSBUb2tlbicpO1xuZXhwb3J0IGludGVyZmFjZSBRdWVyeVByb3ZpZGVyIHtcbiAgICBxdWVyeTogc3RyaW5nO1xufVxuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgU2VhcmNoUGVybWlzc2lvbkNvbmZpZ3VyYXRpb25TZXJ2aWNlIGltcGxlbWVudHMgU2VhcmNoQ29uZmlndXJhdGlvbkludGVyZmFjZSB7XG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIEBPcHRpb25hbCgpXG4gICAgICAgIEBJbmplY3QoU0VBUkNIX1FVRVJZX1RPS0VOKVxuICAgICAgICBwcml2YXRlIHF1ZXJ5UHJvdmlkZXI6IFF1ZXJ5UHJvdmlkZXJcbiAgICApIHt9XG5cbiAgICBwdWJsaWMgZ2VuZXJhdGVRdWVyeUJvZHkoc2VhcmNoVGVybTogc3RyaW5nLCBtYXhSZXN1bHRzOiBudW1iZXIsIHNraXBDb3VudDogbnVtYmVyKTogU2VhcmNoUmVxdWVzdCB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBxdWVyeToge1xuICAgICAgICAgICAgICAgIHF1ZXJ5OiB0aGlzLmdldFF1ZXJ5KHNlYXJjaFRlcm0pXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgaW5jbHVkZTogWydwcm9wZXJ0aWVzJywgJ2FzcGVjdE5hbWVzJ10sXG4gICAgICAgICAgICBwYWdpbmc6IHtcbiAgICAgICAgICAgICAgICBtYXhJdGVtczogbWF4UmVzdWx0cyxcbiAgICAgICAgICAgICAgICBza2lwQ291bnRcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBmaWx0ZXJRdWVyaWVzOiBbXG4gICAgICAgICAgICAgICAgLyogZXNsaW50LWRpc2FibGUtbmV4dC1saW5lICovXG4gICAgICAgICAgICAgICAgeyBxdWVyeTogXCJUWVBFOidjbTphdXRob3JpdHknXCIgfVxuICAgICAgICAgICAgXVxuICAgICAgICB9O1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0UXVlcnkoc2VhcmNoVGVybTogc3RyaW5nKSB7XG4gICAgICAgIGxldCBxdWVyeTogc3RyaW5nO1xuICAgICAgICBpZiAodGhpcy5xdWVyeVByb3ZpZGVyPy5xdWVyeSkge1xuICAgICAgICAgICAgcXVlcnkgPSB0aGlzLnF1ZXJ5UHJvdmlkZXIucXVlcnkucmVwbGFjZShuZXcgUmVnRXhwKC9cXCR7KFtefV0rKX0vZyksIHNlYXJjaFRlcm0pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcXVlcnkgPSBgKHVzZXJOYW1lOioke3NlYXJjaFRlcm19KiBPUiBlbWFpbDoqJHtzZWFyY2hUZXJtfSogT1IgZmlyc3ROYW1lOioke3NlYXJjaFRlcm19KiBPUiBsYXN0TmFtZToqJHtzZWFyY2hUZXJtfSogT1IgYXV0aG9yaXR5TmFtZToqJHtzZWFyY2hUZXJtfSogT1IgYXV0aG9yaXR5RGlzcGxheU5hbWU6KiR7c2VhcmNoVGVybX0qKSBBTkQgUEFUSDpcIi8vY206QVBQLkRFRkFVTFQvKlwiYDtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gcXVlcnk7XG4gICAgfVxufVxuIl19
@@ -0,0 +1,67 @@
1
+ /*!
2
+ * @license
3
+ * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved.
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License");
6
+ * you may not use this file except in compliance with the License.
7
+ * You may obtain a copy of the License at
8
+ *
9
+ * http://www.apache.org/licenses/LICENSE-2.0
10
+ *
11
+ * Unless required by applicable law or agreed to in writing, software
12
+ * distributed under the License is distributed on an "AS IS" BASIS,
13
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ * See the License for the specific language governing permissions and
15
+ * limitations under the License.
16
+ */
17
+ /* eslint-disable @angular-eslint/no-input-rename */
18
+ import { Directive, Input, Output, EventEmitter } from '@angular/core';
19
+ import { ContentService } from '../../common/services/content.service';
20
+ import { NodesApiService } from '../../common/services/nodes-api.service';
21
+ import { AllowableOperationsEnum } from '../../common/models/allowable-operations.enum';
22
+ import * as i0 from "@angular/core";
23
+ import * as i1 from "../../common/services/nodes-api.service";
24
+ import * as i2 from "../../common/services/content.service";
25
+ export class InheritPermissionDirective {
26
+ constructor(nodeService, contentService) {
27
+ this.nodeService = nodeService;
28
+ this.contentService = contentService;
29
+ /** Emitted when the node is updated. */
30
+ this.updated = new EventEmitter();
31
+ /** Emitted when an error occurs. */
32
+ this.error = new EventEmitter();
33
+ }
34
+ onInheritPermissionClicked() {
35
+ this.nodeService.getNode(this.nodeId).subscribe((node) => {
36
+ if (this.contentService.hasAllowableOperations(node, AllowableOperationsEnum.UPDATEPERMISSIONS)) {
37
+ const nodeBody = { permissions: { isInheritanceEnabled: !node?.permissions?.isInheritanceEnabled ?? false } };
38
+ this.nodeService.updateNode(this.nodeId, nodeBody, { include: ['permissions'] }).subscribe((nodeUpdated) => {
39
+ this.updated.emit(nodeUpdated);
40
+ }, (error) => this.error.emit(error));
41
+ }
42
+ else {
43
+ this.error.emit('PERMISSION_MANAGER.ERROR.NOT-ALLOWED');
44
+ }
45
+ });
46
+ }
47
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: InheritPermissionDirective, deps: [{ token: i1.NodesApiService }, { token: i2.ContentService }], target: i0.ɵɵFactoryTarget.Directive }); }
48
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: InheritPermissionDirective, isStandalone: true, selector: "button[adf-inherit-permission], mat-button-toggle[adf-inherit-permission]", inputs: { nodeId: "nodeId" }, outputs: { updated: "updated", error: "error" }, host: { attributes: { "role": "button" }, listeners: { "click": "onInheritPermissionClicked()" } }, ngImport: i0 }); }
49
+ }
50
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: InheritPermissionDirective, decorators: [{
51
+ type: Directive,
52
+ args: [{
53
+ selector: 'button[adf-inherit-permission], mat-button-toggle[adf-inherit-permission]',
54
+ standalone: true,
55
+ host: {
56
+ role: 'button',
57
+ '(click)': 'onInheritPermissionClicked()'
58
+ }
59
+ }]
60
+ }], ctorParameters: () => [{ type: i1.NodesApiService }, { type: i2.ContentService }], propDecorators: { nodeId: [{
61
+ type: Input
62
+ }], updated: [{
63
+ type: Output
64
+ }], error: [{
65
+ type: Output
66
+ }] } });
67
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5oZXJpdGVkLWJ1dHRvbi5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWIvY29udGVudC1zZXJ2aWNlcy9zcmMvbGliL3Blcm1pc3Npb24tbWFuYWdlci9jb21wb25lbnRzL2luaGVyaXRlZC1idXR0b24uZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7R0FlRztBQUVILG9EQUFvRDtBQUNwRCxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXZFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUN2RSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDMUUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sK0NBQStDLENBQUM7Ozs7QUFVeEYsTUFBTSxPQUFPLDBCQUEwQjtJQWFuQyxZQUFvQixXQUE0QixFQUFVLGNBQThCO1FBQXBFLGdCQUFXLEdBQVgsV0FBVyxDQUFpQjtRQUFVLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQVJ4Rix3Q0FBd0M7UUFFeEMsWUFBTyxHQUF1QixJQUFJLFlBQVksRUFBUSxDQUFDO1FBRXZELG9DQUFvQztRQUVwQyxVQUFLLEdBQXNCLElBQUksWUFBWSxFQUFPLENBQUM7SUFFd0MsQ0FBQztJQUU1RiwwQkFBMEI7UUFDdEIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLElBQVUsRUFBRSxFQUFFO1lBQzNELElBQUksSUFBSSxDQUFDLGNBQWMsQ0FBQyxzQkFBc0IsQ0FBQyxJQUFJLEVBQUUsdUJBQXVCLENBQUMsaUJBQWlCLENBQUMsRUFBRSxDQUFDO2dCQUM5RixNQUFNLFFBQVEsR0FBRyxFQUFFLFdBQVcsRUFBRSxFQUFFLG9CQUFvQixFQUFFLENBQUMsSUFBSSxFQUFFLFdBQVcsRUFBRSxvQkFBb0IsSUFBSSxLQUFLLEVBQUUsRUFBRSxDQUFDO2dCQUM5RyxJQUFJLENBQUMsV0FBVyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLFFBQVEsRUFBRSxFQUFFLE9BQU8sRUFBRSxDQUFDLGFBQWEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQ3RGLENBQUMsV0FBaUIsRUFBRSxFQUFFO29CQUNsQixJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztnQkFDbkMsQ0FBQyxFQUNELENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FDcEMsQ0FBQztZQUNOLENBQUM7aUJBQU0sQ0FBQztnQkFDSixJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxzQ0FBc0MsQ0FBQyxDQUFDO1lBQzVELENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7K0dBN0JRLDBCQUEwQjttR0FBMUIsMEJBQTBCOzs0RkFBMUIsMEJBQTBCO2tCQVJ0QyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSwyRUFBMkU7b0JBQ3JGLFVBQVUsRUFBRSxJQUFJO29CQUNoQixJQUFJLEVBQUU7d0JBQ0YsSUFBSSxFQUFFLFFBQVE7d0JBQ2QsU0FBUyxFQUFFLDhCQUE4QjtxQkFDNUM7aUJBQ0o7aUhBSUcsTUFBTTtzQkFETCxLQUFLO2dCQUtOLE9BQU87c0JBRE4sTUFBTTtnQkFLUCxLQUFLO3NCQURKLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyIvKiFcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgwqkgMjAwNS0yMDI1IEh5bGFuZCBTb2Z0d2FyZSwgSW5jLiBhbmQgaXRzIGFmZmlsaWF0ZXMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbi8qIGVzbGludC1kaXNhYmxlIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dC1yZW5hbWUgKi9cbmltcG9ydCB7IERpcmVjdGl2ZSwgSW5wdXQsIE91dHB1dCwgRXZlbnRFbWl0dGVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOb2RlIH0gZnJvbSAnQGFsZnJlc2NvL2pzLWFwaSc7XG5pbXBvcnQgeyBDb250ZW50U2VydmljZSB9IGZyb20gJy4uLy4uL2NvbW1vbi9zZXJ2aWNlcy9jb250ZW50LnNlcnZpY2UnO1xuaW1wb3J0IHsgTm9kZXNBcGlTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vY29tbW9uL3NlcnZpY2VzL25vZGVzLWFwaS5zZXJ2aWNlJztcbmltcG9ydCB7IEFsbG93YWJsZU9wZXJhdGlvbnNFbnVtIH0gZnJvbSAnLi4vLi4vY29tbW9uL21vZGVscy9hbGxvd2FibGUtb3BlcmF0aW9ucy5lbnVtJztcblxuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdidXR0b25bYWRmLWluaGVyaXQtcGVybWlzc2lvbl0sIG1hdC1idXR0b24tdG9nZ2xlW2FkZi1pbmhlcml0LXBlcm1pc3Npb25dJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgcm9sZTogJ2J1dHRvbicsXG4gICAgICAgICcoY2xpY2spJzogJ29uSW5oZXJpdFBlcm1pc3Npb25DbGlja2VkKCknXG4gICAgfVxufSlcbmV4cG9ydCBjbGFzcyBJbmhlcml0UGVybWlzc2lvbkRpcmVjdGl2ZSB7XG4gICAgLyoqIElEIG9mIHRoZSBub2RlIHRvIGFkZC9yZW1vdmUgaW5oZXJpdGVkIHBlcm1pc3Npb25zLiAqL1xuICAgIEBJbnB1dCgpXG4gICAgbm9kZUlkOiBzdHJpbmc7XG5cbiAgICAvKiogRW1pdHRlZCB3aGVuIHRoZSBub2RlIGlzIHVwZGF0ZWQuICovXG4gICAgQE91dHB1dCgpXG4gICAgdXBkYXRlZDogRXZlbnRFbWl0dGVyPE5vZGU+ID0gbmV3IEV2ZW50RW1pdHRlcjxOb2RlPigpO1xuXG4gICAgLyoqIEVtaXR0ZWQgd2hlbiBhbiBlcnJvciBvY2N1cnMuICovXG4gICAgQE91dHB1dCgpXG4gICAgZXJyb3I6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIG5vZGVTZXJ2aWNlOiBOb2Rlc0FwaVNlcnZpY2UsIHByaXZhdGUgY29udGVudFNlcnZpY2U6IENvbnRlbnRTZXJ2aWNlKSB7fVxuXG4gICAgb25Jbmhlcml0UGVybWlzc2lvbkNsaWNrZWQoKSB7XG4gICAgICAgIHRoaXMubm9kZVNlcnZpY2UuZ2V0Tm9kZSh0aGlzLm5vZGVJZCkuc3Vic2NyaWJlKChub2RlOiBOb2RlKSA9PiB7XG4gICAgICAgICAgICBpZiAodGhpcy5jb250ZW50U2VydmljZS5oYXNBbGxvd2FibGVPcGVyYXRpb25zKG5vZGUsIEFsbG93YWJsZU9wZXJhdGlvbnNFbnVtLlVQREFURVBFUk1JU1NJT05TKSkge1xuICAgICAgICAgICAgICAgIGNvbnN0IG5vZGVCb2R5ID0geyBwZXJtaXNzaW9uczogeyBpc0luaGVyaXRhbmNlRW5hYmxlZDogIW5vZGU/LnBlcm1pc3Npb25zPy5pc0luaGVyaXRhbmNlRW5hYmxlZCA/PyBmYWxzZSB9IH07XG4gICAgICAgICAgICAgICAgdGhpcy5ub2RlU2VydmljZS51cGRhdGVOb2RlKHRoaXMubm9kZUlkLCBub2RlQm9keSwgeyBpbmNsdWRlOiBbJ3Blcm1pc3Npb25zJ10gfSkuc3Vic2NyaWJlKFxuICAgICAgICAgICAgICAgICAgICAobm9kZVVwZGF0ZWQ6IE5vZGUpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMudXBkYXRlZC5lbWl0KG5vZGVVcGRhdGVkKTtcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgKGVycm9yKSA9PiB0aGlzLmVycm9yLmVtaXQoZXJyb3IpXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy5lcnJvci5lbWl0KCdQRVJNSVNTSU9OX01BTkFHRVIuRVJST1IuTk9ULUFMTE9XRUQnKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxufVxuIl19