@alfresco/adf-content-services 8.1.0-16024576091 → 8.1.0-16047635687

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 (408) hide show
  1. package/fesm2022/adf-content-services.mjs +746 -761
  2. package/fesm2022/adf-content-services.mjs.map +1 -1
  3. package/lib/new-version-uploader/new-version-uploader.dialog.scss +1 -1
  4. package/lib/upload/components/base-upload/upload-base.d.ts +1 -1
  5. package/package.json +3 -5
  6. package/esm2022/adf-content-services.mjs +0 -5
  7. package/esm2022/lib/agent/index.mjs +0 -18
  8. package/esm2022/lib/agent/public-api.mjs +0 -18
  9. package/esm2022/lib/agent/services/agent.service.mjs +0 -60
  10. package/esm2022/lib/alfresco-icon/alfresco-icon.component.mjs +0 -27
  11. package/esm2022/lib/api-factories/alfresco-api-no-auth.service.mjs +0 -42
  12. package/esm2022/lib/api-factories/alfresco-api-v2-loader.service.mjs +0 -77
  13. package/esm2022/lib/api-factories/index.mjs +0 -18
  14. package/esm2022/lib/api-factories/public-api.mjs +0 -19
  15. package/esm2022/lib/aspect-list/aspect-list-dialog-data.interface.mjs +0 -18
  16. package/esm2022/lib/aspect-list/aspect-list-dialog.component.mjs +0 -77
  17. package/esm2022/lib/aspect-list/aspect-list.component.mjs +0 -139
  18. package/esm2022/lib/aspect-list/aspect-list.module.mjs +0 -35
  19. package/esm2022/lib/aspect-list/index.mjs +0 -18
  20. package/esm2022/lib/aspect-list/public-api.mjs +0 -24
  21. package/esm2022/lib/aspect-list/services/aspect-list.service.mjs +0 -83
  22. package/esm2022/lib/aspect-list/services/dialog-aspect-list.service.mjs +0 -86
  23. package/esm2022/lib/aspect-list/services/node-aspect.service.mjs +0 -52
  24. package/esm2022/lib/auth-loader/content-auth-loader-factory.mjs +0 -26
  25. package/esm2022/lib/auth-loader/content-auth-loader.service.mjs +0 -42
  26. package/esm2022/lib/breadcrumb/breadcrumb.component.mjs +0 -166
  27. package/esm2022/lib/breadcrumb/breadcrumb.module.mjs +0 -35
  28. package/esm2022/lib/breadcrumb/dropdown-breadcrumb.component.mjs +0 -65
  29. package/esm2022/lib/breadcrumb/index.mjs +0 -18
  30. package/esm2022/lib/breadcrumb/public-api.mjs +0 -20
  31. package/esm2022/lib/category/categories-management/categories-management-mode.mjs +0 -22
  32. package/esm2022/lib/category/categories-management/categories-management.component.mjs +0 -308
  33. package/esm2022/lib/category/category.module.mjs +0 -33
  34. package/esm2022/lib/category/index.mjs +0 -18
  35. package/esm2022/lib/category/models/category-node.interface.mjs +0 -18
  36. package/esm2022/lib/category/public-api.mjs +0 -23
  37. package/esm2022/lib/category/services/category-tree-datasource.service.mjs +0 -80
  38. package/esm2022/lib/category/services/category.service.mjs +0 -159
  39. package/esm2022/lib/common/events/file.event.mjs +0 -46
  40. package/esm2022/lib/common/index.mjs +0 -18
  41. package/esm2022/lib/common/interfaces/saved-search.interface.mjs +0 -18
  42. package/esm2022/lib/common/interfaces/search-configuration.interface.mjs +0 -18
  43. package/esm2022/lib/common/mocks/ecm-user.service.mock.mjs +0 -37
  44. package/esm2022/lib/common/models/allowable-operations.enum.mjs +0 -30
  45. package/esm2022/lib/common/models/ecm-company.model.mjs +0 -19
  46. package/esm2022/lib/common/models/ecm-user.model.mjs +0 -45
  47. package/esm2022/lib/common/models/file.model.mjs +0 -53
  48. package/esm2022/lib/common/models/node-metadata.model.mjs +0 -23
  49. package/esm2022/lib/common/models/permissions.enum.mjs +0 -32
  50. package/esm2022/lib/common/public-api.mjs +0 -37
  51. package/esm2022/lib/common/services/card-view-content-update.service.mjs +0 -55
  52. package/esm2022/lib/common/services/content.service.mjs +0 -180
  53. package/esm2022/lib/common/services/discovery-api.service.mjs +0 -79
  54. package/esm2022/lib/common/services/favorites-api.service.mjs +0 -84
  55. package/esm2022/lib/common/services/nodes-api.service.mjs +0 -251
  56. package/esm2022/lib/common/services/people-content.service.mjs +0 -138
  57. package/esm2022/lib/common/services/rendition.service.mjs +0 -270
  58. package/esm2022/lib/common/services/saved-searches.service.mjs +0 -206
  59. package/esm2022/lib/common/services/sites.service.mjs +0 -243
  60. package/esm2022/lib/common/services/upload.service.mjs +0 -391
  61. package/esm2022/lib/content-metadata/components/content-metadata/content-metadata-header.component.mjs +0 -54
  62. package/esm2022/lib/content-metadata/components/content-metadata/content-metadata.component.mjs +0 -490
  63. package/esm2022/lib/content-metadata/components/content-metadata-card/content-metadata-card.component.mjs +0 -128
  64. package/esm2022/lib/content-metadata/content-metadata.module.mjs +0 -36
  65. package/esm2022/lib/content-metadata/index.mjs +0 -18
  66. package/esm2022/lib/content-metadata/interfaces/aspect-oriented-config.interface.mjs +0 -18
  67. package/esm2022/lib/content-metadata/interfaces/card-view-group.interface.mjs +0 -18
  68. package/esm2022/lib/content-metadata/interfaces/content-metadata-config.interface.mjs +0 -18
  69. package/esm2022/lib/content-metadata/interfaces/content-metadata-custom-panel.interface.mjs +0 -18
  70. package/esm2022/lib/content-metadata/interfaces/content-metadata-panel.interface.mjs +0 -18
  71. package/esm2022/lib/content-metadata/interfaces/content-metadata.interfaces.mjs +0 -28
  72. package/esm2022/lib/content-metadata/interfaces/indifferent-config.interface.mjs +0 -18
  73. package/esm2022/lib/content-metadata/interfaces/layout-oriented-config.interface.mjs +0 -18
  74. package/esm2022/lib/content-metadata/interfaces/organised-property-group.interface.mjs +0 -18
  75. package/esm2022/lib/content-metadata/interfaces/preset-config.interface.mjs +0 -18
  76. package/esm2022/lib/content-metadata/interfaces/property-group.interface.mjs +0 -18
  77. package/esm2022/lib/content-metadata/interfaces/property.interface.mjs +0 -18
  78. package/esm2022/lib/content-metadata/public-api.mjs +0 -31
  79. package/esm2022/lib/content-metadata/services/basic-properties.service.mjs +0 -107
  80. package/esm2022/lib/content-metadata/services/config/aspect-oriented-config.service.mjs +0 -106
  81. package/esm2022/lib/content-metadata/services/config/content-metadata-config.factory.mjs +0 -76
  82. package/esm2022/lib/content-metadata/services/config/indifferent-config.service.mjs +0 -40
  83. package/esm2022/lib/content-metadata/services/config/layout-oriented-config.service.mjs +0 -108
  84. package/esm2022/lib/content-metadata/services/config/property-group-reader.mjs +0 -33
  85. package/esm2022/lib/content-metadata/services/content-metadata.service.mjs +0 -99
  86. package/esm2022/lib/content-metadata/services/content-type-property.service.mjs +0 -134
  87. package/esm2022/lib/content-metadata/services/property-descriptors.service.mjs +0 -52
  88. package/esm2022/lib/content-metadata/services/property-groups-translator.service.mjs +0 -169
  89. package/esm2022/lib/content-node-selector/content-node-dialog.service.mjs +0 -256
  90. package/esm2022/lib/content-node-selector/content-node-selector-panel/content-node-selector-panel.component.mjs +0 -617
  91. package/esm2022/lib/content-node-selector/content-node-selector-panel/content-node-selector-panel.service.mjs +0 -66
  92. package/esm2022/lib/content-node-selector/content-node-selector.component-data.interface.mjs +0 -18
  93. package/esm2022/lib/content-node-selector/content-node-selector.component.mjs +0 -205
  94. package/esm2022/lib/content-node-selector/content-node-selector.module.mjs +0 -50
  95. package/esm2022/lib/content-node-selector/index.mjs +0 -18
  96. package/esm2022/lib/content-node-selector/name-location-cell/name-location-cell.component.mjs +0 -48
  97. package/esm2022/lib/content-node-selector/public-api.mjs +0 -25
  98. package/esm2022/lib/content-node-selector/site-dropdown/sites-dropdown.component.mjs +0 -168
  99. package/esm2022/lib/content-node-share/content-node-share.dialog.mjs +0 -287
  100. package/esm2022/lib/content-node-share/content-node-share.directive.mjs +0 -102
  101. package/esm2022/lib/content-node-share/content-node-share.module.mjs +0 -35
  102. package/esm2022/lib/content-node-share/content-node-share.settings.mjs +0 -18
  103. package/esm2022/lib/content-node-share/index.mjs +0 -18
  104. package/esm2022/lib/content-node-share/public-api.mjs +0 -22
  105. package/esm2022/lib/content-node-share/services/shared-links-api.service.mjs +0 -83
  106. package/esm2022/lib/content-type/content-type-dialog.component.mjs +0 -57
  107. package/esm2022/lib/content-type/content-type-metadata.interface.mjs +0 -18
  108. package/esm2022/lib/content-type/content-type.service.mjs +0 -52
  109. package/esm2022/lib/content-type/index.mjs +0 -20
  110. package/esm2022/lib/content.module.mjs +0 -277
  111. package/esm2022/lib/dialogs/category-selector/category-selector.dialog.mjs +0 -51
  112. package/esm2022/lib/dialogs/dialog.module.mjs +0 -52
  113. package/esm2022/lib/dialogs/download-zip/download-zip.dialog.mjs +0 -111
  114. package/esm2022/lib/dialogs/download-zip/download-zip.dialog.module.mjs +0 -38
  115. package/esm2022/lib/dialogs/download-zip/services/download-zip.service.mjs +0 -66
  116. package/esm2022/lib/dialogs/folder/folder-name.validators.mjs +0 -44
  117. package/esm2022/lib/dialogs/folder/folder.dialog.mjs +0 -146
  118. package/esm2022/lib/dialogs/index.mjs +0 -18
  119. package/esm2022/lib/dialogs/library/library.dialog.mjs +0 -224
  120. package/esm2022/lib/dialogs/node-lock/node-lock.dialog.mjs +0 -115
  121. package/esm2022/lib/dialogs/public-api.mjs +0 -25
  122. package/esm2022/lib/directives/auto-focus.directive.mjs +0 -38
  123. package/esm2022/lib/directives/check-allowable-operation.directive.mjs +0 -126
  124. package/esm2022/lib/directives/content-directive.module.mjs +0 -75
  125. package/esm2022/lib/directives/index.mjs +0 -18
  126. package/esm2022/lib/directives/library-favorite.directive.mjs +0 -119
  127. package/esm2022/lib/directives/library-membership.directive.mjs +0 -202
  128. package/esm2022/lib/directives/node-counter.directive.mjs +0 -59
  129. package/esm2022/lib/directives/node-delete.directive.mjs +0 -177
  130. package/esm2022/lib/directives/node-download.directive.mjs +0 -138
  131. package/esm2022/lib/directives/node-favorite.directive.mjs +0 -193
  132. package/esm2022/lib/directives/node-lock.directive.mjs +0 -57
  133. package/esm2022/lib/directives/node-restore.directive.mjs +0 -218
  134. package/esm2022/lib/directives/public-api.mjs +0 -28
  135. package/esm2022/lib/document-list/components/content-action/content-action-list.component.mjs +0 -60
  136. package/esm2022/lib/document-list/components/content-action/content-action.component.mjs +0 -196
  137. package/esm2022/lib/document-list/components/document-list.component.mjs +0 -963
  138. package/esm2022/lib/document-list/components/document-list.token.mjs +0 -21
  139. package/esm2022/lib/document-list/components/file-auto-download/file-auto-download.component.mjs +0 -42
  140. package/esm2022/lib/document-list/components/filter-header/filter-header.component.mjs +0 -107
  141. package/esm2022/lib/document-list/components/library-name-column/library-name-column.component.mjs +0 -131
  142. package/esm2022/lib/document-list/components/library-role-column/library-role-column.component.mjs +0 -91
  143. package/esm2022/lib/document-list/components/library-status-column/library-status-column.component.mjs +0 -86
  144. package/esm2022/lib/document-list/components/name-column/name-column.component.mjs +0 -118
  145. package/esm2022/lib/document-list/components/node.event.mjs +0 -30
  146. package/esm2022/lib/document-list/components/trashcan-name-column/trashcan-name-column.component.mjs +0 -83
  147. package/esm2022/lib/document-list/data/image-resolver.model.mjs +0 -18
  148. package/esm2022/lib/document-list/data/row-filter.model.mjs +0 -18
  149. package/esm2022/lib/document-list/data/share-data-row.model.mjs +0 -102
  150. package/esm2022/lib/document-list/data/share-datatable-adapter.mjs +0 -258
  151. package/esm2022/lib/document-list/document-list.module.mjs +0 -75
  152. package/esm2022/lib/document-list/index.mjs +0 -18
  153. package/esm2022/lib/document-list/interfaces/document-list-loader.interface.mjs +0 -18
  154. package/esm2022/lib/document-list/models/content-action.model.mjs +0 -59
  155. package/esm2022/lib/document-list/models/document-folder.model.mjs +0 -23
  156. package/esm2022/lib/document-list/models/node-action.enum.mjs +0 -27
  157. package/esm2022/lib/document-list/models/permissions-style.model.mjs +0 -27
  158. package/esm2022/lib/document-list/models/permissions.model.mjs +0 -26
  159. package/esm2022/lib/document-list/models/preset.model.mjs +0 -257
  160. package/esm2022/lib/document-list/public-api.mjs +0 -47
  161. package/esm2022/lib/document-list/services/custom-resources.service.mjs +0 -378
  162. package/esm2022/lib/document-list/services/document-actions.service.mjs +0 -142
  163. package/esm2022/lib/document-list/services/document-list.service.mjs +0 -175
  164. package/esm2022/lib/document-list/services/folder-actions.service.mjs +0 -137
  165. package/esm2022/lib/document-list/services/lock.service.mjs +0 -72
  166. package/esm2022/lib/document-list/services/node-actions.service.mjs +0 -122
  167. package/esm2022/lib/group/index.mjs +0 -18
  168. package/esm2022/lib/group/public-api.mjs +0 -18
  169. package/esm2022/lib/group/services/group.service.mjs +0 -84
  170. package/esm2022/lib/infinite-scroll-datasource/index.mjs +0 -18
  171. package/esm2022/lib/infinite-scroll-datasource/infinite-scroll-datasource.mjs +0 -69
  172. package/esm2022/lib/infinite-scroll-datasource/public-api.mjs +0 -18
  173. package/esm2022/lib/interfaces/base-card-view-content-update.interface.mjs +0 -18
  174. package/esm2022/lib/interfaces/index.mjs +0 -18
  175. package/esm2022/lib/interfaces/library-entity.interface.mjs +0 -18
  176. package/esm2022/lib/interfaces/library-membership-error-event.interface.mjs +0 -18
  177. package/esm2022/lib/interfaces/library-membership-toggle-event.interface.mjs +0 -18
  178. package/esm2022/lib/interfaces/node-allowable-operation-subject.interface.mjs +0 -18
  179. package/esm2022/lib/interfaces/public-api.mjs +0 -23
  180. package/esm2022/lib/interfaces/restore-message-model.interface.mjs +0 -19
  181. package/esm2022/lib/legal-hold/index.mjs +0 -18
  182. package/esm2022/lib/legal-hold/public-api.mjs +0 -18
  183. package/esm2022/lib/legal-hold/services/legal-hold.service.mjs +0 -136
  184. package/esm2022/lib/material.module.mjs +0 -183
  185. package/esm2022/lib/mock/alfresco-api.service.mock.mjs +0 -43
  186. package/esm2022/lib/mock/date-range-search-filter.mock.mjs +0 -65
  187. package/esm2022/lib/mock/document-library.model.mock.mjs +0 -84
  188. package/esm2022/lib/mock/document-list.component.mock.mjs +0 -364
  189. package/esm2022/lib/mock/index.mjs +0 -18
  190. package/esm2022/lib/mock/new-version-uploader.service.mock.mjs +0 -161
  191. package/esm2022/lib/mock/public-api.mjs +0 -27
  192. package/esm2022/lib/mock/search-filter-mock.mjs +0 -637
  193. package/esm2022/lib/mock/search-query.mock.mjs +0 -40
  194. package/esm2022/lib/mock/search.component.mock.mjs +0 -165
  195. package/esm2022/lib/mock/search.service.mock.mjs +0 -61
  196. package/esm2022/lib/mock/sites-dropdown.component.mock.mjs +0 -281
  197. package/esm2022/lib/new-version-uploader/index.mjs +0 -18
  198. package/esm2022/lib/new-version-uploader/models/index.mjs +0 -18
  199. package/esm2022/lib/new-version-uploader/models/new-version-uploader.model.mjs +0 -24
  200. package/esm2022/lib/new-version-uploader/new-version-uploader.dialog.mjs +0 -74
  201. package/esm2022/lib/new-version-uploader/new-version-uploader.module.mjs +0 -33
  202. package/esm2022/lib/new-version-uploader/new-version-uploader.service.mjs +0 -103
  203. package/esm2022/lib/new-version-uploader/public-api.mjs +0 -21
  204. package/esm2022/lib/node-comments/index.mjs +0 -18
  205. package/esm2022/lib/node-comments/node-comments.component.mjs +0 -50
  206. package/esm2022/lib/node-comments/node-comments.module.mjs +0 -33
  207. package/esm2022/lib/node-comments/public-api.mjs +0 -20
  208. package/esm2022/lib/node-comments/services/node-comments.service.mjs +0 -85
  209. package/esm2022/lib/permission-manager/components/add-permission/add-permission-dialog-data.interface.mjs +0 -18
  210. package/esm2022/lib/permission-manager/components/add-permission/add-permission-dialog.component.mjs +0 -123
  211. package/esm2022/lib/permission-manager/components/add-permission/add-permission-panel.component.mjs +0 -102
  212. package/esm2022/lib/permission-manager/components/add-permission/add-permission.component.mjs +0 -69
  213. package/esm2022/lib/permission-manager/components/add-permission/search-config-permission.service.mjs +0 -45
  214. package/esm2022/lib/permission-manager/components/inherited-button.directive.mjs +0 -67
  215. package/esm2022/lib/permission-manager/components/node-path-column/node-path-column.component.mjs +0 -56
  216. package/esm2022/lib/permission-manager/components/permission-container/permission-container.component.mjs +0 -102
  217. package/esm2022/lib/permission-manager/components/permission-list/permission-list.component.mjs +0 -87
  218. package/esm2022/lib/permission-manager/components/permission-list/permission-list.service.mjs +0 -219
  219. package/esm2022/lib/permission-manager/components/pop-over.directive.mjs +0 -134
  220. package/esm2022/lib/permission-manager/components/user-icon-column/user-icon-column.component.mjs +0 -88
  221. package/esm2022/lib/permission-manager/components/user-name-column/user-name-column.component.mjs +0 -82
  222. package/esm2022/lib/permission-manager/components/user-role-column/user-role-column.component.mjs +0 -111
  223. package/esm2022/lib/permission-manager/index.mjs +0 -18
  224. package/esm2022/lib/permission-manager/models/member.model.mjs +0 -59
  225. package/esm2022/lib/permission-manager/models/permission.model.mjs +0 -29
  226. package/esm2022/lib/permission-manager/models/role.model.mjs +0 -18
  227. package/esm2022/lib/permission-manager/permission-manager.module.mjs +0 -84
  228. package/esm2022/lib/permission-manager/public-api.mjs +0 -36
  229. package/esm2022/lib/permission-manager/services/node-permission-dialog.service.mjs +0 -78
  230. package/esm2022/lib/permission-manager/services/node-permission.service.mjs +0 -299
  231. package/esm2022/lib/pipes/content-pipe.module.mjs +0 -37
  232. package/esm2022/lib/pipes/index.mjs +0 -18
  233. package/esm2022/lib/pipes/node-name-tooltip.pipe.mjs +0 -69
  234. package/esm2022/lib/pipes/public-api.mjs +0 -19
  235. package/esm2022/lib/prediction/index.mjs +0 -18
  236. package/esm2022/lib/prediction/public-api.mjs +0 -18
  237. package/esm2022/lib/prediction/services/index.mjs +0 -18
  238. package/esm2022/lib/prediction/services/prediction.service.mjs +0 -57
  239. package/esm2022/lib/search/components/empty-search-result.component.mjs +0 -27
  240. package/esm2022/lib/search/components/index.mjs +0 -43
  241. package/esm2022/lib/search/components/reset-search.directive.mjs +0 -41
  242. package/esm2022/lib/search/components/search-check-list/index.mjs +0 -18
  243. package/esm2022/lib/search/components/search-check-list/search-check-list.component.mjs +0 -158
  244. package/esm2022/lib/search/components/search-chip-autocomplete-input/index.mjs +0 -18
  245. package/esm2022/lib/search/components/search-chip-autocomplete-input/search-chip-autocomplete-input.component.mjs +0 -169
  246. package/esm2022/lib/search/components/search-chip-list/search-chip-list.component.mjs +0 -46
  247. package/esm2022/lib/search/components/search-control.component.mjs +0 -180
  248. package/esm2022/lib/search/components/search-date-range-tabbed/index.mjs +0 -22
  249. package/esm2022/lib/search/components/search-date-range-tabbed/search-date-range/date-range-type.mjs +0 -23
  250. package/esm2022/lib/search/components/search-date-range-tabbed/search-date-range/in-last-date-type.mjs +0 -23
  251. package/esm2022/lib/search/components/search-date-range-tabbed/search-date-range/search-date-range.component.mjs +0 -196
  252. package/esm2022/lib/search/components/search-date-range-tabbed/search-date-range/search-date-range.mjs +0 -18
  253. package/esm2022/lib/search/components/search-date-range-tabbed/search-date-range-tabbed.component.mjs +0 -201
  254. package/esm2022/lib/search/components/search-datetime-range/index.mjs +0 -18
  255. package/esm2022/lib/search/components/search-datetime-range/search-datetime-range.component.mjs +0 -223
  256. package/esm2022/lib/search/components/search-facet-field/index.mjs +0 -18
  257. package/esm2022/lib/search/components/search-facet-field/search-facet-field.component.mjs +0 -132
  258. package/esm2022/lib/search/components/search-filter/index.mjs +0 -19
  259. package/esm2022/lib/search/components/search-filter/search-filter-card/search-filter-card.component.mjs +0 -45
  260. package/esm2022/lib/search/components/search-filter/search-filter.component.mjs +0 -80
  261. package/esm2022/lib/search/components/search-filter-autocomplete-chips/index.mjs +0 -18
  262. package/esm2022/lib/search/components/search-filter-autocomplete-chips/search-filter-autocomplete-chips.component.mjs +0 -154
  263. package/esm2022/lib/search/components/search-filter-chips/index.mjs +0 -23
  264. package/esm2022/lib/search/components/search-filter-chips/search-facet-chip/search-facet-chip.component.mjs +0 -104
  265. package/esm2022/lib/search/components/search-filter-chips/search-facet-chip-tabbed/search-facet-chip-tabbed.component.mjs +0 -109
  266. package/esm2022/lib/search/components/search-filter-chips/search-facet-chip-tabbed/search-facet-tabbed-content.component.mjs +0 -129
  267. package/esm2022/lib/search/components/search-filter-chips/search-filter-chips.component.mjs +0 -63
  268. package/esm2022/lib/search/components/search-filter-chips/search-filter-menu-card/search-filter-menu-card.component.mjs +0 -43
  269. package/esm2022/lib/search/components/search-filter-chips/search-widget-chip/search-widget-chip.component.mjs +0 -109
  270. package/esm2022/lib/search/components/search-filter-container/index.mjs +0 -18
  271. package/esm2022/lib/search/components/search-filter-container/search-filter-container.component.mjs +0 -122
  272. package/esm2022/lib/search/components/search-filter-tabbed/index.mjs +0 -19
  273. package/esm2022/lib/search/components/search-filter-tabbed/search-filter-tab.directive.mjs +0 -36
  274. package/esm2022/lib/search/components/search-filter-tabbed/search-filter-tabbed.component.mjs +0 -63
  275. package/esm2022/lib/search/components/search-form/index.mjs +0 -18
  276. package/esm2022/lib/search/components/search-form/search-form.component.mjs +0 -52
  277. package/esm2022/lib/search/components/search-input/index.mjs +0 -18
  278. package/esm2022/lib/search/components/search-input/search-input.component.mjs +0 -108
  279. package/esm2022/lib/search/components/search-logical-filter/index.mjs +0 -18
  280. package/esm2022/lib/search/components/search-logical-filter/search-logical-filter.component.mjs +0 -163
  281. package/esm2022/lib/search/components/search-number-range/index.mjs +0 -18
  282. package/esm2022/lib/search/components/search-number-range/search-number-range.component.mjs +0 -154
  283. package/esm2022/lib/search/components/search-panel/index.mjs +0 -18
  284. package/esm2022/lib/search/components/search-panel/search-panel.component.mjs +0 -44
  285. package/esm2022/lib/search/components/search-properties/file-size-condition.mjs +0 -18
  286. package/esm2022/lib/search/components/search-properties/file-size-operator.enum.mjs +0 -23
  287. package/esm2022/lib/search/components/search-properties/file-size-unit.enum.mjs +0 -26
  288. package/esm2022/lib/search/components/search-properties/index.mjs +0 -22
  289. package/esm2022/lib/search/components/search-properties/search-properties.component.mjs +0 -244
  290. package/esm2022/lib/search/components/search-properties/search-properties.mjs +0 -18
  291. package/esm2022/lib/search/components/search-radio/index.mjs +0 -18
  292. package/esm2022/lib/search/components/search-radio/search-radio.component.mjs +0 -145
  293. package/esm2022/lib/search/components/search-slider/index.mjs +0 -18
  294. package/esm2022/lib/search/components/search-slider/search-slider.component.mjs +0 -119
  295. package/esm2022/lib/search/components/search-sorting-picker/index.mjs +0 -18
  296. package/esm2022/lib/search/components/search-sorting-picker/search-sorting-picker.component.mjs +0 -77
  297. package/esm2022/lib/search/components/search-text/index.mjs +0 -18
  298. package/esm2022/lib/search/components/search-text/search-text.component.mjs +0 -134
  299. package/esm2022/lib/search/components/search-widget-container/index.mjs +0 -18
  300. package/esm2022/lib/search/components/search-widget-container/search-widget-container.component.mjs +0 -113
  301. package/esm2022/lib/search/components/search.component.mjs +0 -152
  302. package/esm2022/lib/search/forms/index.mjs +0 -19
  303. package/esm2022/lib/search/forms/live-error-state-matcher.mjs +0 -23
  304. package/esm2022/lib/search/forms/search-term-validator.mjs +0 -26
  305. package/esm2022/lib/search/index.mjs +0 -18
  306. package/esm2022/lib/search/mocks/index.mjs +0 -18
  307. package/esm2022/lib/search/mocks/search.service.mock.mjs +0 -56
  308. package/esm2022/lib/search/models/autocomplete-option.interface.mjs +0 -22
  309. package/esm2022/lib/search/models/facet-field-bucket.interface.mjs +0 -18
  310. package/esm2022/lib/search/models/facet-field.interface.mjs +0 -29
  311. package/esm2022/lib/search/models/facet-query.interface.mjs +0 -18
  312. package/esm2022/lib/search/models/facet-widget.interface.mjs +0 -18
  313. package/esm2022/lib/search/models/filter-query.interface.mjs +0 -18
  314. package/esm2022/lib/search/models/filter-search.interface.mjs +0 -18
  315. package/esm2022/lib/search/models/index.mjs +0 -34
  316. package/esm2022/lib/search/models/response-facet-query-list.model.mjs +0 -31
  317. package/esm2022/lib/search/models/search-category.interface.mjs +0 -18
  318. package/esm2022/lib/search/models/search-configuration.interface.mjs +0 -18
  319. package/esm2022/lib/search/models/search-filter-list.model.mjs +0 -148
  320. package/esm2022/lib/search/models/search-form.interface.mjs +0 -18
  321. package/esm2022/lib/search/models/search-range.interface.mjs +0 -18
  322. package/esm2022/lib/search/models/search-sorting-definition.interface.mjs +0 -18
  323. package/esm2022/lib/search/models/search-widget-settings.interface.mjs +0 -18
  324. package/esm2022/lib/search/models/search-widget.interface.mjs +0 -18
  325. package/esm2022/lib/search/models/tabbed-facet-field.interface.mjs +0 -18
  326. package/esm2022/lib/search/public-api.mjs +0 -24
  327. package/esm2022/lib/search/search-configuration.token.mjs +0 -19
  328. package/esm2022/lib/search/search.module.mjs +0 -192
  329. package/esm2022/lib/search/services/base-query-builder.service.mjs +0 -509
  330. package/esm2022/lib/search/services/index.mjs +0 -24
  331. package/esm2022/lib/search/services/search-configuration.service.mjs +0 -50
  332. package/esm2022/lib/search/services/search-facet-filters.service.mjs +0 -374
  333. package/esm2022/lib/search/services/search-filter.service.mjs +0 -56
  334. package/esm2022/lib/search/services/search-header-query-builder.service.mjs +0 -136
  335. package/esm2022/lib/search/services/search-query-builder.service.mjs +0 -48
  336. package/esm2022/lib/search/services/search.service.mjs +0 -89
  337. package/esm2022/lib/search-ai/index.mjs +0 -18
  338. package/esm2022/lib/search-ai/models/search-ai-input-state.mjs +0 -18
  339. package/esm2022/lib/search-ai/public-api.mjs +0 -19
  340. package/esm2022/lib/search-ai/services/search-ai.service.mjs +0 -103
  341. package/esm2022/lib/security/index.mjs +0 -18
  342. package/esm2022/lib/security/public-api.mjs +0 -18
  343. package/esm2022/lib/security/services/models/security-controls-group-response.interface.mjs +0 -18
  344. package/esm2022/lib/security/services/models/security-controls-mark-response.interface.mjs +0 -18
  345. package/esm2022/lib/security/services/security-controls-groups-marks-security.service.mjs +0 -274
  346. package/esm2022/lib/security-options-loader/security-options-loader.service.mjs +0 -43
  347. package/esm2022/lib/services/alfresco-api.interface.mjs +0 -18
  348. package/esm2022/lib/services/alfresco-api.service.mjs +0 -120
  349. package/esm2022/lib/services/index.mjs +0 -18
  350. package/esm2022/lib/services/public-api.mjs +0 -18
  351. package/esm2022/lib/tag/index.mjs +0 -18
  352. package/esm2022/lib/tag/public-api.mjs +0 -24
  353. package/esm2022/lib/tag/services/tag.service.mjs +0 -171
  354. package/esm2022/lib/tag/tag-actions/tag-actions.component.mjs +0 -114
  355. package/esm2022/lib/tag/tag-list/tag-list.component.mjs +0 -98
  356. package/esm2022/lib/tag/tag-node-list/tag-node-list.component.mjs +0 -80
  357. package/esm2022/lib/tag/tag.module.mjs +0 -37
  358. package/esm2022/lib/tag/tags-creator/tags-creator-mode.mjs +0 -27
  359. package/esm2022/lib/tag/tags-creator/tags-creator.component.mjs +0 -370
  360. package/esm2022/lib/testing/content.testing.module.mjs +0 -56
  361. package/esm2022/lib/tree/components/tree.component.mjs +0 -312
  362. package/esm2022/lib/tree/index.mjs +0 -18
  363. package/esm2022/lib/tree/models/tree-context-menu-result.interface.mjs +0 -18
  364. package/esm2022/lib/tree/models/tree-node.interface.mjs +0 -22
  365. package/esm2022/lib/tree/models/tree-response.interface.mjs +0 -18
  366. package/esm2022/lib/tree/public-api.mjs +0 -23
  367. package/esm2022/lib/tree/services/tree.service.mjs +0 -134
  368. package/esm2022/lib/tree/tree.module.mjs +0 -33
  369. package/esm2022/lib/tree-view/components/tree-view.component.mjs +0 -75
  370. package/esm2022/lib/tree-view/data/tree-view-datasource.mjs +0 -99
  371. package/esm2022/lib/tree-view/index.mjs +0 -18
  372. package/esm2022/lib/tree-view/models/tree-view.model.mjs +0 -28
  373. package/esm2022/lib/tree-view/public-api.mjs +0 -22
  374. package/esm2022/lib/tree-view/services/tree-view.service.mjs +0 -38
  375. package/esm2022/lib/tree-view/tree-view.module.mjs +0 -33
  376. package/esm2022/lib/upload/components/base-upload/upload-base.mjs +0 -176
  377. package/esm2022/lib/upload/components/file-uploading-dialog.component.mjs +0 -190
  378. package/esm2022/lib/upload/components/file-uploading-list-row.component.mjs +0 -92
  379. package/esm2022/lib/upload/components/file-uploading-list.component.mjs +0 -124
  380. package/esm2022/lib/upload/components/upload-button.component.mjs +0 -133
  381. package/esm2022/lib/upload/components/upload-drag-area.component.mjs +0 -112
  382. package/esm2022/lib/upload/components/upload-files.event.mjs +0 -41
  383. package/esm2022/lib/upload/components/upload-version-button.component.mjs +0 -54
  384. package/esm2022/lib/upload/directives/file-draggable.directive.mjs +0 -154
  385. package/esm2022/lib/upload/directives/toggle-icon.directive.mjs +0 -75
  386. package/esm2022/lib/upload/index.mjs +0 -18
  387. package/esm2022/lib/upload/pipes/file-upload-error.pipe.mjs +0 -39
  388. package/esm2022/lib/upload/public-api.mjs +0 -29
  389. package/esm2022/lib/upload/upload.module.mjs +0 -72
  390. package/esm2022/lib/version-compatibility/index.mjs +0 -18
  391. package/esm2022/lib/version-compatibility/public-api.mjs +0 -20
  392. package/esm2022/lib/version-compatibility/version-compatibility-factory.mjs +0 -26
  393. package/esm2022/lib/version-compatibility/version-compatibility.directive.mjs +0 -53
  394. package/esm2022/lib/version-compatibility/version-compatibility.module.mjs +0 -33
  395. package/esm2022/lib/version-compatibility/version-compatibility.service.mjs +0 -76
  396. package/esm2022/lib/version-manager/content-version.service.mjs +0 -53
  397. package/esm2022/lib/version-manager/index.mjs +0 -18
  398. package/esm2022/lib/version-manager/public-api.mjs +0 -23
  399. package/esm2022/lib/version-manager/version-comparison.component.mjs +0 -42
  400. package/esm2022/lib/version-manager/version-list.component.mjs +0 -215
  401. package/esm2022/lib/version-manager/version-manager.component.mjs +0 -145
  402. package/esm2022/lib/version-manager/version-manager.module.mjs +0 -48
  403. package/esm2022/lib/version-manager/version-upload.component.mjs +0 -154
  404. package/esm2022/lib/viewer/alfresco-viewer.module.mjs +0 -33
  405. package/esm2022/lib/viewer/components/alfresco-viewer.component.mjs +0 -408
  406. package/esm2022/lib/viewer/index.mjs +0 -18
  407. package/esm2022/lib/viewer/public-api.mjs +0 -19
  408. package/esm2022/public-api.mjs +0 -56
@@ -1,391 +0,0 @@
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
@@ -1,54 +0,0 @@
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