@alfresco/adf-content-services 8.1.0-15280782128 → 8.1.0-15307049517

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 (406) hide show
  1. package/esm2022/adf-content-services.mjs +5 -0
  2. package/esm2022/lib/agent/index.mjs +18 -0
  3. package/esm2022/lib/agent/public-api.mjs +18 -0
  4. package/esm2022/lib/agent/services/agent.service.mjs +60 -0
  5. package/esm2022/lib/alfresco-icon/alfresco-icon.component.mjs +27 -0
  6. package/esm2022/lib/api-factories/alfresco-api-no-auth.service.mjs +42 -0
  7. package/esm2022/lib/api-factories/alfresco-api-v2-loader.service.mjs +74 -0
  8. package/esm2022/lib/api-factories/index.mjs +18 -0
  9. package/esm2022/lib/api-factories/public-api.mjs +19 -0
  10. package/esm2022/lib/aspect-list/aspect-list-dialog-data.interface.mjs +18 -0
  11. package/esm2022/lib/aspect-list/aspect-list-dialog.component.mjs +78 -0
  12. package/esm2022/lib/aspect-list/aspect-list.component.mjs +140 -0
  13. package/esm2022/lib/aspect-list/aspect-list.module.mjs +35 -0
  14. package/esm2022/lib/aspect-list/index.mjs +18 -0
  15. package/esm2022/lib/aspect-list/public-api.mjs +24 -0
  16. package/esm2022/lib/aspect-list/services/aspect-list.service.mjs +83 -0
  17. package/esm2022/lib/aspect-list/services/dialog-aspect-list.service.mjs +86 -0
  18. package/esm2022/lib/aspect-list/services/node-aspect.service.mjs +52 -0
  19. package/esm2022/lib/auth-loader/content-auth-loader-factory.mjs +26 -0
  20. package/esm2022/lib/auth-loader/content-auth-loader.service.mjs +42 -0
  21. package/esm2022/lib/breadcrumb/breadcrumb.component.mjs +167 -0
  22. package/esm2022/lib/breadcrumb/breadcrumb.module.mjs +35 -0
  23. package/esm2022/lib/breadcrumb/dropdown-breadcrumb.component.mjs +66 -0
  24. package/esm2022/lib/breadcrumb/index.mjs +18 -0
  25. package/esm2022/lib/breadcrumb/public-api.mjs +20 -0
  26. package/esm2022/lib/category/categories-management/categories-management-mode.mjs +22 -0
  27. package/esm2022/lib/category/categories-management/categories-management.component.mjs +309 -0
  28. package/esm2022/lib/category/category.module.mjs +33 -0
  29. package/esm2022/lib/category/index.mjs +18 -0
  30. package/esm2022/lib/category/models/category-node.interface.mjs +18 -0
  31. package/esm2022/lib/category/public-api.mjs +23 -0
  32. package/esm2022/lib/category/services/category-tree-datasource.service.mjs +80 -0
  33. package/esm2022/lib/category/services/category.service.mjs +159 -0
  34. package/esm2022/lib/common/events/file.event.mjs +46 -0
  35. package/esm2022/lib/common/index.mjs +18 -0
  36. package/esm2022/lib/common/interfaces/saved-search.interface.mjs +18 -0
  37. package/esm2022/lib/common/interfaces/search-configuration.interface.mjs +18 -0
  38. package/esm2022/lib/common/mocks/ecm-user.service.mock.mjs +37 -0
  39. package/esm2022/lib/common/models/allowable-operations.enum.mjs +30 -0
  40. package/esm2022/lib/common/models/ecm-company.model.mjs +19 -0
  41. package/esm2022/lib/common/models/ecm-user.model.mjs +45 -0
  42. package/esm2022/lib/common/models/file.model.mjs +53 -0
  43. package/esm2022/lib/common/models/node-metadata.model.mjs +23 -0
  44. package/esm2022/lib/common/models/permissions.enum.mjs +32 -0
  45. package/esm2022/lib/common/public-api.mjs +37 -0
  46. package/esm2022/lib/common/services/card-view-content-update.service.mjs +55 -0
  47. package/esm2022/lib/common/services/content.service.mjs +180 -0
  48. package/esm2022/lib/common/services/discovery-api.service.mjs +79 -0
  49. package/esm2022/lib/common/services/favorites-api.service.mjs +84 -0
  50. package/esm2022/lib/common/services/nodes-api.service.mjs +251 -0
  51. package/esm2022/lib/common/services/people-content.service.mjs +138 -0
  52. package/esm2022/lib/common/services/rendition.service.mjs +270 -0
  53. package/esm2022/lib/common/services/saved-searches.service.mjs +206 -0
  54. package/esm2022/lib/common/services/sites.service.mjs +243 -0
  55. package/esm2022/lib/common/services/upload.service.mjs +391 -0
  56. package/esm2022/lib/content-metadata/components/content-metadata/content-metadata-header.component.mjs +55 -0
  57. package/esm2022/lib/content-metadata/components/content-metadata/content-metadata.component.mjs +491 -0
  58. package/esm2022/lib/content-metadata/components/content-metadata-card/content-metadata-card.component.mjs +129 -0
  59. package/esm2022/lib/content-metadata/content-metadata.module.mjs +36 -0
  60. package/esm2022/lib/content-metadata/index.mjs +18 -0
  61. package/esm2022/lib/content-metadata/interfaces/aspect-oriented-config.interface.mjs +18 -0
  62. package/esm2022/lib/content-metadata/interfaces/card-view-group.interface.mjs +18 -0
  63. package/esm2022/lib/content-metadata/interfaces/content-metadata-config.interface.mjs +18 -0
  64. package/esm2022/lib/content-metadata/interfaces/content-metadata-custom-panel.interface.mjs +18 -0
  65. package/esm2022/lib/content-metadata/interfaces/content-metadata-panel.interface.mjs +18 -0
  66. package/esm2022/lib/content-metadata/interfaces/content-metadata.interfaces.mjs +28 -0
  67. package/esm2022/lib/content-metadata/interfaces/indifferent-config.interface.mjs +18 -0
  68. package/esm2022/lib/content-metadata/interfaces/layout-oriented-config.interface.mjs +18 -0
  69. package/esm2022/lib/content-metadata/interfaces/organised-property-group.interface.mjs +18 -0
  70. package/esm2022/lib/content-metadata/interfaces/preset-config.interface.mjs +18 -0
  71. package/esm2022/lib/content-metadata/interfaces/property-group.interface.mjs +18 -0
  72. package/esm2022/lib/content-metadata/interfaces/property.interface.mjs +18 -0
  73. package/esm2022/lib/content-metadata/public-api.mjs +31 -0
  74. package/esm2022/lib/content-metadata/services/basic-properties.service.mjs +107 -0
  75. package/esm2022/lib/content-metadata/services/config/aspect-oriented-config.service.mjs +106 -0
  76. package/esm2022/lib/content-metadata/services/config/content-metadata-config.factory.mjs +76 -0
  77. package/esm2022/lib/content-metadata/services/config/indifferent-config.service.mjs +40 -0
  78. package/esm2022/lib/content-metadata/services/config/layout-oriented-config.service.mjs +108 -0
  79. package/esm2022/lib/content-metadata/services/config/property-group-reader.mjs +33 -0
  80. package/esm2022/lib/content-metadata/services/content-metadata.service.mjs +99 -0
  81. package/esm2022/lib/content-metadata/services/content-type-property.service.mjs +134 -0
  82. package/esm2022/lib/content-metadata/services/property-descriptors.service.mjs +52 -0
  83. package/esm2022/lib/content-metadata/services/property-groups-translator.service.mjs +169 -0
  84. package/esm2022/lib/content-node-selector/content-node-dialog.service.mjs +256 -0
  85. package/esm2022/lib/content-node-selector/content-node-selector-panel/content-node-selector-panel.component.mjs +618 -0
  86. package/esm2022/lib/content-node-selector/content-node-selector-panel/content-node-selector-panel.service.mjs +66 -0
  87. package/esm2022/lib/content-node-selector/content-node-selector.component-data.interface.mjs +18 -0
  88. package/esm2022/lib/content-node-selector/content-node-selector.component.mjs +206 -0
  89. package/esm2022/lib/content-node-selector/content-node-selector.module.mjs +50 -0
  90. package/esm2022/lib/content-node-selector/index.mjs +18 -0
  91. package/esm2022/lib/content-node-selector/name-location-cell/name-location-cell.component.mjs +48 -0
  92. package/esm2022/lib/content-node-selector/public-api.mjs +25 -0
  93. package/esm2022/lib/content-node-selector/site-dropdown/sites-dropdown.component.mjs +168 -0
  94. package/esm2022/lib/content-node-share/content-node-share.dialog.mjs +288 -0
  95. package/esm2022/lib/content-node-share/content-node-share.directive.mjs +102 -0
  96. package/esm2022/lib/content-node-share/content-node-share.module.mjs +35 -0
  97. package/esm2022/lib/content-node-share/content-node-share.settings.mjs +18 -0
  98. package/esm2022/lib/content-node-share/index.mjs +18 -0
  99. package/esm2022/lib/content-node-share/public-api.mjs +22 -0
  100. package/esm2022/lib/content-node-share/services/shared-links-api.service.mjs +83 -0
  101. package/esm2022/lib/content-type/content-type-dialog.component.mjs +58 -0
  102. package/esm2022/lib/content-type/content-type-metadata.interface.mjs +18 -0
  103. package/esm2022/lib/content-type/content-type.service.mjs +52 -0
  104. package/esm2022/lib/content-type/index.mjs +20 -0
  105. package/esm2022/lib/content.module.mjs +277 -0
  106. package/esm2022/lib/dialogs/category-selector/category-selector.dialog.mjs +52 -0
  107. package/esm2022/lib/dialogs/dialog.module.mjs +52 -0
  108. package/esm2022/lib/dialogs/download-zip/download-zip.dialog.mjs +111 -0
  109. package/esm2022/lib/dialogs/download-zip/download-zip.dialog.module.mjs +38 -0
  110. package/esm2022/lib/dialogs/download-zip/services/download-zip.service.mjs +66 -0
  111. package/esm2022/lib/dialogs/folder/folder-name.validators.mjs +44 -0
  112. package/esm2022/lib/dialogs/folder/folder.dialog.mjs +147 -0
  113. package/esm2022/lib/dialogs/index.mjs +18 -0
  114. package/esm2022/lib/dialogs/library/library.dialog.mjs +225 -0
  115. package/esm2022/lib/dialogs/node-lock/node-lock.dialog.mjs +116 -0
  116. package/esm2022/lib/dialogs/public-api.mjs +25 -0
  117. package/esm2022/lib/directives/auto-focus.directive.mjs +38 -0
  118. package/esm2022/lib/directives/check-allowable-operation.directive.mjs +126 -0
  119. package/esm2022/lib/directives/content-directive.module.mjs +75 -0
  120. package/esm2022/lib/directives/index.mjs +18 -0
  121. package/esm2022/lib/directives/library-favorite.directive.mjs +119 -0
  122. package/esm2022/lib/directives/library-membership.directive.mjs +202 -0
  123. package/esm2022/lib/directives/node-counter.directive.mjs +60 -0
  124. package/esm2022/lib/directives/node-delete.directive.mjs +177 -0
  125. package/esm2022/lib/directives/node-download.directive.mjs +138 -0
  126. package/esm2022/lib/directives/node-favorite.directive.mjs +193 -0
  127. package/esm2022/lib/directives/node-lock.directive.mjs +57 -0
  128. package/esm2022/lib/directives/node-restore.directive.mjs +218 -0
  129. package/esm2022/lib/directives/public-api.mjs +28 -0
  130. package/esm2022/lib/document-list/components/content-action/content-action-list.component.mjs +60 -0
  131. package/esm2022/lib/document-list/components/content-action/content-action.component.mjs +196 -0
  132. package/esm2022/lib/document-list/components/document-list.component.mjs +964 -0
  133. package/esm2022/lib/document-list/components/document-list.token.mjs +21 -0
  134. package/esm2022/lib/document-list/components/file-auto-download/file-auto-download.component.mjs +43 -0
  135. package/esm2022/lib/document-list/components/filter-header/filter-header.component.mjs +107 -0
  136. package/esm2022/lib/document-list/components/library-name-column/library-name-column.component.mjs +133 -0
  137. package/esm2022/lib/document-list/components/library-role-column/library-role-column.component.mjs +96 -0
  138. package/esm2022/lib/document-list/components/library-status-column/library-status-column.component.mjs +91 -0
  139. package/esm2022/lib/document-list/components/name-column/name-column.component.mjs +120 -0
  140. package/esm2022/lib/document-list/components/node.event.mjs +30 -0
  141. package/esm2022/lib/document-list/components/trashcan-name-column/trashcan-name-column.component.mjs +83 -0
  142. package/esm2022/lib/document-list/data/image-resolver.model.mjs +18 -0
  143. package/esm2022/lib/document-list/data/row-filter.model.mjs +18 -0
  144. package/esm2022/lib/document-list/data/share-data-row.model.mjs +102 -0
  145. package/esm2022/lib/document-list/data/share-datatable-adapter.mjs +258 -0
  146. package/esm2022/lib/document-list/document-list.module.mjs +79 -0
  147. package/esm2022/lib/document-list/index.mjs +18 -0
  148. package/esm2022/lib/document-list/interfaces/document-list-loader.interface.mjs +18 -0
  149. package/esm2022/lib/document-list/models/content-action.model.mjs +59 -0
  150. package/esm2022/lib/document-list/models/document-folder.model.mjs +23 -0
  151. package/esm2022/lib/document-list/models/node-action.enum.mjs +27 -0
  152. package/esm2022/lib/document-list/models/permissions-style.model.mjs +27 -0
  153. package/esm2022/lib/document-list/models/permissions.model.mjs +26 -0
  154. package/esm2022/lib/document-list/models/preset.model.mjs +257 -0
  155. package/esm2022/lib/document-list/public-api.mjs +47 -0
  156. package/esm2022/lib/document-list/services/custom-resources.service.mjs +377 -0
  157. package/esm2022/lib/document-list/services/document-actions.service.mjs +142 -0
  158. package/esm2022/lib/document-list/services/document-list.service.mjs +175 -0
  159. package/esm2022/lib/document-list/services/folder-actions.service.mjs +137 -0
  160. package/esm2022/lib/document-list/services/lock.service.mjs +72 -0
  161. package/esm2022/lib/document-list/services/node-actions.service.mjs +122 -0
  162. package/esm2022/lib/group/index.mjs +18 -0
  163. package/esm2022/lib/group/public-api.mjs +18 -0
  164. package/esm2022/lib/group/services/group.service.mjs +84 -0
  165. package/esm2022/lib/infinite-scroll-datasource/index.mjs +18 -0
  166. package/esm2022/lib/infinite-scroll-datasource/infinite-scroll-datasource.mjs +68 -0
  167. package/esm2022/lib/infinite-scroll-datasource/public-api.mjs +18 -0
  168. package/esm2022/lib/interfaces/base-card-view-content-update.interface.mjs +18 -0
  169. package/esm2022/lib/interfaces/index.mjs +18 -0
  170. package/esm2022/lib/interfaces/library-entity.interface.mjs +18 -0
  171. package/esm2022/lib/interfaces/library-membership-error-event.interface.mjs +18 -0
  172. package/esm2022/lib/interfaces/library-membership-toggle-event.interface.mjs +18 -0
  173. package/esm2022/lib/interfaces/node-allowable-operation-subject.interface.mjs +18 -0
  174. package/esm2022/lib/interfaces/public-api.mjs +23 -0
  175. package/esm2022/lib/interfaces/restore-message-model.interface.mjs +19 -0
  176. package/esm2022/lib/legal-hold/index.mjs +18 -0
  177. package/esm2022/lib/legal-hold/public-api.mjs +18 -0
  178. package/esm2022/lib/legal-hold/services/legal-hold.service.mjs +136 -0
  179. package/esm2022/lib/material.module.mjs +183 -0
  180. package/esm2022/lib/mock/alfresco-api.service.mock.mjs +43 -0
  181. package/esm2022/lib/mock/date-range-search-filter.mock.mjs +65 -0
  182. package/esm2022/lib/mock/document-library.model.mock.mjs +84 -0
  183. package/esm2022/lib/mock/document-list.component.mock.mjs +364 -0
  184. package/esm2022/lib/mock/index.mjs +18 -0
  185. package/esm2022/lib/mock/new-version-uploader.service.mock.mjs +161 -0
  186. package/esm2022/lib/mock/public-api.mjs +27 -0
  187. package/esm2022/lib/mock/search-filter-mock.mjs +637 -0
  188. package/esm2022/lib/mock/search-query.mock.mjs +40 -0
  189. package/esm2022/lib/mock/search.component.mock.mjs +165 -0
  190. package/esm2022/lib/mock/search.service.mock.mjs +61 -0
  191. package/esm2022/lib/mock/sites-dropdown.component.mock.mjs +281 -0
  192. package/esm2022/lib/new-version-uploader/index.mjs +18 -0
  193. package/esm2022/lib/new-version-uploader/models/index.mjs +18 -0
  194. package/esm2022/lib/new-version-uploader/models/new-version-uploader.model.mjs +24 -0
  195. package/esm2022/lib/new-version-uploader/new-version-uploader.dialog.mjs +75 -0
  196. package/esm2022/lib/new-version-uploader/new-version-uploader.module.mjs +33 -0
  197. package/esm2022/lib/new-version-uploader/new-version-uploader.service.mjs +103 -0
  198. package/esm2022/lib/new-version-uploader/public-api.mjs +21 -0
  199. package/esm2022/lib/node-comments/index.mjs +18 -0
  200. package/esm2022/lib/node-comments/node-comments.component.mjs +44 -0
  201. package/esm2022/lib/node-comments/node-comments.module.mjs +33 -0
  202. package/esm2022/lib/node-comments/public-api.mjs +20 -0
  203. package/esm2022/lib/node-comments/services/node-comments.service.mjs +85 -0
  204. package/esm2022/lib/permission-manager/components/add-permission/add-permission-dialog-data.interface.mjs +18 -0
  205. package/esm2022/lib/permission-manager/components/add-permission/add-permission-dialog.component.mjs +124 -0
  206. package/esm2022/lib/permission-manager/components/add-permission/add-permission-panel.component.mjs +103 -0
  207. package/esm2022/lib/permission-manager/components/add-permission/add-permission.component.mjs +70 -0
  208. package/esm2022/lib/permission-manager/components/add-permission/search-config-permission.service.mjs +45 -0
  209. package/esm2022/lib/permission-manager/components/inherited-button.directive.mjs +67 -0
  210. package/esm2022/lib/permission-manager/components/node-path-column/node-path-column.component.mjs +56 -0
  211. package/esm2022/lib/permission-manager/components/permission-container/permission-container.component.mjs +103 -0
  212. package/esm2022/lib/permission-manager/components/permission-list/permission-list.component.mjs +88 -0
  213. package/esm2022/lib/permission-manager/components/permission-list/permission-list.service.mjs +219 -0
  214. package/esm2022/lib/permission-manager/components/pop-over.directive.mjs +134 -0
  215. package/esm2022/lib/permission-manager/components/user-icon-column/user-icon-column.component.mjs +88 -0
  216. package/esm2022/lib/permission-manager/components/user-name-column/user-name-column.component.mjs +82 -0
  217. package/esm2022/lib/permission-manager/components/user-role-column/user-role-column.component.mjs +112 -0
  218. package/esm2022/lib/permission-manager/index.mjs +18 -0
  219. package/esm2022/lib/permission-manager/models/member.model.mjs +59 -0
  220. package/esm2022/lib/permission-manager/models/permission.model.mjs +29 -0
  221. package/esm2022/lib/permission-manager/models/role.model.mjs +18 -0
  222. package/esm2022/lib/permission-manager/permission-manager.module.mjs +84 -0
  223. package/esm2022/lib/permission-manager/public-api.mjs +36 -0
  224. package/esm2022/lib/permission-manager/services/node-permission-dialog.service.mjs +78 -0
  225. package/esm2022/lib/permission-manager/services/node-permission.service.mjs +299 -0
  226. package/esm2022/lib/pipes/content-pipe.module.mjs +37 -0
  227. package/esm2022/lib/pipes/index.mjs +18 -0
  228. package/esm2022/lib/pipes/node-name-tooltip.pipe.mjs +69 -0
  229. package/esm2022/lib/pipes/public-api.mjs +19 -0
  230. package/esm2022/lib/prediction/index.mjs +18 -0
  231. package/esm2022/lib/prediction/public-api.mjs +18 -0
  232. package/esm2022/lib/prediction/services/index.mjs +18 -0
  233. package/esm2022/lib/prediction/services/prediction.service.mjs +57 -0
  234. package/esm2022/lib/search/components/empty-search-result.component.mjs +27 -0
  235. package/esm2022/lib/search/components/index.mjs +43 -0
  236. package/esm2022/lib/search/components/reset-search.directive.mjs +41 -0
  237. package/esm2022/lib/search/components/search-check-list/index.mjs +18 -0
  238. package/esm2022/lib/search/components/search-check-list/search-check-list.component.mjs +159 -0
  239. package/esm2022/lib/search/components/search-chip-autocomplete-input/index.mjs +18 -0
  240. package/esm2022/lib/search/components/search-chip-autocomplete-input/search-chip-autocomplete-input.component.mjs +170 -0
  241. package/esm2022/lib/search/components/search-chip-list/search-chip-list.component.mjs +47 -0
  242. package/esm2022/lib/search/components/search-control.component.mjs +181 -0
  243. package/esm2022/lib/search/components/search-date-range-tabbed/index.mjs +22 -0
  244. package/esm2022/lib/search/components/search-date-range-tabbed/search-date-range/date-range-type.mjs +23 -0
  245. package/esm2022/lib/search/components/search-date-range-tabbed/search-date-range/in-last-date-type.mjs +23 -0
  246. package/esm2022/lib/search/components/search-date-range-tabbed/search-date-range/search-date-range.component.mjs +197 -0
  247. package/esm2022/lib/search/components/search-date-range-tabbed/search-date-range/search-date-range.mjs +18 -0
  248. package/esm2022/lib/search/components/search-date-range-tabbed/search-date-range-tabbed.component.mjs +201 -0
  249. package/esm2022/lib/search/components/search-datetime-range/index.mjs +18 -0
  250. package/esm2022/lib/search/components/search-datetime-range/search-datetime-range.component.mjs +224 -0
  251. package/esm2022/lib/search/components/search-facet-field/index.mjs +18 -0
  252. package/esm2022/lib/search/components/search-facet-field/search-facet-field.component.mjs +133 -0
  253. package/esm2022/lib/search/components/search-filter/index.mjs +19 -0
  254. package/esm2022/lib/search/components/search-filter/search-filter-card/search-filter-card.component.mjs +46 -0
  255. package/esm2022/lib/search/components/search-filter/search-filter.component.mjs +81 -0
  256. package/esm2022/lib/search/components/search-filter-autocomplete-chips/index.mjs +18 -0
  257. package/esm2022/lib/search/components/search-filter-autocomplete-chips/search-filter-autocomplete-chips.component.mjs +155 -0
  258. package/esm2022/lib/search/components/search-filter-chips/index.mjs +23 -0
  259. package/esm2022/lib/search/components/search-filter-chips/search-facet-chip/search-facet-chip.component.mjs +105 -0
  260. package/esm2022/lib/search/components/search-filter-chips/search-facet-chip-tabbed/search-facet-chip-tabbed.component.mjs +110 -0
  261. package/esm2022/lib/search/components/search-filter-chips/search-facet-chip-tabbed/search-facet-tabbed-content.component.mjs +129 -0
  262. package/esm2022/lib/search/components/search-filter-chips/search-filter-chips.component.mjs +64 -0
  263. package/esm2022/lib/search/components/search-filter-chips/search-filter-menu-card/search-filter-menu-card.component.mjs +44 -0
  264. package/esm2022/lib/search/components/search-filter-chips/search-widget-chip/search-widget-chip.component.mjs +110 -0
  265. package/esm2022/lib/search/components/search-filter-container/index.mjs +18 -0
  266. package/esm2022/lib/search/components/search-filter-container/search-filter-container.component.mjs +123 -0
  267. package/esm2022/lib/search/components/search-filter-tabbed/index.mjs +19 -0
  268. package/esm2022/lib/search/components/search-filter-tabbed/search-filter-tab.directive.mjs +36 -0
  269. package/esm2022/lib/search/components/search-filter-tabbed/search-filter-tabbed.component.mjs +64 -0
  270. package/esm2022/lib/search/components/search-form/index.mjs +18 -0
  271. package/esm2022/lib/search/components/search-form/search-form.component.mjs +53 -0
  272. package/esm2022/lib/search/components/search-input/index.mjs +18 -0
  273. package/esm2022/lib/search/components/search-input/search-input.component.mjs +109 -0
  274. package/esm2022/lib/search/components/search-logical-filter/index.mjs +18 -0
  275. package/esm2022/lib/search/components/search-logical-filter/search-logical-filter.component.mjs +164 -0
  276. package/esm2022/lib/search/components/search-number-range/index.mjs +18 -0
  277. package/esm2022/lib/search/components/search-number-range/search-number-range.component.mjs +155 -0
  278. package/esm2022/lib/search/components/search-panel/index.mjs +18 -0
  279. package/esm2022/lib/search/components/search-panel/search-panel.component.mjs +44 -0
  280. package/esm2022/lib/search/components/search-properties/file-size-condition.mjs +18 -0
  281. package/esm2022/lib/search/components/search-properties/file-size-operator.enum.mjs +23 -0
  282. package/esm2022/lib/search/components/search-properties/file-size-unit.enum.mjs +26 -0
  283. package/esm2022/lib/search/components/search-properties/index.mjs +22 -0
  284. package/esm2022/lib/search/components/search-properties/search-properties.component.mjs +244 -0
  285. package/esm2022/lib/search/components/search-properties/search-properties.mjs +18 -0
  286. package/esm2022/lib/search/components/search-radio/index.mjs +18 -0
  287. package/esm2022/lib/search/components/search-radio/search-radio.component.mjs +146 -0
  288. package/esm2022/lib/search/components/search-slider/index.mjs +18 -0
  289. package/esm2022/lib/search/components/search-slider/search-slider.component.mjs +120 -0
  290. package/esm2022/lib/search/components/search-sorting-picker/index.mjs +18 -0
  291. package/esm2022/lib/search/components/search-sorting-picker/search-sorting-picker.component.mjs +77 -0
  292. package/esm2022/lib/search/components/search-text/index.mjs +18 -0
  293. package/esm2022/lib/search/components/search-text/search-text.component.mjs +135 -0
  294. package/esm2022/lib/search/components/search-widget-container/index.mjs +18 -0
  295. package/esm2022/lib/search/components/search-widget-container/search-widget-container.component.mjs +113 -0
  296. package/esm2022/lib/search/components/search.component.mjs +153 -0
  297. package/esm2022/lib/search/forms/index.mjs +19 -0
  298. package/esm2022/lib/search/forms/live-error-state-matcher.mjs +23 -0
  299. package/esm2022/lib/search/forms/search-term-validator.mjs +26 -0
  300. package/esm2022/lib/search/index.mjs +18 -0
  301. package/esm2022/lib/search/mocks/index.mjs +18 -0
  302. package/esm2022/lib/search/mocks/search.service.mock.mjs +56 -0
  303. package/esm2022/lib/search/models/autocomplete-option.interface.mjs +22 -0
  304. package/esm2022/lib/search/models/facet-field-bucket.interface.mjs +18 -0
  305. package/esm2022/lib/search/models/facet-field.interface.mjs +29 -0
  306. package/esm2022/lib/search/models/facet-query.interface.mjs +18 -0
  307. package/esm2022/lib/search/models/facet-widget.interface.mjs +18 -0
  308. package/esm2022/lib/search/models/filter-query.interface.mjs +18 -0
  309. package/esm2022/lib/search/models/filter-search.interface.mjs +18 -0
  310. package/esm2022/lib/search/models/index.mjs +34 -0
  311. package/esm2022/lib/search/models/response-facet-query-list.model.mjs +31 -0
  312. package/esm2022/lib/search/models/search-category.interface.mjs +18 -0
  313. package/esm2022/lib/search/models/search-configuration.interface.mjs +18 -0
  314. package/esm2022/lib/search/models/search-filter-list.model.mjs +148 -0
  315. package/esm2022/lib/search/models/search-form.interface.mjs +18 -0
  316. package/esm2022/lib/search/models/search-range.interface.mjs +18 -0
  317. package/esm2022/lib/search/models/search-sorting-definition.interface.mjs +18 -0
  318. package/esm2022/lib/search/models/search-widget-settings.interface.mjs +18 -0
  319. package/esm2022/lib/search/models/search-widget.interface.mjs +18 -0
  320. package/esm2022/lib/search/models/tabbed-facet-field.interface.mjs +18 -0
  321. package/esm2022/lib/search/public-api.mjs +24 -0
  322. package/esm2022/lib/search/search-configuration.token.mjs +19 -0
  323. package/esm2022/lib/search/search.module.mjs +192 -0
  324. package/esm2022/lib/search/services/base-query-builder.service.mjs +509 -0
  325. package/esm2022/lib/search/services/index.mjs +24 -0
  326. package/esm2022/lib/search/services/search-configuration.service.mjs +50 -0
  327. package/esm2022/lib/search/services/search-facet-filters.service.mjs +374 -0
  328. package/esm2022/lib/search/services/search-filter.service.mjs +56 -0
  329. package/esm2022/lib/search/services/search-header-query-builder.service.mjs +136 -0
  330. package/esm2022/lib/search/services/search-query-builder.service.mjs +48 -0
  331. package/esm2022/lib/search/services/search.service.mjs +89 -0
  332. package/esm2022/lib/search-ai/index.mjs +18 -0
  333. package/esm2022/lib/search-ai/models/search-ai-input-state.mjs +18 -0
  334. package/esm2022/lib/search-ai/public-api.mjs +19 -0
  335. package/esm2022/lib/search-ai/services/search-ai.service.mjs +103 -0
  336. package/esm2022/lib/security/index.mjs +18 -0
  337. package/esm2022/lib/security/public-api.mjs +18 -0
  338. package/esm2022/lib/security/services/models/security-controls-group-response.interface.mjs +18 -0
  339. package/esm2022/lib/security/services/models/security-controls-mark-response.interface.mjs +18 -0
  340. package/esm2022/lib/security/services/security-controls-groups-marks-security.service.mjs +274 -0
  341. package/esm2022/lib/services/alfresco-api.interface.mjs +18 -0
  342. package/esm2022/lib/services/alfresco-api.service.mjs +120 -0
  343. package/esm2022/lib/services/index.mjs +18 -0
  344. package/esm2022/lib/services/public-api.mjs +18 -0
  345. package/esm2022/lib/tag/index.mjs +18 -0
  346. package/esm2022/lib/tag/public-api.mjs +24 -0
  347. package/esm2022/lib/tag/services/tag.service.mjs +171 -0
  348. package/esm2022/lib/tag/tag-actions/tag-actions.component.mjs +115 -0
  349. package/esm2022/lib/tag/tag-list/tag-list.component.mjs +98 -0
  350. package/esm2022/lib/tag/tag-node-list/tag-node-list.component.mjs +80 -0
  351. package/esm2022/lib/tag/tag.module.mjs +37 -0
  352. package/esm2022/lib/tag/tags-creator/tags-creator-mode.mjs +27 -0
  353. package/esm2022/lib/tag/tags-creator/tags-creator.component.mjs +371 -0
  354. package/esm2022/lib/testing/content.testing.module.mjs +56 -0
  355. package/esm2022/lib/tree/components/tree.component.mjs +313 -0
  356. package/esm2022/lib/tree/index.mjs +18 -0
  357. package/esm2022/lib/tree/models/tree-context-menu-result.interface.mjs +18 -0
  358. package/esm2022/lib/tree/models/tree-node.interface.mjs +22 -0
  359. package/esm2022/lib/tree/models/tree-response.interface.mjs +18 -0
  360. package/esm2022/lib/tree/public-api.mjs +23 -0
  361. package/esm2022/lib/tree/services/tree.service.mjs +134 -0
  362. package/esm2022/lib/tree/tree.module.mjs +33 -0
  363. package/esm2022/lib/tree-view/components/tree-view.component.mjs +76 -0
  364. package/esm2022/lib/tree-view/data/tree-view-datasource.mjs +99 -0
  365. package/esm2022/lib/tree-view/index.mjs +18 -0
  366. package/esm2022/lib/tree-view/models/tree-view.model.mjs +28 -0
  367. package/esm2022/lib/tree-view/public-api.mjs +22 -0
  368. package/esm2022/lib/tree-view/services/tree-view.service.mjs +38 -0
  369. package/esm2022/lib/tree-view/tree-view.module.mjs +33 -0
  370. package/esm2022/lib/upload/components/base-upload/upload-base.mjs +176 -0
  371. package/esm2022/lib/upload/components/file-uploading-dialog.component.mjs +191 -0
  372. package/esm2022/lib/upload/components/file-uploading-list-row.component.mjs +93 -0
  373. package/esm2022/lib/upload/components/file-uploading-list.component.mjs +124 -0
  374. package/esm2022/lib/upload/components/upload-button.component.mjs +134 -0
  375. package/esm2022/lib/upload/components/upload-drag-area.component.mjs +112 -0
  376. package/esm2022/lib/upload/components/upload-files.event.mjs +41 -0
  377. package/esm2022/lib/upload/components/upload-version-button.component.mjs +55 -0
  378. package/esm2022/lib/upload/directives/file-draggable.directive.mjs +154 -0
  379. package/esm2022/lib/upload/directives/toggle-icon.directive.mjs +75 -0
  380. package/esm2022/lib/upload/index.mjs +18 -0
  381. package/esm2022/lib/upload/pipes/file-upload-error.pipe.mjs +39 -0
  382. package/esm2022/lib/upload/public-api.mjs +29 -0
  383. package/esm2022/lib/upload/upload.module.mjs +72 -0
  384. package/esm2022/lib/version-compatibility/index.mjs +18 -0
  385. package/esm2022/lib/version-compatibility/public-api.mjs +20 -0
  386. package/esm2022/lib/version-compatibility/version-compatibility-factory.mjs +26 -0
  387. package/esm2022/lib/version-compatibility/version-compatibility.directive.mjs +53 -0
  388. package/esm2022/lib/version-compatibility/version-compatibility.module.mjs +33 -0
  389. package/esm2022/lib/version-compatibility/version-compatibility.service.mjs +76 -0
  390. package/esm2022/lib/version-manager/content-version.service.mjs +53 -0
  391. package/esm2022/lib/version-manager/index.mjs +18 -0
  392. package/esm2022/lib/version-manager/public-api.mjs +23 -0
  393. package/esm2022/lib/version-manager/version-comparison.component.mjs +43 -0
  394. package/esm2022/lib/version-manager/version-list.component.mjs +216 -0
  395. package/esm2022/lib/version-manager/version-manager.component.mjs +146 -0
  396. package/esm2022/lib/version-manager/version-manager.module.mjs +48 -0
  397. package/esm2022/lib/version-manager/version-upload.component.mjs +155 -0
  398. package/esm2022/lib/viewer/alfresco-viewer.module.mjs +33 -0
  399. package/esm2022/lib/viewer/components/alfresco-viewer.component.mjs +401 -0
  400. package/esm2022/lib/viewer/index.mjs +18 -0
  401. package/esm2022/lib/viewer/public-api.mjs +19 -0
  402. package/esm2022/public-api.mjs +56 -0
  403. package/fesm2022/adf-content-services.mjs +764 -746
  404. package/fesm2022/adf-content-services.mjs.map +1 -1
  405. package/lib/upload/components/base-upload/upload-base.d.ts +1 -1
  406. package/package.json +5 -3
