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

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,391 @@
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 { inject, Injectable } from '@angular/core';
18
+ import { Minimatch } from 'minimatch';
19
+ import { Subject } from 'rxjs';
20
+ import { FileUploadCompleteEvent, FileUploadDeleteEvent, FileUploadErrorEvent, FileUploadEvent } from '../events/file.event';
21
+ import { FileUploadStatus } from '../models/file.model';
22
+ import { AppConfigService } from '@alfresco/adf-core';
23
+ import { filter } from 'rxjs/operators';
24
+ import { DiscoveryApiService } from '../../common/services/discovery-api.service';
25
+ import { NodesApi, UploadApi, VersionsApi } from '@alfresco/js-api';
26
+ import { AlfrescoApiService } from '../../services/alfresco-api.service';
27
+ import * as i0 from "@angular/core";
28
+ const MIN_CANCELLABLE_FILE_SIZE = 1000000;
29
+ const MAX_CANCELLABLE_FILE_PERCENTAGE = 50;
30
+ export class UploadService {
31
+ get uploadApi() {
32
+ this._uploadApi = this._uploadApi ?? new UploadApi(this.apiService.getInstance());
33
+ return this._uploadApi;
34
+ }
35
+ get nodesApi() {
36
+ this._nodesApi = this._nodesApi ?? new NodesApi(this.apiService.getInstance());
37
+ return this._nodesApi;
38
+ }
39
+ get versionsApi() {
40
+ this._versionsApi = this._versionsApi ?? new VersionsApi(this.apiService.getInstance());
41
+ return this._versionsApi;
42
+ }
43
+ constructor() {
44
+ this.queue = [];
45
+ this.queueChanged = new Subject();
46
+ this.fileUpload = new Subject();
47
+ this.fileUploadStarting = new Subject();
48
+ this.fileUploadCancelled = new Subject();
49
+ this.fileUploadProgress = new Subject();
50
+ this.fileUploadAborted = new Subject();
51
+ this.fileUploadError = new Subject();
52
+ this.fileUploadComplete = new Subject();
53
+ this.fileUploadDeleted = new Subject();
54
+ this.fileDeleted = new Subject();
55
+ this.cache = {};
56
+ this.totalComplete = 0;
57
+ this.totalAborted = 0;
58
+ this.totalError = 0;
59
+ this.excludedFileList = [];
60
+ this.excludedFoldersList = [];
61
+ this.matchingOptions = null;
62
+ this.folderMatchingOptions = null;
63
+ this.apiService = inject(AlfrescoApiService);
64
+ this.appConfigService = inject(AppConfigService);
65
+ this.discoveryApiService = inject(DiscoveryApiService);
66
+ this.discoveryApiService.ecmProductInfo$.pipe(filter((info) => !!info)).subscribe(({ status }) => {
67
+ this.isThumbnailGenerationEnabled = status.isThumbnailGenerationEnabled;
68
+ });
69
+ }
70
+ clearCache() {
71
+ this.cache = {};
72
+ }
73
+ /**
74
+ * Returns the number of concurrent threads for uploading.
75
+ *
76
+ * @returns Number of concurrent threads (default 1)
77
+ */
78
+ getThreadsCount() {
79
+ return this.appConfigService.get('upload.threads', 1);
80
+ }
81
+ /**
82
+ * Checks whether the service still has files uploading or awaiting upload.
83
+ *
84
+ * @returns True if files in the queue are still uploading, false otherwise
85
+ */
86
+ isUploading() {
87
+ const finishedFileStates = [
88
+ FileUploadStatus.Complete,
89
+ FileUploadStatus.Cancelled,
90
+ FileUploadStatus.Aborted,
91
+ FileUploadStatus.Error,
92
+ FileUploadStatus.Deleted
93
+ ];
94
+ return this.queue.reduce((stillUploading, currentFile) => stillUploading || finishedFileStates.indexOf(currentFile.status) === -1, false);
95
+ }
96
+ /**
97
+ * Gets the file Queue
98
+ *
99
+ * @returns Array of files that form the queue
100
+ */
101
+ getQueue() {
102
+ return this.queue;
103
+ }
104
+ /**
105
+ * Adds files to the uploading queue to be uploaded
106
+ *
107
+ * @param files One or more separate parameters or an array of files to queue
108
+ * @returns Array of files that were not blocked from upload by the ignore list
109
+ */
110
+ addToQueue(...files) {
111
+ const allowedFiles = files.filter((currentFile) => this.filterElement(currentFile));
112
+ this.queue = this.queue.concat(allowedFiles);
113
+ this.queueChanged.next(this.queue);
114
+ return allowedFiles;
115
+ }
116
+ /**
117
+ * Finds all the files in the queue that are not yet uploaded and uploads them into the directory folder.
118
+ *
119
+ * @param successEmitter Emitter to invoke on file success status change
120
+ * @param errorEmitter Emitter to invoke on file error status change
121
+ */
122
+ uploadFilesInTheQueue(successEmitter, errorEmitter) {
123
+ const files = this.getFilesToUpload();
124
+ if (files && files.length > 0) {
125
+ for (const file of files) {
126
+ this.onUploadStarting(file);
127
+ const promise = this.beginUpload(file, successEmitter, errorEmitter);
128
+ this.cache[file.name] = promise;
129
+ const next = () => {
130
+ setTimeout(() => this.uploadFilesInTheQueue(successEmitter, errorEmitter), 100);
131
+ };
132
+ promise.next = next;
133
+ promise.then(() => next(), () => next());
134
+ }
135
+ }
136
+ }
137
+ /**
138
+ * Cancels uploading of files.
139
+ * If the file is smaller than 1 MB the file will be uploaded and then the node deleted
140
+ * to prevent having files that were aborted but still uploaded.
141
+ *
142
+ * @param files One or more separate parameters or an array of files specifying uploads to cancel
143
+ */
144
+ cancelUpload(...files) {
145
+ files.forEach((file) => {
146
+ const promise = this.cache[file.name];
147
+ if (promise) {
148
+ if (this.isSaveToAbortFile(file)) {
149
+ promise.abort();
150
+ }
151
+ else {
152
+ this.abortedFile = file.name;
153
+ }
154
+ delete this.cache[file.name];
155
+ promise.next();
156
+ }
157
+ else {
158
+ const performAction = this.getAction(file);
159
+ if (performAction) {
160
+ performAction();
161
+ }
162
+ }
163
+ });
164
+ }
165
+ /** Clears the upload queue */
166
+ clearQueue() {
167
+ this.queue = [];
168
+ this.totalComplete = 0;
169
+ this.totalAborted = 0;
170
+ this.totalError = 0;
171
+ }
172
+ /**
173
+ * Gets an upload promise for a file.
174
+ *
175
+ * @param file The target file
176
+ * @returns Promise that is resolved if the upload is successful or error otherwise
177
+ */
178
+ getUploadPromise(file) {
179
+ const opts = {
180
+ include: ['allowableOperations']
181
+ };
182
+ if (this.isThumbnailGenerationEnabled) {
183
+ opts.renditions = 'doclib';
184
+ }
185
+ if (file.options?.versioningEnabled !== undefined) {
186
+ opts.versioningEnabled = file.options.versioningEnabled;
187
+ }
188
+ if (file.options.newVersion === true) {
189
+ opts.overwrite = true;
190
+ opts.majorVersion = file.options.majorVersion;
191
+ opts.comment = file.options.comment;
192
+ opts.name = file.name;
193
+ }
194
+ else {
195
+ opts.autoRename = true;
196
+ }
197
+ if (file.options.nodeType) {
198
+ opts.nodeType = file.options.nodeType;
199
+ }
200
+ if (file.id) {
201
+ return this.nodesApi.updateNodeContent(file.id, file.file, opts);
202
+ }
203
+ else {
204
+ const nodeBody = { ...file.options, name: file.name, nodeType: file.options.nodeType };
205
+ delete nodeBody['versioningEnabled'];
206
+ return this.uploadApi.uploadFile(file.file, file.options.path, file.options.parentId, nodeBody, opts);
207
+ }
208
+ }
209
+ getFilesToUpload() {
210
+ const cached = Object.keys(this.cache);
211
+ const threadsCount = this.getThreadsCount();
212
+ if (cached.length >= threadsCount) {
213
+ return [];
214
+ }
215
+ const files = this.queue
216
+ .filter((toUpload) => !cached.includes(toUpload.name) && toUpload.status === FileUploadStatus.Pending)
217
+ .slice(0, threadsCount);
218
+ return files;
219
+ }
220
+ beginUpload(file, successEmitter, errorEmitter) {
221
+ const promise = this.getUploadPromise(file);
222
+ promise
223
+ .on('progress', (progress) => {
224
+ this.onUploadProgress(file, progress);
225
+ })
226
+ .on('abort', () => {
227
+ this.onUploadAborted(file);
228
+ if (successEmitter) {
229
+ successEmitter.emit({ value: 'File aborted' });
230
+ }
231
+ })
232
+ .on('error', (err) => {
233
+ this.onUploadError(file, err);
234
+ if (errorEmitter) {
235
+ errorEmitter.emit({ value: 'Error file uploaded' });
236
+ }
237
+ })
238
+ .on('success', (data) => {
239
+ if (this.abortedFile === file.name) {
240
+ this.onUploadAborted(file);
241
+ if (file.id === undefined) {
242
+ this.deleteAbortedNode(data.entry.id);
243
+ }
244
+ else {
245
+ this.deleteAbortedNodeVersion(data.entry.id, data.entry.properties['cm:versionLabel']);
246
+ }
247
+ if (successEmitter) {
248
+ successEmitter.emit({ value: 'File deleted' });
249
+ }
250
+ }
251
+ else {
252
+ this.onUploadComplete(file, data);
253
+ if (successEmitter) {
254
+ successEmitter.emit({ value: data });
255
+ }
256
+ }
257
+ })
258
+ .catch(() => { });
259
+ return promise;
260
+ }
261
+ onUploadStarting(file) {
262
+ if (file) {
263
+ file.status = FileUploadStatus.Starting;
264
+ const event = new FileUploadEvent(file, FileUploadStatus.Starting);
265
+ this.fileUpload.next(event);
266
+ this.fileUploadStarting.next(event);
267
+ }
268
+ }
269
+ onUploadProgress(file, progress) {
270
+ if (file) {
271
+ file.progress = progress;
272
+ file.status = FileUploadStatus.Progress;
273
+ const event = new FileUploadEvent(file, FileUploadStatus.Progress);
274
+ this.fileUpload.next(event);
275
+ this.fileUploadProgress.next(event);
276
+ }
277
+ }
278
+ onUploadError(file, error) {
279
+ if (file) {
280
+ file.errorCode = error?.status;
281
+ file.status = FileUploadStatus.Error;
282
+ this.totalError++;
283
+ const promise = this.cache[file.name];
284
+ if (promise) {
285
+ delete this.cache[file.name];
286
+ }
287
+ const event = new FileUploadErrorEvent(file, error, this.totalError);
288
+ this.fileUpload.next(event);
289
+ this.fileUploadError.next(event);
290
+ }
291
+ }
292
+ onUploadComplete(file, data) {
293
+ if (file) {
294
+ file.status = FileUploadStatus.Complete;
295
+ file.data = data;
296
+ this.totalComplete++;
297
+ const promise = this.cache[file.name];
298
+ if (promise) {
299
+ delete this.cache[file.name];
300
+ }
301
+ const event = new FileUploadCompleteEvent(file, this.totalComplete, data, this.totalAborted);
302
+ this.fileUpload.next(event);
303
+ this.fileUploadComplete.next(event);
304
+ }
305
+ }
306
+ onUploadAborted(file) {
307
+ if (file) {
308
+ file.status = FileUploadStatus.Aborted;
309
+ this.totalAborted++;
310
+ const event = new FileUploadEvent(file, FileUploadStatus.Aborted);
311
+ this.fileUpload.next(event);
312
+ this.fileUploadAborted.next(event);
313
+ }
314
+ }
315
+ onUploadCancelled(file) {
316
+ if (file) {
317
+ file.status = FileUploadStatus.Cancelled;
318
+ const event = new FileUploadEvent(file, FileUploadStatus.Cancelled);
319
+ this.fileUpload.next(event);
320
+ this.fileUploadCancelled.next(event);
321
+ }
322
+ }
323
+ onUploadDeleted(file) {
324
+ if (file) {
325
+ file.status = FileUploadStatus.Deleted;
326
+ this.totalComplete--;
327
+ const event = new FileUploadDeleteEvent(file, this.totalComplete);
328
+ this.fileUpload.next(event);
329
+ this.fileUploadDeleted.next(event);
330
+ }
331
+ }
332
+ getAction(file) {
333
+ const actions = {
334
+ [FileUploadStatus.Pending]: () => this.onUploadCancelled(file),
335
+ [FileUploadStatus.Deleted]: () => this.onUploadDeleted(file),
336
+ [FileUploadStatus.Error]: () => this.onUploadError(file, null)
337
+ };
338
+ return actions[file.status];
339
+ }
340
+ deleteAbortedNode(nodeId) {
341
+ this.nodesApi.deleteNode(nodeId, { permanent: true }).then(() => (this.abortedFile = undefined));
342
+ }
343
+ deleteAbortedNodeVersion(nodeId, versionId) {
344
+ this.versionsApi.deleteVersion(nodeId, versionId).then(() => (this.abortedFile = undefined));
345
+ }
346
+ isSaveToAbortFile(file) {
347
+ return file.size > MIN_CANCELLABLE_FILE_SIZE && file.progress.percent < MAX_CANCELLABLE_FILE_PERCENTAGE;
348
+ }
349
+ filterElement(file) {
350
+ this.excludedFileList = this.appConfigService.get('files.excluded');
351
+ this.excludedFoldersList = this.appConfigService.get('folders.excluded');
352
+ let isAllowed = true;
353
+ if (this.excludedFileList) {
354
+ this.matchingOptions = this.appConfigService.get('files.match-options');
355
+ isAllowed = this.isFileNameAllowed(file);
356
+ }
357
+ if (isAllowed && this.excludedFoldersList) {
358
+ this.folderMatchingOptions = this.appConfigService.get('folders.match-options');
359
+ isAllowed = this.isParentFolderAllowed(file);
360
+ }
361
+ return isAllowed;
362
+ }
363
+ isParentFolderAllowed(file) {
364
+ let isAllowed = true;
365
+ const currentFile = file.file;
366
+ const fileRelativePath = currentFile.webkitRelativePath ? currentFile.webkitRelativePath : file.options.path;
367
+ if (currentFile && fileRelativePath) {
368
+ isAllowed =
369
+ this.excludedFoldersList.filter((folderToExclude) => fileRelativePath.split('/').some((pathElement) => {
370
+ const minimatch = new Minimatch(folderToExclude, this.folderMatchingOptions);
371
+ return minimatch.match(pathElement);
372
+ })).length === 0;
373
+ }
374
+ return isAllowed;
375
+ }
376
+ isFileNameAllowed(file) {
377
+ return (this.excludedFileList.filter((pattern) => {
378
+ const minimatch = new Minimatch(pattern, this.matchingOptions);
379
+ return minimatch.match(file.name);
380
+ }).length === 0);
381
+ }
382
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UploadService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
383
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UploadService, providedIn: 'root' }); }
384
+ }
385
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UploadService, decorators: [{
386
+ type: Injectable,
387
+ args: [{
388
+ providedIn: 'root'
389
+ }]
390
+ }], ctorParameters: () => [] });
391
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBsb2FkLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWIvY29udGVudC1zZXJ2aWNlcy9zcmMvbGliL2NvbW1vbi9zZXJ2aWNlcy91cGxvYWQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7O0dBZUc7QUFFSCxPQUFPLEVBQWdCLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDakUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUN0QyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxxQkFBcUIsRUFBRSxvQkFBb0IsRUFBRSxlQUFlLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUM3SCxPQUFPLEVBQWlDLGdCQUFnQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDdkYsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDdEQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3hDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBQ2xGLE9BQU8sRUFBa0IsUUFBUSxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNwRixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQzs7QUFFekUsTUFBTSx5QkFBeUIsR0FBRyxPQUFPLENBQUM7QUFDMUMsTUFBTSwrQkFBK0IsR0FBRyxFQUFFLENBQUM7QUFLM0MsTUFBTSxPQUFPLGFBQWE7SUF5QnRCLElBQUksU0FBUztRQUNULElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLFVBQVUsSUFBSSxJQUFJLFNBQVMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLFdBQVcsRUFBRSxDQUFD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QUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN0QyxDQUFDLENBQUMsQ0FBQyxNQUFNLEtBQUssQ0FBQyxDQUNsQixDQUFDO0lBQ04sQ0FBQzsrR0FqYVEsYUFBYTttSEFBYixhQUFhLGNBRlYsTUFBTTs7NEZBRVQsYUFBYTtrQkFIekIsVUFBVTttQkFBQztvQkFDUixVQUFVLEVBQUUsTUFBTTtpQkFDckIiLCJzb3VyY2VzQ29udGVudCI6WyIvKiFcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgwqkgMjAwNS0yMDI1IEh5bGFuZCBTb2Z0d2FyZSwgSW5jLiBhbmQgaXRzIGFmZmlsaWF0ZXMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmltcG9ydCB7IEV2ZW50RW1pdHRlciwgaW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNaW5pbWF0Y2ggfSBmcm9tICdtaW5pbWF0Y2gnO1xuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgRmlsZVVwbG9hZENvbXBsZXRlRXZlbnQsIEZpbGVVcGxvYWREZWxldGVFdmVudCwgRmlsZVVwbG9hZEVycm9yRXZlbnQsIEZpbGVVcGxvYWRFdmVudCB9IGZyb20gJy4uL2V2ZW50cy9maWxlLmV2ZW50JztcbmltcG9ydCB7IEZpbGVNb2RlbCwgRmlsZVVwbG9hZFByb2dyZXNzLCBGaWxlVXBsb2FkU3RhdHVzIH0gZnJvbSAnLi4vbW9kZWxzL2ZpbGUubW9kZWwnO1xuaW1wb3J0IHsgQXBwQ29uZmlnU2VydmljZSB9IGZyb20gJ0BhbGZyZXNjby9hZGYtY29yZSc7XG5pbXBvcnQgeyBmaWx0ZXIgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBEaXNjb3ZlcnlBcGlTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vY29tbW9uL3NlcnZpY2VzL2Rpc2NvdmVyeS1hcGkuc2VydmljZSc7XG5pbXBvcnQgeyBOb2RlQm9keUNyZWF0ZSwgTm9kZXNBcGksIFVwbG9hZEFwaSwgVmVyc2lvbnNBcGkgfSBmcm9tICdAYWxmcmVzY28vanMtYXBpJztcbmltcG9ydCB7IEFsZnJlc2NvQXBpU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2FsZnJlc2NvLWFwaS5zZXJ2aWNlJztcblxuY29uc3QgTUlOX0NBTkNFTExBQkxFX0ZJTEVfU0laRSA9IDEwMDAwMDA7XG5jb25zdCBNQVhfQ0FOQ0VMTEFCTEVfRklMRV9QRVJDRU5UQUdFID0gNTA7XG5cbkBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgVXBsb2FkU2VydmljZSB7XG4gICAgcXVldWU6IEZpbGVNb2RlbFtdID0gW107XG4gICAgcXVldWVDaGFuZ2VkOiBTdWJqZWN0PEZpbGVNb2RlbFtdPiA9IG5ldyBTdWJqZWN0PEZpbGVNb2RlbFtdPigpO1xuICAgIGZpbGVVcGxvYWQ6IFN1YmplY3Q8RmlsZVVwbG9hZEV2ZW50PiA9IG5ldyBTdWJqZWN0PEZpbGVVcGxvYWRFdmVudD4oKTtcbiAgICBmaWxlVXBsb2FkU3RhcnRpbmc6IFN1YmplY3Q8RmlsZVVwbG9hZEV2ZW50PiA9IG5ldyBTdWJqZWN0PEZpbGVVcGxvYWRFdmVudD4oKTtcbiAgICBmaWxlVXBsb2FkQ2FuY2VsbGVkOiBTdWJqZWN0PEZpbGVVcGxvYWRFdmVudD4gPSBuZXcgU3ViamVjdDxGaWxlVXBsb2FkRXZlbnQ+KCk7XG4gICAgZmlsZVVwbG9hZFByb2dyZXNzOiBTdWJqZWN0PEZpbGVVcGxvYWRFdmVudD4gPSBuZXcgU3ViamVjdDxGaWxlVXBsb2FkRXZlbnQ+KCk7XG4gICAgZmlsZVVwbG9hZEFib3J0ZWQ6IFN1YmplY3Q8RmlsZVVwbG9hZEV2ZW50PiA9IG5ldyBTdWJqZWN0PEZpbGVVcGxvYWRFdmVudD4oKTtcbiAgICBmaWxlVXBsb2FkRXJyb3I6IFN1YmplY3Q8RmlsZVVwbG9hZEVycm9yRXZlbnQ+ID0gbmV3IFN1YmplY3Q8RmlsZVVwbG9hZEVycm9yRXZlbnQ+KCk7XG4gICAgZmlsZVVwbG9hZENvbXBsZXRlOiBTdWJqZWN0PEZpbGVVcGxvYWRDb21wbGV0ZUV2ZW50PiA9IG5ldyBTdWJqZWN0PEZpbGVVcGxvYWRDb21wbGV0ZUV2ZW50PigpO1xuICAgIGZpbGVVcGxvYWREZWxldGVkOiBTdWJqZWN0PEZpbGVVcGxvYWREZWxldGVFdmVudD4gPSBuZXcgU3ViamVjdDxGaWxlVXBsb2FkRGVsZXRlRXZlbnQ+KCk7XG4gICAgZmlsZURlbGV0ZWQ6IFN1YmplY3Q8c3RyaW5nPiA9IG5ldyBTdWJqZWN0PHN0cmluZz4oKTtcblxuICAgIHByaXZhdGUgY2FjaGU6IHsgW2tleTogc3RyaW5nXTogYW55IH0gPSB7fTtcbiAgICBwcml2YXRlIHRvdGFsQ29tcGxldGU6IG51bWJlciA9IDA7XG4gICAgcHJpdmF0ZSB0b3RhbEFib3J0ZWQ6IG51bWJlciA9IDA7XG4gICAgcHJpdmF0ZSB0b3RhbEVycm9yOiBudW1iZXIgPSAwO1xuICAgIHByaXZhdGUgZXhjbHVkZWRGaWxlTGlzdDogc3RyaW5nW10gPSBbXTtcbiAgICBwcml2YXRlIGV4Y2x1ZGVkRm9sZGVyc0xpc3Q6IHN0cmluZ1tdID0gW107XG4gICAgcHJpdmF0ZSBtYXRjaGluZ09wdGlvbnM6IGFueSA9IG51bGw7XG4gICAgcHJpdmF0ZSBmb2xkZXJNYXRjaGluZ09wdGlvbnM6IGFueSA9IG51bGw7XG4gICAgcHJpdmF0ZSBhYm9ydGVkRmlsZTogc3RyaW5nO1xuICAgIHByaXZhdGUgaXNUaHVtYm5haWxHZW5lcmF0aW9uRW5hYmxlZDogYm9vbGVhbjtcblxuICAgIHByaXZhdGUgX3VwbG9hZEFwaTogVXBsb2FkQXBpO1xuICAgIGdldCB1cGxvYWRBcGkoKTogVXBsb2FkQXBpIHtcbiAgICAgICAgdGhpcy5fdXBsb2FkQXBpID0gdGhpcy5fdXBsb2FkQXBpID8/IG5ldyBVcGxvYWRBcGkodGhpcy5hcGlTZXJ2aWNlLmdldEluc3RhbmNlKCkpO1xuICAgICAgICByZXR1cm4gdGhpcy5fdXBsb2FkQXBpO1xuICAgIH1cblxuICAgIHByaXZhdGUgX25vZGVzQXBpOiBOb2Rlc0FwaTtcbiAgICBnZXQgbm9kZXNBcGkoKTogTm9kZXNBcGkge1xuICAgICAgICB0aGlzLl9ub2Rlc0FwaSA9IHRoaXMuX25vZGVzQXBpID8/IG5ldyBOb2Rlc0FwaSh0aGlzLmFwaVNlcnZpY2UuZ2V0SW5zdGFuY2UoKSk7XG4gICAgICAgIHJldHVybiB0aGlzLl9ub2Rlc0FwaTtcbiAgICB9XG5cbiAgICBwcml2YXRlIF92ZXJzaW9uc0FwaTogVmVyc2lvbnNBcGk7XG4gICAgZ2V0IHZlcnNpb25zQXBpKCk6IFZlcnNpb25zQXBpIHtcbiAgICAgICAgdGhpcy5fdmVyc2lvbnNBcGkgPSB0aGlzLl92ZXJzaW9uc0FwaSA/PyBuZXcgVmVyc2lvbnNBcGkodGhpcy5hcGlTZXJ2aWNlLmdldEluc3RhbmNlKCkpO1xuICAgICAgICByZXR1cm4gdGhpcy5fdmVyc2lvbnNBcGk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGFwaVNlcnZpY2UgPSBpbmplY3QoQWxmcmVzY29BcGlTZXJ2aWNlKTtcbiAgICBwcm90ZWN0ZWQgYXBwQ29uZmlnU2VydmljZSA9IGluamVjdChBcHBDb25maWdTZXJ2aWNlKTtcbiAgICBwcm90ZWN0ZWQgZGlzY292ZXJ5QXBpU2VydmljZSA9IGluamVjdChEaXNjb3ZlcnlBcGlTZXJ2aWNlKTtcblxuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICB0aGlzLmRpc2NvdmVyeUFwaVNlcnZpY2UuZWNtUHJvZHVjdEluZm8kLnBpcGUoZmlsdGVyKChpbmZvKSA9PiAhIWluZm8pKS5zdWJzY3JpYmUoKHsgc3RhdHVzIH0pID0+IHtcbiAgICAgICAgICAgIHRoaXMuaXNUaHVtYm5haWxHZW5lcmF0aW9uRW5hYmxlZCA9IHN0YXR1cy5pc1RodW1ibmFpbEdlbmVyYXRpb25FbmFibGVkO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBjbGVhckNhY2hlKCkge1xuICAgICAgICB0aGlzLmNhY2hlID0ge307XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmV0dXJucyB0aGUgbnVtYmVyIG9mIGNvbmN1cnJlbnQgdGhyZWFkcyBmb3IgdXBsb2FkaW5nLlxuICAgICAqXG4gICAgICogQHJldHVybnMgTnVtYmVyIG9mIGNvbmN1cnJlbnQgdGhyZWFkcyAoZGVmYXVsdCAxKVxuICAgICAqL1xuICAgIGdldFRocmVhZHNDb3VudCgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5hcHBDb25maWdTZXJ2aWNlLmdldDxudW1iZXI+KCd1cGxvYWQudGhyZWFkcycsIDEpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENoZWNrcyB3aGV0aGVyIHRoZSBzZXJ2aWNlIHN0aWxsIGhhcyBmaWxlcyB1cGxvYWRpbmcgb3IgYXdhaXRpbmcgdXBsb2FkLlxuICAgICAqXG4gICAgICogQHJldHVybnMgVHJ1ZSBpZiBmaWxlcyBpbiB0aGUgcXVldWUgYXJlIHN0aWxsIHVwbG9hZGluZywgZmFsc2Ugb3RoZXJ3aXNlXG4gICAgICovXG4gICAgaXNVcGxvYWRpbmcoKTogYm9vbGVhbiB7XG4gICAgICAgIGNvbnN0IGZpbmlzaGVkRmlsZVN0YXRlcyA9IFtcbiAgICAgICAgICAgIEZpbGVVcGxvYWRTdGF0dXMuQ29tcGxldGUsXG4gICAgICAgICAgICBGaWxlVXBsb2FkU3RhdHVzLkNhbmNlbGxlZCxcbiAgICAgICAgICAgIEZpbGVVcGxvYWRTdGF0dXMuQWJvcnRlZCxcbiAgICAgICAgICAgIEZpbGVVcGxvYWRTdGF0dXMuRXJyb3IsXG4gICAgICAgICAgICBGaWxlVXBsb2FkU3RhdHVzLkRlbGV0ZWRcbiAgICAgICAgXTtcbiAgICAgICAgcmV0dXJuIHRoaXMucXVldWUucmVkdWNlKFxuICAgICAgICAgICAgKHN0aWxsVXBsb2FkaW5nOiBib29sZWFuLCBjdXJyZW50RmlsZTogRmlsZU1vZGVsKSA9PiBzdGlsbFVwbG9hZGluZyB8fCBmaW5pc2hlZEZpbGVTdGF0ZXMuaW5kZXhPZihjdXJyZW50RmlsZS5zdGF0dXMpID09PSAtMSxcbiAgICAgICAgICAgIGZhbHNlXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0cyB0aGUgZmlsZSBRdWV1ZVxuICAgICAqXG4gICAgICogQHJldHVybnMgQXJyYXkgb2YgZmlsZXMgdGhhdCBmb3JtIHRoZSBxdWV1ZVxuICAgICAqL1xuICAgIGdldFF1ZXVlKCk6IEZpbGVNb2RlbFtdIHtcbiAgICAgICAgcmV0dXJuIHRoaXMucXVldWU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkcyBmaWxlcyB0byB0aGUgdXBsb2FkaW5nIHF1ZXVlIHRvIGJlIHVwbG9hZGVkXG4gICAgICpcbiAgICAgKiBAcGFyYW0gZmlsZXMgT25lIG9yIG1vcmUgc2VwYXJhdGUgcGFyYW1ldGVycyBvciBhbiBhcnJheSBvZiBmaWxlcyB0byBxdWV1ZVxuICAgICAqIEByZXR1cm5zIEFycmF5IG9mIGZpbGVzIHRoYXQgd2VyZSBub3QgYmxvY2tlZCBmcm9tIHVwbG9hZCBieSB0aGUgaWdub3JlIGxpc3RcbiAgICAgKi9cbiAgICBhZGRUb1F1ZXVlKC4uLmZpbGVzOiBGaWxlTW9kZWxbXSk6IEZpbGVNb2RlbFtdIHtcbiAgICAgICAgY29uc3QgYWxsb3dlZEZpbGVzID0gZmlsZXMuZmlsdGVyKChjdXJyZW50RmlsZSkgPT4gdGhpcy5maWx0ZXJFbGVtZW50KGN1cnJlbnRGaWxlKSk7XG4gICAgICAgIHRoaXMucXVldWUgPSB0aGlzLnF1ZXVlLmNvbmNhdChhbGxvd2VkRmlsZXMpO1xuICAgICAgICB0aGlzLnF1ZXVlQ2hhbmdlZC5uZXh0KHRoaXMucXVldWUpO1xuICAgICAgICByZXR1cm4gYWxsb3dlZEZpbGVzO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEZpbmRzIGFsbCB0aGUgZmlsZXMgaW4gdGhlIHF1ZXVlIHRoYXQgYXJlIG5vdCB5ZXQgdXBsb2FkZWQgYW5kIHVwbG9hZHMgdGhlbSBpbnRvIHRoZSBkaXJlY3RvcnkgZm9sZGVyLlxuICAgICAqXG4gICAgICogQHBhcmFtIHN1Y2Nlc3NFbWl0dGVyIEVtaXR0ZXIgdG8gaW52b2tlIG9uIGZpbGUgc3VjY2VzcyBzdGF0dXMgY2hhbmdlXG4gICAgICogQHBhcmFtIGVycm9yRW1pdHRlciBFbWl0dGVyIHRvIGludm9rZSBvbiBmaWxlIGVycm9yIHN0YXR1cyBjaGFuZ2VcbiAgICAgKi9cbiAgICB1cGxvYWRGaWxlc0luVGhlUXVldWUoc3VjY2Vzc0VtaXR0ZXI/OiBFdmVudEVtaXR0ZXI8YW55PiwgZXJyb3JFbWl0dGVyPzogRXZlbnRFbWl0dGVyPGFueT4pOiB2b2lkIHtcbiAgICAgICAgY29uc3QgZmlsZXMgPSB0aGlzLmdldEZpbGVzVG9VcGxvYWQoKTtcblxuICAgICAgICBpZiAoZmlsZXMgJiYgZmlsZXMubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgZm9yIChjb25zdCBmaWxlIG9mIGZpbGVzKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5vblVwbG9hZFN0YXJ0aW5nKGZpbGUpO1xuXG4gICAgICAgICAgICAgICAgY29uc3QgcHJvbWlzZSA9IHRoaXMuYmVnaW5VcGxvYWQoZmlsZSwgc3VjY2Vzc0VtaXR0ZXIsIGVycm9yRW1pdHRlcik7XG4gICAgICAgICAgICAgICAgdGhpcy5jYWNoZVtmaWxlLm5hbWVdID0gcHJvbWlzZTtcblxuICAgICAgICAgICAgICAgIGNvbnN0IG5leHQgPSAoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy51cGxvYWRGaWxlc0luVGhlUXVldWUoc3VjY2Vzc0VtaXR0ZXIsIGVycm9yRW1pdHRlciksIDEwMCk7XG4gICAgICAgICAgICAgICAgfTtcblxuICAgICAgICAgICAgICAgIHByb21pc2UubmV4dCA9IG5leHQ7XG5cbiAgICAgICAgICAgICAgICBwcm9taXNlLnRoZW4oXG4gICAgICAgICAgICAgICAgICAgICgpID0+IG5leHQoKSxcbiAgICAgICAgICAgICAgICAgICAgKCkgPT4gbmV4dCgpXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENhbmNlbHMgdXBsb2FkaW5nIG9mIGZpbGVzLlxuICAgICAqIElmIHRoZSBmaWxlIGlzIHNtYWxsZXIgdGhhbiAxIE1CIHRoZSBmaWxlIHdpbGwgYmUgdXBsb2FkZWQgYW5kIHRoZW4gdGhlIG5vZGUgZGVsZXRlZFxuICAgICAqIHRvIHByZXZlbnQgaGF2aW5nIGZpbGVzIHRoYXQgd2VyZSBhYm9ydGVkIGJ1dCBzdGlsbCB1cGxvYWRlZC5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBmaWxlcyBPbmUgb3IgbW9yZSBzZXBhcmF0ZSBwYXJhbWV0ZXJzIG9yIGFuIGFycmF5IG9mIGZpbGVzIHNwZWNpZnlpbmcgdXBsb2FkcyB0byBjYW5jZWxcbiAgICAgKi9cbiAgICBjYW5jZWxVcGxvYWQoLi4uZmlsZXM6IEZpbGVNb2RlbFtdKSB7XG4gICAgICAgIGZpbGVzLmZvckVhY2goKGZpbGUpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHByb21pc2UgPSB0aGlzLmNhY2hlW2ZpbGUubmFtZV07XG4gICAgICAgICAgICBpZiAocHJvbWlzZSkge1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLmlzU2F2ZVRvQWJvcnRGaWxlKGZpbGUpKSB7XG4gICAgICAgICAgICAgICAgICAgIHByb21pc2UuYWJvcnQoKTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmFib3J0ZWRGaWxlID0gZmlsZS5uYW1lO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBkZWxldGUgdGhpcy5jYWNoZVtmaWxlLm5hbWVdO1xuICAgICAgICAgICAgICAgIHByb21pc2UubmV4dCgpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBjb25zdCBwZXJmb3JtQWN0aW9uID0gdGhpcy5nZXRBY3Rpb24oZmlsZSk7XG5cbiAgICAgICAgICAgICAgICBpZiAocGVyZm9ybUFjdGlvbikge1xuICAgICAgICAgICAgICAgICAgICBwZXJmb3JtQWN0aW9uKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvKiogQ2xlYXJzIHRoZSB1cGxvYWQgcXVldWUgKi9cbiAgICBjbGVhclF1ZXVlKCkge1xuICAgICAgICB0aGlzLnF1ZXVlID0gW107XG4gICAgICAgIHRoaXMudG90YWxDb21wbGV0ZSA9IDA7XG4gICAgICAgIHRoaXMudG90YWxBYm9ydGVkID0gMDtcbiAgICAgICAgdGhpcy50b3RhbEVycm9yID0gMDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHZXRzIGFuIHVwbG9hZCBwcm9taXNlIGZvciBhIGZpbGUuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gZmlsZSBUaGUgdGFyZ2V0IGZpbGVcbiAgICAgKiBAcmV0dXJucyBQcm9taXNlIHRoYXQgaXMgcmVzb2x2ZWQgaWYgdGhlIHVwbG9hZCBpcyBzdWNjZXNzZnVsIG9yIGVycm9yIG90aGVyd2lzZVxuICAgICAqL1xuICAgIGdldFVwbG9hZFByb21pc2UoZmlsZTogRmlsZU1vZGVsKTogYW55IHtcbiAgICAgICAgY29uc3Qgb3B0czogYW55ID0ge1xuICAgICAgICAgICAgaW5jbHVkZTogWydhbGxvd2FibGVPcGVyYXRpb25zJ11cbiAgICAgICAgfTtcblxuICAgICAgICBpZiAodGhpcy5pc1RodW1ibmFpbEdlbmVyYXRpb25FbmFibGVkKSB7XG4gICAgICAgICAgICBvcHRzLnJlbmRpdGlvbnMgPSAnZG9jbGliJztcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChmaWxlLm9wdGlvbnM/LnZlcnNpb25pbmdFbmFibGVkICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIG9wdHMudmVyc2lvbmluZ0VuYWJsZWQgPSBmaWxlLm9wdGlvbnMudmVyc2lvbmluZ0VuYWJsZWQ7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoZmlsZS5vcHRpb25zLm5ld1ZlcnNpb24gPT09IHRydWUpIHtcbiAgICAgICAgICAgIG9wdHMub3ZlcndyaXRlID0gdHJ1ZTtcbiAgICAgICAgICAgIG9wdHMubWFqb3JWZXJzaW9uID0gZmlsZS5vcHRpb25zLm1ham9yVmVyc2lvbjtcbiAgICAgICAgICAgIG9wdHMuY29tbWVudCA9IGZpbGUub3B0aW9ucy5jb21tZW50O1xuICAgICAgICAgICAgb3B0cy5uYW1lID0gZmlsZS5uYW1lO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgb3B0cy5hdXRvUmVuYW1lID0gdHJ1ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChmaWxlLm9wdGlvbnMubm9kZVR5cGUpIHtcbiAgICAgICAgICAgIG9wdHMubm9kZVR5cGUgPSBmaWxlLm9wdGlvbnMubm9kZVR5cGU7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoZmlsZS5pZCkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMubm9kZXNBcGkudXBkYXRlTm9kZUNvbnRlbnQoZmlsZS5pZCwgZmlsZS5maWxlIGFzIGFueSwgb3B0cyk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBjb25zdCBub2RlQm9keTogTm9kZUJvZHlDcmVhdGUgPSB7IC4uLmZpbGUub3B0aW9ucywgbmFtZTogZmlsZS5uYW1lLCBub2RlVHlwZTogZmlsZS5vcHRpb25zLm5vZGVUeXBlIH07XG4gICAgICAgICAgICBkZWxldGUgbm9kZUJvZHlbJ3ZlcnNpb25pbmdFbmFibGVkJ107XG5cbiAgICAgICAgICAgIHJldHVybiB0aGlzLnVwbG9hZEFwaS51cGxvYWRGaWxlKGZpbGUuZmlsZSwgZmlsZS5vcHRpb25zLnBhdGgsIGZpbGUub3B0aW9ucy5wYXJlbnRJZCwgbm9kZUJvZHksIG9wdHMpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRGaWxlc1RvVXBsb2FkKCk6IEZpbGVNb2RlbFtdIHtcbiAgICAgICAgY29uc3QgY2FjaGVkID0gT2JqZWN0LmtleXModGhpcy5jYWNoZSk7XG4gICAgICAgIGNvbnN0IHRocmVhZHNDb3VudCA9IHRoaXMuZ2V0VGhyZWFkc0NvdW50KCk7XG5cbiAgICAgICAgaWYgKGNhY2hlZC5sZW5ndGggPj0gdGhyZWFkc0NvdW50KSB7XG4gICAgICAgICAgICByZXR1cm4gW107XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBmaWxlcyA9IHRoaXMucXVldWVcbiAgICAgICAgICAgIC5maWx0ZXIoKHRvVXBsb2FkKSA9PiAhY2FjaGVkLmluY2x1ZGVzKHRvVXBsb2FkLm5hbWUpICYmIHRvVXBsb2FkLnN0YXR1cyA9PT0gRmlsZVVwbG9hZFN0YXR1cy5QZW5kaW5nKVxuICAgICAgICAgICAgLnNsaWNlKDAsIHRocmVhZHNDb3VudCk7XG5cbiAgICAgICAgcmV0dXJuIGZpbGVzO1xuICAgIH1cblxuICAgIHByaXZhdGUgYmVnaW5VcGxvYWQoZmlsZTogRmlsZU1vZGVsLCBzdWNjZXNzRW1pdHRlcj86IEV2ZW50RW1pdHRlcjxhbnk+LCBlcnJvckVtaXR0ZXI/OiBFdmVudEVtaXR0ZXI8YW55Pik6IGFueSB7XG4gICAgICAgIGNvbnN0IHByb21pc2UgPSB0aGlzLmdldFVwbG9hZFByb21pc2UoZmlsZSk7XG4gICAgICAgIHByb21pc2VcbiAgICAgICAgICAgIC5vbigncHJvZ3Jlc3MnLCAocHJvZ3Jlc3M6IEZpbGVVcGxvYWRQcm9ncmVzcykgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMub25VcGxvYWRQcm9ncmVzcyhmaWxlLCBwcm9ncmVzcyk7XG4gICAgICAgICAgICB9KVxuICAgICAgICAgICAgLm9uKCdhYm9ydCcsICgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLm9uVXBsb2FkQWJvcnRlZChmaWxlKTtcbiAgICAgICAgICAgICAgICBpZiAoc3VjY2Vzc0VtaXR0ZXIpIHtcbiAgICAgICAgICAgICAgICAgICAgc3VjY2Vzc0VtaXR0ZXIuZW1pdCh7IHZhbHVlOiAnRmlsZSBhYm9ydGVkJyB9KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KVxuICAgICAgICAgICAgLm9uKCdlcnJvcicsIChlcnIpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLm9uVXBsb2FkRXJyb3IoZmlsZSwgZXJyKTtcbiAgICAgICAgICAgICAgICBpZiAoZXJyb3JFbWl0dGVyKSB7XG4gICAgICAgICAgICAgICAgICAgIGVycm9yRW1pdHRlci5lbWl0KHsgdmFsdWU6ICdFcnJvciBmaWxlIHVwbG9hZGVkJyB9KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KVxuICAgICAgICAgICAgLm9uKCdzdWNjZXNzJywgKGRhdGEpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5hYm9ydGVkRmlsZSA9PT0gZmlsZS5uYW1lKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMub25VcGxvYWRBYm9ydGVkKGZpbGUpO1xuICAgICAgICAgICAgICAgICAgICBpZiAoZmlsZS5pZCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmRlbGV0ZUFib3J0ZWROb2RlKGRhdGEuZW50cnkuaWQpO1xuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5kZWxldGVBYm9ydGVkTm9kZVZlcnNpb24oZGF0YS5lbnRyeS5pZCwgZGF0YS5lbnRyeS5wcm9wZXJ0aWVzWydjbTp2ZXJzaW9uTGFiZWwnXSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgaWYgKHN1Y2Nlc3NFbWl0dGVyKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBzdWNjZXNzRW1pdHRlci5lbWl0KHsgdmFsdWU6ICdGaWxlIGRlbGV0ZWQnIH0pO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5vblVwbG9hZENvbXBsZXRlKGZpbGUsIGRhdGEpO1xuICAgICAgICAgICAgICAgICAgICBpZiAoc3VjY2Vzc0VtaXR0ZXIpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHN1Y2Nlc3NFbWl0dGVyLmVtaXQoeyB2YWx1ZTogZGF0YSB9KTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAuY2F0Y2goKCkgPT4ge30pO1xuXG4gICAgICAgIHJldHVybiBwcm9taXNlO1xuICAgIH1cblxuICAgIHByaXZhdGUgb25VcGxvYWRTdGFydGluZyhmaWxlOiBGaWxlTW9kZWwpOiB2b2lkIHtcbiAgICAgICAgaWYgKGZpbGUpIHtcbiAgICAgICAgICAgIGZpbGUuc3RhdHVzID0gRmlsZVVwbG9hZFN0YXR1cy5TdGFydGluZztcbiAgICAgICAgICAgIGNvbnN0IGV2ZW50ID0gbmV3IEZpbGVVcGxvYWRFdmVudChmaWxlLCBGaWxlVXBsb2FkU3RhdHVzLlN0YXJ0aW5nKTtcbiAgICAgICAgICAgIHRoaXMuZmlsZVVwbG9hZC5uZXh0KGV2ZW50KTtcbiAgICAgICAgICAgIHRoaXMuZmlsZVVwbG9hZFN0YXJ0aW5nLm5leHQoZXZlbnQpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBvblVwbG9hZFByb2dyZXNzKGZpbGU6IEZpbGVNb2RlbCwgcHJvZ3Jlc3M6IEZpbGVVcGxvYWRQcm9ncmVzcyk6IHZvaWQge1xuICAgICAgICBpZiAoZmlsZSkge1xuICAgICAgICAgICAgZmlsZS5wcm9ncmVzcyA9IHByb2dyZXNzO1xuICAgICAgICAgICAgZmlsZS5zdGF0dXMgPSBGaWxlVXBsb2FkU3RhdHVzLlByb2dyZXNzO1xuXG4gICAgICAgICAgICBjb25zdCBldmVudCA9IG5ldyBGaWxlVXBsb2FkRXZlbnQoZmlsZSwgRmlsZVVwbG9hZFN0YXR1cy5Qcm9ncmVzcyk7XG4gICAgICAgICAgICB0aGlzLmZpbGVVcGxvYWQubmV4dChldmVudCk7XG4gICAgICAgICAgICB0aGlzLmZpbGVVcGxvYWRQcm9ncmVzcy5uZXh0KGV2ZW50KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgb25VcGxvYWRFcnJvcihmaWxlOiBGaWxlTW9kZWwsIGVycm9yOiB7IHN0YXR1cz86IG51bWJlciB9KTogdm9pZCB7XG4gICAgICAgIGlmIChmaWxlKSB7XG4gICAgICAgICAgICBmaWxlLmVycm9yQ29kZSA9IGVycm9yPy5zdGF0dXM7XG4gICAgICAgICAgICBmaWxlLnN0YXR1cyA9IEZpbGVVcGxvYWRTdGF0dXMuRXJyb3I7XG4gICAgICAgICAgICB0aGlzLnRvdGFsRXJyb3IrKztcblxuICAgICAgICAgICAgY29uc3QgcHJvbWlzZSA9IHRoaXMuY2FjaGVbZmlsZS5uYW1lXTtcbiAgICAgICAgICAgIGlmIChwcm9taXNlKSB7XG4gICAgICAgICAgICAgICAgZGVsZXRlIHRoaXMuY2FjaGVbZmlsZS5uYW1lXTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgY29uc3QgZXZlbnQgPSBuZXcgRmlsZVVwbG9hZEVycm9yRXZlbnQoZmlsZSwgZXJyb3IsIHRoaXMudG90YWxFcnJvcik7XG4gICAgICAgICAgICB0aGlzLmZpbGVVcGxvYWQubmV4dChldmVudCk7XG4gICAgICAgICAgICB0aGlzLmZpbGVVcGxvYWRFcnJvci5uZXh0KGV2ZW50KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgb25VcGxvYWRDb21wbGV0ZShmaWxlOiBGaWxlTW9kZWwsIGRhdGE6IGFueSk6IHZvaWQge1xuICAgICAgICBpZiAoZmlsZSkge1xuICAgICAgICAgICAgZmlsZS5zdGF0dXMgPSBGaWxlVXBsb2FkU3RhdHVzLkNvbXBsZXRlO1xuICAgICAgICAgICAgZmlsZS5kYXRhID0gZGF0YTtcbiAgICAgICAgICAgIHRoaXMudG90YWxDb21wbGV0ZSsrO1xuICAgICAgICAgICAgY29uc3QgcHJvbWlzZSA9IHRoaXMuY2FjaGVbZmlsZS5uYW1lXTtcbiAgICAgICAgICAgIGlmIChwcm9taXNlKSB7XG4gICAgICAgICAgICAgICAgZGVsZXRlIHRoaXMuY2FjaGVbZmlsZS5uYW1lXTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgY29uc3QgZXZlbnQgPSBuZXcgRmlsZVVwbG9hZENvbXBsZXRlRXZlbnQoZmlsZSwgdGhpcy50b3RhbENvbXBsZXRlLCBkYXRhLCB0aGlzLnRvdGFsQWJvcnRlZCk7XG4gICAgICAgICAgICB0aGlzLmZpbGVVcGxvYWQubmV4dChldmVudCk7XG4gICAgICAgICAgICB0aGlzLmZpbGVVcGxvYWRDb21wbGV0ZS5uZXh0KGV2ZW50KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgb25VcGxvYWRBYm9ydGVkKGZpbGU6IEZpbGVNb2RlbCk6IHZvaWQge1xuICAgICAgICBpZiAoZmlsZSkge1xuICAgICAgICAgICAgZmlsZS5zdGF0dXMgPSBGaWxlVXBsb2FkU3RhdHVzLkFib3J0ZWQ7XG4gICAgICAgICAgICB0aGlzLnRvdGFsQWJvcnRlZCsrO1xuXG4gICAgICAgICAgICBjb25zdCBldmVudCA9IG5ldyBGaWxlVXBsb2FkRXZlbnQoZmlsZSwgRmlsZVVwbG9hZFN0YXR1cy5BYm9ydGVkKTtcbiAgICAgICAgICAgIHRoaXMuZmlsZVVwbG9hZC5uZXh0KGV2ZW50KTtcbiAgICAgICAgICAgIHRoaXMuZmlsZVVwbG9hZEFib3J0ZWQubmV4dChldmVudCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIG9uVXBsb2FkQ2FuY2VsbGVkKGZpbGU6IEZpbGVNb2RlbCk6IHZvaWQge1xuICAgICAgICBpZiAoZmlsZSkge1xuICAgICAgICAgICAgZmlsZS5zdGF0dXMgPSBGaWxlVXBsb2FkU3RhdHVzLkNhbmNlbGxlZDtcblxuICAgICAgICAgICAgY29uc3QgZXZlbnQgPSBuZXcgRmlsZVVwbG9hZEV2ZW50KGZpbGUsIEZpbGVVcGxvYWRTdGF0dXMuQ2FuY2VsbGVkKTtcbiAgICAgICAgICAgIHRoaXMuZmlsZVVwbG9hZC5uZXh0KGV2ZW50KTtcbiAgICAgICAgICAgIHRoaXMuZmlsZVVwbG9hZENhbmNlbGxlZC5uZXh0KGV2ZW50KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgb25VcGxvYWREZWxldGVkKGZpbGU6IEZpbGVNb2RlbCk6IHZvaWQge1xuICAgICAgICBpZiAoZmlsZSkge1xuICAgICAgICAgICAgZmlsZS5zdGF0dXMgPSBGaWxlVXBsb2FkU3RhdHVzLkRlbGV0ZWQ7XG4gICAgICAgICAgICB0aGlzLnRvdGFsQ29tcGxldGUtLTtcblxuICAgICAgICAgICAgY29uc3QgZXZlbnQgPSBuZXcgRmlsZVVwbG9hZERlbGV0ZUV2ZW50KGZpbGUsIHRoaXMudG90YWxDb21wbGV0ZSk7XG4gICAgICAgICAgICB0aGlzLmZpbGVVcGxvYWQubmV4dChldmVudCk7XG4gICAgICAgICAgICB0aGlzLmZpbGVVcGxvYWREZWxldGVkLm5leHQoZXZlbnQpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRBY3Rpb24oZmlsZTogRmlsZU1vZGVsKSB7XG4gICAgICAgIGNvbnN0IGFjdGlvbnMgPSB7XG4gICAgICAgICAgICBbRmlsZVVwbG9hZFN0YXR1cy5QZW5kaW5nXTogKCkgPT4gdGhpcy5vblVwbG9hZENhbmNlbGxlZChmaWxlKSxcbiAgICAgICAgICAgIFtGaWxlVXBsb2FkU3RhdHVzLkRlbGV0ZWRdOiAoKSA9PiB0aGlzLm9uVXBsb2FkRGVsZXRlZChmaWxlKSxcbiAgICAgICAgICAgIFtGaWxlVXBsb2FkU3RhdHVzLkVycm9yXTogKCkgPT4gdGhpcy5vblVwbG9hZEVycm9yKGZpbGUsIG51bGwpXG4gICAgICAgIH07XG5cbiAgICAgICAgcmV0dXJuIGFjdGlvbnNbZmlsZS5zdGF0dXNdO1xuICAgIH1cblxuICAgIHByaXZhdGUgZGVsZXRlQWJvcnRlZE5vZGUobm9kZUlkOiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5ub2Rlc0FwaS5kZWxldGVOb2RlKG5vZGVJZCwgeyBwZXJtYW5lbnQ6IHRydWUgfSkudGhlbigoKSA9PiAodGhpcy5hYm9ydGVkRmlsZSA9IHVuZGVmaW5lZCkpO1xuICAgIH1cblxuICAgIHByaXZhdGUgZGVsZXRlQWJvcnRlZE5vZGVWZXJzaW9uKG5vZGVJZDogc3RyaW5nLCB2ZXJzaW9uSWQ6IHN0cmluZykge1xuICAgICAgICB0aGlzLnZlcnNpb25zQXBpLmRlbGV0ZVZlcnNpb24obm9kZUlkLCB2ZXJzaW9uSWQpLnRoZW4oKCkgPT4gKHRoaXMuYWJvcnRlZEZpbGUgPSB1bmRlZmluZWQpKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGlzU2F2ZVRvQWJvcnRGaWxlKGZpbGU6IEZpbGVNb2RlbCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gZmlsZS5zaXplID4gTUlOX0NBTkNFTExBQkxFX0ZJTEVfU0laRSAmJiBmaWxlLnByb2dyZXNzLnBlcmNlbnQgPCBNQVhfQ0FOQ0VMTEFCTEVfRklMRV9QRVJDRU5UQUdFO1xuICAgIH1cblxuICAgIHByaXZhdGUgZmlsdGVyRWxlbWVudChmaWxlOiBGaWxlTW9kZWwpIHtcbiAgICAgICAgdGhpcy5leGNsdWRlZEZpbGVMaXN0ID0gdGhpcy5hcHBDb25maWdTZXJ2aWNlLmdldDxzdHJpbmdbXT4oJ2ZpbGVzLmV4Y2x1ZGVkJyk7XG4gICAgICAgIHRoaXMuZXhjbHVkZWRGb2xkZXJzTGlzdCA9IHRoaXMuYXBwQ29uZmlnU2VydmljZS5nZXQ8c3RyaW5nW10+KCdmb2xkZXJzLmV4Y2x1ZGVkJyk7XG4gICAgICAgIGxldCBpc0FsbG93ZWQgPSB0cnVlO1xuXG4gICAgICAgIGlmICh0aGlzLmV4Y2x1ZGVkRmlsZUxpc3QpIHtcbiAgICAgICAgICAgIHRoaXMubWF0Y2hpbmdPcHRpb25zID0gdGhpcy5hcHBDb25maWdTZXJ2aWNlLmdldCgnZmlsZXMubWF0Y2gtb3B0aW9ucycpO1xuICAgICAgICAgICAgaXNBbGxvd2VkID0gdGhpcy5pc0ZpbGVOYW1lQWxsb3dlZChmaWxlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChpc0FsbG93ZWQgJiYgdGhpcy5leGNsdWRlZEZvbGRlcnNMaXN0KSB7XG4gICAgICAgICAgICB0aGlzLmZvbGRlck1hdGNoaW5nT3B0aW9ucyA9IHRoaXMuYXBwQ29uZmlnU2VydmljZS5nZXQoJ2ZvbGRlcnMubWF0Y2gtb3B0aW9ucycpO1xuICAgICAgICAgICAgaXNBbGxvd2VkID0gdGhpcy5pc1BhcmVudEZvbGRlckFsbG93ZWQoZmlsZSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGlzQWxsb3dlZDtcbiAgICB9XG5cbiAgICBwcml2YXRlIGlzUGFyZW50Rm9sZGVyQWxsb3dlZChmaWxlOiBGaWxlTW9kZWwpOiBib29sZWFuIHtcbiAgICAgICAgbGV0IGlzQWxsb3dlZDogYm9vbGVhbiA9IHRydWU7XG4gICAgICAgIGNvbnN0IGN1cnJlbnRGaWxlOiBhbnkgPSBmaWxlLmZpbGU7XG4gICAgICAgIGNvbnN0IGZpbGVSZWxhdGl2ZVBhdGggPSBjdXJyZW50RmlsZS53ZWJraXRSZWxhdGl2ZVBhdGggPyBjdXJyZW50RmlsZS53ZWJraXRSZWxhdGl2ZVBhdGggOiBmaWxlLm9wdGlvbnMucGF0aDtcbiAgICAgICAgaWYgKGN1cnJlbnRGaWxlICYmIGZpbGVSZWxhdGl2ZVBhdGgpIHtcbiAgICAgICAgICAgIGlzQWxsb3dlZCA9XG4gICAgICAgICAgICAgICAgdGhpcy5leGNsdWRlZEZvbGRlcnNMaXN0LmZpbHRlcigoZm9sZGVyVG9FeGNsdWRlKSA9PlxuICAgICAgICAgICAgICAgICAgICBmaWxlUmVsYXRpdmVQYXRoLnNwbGl0KCcvJykuc29tZSgocGF0aEVsZW1lbnQpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IG1pbmltYXRjaCA9IG5ldyBNaW5pbWF0Y2goZm9sZGVyVG9FeGNsdWRlLCB0aGlzLmZvbGRlck1hdGNoaW5nT3B0aW9ucyk7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gbWluaW1hdGNoLm1hdGNoKHBhdGhFbGVtZW50KTtcbiAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICApLmxlbmd0aCA9PT0gMDtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gaXNBbGxvd2VkO1xuICAgIH1cblxuICAgIHByaXZhdGUgaXNGaWxlTmFtZUFsbG93ZWQoZmlsZTogRmlsZU1vZGVsKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICB0aGlzLmV4Y2x1ZGVkRmlsZUxpc3QuZmlsdGVyKChwYXR0ZXJuKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgbWluaW1hdGNoID0gbmV3IE1pbmltYXRjaChwYXR0ZXJuLCB0aGlzLm1hdGNoaW5nT3B0aW9ucyk7XG4gICAgICAgICAgICAgICAgcmV0dXJuIG1pbmltYXRjaC5tYXRjaChmaWxlLm5hbWUpO1xuICAgICAgICAgICAgfSkubGVuZ3RoID09PSAwXG4gICAgICAgICk7XG4gICAgfVxufVxuIl19
@@ -0,0 +1,54 @@
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 { CommonModule } from '@angular/common';
18
+ import { Component, Input, ViewEncapsulation } from '@angular/core';
19
+ import { MatExpansionModule } from '@angular/material/expansion';
20
+ import { MatIconModule } from '@angular/material/icon';
21
+ import { TranslatePipe } from '@ngx-translate/core';
22
+ import * as i0 from "@angular/core";
23
+ import * as i1 from "@angular/common";
24
+ import * as i2 from "@angular/material/icon";
25
+ import * as i3 from "@angular/material/expansion";
26
+ export class ContentMetadataHeaderComponent {
27
+ constructor() {
28
+ this.title = null;
29
+ this.expanded = true;
30
+ }
31
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ContentMetadataHeaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
32
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ContentMetadataHeaderComponent, isStandalone: true, selector: "adf-content-metadata-header", inputs: { title: "title", expanded: "expanded" }, ngImport: i0, template: `
33
+ <ng-container>
34
+ <mat-icon>{{ expanded ? 'expand_more' : 'chevron_right' }}</mat-icon>
35
+ <mat-panel-title *ngIf="title" class="adf-metadata-properties-title" [title]="title | translate">{{ title | translate }}</mat-panel-title>
36
+ <ng-content />
37
+ </ng-container>
38
+ `, isInline: true, styles: ["adf-content-metadata-header{display:flex;align-items:center;width:100%}.adf-metadata-properties-title{display:block;overflow:hidden;text-overflow:ellipsis;font-weight:700;font-size:15px;padding-left:12px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatExpansionModule }, { kind: "directive", type: i3.MatExpansionPanelTitle, selector: "mat-panel-title" }, { kind: "pipe", type: TranslatePipe, name: "translate" }], encapsulation: i0.ViewEncapsulation.None }); }
39
+ }
40
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ContentMetadataHeaderComponent, decorators: [{
41
+ type: Component,
42
+ args: [{ standalone: true, imports: [CommonModule, MatIconModule, MatExpansionModule, TranslatePipe], selector: 'adf-content-metadata-header', encapsulation: ViewEncapsulation.None, template: `
43
+ <ng-container>
44
+ <mat-icon>{{ expanded ? 'expand_more' : 'chevron_right' }}</mat-icon>
45
+ <mat-panel-title *ngIf="title" class="adf-metadata-properties-title" [title]="title | translate">{{ title | translate }}</mat-panel-title>
46
+ <ng-content />
47
+ </ng-container>
48
+ `, styles: ["adf-content-metadata-header{display:flex;align-items:center;width:100%}.adf-metadata-properties-title{display:block;overflow:hidden;text-overflow:ellipsis;font-weight:700;font-size:15px;padding-left:12px}\n"] }]
49
+ }], propDecorators: { title: [{
50
+ type: Input
51
+ }], expanded: [{
52
+ type: Input
53
+ }] } });
54
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGVudC1tZXRhZGF0YS1oZWFkZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGliL2NvbnRlbnQtc2VydmljZXMvc3JjL2xpYi9jb250ZW50LW1ldGFkYXRhL2NvbXBvbmVudHMvY29udGVudC1tZXRhZGF0YS9jb250ZW50LW1ldGFkYXRhLWhlYWRlci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7OztHQWVHO0FBRUgsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0scUJBQXFCLENBQUM7Ozs7O0FBaUNwRCxNQUFNLE9BQU8sOEJBQThCO0lBL0IzQztRQWdDYSxVQUFLLEdBQVcsSUFBSSxDQUFDO1FBQ3JCLGFBQVEsR0FBRyxJQUFJLENBQUM7S0FDNUI7K0dBSFksOEJBQThCO21HQUE5Qiw4QkFBOEIseUlBUjdCOzs7Ozs7S0FNVCx1UkEzQlMsWUFBWSxrSUFBRSxhQUFhLG1MQUFFLGtCQUFrQiwrR0FBRSxhQUFhOzs0RkE2Qi9ELDhCQUE4QjtrQkEvQjFDLFNBQVM7aUNBQ00sSUFBSSxXQUNQLENBQUMsWUFBWSxFQUFFLGFBQWEsRUFBRSxrQkFBa0IsRUFBRSxhQUFhLENBQUMsWUFDL0QsNkJBQTZCLGlCQUN4QixpQkFBaUIsQ0FBQyxJQUFJLFlBbUIzQjs7Ozs7O0tBTVQ7OEJBR1EsS0FBSztzQkFBYixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyIvKiFcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgwqkgMjAwNS0yMDI1IEh5bGFuZCBTb2Z0d2FyZSwgSW5jLiBhbmQgaXRzIGFmZmlsaWF0ZXMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWF0RXhwYW5zaW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZXhwYW5zaW9uJztcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcbmltcG9ydCB7IFRyYW5zbGF0ZVBpcGUgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBNYXRJY29uTW9kdWxlLCBNYXRFeHBhbnNpb25Nb2R1bGUsIFRyYW5zbGF0ZVBpcGVdLFxuICAgIHNlbGVjdG9yOiAnYWRmLWNvbnRlbnQtbWV0YWRhdGEtaGVhZGVyJyxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICAgIHN0eWxlczogW1xuICAgICAgICBgXG4gICAgICAgICAgICBhZGYtY29udGVudC1tZXRhZGF0YS1oZWFkZXIge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmFkZi1tZXRhZGF0YS1wcm9wZXJ0aWVzLXRpdGxlIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNXB4O1xuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMTJweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgYFxuICAgIF0sXG4gICAgdGVtcGxhdGU6IGBcbiAgICAgICAgPG5nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDxtYXQtaWNvbj57eyBleHBhbmRlZCA/ICdleHBhbmRfbW9yZScgOiAnY2hldnJvbl9yaWdodCcgfX08L21hdC1pY29uPlxuICAgICAgICAgICAgPG1hdC1wYW5lbC10aXRsZSAqbmdJZj1cInRpdGxlXCIgY2xhc3M9XCJhZGYtbWV0YWRhdGEtcHJvcGVydGllcy10aXRsZVwiIFt0aXRsZV09XCJ0aXRsZSB8IHRyYW5zbGF0ZVwiPnt7IHRpdGxlIHwgdHJhbnNsYXRlIH19PC9tYXQtcGFuZWwtdGl0bGU+XG4gICAgICAgICAgICA8bmctY29udGVudCAvPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICBgXG59KVxuZXhwb3J0IGNsYXNzIENvbnRlbnRNZXRhZGF0YUhlYWRlckNvbXBvbmVudCB7XG4gICAgQElucHV0KCkgdGl0bGU6IHN0cmluZyA9IG51bGw7XG4gICAgQElucHV0KCkgZXhwYW5kZWQgPSB0cnVlO1xufVxuIl19