@alfresco/adf-content-services 8.1.0-16295248176 → 8.1.0-16320806191

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 (425) hide show
  1. package/bundles/assets/adf-content-services/i18n/de.json +1 -3
  2. package/bundles/assets/adf-content-services/i18n/en.json +1 -3
  3. package/bundles/assets/adf-content-services/i18n/es.json +1 -3
  4. package/bundles/assets/adf-content-services/i18n/fr.json +1 -3
  5. package/bundles/assets/adf-content-services/i18n/it.json +1 -3
  6. package/bundles/assets/adf-content-services/i18n/pl.json +1 -3
  7. package/bundles/assets/adf-content-services/i18n/pt.json +1 -3
  8. package/esm2022/adf-content-services.mjs +5 -0
  9. package/esm2022/lib/agent/index.mjs +18 -0
  10. package/esm2022/lib/agent/public-api.mjs +18 -0
  11. package/esm2022/lib/agent/services/agent.service.mjs +60 -0
  12. package/esm2022/lib/alfresco-icon/alfresco-icon.component.mjs +27 -0
  13. package/esm2022/lib/api-factories/alfresco-api-no-auth.service.mjs +42 -0
  14. package/esm2022/lib/api-factories/alfresco-api-v2-loader.service.mjs +77 -0
  15. package/esm2022/lib/api-factories/index.mjs +18 -0
  16. package/esm2022/lib/api-factories/public-api.mjs +19 -0
  17. package/esm2022/lib/aspect-list/aspect-list-dialog-data.interface.mjs +18 -0
  18. package/esm2022/lib/aspect-list/aspect-list-dialog.component.mjs +77 -0
  19. package/esm2022/lib/aspect-list/aspect-list.component.mjs +139 -0
  20. package/esm2022/lib/aspect-list/aspect-list.module.mjs +35 -0
  21. package/esm2022/lib/aspect-list/index.mjs +18 -0
  22. package/esm2022/lib/aspect-list/public-api.mjs +24 -0
  23. package/esm2022/lib/aspect-list/services/aspect-list.service.mjs +83 -0
  24. package/esm2022/lib/aspect-list/services/dialog-aspect-list.service.mjs +86 -0
  25. package/esm2022/lib/aspect-list/services/node-aspect.service.mjs +52 -0
  26. package/esm2022/lib/auth-loader/content-auth-loader-factory.mjs +26 -0
  27. package/esm2022/lib/auth-loader/content-auth-loader.service.mjs +42 -0
  28. package/esm2022/lib/breadcrumb/breadcrumb.component.mjs +166 -0
  29. package/esm2022/lib/breadcrumb/breadcrumb.module.mjs +35 -0
  30. package/esm2022/lib/breadcrumb/dropdown-breadcrumb.component.mjs +65 -0
  31. package/esm2022/lib/breadcrumb/index.mjs +18 -0
  32. package/esm2022/lib/breadcrumb/public-api.mjs +20 -0
  33. package/esm2022/lib/category/categories-management/categories-management-mode.mjs +22 -0
  34. package/esm2022/lib/category/categories-management/categories-management.component.mjs +308 -0
  35. package/esm2022/lib/category/category.module.mjs +33 -0
  36. package/esm2022/lib/category/index.mjs +18 -0
  37. package/esm2022/lib/category/models/category-node.interface.mjs +18 -0
  38. package/esm2022/lib/category/public-api.mjs +23 -0
  39. package/esm2022/lib/category/services/category-tree-datasource.service.mjs +80 -0
  40. package/esm2022/lib/category/services/category.service.mjs +159 -0
  41. package/esm2022/lib/common/events/file.event.mjs +46 -0
  42. package/esm2022/lib/common/index.mjs +18 -0
  43. package/esm2022/lib/common/interfaces/saved-search.interface.mjs +18 -0
  44. package/esm2022/lib/common/interfaces/search-configuration.interface.mjs +18 -0
  45. package/esm2022/lib/common/mocks/ecm-user.service.mock.mjs +37 -0
  46. package/esm2022/lib/common/models/allowable-operations.enum.mjs +30 -0
  47. package/esm2022/lib/common/models/ecm-company.model.mjs +19 -0
  48. package/esm2022/lib/common/models/ecm-user.model.mjs +45 -0
  49. package/esm2022/lib/common/models/file.model.mjs +53 -0
  50. package/esm2022/lib/common/models/node-metadata.model.mjs +23 -0
  51. package/esm2022/lib/common/models/permissions.enum.mjs +32 -0
  52. package/esm2022/lib/common/public-api.mjs +37 -0
  53. package/esm2022/lib/common/services/card-view-content-update.service.mjs +55 -0
  54. package/esm2022/lib/common/services/content.service.mjs +180 -0
  55. package/esm2022/lib/common/services/discovery-api.service.mjs +79 -0
  56. package/esm2022/lib/common/services/favorites-api.service.mjs +84 -0
  57. package/esm2022/lib/common/services/nodes-api.service.mjs +251 -0
  58. package/esm2022/lib/common/services/people-content.service.mjs +138 -0
  59. package/esm2022/lib/common/services/rendition.service.mjs +270 -0
  60. package/esm2022/lib/common/services/saved-searches.service.mjs +206 -0
  61. package/esm2022/lib/common/services/sites.service.mjs +243 -0
  62. package/esm2022/lib/common/services/upload.service.mjs +391 -0
  63. package/esm2022/lib/content-metadata/components/content-metadata/content-metadata-header.component.mjs +54 -0
  64. package/esm2022/lib/content-metadata/components/content-metadata/content-metadata.component.mjs +490 -0
  65. package/esm2022/lib/content-metadata/components/content-metadata-card/content-metadata-card.component.mjs +128 -0
  66. package/esm2022/lib/content-metadata/content-metadata.module.mjs +36 -0
  67. package/esm2022/lib/content-metadata/index.mjs +18 -0
  68. package/esm2022/lib/content-metadata/interfaces/aspect-oriented-config.interface.mjs +18 -0
  69. package/esm2022/lib/content-metadata/interfaces/card-view-group.interface.mjs +18 -0
  70. package/esm2022/lib/content-metadata/interfaces/content-metadata-config.interface.mjs +18 -0
  71. package/esm2022/lib/content-metadata/interfaces/content-metadata-custom-panel.interface.mjs +18 -0
  72. package/esm2022/lib/content-metadata/interfaces/content-metadata-panel.interface.mjs +18 -0
  73. package/esm2022/lib/content-metadata/interfaces/content-metadata.interfaces.mjs +28 -0
  74. package/esm2022/lib/content-metadata/interfaces/indifferent-config.interface.mjs +18 -0
  75. package/esm2022/lib/content-metadata/interfaces/layout-oriented-config.interface.mjs +18 -0
  76. package/esm2022/lib/content-metadata/interfaces/organised-property-group.interface.mjs +18 -0
  77. package/esm2022/lib/content-metadata/interfaces/preset-config.interface.mjs +18 -0
  78. package/esm2022/lib/content-metadata/interfaces/property-group.interface.mjs +18 -0
  79. package/esm2022/lib/content-metadata/interfaces/property.interface.mjs +18 -0
  80. package/esm2022/lib/content-metadata/public-api.mjs +31 -0
  81. package/esm2022/lib/content-metadata/services/basic-properties.service.mjs +107 -0
  82. package/esm2022/lib/content-metadata/services/config/aspect-oriented-config.service.mjs +106 -0
  83. package/esm2022/lib/content-metadata/services/config/content-metadata-config.factory.mjs +76 -0
  84. package/esm2022/lib/content-metadata/services/config/indifferent-config.service.mjs +40 -0
  85. package/esm2022/lib/content-metadata/services/config/layout-oriented-config.service.mjs +108 -0
  86. package/esm2022/lib/content-metadata/services/config/property-group-reader.mjs +33 -0
  87. package/esm2022/lib/content-metadata/services/content-metadata.service.mjs +99 -0
  88. package/esm2022/lib/content-metadata/services/content-type-property.service.mjs +134 -0
  89. package/esm2022/lib/content-metadata/services/property-descriptors.service.mjs +52 -0
  90. package/esm2022/lib/content-metadata/services/property-groups-translator.service.mjs +169 -0
  91. package/esm2022/lib/content-node-selector/content-node-dialog.service.mjs +256 -0
  92. package/esm2022/lib/content-node-selector/content-node-selector-panel/content-node-selector-panel.component.mjs +617 -0
  93. package/esm2022/lib/content-node-selector/content-node-selector-panel/content-node-selector-panel.service.mjs +66 -0
  94. package/esm2022/lib/content-node-selector/content-node-selector.component-data.interface.mjs +18 -0
  95. package/esm2022/lib/content-node-selector/content-node-selector.component.mjs +205 -0
  96. package/esm2022/lib/content-node-selector/content-node-selector.module.mjs +50 -0
  97. package/esm2022/lib/content-node-selector/index.mjs +18 -0
  98. package/esm2022/lib/content-node-selector/name-location-cell/name-location-cell.component.mjs +48 -0
  99. package/esm2022/lib/content-node-selector/public-api.mjs +25 -0
  100. package/esm2022/lib/content-node-selector/site-dropdown/sites-dropdown.component.mjs +168 -0
  101. package/esm2022/lib/content-node-share/content-node-share.dialog.mjs +287 -0
  102. package/esm2022/lib/content-node-share/content-node-share.directive.mjs +102 -0
  103. package/esm2022/lib/content-node-share/content-node-share.module.mjs +35 -0
  104. package/esm2022/lib/content-node-share/content-node-share.settings.mjs +18 -0
  105. package/esm2022/lib/content-node-share/index.mjs +18 -0
  106. package/esm2022/lib/content-node-share/public-api.mjs +22 -0
  107. package/esm2022/lib/content-node-share/services/shared-links-api.service.mjs +83 -0
  108. package/esm2022/lib/content-type/content-type-dialog.component.mjs +57 -0
  109. package/esm2022/lib/content-type/content-type-metadata.interface.mjs +18 -0
  110. package/esm2022/lib/content-type/content-type.service.mjs +52 -0
  111. package/esm2022/lib/content-type/index.mjs +20 -0
  112. package/esm2022/lib/content.module.mjs +277 -0
  113. package/esm2022/lib/dialogs/category-selector/category-selector.dialog.mjs +51 -0
  114. package/esm2022/lib/dialogs/dialog.module.mjs +52 -0
  115. package/esm2022/lib/dialogs/download-zip/download-zip.dialog.mjs +111 -0
  116. package/esm2022/lib/dialogs/download-zip/download-zip.dialog.module.mjs +38 -0
  117. package/esm2022/lib/dialogs/download-zip/services/download-zip.service.mjs +66 -0
  118. package/esm2022/lib/dialogs/folder/folder-name.validators.mjs +44 -0
  119. package/esm2022/lib/dialogs/folder/folder.dialog.mjs +146 -0
  120. package/esm2022/lib/dialogs/index.mjs +18 -0
  121. package/esm2022/lib/dialogs/library/library.dialog.mjs +224 -0
  122. package/esm2022/lib/dialogs/node-lock/node-lock.dialog.mjs +115 -0
  123. package/esm2022/lib/dialogs/public-api.mjs +25 -0
  124. package/esm2022/lib/directives/auto-focus.directive.mjs +38 -0
  125. package/esm2022/lib/directives/check-allowable-operation.directive.mjs +126 -0
  126. package/esm2022/lib/directives/content-directive.module.mjs +75 -0
  127. package/esm2022/lib/directives/index.mjs +18 -0
  128. package/esm2022/lib/directives/library-favorite.directive.mjs +119 -0
  129. package/esm2022/lib/directives/library-membership.directive.mjs +202 -0
  130. package/esm2022/lib/directives/node-counter.directive.mjs +59 -0
  131. package/esm2022/lib/directives/node-delete.directive.mjs +177 -0
  132. package/esm2022/lib/directives/node-download.directive.mjs +138 -0
  133. package/esm2022/lib/directives/node-favorite.directive.mjs +193 -0
  134. package/esm2022/lib/directives/node-lock.directive.mjs +57 -0
  135. package/esm2022/lib/directives/node-restore.directive.mjs +218 -0
  136. package/esm2022/lib/directives/public-api.mjs +28 -0
  137. package/esm2022/lib/document-list/components/content-action/content-action-list.component.mjs +60 -0
  138. package/esm2022/lib/document-list/components/content-action/content-action.component.mjs +196 -0
  139. package/esm2022/lib/document-list/components/document-list.component.mjs +965 -0
  140. package/esm2022/lib/document-list/components/document-list.token.mjs +21 -0
  141. package/esm2022/lib/document-list/components/file-auto-download/file-auto-download.component.mjs +42 -0
  142. package/esm2022/lib/document-list/components/filter-header/filter-header.component.mjs +107 -0
  143. package/esm2022/lib/document-list/components/library-name-column/library-name-column.component.mjs +131 -0
  144. package/esm2022/lib/document-list/components/library-role-column/library-role-column.component.mjs +91 -0
  145. package/esm2022/lib/document-list/components/library-status-column/library-status-column.component.mjs +86 -0
  146. package/esm2022/lib/document-list/components/name-column/name-column.component.mjs +118 -0
  147. package/esm2022/lib/document-list/components/node.event.mjs +30 -0
  148. package/esm2022/lib/document-list/components/trashcan-name-column/trashcan-name-column.component.mjs +83 -0
  149. package/esm2022/lib/document-list/data/image-resolver.model.mjs +18 -0
  150. package/esm2022/lib/document-list/data/row-filter.model.mjs +18 -0
  151. package/esm2022/lib/document-list/data/share-data-row.model.mjs +102 -0
  152. package/esm2022/lib/document-list/data/share-datatable-adapter.mjs +258 -0
  153. package/esm2022/lib/document-list/document-list.module.mjs +75 -0
  154. package/esm2022/lib/document-list/index.mjs +18 -0
  155. package/esm2022/lib/document-list/interfaces/document-list-loader.interface.mjs +18 -0
  156. package/esm2022/lib/document-list/models/content-action.model.mjs +59 -0
  157. package/esm2022/lib/document-list/models/document-folder.model.mjs +23 -0
  158. package/esm2022/lib/document-list/models/node-action.enum.mjs +27 -0
  159. package/esm2022/lib/document-list/models/permissions-style.model.mjs +27 -0
  160. package/esm2022/lib/document-list/models/permissions.model.mjs +26 -0
  161. package/esm2022/lib/document-list/models/preset.model.mjs +257 -0
  162. package/esm2022/lib/document-list/public-api.mjs +47 -0
  163. package/esm2022/lib/document-list/services/custom-resources.service.mjs +378 -0
  164. package/esm2022/lib/document-list/services/document-actions.service.mjs +142 -0
  165. package/esm2022/lib/document-list/services/document-list.service.mjs +175 -0
  166. package/esm2022/lib/document-list/services/folder-actions.service.mjs +137 -0
  167. package/esm2022/lib/document-list/services/lock.service.mjs +72 -0
  168. package/esm2022/lib/document-list/services/node-actions.service.mjs +122 -0
  169. package/esm2022/lib/group/index.mjs +18 -0
  170. package/esm2022/lib/group/public-api.mjs +18 -0
  171. package/esm2022/lib/group/services/group.service.mjs +84 -0
  172. package/esm2022/lib/infinite-scroll-datasource/index.mjs +18 -0
  173. package/esm2022/lib/infinite-scroll-datasource/infinite-scroll-datasource.mjs +69 -0
  174. package/esm2022/lib/infinite-scroll-datasource/public-api.mjs +18 -0
  175. package/esm2022/lib/interfaces/base-card-view-content-update.interface.mjs +18 -0
  176. package/esm2022/lib/interfaces/index.mjs +18 -0
  177. package/esm2022/lib/interfaces/library-entity.interface.mjs +18 -0
  178. package/esm2022/lib/interfaces/library-membership-error-event.interface.mjs +18 -0
  179. package/esm2022/lib/interfaces/library-membership-toggle-event.interface.mjs +18 -0
  180. package/esm2022/lib/interfaces/node-allowable-operation-subject.interface.mjs +18 -0
  181. package/esm2022/lib/interfaces/public-api.mjs +23 -0
  182. package/esm2022/lib/interfaces/restore-message-model.interface.mjs +19 -0
  183. package/esm2022/lib/legal-hold/index.mjs +18 -0
  184. package/esm2022/lib/legal-hold/public-api.mjs +18 -0
  185. package/esm2022/lib/legal-hold/services/legal-hold.service.mjs +136 -0
  186. package/esm2022/lib/material.module.mjs +183 -0
  187. package/esm2022/lib/mock/alfresco-api.service.mock.mjs +43 -0
  188. package/esm2022/lib/mock/date-range-search-filter.mock.mjs +65 -0
  189. package/esm2022/lib/mock/document-library.model.mock.mjs +84 -0
  190. package/esm2022/lib/mock/document-list.component.mock.mjs +364 -0
  191. package/esm2022/lib/mock/index.mjs +18 -0
  192. package/esm2022/lib/mock/new-version-uploader.service.mock.mjs +161 -0
  193. package/esm2022/lib/mock/public-api.mjs +27 -0
  194. package/esm2022/lib/mock/search-filter-mock.mjs +637 -0
  195. package/esm2022/lib/mock/search-query.mock.mjs +40 -0
  196. package/esm2022/lib/mock/search.component.mock.mjs +165 -0
  197. package/esm2022/lib/mock/search.service.mock.mjs +61 -0
  198. package/esm2022/lib/mock/sites-dropdown.component.mock.mjs +281 -0
  199. package/esm2022/lib/new-version-uploader/index.mjs +18 -0
  200. package/esm2022/lib/new-version-uploader/models/index.mjs +18 -0
  201. package/esm2022/lib/new-version-uploader/models/new-version-uploader.model.mjs +24 -0
  202. package/esm2022/lib/new-version-uploader/new-version-uploader.dialog.mjs +74 -0
  203. package/esm2022/lib/new-version-uploader/new-version-uploader.module.mjs +33 -0
  204. package/esm2022/lib/new-version-uploader/new-version-uploader.service.mjs +103 -0
  205. package/esm2022/lib/new-version-uploader/public-api.mjs +21 -0
  206. package/esm2022/lib/node-comments/index.mjs +18 -0
  207. package/esm2022/lib/node-comments/node-comments.component.mjs +50 -0
  208. package/esm2022/lib/node-comments/node-comments.module.mjs +33 -0
  209. package/esm2022/lib/node-comments/public-api.mjs +20 -0
  210. package/esm2022/lib/node-comments/services/node-comments.service.mjs +85 -0
  211. package/esm2022/lib/permission-manager/components/add-permission/add-permission-dialog-data.interface.mjs +18 -0
  212. package/esm2022/lib/permission-manager/components/add-permission/add-permission-dialog.component.mjs +123 -0
  213. package/esm2022/lib/permission-manager/components/add-permission/add-permission-panel.component.mjs +102 -0
  214. package/esm2022/lib/permission-manager/components/add-permission/add-permission.component.mjs +69 -0
  215. package/esm2022/lib/permission-manager/components/add-permission/search-config-permission.service.mjs +45 -0
  216. package/esm2022/lib/permission-manager/components/inherited-button.directive.mjs +67 -0
  217. package/esm2022/lib/permission-manager/components/node-path-column/node-path-column.component.mjs +56 -0
  218. package/esm2022/lib/permission-manager/components/permission-container/permission-container.component.mjs +102 -0
  219. package/esm2022/lib/permission-manager/components/permission-list/permission-list.component.mjs +87 -0
  220. package/esm2022/lib/permission-manager/components/permission-list/permission-list.service.mjs +219 -0
  221. package/esm2022/lib/permission-manager/components/pop-over.directive.mjs +134 -0
  222. package/esm2022/lib/permission-manager/components/user-icon-column/user-icon-column.component.mjs +88 -0
  223. package/esm2022/lib/permission-manager/components/user-name-column/user-name-column.component.mjs +82 -0
  224. package/esm2022/lib/permission-manager/components/user-role-column/user-role-column.component.mjs +111 -0
  225. package/esm2022/lib/permission-manager/index.mjs +18 -0
  226. package/esm2022/lib/permission-manager/models/member.model.mjs +59 -0
  227. package/esm2022/lib/permission-manager/models/permission.model.mjs +29 -0
  228. package/esm2022/lib/permission-manager/models/role.model.mjs +18 -0
  229. package/esm2022/lib/permission-manager/permission-manager.module.mjs +84 -0
  230. package/esm2022/lib/permission-manager/public-api.mjs +36 -0
  231. package/esm2022/lib/permission-manager/services/node-permission-dialog.service.mjs +78 -0
  232. package/esm2022/lib/permission-manager/services/node-permission.service.mjs +299 -0
  233. package/esm2022/lib/pipes/content-pipe.module.mjs +37 -0
  234. package/esm2022/lib/pipes/index.mjs +18 -0
  235. package/esm2022/lib/pipes/node-name-tooltip.pipe.mjs +69 -0
  236. package/esm2022/lib/pipes/public-api.mjs +19 -0
  237. package/esm2022/lib/prediction/index.mjs +18 -0
  238. package/esm2022/lib/prediction/public-api.mjs +18 -0
  239. package/esm2022/lib/prediction/services/index.mjs +18 -0
  240. package/esm2022/lib/prediction/services/prediction.service.mjs +57 -0
  241. package/esm2022/lib/search/components/empty-search-result.component.mjs +27 -0
  242. package/esm2022/lib/search/components/index.mjs +43 -0
  243. package/esm2022/lib/search/components/reset-search.directive.mjs +41 -0
  244. package/esm2022/lib/search/components/search-check-list/index.mjs +18 -0
  245. package/esm2022/lib/search/components/search-check-list/search-check-list.component.mjs +158 -0
  246. package/esm2022/lib/search/components/search-chip-autocomplete-input/index.mjs +18 -0
  247. package/esm2022/lib/search/components/search-chip-autocomplete-input/search-chip-autocomplete-input.component.mjs +169 -0
  248. package/esm2022/lib/search/components/search-chip-list/search-chip-list.component.mjs +46 -0
  249. package/esm2022/lib/search/components/search-control.component.mjs +180 -0
  250. package/esm2022/lib/search/components/search-date-range-tabbed/index.mjs +22 -0
  251. package/esm2022/lib/search/components/search-date-range-tabbed/search-date-range/date-range-type.mjs +23 -0
  252. package/esm2022/lib/search/components/search-date-range-tabbed/search-date-range/in-last-date-type.mjs +23 -0
  253. package/esm2022/lib/search/components/search-date-range-tabbed/search-date-range/search-date-range.component.mjs +196 -0
  254. package/esm2022/lib/search/components/search-date-range-tabbed/search-date-range/search-date-range.mjs +18 -0
  255. package/esm2022/lib/search/components/search-date-range-tabbed/search-date-range-tabbed.component.mjs +201 -0
  256. package/esm2022/lib/search/components/search-datetime-range/index.mjs +18 -0
  257. package/esm2022/lib/search/components/search-datetime-range/search-datetime-range.component.mjs +223 -0
  258. package/esm2022/lib/search/components/search-facet-field/index.mjs +18 -0
  259. package/esm2022/lib/search/components/search-facet-field/search-facet-field.component.mjs +132 -0
  260. package/esm2022/lib/search/components/search-filter/index.mjs +19 -0
  261. package/esm2022/lib/search/components/search-filter/search-filter-card/search-filter-card.component.mjs +45 -0
  262. package/esm2022/lib/search/components/search-filter/search-filter.component.mjs +80 -0
  263. package/esm2022/lib/search/components/search-filter-autocomplete-chips/index.mjs +18 -0
  264. package/esm2022/lib/search/components/search-filter-autocomplete-chips/search-filter-autocomplete-chips.component.mjs +154 -0
  265. package/esm2022/lib/search/components/search-filter-chips/index.mjs +23 -0
  266. package/esm2022/lib/search/components/search-filter-chips/search-facet-chip/search-facet-chip.component.mjs +104 -0
  267. package/esm2022/lib/search/components/search-filter-chips/search-facet-chip-tabbed/search-facet-chip-tabbed.component.mjs +109 -0
  268. package/esm2022/lib/search/components/search-filter-chips/search-facet-chip-tabbed/search-facet-tabbed-content.component.mjs +129 -0
  269. package/esm2022/lib/search/components/search-filter-chips/search-filter-chips.component.mjs +63 -0
  270. package/esm2022/lib/search/components/search-filter-chips/search-filter-menu-card/search-filter-menu-card.component.mjs +43 -0
  271. package/esm2022/lib/search/components/search-filter-chips/search-widget-chip/search-widget-chip.component.mjs +109 -0
  272. package/esm2022/lib/search/components/search-filter-container/index.mjs +18 -0
  273. package/esm2022/lib/search/components/search-filter-container/search-filter-container.component.mjs +122 -0
  274. package/esm2022/lib/search/components/search-filter-tabbed/index.mjs +19 -0
  275. package/esm2022/lib/search/components/search-filter-tabbed/search-filter-tab.directive.mjs +36 -0
  276. package/esm2022/lib/search/components/search-filter-tabbed/search-filter-tabbed.component.mjs +63 -0
  277. package/esm2022/lib/search/components/search-form/index.mjs +18 -0
  278. package/esm2022/lib/search/components/search-form/search-form.component.mjs +52 -0
  279. package/esm2022/lib/search/components/search-input/index.mjs +18 -0
  280. package/esm2022/lib/search/components/search-input/search-input.component.mjs +108 -0
  281. package/esm2022/lib/search/components/search-logical-filter/index.mjs +18 -0
  282. package/esm2022/lib/search/components/search-logical-filter/search-logical-filter.component.mjs +163 -0
  283. package/esm2022/lib/search/components/search-number-range/index.mjs +18 -0
  284. package/esm2022/lib/search/components/search-number-range/search-number-range.component.mjs +154 -0
  285. package/esm2022/lib/search/components/search-panel/index.mjs +18 -0
  286. package/esm2022/lib/search/components/search-panel/search-panel.component.mjs +44 -0
  287. package/esm2022/lib/search/components/search-properties/file-size-condition.mjs +18 -0
  288. package/esm2022/lib/search/components/search-properties/file-size-operator.enum.mjs +23 -0
  289. package/esm2022/lib/search/components/search-properties/file-size-unit.enum.mjs +26 -0
  290. package/esm2022/lib/search/components/search-properties/index.mjs +22 -0
  291. package/esm2022/lib/search/components/search-properties/search-properties.component.mjs +244 -0
  292. package/esm2022/lib/search/components/search-properties/search-properties.mjs +18 -0
  293. package/esm2022/lib/search/components/search-radio/index.mjs +18 -0
  294. package/esm2022/lib/search/components/search-radio/search-radio.component.mjs +145 -0
  295. package/esm2022/lib/search/components/search-slider/index.mjs +18 -0
  296. package/esm2022/lib/search/components/search-slider/search-slider.component.mjs +119 -0
  297. package/esm2022/lib/search/components/search-sorting-picker/index.mjs +18 -0
  298. package/esm2022/lib/search/components/search-sorting-picker/search-sorting-picker.component.mjs +77 -0
  299. package/esm2022/lib/search/components/search-text/index.mjs +18 -0
  300. package/esm2022/lib/search/components/search-text/search-text.component.mjs +134 -0
  301. package/esm2022/lib/search/components/search-widget-container/index.mjs +18 -0
  302. package/esm2022/lib/search/components/search-widget-container/search-widget-container.component.mjs +113 -0
  303. package/esm2022/lib/search/components/search.component.mjs +152 -0
  304. package/esm2022/lib/search/forms/index.mjs +19 -0
  305. package/esm2022/lib/search/forms/live-error-state-matcher.mjs +23 -0
  306. package/esm2022/lib/search/forms/search-term-validator.mjs +26 -0
  307. package/esm2022/lib/search/index.mjs +18 -0
  308. package/esm2022/lib/search/mocks/index.mjs +18 -0
  309. package/esm2022/lib/search/mocks/search.service.mock.mjs +56 -0
  310. package/esm2022/lib/search/models/autocomplete-option.interface.mjs +22 -0
  311. package/esm2022/lib/search/models/facet-field-bucket.interface.mjs +18 -0
  312. package/esm2022/lib/search/models/facet-field.interface.mjs +29 -0
  313. package/esm2022/lib/search/models/facet-query.interface.mjs +18 -0
  314. package/esm2022/lib/search/models/facet-widget.interface.mjs +18 -0
  315. package/esm2022/lib/search/models/filter-query.interface.mjs +18 -0
  316. package/esm2022/lib/search/models/filter-search.interface.mjs +18 -0
  317. package/esm2022/lib/search/models/index.mjs +34 -0
  318. package/esm2022/lib/search/models/response-facet-query-list.model.mjs +31 -0
  319. package/esm2022/lib/search/models/search-category.interface.mjs +18 -0
  320. package/esm2022/lib/search/models/search-configuration.interface.mjs +18 -0
  321. package/esm2022/lib/search/models/search-filter-list.model.mjs +148 -0
  322. package/esm2022/lib/search/models/search-form.interface.mjs +18 -0
  323. package/esm2022/lib/search/models/search-range.interface.mjs +18 -0
  324. package/esm2022/lib/search/models/search-sorting-definition.interface.mjs +18 -0
  325. package/esm2022/lib/search/models/search-widget-settings.interface.mjs +18 -0
  326. package/esm2022/lib/search/models/search-widget.interface.mjs +18 -0
  327. package/esm2022/lib/search/models/tabbed-facet-field.interface.mjs +18 -0
  328. package/esm2022/lib/search/public-api.mjs +24 -0
  329. package/esm2022/lib/search/search-configuration.token.mjs +19 -0
  330. package/esm2022/lib/search/search.module.mjs +192 -0
  331. package/esm2022/lib/search/services/base-query-builder.service.mjs +509 -0
  332. package/esm2022/lib/search/services/index.mjs +24 -0
  333. package/esm2022/lib/search/services/search-configuration.service.mjs +50 -0
  334. package/esm2022/lib/search/services/search-facet-filters.service.mjs +374 -0
  335. package/esm2022/lib/search/services/search-filter.service.mjs +56 -0
  336. package/esm2022/lib/search/services/search-header-query-builder.service.mjs +136 -0
  337. package/esm2022/lib/search/services/search-query-builder.service.mjs +48 -0
  338. package/esm2022/lib/search/services/search.service.mjs +89 -0
  339. package/esm2022/lib/search-ai/index.mjs +18 -0
  340. package/esm2022/lib/search-ai/models/search-ai-input-state.mjs +18 -0
  341. package/esm2022/lib/search-ai/public-api.mjs +19 -0
  342. package/esm2022/lib/search-ai/services/search-ai.service.mjs +103 -0
  343. package/esm2022/lib/security/index.mjs +18 -0
  344. package/esm2022/lib/security/public-api.mjs +18 -0
  345. package/esm2022/lib/security/services/models/security-controls-group-response.interface.mjs +18 -0
  346. package/esm2022/lib/security/services/models/security-controls-mark-response.interface.mjs +18 -0
  347. package/esm2022/lib/security/services/security-controls-groups-marks-security.service.mjs +274 -0
  348. package/esm2022/lib/security-options-loader/security-options-loader.service.mjs +43 -0
  349. package/esm2022/lib/services/alfresco-api.interface.mjs +18 -0
  350. package/esm2022/lib/services/alfresco-api.service.mjs +120 -0
  351. package/esm2022/lib/services/index.mjs +18 -0
  352. package/esm2022/lib/services/public-api.mjs +18 -0
  353. package/esm2022/lib/tag/index.mjs +18 -0
  354. package/esm2022/lib/tag/public-api.mjs +24 -0
  355. package/esm2022/lib/tag/services/tag.service.mjs +171 -0
  356. package/esm2022/lib/tag/tag-actions/tag-actions.component.mjs +114 -0
  357. package/esm2022/lib/tag/tag-list/tag-list.component.mjs +98 -0
  358. package/esm2022/lib/tag/tag-node-list/tag-node-list.component.mjs +80 -0
  359. package/esm2022/lib/tag/tag.module.mjs +37 -0
  360. package/esm2022/lib/tag/tags-creator/tags-creator-mode.mjs +27 -0
  361. package/esm2022/lib/tag/tags-creator/tags-creator.component.mjs +370 -0
  362. package/esm2022/lib/testing/content.testing.module.mjs +56 -0
  363. package/esm2022/lib/tree/components/tree.component.mjs +312 -0
  364. package/esm2022/lib/tree/index.mjs +18 -0
  365. package/esm2022/lib/tree/models/tree-context-menu-result.interface.mjs +18 -0
  366. package/esm2022/lib/tree/models/tree-node.interface.mjs +22 -0
  367. package/esm2022/lib/tree/models/tree-response.interface.mjs +18 -0
  368. package/esm2022/lib/tree/public-api.mjs +23 -0
  369. package/esm2022/lib/tree/services/tree.service.mjs +134 -0
  370. package/esm2022/lib/tree/tree.module.mjs +33 -0
  371. package/esm2022/lib/tree-view/components/tree-view.component.mjs +75 -0
  372. package/esm2022/lib/tree-view/data/tree-view-datasource.mjs +99 -0
  373. package/esm2022/lib/tree-view/index.mjs +18 -0
  374. package/esm2022/lib/tree-view/models/tree-view.model.mjs +28 -0
  375. package/esm2022/lib/tree-view/public-api.mjs +22 -0
  376. package/esm2022/lib/tree-view/services/tree-view.service.mjs +38 -0
  377. package/esm2022/lib/tree-view/tree-view.module.mjs +33 -0
  378. package/esm2022/lib/upload/components/base-upload/upload-base.mjs +176 -0
  379. package/esm2022/lib/upload/components/file-uploading-dialog.component.mjs +190 -0
  380. package/esm2022/lib/upload/components/file-uploading-list-row.component.mjs +92 -0
  381. package/esm2022/lib/upload/components/file-uploading-list.component.mjs +124 -0
  382. package/esm2022/lib/upload/components/upload-button.component.mjs +133 -0
  383. package/esm2022/lib/upload/components/upload-drag-area.component.mjs +112 -0
  384. package/esm2022/lib/upload/components/upload-files.event.mjs +41 -0
  385. package/esm2022/lib/upload/components/upload-version-button.component.mjs +54 -0
  386. package/esm2022/lib/upload/directives/file-draggable.directive.mjs +154 -0
  387. package/esm2022/lib/upload/directives/toggle-icon.directive.mjs +75 -0
  388. package/esm2022/lib/upload/index.mjs +18 -0
  389. package/esm2022/lib/upload/pipes/file-upload-error.pipe.mjs +39 -0
  390. package/esm2022/lib/upload/public-api.mjs +29 -0
  391. package/esm2022/lib/upload/upload.module.mjs +72 -0
  392. package/esm2022/lib/version-compatibility/index.mjs +18 -0
  393. package/esm2022/lib/version-compatibility/public-api.mjs +20 -0
  394. package/esm2022/lib/version-compatibility/version-compatibility-factory.mjs +26 -0
  395. package/esm2022/lib/version-compatibility/version-compatibility.directive.mjs +53 -0
  396. package/esm2022/lib/version-compatibility/version-compatibility.module.mjs +33 -0
  397. package/esm2022/lib/version-compatibility/version-compatibility.service.mjs +76 -0
  398. package/esm2022/lib/version-manager/content-version.service.mjs +53 -0
  399. package/esm2022/lib/version-manager/index.mjs +18 -0
  400. package/esm2022/lib/version-manager/public-api.mjs +23 -0
  401. package/esm2022/lib/version-manager/version-comparison.component.mjs +42 -0
  402. package/esm2022/lib/version-manager/version-list.component.mjs +215 -0
  403. package/esm2022/lib/version-manager/version-manager.component.mjs +145 -0
  404. package/esm2022/lib/version-manager/version-manager.module.mjs +48 -0
  405. package/esm2022/lib/version-manager/version-upload.component.mjs +154 -0
  406. package/esm2022/lib/viewer/alfresco-viewer.module.mjs +33 -0
  407. package/esm2022/lib/viewer/components/alfresco-viewer.component.mjs +408 -0
  408. package/esm2022/lib/viewer/index.mjs +18 -0
  409. package/esm2022/lib/viewer/public-api.mjs +19 -0
  410. package/esm2022/public-api.mjs +56 -0
  411. package/fesm2022/adf-content-services.mjs +827 -870
  412. package/fesm2022/adf-content-services.mjs.map +1 -1
  413. package/lib/aspect-list/aspect-list.component.d.ts +0 -4
  414. package/lib/aspect-list/public-api.d.ts +0 -1
  415. package/lib/aspect-list/services/aspect-list.service.d.ts +4 -6
  416. package/lib/category/categories-management/categories-management.component.d.ts +0 -4
  417. package/lib/content.module.d.ts +2 -2
  418. package/lib/dialogs/dialog.module.d.ts +5 -6
  419. package/lib/dialogs/download-zip/download-zip.dialog.d.ts +1 -1
  420. package/lib/dialogs/download-zip/download-zip.dialog.module.d.ts +6 -2
  421. package/lib/new-version-uploader/new-version-uploader.dialog.scss +1 -1
  422. package/lib/upload/components/base-upload/upload-base.d.ts +1 -1
  423. package/lib/version-manager/version-list.component.scss +2 -3
  424. package/package.json +5 -3
  425. package/lib/aspect-list/interfaces/custom-aspect-paging.interface.d.ts +0 -21