@@ -0,0 +1,56 @@
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 { Node } from '@alfresco/js-api';
18
+ import { Component, Input } from '@angular/core';
19
+ import { BehaviorSubject } from 'rxjs';
20
+ import { CommonModule } from '@angular/common';
21
+ import * as i0 from "@angular/core";
22
+ import * as i1 from "@angular/common";
23
+ export class NodePathColumnComponent {
24
+ constructor() {
25
+ this.displayText$ = new BehaviorSubject('');
26
+ }
27
+ ngOnInit() {
28
+ this.updateValue();
29
+ }
30
+ updateValue() {
31
+ this.displayText$.next(this.node.path.name);
32
+ }
33
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: NodePathColumnComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
34
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: NodePathColumnComponent, isStandalone: true, selector: "adf-node-path-column", inputs: { node: "node" }, host: { classAttribute: "adf-node-path-column adf-datatable-content-cell" }, ngImport: i0, template: `
35
+ <span class="adf-user-name-column adf-datatable-cell-value" title="{{ displayText$ | async }}">
36
+ {{ displayText$ | async }}
37
+ </span>
38
+ `, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }] }); }
39
+ }
40
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: NodePathColumnComponent, decorators: [{
41
+ type: Component,
42
+ args: [{
43
+ selector: 'adf-node-path-column',
44
+ standalone: true,
45
+ imports: [CommonModule],
46
+ template: `
47
+ <span class="adf-user-name-column adf-datatable-cell-value" title="{{ displayText$ | async }}">
48
+ {{ displayText$ | async }}
49
+ </span>
50
+ `,
51
+ host: { class: 'adf-node-path-column adf-datatable-content-cell' }
52
+ }]
53
+ }], propDecorators: { node: [{
54
+ type: Input
55
+ }] } });
56
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9kZS1wYXRoLWNvbHVtbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWIvY29udGVudC1zZXJ2aWNlcy9zcmMvbGliL3Blcm1pc3Npb24tbWFuYWdlci9jb21wb25lbnRzL25vZGUtcGF0aC1jb2x1bW4vbm9kZS1wYXRoLWNvbHVtbi5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7OztHQWVHO0FBRUgsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ3hDLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQ3pELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDdkMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7QUFhL0MsTUFBTSxPQUFPLHVCQUF1QjtJQVhwQztRQWVJLGlCQUFZLEdBQUcsSUFBSSxlQUFlLENBQVMsRUFBRSxDQUFDLENBQUM7S0FTbEQ7SUFQRyxRQUFRO1FBQ0osSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3ZCLENBQUM7SUFFUyxXQUFXO1FBQ2pCLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2hELENBQUM7K0dBWlEsdUJBQXVCO21HQUF2Qix1QkFBdUIsdUxBUHRCOzs7O0tBSVQsMkRBTFMsWUFBWTs7NEZBUWIsdUJBQXVCO2tCQVhuQyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxzQkFBc0I7b0JBQ2hDLFVBQVUsRUFBRSxJQUFJO29CQUNoQixPQUFPLEVBQUUsQ0FBQyxZQUFZLENBQUM7b0JBQ3ZCLFFBQVEsRUFBRTs7OztLQUlUO29CQUNELElBQUksRUFBRSxFQUFFLEtBQUssRUFBRSxpREFBaUQsRUFBRTtpQkFDckU7OEJBR0csSUFBSTtzQkFESCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiLyohXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IMKpIDIwMDUtMjAyNSBIeWxhbmQgU29mdHdhcmUsIEluYy4gYW5kIGl0cyBhZmZpbGlhdGVzLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5pbXBvcnQgeyBOb2RlIH0gZnJvbSAnQGFsZnJlc2NvL2pzLWFwaSc7XG5pbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdhZGYtbm9kZS1wYXRoLWNvbHVtbicsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlXSxcbiAgICB0ZW1wbGF0ZTogYFxuICAgICAgICA8c3BhbiBjbGFzcz1cImFkZi11c2VyLW5hbWUtY29sdW1uIGFkZi1kYXRhdGFibGUtY2VsbC12YWx1ZVwiIHRpdGxlPVwie3sgZGlzcGxheVRleHQkIHwgYXN5bmMgfX1cIj5cbiAgICAgICAgICAgIHt7IGRpc3BsYXlUZXh0JCB8IGFzeW5jIH19XG4gICAgICAgIDwvc3Bhbj5cbiAgICBgLFxuICAgIGhvc3Q6IHsgY2xhc3M6ICdhZGYtbm9kZS1wYXRoLWNvbHVtbiBhZGYtZGF0YXRhYmxlLWNvbnRlbnQtY2VsbCcgfVxufSlcbmV4cG9ydCBjbGFzcyBOb2RlUGF0aENvbHVtbkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gICAgQElucHV0KClcbiAgICBub2RlOiBOb2RlO1xuXG4gICAgZGlzcGxheVRleHQkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxzdHJpbmc+KCcnKTtcblxuICAgIG5nT25Jbml0KCkge1xuICAgICAgICB0aGlzLnVwZGF0ZVZhbHVlKCk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIHVwZGF0ZVZhbHVlKCkge1xuICAgICAgICB0aGlzLmRpc3BsYXlUZXh0JC5uZXh0KHRoaXMubm9kZS5wYXRoLm5hbWUpO1xuICAgIH1cbn1cbiJdfQ==
@@ -0,0 +1,103 @@
1
+ /*!
2
+ * @license
3
+ * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved.
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License");
6
+ * you may not use this file except in compliance with the License.
7
+ * You may obtain a copy of the License at
8
+ *
9
+ * http://www.apache.org/licenses/LICENSE-2.0
10
+ *
11
+ * Unless required by applicable law or agreed to in writing, software
12
+ * distributed under the License is distributed on an "AS IS" BASIS,
13
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ * See the License for the specific language governing permissions and
15
+ * limitations under the License.
16
+ */
17
+ import { Component, EventEmitter, Input, Output, ViewEncapsulation } from '@angular/core';
18
+ import { Node } from '@alfresco/js-api';
19
+ import { CommonModule } from '@angular/common';
20
+ import { DataColumnComponent, DataColumnListComponent, DataTableComponent, DateColumnHeaderComponent, EmptyContentComponent, NoContentTemplateDirective } from '@alfresco/adf-core';
21
+ import { TranslateModule } from '@ngx-translate/core';
22
+ import { MatButtonModule } from '@angular/material/button';
23
+ import { MatIconModule } from '@angular/material/icon';
24
+ import { UserIconColumnComponent } from '../user-icon-column/user-icon-column.component';
25
+ import { UserNameColumnComponent } from '../user-name-column/user-name-column.component';
26
+ import { NodePathColumnComponent } from '../node-path-column/node-path-column.component';
27
+ import { UserRoleColumnComponent } from '../user-role-column/user-role-column.component';
28
+ import * as i0 from "@angular/core";
29
+ import * as i1 from "@angular/common";
30
+ import * as i2 from "@ngx-translate/core";
31
+ import * as i3 from "@angular/material/button";
32
+ import * as i4 from "@angular/material/icon";
33
+ export class PermissionContainerComponent {
34
+ constructor() {
35
+ this.permissions = [];
36
+ this.isReadOnly = false;
37
+ this.showLocation = false;
38
+ this.selectionMode = 'multiple'; // none|single|multiple
39
+ /** Emitted when the permission is updated. */
40
+ this.update = new EventEmitter();
41
+ this.updateAll = new EventEmitter();
42
+ /** Emitted when the permission is updated. */
43
+ this.delete = new EventEmitter();
44
+ /** Emitted when an error occurs. */
45
+ this.error = new EventEmitter();
46
+ }
47
+ ngOnChanges() {
48
+ this.bulkSelectionRole = '';
49
+ }
50
+ updateRole(role, permission) {
51
+ this.update.emit({ role, permission });
52
+ }
53
+ bulkRoleUpdate(role) {
54
+ this.updateAll.emit(role);
55
+ }
56
+ removePermission(event, permissionRow) {
57
+ event.stopPropagation();
58
+ this.delete.emit(permissionRow);
59
+ }
60
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: PermissionContainerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
61
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: PermissionContainerComponent, isStandalone: true, selector: "adf-permission-container", inputs: { node: "node", permissions: "permissions", roles: "roles", isReadOnly: "isReadOnly", showLocation: "showLocation", selectionMode: "selectionMode" }, outputs: { update: "update", updateAll: "updateAll", delete: "delete", error: "error" }, usesOnChanges: true, ngImport: i0, template: "<adf-datatable class=\"adf-datatable-permission\"\n id=\"adf-permission-display-container\"\n [rows]=\"permissions\"\n [stickyHeader]=\"true\"\n [selectionMode]=\"selectionMode\">\n\n <data-columns>\n <data-column class=\"adf-datatable-cell--image adf-authority-icon-column\" key=\"$thumbunail\" [sortable]=\"false\">\n <ng-template let-context>\n <adf-user-icon-column [context]=\"context\" />\n </ng-template>\n </data-column>\n\n <data-column class=\"adf-ellipsis-cell adf-expand-cell-5 adf-authorityId-column\"\n [title]=\"'PERMISSION_MANAGER.COLUMN.NAME' | translate:{count:permissions.length}\"\n key=\"authorityId\">\n <ng-template let-context>\n <adf-user-name-column [context]=\"context\" />\n </ng-template>\n </data-column>d\n\n <data-column class=\"adf-ellipsis-cell adf-expand-cell-5 adf-authorityId-column\"\n title=\"PERMISSION_MANAGER.COLUMN.LOCATION\"\n key=\"location\"\n *ngIf=\"node && showLocation\">\n <ng-template>\n <adf-node-path-column [node]=\"node\" />\n </ng-template>\n </data-column>\n\n <data-column\n class=\"adf-ellipsis-cell adf-expand-cell-4\"\n title=\"PERMISSION_MANAGER.PERMISSION_DISPLAY.ROLE\"\n key=\"name\"\n [sortable]=\"false\">\n <ng-template let-entry=\"$implicit\">\n <adf-user-role-column [readonly]=\"entry.row.obj.readonly || isReadOnly\"\n [placeholder]=\"entry.data.getValue(entry.row, entry.col)\"\n [value]=\"entry.data.getValue(entry.row, entry.col)\"\n [roles]=\"roles\"\n id=\"adf-select-role-permission\"\n (roleChanged)=\"updateRole($event, entry.row.obj)\" />\n </ng-template>\n\n <adf-data-column-header *ngIf=\"!isReadOnly\">\n <ng-template>\n <adf-user-role-column class=\"adf-permission-role-column-header\"\n placeholder=\"PERMISSION_MANAGER.COLUMN.BULK-ROLE\"\n [roles]=\"roles\"\n [value]=\"bulkSelectionRole\"\n id=\"adf-bulk-select-role-permission\"\n (roleChanged)=\"bulkRoleUpdate($event)\" />\n </ng-template>\n </adf-data-column-header>\n </data-column>\n\n <data-column class=\"adf-datatable-cell adf-delete-permission-column\" key=\"\" *ngIf=\"!isReadOnly\" [sortable]=\"false\">\n <ng-template let-entry=\"$implicit\">\n <button mat-icon-button\n [disabled]=\"entry.row.obj.readonly\"\n (click)=\"removePermission($event, entry.row.obj)\"\n (keydown.enter)=\"removePermission($event, entry.row.obj)\"\n [attr.data-automation-id]=\"'adf-delete-permission-button-' + entry.row.obj.authorityId\"\n [attr.aria-label]=\"'PERMISSION_MANAGER.ACTION.DELETE' | translate\">\n <mat-icon>delete_outline</mat-icon>\n </button>\n </ng-template>\n </data-column>\n </data-columns>\n\n <adf-no-content-template>\n <ng-template>\n <adf-empty-content\n id=\"adf-no-permissions-template\"\n icon=\"supervisor_account\"\n [title]=\"'PERMISSION_MANAGER.MESSAGE.EMPTY-PERMISSION' | translate\"\n [subtitle]=\"'PERMISSION_MANAGER.MESSAGE.EMPTY-SUBTITLE' | translate\" />\n </ng-template>\n </adf-no-content-template>\n\n</adf-datatable>\n", styles: [".adf-datatable-permission{display:flex;min-width:450px;width:100%}.adf-datatable-permission.adf-datatable{overflow:hidden}.adf-datatable-permission.adf-datatable .adf-datatable-row .adf-permission-role-column-header{position:relative}.adf-datatable-permission.adf-datatable .adf-delete-permission-column{min-width:80px}.adf-datatable-permission.adf-datatable .adf-delete-permission-column .adf-cell-value{width:80px;padding-right:10px;place-content:flex-end}.adf-datatable-permission.adf-datatable .adf-authorityId-column{flex:40%}.adf-datatable-permission.adf-datatable .adf-authority-icon-column{min-width:40px}.adf-datatable-permission.adf-datatable .adf-authority-icon-column .adf-datatable-cell-container{padding:0}.adf-datatable-permission.adf-datatable .adf-datatable-selected>svg{width:40px;height:40px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: DataTableComponent, selector: "adf-datatable", inputs: ["data", "rows", "sorting", "columns", "selectionMode", "multiselect", "mainTableAction", "actions", "showMainDatatableActions", "showProvidedActions", "actionsPosition", "actionsVisibleOnHover", "fallbackThumbnail", "contextMenu", "rowStyle", "rowStyleClass", "showHeader", "stickyHeader", "loading", "noPermission", "rowMenuCacheEnabled", "resolverFn", "allowFiltering", "isResizingEnabled", "blurOnResize", "displayCheckboxesOnHover", "enableDragRows"], outputs: ["rowClick", "rowDblClick", "showRowContextMenu", "showRowActionsMenu", "executeRowAction", "columnOrderChanged", "columnsWidthChanged", "selectedItemsCountChanged", "dragDropped"] }, { kind: "component", type: DataColumnListComponent, selector: "data-columns" }, { kind: "component", type: DataColumnComponent, selector: "data-column", inputs: ["id", "key", "customData", "type", "format", "sortable", "draggable", "resizable", "isHidden", "title", "subtitle", "formatTooltip", "sr-title", "class", "copyContent", "editable", "focus", "sortingKey", "order", "currencyConfig", "decimalConfig", "dateConfig"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }, { kind: "component", type: DateColumnHeaderComponent, selector: "adf-data-column-header" }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i3.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: NoContentTemplateDirective, selector: "adf-no-content-template, no-content-template" }, { kind: "component", type: EmptyContentComponent, selector: "adf-empty-content", inputs: ["icon", "title", "subtitle"] }, { kind: "component", type: UserIconColumnComponent, selector: "adf-user-icon-column", inputs: ["context", "node", "selected"] }, { kind: "component", type: UserNameColumnComponent, selector: "adf-user-name-column", inputs: ["context", "node"] }, { kind: "component", type: NodePathColumnComponent, selector: "adf-node-path-column", inputs: ["node"] }, { kind: "component", type: UserRoleColumnComponent, selector: "adf-user-role-column", inputs: ["roles", "value", "readonly", "placeholder"], outputs: ["roleChanged"] }], encapsulation: i0.ViewEncapsulation.None }); }
62
+ }
63
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: PermissionContainerComponent, decorators: [{
64
+ type: Component,
65
+ args: [{ selector: 'adf-permission-container', standalone: true, imports: [
66
+ CommonModule,
67
+ DataTableComponent,
68
+ DataColumnListComponent,
69
+ DataColumnComponent,
70
+ TranslateModule,
71
+ DateColumnHeaderComponent,
72
+ MatButtonModule,
73
+ MatIconModule,
74
+ NoContentTemplateDirective,
75
+ EmptyContentComponent,
76
+ UserIconColumnComponent,
77
+ UserNameColumnComponent,
78
+ NodePathColumnComponent,
79
+ UserRoleColumnComponent
80
+ ], encapsulation: ViewEncapsulation.None, template: "<adf-datatable class=\"adf-datatable-permission\"\n id=\"adf-permission-display-container\"\n [rows]=\"permissions\"\n [stickyHeader]=\"true\"\n [selectionMode]=\"selectionMode\">\n\n <data-columns>\n <data-column class=\"adf-datatable-cell--image adf-authority-icon-column\" key=\"$thumbunail\" [sortable]=\"false\">\n <ng-template let-context>\n <adf-user-icon-column [context]=\"context\" />\n </ng-template>\n </data-column>\n\n <data-column class=\"adf-ellipsis-cell adf-expand-cell-5 adf-authorityId-column\"\n [title]=\"'PERMISSION_MANAGER.COLUMN.NAME' | translate:{count:permissions.length}\"\n key=\"authorityId\">\n <ng-template let-context>\n <adf-user-name-column [context]=\"context\" />\n </ng-template>\n </data-column>d\n\n <data-column class=\"adf-ellipsis-cell adf-expand-cell-5 adf-authorityId-column\"\n title=\"PERMISSION_MANAGER.COLUMN.LOCATION\"\n key=\"location\"\n *ngIf=\"node && showLocation\">\n <ng-template>\n <adf-node-path-column [node]=\"node\" />\n </ng-template>\n </data-column>\n\n <data-column\n class=\"adf-ellipsis-cell adf-expand-cell-4\"\n title=\"PERMISSION_MANAGER.PERMISSION_DISPLAY.ROLE\"\n key=\"name\"\n [sortable]=\"false\">\n <ng-template let-entry=\"$implicit\">\n <adf-user-role-column [readonly]=\"entry.row.obj.readonly || isReadOnly\"\n [placeholder]=\"entry.data.getValue(entry.row, entry.col)\"\n [value]=\"entry.data.getValue(entry.row, entry.col)\"\n [roles]=\"roles\"\n id=\"adf-select-role-permission\"\n (roleChanged)=\"updateRole($event, entry.row.obj)\" />\n </ng-template>\n\n <adf-data-column-header *ngIf=\"!isReadOnly\">\n <ng-template>\n <adf-user-role-column class=\"adf-permission-role-column-header\"\n placeholder=\"PERMISSION_MANAGER.COLUMN.BULK-ROLE\"\n [roles]=\"roles\"\n [value]=\"bulkSelectionRole\"\n id=\"adf-bulk-select-role-permission\"\n (roleChanged)=\"bulkRoleUpdate($event)\" />\n </ng-template>\n </adf-data-column-header>\n </data-column>\n\n <data-column class=\"adf-datatable-cell adf-delete-permission-column\" key=\"\" *ngIf=\"!isReadOnly\" [sortable]=\"false\">\n <ng-template let-entry=\"$implicit\">\n <button mat-icon-button\n [disabled]=\"entry.row.obj.readonly\"\n (click)=\"removePermission($event, entry.row.obj)\"\n (keydown.enter)=\"removePermission($event, entry.row.obj)\"\n [attr.data-automation-id]=\"'adf-delete-permission-button-' + entry.row.obj.authorityId\"\n [attr.aria-label]=\"'PERMISSION_MANAGER.ACTION.DELETE' | translate\">\n <mat-icon>delete_outline</mat-icon>\n </button>\n </ng-template>\n </data-column>\n </data-columns>\n\n <adf-no-content-template>\n <ng-template>\n <adf-empty-content\n id=\"adf-no-permissions-template\"\n icon=\"supervisor_account\"\n [title]=\"'PERMISSION_MANAGER.MESSAGE.EMPTY-PERMISSION' | translate\"\n [subtitle]=\"'PERMISSION_MANAGER.MESSAGE.EMPTY-SUBTITLE' | translate\" />\n </ng-template>\n </adf-no-content-template>\n\n</adf-datatable>\n", styles: [".adf-datatable-permission{display:flex;min-width:450px;width:100%}.adf-datatable-permission.adf-datatable{overflow:hidden}.adf-datatable-permission.adf-datatable .adf-datatable-row .adf-permission-role-column-header{position:relative}.adf-datatable-permission.adf-datatable .adf-delete-permission-column{min-width:80px}.adf-datatable-permission.adf-datatable .adf-delete-permission-column .adf-cell-value{width:80px;padding-right:10px;place-content:flex-end}.adf-datatable-permission.adf-datatable .adf-authorityId-column{flex:40%}.adf-datatable-permission.adf-datatable .adf-authority-icon-column{min-width:40px}.adf-datatable-permission.adf-datatable .adf-authority-icon-column .adf-datatable-cell-container{padding:0}.adf-datatable-permission.adf-datatable .adf-datatable-selected>svg{width:40px;height:40px}\n"] }]
81
+ }], propDecorators: { node: [{
82
+ type: Input,
83
+ args: [{ required: true }]
84
+ }], permissions: [{
85
+ type: Input
86
+ }], roles: [{
87
+ type: Input
88
+ }], isReadOnly: [{
89
+ type: Input
90
+ }], showLocation: [{
91
+ type: Input
92
+ }], selectionMode: [{
93
+ type: Input
94
+ }], update: [{
95
+ type: Output
96
+ }], updateAll: [{
97
+ type: Output
98
+ }], delete: [{
99
+ type: Output
100
+ }], error: [{
101
+ type: Output
102
+ }] } });
103
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVybWlzc2lvbi1jb250YWluZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGliL2NvbnRlbnQtc2VydmljZXMvc3JjL2xpYi9wZXJtaXNzaW9uLW1hbmFnZXIvY29tcG9uZW50cy9wZXJtaXNzaW9uLWNvbnRhaW5lci9wZXJtaXNzaW9uLWNvbnRhaW5lci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWIvY29udGVudC1zZXJ2aWNlcy9zcmMvbGliL3Blcm1pc3Npb24tbWFuYWdlci9jb21wb25lbnRzL3Blcm1pc3Npb24tY29udGFpbmVyL3Blcm1pc3Npb24tY29udGFpbmVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7R0FlRztBQUVILE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBYSxNQUFNLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDckcsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBR3hDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQ0gsbUJBQW1CLEVBQ25CLHVCQUF1QixFQUN2QixrQkFBa0IsRUFDbEIseUJBQXlCLEVBQ3pCLHFCQUFxQixFQUNyQiwwQkFBMEIsRUFDN0IsTUFBTSxvQkFBb0IsQ0FBQztBQUM1QixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdEQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQztBQUN6RixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQztBQUN6RixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQztBQUN6RixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQzs7Ozs7O0FBeUJ6RixNQUFNLE9BQU8sNEJBQTRCO0lBdkJ6QztRQTRCSSxnQkFBVyxHQUE2QixFQUFFLENBQUM7UUFNM0MsZUFBVSxHQUFHLEtBQUssQ0FBQztRQUduQixpQkFBWSxHQUFHLEtBQUssQ0FBQztRQUdyQixrQkFBYSxHQUFHLFVBQVUsQ0FBQyxDQUFDLHVCQUF1QjtRQUVuRCw4Q0FBOEM7UUFFOUMsV0FBTSxHQUFHLElBQUksWUFBWSxFQUF3RCxDQUFDO1FBR2xGLGNBQVMsR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO1FBRXZDLDhDQUE4QztRQUU5QyxXQUFNLEdBQUcsSUFBSSxZQUFZLEVBQTBCLENBQUM7UUFFcEQsb0NBQW9DO1FBRXBDLFVBQUssR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO0tBb0JuQztJQWhCRyxXQUFXO1FBQ1AsSUFBSSxDQUFDLGlCQUFpQixHQUFHLEVBQUUsQ0FBQztJQUNoQyxDQUFDO0lBRUQsVUFBVSxDQUFDLElBQVksRUFBRSxVQUFrQztRQUN2RCxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsQ0FBQyxDQUFDO0lBQzNDLENBQUM7SUFFRCxjQUFjLENBQUMsSUFBWTtRQUN2QixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUM5QixDQUFDO0lBRUQsZ0JBQWdCLENBQUMsS0FBWSxFQUFFLGFBQXFDO1FBQ2hFLEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUN4QixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUNwQyxDQUFDOytHQW5EUSw0QkFBNEI7bUdBQTVCLDRCQUE0QixnV0M3RHpDLHk5SEFpRkEsczJCRHZDUSxZQUFZLG1JQUNaLGtCQUFrQiwwc0JBQ2xCLHVCQUF1Qix5REFDdkIsbUJBQW1CLHVVQUNuQixlQUFlLDRGQUNmLHlCQUF5QixrRUFDekIsZUFBZSwySUFDZixhQUFhLG9MQUNiLDBCQUEwQix5RkFDMUIscUJBQXFCLHFHQUNyQix1QkFBdUIsMEdBQ3ZCLHVCQUF1Qiw4RkFDdkIsdUJBQXVCLG1GQUN2Qix1QkFBdUI7OzRGQU1sQiw0QkFBNEI7a0JBdkJ4QyxTQUFTOytCQUNJLDBCQUEwQixjQUN4QixJQUFJLFdBQ1A7d0JBQ0wsWUFBWTt3QkFDWixrQkFBa0I7d0JBQ2xCLHVCQUF1Qjt3QkFDdkIsbUJBQW1CO3dCQUNuQixlQUFlO3dCQUNmLHlCQUF5Qjt3QkFDekIsZUFBZTt3QkFDZixhQUFhO3dCQUNiLDBCQUEwQjt3QkFDMUIscUJBQXFCO3dCQUNyQix1QkFBdUI7d0JBQ3ZCLHVCQUF1Qjt3QkFDdkIsdUJBQXVCO3dCQUN2Qix1QkFBdUI7cUJBQzFCLGlCQUdjLGlCQUFpQixDQUFDLElBQUk7OEJBSXJDLElBQUk7c0JBREgsS0FBSzt1QkFBQyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUU7Z0JBSXpCLFdBQVc7c0JBRFYsS0FBSztnQkFJTixLQUFLO3NCQURKLEtBQUs7Z0JBSU4sVUFBVTtzQkFEVCxLQUFLO2dCQUlOLFlBQVk7c0JBRFgsS0FBSztnQkFJTixhQUFhO3NCQURaLEtBQUs7Z0JBS04sTUFBTTtzQkFETCxNQUFNO2dCQUlQLFNBQVM7c0JBRFIsTUFBTTtnQkFLUCxNQUFNO3NCQURMLE1BQU07Z0JBS1AsS0FBSztzQkFESixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiLyohXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IMKpIDIwMDUtMjAyNSBIeWxhbmQgU29mdHdhcmUsIEluYy4gYW5kIGl0cyBhZmZpbGlhdGVzLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5pbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uQ2hhbmdlcywgT3V0cHV0LCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTm9kZSB9IGZyb20gJ0BhbGZyZXNjby9qcy1hcGknO1xuaW1wb3J0IHsgUGVybWlzc2lvbkRpc3BsYXlNb2RlbCB9IGZyb20gJy4uLy4uL21vZGVscy9wZXJtaXNzaW9uLm1vZGVsJztcbmltcG9ydCB7IFJvbGVNb2RlbCB9IGZyb20gJy4uLy4uL21vZGVscy9yb2xlLm1vZGVsJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICAgIERhdGFDb2x1bW5Db21wb25lbnQsXG4gICAgRGF0YUNvbHVtbkxpc3RDb21wb25lbnQsXG4gICAgRGF0YVRhYmxlQ29tcG9uZW50LFxuICAgIERhdGVDb2x1bW5IZWFkZXJDb21wb25lbnQsXG4gICAgRW1wdHlDb250ZW50Q29tcG9uZW50LFxuICAgIE5vQ29udGVudFRlbXBsYXRlRGlyZWN0aXZlXG59IGZyb20gJ0BhbGZyZXNjby9hZGYtY29yZSc7XG5pbXBvcnQgeyBUcmFuc2xhdGVNb2R1bGUgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7IE1hdEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XG5pbXBvcnQgeyBVc2VySWNvbkNvbHVtbkNvbXBvbmVudCB9IGZyb20gJy4uL3VzZXItaWNvbi1jb2x1bW4vdXNlci1pY29uLWNvbHVtbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgVXNlck5hbWVDb2x1bW5Db21wb25lbnQgfSBmcm9tICcuLi91c2VyLW5hbWUtY29sdW1uL3VzZXItbmFtZS1jb2x1bW4uY29tcG9uZW50JztcbmltcG9ydCB7IE5vZGVQYXRoQ29sdW1uQ29tcG9uZW50IH0gZnJvbSAnLi4vbm9kZS1wYXRoLWNvbHVtbi9ub2RlLXBhdGgtY29sdW1uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBVc2VyUm9sZUNvbHVtbkNvbXBvbmVudCB9IGZyb20gJy4uL3VzZXItcm9sZS1jb2x1bW4vdXNlci1yb2xlLWNvbHVtbi5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2FkZi1wZXJtaXNzaW9uLWNvbnRhaW5lcicsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIENvbW1vbk1vZHVsZSxcbiAgICAgICAgRGF0YVRhYmxlQ29tcG9uZW50LFxuICAgICAgICBEYXRhQ29sdW1uTGlzdENvbXBvbmVudCxcbiAgICAgICAgRGF0YUNvbHVtbkNvbXBvbmVudCxcbiAgICAgICAgVHJhbnNsYXRlTW9kdWxlLFxuICAgICAgICBEYXRlQ29sdW1uSGVhZGVyQ29tcG9uZW50LFxuICAgICAgICBNYXRCdXR0b25Nb2R1bGUsXG4gICAgICAgIE1hdEljb25Nb2R1bGUsXG4gICAgICAgIE5vQ29udGVudFRlbXBsYXRlRGlyZWN0aXZlLFxuICAgICAgICBFbXB0eUNvbnRlbnRDb21wb25lbnQsXG4gICAgICAgIFVzZXJJY29uQ29sdW1uQ29tcG9uZW50LFxuICAgICAgICBVc2VyTmFtZUNvbHVtbkNvbXBvbmVudCxcbiAgICAgICAgTm9kZVBhdGhDb2x1bW5Db21wb25lbnQsXG4gICAgICAgIFVzZXJSb2xlQ29sdW1uQ29tcG9uZW50XG4gICAgXSxcbiAgICB0ZW1wbGF0ZVVybDogJy4vcGVybWlzc2lvbi1jb250YWluZXIuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL3Blcm1pc3Npb24tY29udGFpbmVyLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxufSlcbmV4cG9ydCBjbGFzcyBQZXJtaXNzaW9uQ29udGFpbmVyQ29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzIHtcbiAgICBASW5wdXQoeyByZXF1aXJlZDogdHJ1ZSB9KVxuICAgIG5vZGU6IE5vZGU7XG5cbiAgICBASW5wdXQoKVxuICAgIHBlcm1pc3Npb25zOiBQZXJtaXNzaW9uRGlzcGxheU1vZGVsW10gPSBbXTtcblxuICAgIEBJbnB1dCgpXG4gICAgcm9sZXMhOiBSb2xlTW9kZWxbXTtcblxuICAgIEBJbnB1dCgpXG4gICAgaXNSZWFkT25seSA9IGZhbHNlO1xuXG4gICAgQElucHV0KClcbiAgICBzaG93TG9jYXRpb24gPSBmYWxzZTtcblxuICAgIEBJbnB1dCgpXG4gICAgc2VsZWN0aW9uTW9kZSA9ICdtdWx0aXBsZSc7IC8vIG5vbmV8c2luZ2xlfG11bHRpcGxlXG5cbiAgICAvKiogRW1pdHRlZCB3aGVuIHRoZSBwZXJtaXNzaW9uIGlzIHVwZGF0ZWQuICovXG4gICAgQE91dHB1dCgpXG4gICAgdXBkYXRlID0gbmV3IEV2ZW50RW1pdHRlcjx7IHJvbGU6IHN0cmluZzsgcGVybWlzc2lvbjogUGVybWlzc2lvbkRpc3BsYXlNb2RlbCB9PigpO1xuXG4gICAgQE91dHB1dCgpXG4gICAgdXBkYXRlQWxsID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XG5cbiAgICAvKiogRW1pdHRlZCB3aGVuIHRoZSBwZXJtaXNzaW9uIGlzIHVwZGF0ZWQuICovXG4gICAgQE91dHB1dCgpXG4gICAgZGVsZXRlID0gbmV3IEV2ZW50RW1pdHRlcjxQZXJtaXNzaW9uRGlzcGxheU1vZGVsPigpO1xuXG4gICAgLyoqIEVtaXR0ZWQgd2hlbiBhbiBlcnJvciBvY2N1cnMuICovXG4gICAgQE91dHB1dCgpXG4gICAgZXJyb3IgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcblxuICAgIGJ1bGtTZWxlY3Rpb25Sb2xlOiBzdHJpbmc7XG5cbiAgICBuZ09uQ2hhbmdlcygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5idWxrU2VsZWN0aW9uUm9sZSA9ICcnO1xuICAgIH1cblxuICAgIHVwZGF0ZVJvbGUocm9sZTogc3RyaW5nLCBwZXJtaXNzaW9uOiBQZXJtaXNzaW9uRGlzcGxheU1vZGVsKSB7XG4gICAgICAgIHRoaXMudXBkYXRlLmVtaXQoeyByb2xlLCBwZXJtaXNzaW9uIH0pO1xuICAgIH1cblxuICAgIGJ1bGtSb2xlVXBkYXRlKHJvbGU6IHN0cmluZykge1xuICAgICAgICB0aGlzLnVwZGF0ZUFsbC5lbWl0KHJvbGUpO1xuICAgIH1cblxuICAgIHJlbW92ZVBlcm1pc3Npb24oZXZlbnQ6IEV2ZW50LCBwZXJtaXNzaW9uUm93OiBQZXJtaXNzaW9uRGlzcGxheU1vZGVsKSB7XG4gICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICB0aGlzLmRlbGV0ZS5lbWl0KHBlcm1pc3Npb25Sb3cpO1xuICAgIH1cbn1cbiIsIjxhZGYtZGF0YXRhYmxlIGNsYXNzPVwiYWRmLWRhdGF0YWJsZS1wZXJtaXNzaW9uXCJcbiAgICAgICAgICAgICAgIGlkPVwiYWRmLXBlcm1pc3Npb24tZGlzcGxheS1jb250YWluZXJcIlxuICAgICAgICAgICAgICAgW3Jvd3NdPVwicGVybWlzc2lvbnNcIlxuICAgICAgICAgICAgICAgW3N0aWNreUhlYWRlcl09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgIFtzZWxlY3Rpb25Nb2RlXT1cInNlbGVjdGlvbk1vZGVcIj5cblxuICAgIDxkYXRhLWNvbHVtbnM+XG4gICAgICAgIDxkYXRhLWNvbHVtbiBjbGFzcz1cImFkZi1kYXRhdGFibGUtY2VsbC0taW1hZ2UgYWRmLWF1dGhvcml0eS1pY29uLWNvbHVtblwiIGtleT1cIiR0aHVtYnVuYWlsXCIgW3NvcnRhYmxlXT1cImZhbHNlXCI+XG4gICAgICAgICAgICA8bmctdGVtcGxhdGUgbGV0LWNvbnRleHQ+XG4gICAgICAgICAgICAgICAgPGFkZi11c2VyLWljb24tY29sdW1uIFtjb250ZXh0XT1cImNvbnRleHRcIiAvPlxuICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgPC9kYXRhLWNvbHVtbj5cblxuICAgICAgICA8ZGF0YS1jb2x1bW4gY2xhc3M9XCJhZGYtZWxsaXBzaXMtY2VsbCBhZGYtZXhwYW5kLWNlbGwtNSBhZGYtYXV0aG9yaXR5SWQtY29sdW1uXCJcbiAgICAgICAgICAgICAgICAgICAgIFt0aXRsZV09XCInUEVSTUlTU0lPTl9NQU5BR0VSLkNPTFVNTi5OQU1FJyB8IHRyYW5zbGF0ZTp7Y291bnQ6cGVybWlzc2lvbnMubGVuZ3RofVwiXG4gICAgICAgICAgICAgICAgICAgICBrZXk9XCJhdXRob3JpdHlJZFwiPlxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlIGxldC1jb250ZXh0PlxuICAgICAgICAgICAgICAgIDxhZGYtdXNlci1uYW1lLWNvbHVtbiBbY29udGV4dF09XCJjb250ZXh0XCIgLz5cbiAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgIDwvZGF0YS1jb2x1bW4+ZFxuXG4gICAgICAgIDxkYXRhLWNvbHVtbiBjbGFzcz1cImFkZi1lbGxpcHNpcy1jZWxsIGFkZi1leHBhbmQtY2VsbC01IGFkZi1hdXRob3JpdHlJZC1jb2x1bW5cIlxuICAgICAgICAgICAgICAgICAgICAgdGl0bGU9XCJQRVJNSVNTSU9OX01BTkFHRVIuQ09MVU1OLkxPQ0FUSU9OXCJcbiAgICAgICAgICAgICAgICAgICAgIGtleT1cImxvY2F0aW9uXCJcbiAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwibm9kZSAmJiBzaG93TG9jYXRpb25cIj5cbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgICAgICA8YWRmLW5vZGUtcGF0aC1jb2x1bW4gW25vZGVdPVwibm9kZVwiIC8+XG4gICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICA8L2RhdGEtY29sdW1uPlxuXG4gICAgICAgIDxkYXRhLWNvbHVtblxuICAgICAgICAgICAgY2xhc3M9XCJhZGYtZWxsaXBzaXMtY2VsbCBhZGYtZXhwYW5kLWNlbGwtNFwiXG4gICAgICAgICAgICB0aXRsZT1cIlBFUk1JU1NJT05fTUFOQUdFUi5QRVJNSVNTSU9OX0RJU1BMQVkuUk9MRVwiXG4gICAgICAgICAgICBrZXk9XCJuYW1lXCJcbiAgICAgICAgICAgIFtzb3J0YWJsZV09XCJmYWxzZVwiPlxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlIGxldC1lbnRyeT1cIiRpbXBsaWNpdFwiPlxuICAgICAgICAgICAgICAgIDxhZGYtdXNlci1yb2xlLWNvbHVtbiBbcmVhZG9ubHldPVwiZW50cnkucm93Lm9iai5yZWFkb25seSB8fCBpc1JlYWRPbmx5XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cImVudHJ5LmRhdGEuZ2V0VmFsdWUoZW50cnkucm93LCBlbnRyeS5jb2wpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3ZhbHVlXT1cImVudHJ5LmRhdGEuZ2V0VmFsdWUoZW50cnkucm93LCBlbnRyeS5jb2wpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3JvbGVzXT1cInJvbGVzXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWQ9XCJhZGYtc2VsZWN0LXJvbGUtcGVybWlzc2lvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChyb2xlQ2hhbmdlZCk9XCJ1cGRhdGVSb2xlKCRldmVudCwgZW50cnkucm93Lm9iailcIiAvPlxuICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cblxuICAgICAgICAgICAgPGFkZi1kYXRhLWNvbHVtbi1oZWFkZXIgKm5nSWY9XCIhaXNSZWFkT25seVwiPlxuICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgICAgICAgICAgPGFkZi11c2VyLXJvbGUtY29sdW1uIGNsYXNzPVwiYWRmLXBlcm1pc3Npb24tcm9sZS1jb2x1bW4taGVhZGVyXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwiUEVSTUlTU0lPTl9NQU5BR0VSLkNPTFVNTi5CVUxLLVJPTEVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3JvbGVzXT1cInJvbGVzXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt2YWx1ZV09XCJidWxrU2VsZWN0aW9uUm9sZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZD1cImFkZi1idWxrLXNlbGVjdC1yb2xlLXBlcm1pc3Npb25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHJvbGVDaGFuZ2VkKT1cImJ1bGtSb2xlVXBkYXRlKCRldmVudClcIiAvPlxuICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICA8L2FkZi1kYXRhLWNvbHVtbi1oZWFkZXI+XG4gICAgICAgIDwvZGF0YS1jb2x1bW4+XG5cbiAgICAgICAgPGRhdGEtY29sdW1uIGNsYXNzPVwiYWRmLWRhdGF0YWJsZS1jZWxsIGFkZi1kZWxldGUtcGVybWlzc2lvbi1jb2x1bW5cIiBrZXk9XCJcIiAqbmdJZj1cIiFpc1JlYWRPbmx5XCIgW3NvcnRhYmxlXT1cImZhbHNlXCI+XG4gICAgICAgICAgICA8bmctdGVtcGxhdGUgbGV0LWVudHJ5PVwiJGltcGxpY2l0XCI+XG4gICAgICAgICAgICAgICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJlbnRyeS5yb3cub2JqLnJlYWRvbmx5XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJyZW1vdmVQZXJtaXNzaW9uKCRldmVudCwgZW50cnkucm93Lm9iailcIlxuICAgICAgICAgICAgICAgICAgICAgICAgKGtleWRvd24uZW50ZXIpPVwicmVtb3ZlUGVybWlzc2lvbigkZXZlbnQsIGVudHJ5LnJvdy5vYmopXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLmRhdGEtYXV0b21hdGlvbi1pZF09XCInYWRmLWRlbGV0ZS1wZXJtaXNzaW9uLWJ1dHRvbi0nICsgZW50cnkucm93Lm9iai5hdXRob3JpdHlJZFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIidQRVJNSVNTSU9OX01BTkFHRVIuQUNUSU9OLkRFTEVURScgfCB0cmFuc2xhdGVcIj5cbiAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uPmRlbGV0ZV9vdXRsaW5lPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgIDwvZGF0YS1jb2x1bW4+XG4gICAgPC9kYXRhLWNvbHVtbnM+XG5cbiAgICA8YWRmLW5vLWNvbnRlbnQtdGVtcGxhdGU+XG4gICAgICAgIDxuZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgIDxhZGYtZW1wdHktY29udGVudFxuICAgICAgICAgICAgICAgIGlkPVwiYWRmLW5vLXBlcm1pc3Npb25zLXRlbXBsYXRlXCJcbiAgICAgICAgICAgICAgICBpY29uPVwic3VwZXJ2aXNvcl9hY2NvdW50XCJcbiAgICAgICAgICAgICAgICBbdGl0bGVdPVwiJ1BFUk1JU1NJT05fTUFOQUdFUi5NRVNTQUdFLkVNUFRZLVBFUk1JU1NJT04nIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgICAgICAgICBbc3VidGl0bGVdPVwiJ1BFUk1JU1NJT05fTUFOQUdFUi5NRVNTQUdFLkVNUFRZLVNVQlRJVExFJyB8IHRyYW5zbGF0ZVwiIC8+XG4gICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPC9hZGYtbm8tY29udGVudC10ZW1wbGF0ZT5cblxuPC9hZGYtZGF0YXRhYmxlPlxuIl19
@@ -0,0 +1,88 @@
1
+ import { Component, DestroyRef, EventEmitter, inject, Input, Output, ViewEncapsulation } from '@angular/core';
2
+ import { PermissionListService } from './permission-list.service';
3
+ import { CommonModule } from '@angular/common';
4
+ import { MatCardModule } from '@angular/material/card';
5
+ import { MatProgressSpinnerModule } from '@angular/material/progress-spinner';
6
+ import { MatIconModule } from '@angular/material/icon';
7
+ import { MatSlideToggleModule } from '@angular/material/slide-toggle';
8
+ import { TranslateModule } from '@ngx-translate/core';
9
+ import { MatButtonModule } from '@angular/material/button';
10
+ import { PermissionContainerComponent } from '../permission-container/permission-container.component';
11
+ import { PopOverDirective } from '../pop-over.directive';
12
+ import { AllowableOperationsEnum, ContentService } from '../../../common';
13
+ import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
14
+ import * as i0 from "@angular/core";
15
+ import * as i1 from "./permission-list.service";
16
+ import * as i2 from "../../../common";
17
+ import * as i3 from "@angular/common";
18
+ import * as i4 from "@angular/material/card";
19
+ import * as i5 from "@angular/material/progress-spinner";
20
+ import * as i6 from "@angular/material/icon";
21
+ import * as i7 from "@angular/material/slide-toggle";
22
+ import * as i8 from "@ngx-translate/core";
23
+ import * as i9 from "@angular/material/button";
24
+ export class PermissionListComponent {
25
+ get updatePermissionsAllowed() {
26
+ return this._updatePermissionsAllowed;
27
+ }
28
+ constructor(permissionList, contentService) {
29
+ this.permissionList = permissionList;
30
+ this.contentService = contentService;
31
+ this.selectedPermissions = [];
32
+ this._updatePermissionsAllowed = false;
33
+ this.destroyRef = inject(DestroyRef);
34
+ this.error = this.permissionList.errored;
35
+ this.update = this.permissionList.updated;
36
+ }
37
+ ngOnInit() {
38
+ this.permissionList.fetchPermission(this.nodeId);
39
+ this.permissionList.data$
40
+ .pipe(takeUntilDestroyed(this.destroyRef))
41
+ .subscribe((model) => (this._updatePermissionsAllowed = this.contentService.hasAllowableOperations(model.node, AllowableOperationsEnum.UPDATEPERMISSIONS)));
42
+ }
43
+ openAddPermissionDialog() {
44
+ this.permissionList.updateNodePermissionByDialog();
45
+ }
46
+ onSelect(selections) {
47
+ this.selectedPermissions = selections.map((selection) => selection['obj']).filter((permission) => !permission.readonly);
48
+ }
49
+ deleteSelection() {
50
+ this.permissionList.deletePermissions(this.selectedPermissions);
51
+ this.selectedPermissions = [];
52
+ }
53
+ updatePermission({ role, permission }) {
54
+ this.permissionList.updateRole(role, permission);
55
+ }
56
+ deletePermission(permission) {
57
+ this.selectedPermissions = [];
58
+ this.permissionList.deletePermission(permission);
59
+ }
60
+ updateAllPermission(role) {
61
+ this.permissionList.bulkRoleUpdate(role);
62
+ this.selectedPermissions = [];
63
+ }
64
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: PermissionListComponent, deps: [{ token: i1.PermissionListService }, { token: i2.ContentService }], target: i0.ɵɵFactoryTarget.Component }); }
65
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: PermissionListComponent, isStandalone: true, selector: "adf-permission-list", inputs: { nodeId: "nodeId" }, outputs: { update: "update", error: "error" }, ngImport: i0, template: "<mat-card class=\"adf-permission-card\" id=\"adf-permission-manager-card\">\n <div *ngIf=\"(permissionList.data$ | async) === null && permissionList.loading$ | async\" class=\"adf-permission-loader\">\n <mat-progress-spinner [color]=\"'primary'\" [mode]=\"'indeterminate'\" />\n </div>\n\n <ng-container *ngIf=\"permissionList.error$ | async\">\n <div class=\"adf-no-permission__template\" id=\"adf-permission-manager-error\">\n <mat-icon color=\"warn\">error</mat-icon>\n <p class=\"adf-no-permission__template--text\">{{ 'PERMISSION_MANAGER.ERROR.NOT-FOUND'| translate }}</p>\n </div>\n </ng-container>\n\n <ng-container *ngIf=\"permissionList.data$ | async as model\">\n <div class=\"adf-permission-container\" #target>\n\n <div class=\"adf-permission-header\">\n <span class=\"adf-inherit-container\">\n <h3 class=\"adf-inherit-container-header\">\n {{'PERMISSION_MANAGER.LABELS.INHERITED-PERMISSIONS' | translate }}\n\n {{ (model.node.permissions.isInheritanceEnabled ? \"PERMISSION_MANAGER.LABELS.ON\" : \"PERMISSION_MANAGER.LABELS.OFF\") | translate }}\n </h3>\n\n <mat-slide-toggle\n *ngIf=\"updatePermissionsAllowed\"\n class=\"adf-inherit-toggle\"\n title=\"{{'PERMISSION_MANAGER.LABELS.INHERITED_PERMISSION_TOGGLE' | translate }}\"\n color=\"primary\"\n aria-label=\"{{'PERMISSION_MANAGER.LABELS.INHERITED_PERMISSION_TOGGLE' | translate}}\"\n data-automation-id=\"adf-inherit-toggle-button\"\n [checked]=\"model.node.permissions.isInheritanceEnabled\"\n (change)=\"permissionList.toggleInherited($event)\" />\n </span>\n\n <span class=\"adf-inherit-subtitle\" title=\"total\">\n {{'PERMISSION_MANAGER.LABELS.INHERITED-SUBTITLE' | translate: { count: model.inheritedPermissions.length } }}\n </span>\n </div>\n\n <button\n mat-flat-button\n data-automation-id=\"permission-info-button\"\n class=\"adf-permission-visibility-toggle\"\n [adf-pop-over]=\"inheritedPermission\"\n [target]=\"target\"\n #popOver=\"adfPopOver\"\n *ngIf=\"model.node.permissions.isInheritanceEnabled\">\n {{ (popOver.open ? 'PERMISSION_MANAGER.LABELS.HIDE' : 'PERMISSION_MANAGER.LABELS.SHOW') | translate }}\n <mat-icon class=\"adf-permission-visibility-toggle-icon\" iconPositionEnd>\n {{ popOver.open ? 'keyboard_arrow_up' : 'keyboard_arrow_down' }} </mat-icon>\n </button>\n </div>\n\n <ng-template #inheritedPermission>\n <div class=\"adf-pop-over-card\">\n <adf-permission-container\n data-automation-id=\"adf-inherited-permission\"\n [isReadOnly]=\"true\"\n [node]=\"model.node\"\n [permissions]=\"model.inheritedPermissions\"\n [showLocation]=\"true\"\n [selectionMode]=\"'none'\"\n [roles]=\"model.roles\" />\n </div>\n </ng-template>\n\n <mat-card-content class=\"adf-local-permission-container\">\n <section class=\"adf-permission-content-header\">\n <h3>{{'PERMISSION_MANAGER.LABELS.DIRECT-PERMISSIONS' | translate }}</h3>\n\n <div class=\"adf-toolbar--spacer\"></div>\n\n <ng-container *ngIf=\"updatePermissionsAllowed\">\n <button\n mat-icon-button\n title=\"{{'PERMISSION_MANAGER.ACTION.ADD-PERMISSION' | translate}}\"\n (click)=\"openAddPermissionDialog()\"\n class=\"adf-add-permission-button\"\n data-automation-id=\"adf-add-permission-button\">\n <mat-icon>person_add_outline</mat-icon>\n </button>\n\n <button\n mat-icon-button\n title=\"{{'PERMISSION_MANAGER.ACTION.DELETE' | translate}}\"\n [disabled]=\"!selectedPermissions?.length\"\n (click)=\"deleteSelection()\"\n data-automation-id=\"adf-delete-selected-permission\">\n <mat-icon>delete_outline</mat-icon>\n </button>\n </ng-container>\n </section>\n\n <adf-permission-container\n class=\"adf-permission-list\"\n data-automation-id=\"adf-locally-set-permission\"\n [node]=\"model.node\"\n [permissions]=\"model.localPermissions\"\n (update)=\"updatePermission($event)\"\n (delete)=\"deletePermission($event)\"\n (updateAll)=\"updateAllPermission($event)\"\n (row-select)=\"onSelect($any($event).detail.selection)\"\n (row-unselect)=\"onSelect($any($event).detail.selection)\"\n [roles]=\"model.roles\"\n [isReadOnly]=\"!updatePermissionsAllowed\"/>\n\n </mat-card-content>\n </ng-container>\n</mat-card>\n", styles: [".adf-permission-card{height:100%;box-sizing:border-box;display:flex;flex-direction:column;overflow:hidden;padding:16px}.adf-permission-loader{margin-left:45%;overflow:hidden}.adf-permission-container{display:flex;flex-direction:row;justify-content:space-between;align-items:center;padding:10px 15px;border:1px solid var(--adf-theme-foreground-text-color-007)}.adf-permission-container .adf-permission-visibility-toggle .adf-permission-visibility-toggle-icon{font-size:24px;height:24px;width:24px;margin:1px 0 0 4px}.adf-inherit-container{display:flex;flex-direction:row;align-items:center}.adf-inherit-container-header{margin-bottom:10px;margin-top:10px}.adf-inherit-toggle{padding-left:30px;margin-top:-2px}.adf-inherit-subtitle{padding-bottom:5px}.adf-permission-content-header{display:flex;flex-direction:row;align-items:center;padding:5px 15px}.adf-permission-content-header .adf-add-permission-button{margin-left:12px;margin-right:24px}.adf-permission-content-header .adf-toolbar--spacer{flex:1 1 auto}.adf-permission-role-column-header{position:relative;height:40px}.adf-permission-header{display:flex;flex-direction:column;flex:1;height:100%;overflow:hidden;min-height:0}.adf-permission-list{display:flex;height:calc(100% - 63px)}.adf-local-permission-container.mat-mdc-card-content{overflow:hidden;flex:1 1 auto;padding:0}[aria-sort=Ascending] adf-user-role-column,[aria-sort=Descending] adf-user-role-column{padding-left:10px;padding-right:10px}.adf-permission-pop-over{padding-right:15px;width:100%}.adf-permission-pop-over .adf-pop-over-card{width:100%;overflow:hidden;box-shadow:0 8px 9px -5px var(--adf-theme-foreground-divider-color),0 15px 22px 2px var(--adf-theme-foreground-divider-color)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }, { kind: "ngmodule", type: MatCardModule }, { kind: "component", type: i4.MatCard, selector: "mat-card", inputs: ["appearance"], exportAs: ["matCard"] }, { kind: "directive", type: i4.MatCardContent, selector: "mat-card-content" }, { kind: "ngmodule", type: MatProgressSpinnerModule }, { kind: "component", type: i5.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "mode", "value", "diameter", "strokeWidth"], exportAs: ["matProgressSpinner"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i6.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatSlideToggleModule }, { kind: "component", type: i7.MatSlideToggle, selector: "mat-slide-toggle", inputs: ["name", "id", "labelPosition", "aria-label", "aria-labelledby", "aria-describedby", "required", "color", "disabled", "disableRipple", "tabIndex", "checked", "hideIcon", "disabledInteractive"], outputs: ["change", "toggleChange"], exportAs: ["matSlideToggle"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i8.TranslatePipe, name: "translate" }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i9.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i9.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "component", type: PermissionContainerComponent, selector: "adf-permission-container", inputs: ["node", "permissions", "roles", "isReadOnly", "showLocation", "selectionMode"], outputs: ["update", "updateAll", "delete", "error"] }, { kind: "directive", type: PopOverDirective, selector: "[adf-pop-over]", inputs: ["adf-pop-over", "target", "panelClass", "autofocusedElementSelector"], exportAs: ["adfPopOver"] }], encapsulation: i0.ViewEncapsulation.None }); }
66
+ }
67
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: PermissionListComponent, decorators: [{
68
+ type: Component,
69
+ args: [{ selector: 'adf-permission-list', standalone: true, imports: [
70
+ CommonModule,
71
+ MatCardModule,
72
+ MatProgressSpinnerModule,
73
+ MatIconModule,
74
+ MatSlideToggleModule,
75
+ TranslateModule,
76
+ MatButtonModule,
77
+ PermissionContainerComponent,
78
+ PopOverDirective
79
+ ], encapsulation: ViewEncapsulation.None, template: "<mat-card class=\"adf-permission-card\" id=\"adf-permission-manager-card\">\n <div *ngIf=\"(permissionList.data$ | async) === null && permissionList.loading$ | async\" class=\"adf-permission-loader\">\n <mat-progress-spinner [color]=\"'primary'\" [mode]=\"'indeterminate'\" />\n </div>\n\n <ng-container *ngIf=\"permissionList.error$ | async\">\n <div class=\"adf-no-permission__template\" id=\"adf-permission-manager-error\">\n <mat-icon color=\"warn\">error</mat-icon>\n <p class=\"adf-no-permission__template--text\">{{ 'PERMISSION_MANAGER.ERROR.NOT-FOUND'| translate }}</p>\n </div>\n </ng-container>\n\n <ng-container *ngIf=\"permissionList.data$ | async as model\">\n <div class=\"adf-permission-container\" #target>\n\n <div class=\"adf-permission-header\">\n <span class=\"adf-inherit-container\">\n <h3 class=\"adf-inherit-container-header\">\n {{'PERMISSION_MANAGER.LABELS.INHERITED-PERMISSIONS' | translate }}\n\n {{ (model.node.permissions.isInheritanceEnabled ? \"PERMISSION_MANAGER.LABELS.ON\" : \"PERMISSION_MANAGER.LABELS.OFF\") | translate }}\n </h3>\n\n <mat-slide-toggle\n *ngIf=\"updatePermissionsAllowed\"\n class=\"adf-inherit-toggle\"\n title=\"{{'PERMISSION_MANAGER.LABELS.INHERITED_PERMISSION_TOGGLE' | translate }}\"\n color=\"primary\"\n aria-label=\"{{'PERMISSION_MANAGER.LABELS.INHERITED_PERMISSION_TOGGLE' | translate}}\"\n data-automation-id=\"adf-inherit-toggle-button\"\n [checked]=\"model.node.permissions.isInheritanceEnabled\"\n (change)=\"permissionList.toggleInherited($event)\" />\n </span>\n\n <span class=\"adf-inherit-subtitle\" title=\"total\">\n {{'PERMISSION_MANAGER.LABELS.INHERITED-SUBTITLE' | translate: { count: model.inheritedPermissions.length } }}\n </span>\n </div>\n\n <button\n mat-flat-button\n data-automation-id=\"permission-info-button\"\n class=\"adf-permission-visibility-toggle\"\n [adf-pop-over]=\"inheritedPermission\"\n [target]=\"target\"\n #popOver=\"adfPopOver\"\n *ngIf=\"model.node.permissions.isInheritanceEnabled\">\n {{ (popOver.open ? 'PERMISSION_MANAGER.LABELS.HIDE' : 'PERMISSION_MANAGER.LABELS.SHOW') | translate }}\n <mat-icon class=\"adf-permission-visibility-toggle-icon\" iconPositionEnd>\n {{ popOver.open ? 'keyboard_arrow_up' : 'keyboard_arrow_down' }} </mat-icon>\n </button>\n </div>\n\n <ng-template #inheritedPermission>\n <div class=\"adf-pop-over-card\">\n <adf-permission-container\n data-automation-id=\"adf-inherited-permission\"\n [isReadOnly]=\"true\"\n [node]=\"model.node\"\n [permissions]=\"model.inheritedPermissions\"\n [showLocation]=\"true\"\n [selectionMode]=\"'none'\"\n [roles]=\"model.roles\" />\n </div>\n </ng-template>\n\n <mat-card-content class=\"adf-local-permission-container\">\n <section class=\"adf-permission-content-header\">\n <h3>{{'PERMISSION_MANAGER.LABELS.DIRECT-PERMISSIONS' | translate }}</h3>\n\n <div class=\"adf-toolbar--spacer\"></div>\n\n <ng-container *ngIf=\"updatePermissionsAllowed\">\n <button\n mat-icon-button\n title=\"{{'PERMISSION_MANAGER.ACTION.ADD-PERMISSION' | translate}}\"\n (click)=\"openAddPermissionDialog()\"\n class=\"adf-add-permission-button\"\n data-automation-id=\"adf-add-permission-button\">\n <mat-icon>person_add_outline</mat-icon>\n </button>\n\n <button\n mat-icon-button\n title=\"{{'PERMISSION_MANAGER.ACTION.DELETE' | translate}}\"\n [disabled]=\"!selectedPermissions?.length\"\n (click)=\"deleteSelection()\"\n data-automation-id=\"adf-delete-selected-permission\">\n <mat-icon>delete_outline</mat-icon>\n </button>\n </ng-container>\n </section>\n\n <adf-permission-container\n class=\"adf-permission-list\"\n data-automation-id=\"adf-locally-set-permission\"\n [node]=\"model.node\"\n [permissions]=\"model.localPermissions\"\n (update)=\"updatePermission($event)\"\n (delete)=\"deletePermission($event)\"\n (updateAll)=\"updateAllPermission($event)\"\n (row-select)=\"onSelect($any($event).detail.selection)\"\n (row-unselect)=\"onSelect($any($event).detail.selection)\"\n [roles]=\"model.roles\"\n [isReadOnly]=\"!updatePermissionsAllowed\"/>\n\n </mat-card-content>\n </ng-container>\n</mat-card>\n", styles: [".adf-permission-card{height:100%;box-sizing:border-box;display:flex;flex-direction:column;overflow:hidden;padding:16px}.adf-permission-loader{margin-left:45%;overflow:hidden}.adf-permission-container{display:flex;flex-direction:row;justify-content:space-between;align-items:center;padding:10px 15px;border:1px solid var(--adf-theme-foreground-text-color-007)}.adf-permission-container .adf-permission-visibility-toggle .adf-permission-visibility-toggle-icon{font-size:24px;height:24px;width:24px;margin:1px 0 0 4px}.adf-inherit-container{display:flex;flex-direction:row;align-items:center}.adf-inherit-container-header{margin-bottom:10px;margin-top:10px}.adf-inherit-toggle{padding-left:30px;margin-top:-2px}.adf-inherit-subtitle{padding-bottom:5px}.adf-permission-content-header{display:flex;flex-direction:row;align-items:center;padding:5px 15px}.adf-permission-content-header .adf-add-permission-button{margin-left:12px;margin-right:24px}.adf-permission-content-header .adf-toolbar--spacer{flex:1 1 auto}.adf-permission-role-column-header{position:relative;height:40px}.adf-permission-header{display:flex;flex-direction:column;flex:1;height:100%;overflow:hidden;min-height:0}.adf-permission-list{display:flex;height:calc(100% - 63px)}.adf-local-permission-container.mat-mdc-card-content{overflow:hidden;flex:1 1 auto;padding:0}[aria-sort=Ascending] adf-user-role-column,[aria-sort=Descending] adf-user-role-column{padding-left:10px;padding-right:10px}.adf-permission-pop-over{padding-right:15px;width:100%}.adf-permission-pop-over .adf-pop-over-card{width:100%;overflow:hidden;box-shadow:0 8px 9px -5px var(--adf-theme-foreground-divider-color),0 15px 22px 2px var(--adf-theme-foreground-divider-color)}\n"] }]
80
+ }], ctorParameters: () => [{ type: i1.PermissionListService }, { type: i2.ContentService }], propDecorators: { nodeId: [{
81
+ type: Input,
82
+ args: [{ required: true }]
83
+ }], update: [{
84
+ type: Output
85
+ }], error: [{
86
+ type: Output
87
+ }] } });
88
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVybWlzc2lvbi1saXN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYi9jb250ZW50LXNlcnZpY2VzL3NyYy9saWIvcGVybWlzc2lvbi1tYW5hZ2VyL2NvbXBvbmVudHMvcGVybWlzc2lvbi1saXN0L3Blcm1pc3Npb24tbGlzdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWIvY29udGVudC1zZXJ2aWNlcy9zcmMvbGliL3Blcm1pc3Npb24tbWFuYWdlci9jb21wb25lbnRzL3Blcm1pc3Npb24tbGlzdC9wZXJtaXNzaW9uLWxpc3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBbUJBLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV0SCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQzlFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN0RSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdEQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLHdEQUF3RCxDQUFDO0FBQ3RHLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3pELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxjQUFjLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMxRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQzs7Ozs7Ozs7Ozs7QUFvQmhFLE1BQU0sT0FBTyx1QkFBdUI7SUFtQmhDLElBQUksd0JBQXdCO1FBQ3hCLE9BQU8sSUFBSSxDQUFDLHlCQUF5QixDQUFDO0lBQzFDLENBQUM7SUFFRCxZQUE0QixjQUFxQyxFQUFtQixjQUE4QjtRQUF0RixtQkFBYyxHQUFkLGNBQWMsQ0FBdUI7UUFBbUIsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBVmxILHdCQUFtQixHQUE2QixFQUFFLENBQUM7UUFFM0MsOEJBQXlCLEdBQUcsS0FBSyxDQUFDO1FBRXpCLGVBQVUsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7UUFPN0MsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQztRQUN6QyxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDO0lBQzlDLENBQUM7SUFFRCxRQUFRO1FBQ0osSUFBSSxDQUFDLGNBQWMsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ2pELElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSzthQUNwQixJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO2FBQ3pDLFNBQVMsQ0FDTixDQUFDLEtBQUssRUFBRSxFQUFFLENBQ04sQ0FBQyxJQUFJLENBQUMseUJBQXlCLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxzQkFBc0IsQ0FDeEUsS0FBSyxDQUFDLElBQUksRUFDVix1QkFBdUIsQ0FBQyxpQkFBaUIsQ0FDNUMsQ0FBQyxDQUNULENBQUM7SUFDVixDQUFDO0lBRUQsdUJBQXVCO1FBQ25CLElBQUksQ0FBQyxjQUFjLENBQUMsNEJBQTRCLEVBQUUsQ0FBQztJQUN2RCxDQUFDO0lBRUQsUUFBUSxDQUFDLFVBQTJCO1FBQ2hDLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUMsU0FBUyxFQUFFLEVBQUUsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxVQUFVLEVBQUUsRUFBRSxDQUFDLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQzVILENBQUM7SUFFRCxlQUFlO1FBQ1gsSUFBSSxDQUFDLGNBQWMsQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsQ0FBQztRQUNoRSxJQUFJLENBQUMsbUJBQW1CLEdBQUcsRUFBRSxDQUFDO0lBQ2xDLENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUU7UUFDakMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLFVBQVUsQ0FBQyxDQUFDO0lBQ3JELENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxVQUFrQztRQUMvQyxJQUFJLENBQUMsbUJBQW1CLEdBQUcsRUFBRSxDQUFDO1FBQzlCLElBQUksQ0FBQyxjQUFjLENBQUMsZ0JBQWdCLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDckQsQ0FBQztJQUVELG1CQUFtQixDQUFDLElBQVk7UUFDNUIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDekMsSUFBSSxDQUFDLG1CQUFtQixHQUFHLEVBQUUsQ0FBQztJQUNsQyxDQUFDOytHQWxFUSx1QkFBdUI7bUdBQXZCLHVCQUF1Qiw0SkNwRHBDLDQ0S0E2R0EscXVERHZFUSxZQUFZLHVMQUNaLGFBQWEsME5BQ2Isd0JBQXdCLGtPQUN4QixhQUFhLG1MQUNiLG9CQUFvQix5WEFDcEIsZUFBZSwyRkFDZixlQUFlLHlVQUNmLDRCQUE0QixtTkFDNUIsZ0JBQWdCOzs0RkFNWCx1QkFBdUI7a0JBbEJuQyxTQUFTOytCQUNJLHFCQUFxQixjQUNuQixJQUFJLFdBQ1A7d0JBQ0wsWUFBWTt3QkFDWixhQUFhO3dCQUNiLHdCQUF3Qjt3QkFDeEIsYUFBYTt3QkFDYixvQkFBb0I7d0JBQ3BCLGVBQWU7d0JBQ2YsZUFBZTt3QkFDZiw0QkFBNEI7d0JBQzVCLGdCQUFnQjtxQkFDbkIsaUJBR2MsaUJBQWlCLENBQUMsSUFBSTt1SEFLckMsTUFBTTtzQkFETCxLQUFLO3VCQUFDLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRTtnQkFLekIsTUFBTTtzQkFETCxNQUFNO2dCQUtQLEtBQUs7c0JBREosTUFBTSIsInNvdXJjZXNDb250ZW50IjpbIi8qIVxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCDCqSAyMDA1LTIwMjUgSHlsYW5kIFNvZnR3YXJlLCBJbmMuIGFuZCBpdHMgYWZmaWxpYXRlcy4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuaW1wb3J0IHsgT2JqZWN0RGF0YVJvdyB9IGZyb20gJ0BhbGZyZXNjby9hZGYtY29yZSc7XG5pbXBvcnQgeyBQZXJtaXNzaW9uRWxlbWVudCB9IGZyb20gJ0BhbGZyZXNjby9qcy1hcGknO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBEZXN0cm95UmVmLCBFdmVudEVtaXR0ZXIsIGluamVjdCwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0LCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUGVybWlzc2lvbkRpc3BsYXlNb2RlbCB9IGZyb20gJy4uLy4uL21vZGVscy9wZXJtaXNzaW9uLm1vZGVsJztcbmltcG9ydCB7IFBlcm1pc3Npb25MaXN0U2VydmljZSB9IGZyb20gJy4vcGVybWlzc2lvbi1saXN0LnNlcnZpY2UnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE1hdENhcmRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jYXJkJztcbmltcG9ydCB7IE1hdFByb2dyZXNzU3Bpbm5lck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Byb2dyZXNzLXNwaW5uZXInO1xuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xuaW1wb3J0IHsgTWF0U2xpZGVUb2dnbGVNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zbGlkZS10b2dnbGUnO1xuaW1wb3J0IHsgVHJhbnNsYXRlTW9kdWxlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xuaW1wb3J0IHsgUGVybWlzc2lvbkNvbnRhaW5lckNvbXBvbmVudCB9IGZyb20gJy4uL3Blcm1pc3Npb24tY29udGFpbmVyL3Blcm1pc3Npb24tY29udGFpbmVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQb3BPdmVyRGlyZWN0aXZlIH0gZnJvbSAnLi4vcG9wLW92ZXIuZGlyZWN0aXZlJztcbmltcG9ydCB7IEFsbG93YWJsZU9wZXJhdGlvbnNFbnVtLCBDb250ZW50U2VydmljZSB9IGZyb20gJy4uLy4uLy4uL2NvbW1vbic7XG5pbXBvcnQgeyB0YWtlVW50aWxEZXN0cm95ZWQgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnYWRmLXBlcm1pc3Npb24tbGlzdCcsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIENvbW1vbk1vZHVsZSxcbiAgICAgICAgTWF0Q2FyZE1vZHVsZSxcbiAgICAgICAgTWF0UHJvZ3Jlc3NTcGlubmVyTW9kdWxlLFxuICAgICAgICBNYXRJY29uTW9kdWxlLFxuICAgICAgICBNYXRTbGlkZVRvZ2dsZU1vZHVsZSxcbiAgICAgICAgVHJhbnNsYXRlTW9kdWxlLFxuICAgICAgICBNYXRCdXR0b25Nb2R1bGUsXG4gICAgICAgIFBlcm1pc3Npb25Db250YWluZXJDb21wb25lbnQsXG4gICAgICAgIFBvcE92ZXJEaXJlY3RpdmVcbiAgICBdLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9wZXJtaXNzaW9uLWxpc3QuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL3Blcm1pc3Npb24tbGlzdC5jb21wb25lbnQuc2NzcyddLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcbn0pXG5leHBvcnQgY2xhc3MgUGVybWlzc2lvbkxpc3RDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICAgIC8qKiBJRCBvZiB0aGUgbm9kZSB3aG9zZSBwZXJtaXNzaW9ucyB5b3Ugd2FudCB0byBzaG93LiAqL1xuICAgIEBJbnB1dCh7IHJlcXVpcmVkOiB0cnVlIH0pXG4gICAgbm9kZUlkOiBzdHJpbmc7XG5cbiAgICAvKiogRW1pdHRlZCB3aGVuIHRoZSBwZXJtaXNzaW9uIGlzIHVwZGF0ZWQuICovXG4gICAgQE91dHB1dCgpXG4gICAgdXBkYXRlOiBFdmVudEVtaXR0ZXI8UGVybWlzc2lvbkVsZW1lbnQ+O1xuXG4gICAgLyoqIEVtaXR0ZWQgd2hlbiBhbiBlcnJvciBvY2N1cnMuICovXG4gICAgQE91dHB1dCgpXG4gICAgZXJyb3I6IEV2ZW50RW1pdHRlcjxhbnk+O1xuXG4gICAgc2VsZWN0ZWRQZXJtaXNzaW9uczogUGVybWlzc2lvbkRpc3BsYXlNb2RlbFtdID0gW107XG5cbiAgICBwcml2YXRlIF91cGRhdGVQZXJtaXNzaW9uc0FsbG93ZWQgPSBmYWxzZTtcblxuICAgIHByaXZhdGUgcmVhZG9ubHkgZGVzdHJveVJlZiA9IGluamVjdChEZXN0cm95UmVmKTtcblxuICAgIGdldCB1cGRhdGVQZXJtaXNzaW9uc0FsbG93ZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLl91cGRhdGVQZXJtaXNzaW9uc0FsbG93ZWQ7XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3IocHVibGljIHJlYWRvbmx5IHBlcm1pc3Npb25MaXN0OiBQZXJtaXNzaW9uTGlzdFNlcnZpY2UsIHByaXZhdGUgcmVhZG9ubHkgY29udGVudFNlcnZpY2U6IENvbnRlbnRTZXJ2aWNlKSB7XG4gICAgICAgIHRoaXMuZXJyb3IgPSB0aGlzLnBlcm1pc3Npb25MaXN0LmVycm9yZWQ7XG4gICAgICAgIHRoaXMudXBkYXRlID0gdGhpcy5wZXJtaXNzaW9uTGlzdC51cGRhdGVkO1xuICAgIH1cblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLnBlcm1pc3Npb25MaXN0LmZldGNoUGVybWlzc2lvbih0aGlzLm5vZGVJZCk7XG4gICAgICAgIHRoaXMucGVybWlzc2lvbkxpc3QuZGF0YSRcbiAgICAgICAgICAgIC5waXBlKHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLmRlc3Ryb3lSZWYpKVxuICAgICAgICAgICAgLnN1YnNjcmliZShcbiAgICAgICAgICAgICAgICAobW9kZWwpID0+XG4gICAgICAgICAgICAgICAgICAgICh0aGlzLl91cGRhdGVQZXJtaXNzaW9uc0FsbG93ZWQgPSB0aGlzLmNvbnRlbnRTZXJ2aWNlLmhhc0FsbG93YWJsZU9wZXJhdGlvbnMoXG4gICAgICAgICAgICAgICAgICAgICAgICBtb2RlbC5ub2RlLFxuICAgICAgICAgICAgICAgICAgICAgICAgQWxsb3dhYmxlT3BlcmF0aW9uc0VudW0uVVBEQVRFUEVSTUlTU0lPTlNcbiAgICAgICAgICAgICAgICAgICAgKSlcbiAgICAgICAgICAgICk7XG4gICAgfVxuXG4gICAgb3BlbkFkZFBlcm1pc3Npb25EaWFsb2coKSB7XG4gICAgICAgIHRoaXMucGVybWlzc2lvbkxpc3QudXBkYXRlTm9kZVBlcm1pc3Npb25CeURpYWxvZygpO1xuICAgIH1cblxuICAgIG9uU2VsZWN0KHNlbGVjdGlvbnM6IE9iamVjdERhdGFSb3dbXSkge1xuICAgICAgICB0aGlzLnNlbGVjdGVkUGVybWlzc2lvbnMgPSBzZWxlY3Rpb25zLm1hcCgoc2VsZWN0aW9uKSA9PiBzZWxlY3Rpb25bJ29iaiddKS5maWx0ZXIoKHBlcm1pc3Npb24pID0+ICFwZXJtaXNzaW9uLnJlYWRvbmx5KTtcbiAgICB9XG5cbiAgICBkZWxldGVTZWxlY3Rpb24oKSB7XG4gICAgICAgIHRoaXMucGVybWlzc2lvbkxpc3QuZGVsZXRlUGVybWlzc2lvbnModGhpcy5zZWxlY3RlZFBlcm1pc3Npb25zKTtcbiAgICAgICAgdGhpcy5zZWxlY3RlZFBlcm1pc3Npb25zID0gW107XG4gICAgfVxuXG4gICAgdXBkYXRlUGVybWlzc2lvbih7IHJvbGUsIHBlcm1pc3Npb24gfSkge1xuICAgICAgICB0aGlzLnBlcm1pc3Npb25MaXN0LnVwZGF0ZVJvbGUocm9sZSwgcGVybWlzc2lvbik7XG4gICAgfVxuXG4gICAgZGVsZXRlUGVybWlzc2lvbihwZXJtaXNzaW9uOiBQZXJtaXNzaW9uRGlzcGxheU1vZGVsKSB7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRQZXJtaXNzaW9ucyA9IFtdO1xuICAgICAgICB0aGlzLnBlcm1pc3Npb25MaXN0LmRlbGV0ZVBlcm1pc3Npb24ocGVybWlzc2lvbik7XG4gICAgfVxuXG4gICAgdXBkYXRlQWxsUGVybWlzc2lvbihyb2xlOiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5wZXJtaXNzaW9uTGlzdC5idWxrUm9sZVVwZGF0ZShyb2xlKTtcbiAgICAgICAgdGhpcy5zZWxlY3RlZFBlcm1pc3Npb25zID0gW107XG4gICAgfVxufVxuIiwiPG1hdC1jYXJkIGNsYXNzPVwiYWRmLXBlcm1pc3Npb24tY2FyZFwiIGlkPVwiYWRmLXBlcm1pc3Npb24tbWFuYWdlci1jYXJkXCI+XG4gICAgPGRpdiAqbmdJZj1cIihwZXJtaXNzaW9uTGlzdC5kYXRhJCB8IGFzeW5jKSA9PT0gbnVsbCAmJiBwZXJtaXNzaW9uTGlzdC5sb2FkaW5nJCB8IGFzeW5jXCIgY2xhc3M9XCJhZGYtcGVybWlzc2lvbi1sb2FkZXJcIj5cbiAgICAgICAgPG1hdC1wcm9ncmVzcy1zcGlubmVyIFtjb2xvcl09XCIncHJpbWFyeSdcIiBbbW9kZV09XCInaW5kZXRlcm1pbmF0ZSdcIiAvPlxuICAgIDwvZGl2PlxuXG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInBlcm1pc3Npb25MaXN0LmVycm9yJCB8IGFzeW5jXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJhZGYtbm8tcGVybWlzc2lvbl9fdGVtcGxhdGVcIiBpZD1cImFkZi1wZXJtaXNzaW9uLW1hbmFnZXItZXJyb3JcIj5cbiAgICAgICAgICAgIDxtYXQtaWNvbiBjb2xvcj1cIndhcm5cIj5lcnJvcjwvbWF0LWljb24+XG4gICAgICAgICAgICA8cCBjbGFzcz1cImFkZi1uby1wZXJtaXNzaW9uX190ZW1wbGF0ZS0tdGV4dFwiPnt7ICdQRVJNSVNTSU9OX01BTkFHRVIuRVJST1IuTk9ULUZPVU5EJ3wgdHJhbnNsYXRlIH19PC9wPlxuICAgICAgICA8L2Rpdj5cbiAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJwZXJtaXNzaW9uTGlzdC5kYXRhJCB8IGFzeW5jIGFzIG1vZGVsXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJhZGYtcGVybWlzc2lvbi1jb250YWluZXJcIiAjdGFyZ2V0PlxuXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYWRmLXBlcm1pc3Npb24taGVhZGVyXCI+XG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJhZGYtaW5oZXJpdC1jb250YWluZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgPGgzIGNsYXNzPVwiYWRmLWluaGVyaXQtY29udGFpbmVyLWhlYWRlclwiPlxuICAgICAgICAgICAgICAgICAgICAgICAge3snUEVSTUlTU0lPTl9NQU5BR0VSLkxBQkVMUy5JTkhFUklURUQtUEVSTUlTU0lPTlMnIHwgdHJhbnNsYXRlIH19XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIHt7IChtb2RlbC5ub2RlLnBlcm1pc3Npb25zLmlzSW5oZXJpdGFuY2VFbmFibGVkID8gXCJQRVJNSVNTSU9OX01BTkFHRVIuTEFCRUxTLk9OXCIgOiBcIlBFUk1JU1NJT05fTUFOQUdFUi5MQUJFTFMuT0ZGXCIpIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgICAgIDwvaDM+XG5cbiAgICAgICAgICAgICAgICAgICAgPG1hdC1zbGlkZS10b2dnbGVcbiAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwidXBkYXRlUGVybWlzc2lvbnNBbGxvd2VkXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYWRmLWluaGVyaXQtdG9nZ2xlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRpdGxlPVwie3snUEVSTUlTU0lPTl9NQU5BR0VSLkxBQkVMUy5JTkhFUklURURfUEVSTUlTU0lPTl9UT0dHTEUnIHwgdHJhbnNsYXRlIH19XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yPVwicHJpbWFyeVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBhcmlhLWxhYmVsPVwie3snUEVSTUlTU0lPTl9NQU5BR0VSLkxBQkVMUy5JTkhFUklURURfUEVSTUlTU0lPTl9UT0dHTEUnIHwgdHJhbnNsYXRlfX1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1hdXRvbWF0aW9uLWlkPVwiYWRmLWluaGVyaXQtdG9nZ2xlLWJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbY2hlY2tlZF09XCJtb2RlbC5ub2RlLnBlcm1pc3Npb25zLmlzSW5oZXJpdGFuY2VFbmFibGVkXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIChjaGFuZ2UpPVwicGVybWlzc2lvbkxpc3QudG9nZ2xlSW5oZXJpdGVkKCRldmVudClcIiAvPlxuICAgICAgICAgICAgICAgIDwvc3Bhbj5cblxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYWRmLWluaGVyaXQtc3VidGl0bGVcIiB0aXRsZT1cInRvdGFsXCI+XG4gICAgICAgICAgICAgICAgICAgIHt7J1BFUk1JU1NJT05fTUFOQUdFUi5MQUJFTFMuSU5IRVJJVEVELVNVQlRJVExFJyB8IHRyYW5zbGF0ZTogeyBjb3VudDogbW9kZWwuaW5oZXJpdGVkUGVybWlzc2lvbnMubGVuZ3RoIH0gfX1cbiAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgIG1hdC1mbGF0LWJ1dHRvblxuICAgICAgICAgICAgICAgIGRhdGEtYXV0b21hdGlvbi1pZD1cInBlcm1pc3Npb24taW5mby1idXR0b25cIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwiYWRmLXBlcm1pc3Npb24tdmlzaWJpbGl0eS10b2dnbGVcIlxuICAgICAgICAgICAgICAgIFthZGYtcG9wLW92ZXJdPVwiaW5oZXJpdGVkUGVybWlzc2lvblwiXG4gICAgICAgICAgICAgICAgW3RhcmdldF09XCJ0YXJnZXRcIlxuICAgICAgICAgICAgICAgICNwb3BPdmVyPVwiYWRmUG9wT3ZlclwiXG4gICAgICAgICAgICAgICAgKm5nSWY9XCJtb2RlbC5ub2RlLnBlcm1pc3Npb25zLmlzSW5oZXJpdGFuY2VFbmFibGVkXCI+XG4gICAgICAgICAgICAgICAge3sgKHBvcE92ZXIub3BlbiA/ICdQRVJNSVNTSU9OX01BTkFHRVIuTEFCRUxTLkhJREUnIDogJ1BFUk1JU1NJT05fTUFOQUdFUi5MQUJFTFMuU0hPVycpIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgPG1hdC1pY29uIGNsYXNzPVwiYWRmLXBlcm1pc3Npb24tdmlzaWJpbGl0eS10b2dnbGUtaWNvblwiIGljb25Qb3NpdGlvbkVuZD5cbiAgICAgICAgICAgICAgICAgICAge3sgcG9wT3Zlci5vcGVuID8gJ2tleWJvYXJkX2Fycm93X3VwJyA6ICdrZXlib2FyZF9hcnJvd19kb3duJyB9fSA8L21hdC1pY29uPlxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIDxuZy10ZW1wbGF0ZSAjaW5oZXJpdGVkUGVybWlzc2lvbj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJhZGYtcG9wLW92ZXItY2FyZFwiPlxuICAgICAgICAgICAgICAgIDxhZGYtcGVybWlzc2lvbi1jb250YWluZXJcbiAgICAgICAgICAgICAgICAgICAgZGF0YS1hdXRvbWF0aW9uLWlkPVwiYWRmLWluaGVyaXRlZC1wZXJtaXNzaW9uXCJcbiAgICAgICAgICAgICAgICAgICAgW2lzUmVhZE9ubHldPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgICAgIFtub2RlXT1cIm1vZGVsLm5vZGVcIlxuICAgICAgICAgICAgICAgICAgICBbcGVybWlzc2lvbnNdPVwibW9kZWwuaW5oZXJpdGVkUGVybWlzc2lvbnNcIlxuICAgICAgICAgICAgICAgICAgICBbc2hvd0xvY2F0aW9uXT1cInRydWVcIlxuICAgICAgICAgICAgICAgICAgICBbc2VsZWN0aW9uTW9kZV09XCInbm9uZSdcIlxuICAgICAgICAgICAgICAgICAgICBbcm9sZXNdPVwibW9kZWwucm9sZXNcIiAvPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvbmctdGVtcGxhdGU+XG5cbiAgICAgICAgPG1hdC1jYXJkLWNvbnRlbnQgY2xhc3M9XCJhZGYtbG9jYWwtcGVybWlzc2lvbi1jb250YWluZXJcIj5cbiAgICAgICAgICAgIDxzZWN0aW9uIGNsYXNzPVwiYWRmLXBlcm1pc3Npb24tY29udGVudC1oZWFkZXJcIj5cbiAgICAgICAgICAgICAgICA8aDM+e3snUEVSTUlTU0lPTl9NQU5BR0VSLkxBQkVMUy5ESVJFQ1QtUEVSTUlTU0lPTlMnIHwgdHJhbnNsYXRlIH19PC9oMz5cblxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJhZGYtdG9vbGJhci0tc3BhY2VyXCI+PC9kaXY+XG5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwidXBkYXRlUGVybWlzc2lvbnNBbGxvd2VkXCI+XG4gICAgICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgdGl0bGU9XCJ7eydQRVJNSVNTSU9OX01BTkFHRVIuQUNUSU9OLkFERC1QRVJNSVNTSU9OJyB8IHRyYW5zbGF0ZX19XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJvcGVuQWRkUGVybWlzc2lvbkRpYWxvZygpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYWRmLWFkZC1wZXJtaXNzaW9uLWJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWF1dG9tYXRpb24taWQ9XCJhZGYtYWRkLXBlcm1pc3Npb24tYnV0dG9uXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24+cGVyc29uX2FkZF9vdXRsaW5lPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XG5cbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgbWF0LWljb24tYnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICB0aXRsZT1cInt7J1BFUk1JU1NJT05fTUFOQUdFUi5BQ1RJT04uREVMRVRFJyB8IHRyYW5zbGF0ZX19XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCIhc2VsZWN0ZWRQZXJtaXNzaW9ucz8ubGVuZ3RoXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJkZWxldGVTZWxlY3Rpb24oKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWF1dG9tYXRpb24taWQ9XCJhZGYtZGVsZXRlLXNlbGVjdGVkLXBlcm1pc3Npb25cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbj5kZWxldGVfb3V0bGluZTwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPC9zZWN0aW9uPlxuXG4gICAgICAgICAgICA8YWRmLXBlcm1pc3Npb24tY29udGFpbmVyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJhZGYtcGVybWlzc2lvbi1saXN0XCJcbiAgICAgICAgICAgICAgICBkYXRhLWF1dG9tYXRpb24taWQ9XCJhZGYtbG9jYWxseS1zZXQtcGVybWlzc2lvblwiXG4gICAgICAgICAgICAgICAgW25vZGVdPVwibW9kZWwubm9kZVwiXG4gICAgICAgICAgICAgICAgW3Blcm1pc3Npb25zXT1cIm1vZGVsLmxvY2FsUGVybWlzc2lvbnNcIlxuICAgICAgICAgICAgICAgICh1cGRhdGUpPVwidXBkYXRlUGVybWlzc2lvbigkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAoZGVsZXRlKT1cImRlbGV0ZVBlcm1pc3Npb24oJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgKHVwZGF0ZUFsbCk9XCJ1cGRhdGVBbGxQZXJtaXNzaW9uKCRldmVudClcIlxuICAgICAgICAgICAgICAgIChyb3ctc2VsZWN0KT1cIm9uU2VsZWN0KCRhbnkoJGV2ZW50KS5kZXRhaWwuc2VsZWN0aW9uKVwiXG4gICAgICAgICAgICAgICAgKHJvdy11bnNlbGVjdCk9XCJvblNlbGVjdCgkYW55KCRldmVudCkuZGV0YWlsLnNlbGVjdGlvbilcIlxuICAgICAgICAgICAgICAgIFtyb2xlc109XCJtb2RlbC5yb2xlc1wiXG4gICAgICAgICAgICAgICAgW2lzUmVhZE9ubHldPVwiIXVwZGF0ZVBlcm1pc3Npb25zQWxsb3dlZFwiLz5cblxuICAgICAgICA8L21hdC1jYXJkLWNvbnRlbnQ+XG4gICAgPC9uZy1jb250YWluZXI+XG48L21hdC1jYXJkPlxuIl19