@@ -0,0 +1,59 @@
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 { Directive, Input, Component, ViewContainerRef } from '@angular/core';
18
+ import { TranslatePipe } from '@ngx-translate/core';
19
+ import * as i0 from "@angular/core";
20
+ export class NodeCounterDirective {
21
+ constructor(viewContainerRef) {
22
+ this.viewContainerRef = viewContainerRef;
23
+ }
24
+ ngOnInit() {
25
+ this.componentRef = this.viewContainerRef.createComponent(NodeCounterComponent).instance;
26
+ this.componentRef.counter = this.counter;
27
+ }
28
+ ngOnChanges() {
29
+ if (this.componentRef) {
30
+ this.componentRef.counter = this.counter;
31
+ }
32
+ }
33
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: NodeCounterDirective, deps: [{ token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive }); }
34
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: NodeCounterDirective, isStandalone: true, selector: "[adf-node-counter]", inputs: { counter: ["adf-node-counter", "counter"] }, usesOnChanges: true, ngImport: i0 }); }
35
+ }
36
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: NodeCounterDirective, decorators: [{
37
+ type: Directive,
38
+ args: [{
39
+ standalone: true,
40
+ selector: '[adf-node-counter]'
41
+ }]
42
+ }], ctorParameters: () => [{ type: i0.ViewContainerRef }], propDecorators: { counter: [{
43
+ type: Input,
44
+ args: ['adf-node-counter']
45
+ }] } });
46
+ export class NodeCounterComponent {
47
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: NodeCounterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
48
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: NodeCounterComponent, isStandalone: true, selector: "adf-node-counter", ngImport: i0, template: ` <div>{{ 'NODE_COUNTER.SELECTED_COUNT' | translate : { count: counter } }}</div> `, isInline: true, dependencies: [{ kind: "pipe", type: TranslatePipe, name: "translate" }] }); }
49
+ }
50
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: NodeCounterComponent, decorators: [{
51
+ type: Component,
52
+ args: [{
53
+ standalone: true,
54
+ imports: [TranslatePipe],
55
+ selector: 'adf-node-counter',
56
+ template: ` <div>{{ 'NODE_COUNTER.SELECTED_COUNT' | translate : { count: counter } }}</div> `
57
+ }]
58
+ }] });
59
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9kZS1jb3VudGVyLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYi9jb250ZW50LXNlcnZpY2VzL3NyYy9saWIvZGlyZWN0aXZlcy9ub2RlLWNvdW50ZXIuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7R0FlRztBQUVILE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBcUIsZ0JBQWdCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDakcsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHFCQUFxQixDQUFDOztBQU1wRCxNQUFNLE9BQU8sb0JBQW9CO0lBTzdCLFlBQW9CLGdCQUFrQztRQUFsQyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO0lBQUcsQ0FBQztJQUUxRCxRQUFRO1FBQ0osSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsZUFBZSxDQUFDLG9CQUFvQixDQUFDLENBQUMsUUFBUSxDQUFDO1FBQ3pGLElBQUksQ0FBQyxZQUFZLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUM7SUFDN0MsQ0FBQztJQUVELFdBQVc7UUFDUCxJQUFJLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUNwQixJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDO1FBQzdDLENBQUM7SUFDTCxDQUFDOytHQWxCUSxvQkFBb0I7bUdBQXBCLG9CQUFvQjs7NEZBQXBCLG9CQUFvQjtrQkFKaEMsU0FBUzttQkFBQztvQkFDUCxVQUFVLEVBQUUsSUFBSTtvQkFDaEIsUUFBUSxFQUFFLG9CQUFvQjtpQkFDakM7cUZBSUcsT0FBTztzQkFETixLQUFLO3VCQUFDLGtCQUFrQjs7QUF5QjdCLE1BQU0sT0FBTyxvQkFBb0I7K0dBQXBCLG9CQUFvQjttR0FBcEIsb0JBQW9CLDRFQUZuQixtRkFBbUYsdURBRm5GLGFBQWE7OzRGQUlkLG9CQUFvQjtrQkFOaEMsU0FBUzttQkFBQztvQkFDUCxVQUFVLEVBQUUsSUFBSTtvQkFDaEIsT0FBTyxFQUFFLENBQUMsYUFBYSxDQUFDO29CQUN4QixRQUFRLEVBQUUsa0JBQWtCO29CQUM1QixRQUFRLEVBQUUsbUZBQW1GO2lCQUNoRyIsInNvdXJjZXNDb250ZW50IjpbIi8qIVxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCDCqSAyMDA1LTIwMjUgSHlsYW5kIFNvZnR3YXJlLCBJbmMuIGFuZCBpdHMgYWZmaWxpYXRlcy4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuaW1wb3J0IHsgRGlyZWN0aXZlLCBJbnB1dCwgQ29tcG9uZW50LCBPbkluaXQsIE9uQ2hhbmdlcywgVmlld0NvbnRhaW5lclJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVHJhbnNsYXRlUGlwZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuXG5ARGlyZWN0aXZlKHtcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIHNlbGVjdG9yOiAnW2FkZi1ub2RlLWNvdW50ZXJdJ1xufSlcbmV4cG9ydCBjbGFzcyBOb2RlQ291bnRlckRpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzIHtcbiAgICAvKiogTnVtYmVyIHRvIGRpc3BsYXkgaW4gdGhlIGNvdW50ZXIgYmFkZ2UgKi9cbiAgICBASW5wdXQoJ2FkZi1ub2RlLWNvdW50ZXInKVxuICAgIGNvdW50ZXI6IG51bWJlcjtcblxuICAgIGNvbXBvbmVudFJlZjogTm9kZUNvdW50ZXJDb21wb25lbnQ7XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIHZpZXdDb250YWluZXJSZWY6IFZpZXdDb250YWluZXJSZWYpIHt9XG5cbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgdGhpcy5jb21wb25lbnRSZWYgPSB0aGlzLnZpZXdDb250YWluZXJSZWYuY3JlYXRlQ29tcG9uZW50KE5vZGVDb3VudGVyQ29tcG9uZW50KS5pbnN0YW5jZTtcbiAgICAgICAgdGhpcy5jb21wb25lbnRSZWYuY291bnRlciA9IHRoaXMuY291bnRlcjtcbiAgICB9XG5cbiAgICBuZ09uQ2hhbmdlcygpIHtcbiAgICAgICAgaWYgKHRoaXMuY29tcG9uZW50UmVmKSB7XG4gICAgICAgICAgICB0aGlzLmNvbXBvbmVudFJlZi5jb3VudGVyID0gdGhpcy5jb3VudGVyO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5AQ29tcG9uZW50KHtcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtUcmFuc2xhdGVQaXBlXSxcbiAgICBzZWxlY3RvcjogJ2FkZi1ub2RlLWNvdW50ZXInLFxuICAgIHRlbXBsYXRlOiBgIDxkaXY+e3sgJ05PREVfQ09VTlRFUi5TRUxFQ1RFRF9DT1VOVCcgfCB0cmFuc2xhdGUgOiB7IGNvdW50OiBjb3VudGVyIH0gfX08L2Rpdj4gYFxufSlcbmV4cG9ydCBjbGFzcyBOb2RlQ291bnRlckNvbXBvbmVudCB7XG4gICAgY291bnRlcjogbnVtYmVyO1xufVxuIl19
@@ -0,0 +1,177 @@
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, ElementRef, EventEmitter, HostListener, Input, Output } from '@angular/core';
19
+ import { TrashcanApi, NodesApi } from '@alfresco/js-api';
20
+ import { forkJoin, from, of } from 'rxjs';
21
+ import { TranslationService } from '@alfresco/adf-core';
22
+ import { map, catchError, retry } from 'rxjs/operators';
23
+ import { AlfrescoApiService } from '../services/alfresco-api.service';
24
+ import * as i0 from "@angular/core";
25
+ import * as i1 from "../services/alfresco-api.service";
26
+ import * as i2 from "@alfresco/adf-core";
27
+ export class NodeDeleteDirective {
28
+ get trashcanApi() {
29
+ this._trashcanApi = this._trashcanApi ?? new TrashcanApi(this.alfrescoApiService.getInstance());
30
+ return this._trashcanApi;
31
+ }
32
+ get nodesApi() {
33
+ this._nodesApi = this._nodesApi ?? new NodesApi(this.alfrescoApiService.getInstance());
34
+ return this._nodesApi;
35
+ }
36
+ onClick() {
37
+ this.process(this.selection);
38
+ }
39
+ constructor(alfrescoApiService, translation, elementRef) {
40
+ this.alfrescoApiService = alfrescoApiService;
41
+ this.translation = translation;
42
+ this.elementRef = elementRef;
43
+ /** If true then the nodes are deleted immediately rather than being put in the trash */
44
+ this.permanent = false;
45
+ /** Emitted when the nodes have been deleted. */
46
+ this.delete = new EventEmitter();
47
+ }
48
+ ngOnChanges() {
49
+ if (!this.selection || (this.selection && this.selection.length === 0)) {
50
+ this.setDisableAttribute(true);
51
+ }
52
+ else {
53
+ if (!this.elementRef.nativeElement.hasAttribute('adf-check-allowable-operation')) {
54
+ this.setDisableAttribute(false);
55
+ }
56
+ }
57
+ }
58
+ setDisableAttribute(disable) {
59
+ this.elementRef.nativeElement.disabled = disable;
60
+ }
61
+ process(selection) {
62
+ if (selection?.length) {
63
+ const batch = this.getDeleteNodesBatch(selection);
64
+ forkJoin(...batch).subscribe((data) => {
65
+ const processedItems = this.processStatus(data);
66
+ const message = this.getMessage(processedItems);
67
+ if (message) {
68
+ this.delete.emit(message);
69
+ }
70
+ });
71
+ }
72
+ }
73
+ getDeleteNodesBatch(selection) {
74
+ return selection.map((node) => this.deleteNode(node));
75
+ }
76
+ deleteNode(node) {
77
+ const id = node.entry.nodeId || node.entry.id;
78
+ let promise;
79
+ if (Object.prototype.hasOwnProperty.call(node.entry, 'archivedAt') && node.entry['archivedAt']) {
80
+ promise = this.trashcanApi.deleteDeletedNode(id);
81
+ }
82
+ else {
83
+ promise = this.nodesApi.deleteNode(id, { permanent: this.permanent });
84
+ }
85
+ return from(promise).pipe(retry(3), map(() => ({
86
+ entry: node.entry,
87
+ status: 1
88
+ })), catchError(() => of({
89
+ entry: node.entry,
90
+ status: 0
91
+ })));
92
+ }
93
+ processStatus(data) {
94
+ const deleteStatus = {
95
+ success: [],
96
+ failed: [],
97
+ get someFailed() {
98
+ return !!this.failed.length;
99
+ },
100
+ get someSucceeded() {
101
+ return !!this.success.length;
102
+ },
103
+ get oneFailed() {
104
+ return this.failed.length === 1;
105
+ },
106
+ get oneSucceeded() {
107
+ return this.success.length === 1;
108
+ },
109
+ get allSucceeded() {
110
+ return this.someSucceeded && !this.someFailed;
111
+ },
112
+ get allFailed() {
113
+ return this.someFailed && !this.someSucceeded;
114
+ }
115
+ };
116
+ return data.reduce((acc, next) => {
117
+ if (next.status === 1) {
118
+ acc.success.push(next);
119
+ }
120
+ else {
121
+ acc.failed.push(next);
122
+ }
123
+ return acc;
124
+ }, deleteStatus);
125
+ }
126
+ getMessage(status) {
127
+ if (status.allFailed && !status.oneFailed) {
128
+ return this.translation.instant('CORE.DELETE_NODE.ERROR_PLURAL',
129
+ // eslint-disable-next-line id-blacklist
130
+ { number: status.failed.length });
131
+ }
132
+ if (status.allSucceeded && !status.oneSucceeded) {
133
+ return this.translation.instant('CORE.DELETE_NODE.PLURAL',
134
+ // eslint-disable-next-line id-blacklist
135
+ { number: status.success.length });
136
+ }
137
+ if (status.someFailed && status.someSucceeded && !status.oneSucceeded) {
138
+ return this.translation.instant('CORE.DELETE_NODE.PARTIAL_PLURAL', {
139
+ success: status.success.length,
140
+ failed: status.failed.length
141
+ });
142
+ }
143
+ if (status.someFailed && status.oneSucceeded) {
144
+ return this.translation.instant('CORE.DELETE_NODE.PARTIAL_SINGULAR', {
145
+ success: status.success.length,
146
+ failed: status.failed.length
147
+ });
148
+ }
149
+ if (status.oneFailed && !status.someSucceeded) {
150
+ return this.translation.instant('CORE.DELETE_NODE.ERROR_SINGULAR', { name: status.failed[0].entry.name });
151
+ }
152
+ if (status.oneSucceeded && !status.someFailed) {
153
+ return this.translation.instant('CORE.DELETE_NODE.SINGULAR', { name: status.success[0].entry.name });
154
+ }
155
+ return null;
156
+ }
157
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: NodeDeleteDirective, deps: [{ token: i1.AlfrescoApiService }, { token: i2.TranslationService }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
158
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: NodeDeleteDirective, isStandalone: true, selector: "[adf-delete]", inputs: { selection: ["adf-delete", "selection"], permanent: "permanent" }, outputs: { delete: "delete" }, host: { listeners: { "click": "onClick()" } }, usesOnChanges: true, ngImport: i0 }); }
159
+ }
160
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: NodeDeleteDirective, decorators: [{
161
+ type: Directive,
162
+ args: [{
163
+ standalone: true,
164
+ selector: '[adf-delete]'
165
+ }]
166
+ }], ctorParameters: () => [{ type: i1.AlfrescoApiService }, { type: i2.TranslationService }, { type: i0.ElementRef }], propDecorators: { selection: [{
167
+ type: Input,
168
+ args: ['adf-delete']
169
+ }], permanent: [{
170
+ type: Input
171
+ }], delete: [{
172
+ type: Output
173
+ }], onClick: [{
174
+ type: HostListener,
175
+ args: ['click']
176
+ }] } });
177
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9kZS1kZWxldGUuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGliL2NvbnRlbnQtc2VydmljZXMvc3JjL2xpYi9kaXJlY3RpdmVzL25vZGUtZGVsZXRlLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7O0dBZUc7QUFFSCxvREFBb0Q7QUFFcEQsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQWEsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzVHLE9BQU8sRUFBa0QsV0FBVyxFQUFFLFFBQVEsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ3pHLE9BQU8sRUFBYyxRQUFRLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN0RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsR0FBRyxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQzs7OztBQTRCdEUsTUFBTSxPQUFPLG1CQUFtQjtJQWM1QixJQUFJLFdBQVc7UUFDWCxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxZQUFZLElBQUksSUFBSSxXQUFXLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUM7UUFDaEcsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDO0lBQzdCLENBQUM7SUFHRCxJQUFJLFFBQVE7UUFDUixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxTQUFTLElBQUksSUFBSSxRQUFRLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUM7UUFDdkYsT0FBTyxJQUFJLENB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NS0yMDI1IEh5bGFuZCBTb2Z0d2FyZSwgSW5jLiBhbmQgaXRzIGFmZmlsaWF0ZXMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbi8qIGVzbGludC1kaXNhYmxlIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dC1yZW5hbWUgKi9cblxuaW1wb3J0IHsgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBFdmVudEVtaXR0ZXIsIEhvc3RMaXN0ZW5lciwgSW5wdXQsIE9uQ2hhbmdlcywgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOb2RlRW50cnksIE5vZGUsIERlbGV0ZWROb2RlRW50cnksIERlbGV0ZWROb2RlLCBUcmFzaGNhbkFwaSwgTm9kZXNBcGkgfSBmcm9tICdAYWxmcmVzY28vanMtYXBpJztcbmltcG9ydCB7IE9ic2VydmFibGUsIGZvcmtKb2luLCBmcm9tLCBvZiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgVHJhbnNsYXRpb25TZXJ2aWNlIH0gZnJvbSAnQGFsZnJlc2NvL2FkZi1jb3JlJztcbmltcG9ydCB7IG1hcCwgY2F0Y2hFcnJvciwgcmV0cnkgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBBbGZyZXNjb0FwaVNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9hbGZyZXNjby1hcGkuc2VydmljZSc7XG5cbmludGVyZmFjZSBQcm9jZXNzZWROb2RlRGF0YSB7XG4gICAgZW50cnk6IE5vZGUgfCBEZWxldGVkTm9kZTtcbiAgICBzdGF0dXM6IG51bWJlcjtcbn1cblxuaW50ZXJmYWNlIFByb2Nlc3NTdGF0dXMge1xuICAgIHN1Y2Nlc3M6IFByb2Nlc3NlZE5vZGVEYXRhW107XG4gICAgZmFpbGVkOiBQcm9jZXNzZWROb2RlRGF0YVtdO1xuXG4gICAgc29tZUZhaWxlZCgpO1xuXG4gICAgc29tZVN1Y2NlZWRlZCgpO1xuXG4gICAgb25lRmFpbGVkKCk7XG5cbiAgICBvbmVTdWNjZWVkZWQoKTtcblxuICAgIGFsbFN1Y2NlZWRlZCgpO1xuXG4gICAgYWxsRmFpbGVkKCk7XG59XG5cbkBEaXJlY3RpdmUoe1xuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgc2VsZWN0b3I6ICdbYWRmLWRlbGV0ZV0nXG59KVxuZXhwb3J0IGNsYXNzIE5vZGVEZWxldGVEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkNoYW5nZXMge1xuICAgIC8qKiBBcnJheSBvZiBub2RlcyB0byBkZWxldGUuICovXG4gICAgQElucHV0KCdhZGYtZGVsZXRlJylcbiAgICBzZWxlY3Rpb246IE5vZGVFbnRyeVtdIHwgRGVsZXRlZE5vZGVFbnRyeVtdO1xuXG4gICAgLyoqIElmIHRydWUgdGhlbiB0aGUgbm9kZXMgYXJlIGRlbGV0ZWQgaW1tZWRpYXRlbHkgcmF0aGVyIHRoYW4gYmVpbmcgcHV0IGluIHRoZSB0cmFzaCAqL1xuICAgIEBJbnB1dCgpXG4gICAgcGVybWFuZW50OiBib29sZWFuID0gZmFsc2U7XG5cbiAgICAvKiogRW1pdHRlZCB3aGVuIHRoZSBub2RlcyBoYXZlIGJlZW4gZGVsZXRlZC4gKi9cbiAgICBAT3V0cHV0KClcbiAgICBkZWxldGU6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gICAgcHJpdmF0ZSBfdHJhc2hjYW5BcGk6IFRyYXNoY2FuQXBpO1xuICAgIGdldCB0cmFzaGNhbkFwaSgpOiBUcmFzaGNhbkFwaSB7XG4gICAgICAgIHRoaXMuX3RyYXNoY2FuQXBpID0gdGhpcy5fdHJhc2hjYW5BcGkgPz8gbmV3IFRyYXNoY2FuQXBpKHRoaXMuYWxmcmVzY29BcGlTZXJ2aWNlLmdldEluc3RhbmNlKCkpO1xuICAgICAgICByZXR1cm4gdGhpcy5fdHJhc2hjYW5BcGk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfbm9kZXNBcGk6IE5vZGVzQXBpO1xuICAgIGdldCBub2Rlc0FwaSgpOiBOb2Rlc0FwaSB7XG4gICAgICAgIHRoaXMuX25vZGVzQXBpID0gdGhpcy5fbm9kZXNBcGkgPz8gbmV3IE5vZGVzQXBpKHRoaXMuYWxmcmVzY29BcGlTZXJ2aWNlLmdldEluc3RhbmNlKCkpO1xuICAgICAgICByZXR1cm4gdGhpcy5fbm9kZXNBcGk7XG4gICAgfVxuXG4gICAgQEhvc3RMaXN0ZW5lcignY2xpY2snKVxuICAgIG9uQ2xpY2soKSB7XG4gICAgICAgIHRoaXMucHJvY2Vzcyh0aGlzLnNlbGVjdGlvbik7XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBhbGZyZXNjb0FwaVNlcnZpY2U6IEFsZnJlc2NvQXBpU2VydmljZSwgcHJpdmF0ZSB0cmFuc2xhdGlvbjogVHJhbnNsYXRpb25TZXJ2aWNlLCBwcml2YXRlIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYpIHt9XG5cbiAgICBuZ09uQ2hhbmdlcygpIHtcbiAgICAgICAgaWYgKCF0aGlzLnNlbGVjdGlvbiB8fCAodGhpcy5zZWxlY3Rpb24gJiYgdGhpcy5zZWxlY3Rpb24ubGVuZ3RoID09PSAwKSkge1xuICAgICAgICAgICAgdGhpcy5zZXREaXNhYmxlQXR0cmlidXRlKHRydWUpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgaWYgKCF0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5oYXNBdHRyaWJ1dGUoJ2FkZi1jaGVjay1hbGxvd2FibGUtb3BlcmF0aW9uJykpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnNldERpc2FibGVBdHRyaWJ1dGUoZmFsc2UpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzZXREaXNhYmxlQXR0cmlidXRlKGRpc2FibGU6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuZGlzYWJsZWQgPSBkaXNhYmxlO1xuICAgIH1cblxuICAgIHByaXZhdGUgcHJvY2VzcyhzZWxlY3Rpb246IE5vZGVFbnRyeVtdIHwgRGVsZXRlZE5vZGVFbnRyeVtdKSB7XG4gICAgICAgIGlmIChzZWxlY3Rpb24/Lmxlbmd0aCkge1xuICAgICAgICAgICAgY29uc3QgYmF0Y2ggPSB0aGlzLmdldERlbGV0ZU5vZGVzQmF0Y2goc2VsZWN0aW9uKTtcblxuICAgICAgICAgICAgZm9ya0pvaW4oLi4uYmF0Y2gpLnN1YnNjcmliZSgoZGF0YTogUHJvY2Vzc2VkTm9kZURhdGFbXSkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IHByb2Nlc3NlZEl0ZW1zOiBQcm9jZXNzU3RhdHVzID0gdGhpcy5wcm9jZXNzU3RhdHVzKGRhdGEpO1xuICAgICAgICAgICAgICAgIGNvbnN0IG1lc3NhZ2UgPSB0aGlzLmdldE1lc3NhZ2UocHJvY2Vzc2VkSXRlbXMpO1xuXG4gICAgICAgICAgICAgICAgaWYgKG1lc3NhZ2UpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5kZWxldGUuZW1pdChtZXNzYWdlKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0RGVsZXRlTm9kZXNCYXRjaChzZWxlY3Rpb246IE5vZGVFbnRyeVtdIHwgRGVsZXRlZE5vZGVFbnRyeVtdKTogT2JzZXJ2YWJsZTxQcm9jZXNzZWROb2RlRGF0YT5bXSB7XG4gICAgICAgIHJldHVybiBzZWxlY3Rpb24ubWFwKChub2RlKSA9PiB0aGlzLmRlbGV0ZU5vZGUobm9kZSkpO1xuICAgIH1cblxuICAgIHByaXZhdGUgZGVsZXRlTm9kZShub2RlOiBOb2RlRW50cnkgfCBEZWxldGVkTm9kZUVudHJ5KTogT2JzZXJ2YWJsZTxQcm9jZXNzZWROb2RlRGF0YT4ge1xuICAgICAgICBjb25zdCBpZCA9IChub2RlLmVudHJ5IGFzIGFueSkubm9kZUlkIHx8IG5vZGUuZW50cnkuaWQ7XG5cbiAgICAgICAgbGV0IHByb21pc2U6IFByb21pc2U8YW55PjtcblxuICAgICAgICBpZiAoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKG5vZGUuZW50cnksICdhcmNoaXZlZEF0JykgJiYgbm9kZS5lbnRyeVsnYXJjaGl2ZWRBdCddKSB7XG4gICAgICAgICAgICBwcm9taXNlID0gdGhpcy50cmFzaGNhbkFwaS5kZWxldGVEZWxldGVkTm9kZShpZCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBwcm9taXNlID0gdGhpcy5ub2Rlc0FwaS5kZWxldGVOb2RlKGlkLCB7IHBlcm1hbmVudDogdGhpcy5wZXJtYW5lbnQgfSk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gZnJvbShwcm9taXNlKS5waXBlKFxuICAgICAgICAgICAgcmV0cnkoMyksXG4gICAgICAgICAgICBtYXAoKCkgPT4gKHtcbiAgICAgICAgICAgICAgICBlbnRyeTogbm9kZS5lbnRyeSxcbiAgICAgICAgICAgICAgICBzdGF0dXM6IDFcbiAgICAgICAgICAgIH0pKSxcbiAgICAgICAgICAgIGNhdGNoRXJyb3IoKCkgPT5cbiAgICAgICAgICAgICAgICBvZih7XG4gICAgICAgICAgICAgICAgICAgIGVudHJ5OiBub2RlLmVudHJ5LFxuICAgICAgICAgICAgICAgICAgICBzdGF0dXM6IDBcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIHByaXZhdGUgcHJvY2Vzc1N0YXR1cyhkYXRhKTogUHJvY2Vzc1N0YXR1cyB7XG4gICAgICAgIGNvbnN0IGRlbGV0ZVN0YXR1cyA9IHtcbiAgICAgICAgICAgIHN1Y2Nlc3M6IFtdLFxuICAgICAgICAgICAgZmFpbGVkOiBbXSxcbiAgICAgICAgICAgIGdldCBzb21lRmFpbGVkKCkge1xuICAgICAgICAgICAgICAgIHJldHVybiAhIXRoaXMuZmFpbGVkLmxlbmd0aDtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBnZXQgc29tZVN1Y2NlZWRlZCgpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gISF0aGlzLnN1Y2Nlc3MubGVuZ3RoO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGdldCBvbmVGYWlsZWQoKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuZmFpbGVkLmxlbmd0aCA9PT0gMTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBnZXQgb25lU3VjY2VlZGVkKCkge1xuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLnN1Y2Nlc3MubGVuZ3RoID09PSAxO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGdldCBhbGxTdWNjZWVkZWQoKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuc29tZVN1Y2NlZWRlZCAmJiAhdGhpcy5zb21lRmFpbGVkO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGdldCBhbGxGYWlsZWQoKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuc29tZUZhaWxlZCAmJiAhdGhpcy5zb21lU3VjY2VlZGVkO1xuICAgICAgICAgICAgfVxuICAgICAgICB9O1xuXG4gICAgICAgIHJldHVybiBkYXRhLnJlZHVjZSgoYWNjLCBuZXh0KSA9PiB7XG4gICAgICAgICAgICBpZiAobmV4dC5zdGF0dXMgPT09IDEpIHtcbiAgICAgICAgICAgICAgICBhY2Muc3VjY2Vzcy5wdXNoKG5leHQpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBhY2MuZmFpbGVkLnB1c2gobmV4dCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJldHVybiBhY2M7XG4gICAgICAgIH0sIGRlbGV0ZVN0YXR1cyk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRNZXNzYWdlKHN0YXR1czogUHJvY2Vzc1N0YXR1cyk6IHN0cmluZyB8IG51bGwge1xuICAgICAgICBpZiAoc3RhdHVzLmFsbEZhaWxlZCAmJiAhc3RhdHVzLm9uZUZhaWxlZCkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMudHJhbnNsYXRpb24uaW5zdGFudChcbiAgICAgICAgICAgICAgICAnQ09SRS5ERUxFVEVfTk9ERS5FUlJPUl9QTFVSQUwnLFxuICAgICAgICAgICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBpZC1ibGFja2xpc3RcbiAgICAgICAgICAgICAgICB7IG51bWJlcjogc3RhdHVzLmZhaWxlZC5sZW5ndGggfVxuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChzdGF0dXMuYWxsU3VjY2VlZGVkICYmICFzdGF0dXMub25lU3VjY2VlZGVkKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy50cmFuc2xhdGlvbi5pbnN0YW50KFxuICAgICAgICAgICAgICAgICdDT1JFLkRFTEVURV9OT0RFLlBMVVJBTCcsXG4gICAgICAgICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGlkLWJsYWNrbGlzdFxuICAgICAgICAgICAgICAgIHsgbnVtYmVyOiBzdGF0dXMuc3VjY2Vzcy5sZW5ndGggfVxuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChzdGF0dXMuc29tZUZhaWxlZCAmJiBzdGF0dXMuc29tZVN1Y2NlZWRlZCAmJiAhc3RhdHVzLm9uZVN1Y2NlZWRlZCkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMudHJhbnNsYXRpb24uaW5zdGFudCgnQ09SRS5ERUxFVEVfTk9ERS5QQVJUSUFMX1BMVVJBTCcsIHtcbiAgICAgICAgICAgICAgICBzdWNjZXNzOiBzdGF0dXMuc3VjY2Vzcy5sZW5ndGgsXG4gICAgICAgICAgICAgICAgZmFpbGVkOiBzdGF0dXMuZmFpbGVkLmxlbmd0aFxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoc3RhdHVzLnNvbWVGYWlsZWQgJiYgc3RhdHVzLm9uZVN1Y2NlZWRlZCkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMudHJhbnNsYXRpb24uaW5zdGFudCgnQ09SRS5ERUxFVEVfTk9ERS5QQVJUSUFMX1NJTkdVTEFSJywge1xuICAgICAgICAgICAgICAgIHN1Y2Nlc3M6IHN0YXR1cy5zdWNjZXNzLmxlbmd0aCxcbiAgICAgICAgICAgICAgICBmYWlsZWQ6IHN0YXR1cy5mYWlsZWQubGVuZ3RoXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChzdGF0dXMub25lRmFpbGVkICYmICFzdGF0dXMuc29tZVN1Y2NlZWRlZCkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMudHJhbnNsYXRpb24uaW5zdGFudCgnQ09SRS5ERUxFVEVfTk9ERS5FUlJPUl9TSU5HVUxBUicsIHsgbmFtZTogc3RhdHVzLmZhaWxlZFswXS5lbnRyeS5uYW1lIH0pO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHN0YXR1cy5vbmVTdWNjZWVkZWQgJiYgIXN0YXR1cy5zb21lRmFpbGVkKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy50cmFuc2xhdGlvbi5pbnN0YW50KCdDT1JFLkRFTEVURV9OT0RFLlNJTkdVTEFSJywgeyBuYW1lOiBzdGF0dXMuc3VjY2Vzc1swXS5lbnRyeS5uYW1lIH0pO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxufVxuIl19
@@ -0,0 +1,138 @@
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 { Directive, Input, HostListener } from '@angular/core';
18
+ import { MatDialog } from '@angular/material/dialog';
19
+ import { DownloadService } from '@alfresco/adf-core';
20
+ import { DownloadZipDialogComponent } from '../dialogs/download-zip/download-zip.dialog';
21
+ import { ContentApi, VersionEntry } from '@alfresco/js-api';
22
+ import { AlfrescoApiService } from '../services/alfresco-api.service';
23
+ import * as i0 from "@angular/core";
24
+ import * as i1 from "../services/alfresco-api.service";
25
+ import * as i2 from "@alfresco/adf-core";
26
+ import * as i3 from "@angular/material/dialog";
27
+ /**
28
+ * Directive selectors without adf- prefix will be deprecated on 3.0.0
29
+ */
30
+ export class NodeDownloadDirective {
31
+ get contentApi() {
32
+ this._contentApi = this._contentApi ?? new ContentApi(this.apiService.getInstance());
33
+ return this._contentApi;
34
+ }
35
+ onClick() {
36
+ this.downloadNodes(this.nodes);
37
+ }
38
+ constructor(apiService, downloadService, dialog) {
39
+ this.apiService = apiService;
40
+ this.downloadService = downloadService;
41
+ this.dialog = dialog;
42
+ }
43
+ /**
44
+ * Downloads multiple selected nodes.
45
+ * Packs result into a .ZIP archive if there is more than one node selected.
46
+ *
47
+ * @param selection Multiple selected nodes to download
48
+ */
49
+ downloadNodes(selection) {
50
+ if (!this.isSelectionValid(selection)) {
51
+ return;
52
+ }
53
+ if (selection instanceof Array) {
54
+ if (selection.length === 1) {
55
+ this.downloadNode(selection[0]);
56
+ }
57
+ else {
58
+ this.downloadZip(selection);
59
+ }
60
+ }
61
+ else {
62
+ this.downloadNode(selection);
63
+ }
64
+ }
65
+ /**
66
+ * Downloads a single node.
67
+ * Packs result into a .ZIP archive is the node is a Folder.
68
+ *
69
+ * @param node Node to download
70
+ */
71
+ downloadNode(node) {
72
+ if (node?.entry) {
73
+ const entry = node.entry;
74
+ if (entry.isFile) {
75
+ this.downloadFile(node);
76
+ }
77
+ if (entry.isFolder) {
78
+ this.downloadZip([node]);
79
+ }
80
+ // Check if there's nodeId for Shared Files
81
+ if (!entry.isFile && !entry.isFolder && entry.nodeId) {
82
+ this.downloadFile(node);
83
+ }
84
+ }
85
+ }
86
+ isSelectionValid(selection) {
87
+ return selection || (selection instanceof Array && selection.length > 0);
88
+ }
89
+ downloadFile(node) {
90
+ if (node?.entry) {
91
+ // nodeId for Shared node
92
+ const id = node.entry.nodeId || node.entry.id;
93
+ let url;
94
+ let fileName;
95
+ if (this.version) {
96
+ url = this.contentApi.getVersionContentUrl(id, this.version.entry.id, true);
97
+ fileName = this.version.entry.name;
98
+ }
99
+ else {
100
+ url = this.contentApi.getContentUrl(id, true);
101
+ fileName = node.entry.name;
102
+ }
103
+ this.downloadService.downloadUrl(url, fileName);
104
+ }
105
+ }
106
+ downloadZip(selection) {
107
+ if (selection && selection.length > 0) {
108
+ // nodeId for Shared node
109
+ const nodeIds = selection.map((node) => node.entry.nodeId || node.entry.id);
110
+ this.dialog.open(DownloadZipDialogComponent, {
111
+ width: '600px',
112
+ disableClose: true,
113
+ data: {
114
+ nodeIds
115
+ }
116
+ });
117
+ }
118
+ }
119
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: NodeDownloadDirective, deps: [{ token: i1.AlfrescoApiService }, { token: i2.DownloadService }, { token: i3.MatDialog }], target: i0.ɵɵFactoryTarget.Directive }); }
120
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: NodeDownloadDirective, isStandalone: true, selector: "[adfNodeDownload]", inputs: { nodes: ["adfNodeDownload", "nodes"], version: "version" }, host: { listeners: { "click": "onClick()" } }, ngImport: i0 }); }
121
+ }
122
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: NodeDownloadDirective, decorators: [{
123
+ type: Directive,
124
+ args: [{
125
+ standalone: true,
126
+ // eslint-disable-next-line @angular-eslint/directive-selector
127
+ selector: '[adfNodeDownload]'
128
+ }]
129
+ }], ctorParameters: () => [{ type: i1.AlfrescoApiService }, { type: i2.DownloadService }, { type: i3.MatDialog }], propDecorators: { nodes: [{
130
+ type: Input,
131
+ args: ['adfNodeDownload']
132
+ }], version: [{
133
+ type: Input
134
+ }], onClick: [{
135
+ type: HostListener,
136
+ args: ['click']
137
+ }] } });
138
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9kZS1kb3dubG9hZC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWIvY29udGVudC1zZXJ2aWNlcy9zcmMvbGliL2RpcmVjdGl2ZXMvbm9kZS1kb3dubG9hZC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7OztHQWVHO0FBRUgsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9ELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDckQsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sNkNBQTZDLENBQUM7QUFDekYsT0FBTyxFQUFFLFVBQVUsRUFBYSxZQUFZLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUN2RSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQzs7Ozs7QUFFdEU7O0dBRUc7QUFNSCxNQUFNLE9BQU8scUJBQXFCO0lBRTlCLElBQUksVUFBVTtRQUNWLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLFdBQVcsSUFBSSxJQUFJLFVBQVUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUM7UUFDckYsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDO0lBQzVCLENBQUM7SUFXRCxPQUFPO1FBQ0gsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDbkMsQ0FBQztJQUVELFlBQW9CLFVBQThCLEVBQVUsZUFBZ0MsRUFBVSxNQUFpQjtRQUFuRyxlQUFVLEdBQVYsVUFBVSxDQUFvQjtRQUFVLG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtRQUFVLFdBQU0sR0FBTixNQUFNLENBQVc7SUFBRyxDQUFDO0lBRTNI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LElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUM7WUFFakYsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsMEJBQTBCLEVBQUU7Z0JBQ3pDLEtBQUssRUFBRSxPQUFPO2dCQUNkLFlBQVksRUFBRSxJQUFJO2dCQUNsQixJQUFJLEVBQUU7b0JBQ0YsT0FBTztpQkFDVjthQUNKLENBQUMsQ0FBQztRQUNQLENBQUM7SUFDTCxDQUFDOytHQXhHUSxxQkFBcUI7bUdBQXJCLHFCQUFxQjs7NEZBQXJCLHFCQUFxQjtrQkFMakMsU0FBUzttQkFBQztvQkFDUCxVQUFVLEVBQUUsSUFBSTtvQkFDaEIsOERBQThEO29CQUM5RCxRQUFRLEVBQUUsbUJBQW1CO2lCQUNoQzs2SUFVRyxLQUFLO3NCQURKLEtBQUs7dUJBQUMsaUJBQWlCO2dCQUt4QixPQUFPO3NCQUROLEtBQUs7Z0JBSU4sT0FBTztzQkFETixZQUFZO3VCQUFDLE9BQU8iLCJzb3VyY2VzQ29udGVudCI6WyIvKiFcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgwqkgMjAwNS0yMDI1IEh5bGFuZCBTb2Z0d2FyZSwgSW5jLiBhbmQgaXRzIGFmZmlsaWF0ZXMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmltcG9ydCB7IERpcmVjdGl2ZSwgSW5wdXQsIEhvc3RMaXN0ZW5lciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWF0RGlhbG9nIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcbmltcG9ydCB7IERvd25sb2FkU2VydmljZSB9IGZyb20gJ0BhbGZyZXNjby9hZGYtY29yZSc7XG5pbXBvcnQgeyBEb3dubG9hZFppcERpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4uL2RpYWxvZ3MvZG93bmxvYWQtemlwL2Rvd25sb2FkLXppcC5kaWFsb2cnO1xuaW1wb3J0IHsgQ29udGVudEFwaSwgTm9kZUVudHJ5LCBWZXJzaW9uRW50cnkgfSBmcm9tICdAYWxmcmVzY28vanMtYXBpJztcbmltcG9ydCB7IEFsZnJlc2NvQXBpU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL2FsZnJlc2NvLWFwaS5zZXJ2aWNlJztcblxuLyoqXG4gKiBEaXJlY3RpdmUgc2VsZWN0b3JzIHdpdGhvdXQgYWRmLSBwcmVmaXggd2lsbCBiZSBkZXByZWNhdGVkIG9uIDMuMC4wXG4gKi9cbkBEaXJlY3RpdmUoe1xuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9kaXJlY3RpdmUtc2VsZWN0b3JcbiAgICBzZWxlY3RvcjogJ1thZGZOb2RlRG93bmxvYWRdJ1xufSlcbmV4cG9ydCBjbGFzcyBOb2RlRG93bmxvYWREaXJlY3RpdmUge1xuICAgIHByaXZhdGUgX2NvbnRlbnRBcGk6IENvbnRlbnRBcGk7XG4gICAgZ2V0IGNvbnRlbnRBcGkoKTogQ29udGVudEFwaSB7XG4gICAgICAgIHRoaXMuX2NvbnRlbnRBcGkgPSB0aGlzLl9jb250ZW50QXBpID8/IG5ldyBDb250ZW50QXBpKHRoaXMuYXBpU2VydmljZS5nZXRJbnN0YW5jZSgpKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2NvbnRlbnRBcGk7XG4gICAgfVxuXG4gICAgLyoqIE5vZGVzIHRvIGRvd25sb2FkLiAqL1xuICAgIEBJbnB1dCgnYWRmTm9kZURvd25sb2FkJylcbiAgICBub2RlczogTm9kZUVudHJ5IHwgTm9kZUVudHJ5W107XG5cbiAgICAvKiogTm9kZSdzIHZlcnNpb24gdG8gZG93bmxvYWQuICovXG4gICAgQElucHV0KClcbiAgICB2ZXJzaW9uOiBWZXJzaW9uRW50cnk7XG5cbiAgICBASG9zdExpc3RlbmVyKCdjbGljaycpXG4gICAgb25DbGljaygpIHtcbiAgICAgICAgdGhpcy5kb3dubG9hZE5vZGVzKHRoaXMubm9kZXMpO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgYXBpU2VydmljZTogQWxmcmVzY29BcGlTZXJ2aWNlLCBwcml2YXRlIGRvd25sb2FkU2VydmljZTogRG93bmxvYWRTZXJ2aWNlLCBwcml2YXRlIGRpYWxvZzogTWF0RGlhbG9nKSB7fVxuXG4gICAgLyoqXG4gICAgICogRG93bmxvYWRzIG11bHRpcGxlIHNlbGVjdGVkIG5vZGVzLlxuICAgICAqIFBhY2tzIHJlc3VsdCBpbnRvIGEgLlpJUCBhcmNoaXZlIGlmIHRoZXJlIGlzIG1vcmUgdGhhbiBvbmUgbm9kZSBzZWxlY3RlZC5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBzZWxlY3Rpb24gTXVsdGlwbGUgc2VsZWN0ZWQgbm9kZXMgdG8gZG93bmxvYWRcbiAgICAgKi9cbiAgICBkb3dubG9hZE5vZGVzKHNlbGVjdGlvbjogTm9kZUVudHJ5IHwgQXJyYXk8Tm9kZUVudHJ5Pikge1xuICAgICAgICBpZiAoIXRoaXMuaXNTZWxlY3Rpb25WYWxpZChzZWxlY3Rpb24pKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHNlbGVjdGlvbiBpbnN0YW5jZW9mIEFycmF5KSB7XG4gICAgICAgICAgICBpZiAoc2VsZWN0aW9uLmxlbmd0aCA9PT0gMSkge1xuICAgICAgICAgICAgICAgIHRoaXMuZG93bmxvYWROb2RlKHNlbGVjdGlvblswXSk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMuZG93bmxvYWRaaXAoc2VsZWN0aW9uKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuZG93bmxvYWROb2RlKHNlbGVjdGlvbik7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBEb3dubG9hZHMgYSBzaW5nbGUgbm9kZS5cbiAgICAgKiBQYWNrcyByZXN1bHQgaW50byBhIC5aSVAgYXJjaGl2ZSBpcyB0aGUgbm9kZSBpcyBhIEZvbGRlci5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBub2RlIE5vZGUgdG8gZG93bmxvYWRcbiAgICAgKi9cbiAgICBkb3dubG9hZE5vZGUobm9kZTogTm9kZUVudHJ5KSB7XG4gICAgICAgIGlmIChub2RlPy5lbnRyeSkge1xuICAgICAgICAgICAgY29uc3QgZW50cnkgPSBub2RlLmVudHJ5O1xuXG4gICAgICAgICAgICBpZiAoZW50cnkuaXNGaWxlKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5kb3dubG9hZEZpbGUobm9kZSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmIChlbnRyeS5pc0ZvbGRlcikge1xuICAgICAgICAgICAgICAgIHRoaXMuZG93bmxvYWRaaXAoW25vZGVdKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gQ2hlY2sgaWYgdGhlcmUncyBub2RlSWQgZm9yIFNoYXJlZCBGaWxlc1xuICAgICAgICAgICAgaWYgKCFlbnRyeS5pc0ZpbGUgJiYgIWVudHJ5LmlzRm9sZGVyICYmIChlbnRyeSBhcyBhbnkpLm5vZGVJZCkge1xuICAgICAgICAgICAgICAgIHRoaXMuZG93bmxvYWRGaWxlKG5vZGUpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBpc1NlbGVjdGlvblZhbGlkKHNlbGVjdGlvbjogTm9kZUVudHJ5IHwgQXJyYXk8Tm9kZUVudHJ5Pikge1xuICAgICAgICByZXR1cm4gc2VsZWN0aW9uIHx8IChzZWxlY3Rpb24gaW5zdGFuY2VvZiBBcnJheSAmJiBzZWxlY3Rpb24ubGVuZ3RoID4gMCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBkb3dubG9hZEZpbGUobm9kZTogTm9kZUVudHJ5KSB7XG4gICAgICAgIGlmIChub2RlPy5lbnRyeSkge1xuICAgICAgICAgICAgLy8gbm9kZUlkIGZvciBTaGFyZWQgbm9kZVxuICAgICAgICAgICAgY29uc3QgaWQgPSAobm9kZS5lbnRyeSBhcyBhbnkpLm5vZGVJZCB8fCBub2RlLmVudHJ5LmlkO1xuXG4gICAgICAgICAgICBsZXQgdXJsOiBzdHJpbmc7XG4gICAgICAgICAgICBsZXQgZmlsZU5hbWU6IHN0cmluZztcbiAgICAgICAgICAgIGlmICh0aGlzLnZlcnNpb24pIHtcbiAgICAgICAgICAgICAgICB1cmwgPSB0aGlzLmNvbnRlbnRBcGkuZ2V0VmVyc2lvbkNvbnRlbnRVcmwoaWQsIHRoaXMudmVyc2lvbi5lbnRyeS5pZCwgdHJ1ZSk7XG4gICAgICAgICAgICAgICAgZmlsZU5hbWUgPSB0aGlzLnZlcnNpb24uZW50cnkubmFtZTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdXJsID0gdGhpcy5jb250ZW50QXBpLmdldENvbnRlbnRVcmwoaWQsIHRydWUpO1xuICAgICAgICAgICAgICAgIGZpbGVOYW1lID0gbm9kZS5lbnRyeS5uYW1lO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB0aGlzLmRvd25sb2FkU2VydmljZS5kb3dubG9hZFVybCh1cmwsIGZpbGVOYW1lKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgZG93bmxvYWRaaXAoc2VsZWN0aW9uOiBBcnJheTxOb2RlRW50cnk+KSB7XG4gICAgICAgIGlmIChzZWxlY3Rpb24gJiYgc2VsZWN0aW9uLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIC8vIG5vZGVJZCBmb3IgU2hhcmVkIG5vZGVcbiAgICAgICAgICAgIGNvbnN0IG5vZGVJZHMgPSBzZWxlY3Rpb24ubWFwKChub2RlOiBhbnkpID0+IG5vZGUuZW50cnkubm9kZUlkIHx8IG5vZGUuZW50cnkuaWQpO1xuXG4gICAgICAgICAgICB0aGlzLmRpYWxvZy5vcGVuKERvd25sb2FkWmlwRGlhbG9nQ29tcG9uZW50LCB7XG4gICAgICAgICAgICAgICAgd2lkdGg6ICc2MDBweCcsXG4gICAgICAgICAgICAgICAgZGlzYWJsZUNsb3NlOiB0cnVlLFxuICAgICAgICAgICAgICAgIGRhdGE6IHtcbiAgICAgICAgICAgICAgICAgICAgbm9kZUlkc1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfVxufVxuIl19