@hmcts/ccd-case-ui-toolkit 5.0.32-angular11-upgrade → 5.0.34-case-file-view-merge-into-angular-11

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 (214) hide show
  1. package/bundles/hmcts-ccd-case-ui-toolkit.umd.js +5773 -1797
  2. package/bundles/hmcts-ccd-case-ui-toolkit.umd.js.map +1 -1
  3. package/bundles/hmcts-ccd-case-ui-toolkit.umd.min.js +1 -1
  4. package/bundles/hmcts-ccd-case-ui-toolkit.umd.min.js.map +1 -1
  5. package/esm2015/lib/app.config.js +1 -1
  6. package/esm2015/lib/shared/components/case-editor/case-edit-page/case-edit-page.component.js +15 -11
  7. package/esm2015/lib/shared/components/case-editor/services/cases.service.js +28 -1
  8. package/esm2015/lib/shared/components/case-editor/services/page-validation.service.js +10 -2
  9. package/esm2015/lib/shared/components/case-viewer/case-event-trigger/case-event-trigger.component.js +9 -2
  10. package/esm2015/lib/shared/components/case-viewer/case-full-access-view/case-full-access-view.component.js +37 -26
  11. package/esm2015/lib/shared/components/loading-spinner/loading-spinner.component.js +1 -1
  12. package/esm2015/lib/shared/components/palette/base-field/abstract-form-field.component.js +4 -2
  13. package/esm2015/lib/shared/components/palette/base-field/field-write.component.js +8 -14
  14. package/esm2015/lib/shared/components/palette/case-file-view/case-file-view-field-read.component.js +72 -0
  15. package/esm2015/lib/shared/components/palette/case-file-view/case-file-view-field.component.js +134 -0
  16. package/esm2015/lib/shared/components/palette/case-file-view/components/case-file-view-folder/case-file-view-folder-document-actions/case-file-view-folder-document-actions.component.js +52 -0
  17. package/esm2015/lib/shared/components/palette/case-file-view/components/case-file-view-folder/case-file-view-folder-sort/case-file-view-folder-sort.component.js +38 -0
  18. package/esm2015/lib/shared/components/palette/case-file-view/components/case-file-view-folder/case-file-view-folder.component.js +353 -0
  19. package/esm2015/lib/shared/components/palette/case-file-view/components/case-file-view-folder-selector/case-file-view-folder-selector.component.js +159 -0
  20. package/esm2015/lib/shared/components/palette/case-file-view/components/index.js +6 -0
  21. package/esm2015/lib/shared/components/palette/case-file-view/components/shared/case-file-view-overlay-menu/case-file-view-overlay-menu-item.model.js +2 -0
  22. package/esm2015/lib/shared/components/palette/case-file-view/components/shared/case-file-view-overlay-menu/case-file-view-overlay-menu.component.js +100 -0
  23. package/esm2015/lib/shared/components/palette/case-file-view/components/shared/index.js +2 -0
  24. package/esm2015/lib/shared/components/palette/case-file-view/index.js +4 -0
  25. package/esm2015/lib/shared/components/palette/case-flag/components/manage-case-flags/manage-case-flags.component.js +71 -41
  26. package/esm2015/lib/shared/components/palette/case-flag/domain/case-flag.model.js +1 -1
  27. package/esm2015/lib/shared/components/palette/case-flag/read-case-flag-field.component.js +2 -3
  28. package/esm2015/lib/shared/components/palette/case-flag/write-case-flag-field.component.js +13 -9
  29. package/esm2015/lib/shared/components/palette/case-link/components/before-you-start/before-you-start.component.js +125 -0
  30. package/esm2015/lib/shared/components/palette/case-link/components/check-your-answers/check-your-answers.component.js +198 -0
  31. package/esm2015/lib/shared/components/palette/case-link/components/index.js +10 -0
  32. package/esm2015/lib/shared/components/palette/case-link/components/link-cases/link-cases.component.js +497 -0
  33. package/esm2015/lib/shared/components/palette/case-link/components/linked-cases-table/linked-cases-from-table.component.js +221 -0
  34. package/esm2015/lib/shared/components/palette/case-link/components/linked-cases-table/linked-cases-to-table.component.js +286 -0
  35. package/esm2015/lib/shared/components/palette/case-link/components/no-linked-cases/no-linked-cases.component.js +76 -0
  36. package/esm2015/lib/shared/components/palette/case-link/components/read-linked-cases.component.js +178 -0
  37. package/esm2015/lib/shared/components/palette/case-link/components/unlink-cases/unlink-cases.component.js +216 -0
  38. package/esm2015/lib/shared/components/palette/case-link/components/write-linked-cases.component.js +260 -0
  39. package/esm2015/lib/shared/components/palette/case-link/domain/index.js +3 -0
  40. package/esm2015/lib/shared/components/palette/case-link/domain/linked-cases-state.model.js +2 -0
  41. package/esm2015/lib/shared/components/palette/case-link/domain/linked-cases.model.js +19 -0
  42. package/esm2015/lib/shared/components/palette/case-link/enums/index.js +2 -0
  43. package/esm2015/lib/shared/components/palette/case-link/enums/write-linked-cases-field.enum.js +33 -0
  44. package/esm2015/lib/shared/components/palette/case-link/index.js +4 -1
  45. package/esm2015/lib/shared/components/palette/case-link/read-case-link-field.component.js +28 -8
  46. package/esm2015/lib/shared/components/palette/case-link/services/index.js +2 -0
  47. package/esm2015/lib/shared/components/palette/case-link/services/jurisdiction.service.js +22 -0
  48. package/esm2015/lib/shared/components/palette/case-link/services/linked-cases.service.js +136 -0
  49. package/esm2015/lib/shared/components/palette/case-link/utils/validators.utils.js +27 -0
  50. package/esm2015/lib/shared/components/palette/case-link/write-case-link-field.component.js +79 -65
  51. package/esm2015/lib/shared/components/palette/index.js +7 -2
  52. package/esm2015/lib/shared/components/palette/palette.module.js +135 -27
  53. package/esm2015/lib/shared/components/palette/palette.service.js +28 -4
  54. package/esm2015/lib/shared/components/palette/utils/is-compound.pipe.js +2 -2
  55. package/esm2015/lib/shared/components/search-result/search-result.component.js +53 -46
  56. package/esm2015/lib/shared/domain/case-file-view/case-file-view-category.model.js +3 -0
  57. package/esm2015/lib/shared/domain/case-file-view/case-file-view-document.model.js +3 -0
  58. package/esm2015/lib/shared/domain/case-file-view/categories-and-documents.model.js +7 -0
  59. package/esm2015/lib/shared/domain/case-file-view/document-tree-node/document-tree-node-type.model.js +6 -0
  60. package/esm2015/lib/shared/domain/case-file-view/document-tree-node/document-tree-node.model.js +93 -0
  61. package/esm2015/lib/shared/domain/case-file-view/index.js +6 -0
  62. package/esm2015/lib/shared/domain/definition/field-type-enum.model.js +1 -1
  63. package/esm2015/lib/shared/pipes/complex/ccd-read-fields-filter.pipe.js +6 -2
  64. package/esm2015/lib/shared/pipes/index.js +2 -1
  65. package/esm2015/lib/shared/pipes/link-cases-reason-code/ccd-link-cases-reason-code.pipe.js +23 -0
  66. package/esm2015/lib/shared/pipes/link-cases-reason-code/index.js +2 -0
  67. package/esm2015/lib/shared/pipes/pipes.module.js +9 -5
  68. package/esm2015/lib/shared/services/case-file-view/case-file-view.service.js +46 -0
  69. package/esm2015/lib/shared/services/case-file-view/index.js +2 -0
  70. package/esm2015/lib/shared/services/common-data-service/common-data-service.js +22 -0
  71. package/esm2015/lib/shared/services/fields/fields.purger.js +128 -112
  72. package/esm2015/lib/shared/services/fields/fields.utils.js +11 -2
  73. package/esm2015/lib/shared/services/form/form-value.service.js +9 -7
  74. package/esm2015/lib/shared/services/index.js +2 -1
  75. package/esm2015/lib/shared/services/jurisdiction/jurisdiction.service.js +1 -1
  76. package/esm2015/lib/shared/services/search/search.service.js +8 -1
  77. package/esm2015/public-api.js +3 -1
  78. package/fesm2015/hmcts-ccd-case-ui-toolkit.js +5185 -1665
  79. package/fesm2015/hmcts-ccd-case-ui-toolkit.js.map +1 -1
  80. package/lib/app.config.d.ts +9 -1
  81. package/lib/app.config.d.ts.map +1 -1
  82. package/lib/shared/components/case-editor/case-edit-page/case-edit-page.component.d.ts +2 -0
  83. package/lib/shared/components/case-editor/case-edit-page/case-edit-page.component.d.ts.map +1 -1
  84. package/lib/shared/components/case-editor/services/cases.service.d.ts +7 -0
  85. package/lib/shared/components/case-editor/services/cases.service.d.ts.map +1 -1
  86. package/lib/shared/components/case-editor/services/page-validation.service.d.ts +1 -0
  87. package/lib/shared/components/case-editor/services/page-validation.service.d.ts.map +1 -1
  88. package/lib/shared/components/case-viewer/case-event-trigger/case-event-trigger.component.d.ts.map +1 -1
  89. package/lib/shared/components/case-viewer/case-full-access-view/case-full-access-view.component.d.ts +4 -3
  90. package/lib/shared/components/case-viewer/case-full-access-view/case-full-access-view.component.d.ts.map +1 -1
  91. package/lib/shared/components/palette/base-field/abstract-form-field.component.d.ts.map +1 -1
  92. package/lib/shared/components/palette/base-field/field-write.component.d.ts +2 -2
  93. package/lib/shared/components/palette/base-field/field-write.component.d.ts.map +1 -1
  94. package/lib/shared/components/palette/case-file-view/case-file-view-field-read.component.d.ts +8 -0
  95. package/lib/shared/components/palette/case-file-view/case-file-view-field-read.component.d.ts.map +1 -0
  96. package/lib/shared/components/palette/case-file-view/case-file-view-field.component.d.ts +33 -0
  97. package/lib/shared/components/palette/case-file-view/case-file-view-field.component.d.ts.map +1 -0
  98. package/lib/shared/components/palette/case-file-view/components/case-file-view-folder/case-file-view-folder-document-actions/case-file-view-folder-document-actions.component.d.ts +17 -0
  99. package/lib/shared/components/palette/case-file-view/components/case-file-view-folder/case-file-view-folder-document-actions/case-file-view-folder-document-actions.component.d.ts.map +1 -0
  100. package/lib/shared/components/palette/case-file-view/components/case-file-view-folder/case-file-view-folder-sort/case-file-view-folder-sort.component.d.ts +13 -0
  101. package/lib/shared/components/palette/case-file-view/components/case-file-view-folder/case-file-view-folder-sort/case-file-view-folder-sort.component.d.ts.map +1 -0
  102. package/lib/shared/components/palette/case-file-view/components/case-file-view-folder/case-file-view-folder.component.d.ts +53 -0
  103. package/lib/shared/components/palette/case-file-view/components/case-file-view-folder/case-file-view-folder.component.d.ts.map +1 -0
  104. package/lib/shared/components/palette/case-file-view/components/case-file-view-folder-selector/case-file-view-folder-selector.component.d.ts +28 -0
  105. package/lib/shared/components/palette/case-file-view/components/case-file-view-folder-selector/case-file-view-folder-selector.component.d.ts.map +1 -0
  106. package/lib/shared/components/palette/case-file-view/components/index.d.ts +6 -0
  107. package/lib/shared/components/palette/case-file-view/components/index.d.ts.map +1 -0
  108. package/lib/shared/components/palette/case-file-view/components/shared/case-file-view-overlay-menu/case-file-view-overlay-menu-item.model.d.ts +6 -0
  109. package/lib/shared/components/palette/case-file-view/components/shared/case-file-view-overlay-menu/case-file-view-overlay-menu-item.model.d.ts.map +1 -0
  110. package/lib/shared/components/palette/case-file-view/components/shared/case-file-view-overlay-menu/case-file-view-overlay-menu.component.d.ts +13 -0
  111. package/lib/shared/components/palette/case-file-view/components/shared/case-file-view-overlay-menu/case-file-view-overlay-menu.component.d.ts.map +1 -0
  112. package/lib/shared/components/palette/case-file-view/components/shared/index.d.ts +2 -0
  113. package/lib/shared/components/palette/case-file-view/components/shared/index.d.ts.map +1 -0
  114. package/lib/shared/components/palette/case-file-view/index.d.ts +4 -0
  115. package/lib/shared/components/palette/case-file-view/index.d.ts.map +1 -0
  116. package/lib/shared/components/palette/case-flag/components/manage-case-flags/manage-case-flags.component.d.ts +11 -5
  117. package/lib/shared/components/palette/case-flag/components/manage-case-flags/manage-case-flags.component.d.ts.map +1 -1
  118. package/lib/shared/components/palette/case-flag/domain/case-flag.model.d.ts +2 -0
  119. package/lib/shared/components/palette/case-flag/domain/case-flag.model.d.ts.map +1 -1
  120. package/lib/shared/components/palette/case-flag/read-case-flag-field.component.d.ts +0 -1
  121. package/lib/shared/components/palette/case-flag/read-case-flag-field.component.d.ts.map +1 -1
  122. package/lib/shared/components/palette/case-flag/write-case-flag-field.component.d.ts.map +1 -1
  123. package/lib/shared/components/palette/case-link/components/before-you-start/before-you-start.component.d.ts +19 -0
  124. package/lib/shared/components/palette/case-link/components/before-you-start/before-you-start.component.d.ts.map +1 -0
  125. package/lib/shared/components/palette/case-link/components/check-your-answers/check-your-answers.component.d.ts +18 -0
  126. package/lib/shared/components/palette/case-link/components/check-your-answers/check-your-answers.component.d.ts.map +1 -0
  127. package/lib/shared/components/palette/case-link/components/index.d.ts +10 -0
  128. package/lib/shared/components/palette/case-link/components/index.d.ts.map +1 -0
  129. package/lib/shared/components/palette/case-link/components/link-cases/link-cases.component.d.ts +45 -0
  130. package/lib/shared/components/palette/case-link/components/link-cases/link-cases.component.d.ts.map +1 -0
  131. package/lib/shared/components/palette/case-link/components/linked-cases-table/linked-cases-from-table.component.d.ts +42 -0
  132. package/lib/shared/components/palette/case-link/components/linked-cases-table/linked-cases-from-table.component.d.ts.map +1 -0
  133. package/lib/shared/components/palette/case-link/components/linked-cases-table/linked-cases-to-table.component.d.ts +45 -0
  134. package/lib/shared/components/palette/case-link/components/linked-cases-table/linked-cases-to-table.component.d.ts.map +1 -0
  135. package/lib/shared/components/palette/case-link/components/no-linked-cases/no-linked-cases.component.d.ts +12 -0
  136. package/lib/shared/components/palette/case-link/components/no-linked-cases/no-linked-cases.component.d.ts.map +1 -0
  137. package/lib/shared/components/palette/case-link/components/read-linked-cases.component.d.ts +37 -0
  138. package/lib/shared/components/palette/case-link/components/read-linked-cases.component.d.ts.map +1 -0
  139. package/lib/shared/components/palette/case-link/components/unlink-cases/unlink-cases.component.d.ts +38 -0
  140. package/lib/shared/components/palette/case-link/components/unlink-cases/unlink-cases.component.d.ts.map +1 -0
  141. package/lib/shared/components/palette/case-link/components/write-linked-cases.component.d.ts +45 -0
  142. package/lib/shared/components/palette/case-link/components/write-linked-cases.component.d.ts.map +1 -0
  143. package/lib/shared/components/palette/case-link/domain/index.d.ts +3 -0
  144. package/lib/shared/components/palette/case-link/domain/index.d.ts.map +1 -0
  145. package/lib/shared/components/palette/case-link/domain/linked-cases-state.model.d.ts +12 -0
  146. package/lib/shared/components/palette/case-link/domain/linked-cases-state.model.d.ts.map +1 -0
  147. package/lib/shared/components/palette/case-link/domain/linked-cases.model.d.ts +65 -0
  148. package/lib/shared/components/palette/case-link/domain/linked-cases.model.d.ts.map +1 -0
  149. package/lib/shared/components/palette/case-link/enums/index.d.ts +2 -0
  150. package/lib/shared/components/palette/case-link/enums/index.d.ts.map +1 -0
  151. package/lib/shared/components/palette/case-link/enums/write-linked-cases-field.enum.d.ts +29 -0
  152. package/lib/shared/components/palette/case-link/enums/write-linked-cases-field.enum.d.ts.map +1 -0
  153. package/lib/shared/components/palette/case-link/index.d.ts +3 -0
  154. package/lib/shared/components/palette/case-link/index.d.ts.map +1 -1
  155. package/lib/shared/components/palette/case-link/read-case-link-field.component.d.ts +3 -0
  156. package/lib/shared/components/palette/case-link/read-case-link-field.component.d.ts.map +1 -1
  157. package/lib/shared/components/palette/case-link/services/index.d.ts +2 -0
  158. package/lib/shared/components/palette/case-link/services/index.d.ts.map +1 -0
  159. package/lib/shared/components/palette/case-link/services/jurisdiction.service.d.ts +12 -0
  160. package/lib/shared/components/palette/case-link/services/jurisdiction.service.d.ts.map +1 -0
  161. package/lib/shared/components/palette/case-link/services/linked-cases.service.d.ts +51 -0
  162. package/lib/shared/components/palette/case-link/services/linked-cases.service.d.ts.map +1 -0
  163. package/lib/shared/components/palette/case-link/utils/validators.utils.d.ts +10 -0
  164. package/lib/shared/components/palette/case-link/utils/validators.utils.d.ts.map +1 -0
  165. package/lib/shared/components/palette/case-link/write-case-link-field.component.d.ts +14 -3
  166. package/lib/shared/components/palette/case-link/write-case-link-field.component.d.ts.map +1 -1
  167. package/lib/shared/components/palette/index.d.ts +6 -1
  168. package/lib/shared/components/palette/index.d.ts.map +1 -1
  169. package/lib/shared/components/palette/palette.module.d.ts +66 -45
  170. package/lib/shared/components/palette/palette.module.d.ts.map +1 -1
  171. package/lib/shared/components/palette/palette.service.d.ts +2 -0
  172. package/lib/shared/components/palette/palette.service.d.ts.map +1 -1
  173. package/lib/shared/domain/case-file-view/case-file-view-category.model.d.ts +9 -0
  174. package/lib/shared/domain/case-file-view/case-file-view-category.model.d.ts.map +1 -0
  175. package/lib/shared/domain/case-file-view/case-file-view-document.model.d.ts +8 -0
  176. package/lib/shared/domain/case-file-view/case-file-view-document.model.d.ts.map +1 -0
  177. package/lib/shared/domain/case-file-view/categories-and-documents.model.d.ts +12 -0
  178. package/lib/shared/domain/case-file-view/categories-and-documents.model.d.ts.map +1 -0
  179. package/lib/shared/domain/case-file-view/document-tree-node/document-tree-node-type.model.d.ts +5 -0
  180. package/lib/shared/domain/case-file-view/document-tree-node/document-tree-node-type.model.d.ts.map +1 -0
  181. package/lib/shared/domain/case-file-view/document-tree-node/document-tree-node.model.d.ts +14 -0
  182. package/lib/shared/domain/case-file-view/document-tree-node/document-tree-node.model.d.ts.map +1 -0
  183. package/lib/shared/domain/case-file-view/index.d.ts +6 -0
  184. package/lib/shared/domain/case-file-view/index.d.ts.map +1 -0
  185. package/lib/shared/domain/definition/field-type-enum.model.d.ts +1 -1
  186. package/lib/shared/domain/definition/field-type-enum.model.d.ts.map +1 -1
  187. package/lib/shared/pipes/complex/ccd-read-fields-filter.pipe.d.ts.map +1 -1
  188. package/lib/shared/pipes/index.d.ts +1 -0
  189. package/lib/shared/pipes/index.d.ts.map +1 -1
  190. package/lib/shared/pipes/link-cases-reason-code/ccd-link-cases-reason-code.pipe.d.ts +11 -0
  191. package/lib/shared/pipes/link-cases-reason-code/ccd-link-cases-reason-code.pipe.d.ts.map +1 -0
  192. package/lib/shared/pipes/link-cases-reason-code/index.d.ts +2 -0
  193. package/lib/shared/pipes/link-cases-reason-code/index.d.ts.map +1 -0
  194. package/lib/shared/pipes/pipes.module.d.ts +3 -2
  195. package/lib/shared/pipes/pipes.module.d.ts.map +1 -1
  196. package/lib/shared/services/case-file-view/case-file-view.service.d.ts +21 -0
  197. package/lib/shared/services/case-file-view/case-file-view.service.d.ts.map +1 -0
  198. package/lib/shared/services/case-file-view/index.d.ts +2 -0
  199. package/lib/shared/services/case-file-view/index.d.ts.map +1 -0
  200. package/lib/shared/services/common-data-service/common-data-service.d.ts +29 -0
  201. package/lib/shared/services/common-data-service/common-data-service.d.ts.map +1 -0
  202. package/lib/shared/services/fields/fields.purger.d.ts +19 -12
  203. package/lib/shared/services/fields/fields.purger.d.ts.map +1 -1
  204. package/lib/shared/services/fields/fields.utils.d.ts +1 -0
  205. package/lib/shared/services/fields/fields.utils.d.ts.map +1 -1
  206. package/lib/shared/services/form/form-value.service.d.ts.map +1 -1
  207. package/lib/shared/services/index.d.ts +1 -0
  208. package/lib/shared/services/index.d.ts.map +1 -1
  209. package/lib/shared/services/jurisdiction/jurisdiction.service.d.ts.map +1 -1
  210. package/lib/shared/services/search/search.service.d.ts +4 -0
  211. package/lib/shared/services/search/search.service.d.ts.map +1 -1
  212. package/package.json +1 -1
  213. package/public-api.d.ts +2 -0
  214. package/public-api.d.ts.map +1 -1
@@ -0,0 +1,353 @@
1
+ import { NestedTreeControl } from '@angular/cdk/tree';
2
+ import { Component, EventEmitter, Input, Output } from '@angular/core';
3
+ import { FormControl, FormGroup } from '@angular/forms';
4
+ import { MatDialog } from '@angular/material/dialog';
5
+ import { Router } from '@angular/router';
6
+ import { Observable, of } from 'rxjs';
7
+ import { switchMap, tap } from 'rxjs/operators';
8
+ import { DocumentTreeNode, DocumentTreeNodeType } from '../../../../../domain/case-file-view';
9
+ import { DocumentManagementService, WindowService } from '../../../../../services';
10
+ import { CaseFileViewFolderSelectorComponent } from '../case-file-view-folder-selector/case-file-view-folder-selector.component';
11
+ import * as i0 from "@angular/core";
12
+ import * as i1 from "../../../../../services";
13
+ import * as i2 from "@angular/router";
14
+ import * as i3 from "@angular/material/dialog";
15
+ import * as i4 from "@angular/forms";
16
+ import * as i5 from "./case-file-view-folder-sort/case-file-view-folder-sort.component";
17
+ import * as i6 from "@angular/common";
18
+ import * as i7 from "@angular/cdk/tree";
19
+ import * as i8 from "./case-file-view-folder-document-actions/case-file-view-folder-document-actions.component";
20
+ function CaseFileViewFolderComponent_div_8_div_1_Template(rf, ctx) { if (rf & 1) {
21
+ i0.ɵɵelementStart(0, "div");
22
+ i0.ɵɵtext(1, " No results found ");
23
+ i0.ɵɵelementEnd();
24
+ } }
25
+ function CaseFileViewFolderComponent_div_8_cdk_nested_tree_node_4_Template(rf, ctx) { if (rf & 1) {
26
+ const _r6 = i0.ɵɵgetCurrentView();
27
+ i0.ɵɵelementStart(0, "cdk-nested-tree-node", 12);
28
+ i0.ɵɵelementStart(1, "button", 13);
29
+ i0.ɵɵlistener("click", function CaseFileViewFolderComponent_div_8_cdk_nested_tree_node_4_Template_button_click_1_listener() { i0.ɵɵrestoreView(_r6); const node_r4 = ctx.$implicit; const ctx_r5 = i0.ɵɵnextContext(2); ctx_r5.selectedNodeItem = node_r4; return ctx_r5.clickedDocument.emit(node_r4); });
30
+ i0.ɵɵelementStart(2, "div", 14);
31
+ i0.ɵɵelement(3, "img", 15);
32
+ i0.ɵɵelementEnd();
33
+ i0.ɵɵelementStart(4, "span", 16);
34
+ i0.ɵɵtext(5);
35
+ i0.ɵɵelementEnd();
36
+ i0.ɵɵelementStart(6, "div", 17);
37
+ i0.ɵɵelementStart(7, "ccd-case-file-view-folder-document-actions", 18);
38
+ i0.ɵɵlistener("changeFolderAction", function CaseFileViewFolderComponent_div_8_cdk_nested_tree_node_4_Template_ccd_case_file_view_folder_document_actions_changeFolderAction_7_listener() { i0.ɵɵrestoreView(_r6); const node_r4 = ctx.$implicit; const ctx_r7 = i0.ɵɵnextContext(2); return ctx_r7.triggerDocumentAction("changeFolder", node_r4); })("openInANewTabAction", function CaseFileViewFolderComponent_div_8_cdk_nested_tree_node_4_Template_ccd_case_file_view_folder_document_actions_openInANewTabAction_7_listener() { i0.ɵɵrestoreView(_r6); const node_r4 = ctx.$implicit; const ctx_r8 = i0.ɵɵnextContext(2); return ctx_r8.triggerDocumentAction("openInANewTab", node_r4); })("downloadAction", function CaseFileViewFolderComponent_div_8_cdk_nested_tree_node_4_Template_ccd_case_file_view_folder_document_actions_downloadAction_7_listener() { i0.ɵɵrestoreView(_r6); const node_r4 = ctx.$implicit; const ctx_r9 = i0.ɵɵnextContext(2); return ctx_r9.triggerDocumentAction("download", node_r4); })("printAction", function CaseFileViewFolderComponent_div_8_cdk_nested_tree_node_4_Template_ccd_case_file_view_folder_document_actions_printAction_7_listener() { i0.ɵɵrestoreView(_r6); const node_r4 = ctx.$implicit; const ctx_r10 = i0.ɵɵnextContext(2); return ctx_r10.triggerDocumentAction("print", node_r4); });
39
+ i0.ɵɵelementEnd();
40
+ i0.ɵɵelementEnd();
41
+ i0.ɵɵelementEnd();
42
+ i0.ɵɵelementEnd();
43
+ } if (rf & 2) {
44
+ const node_r4 = ctx.$implicit;
45
+ const ctx_r2 = i0.ɵɵnextContext(2);
46
+ i0.ɵɵadvance(1);
47
+ i0.ɵɵclassProp("node--selected", (ctx_r2.selectedNodeItem == null ? null : ctx_r2.selectedNodeItem.name) === node_r4.name);
48
+ i0.ɵɵadvance(4);
49
+ i0.ɵɵtextInterpolate(node_r4.name);
50
+ i0.ɵɵadvance(2);
51
+ i0.ɵɵproperty("allowMoving", ctx_r2.allowMoving);
52
+ } }
53
+ function CaseFileViewFolderComponent_div_8_cdk_nested_tree_node_5_Template(rf, ctx) { if (rf & 1) {
54
+ i0.ɵɵelementStart(0, "cdk-nested-tree-node", 19);
55
+ i0.ɵɵelementStart(1, "button", 20);
56
+ i0.ɵɵelementStart(2, "div", 21);
57
+ i0.ɵɵelement(3, "img", 22);
58
+ i0.ɵɵelementStart(4, "span", 23);
59
+ i0.ɵɵtext(5);
60
+ i0.ɵɵelementEnd();
61
+ i0.ɵɵelementEnd();
62
+ i0.ɵɵelementStart(6, "span", 24);
63
+ i0.ɵɵtext(7);
64
+ i0.ɵɵelementEnd();
65
+ i0.ɵɵelementEnd();
66
+ i0.ɵɵelementStart(8, "div");
67
+ i0.ɵɵelementContainer(9, 25);
68
+ i0.ɵɵelementEnd();
69
+ i0.ɵɵelementEnd();
70
+ } if (rf & 2) {
71
+ const node_r11 = ctx.$implicit;
72
+ const ctx_r3 = i0.ɵɵnextContext(2);
73
+ i0.ɵɵadvance(2);
74
+ i0.ɵɵattribute("aria-label", "toggle " + node_r11.name);
75
+ i0.ɵɵadvance(1);
76
+ i0.ɵɵproperty("src", ctx_r3.nestedTreeControl.isExpanded(node_r11) ? "/assets/images/folder-open.png" : "/assets/images/folder.png", i0.ɵɵsanitizeUrl);
77
+ i0.ɵɵadvance(2);
78
+ i0.ɵɵtextInterpolate(node_r11.childDocumentCount);
79
+ i0.ɵɵadvance(2);
80
+ i0.ɵɵtextInterpolate(node_r11.name);
81
+ i0.ɵɵadvance(1);
82
+ i0.ɵɵclassProp("document-tree-invisible", !ctx_r3.nestedTreeControl.isExpanded(node_r11));
83
+ } }
84
+ function CaseFileViewFolderComponent_div_8_Template(rf, ctx) { if (rf & 1) {
85
+ i0.ɵɵelementStart(0, "div", 7);
86
+ i0.ɵɵtemplate(1, CaseFileViewFolderComponent_div_8_div_1_Template, 2, 0, "div", 8);
87
+ i0.ɵɵelementStart(2, "div");
88
+ i0.ɵɵelementStart(3, "cdk-tree", 9);
89
+ i0.ɵɵtemplate(4, CaseFileViewFolderComponent_div_8_cdk_nested_tree_node_4_Template, 8, 4, "cdk-nested-tree-node", 10);
90
+ i0.ɵɵtemplate(5, CaseFileViewFolderComponent_div_8_cdk_nested_tree_node_5_Template, 10, 6, "cdk-nested-tree-node", 11);
91
+ i0.ɵɵelementEnd();
92
+ i0.ɵɵelementEnd();
93
+ i0.ɵɵelementEnd();
94
+ } if (rf & 2) {
95
+ const ctx_r0 = i0.ɵɵnextContext();
96
+ i0.ɵɵadvance(1);
97
+ i0.ɵɵproperty("ngIf", !ctx_r0.nestedDataSource || ctx_r0.nestedDataSource.length === 0);
98
+ i0.ɵɵadvance(2);
99
+ i0.ɵɵproperty("dataSource", ctx_r0.nestedDataSource)("treeControl", ctx_r0.nestedTreeControl);
100
+ i0.ɵɵadvance(2);
101
+ i0.ɵɵproperty("cdkTreeNodeDefWhen", ctx_r0.nestedChildren);
102
+ } }
103
+ export const MEDIA_VIEWER_LOCALSTORAGE_KEY = 'media-viewer-info';
104
+ export class CaseFileViewFolderComponent {
105
+ constructor(windowService, router, documentManagementService, dialog) {
106
+ this.windowService = windowService;
107
+ this.router = router;
108
+ this.documentManagementService = documentManagementService;
109
+ this.dialog = dialog;
110
+ this.clickedDocument = new EventEmitter();
111
+ this.moveDocument = new EventEmitter();
112
+ this.categories = [];
113
+ this.getChildren = (node) => of(node.children);
114
+ this.nestedChildren = (_, nodeData) => nodeData.children;
115
+ this.nestedTreeControl = new NestedTreeControl(this.getChildren);
116
+ }
117
+ get documentCount() {
118
+ var _a;
119
+ if ((_a = this.nestedDataSource) === null || _a === void 0 ? void 0 : _a.length) {
120
+ return this.nestedDataSource.reduce((acc, item) => {
121
+ return acc + item.childDocumentCount;
122
+ }, 0);
123
+ }
124
+ else {
125
+ return 0;
126
+ }
127
+ }
128
+ ngOnInit() {
129
+ this.documentFilterFormGroup = new FormGroup({});
130
+ this.documentSearchFormControl = new FormControl('');
131
+ this.documentFilterFormGroup.addControl(CaseFileViewFolderComponent.DOCUMENT_SEARCH_FORM_CONTROL_NAME, this.documentSearchFormControl);
132
+ // Listen to search input and initiate filter documents if at least three characters entered
133
+ this.documentFilterSubscription = this.documentSearchFormControl.valueChanges.pipe(tap((searchTerm) => this.searchTermLength = searchTerm.length), switchMap((searchTerm) => this.filter(searchTerm.toLowerCase()).pipe())).subscribe(documentTreeData => {
134
+ this.nestedDataSource = documentTreeData;
135
+ this.nestedTreeControl.dataNodes = documentTreeData;
136
+ this.searchTermLength >= CaseFileViewFolderComponent.MINIMUM_SEARCH_CHARACTERS
137
+ ? this.nestedTreeControl.expandAll()
138
+ : this.nestedTreeControl.collapseAll();
139
+ });
140
+ // Subscribe to the input categories and documents, and generate tree data and initialise cdk tree
141
+ this.categoriesAndDocumentsSubscription = this.categoriesAndDocuments.subscribe(categoriesAndDocuments => {
142
+ const categories = categoriesAndDocuments.categories;
143
+ this.categories = categories;
144
+ // Generate document tree data from categories
145
+ this.documentTreeData = this.generateTreeData(categories);
146
+ // Append uncategorised documents
147
+ if (categoriesAndDocuments.uncategorised_documents && categoriesAndDocuments.uncategorised_documents.length > 0) {
148
+ const uncategorisedDocuments = this.getUncategorisedDocuments(categoriesAndDocuments.uncategorised_documents);
149
+ this.documentTreeData.push(uncategorisedDocuments);
150
+ }
151
+ // Initialise cdk tree with generated data
152
+ this.nestedDataSource = this.documentTreeData;
153
+ this.nestedTreeControl.dataNodes = this.documentTreeData;
154
+ });
155
+ }
156
+ generateTreeData(categories) {
157
+ return categories.reduce((tree, node) => {
158
+ const newDocumentTreeNode = new DocumentTreeNode();
159
+ newDocumentTreeNode.name = node.category_name;
160
+ newDocumentTreeNode.type = DocumentTreeNodeType.FOLDER;
161
+ newDocumentTreeNode.children = [...this.generateTreeData(node.sub_categories), ...this.getDocuments(node.documents)];
162
+ return [
163
+ ...tree,
164
+ newDocumentTreeNode,
165
+ ];
166
+ }, []);
167
+ }
168
+ getDocuments(documents) {
169
+ const documentsToReturn = [];
170
+ documents.forEach(document => {
171
+ const documentTreeNode = new DocumentTreeNode();
172
+ documentTreeNode.name = document.document_filename;
173
+ documentTreeNode.type = DocumentTreeNodeType.DOCUMENT;
174
+ documentTreeNode.document_filename = document.document_filename;
175
+ documentTreeNode.document_binary_url = document.document_binary_url;
176
+ documentTreeNode.attribute_path = document.attribute_path;
177
+ documentsToReturn.push(documentTreeNode);
178
+ });
179
+ return documentsToReturn;
180
+ }
181
+ getUncategorisedDocuments(uncategorisedDocuments) {
182
+ const documents = [];
183
+ uncategorisedDocuments.forEach(document => {
184
+ const documentTreeNode = new DocumentTreeNode();
185
+ documentTreeNode.name = document.document_filename;
186
+ documentTreeNode.type = DocumentTreeNodeType.DOCUMENT;
187
+ documentTreeNode.document_filename = document.document_filename;
188
+ documentTreeNode.document_binary_url = document.document_binary_url;
189
+ documentTreeNode.attribute_path = document.attribute_path;
190
+ documents.push(documentTreeNode);
191
+ });
192
+ const uncategorisedNode = new DocumentTreeNode();
193
+ uncategorisedNode.name = CaseFileViewFolderComponent.UNCATEGORISED_DOCUMENTS_TITLE;
194
+ uncategorisedNode.type = DocumentTreeNodeType.FOLDER;
195
+ uncategorisedNode.children = documents;
196
+ return uncategorisedNode;
197
+ }
198
+ filter(searchTerm) {
199
+ // Make a copy of the data so we do not mutate the original
200
+ function copy(node) {
201
+ const documentTreeNode = new DocumentTreeNode();
202
+ return Object.assign(documentTreeNode, node);
203
+ }
204
+ let filteredData = this.documentTreeData;
205
+ if (searchTerm && searchTerm.length >= CaseFileViewFolderComponent.MINIMUM_SEARCH_CHARACTERS && this.documentFilterFormGroup.controls[CaseFileViewFolderComponent.DOCUMENT_SEARCH_FORM_CONTROL_NAME].value.length > 2) {
206
+ filteredData = this.documentTreeData.map(copy).filter(function filterTreeData(node) {
207
+ if (node.name && node.name.toLowerCase().includes(searchTerm) && node.type === DocumentTreeNodeType.DOCUMENT) {
208
+ return true;
209
+ }
210
+ // Call recursively if node has children
211
+ if (node.children) {
212
+ return (node.children = node.children.map(copy).filter(filterTreeData)).length;
213
+ }
214
+ });
215
+ }
216
+ return of(filteredData);
217
+ }
218
+ triggerDocumentAction(actionType, documentTreeNode) {
219
+ var _a;
220
+ switch (actionType) {
221
+ case ('changeFolder'):
222
+ this.openMoveDialog(documentTreeNode);
223
+ break;
224
+ case ('openInANewTab'):
225
+ this.windowService.setLocalStorage(MEDIA_VIEWER_LOCALSTORAGE_KEY, this.documentManagementService.getMediaViewerInfo({
226
+ document_binary_url: documentTreeNode.document_binary_url,
227
+ document_filename: documentTreeNode.document_filename
228
+ }));
229
+ this.windowService.openOnNewTab((_a = this.router.createUrlTree(['/media-viewer'])) === null || _a === void 0 ? void 0 : _a.toString());
230
+ break;
231
+ case ('download'):
232
+ // Create a URL from the document_binary_url property (absolute URL) and use the path portion (relative URL).
233
+ // This is necessary because the Manage Cases application will automatically apply a proxy to the request, with
234
+ // the correct remote endpoint
235
+ this.downloadFile(new URL(documentTreeNode.document_binary_url).pathname, documentTreeNode.document_filename);
236
+ break;
237
+ case ('print'):
238
+ this.printDocument(new URL(documentTreeNode.document_binary_url).pathname);
239
+ break;
240
+ default:
241
+ return;
242
+ }
243
+ }
244
+ sortDataSourceAscAlphabetically() {
245
+ const sortedData = this.nestedDataSource.map(item => {
246
+ item.sortChildrenAscending();
247
+ return item;
248
+ });
249
+ this.updateNodeData(sortedData);
250
+ }
251
+ sortDataSourceDescAlphabetically() {
252
+ const sortedData = this.nestedDataSource.map(item => {
253
+ item.sortChildrenDescending();
254
+ return item;
255
+ });
256
+ this.updateNodeData(sortedData);
257
+ }
258
+ updateNodeData(data) {
259
+ const prevSelected = this.nestedTreeControl.expansionModel.selected.map((item) => {
260
+ return item.name;
261
+ });
262
+ this.nestedTreeControl.collapseAll();
263
+ this.nestedDataSource = data.map((item) => {
264
+ const newDocumentTreeNode = new DocumentTreeNode();
265
+ newDocumentTreeNode.name = item.name;
266
+ newDocumentTreeNode.type = item.type;
267
+ newDocumentTreeNode.children = item.children;
268
+ return newDocumentTreeNode;
269
+ });
270
+ const flattenedArray = this.nestedDataSource.map((item) => {
271
+ return item.flattenedAll;
272
+ }).flat();
273
+ const newObjects = flattenedArray.filter((item) => {
274
+ return prevSelected.includes(item.name);
275
+ });
276
+ newObjects.forEach(object => this.nestedTreeControl.expand(object));
277
+ }
278
+ ngOnDestroy() {
279
+ var _a, _b;
280
+ (_a = this.categoriesAndDocumentsSubscription) === null || _a === void 0 ? void 0 : _a.unsubscribe();
281
+ (_b = this.documentFilterSubscription) === null || _b === void 0 ? void 0 : _b.unsubscribe();
282
+ }
283
+ openMoveDialog(node) {
284
+ const dialogRef = this.dialog.open(CaseFileViewFolderSelectorComponent, {
285
+ width: '570px',
286
+ data: { categories: this.categories, document: node }
287
+ });
288
+ dialogRef.afterClosed().subscribe(newCatId => {
289
+ if (newCatId) {
290
+ this.moveDocument.emit({ newCategory: newCatId, document: node });
291
+ }
292
+ });
293
+ }
294
+ printDocument(url) {
295
+ const printWindow = window.open(url);
296
+ printWindow.print();
297
+ }
298
+ downloadFile(url, downloadFileName) {
299
+ const a = document.createElement('a');
300
+ document.body.appendChild(a);
301
+ a.setAttribute('style', 'display: none');
302
+ a.href = url;
303
+ a.download = downloadFileName;
304
+ a.click();
305
+ a.remove();
306
+ }
307
+ }
308
+ CaseFileViewFolderComponent.UNCATEGORISED_DOCUMENTS_TITLE = 'Uncategorised documents';
309
+ CaseFileViewFolderComponent.DOCUMENT_SEARCH_FORM_CONTROL_NAME = 'documentSearchFormControl';
310
+ CaseFileViewFolderComponent.MINIMUM_SEARCH_CHARACTERS = 3;
311
+ CaseFileViewFolderComponent.ɵfac = function CaseFileViewFolderComponent_Factory(t) { return new (t || CaseFileViewFolderComponent)(i0.ɵɵdirectiveInject(i1.WindowService), i0.ɵɵdirectiveInject(i2.Router), i0.ɵɵdirectiveInject(i1.DocumentManagementService), i0.ɵɵdirectiveInject(i3.MatDialog)); };
312
+ CaseFileViewFolderComponent.ɵcmp = i0.ɵɵdefineComponent({ type: CaseFileViewFolderComponent, selectors: [["ccd-case-file-view-folder"]], inputs: { categoriesAndDocuments: "categoriesAndDocuments", allowMoving: "allowMoving" }, outputs: { clickedDocument: "clickedDocument", moveDocument: "moveDocument" }, decls: 9, vars: 3, consts: [[1, "document-filter-container"], [1, "form-group", "document-filter", 3, "formGroup"], ["type", "search", "id", "document-search", "name", "documentSearchFormControl", "formControlName", "documentSearchFormControl", "placeholder", "Search by document name", 1, "form-control", "document-search"], [1, "document-folders-header"], [1, "document-folders-header__title"], [3, "sortAscending", "sortDescending"], ["class", "document-tree-container", 4, "ngIf"], [1, "document-tree-container"], [4, "ngIf"], [3, "dataSource", "treeControl"], ["class", "document-tree-container__node document-tree-container__node--document", 4, "cdkTreeNodeDef"], ["class", "document-tree-container__node document-tree-container__folder", 4, "cdkTreeNodeDef", "cdkTreeNodeDefWhen"], [1, "document-tree-container__node", "document-tree-container__node--document"], [1, "node", 3, "click"], ["disabled", "", 1, "node__icon"], ["src", "/assets/img/case-file-view/case-file-view-document.svg", "alt", "Document icon", 1, "node__iconImg"], [1, "node__name", "node-name-document"], [1, "node__document-options"], [3, "allowMoving", "changeFolderAction", "openInANewTabAction", "downloadAction", "printAction"], [1, "document-tree-container__node", "document-tree-container__folder"], ["cdkTreeNodeToggle", "", 1, "node"], [1, "node__icon"], ["alt", "Folder icon", 1, "node__iconImg", 3, "src"], [1, "node__count"], [1, "node__name", "node__name--folder"], ["cdkTreeNodeOutlet", ""]], template: function CaseFileViewFolderComponent_Template(rf, ctx) { if (rf & 1) {
313
+ i0.ɵɵelementStart(0, "div", 0);
314
+ i0.ɵɵelementStart(1, "div", 1);
315
+ i0.ɵɵelement(2, "input", 2);
316
+ i0.ɵɵelementEnd();
317
+ i0.ɵɵelementEnd();
318
+ i0.ɵɵelementStart(3, "div", 3);
319
+ i0.ɵɵelementStart(4, "div", 4);
320
+ i0.ɵɵtext(5);
321
+ i0.ɵɵelementEnd();
322
+ i0.ɵɵelementStart(6, "div");
323
+ i0.ɵɵelementStart(7, "ccd-case-file-view-folder-sort", 5);
324
+ i0.ɵɵlistener("sortAscending", function CaseFileViewFolderComponent_Template_ccd_case_file_view_folder_sort_sortAscending_7_listener() { return ctx.sortDataSourceAscAlphabetically(); })("sortDescending", function CaseFileViewFolderComponent_Template_ccd_case_file_view_folder_sort_sortDescending_7_listener() { return ctx.sortDataSourceDescAlphabetically(); });
325
+ i0.ɵɵelementEnd();
326
+ i0.ɵɵelementEnd();
327
+ i0.ɵɵelementEnd();
328
+ i0.ɵɵtemplate(8, CaseFileViewFolderComponent_div_8_Template, 6, 4, "div", 6);
329
+ } if (rf & 2) {
330
+ i0.ɵɵadvance(1);
331
+ i0.ɵɵproperty("formGroup", ctx.documentFilterFormGroup);
332
+ i0.ɵɵadvance(4);
333
+ i0.ɵɵtextInterpolate1("Documents (", ctx.documentCount, ")");
334
+ i0.ɵɵadvance(3);
335
+ i0.ɵɵproperty("ngIf", ctx.documentTreeData);
336
+ } }, directives: [i4.NgControlStatusGroup, i4.FormGroupDirective, i4.DefaultValueAccessor, i4.NgControlStatus, i4.FormControlName, i5.CaseFileViewFolderSortComponent, i6.NgIf, i7.CdkTree, i7.CdkTreeNodeDef, i7.CdkNestedTreeNode, i8.CaseFileViewFolderDocumentActionsComponent, i7.CdkTreeNodeToggle, i7.CdkTreeNodeOutlet], styles: ["[_nghost-%COMP%]{display:flex;height:100%;flex-direction:column}[_nghost-%COMP%] .document-tree-container[_ngcontent-%COMP%]{flex:1 0}.document-filter-container[_ngcontent-%COMP%]{border-bottom:2px solid #c9c9c9}.document-filter-container[_ngcontent-%COMP%] .document-filter[_ngcontent-%COMP%]{padding:10px}.document-filter-container[_ngcontent-%COMP%] .document-filter[_ngcontent-%COMP%] .document-search[_ngcontent-%COMP%]{background:url(/assets/images/icon-search-black.svg) no-repeat 100% #fff;background-position-x:calc(100% - 4px);padding-right:30px;width:100%}.document-filter-container[_ngcontent-%COMP%] .documents-title[_ngcontent-%COMP%]{height:30%;margin-left:8px;font-weight:700}.document-tree-container[_ngcontent-%COMP%]{padding:4px;overflow-x:hidden;overflow-y:scroll}.document-tree-container__node[_ngcontent-%COMP%]{display:block}.document-tree-container__node[_ngcontent-%COMP%] .document-tree-container__node[_ngcontent-%COMP%]{padding-left:40px}.document-tree-container[_ngcontent-%COMP%] .document-tree-invisible[_ngcontent-%COMP%]{display:none}.document-tree-container[_ngcontent-%COMP%]::-webkit-scrollbar{width:7px}.document-tree-container[_ngcontent-%COMP%]::-webkit-scrollbar-thumb{border:4px solid transparent;background-clip:padding-box;border-radius:9999px;background-color:#aaa}.document-tree-container[_ngcontent-%COMP%]::-webkit-scrollbar-button{display:none}.document-tree-container[_ngcontent-%COMP%]::-webkit-scrollbar-track-piece{background:#eee}.document-tree-container[_ngcontent-%COMP%]::-webkit-scrollbar-thumb{background:#ccc}.document-folders-header[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:space-between;border-bottom:2px solid #c9c9c9;padding:10px}.document-folders-header__title[_ngcontent-%COMP%]{font-weight:700}.node[_ngcontent-%COMP%]{display:flex;align-items:center;width:100%;padding:6px;background:none;border:0;cursor:pointer;white-space:nowrap}.node--selected[_ngcontent-%COMP%]{background:#fff2cc}.node__icon[_ngcontent-%COMP%]{position:relative;display:inline-block}.node__count[_ngcontent-%COMP%]{color:#fff;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:.875rem;padding-top:4px}.node__iconImg[_ngcontent-%COMP%]{display:block;height:30px;width:30px}.node__name[_ngcontent-%COMP%]{margin-left:6px;font-size:1rem;overflow:hidden;text-overflow:ellipsis}.node__document-options[_ngcontent-%COMP%]{margin-left:auto;margin-right:0}"] });
337
+ (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(CaseFileViewFolderComponent, [{
338
+ type: Component,
339
+ args: [{
340
+ selector: 'ccd-case-file-view-folder',
341
+ templateUrl: './case-file-view-folder.component.html',
342
+ styleUrls: ['./case-file-view-folder.component.scss'],
343
+ }]
344
+ }], function () { return [{ type: i1.WindowService }, { type: i2.Router }, { type: i1.DocumentManagementService }, { type: i3.MatDialog }]; }, { categoriesAndDocuments: [{
345
+ type: Input
346
+ }], allowMoving: [{
347
+ type: Input
348
+ }], clickedDocument: [{
349
+ type: Output
350
+ }], moveDocument: [{
351
+ type: Output
352
+ }] }); })();
353
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FzZS1maWxlLXZpZXctZm9sZGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NjZC1jYXNlLXVpLXRvb2xraXQvc3JjL2xpYi9zaGFyZWQvY29tcG9uZW50cy9wYWxldHRlL2Nhc2UtZmlsZS12aWV3L2NvbXBvbmVudHMvY2FzZS1maWxlLXZpZXctZm9sZGVyL2Nhc2UtZmlsZS12aWV3LWZvbGRlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jY2QtY2FzZS11aS10b29sa2l0L3NyYy9saWIvc2hhcmVkL2NvbXBvbmVudHMvcGFsZXR0ZS9jYXNlLWZpbGUtdmlldy9jb21wb25lbnRzL2Nhc2UtZmlsZS12aWV3LWZvbGRlci9jYXNlLWZpbGUtdmlldy1mb2xkZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDdEQsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFxQixNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUYsT0FBTyxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDckQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3pDLE9BQU8sRUFBRSxVQUFVLEVBQUUsRUFBRSxFQUFnQixNQUFNLE1BQU0sQ0FBQztBQUNwRCxPQUFPLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2hELE9BQU8sRUFJTCxnQkFBZ0IsRUFDaEIsb0JBQW9CLEVBQ3JCLE1BQU0sc0NBQXNDLENBQUM7QUFDOUMsT0FBTyxFQUFF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NEM7UUFBQSxZQUErQjtRQUFBLGlCQUFNO1FBQ2pGLDJCQUFLO1FBQ0gseURBR0M7UUFGQyxnSkFBaUIscUNBQWlDLElBQUMscUlBQ2pDLHNDQUFrQyxJQUREO1FBRXBELGlCQUFpQztRQUNwQyxpQkFBTTtRQUNSLGlCQUFNO1FBRU4sNEVBMkNNOztRQS9Eb0MsZUFBcUM7UUFBckMsdURBQXFDO1FBV2pDLGVBQStCO1FBQS9CLDREQUErQjtRQVN2QyxlQUFzQjtRQUF0QiwyQ0FBc0I7O3VGREUvQywyQkFBMkI7Y0FMdkMsU0FBUztlQUFDO2dCQUNULFFBQVEsRUFBRSwyQkFBMkI7Z0JBQ3JDLFdBQVcsRUFBRSx3Q0FBd0M7Z0JBQ3JELFNBQVMsRUFBRSxDQUFDLHdDQUF3QyxDQUFDO2FBQ3REO3FKQU1pQixzQkFBc0I7a0JBQXJDLEtBQUs7WUFDVSxXQUFXO2tCQUExQixLQUFLO1lBQ1csZUFBZTtrQkFBL0IsTUFBTTtZQUNVLFlBQVk7a0JBQTVCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZXN0ZWRUcmVlQ29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay90cmVlJztcbmltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUNvbnRyb2wsIEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IE1hdERpYWxvZyB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XG5pbXBvcnQgeyBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgb2YsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgc3dpdGNoTWFwLCB0YXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQge1xuICBDYXNlRmlsZVZpZXdDYXRlZ29yeSxcbiAgQ2FzZUZpbGVWaWV3RG9jdW1lbnQsXG4gIENhdGVnb3JpZXNBbmREb2N1bWVudHMsXG4gIERvY3VtZW50VHJlZU5vZGUsXG4gIERvY3VtZW50VHJlZU5vZGVUeXBlXG59IGZyb20gJy4uLy4uLy4uLy4uLy4uL2RvbWFpbi9jYXNlLWZpbGUtdmlldyc7XG5pbXBvcnQgeyBEb2N1bWVudE1hbmFnZW1lbnRTZXJ2aWNlLCBXaW5kb3dTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vc2VydmljZXMnO1xuaW1wb3J0IHsgQ2FzZUZpbGVWaWV3Rm9sZGVyU2VsZWN0b3JDb21wb25lbnQgfSBmcm9tICcuLi9jYXNlLWZpbGUtdmlldy1mb2xkZXItc2VsZWN0b3IvY2FzZS1maWxlLXZpZXctZm9sZGVyLXNlbGVjdG9yLmNvbXBvbmVudCc7XG5leHBvcnQgY29uc3QgTUVESUFfVklFV0VSX0xPQ0FMU1RPUkFHRV9LRVkgPSAnbWVkaWEtdmlld2VyLWluZm8nO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjY2QtY2FzZS1maWxlLXZpZXctZm9sZGVyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2Nhc2UtZmlsZS12aWV3LWZvbGRlci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2Nhc2UtZmlsZS12aWV3LWZvbGRlci5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBDYXNlRmlsZVZpZXdGb2xkZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIHByaXZhdGUgc3RhdGljIHJlYWRvbmx5IFVOQ0FURUdPUklTRURfRE9DVU1FTlRTX1RJVExFID0gJ1VuY2F0ZWdvcmlzZWQgZG9jdW1lbnRzJztcbiAgcHJpdmF0ZSBzdGF0aWMgcmVhZG9ubHkgRE9DVU1FTlRfU0VBUkNIX0ZPUk1fQ09OVFJPTF9OQU1FID0gJ2RvY3VtZW50U2VhcmNoRm9ybUNvbnRyb2wnO1xuICBwcml2YXRlIHN0YXRpYyByZWFkb25seSBNSU5JTVVNX1NFQVJDSF9DSEFSQUNURVJTID0gMztcblxuICBASW5wdXQoKSBwdWJsaWMgY2F0ZWdvcmllc0FuZERvY3VtZW50czogT2JzZXJ2YWJsZTxDYXRlZ29yaWVzQW5kRG9jdW1lbnRzPjtcbiAgQElucHV0KCkgcHVibGljIGFsbG93TW92aW5nOiBib29sZWFuO1xuICBAT3V0cHV0KCkgcHVibGljIGNsaWNrZWREb2N1bWVudCA9IG5ldyBFdmVudEVtaXR0ZXI8RG9jdW1lbnRUcmVlTm9kZT4oKTtcbiAgQE91dHB1dCgpIHB1YmxpYyBtb3ZlRG9jdW1lbnQgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcblxuICBwdWJsaWMgbmVzdGVkVHJlZUNvbnRyb2w6IE5lc3RlZFRyZWVDb250cm9sPERvY3VtZW50VHJlZU5vZGU+O1xuICBwdWJsaWMgbmVzdGVkRGF0YVNvdXJjZTogRG9jdW1lbnRUcmVlTm9kZVtdO1xuICBwdWJsaWMgY2F0ZWdvcmllczogQ2FzZUZpbGVWaWV3Q2F0ZWdvcnlbXSA9IFtdO1xuICBwdWJsaWMgY2F0ZWdvcmllc0FuZERvY3VtZW50c1N1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xuICBwdWJsaWMgc2VsZWN0ZWROb2RlSXRlbTogRG9jdW1lbnRUcmVlTm9kZSB8IHVuZGVmaW5lZDtcblxuICBwdWJsaWMgZG9jdW1lbnRGaWx0ZXJGb3JtR3JvdXA6IEZvcm1Hcm91cDtcbiAgcHVibGljIGRvY3VtZW50U2VhcmNoRm9ybUNvbnRyb2w6IEZvcm1Db250cm9sO1xuICBwdWJsaWMgZG9jdW1lbnRUcmVlRGF0YTogRG9jdW1lbnRUcmVlTm9kZVtdO1xuICBwdWJsaWMgZG9jdW1lbnRGaWx0ZXJTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcbiAgcHVibGljIHNlYXJjaFRlcm1MZW5ndGg6IG51bWJlcjtcblxuICBwcml2YXRlIGdldENoaWxkcmVuID0gKG5vZGU6IERvY3VtZW50VHJlZU5vZGUpID0+IG9mKG5vZGUuY2hpbGRyZW4pO1xuICBwdWJsaWMgbmVzdGVkQ2hpbGRyZW4gPSAoXzogbnVtYmVyLCBub2RlRGF0YTogRG9jdW1lbnRUcmVlTm9kZSkgPT4gbm9kZURhdGEuY2hpbGRyZW47XG4gIHB1YmxpYyBnZXQgZG9jdW1lbnRDb3VudCgpIHtcbiAgICBpZiAodGhpcy5uZXN0ZWREYXRhU291cmNlPy5sZW5ndGgpIHtcbiAgICAgIHJldHVybiB0aGlzLm5lc3RlZERhdGFTb3VyY2UucmVkdWNlKChhY2MsIGl0ZW0pID0+IHtcbiAgICAgICAgcmV0dXJuIGFjYyArIGl0ZW0uY2hpbGREb2N1bWVudENvdW50O1xuICAgICAgfSwgMCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiAwO1xuICAgIH1cbiAgfVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgd2luZG93U2VydmljZTogV2luZG93U2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHJvdXRlcjogUm91dGVyLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgZG9jdW1lbnRNYW5hZ2VtZW50U2VydmljZTogRG9jdW1lbnRNYW5hZ2VtZW50U2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGRpYWxvZzogTWF0RGlhbG9nXG4gICkge1xuICAgIHRoaXMubmVzdGVkVHJlZUNvbnRyb2wgPSBuZXcgTmVzdGVkVHJlZUNvbnRyb2w8RG9jdW1lbnRUcmVlTm9kZT4odGhpcy5nZXRDaGlsZHJlbik7XG4gIH1cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5kb2N1bWVudEZpbHRlckZvcm1Hcm91cCA9IG5ldyBGb3JtR3JvdXAoe30pO1xuICAgIHRoaXMuZG9jdW1lbnRTZWFyY2hGb3JtQ29udHJvbCA9IG5ldyBGb3JtQ29udHJvbCgnJyk7XG4gICAgdGhpcy5kb2N1bWVudEZpbHRlckZvcm1Hcm91cC5hZGRDb250cm9sKENhc2VGaWxlVmlld0ZvbGRlckNvbXBvbmVudC5ET0NVTUVOVF9TRUFSQ0hfRk9STV9DT05UUk9MX05BTUUsIHRoaXMuZG9jdW1lbnRTZWFyY2hGb3JtQ29udHJvbCk7XG5cbiAgICAvLyBMaXN0ZW4gdG8gc2VhcmNoIGlucHV0IGFuZCBpbml0aWF0ZSBmaWx0ZXIgZG9jdW1lbnRzIGlmIGF0IGxlYXN0IHRocmVlIGNoYXJhY3RlcnMgZW50ZXJlZFxuICAgIHRoaXMuZG9jdW1lbnRGaWx0ZXJTdWJzY3JpcHRpb24gPSB0aGlzLmRvY3VtZW50U2VhcmNoRm9ybUNvbnRyb2wudmFsdWVDaGFuZ2VzLnBpcGUoXG4gICAgICB0YXAoKHNlYXJjaFRlcm06IHN0cmluZykgPT4gdGhpcy5zZWFyY2hUZXJtTGVuZ3RoID0gc2VhcmNoVGVybS5sZW5ndGgpLFxuICAgICAgc3dpdGNoTWFwKChzZWFyY2hUZXJtOiBzdHJpbmcpID0+IHRoaXMuZmlsdGVyKHNlYXJjaFRlcm0udG9Mb3dlckNhc2UoKSkucGlwZSgpKVxuICAgICkuc3Vic2NyaWJlKGRvY3VtZW50VHJlZURhdGEgPT4ge1xuICAgICAgdGhpcy5uZXN0ZWREYXRhU291cmNlID0gZG9jdW1lbnRUcmVlRGF0YTtcbiAgICAgIHRoaXMubmVzdGVkVHJlZUNvbnRyb2wuZGF0YU5vZGVzID0gZG9jdW1lbnRUcmVlRGF0YTtcbiAgICAgIHRoaXMuc2VhcmNoVGVybUxlbmd0aCA+PSBDYXNlRmlsZVZpZXdGb2xkZXJDb21wb25lbnQuTUlOSU1VTV9TRUFSQ0hfQ0hBUkFDVEVSU1xuICAgICAgICA/IHRoaXMubmVzdGVkVHJlZUNvbnRyb2wuZXhwYW5kQWxsKClcbiAgICAgICAgOiB0aGlzLm5lc3RlZFRyZWVDb250cm9sLmNvbGxhcHNlQWxsKCk7XG4gICAgfSk7XG5cbiAgICAvLyBTdWJzY3JpYmUgdG8gdGhlIGlucHV0IGNhdGVnb3JpZXMgYW5kIGRvY3VtZW50cywgYW5kIGdlbmVyYXRlIHRyZWUgZGF0YSBhbmQgaW5pdGlhbGlzZSBjZGsgdHJlZVxuICAgIHRoaXMuY2F0ZWdvcmllc0FuZERvY3VtZW50c1N1YnNjcmlwdGlvbiA9IHRoaXMuY2F0ZWdvcmllc0FuZERvY3VtZW50cy5zdWJzY3JpYmUoY2F0ZWdvcmllc0FuZERvY3VtZW50cyA9PiB7XG4gICAgICBjb25zdCBjYXRlZ29yaWVzID0gY2F0ZWdvcmllc0FuZERvY3VtZW50cy5jYXRlZ29yaWVzO1xuICAgICAgdGhpcy5jYXRlZ29yaWVzID0gY2F0ZWdvcmllcztcbiAgICAgIC8vIEdlbmVyYXRlIGRvY3VtZW50IHRyZWUgZGF0YSBmcm9tIGNhdGVnb3JpZXNcbiAgICAgIHRoaXMuZG9jdW1lbnRUcmVlRGF0YSA9IHRoaXMuZ2VuZXJhdGVUcmVlRGF0YShjYXRlZ29yaWVzKTtcbiAgICAgIC8vIEFwcGVuZCB1bmNhdGVnb3Jpc2VkIGRvY3VtZW50c1xuICAgICAgaWYgKGNhdGVnb3JpZXNBbmREb2N1bWVudHMudW5jYXRlZ29yaXNlZF9kb2N1bWVudHMgJiYgY2F0ZWdvcmllc0FuZERvY3VtZW50cy51bmNhdGVnb3Jpc2VkX2RvY3VtZW50cy5sZW5ndGggPiAwKSB7XG4gICAgICAgIGNvbnN0IHVuY2F0ZWdvcmlzZWREb2N1bWVudHMgPSB0aGlzLmdldFVuY2F0ZWdvcmlzZWREb2N1bWVudHMoY2F0ZWdvcmllc0FuZERvY3VtZW50cy51bmNhdGVnb3Jpc2VkX2RvY3VtZW50cyk7XG4gICAgICAgIHRoaXMuZG9jdW1lbnRUcmVlRGF0YS5wdXNoKHVuY2F0ZWdvcmlzZWREb2N1bWVudHMpO1xuICAgICAgfVxuXG4gICAgICAvLyBJbml0aWFsaXNlIGNkayB0cmVlIHdpdGggZ2VuZXJhdGVkIGRhdGFcbiAgICAgIHRoaXMubmVzdGVkRGF0YVNvdXJjZSA9IHRoaXMuZG9jdW1lbnRUcmVlRGF0YTtcbiAgICAgIHRoaXMubmVzdGVkVHJlZUNvbnRyb2wuZGF0YU5vZGVzID0gdGhpcy5kb2N1bWVudFRyZWVEYXRhO1xuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIGdlbmVyYXRlVHJlZURhdGEoY2F0ZWdvcmllczogQ2FzZUZpbGVWaWV3Q2F0ZWdvcnlbXSk6IERvY3VtZW50VHJlZU5vZGVbXSB7XG4gICAgcmV0dXJuIGNhdGVnb3JpZXMucmVkdWNlKCh0cmVlLCBub2RlKSA9PiB7XG4gICAgICBjb25zdCBuZXdEb2N1bWVudFRyZWVOb2RlID0gbmV3IERvY3VtZW50VHJlZU5vZGUoKTtcbiAgICAgIG5ld0RvY3VtZW50VHJlZU5vZGUubmFtZSA9IG5vZGUuY2F0ZWdvcnlfbmFtZTtcbiAgICAgIG5ld0RvY3VtZW50VHJlZU5vZGUudHlwZSA9ICBEb2N1bWVudFRyZWVOb2RlVHlwZS5GT0xERVI7XG4gICAgICBuZXdEb2N1bWVudFRyZWVOb2RlLmNoaWxkcmVuID0gWy4uLnRoaXMuZ2VuZXJhdGVUcmVlRGF0YShub2RlLnN1Yl9jYXRlZ29yaWVzKSwgLi4udGhpcy5nZXREb2N1bWVudHMobm9kZS5kb2N1bWVudHMpXTtcblxuICAgICAgcmV0dXJuIFtcbiAgICAgICAgLi4udHJlZSxcbiAgICAgICAgbmV3RG9jdW1lbnRUcmVlTm9kZSxcbiAgICAgIF07XG4gICAgfSwgW10pO1xuICB9XG5cbiAgcHVibGljIGdldERvY3VtZW50cyhkb2N1bWVudHM6IENhc2VGaWxlVmlld0RvY3VtZW50W10pOiBEb2N1bWVudFRyZWVOb2RlW10ge1xuICAgIGNvbnN0IGRvY3VtZW50c1RvUmV0dXJuOiBEb2N1bWVudFRyZWVOb2RlW10gPSBbXTtcbiAgICBkb2N1bWVudHMuZm9yRWFjaChkb2N1bWVudCA9PiB7XG4gICAgICBjb25zdCBkb2N1bWVudFRyZWVOb2RlID0gbmV3IERvY3VtZW50VHJlZU5vZGUoKTtcbiAgICAgIGRvY3VtZW50VHJlZU5vZGUubmFtZSA9IGRvY3VtZW50LmRvY3VtZW50X2ZpbGVuYW1lO1xuICAgICAgZG9jdW1lbnRUcmVlTm9kZS50eXBlID0gRG9jdW1lbnRUcmVlTm9kZVR5cGUuRE9DVU1FTlQ7XG4gICAgICBkb2N1bWVudFRyZWVOb2RlLmRvY3VtZW50X2ZpbGVuYW1lID0gZG9jdW1lbnQuZG9jdW1lbnRfZmlsZW5hbWU7XG4gICAgICBkb2N1bWVudFRyZWVOb2RlLmRvY3VtZW50X2JpbmFyeV91cmwgPSBkb2N1bWVudC5kb2N1bWVudF9iaW5hcnlfdXJsO1xuICAgICAgZG9jdW1lbnRUcmVlTm9kZS5hdHRyaWJ1dGVfcGF0aCA9IGRvY3VtZW50LmF0dHJpYnV0ZV9wYXRoO1xuXG4gICAgICBkb2N1bWVudHNUb1JldHVybi5wdXNoKGRvY3VtZW50VHJlZU5vZGUpO1xuICAgIH0pO1xuXG4gICAgcmV0dXJuIGRvY3VtZW50c1RvUmV0dXJuO1xuICB9XG5cbiAgcHVibGljIGdldFVuY2F0ZWdvcmlzZWREb2N1bWVudHModW5jYXRlZ29yaXNlZERvY3VtZW50czogQ2FzZUZpbGVWaWV3RG9jdW1lbnRbXSk6IERvY3VtZW50VHJlZU5vZGUge1xuICAgIGNvbnN0IGRvY3VtZW50czogRG9jdW1lbnRUcmVlTm9kZVtdID0gW107XG4gICAgdW5jYXRlZ29yaXNlZERvY3VtZW50cy5mb3JFYWNoKGRvY3VtZW50ID0+IHtcbiAgICAgIGNvbnN0IGRvY3VtZW50VHJlZU5vZGUgPSBuZXcgRG9jdW1lbnRUcmVlTm9kZSgpO1xuICAgICAgZG9jdW1lbnRUcmVlTm9kZS5uYW1lID0gZG9jdW1lbnQuZG9jdW1lbnRfZmlsZW5hbWU7XG4gICAgICBkb2N1bWVudFRyZWVOb2RlLnR5cGUgPSBEb2N1bWVudFRyZWVOb2RlVHlwZS5ET0NVTUVOVDtcbiAgICAgIGRvY3VtZW50VHJlZU5vZGUuZG9jdW1lbnRfZmlsZW5hbWUgPSBkb2N1bWVudC5kb2N1bWVudF9maWxlbmFtZTtcbiAgICAgIGRvY3VtZW50VHJlZU5vZGUuZG9jdW1lbnRfYmluYXJ5X3VybCA9IGRvY3VtZW50LmRvY3VtZW50X2JpbmFyeV91cmw7XG4gICAgICBkb2N1bWVudFRyZWVOb2RlLmF0dHJpYnV0ZV9wYXRoID0gZG9jdW1lbnQuYXR0cmlidXRlX3BhdGg7XG5cbiAgICAgIGRvY3VtZW50cy5wdXNoKGRvY3VtZW50VHJlZU5vZGUpO1xuICAgIH0pO1xuXG4gICAgY29uc3QgdW5jYXRlZ29yaXNlZE5vZGUgPSBuZXcgRG9jdW1lbnRUcmVlTm9kZSgpO1xuICAgIHVuY2F0ZWdvcmlzZWROb2RlLm5hbWUgPSBDYXNlRmlsZVZpZXdGb2xkZXJDb21wb25lbnQuVU5DQVRFR09SSVNFRF9ET0NVTUVOVFNfVElUTEU7XG4gICAgdW5jYXRlZ29yaXNlZE5vZGUudHlwZSA9IERvY3VtZW50VHJlZU5vZGVUeXBlLkZPTERFUjtcbiAgICB1bmNhdGVnb3Jpc2VkTm9kZS5jaGlsZHJlbiA9IGRvY3VtZW50cztcblxuICAgIHJldHVybiB1bmNhdGVnb3Jpc2VkTm9kZTtcbiAgfVxuXG4gIHB1YmxpYyBmaWx0ZXIoc2VhcmNoVGVybTogc3RyaW5nKTogT2JzZXJ2YWJsZTxEb2N1bWVudFRyZWVOb2RlW10+IHtcbiAgICAvLyBNYWtlIGEgY29weSBvZiB0aGUgZGF0YSBzbyB3ZSBkbyBub3QgbXV0YXRlIHRoZSBvcmlnaW5hbFxuICAgIGZ1bmN0aW9uIGNvcHkobm9kZTogRG9jdW1lbnRUcmVlTm9kZSkge1xuICAgICAgY29uc3QgZG9jdW1lbnRUcmVlTm9kZSA9IG5ldyBEb2N1bWVudFRyZWVOb2RlKCk7XG4gICAgICByZXR1cm4gT2JqZWN0LmFzc2lnbihkb2N1bWVudFRyZWVOb2RlLCBub2RlKTtcbiAgICB9XG5cbiAgICBsZXQgZmlsdGVyZWREYXRhID0gdGhpcy5kb2N1bWVudFRyZWVEYXRhO1xuICAgIGlmIChzZWFyY2hUZXJtICYmIHNlYXJjaFRlcm0ubGVuZ3RoID49IENhc2VGaWxlVmlld0ZvbGRlckNvbXBvbmVudC5NSU5JTVVNX1NFQVJDSF9DSEFSQUNURVJTICYmIHRoaXMuZG9jdW1lbnRGaWx0ZXJGb3JtR3JvdXAuY29udHJvbHNbQ2FzZUZpbGVWaWV3Rm9sZGVyQ29tcG9uZW50LkRPQ1VNRU5UX1NFQVJDSF9GT1JNX0NPTlRST0xfTkFNRV0udmFsdWUubGVuZ3RoID4gMikge1xuICAgICAgZmlsdGVyZWREYXRhID0gdGhpcy5kb2N1bWVudFRyZWVEYXRhLm1hcChjb3B5KS5maWx0ZXIoZnVuY3Rpb24gZmlsdGVyVHJlZURhdGEobm9kZTogRG9jdW1lbnRUcmVlTm9kZSkge1xuICAgICAgICBpZiAobm9kZS5uYW1lICYmIG5vZGUubmFtZS50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKHNlYXJjaFRlcm0pICYmIG5vZGUudHlwZSA9PT0gRG9jdW1lbnRUcmVlTm9kZVR5cGUuRE9DVU1FTlQpIHtcbiAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgICAvLyBDYWxsIHJlY3Vyc2l2ZWx5IGlmIG5vZGUgaGFzIGNoaWxkcmVuXG4gICAgICAgIGlmIChub2RlLmNoaWxkcmVuKSB7XG4gICAgICAgICAgcmV0dXJuIChub2RlLmNoaWxkcmVuID0gbm9kZS5jaGlsZHJlbi5tYXAoY29weSkuZmlsdGVyKGZpbHRlclRyZWVEYXRhKSkubGVuZ3RoO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9XG4gICAgcmV0dXJuIG9mKGZpbHRlcmVkRGF0YSk7XG4gIH1cblxuICBwdWJsaWMgdHJpZ2dlckRvY3VtZW50QWN0aW9uKFxuICAgIGFjdGlvblR5cGU6ICdjaGFuZ2VGb2xkZXInIHwgJ29wZW5JbkFOZXdUYWInIHwgJ2Rvd25sb2FkJyB8ICdwcmludCcsXG4gICAgZG9jdW1lbnRUcmVlTm9kZTogRG9jdW1lbnRUcmVlTm9kZVxuICApOiB2b2lkIHtcbiAgICBzd2l0Y2goYWN0aW9uVHlwZSkge1xuICAgICAgY2FzZSgnY2hhbmdlRm9sZGVyJyk6XG4gICAgICAgIHRoaXMub3Blbk1vdmVEaWFsb2coZG9jdW1lbnRUcmVlTm9kZSk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSgnb3BlbkluQU5ld1RhYicpOlxuICAgICAgICB0aGlzLndpbmRvd1NlcnZpY2Uuc2V0TG9jYWxTdG9yYWdlKE1FRElBX1ZJRVdFUl9MT0NBTFNUT1JBR0VfS0VZLFxuICAgICAgICAgIHRoaXMuZG9jdW1lbnRNYW5hZ2VtZW50U2VydmljZS5nZXRNZWRpYVZpZXdlckluZm8oe1xuICAgICAgICAgICAgZG9jdW1lbnRfYmluYXJ5X3VybDogZG9jdW1lbnRUcmVlTm9kZS5kb2N1bWVudF9iaW5hcnlfdXJsLFxuICAgICAgICAgICAgZG9jdW1lbnRfZmlsZW5hbWU6IGRvY3VtZW50VHJlZU5vZGUuZG9jdW1lbnRfZmlsZW5hbWVcbiAgICAgICAgICB9KSk7XG5cbiAgICAgICAgdGhpcy53aW5kb3dTZXJ2aWNlLm9wZW5Pbk5ld1RhYihcbiAgICAgICAgICB0aGlzLnJvdXRlci5jcmVhdGVVcmxUcmVlKFsnL21lZGlhLXZpZXdlciddKT8udG9TdHJpbmcoKVxuICAgICAgICApO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UoJ2Rvd25sb2FkJyk6XG4gICAgICAgIC8vIENyZWF0ZSBhIFVSTCBmcm9tIHRoZSBkb2N1bWVudF9iaW5hcnlfdXJsIHByb3BlcnR5IChhYnNvbHV0ZSBVUkwpIGFuZCB1c2UgdGhlIHBhdGggcG9ydGlvbiAocmVsYXRpdmUgVVJMKS5cbiAgICAgICAgLy8gVGhpcyBpcyBuZWNlc3NhcnkgYmVjYXVzZSB0aGUgTWFuYWdlIENhc2VzIGFwcGxpY2F0aW9uIHdpbGwgYXV0b21hdGljYWxseSBhcHBseSBhIHByb3h5IHRvIHRoZSByZXF1ZXN0LCB3aXRoXG4gICAgICAgIC8vIHRoZSBjb3JyZWN0IHJlbW90ZSBlbmRwb2ludFxuICAgICAgICB0aGlzLmRvd25sb2FkRmlsZShuZXcgVVJMKGRvY3VtZW50VHJlZU5vZGUuZG9jdW1lbnRfYmluYXJ5X3VybCkucGF0aG5hbWUsIGRvY3VtZW50VHJlZU5vZGUuZG9jdW1lbnRfZmlsZW5hbWUpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UoJ3ByaW50Jyk6XG4gICAgICAgIHRoaXMucHJpbnREb2N1bWVudChuZXcgVVJMKGRvY3VtZW50VHJlZU5vZGUuZG9jdW1lbnRfYmluYXJ5X3VybCkucGF0aG5hbWUpO1xuICAgICAgICBicmVhaztcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHJldHVybjtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgc29ydERhdGFTb3VyY2VBc2NBbHBoYWJldGljYWxseSgpIHtcbiAgICBjb25zdCBzb3J0ZWREYXRhID0gdGhpcy5uZXN0ZWREYXRhU291cmNlLm1hcChpdGVtID0+IHtcbiAgICAgIGl0ZW0uc29ydENoaWxkcmVuQXNjZW5kaW5nKCk7XG4gICAgICByZXR1cm4gaXRlbTtcbiAgICB9KTtcblxuICAgIHRoaXMudXBkYXRlTm9kZURhdGEoc29ydGVkRGF0YSk7XG4gIH1cblxuICBwdWJsaWMgc29ydERhdGFTb3VyY2VEZXNjQWxwaGFiZXRpY2FsbHkoKSB7XG4gICAgY29uc3Qgc29ydGVkRGF0YSA9IHRoaXMubmVzdGVkRGF0YVNvdXJjZS5tYXAoaXRlbSA9PiB7XG4gICAgICBpdGVtLnNvcnRDaGlsZHJlbkRlc2NlbmRpbmcoKTtcbiAgICAgIHJldHVybiBpdGVtO1xuICAgIH0pO1xuXG4gICAgdGhpcy51cGRhdGVOb2RlRGF0YShzb3J0ZWREYXRhKTtcbiAgfVxuXG4gIHB1YmxpYyB1cGRhdGVOb2RlRGF0YShkYXRhOiBEb2N1bWVudFRyZWVOb2RlW10pOiB2b2lkIHtcbiAgICBjb25zdCBwcmV2U2VsZWN0ZWQgPSB0aGlzLm5lc3RlZFRyZWVDb250cm9sLmV4cGFuc2lvbk1vZGVsLnNlbGVjdGVkLm1hcChcbiAgICAgIChpdGVtKSA9PiB7XG4gICAgICAgIHJldHVybiBpdGVtLm5hbWU7XG4gICAgICB9KTtcblxuICAgIHRoaXMubmVzdGVkVHJlZUNvbnRyb2wuY29sbGFwc2VBbGwoKTtcbiAgICB0aGlzLm5lc3RlZERhdGFTb3VyY2UgPSBkYXRhLm1hcCgoaXRlbSkgPT4ge1xuICAgICAgY29uc3QgbmV3RG9jdW1lbnRUcmVlTm9kZSA9IG5ldyBEb2N1bWVudFRyZWVOb2RlKCk7XG4gICAgICBuZXdEb2N1bWVudFRyZWVOb2RlLm5hbWUgPSBpdGVtLm5hbWU7XG4gICAgICBuZXdEb2N1bWVudFRyZWVOb2RlLnR5cGUgPSBpdGVtLnR5cGU7XG4gICAgICBuZXdEb2N1bWVudFRyZWVOb2RlLmNoaWxkcmVuID0gaXRlbS5jaGlsZHJlbjtcblxuICAgICAgcmV0dXJuIG5ld0RvY3VtZW50VHJlZU5vZGU7XG4gICAgfSk7XG5cbiAgICBjb25zdCBmbGF0dGVuZWRBcnJheSA9IHRoaXMubmVzdGVkRGF0YVNvdXJjZS5tYXAoKGl0ZW0pID0+IHtcbiAgICAgIHJldHVybiBpdGVtLmZsYXR0ZW5lZEFsbDtcbiAgICB9KS5mbGF0KCk7XG4gICAgY29uc3QgbmV3T2JqZWN0cyA9IGZsYXR0ZW5lZEFycmF5LmZpbHRlcigoaXRlbSkgPT4ge1xuICAgICAgcmV0dXJuIHByZXZTZWxlY3RlZC5pbmNsdWRlcyhpdGVtLm5hbWUpO1xuICAgIH0pO1xuICAgIG5ld09iamVjdHMuZm9yRWFjaChvYmplY3QgPT4gdGhpcy5uZXN0ZWRUcmVlQ29udHJvbC5leHBhbmQob2JqZWN0KSk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5jYXRlZ29yaWVzQW5kRG9jdW1lbnRzU3Vic2NyaXB0aW9uPy51bnN1YnNjcmliZSgpO1xuICAgIHRoaXMuZG9jdW1lbnRGaWx0ZXJTdWJzY3JpcHRpb24/LnVuc3Vic2NyaWJlKCk7XG4gIH1cblxuICBwcml2YXRlIG9wZW5Nb3ZlRGlhbG9nKG5vZGU6IERvY3VtZW50VHJlZU5vZGUpOiB2b2lkIHtcbiAgICBjb25zdCBkaWFsb2dSZWYgPSB0aGlzLmRpYWxvZy5vcGVuKENhc2VGaWxlVmlld0ZvbGRlclNlbGVjdG9yQ29tcG9uZW50LCB7XG4gICAgICB3aWR0aDogJzU3MHB4JyxcbiAgICAgIGRhdGE6IHsgY2F0ZWdvcmllczogdGhpcy5jYXRlZ29yaWVzLCBkb2N1bWVudDogbm9kZSB9XG4gICAgfSk7XG5cbiAgICBkaWFsb2dSZWYuYWZ0ZXJDbG9zZWQoKS5zdWJzY3JpYmUobmV3Q2F0SWQgPT4ge1xuICAgICAgaWYgKG5ld0NhdElkKSB7XG4gICAgICAgIHRoaXMubW92ZURvY3VtZW50LmVtaXQoe25ld0NhdGVnb3J5OiBuZXdDYXRJZCwgZG9jdW1lbnQ6IG5vZGV9KTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBwcmludERvY3VtZW50KHVybDogc3RyaW5nKTogdm9pZCB7XG4gICAgY29uc3QgcHJpbnRXaW5kb3cgPSB3aW5kb3cub3Blbih1cmwpO1xuICAgIHByaW50V2luZG93LnByaW50KCk7XG4gIH1cblxuICBwdWJsaWMgZG93bmxvYWRGaWxlKHVybDogc3RyaW5nLCBkb3dubG9hZEZpbGVOYW1lOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBjb25zdCBhID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnYScpO1xuICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoYSk7XG4gICAgYS5zZXRBdHRyaWJ1dGUoJ3N0eWxlJywgJ2Rpc3BsYXk6IG5vbmUnKTtcbiAgICBhLmhyZWYgPSB1cmw7XG4gICAgYS5kb3dubG9hZCA9IGRvd25sb2FkRmlsZU5hbWU7XG4gICAgYS5jbGljaygpO1xuICAgIGEucmVtb3ZlKCk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJkb2N1bWVudC1maWx0ZXItY29udGFpbmVyXCI+XG4gIDxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwIGRvY3VtZW50LWZpbHRlclwiIFtmb3JtR3JvdXBdPVwiZG9jdW1lbnRGaWx0ZXJGb3JtR3JvdXBcIj5cbiAgICA8aW5wdXQgY2xhc3M9XCJmb3JtLWNvbnRyb2wgZG9jdW1lbnQtc2VhcmNoXCJcbiAgICAgIHR5cGU9XCJzZWFyY2hcIlxuICAgICAgaWQ9XCJkb2N1bWVudC1zZWFyY2hcIlxuICAgICAgbmFtZT1cImRvY3VtZW50U2VhcmNoRm9ybUNvbnRyb2xcIlxuICAgICAgZm9ybUNvbnRyb2xOYW1lPVwiZG9jdW1lbnRTZWFyY2hGb3JtQ29udHJvbFwiXG4gICAgICBwbGFjZWhvbGRlcj1cIlNlYXJjaCBieSBkb2N1bWVudCBuYW1lXCI+XG4gIDwvZGl2PlxuPC9kaXY+XG5cbjxkaXYgY2xhc3M9XCJkb2N1bWVudC1mb2xkZXJzLWhlYWRlclwiPlxuICA8ZGl2IGNsYXNzPVwiZG9jdW1lbnQtZm9sZGVycy1oZWFkZXJfX3RpdGxlXCI+RG9jdW1lbnRzICh7eyBkb2N1bWVudENvdW50IH19KTwvZGl2PlxuICA8ZGl2PlxuICAgIDxjY2QtY2FzZS1maWxlLXZpZXctZm9sZGVyLXNvcnRcbiAgICAgIChzb3J0QXNjZW5kaW5nKT1cInNvcnREYXRhU291cmNlQXNjQWxwaGFiZXRpY2FsbHkoKVwiXG4gICAgICAoc29ydERlc2NlbmRpbmcpPVwic29ydERhdGFTb3VyY2VEZXNjQWxwaGFiZXRpY2FsbHkoKVwiXG4gICAgPjwvY2NkLWNhc2UtZmlsZS12aWV3LWZvbGRlci1zb3J0PlxuICA8L2Rpdj5cbjwvZGl2PlxuXG48ZGl2IGNsYXNzPVwiZG9jdW1lbnQtdHJlZS1jb250YWluZXJcIiAqbmdJZj1cImRvY3VtZW50VHJlZURhdGFcIj5cbiAgPGRpdiAqbmdJZj1cIiFuZXN0ZWREYXRhU291cmNlIHx8IG5lc3RlZERhdGFTb3VyY2UubGVuZ3RoID09PSAwXCI+XG4gICAgTm8gcmVzdWx0cyBmb3VuZFxuICA8L2Rpdj5cbiAgPGRpdj5cbiAgICA8Y2RrLXRyZWUgW2RhdGFTb3VyY2VdPVwibmVzdGVkRGF0YVNvdXJjZVwiIFt0cmVlQ29udHJvbF09XCJuZXN0ZWRUcmVlQ29udHJvbFwiPlxuICAgICAgPCEtLSBkb2N1bWVudCAtLT5cbiAgICAgIDxjZGstbmVzdGVkLXRyZWUtbm9kZSBjbGFzcz1cImRvY3VtZW50LXRyZWUtY29udGFpbmVyX19ub2RlIGRvY3VtZW50LXRyZWUtY29udGFpbmVyX19ub2RlLS1kb2N1bWVudFwiICpjZGtUcmVlTm9kZURlZj1cImxldCBub2RlXCI+XG4gICAgICAgIDxidXR0b24gY2xhc3M9XCJub2RlXCIgKGNsaWNrKT1cInNlbGVjdGVkTm9kZUl0ZW0gPSBub2RlOyBjbGlja2VkRG9jdW1lbnQuZW1pdChub2RlKVwiXG4gICAgICAgICAgICAgICAgW2NsYXNzLm5vZGUtLXNlbGVjdGVkXT1cInNlbGVjdGVkTm9kZUl0ZW0/Lm5hbWUgPT09IG5vZGUubmFtZVwiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJub2RlX19pY29uXCIgZGlzYWJsZWQ+XG4gICAgICAgICAgICA8aW1nIHNyYz1cIi9hc3NldHMvaW1nL2Nhc2UtZmlsZS12aWV3L2Nhc2UtZmlsZS12aWV3LWRvY3VtZW50LnN2Z1wiIGNsYXNzPVwibm9kZV9faWNvbkltZ1wiIGFsdD1cIkRvY3VtZW50IGljb25cIj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8c3BhbiBjbGFzcz1cIm5vZGVfX25hbWUgbm9kZS1uYW1lLWRvY3VtZW50XCI+e3tub2RlLm5hbWV9fTwvc3Bhbj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwibm9kZV9fZG9jdW1lbnQtb3B0aW9uc1wiPlxuICAgICAgICAgICAgPGNjZC1jYXNlLWZpbGUtdmlldy1mb2xkZXItZG9jdW1lbnQtYWN0aW9uc1xuICAgICAgICAgICAgICAoY2hhbmdlRm9sZGVyQWN0aW9uKT1cInRyaWdnZXJEb2N1bWVudEFjdGlvbignY2hhbmdlRm9sZGVyJywgbm9kZSlcIlxuICAgICAgICAgICAgICAob3BlbkluQU5ld1RhYkFjdGlvbik9XCJ0cmlnZ2VyRG9jdW1lbnRBY3Rpb24oJ29wZW5JbkFOZXdUYWInLCBub2RlKVwiXG4gICAgICAgICAgICAgIChkb3dubG9hZEFjdGlvbik9XCJ0cmlnZ2VyRG9jdW1lbnRBY3Rpb24oJ2Rvd25sb2FkJywgbm9kZSlcIlxuICAgICAgICAgICAgICAocHJpbnRBY3Rpb24pPVwidHJpZ2dlckRvY3VtZW50QWN0aW9uKCdwcmludCcsIG5vZGUpXCJcbiAgICAgICAgICAgICAgW2FsbG93TW92aW5nXT1cImFsbG93TW92aW5nXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgIDwvY2NkLWNhc2UtZmlsZS12aWV3LWZvbGRlci1kb2N1bWVudC1hY3Rpb25zPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgIDwvY2RrLW5lc3RlZC10cmVlLW5vZGU+XG4gICAgICA8IS0tIGZvbGRlci0tPlxuICAgICAgPGNkay1uZXN0ZWQtdHJlZS1ub2RlIGNsYXNzPVwiZG9jdW1lbnQtdHJlZS1jb250YWluZXJfX25vZGUgZG9jdW1lbnQtdHJlZS1jb250YWluZXJfX2ZvbGRlclwiICpjZGtUcmVlTm9kZURlZj1cImxldCBub2RlOyB3aGVuOiBuZXN0ZWRDaGlsZHJlblwiPlxuICAgICAgICA8YnV0dG9uIGNsYXNzPVwibm9kZVwiIGNka1RyZWVOb2RlVG9nZ2xlPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJub2RlX19pY29uXCIgW2F0dHIuYXJpYS1sYWJlbF09XCIndG9nZ2xlICcgKyBub2RlLm5hbWVcIiA+XG4gICAgICAgICAgICA8aW1nIGNsYXNzPVwibm9kZV9faWNvbkltZ1wiXG4gICAgICAgICAgICAgICAgIFtzcmNdPVwibmVzdGVkVHJlZUNvbnRyb2wuaXNFeHBhbmRlZChub2RlKSA/ICcvYXNzZXRzL2ltYWdlcy9mb2xkZXItb3Blbi5wbmcnIDogJy9hc3NldHMvaW1hZ2VzL2ZvbGRlci5wbmcnXCIgYWx0PVwiRm9sZGVyIGljb25cIj5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibm9kZV9fY291bnRcIj57e25vZGUuY2hpbGREb2N1bWVudENvdW50fX08L3NwYW4+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJub2RlX19uYW1lIG5vZGVfX25hbWUtLWZvbGRlclwiPnt7bm9kZS5uYW1lfX08L3NwYW4+XG4gICAgICAgIDwvYnV0dG9uPlxuXG4gICAgICAgIDxkaXYgW2NsYXNzLmRvY3VtZW50LXRyZWUtaW52aXNpYmxlXT1cIiFuZXN0ZWRUcmVlQ29udHJvbC5pc0V4cGFuZGVkKG5vZGUpXCI+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciBjZGtUcmVlTm9kZU91dGxldD48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Nkay1uZXN0ZWQtdHJlZS1ub2RlPlxuICAgIDwvY2RrLXRyZWU+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
@@ -0,0 +1,159 @@
1
+ import { Component, Inject } from '@angular/core';
2
+ import { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "@angular/material/dialog";
5
+ import * as i2 from "@angular/common";
6
+ function CaseFileViewFolderSelectorComponent_ng_container_5_ng_container_1_Template(rf, ctx) { if (rf & 1) {
7
+ i0.ɵɵelementContainer(0);
8
+ } }
9
+ const _c0 = function (a0) { return { cat: a0, level: 1 }; };
10
+ function CaseFileViewFolderSelectorComponent_ng_container_5_Template(rf, ctx) { if (rf & 1) {
11
+ i0.ɵɵelementContainerStart(0);
12
+ i0.ɵɵtemplate(1, CaseFileViewFolderSelectorComponent_ng_container_5_ng_container_1_Template, 1, 0, "ng-container", 8);
13
+ i0.ɵɵelementContainerEnd();
14
+ } if (rf & 2) {
15
+ const cat_r3 = ctx.$implicit;
16
+ i0.ɵɵnextContext();
17
+ const _r1 = i0.ɵɵreference(13);
18
+ i0.ɵɵadvance(1);
19
+ i0.ɵɵproperty("ngTemplateOutlet", _r1)("ngTemplateOutletContext", i0.ɵɵpureFunction1(2, _c0, cat_r3));
20
+ } }
21
+ function CaseFileViewFolderSelectorComponent_ng_template_12_ng_container_5_ng_container_1_Template(rf, ctx) { if (rf & 1) {
22
+ i0.ɵɵelementContainer(0);
23
+ } }
24
+ const _c1 = function (a0, a1) { return { cat: a0, level: a1 }; };
25
+ function CaseFileViewFolderSelectorComponent_ng_template_12_ng_container_5_Template(rf, ctx) { if (rf & 1) {
26
+ i0.ɵɵelementContainerStart(0);
27
+ i0.ɵɵtemplate(1, CaseFileViewFolderSelectorComponent_ng_template_12_ng_container_5_ng_container_1_Template, 1, 0, "ng-container", 8);
28
+ i0.ɵɵelementContainerEnd();
29
+ } if (rf & 2) {
30
+ const subcat_r8 = ctx.$implicit;
31
+ const level_r6 = i0.ɵɵnextContext().level;
32
+ i0.ɵɵnextContext();
33
+ const _r1 = i0.ɵɵreference(13);
34
+ i0.ɵɵadvance(1);
35
+ i0.ɵɵproperty("ngTemplateOutlet", _r1)("ngTemplateOutletContext", i0.ɵɵpureFunction2(2, _c1, subcat_r8, level_r6 + 1));
36
+ } }
37
+ function CaseFileViewFolderSelectorComponent_ng_template_12_Template(rf, ctx) { if (rf & 1) {
38
+ const _r12 = i0.ɵɵgetCurrentView();
39
+ i0.ɵɵelementStart(0, "div", 9);
40
+ i0.ɵɵelementStart(1, "input", 10);
41
+ i0.ɵɵlistener("click", function CaseFileViewFolderSelectorComponent_ng_template_12_Template_input_click_1_listener($event) { i0.ɵɵrestoreView(_r12); const ctx_r11 = i0.ɵɵnextContext(); return ctx_r11.handleChange($event); });
42
+ i0.ɵɵelementEnd();
43
+ i0.ɵɵelementStart(2, "label", 11);
44
+ i0.ɵɵelement(3, "img", 12);
45
+ i0.ɵɵtext(4);
46
+ i0.ɵɵelementEnd();
47
+ i0.ɵɵtemplate(5, CaseFileViewFolderSelectorComponent_ng_template_12_ng_container_5_Template, 2, 5, "ng-container", 2);
48
+ i0.ɵɵelementEnd();
49
+ } if (rf & 2) {
50
+ const cat_r5 = ctx.cat;
51
+ const level_r6 = ctx.level;
52
+ i0.ɵɵadvance(1);
53
+ i0.ɵɵpropertyInterpolate1("name", "level-", level_r6, "");
54
+ i0.ɵɵproperty("id", cat_r5.category_id);
55
+ i0.ɵɵadvance(1);
56
+ i0.ɵɵproperty("for", cat_r5.category_id);
57
+ i0.ɵɵadvance(2);
58
+ i0.ɵɵtextInterpolate1(" ", cat_r5.category_name, " ");
59
+ i0.ɵɵadvance(1);
60
+ i0.ɵɵproperty("ngForOf", cat_r5.sub_categories);
61
+ } }
62
+ export class CaseFileViewFolderSelectorComponent {
63
+ constructor(dialogRef, data) {
64
+ this.dialogRef = dialogRef;
65
+ this.data = data;
66
+ this.currentCategories = [];
67
+ this.selected = '';
68
+ this.currentCategories = [...this.data.categories];
69
+ }
70
+ ngAfterViewInit() {
71
+ const path = this.findPath();
72
+ path.forEach(p => document.getElementById(p).checked = true);
73
+ }
74
+ handleChange(evt) {
75
+ if (evt.target.checked) {
76
+ this.select(evt.target.id);
77
+ // get level of this checkbox so we can clear all lower levels
78
+ let level = parseInt(evt.target.name.split('-')[1], 10) + 1;
79
+ let nodes = document.getElementsByName(`level-${level}`);
80
+ while (nodes.length > 0) {
81
+ nodes.forEach((node) => node.checked = false);
82
+ level += 1;
83
+ nodes = document.getElementsByName(`level-${level}`);
84
+ }
85
+ }
86
+ }
87
+ select(categoryId) {
88
+ this.selected = categoryId;
89
+ }
90
+ cancel() {
91
+ this.dialogRef.close();
92
+ }
93
+ save() {
94
+ this.dialogRef.close(this.selected.length > 0 ? this.selected : null);
95
+ }
96
+ findPath() {
97
+ for (const c of this.data.categories) {
98
+ const r = this.containsDocument(c, this.data.document);
99
+ if (r) {
100
+ return r;
101
+ }
102
+ }
103
+ }
104
+ containsDocument(cat, document) {
105
+ if (cat.documents.findIndex(doc => doc.document_binary_url === document.document_binary_url) > -1) {
106
+ return [cat.category_id];
107
+ }
108
+ for (const c of cat.sub_categories) {
109
+ const r = this.containsDocument(c, document);
110
+ if (r) {
111
+ return [cat.category_id, ...r];
112
+ }
113
+ }
114
+ return null;
115
+ }
116
+ }
117
+ CaseFileViewFolderSelectorComponent.ɵfac = function CaseFileViewFolderSelectorComponent_Factory(t) { return new (t || CaseFileViewFolderSelectorComponent)(i0.ɵɵdirectiveInject(i1.MatDialogRef), i0.ɵɵdirectiveInject(MAT_DIALOG_DATA)); };
118
+ CaseFileViewFolderSelectorComponent.ɵcmp = i0.ɵɵdefineComponent({ type: CaseFileViewFolderSelectorComponent, selectors: [["xui-case-file-view-folder-selector"]], decls: 14, vars: 2, consts: [[1, "govuk-heading-l"], [1, "folders", "govuk-radios", "govuk-radios--conditional"], [4, "ngFor", "ngForOf"], [1, "govuk-button-group"], ["type", "button", 1, "button", "button-primary", 3, "click"], [1, "cancel", 3, "click"], [1, "close", 3, "click"], ["folder", ""], [4, "ngTemplateOutlet", "ngTemplateOutletContext"], [1, "folder", "govuk-radios__item"], ["type", "radio", 1, "govuk-radios__input", 3, "name", "id", "click"], [1, "govuk-label", "govuk-radios__label", 3, "for"], ["src", "/assets/images/folder.png", "alt", "Folder icon", 1, "iconImg"]], template: function CaseFileViewFolderSelectorComponent_Template(rf, ctx) { if (rf & 1) {
119
+ i0.ɵɵelementStart(0, "h2", 0);
120
+ i0.ɵɵtext(1, "Move File");
121
+ i0.ɵɵelementEnd();
122
+ i0.ɵɵelementStart(2, "p");
123
+ i0.ɵɵtext(3);
124
+ i0.ɵɵelementEnd();
125
+ i0.ɵɵelementStart(4, "div", 1);
126
+ i0.ɵɵtemplate(5, CaseFileViewFolderSelectorComponent_ng_container_5_Template, 2, 4, "ng-container", 2);
127
+ i0.ɵɵelementEnd();
128
+ i0.ɵɵelementStart(6, "div", 3);
129
+ i0.ɵɵelementStart(7, "button", 4);
130
+ i0.ɵɵlistener("click", function CaseFileViewFolderSelectorComponent_Template_button_click_7_listener() { return ctx.save(); });
131
+ i0.ɵɵtext(8, "Save");
132
+ i0.ɵɵelementEnd();
133
+ i0.ɵɵelementStart(9, "a", 5);
134
+ i0.ɵɵlistener("click", function CaseFileViewFolderSelectorComponent_Template_a_click_9_listener() { return ctx.cancel(); });
135
+ i0.ɵɵtext(10, "Cancel");
136
+ i0.ɵɵelementEnd();
137
+ i0.ɵɵelementEnd();
138
+ i0.ɵɵelementStart(11, "div", 6);
139
+ i0.ɵɵlistener("click", function CaseFileViewFolderSelectorComponent_Template_div_click_11_listener() { return ctx.cancel(); });
140
+ i0.ɵɵelementEnd();
141
+ i0.ɵɵtemplate(12, CaseFileViewFolderSelectorComponent_ng_template_12_Template, 6, 5, "ng-template", null, 7, i0.ɵɵtemplateRefExtractor);
142
+ } if (rf & 2) {
143
+ i0.ɵɵadvance(3);
144
+ i0.ɵɵtextInterpolate1("Where do you want to move \"", ctx.data.document.document_filename, "\" file?");
145
+ i0.ɵɵadvance(2);
146
+ i0.ɵɵproperty("ngForOf", ctx.currentCategories);
147
+ } }, directives: [i2.NgForOf, i2.NgTemplateOutlet], styles: ["[_nghost-%COMP%]{position:relative;display:block}.folders[_ngcontent-%COMP%]{margin-bottom:20px}.folder[_ngcontent-%COMP%]{display:none;border-bottom:1px solid #ccc;border-top:1px solid #ccc;margin:0 0 -1px}.folders[_ngcontent-%COMP%] > .folder[_ngcontent-%COMP%], input[_ngcontent-%COMP%]:checked ~ .folder[_ngcontent-%COMP%]{display:block}.iconImg[_ngcontent-%COMP%]{position:relative;display:inline-block;height:28px}.folder[_ngcontent-%COMP%] > .folder[_ngcontent-%COMP%]{margin-left:20px}.folder[_ngcontent-%COMP%] label[_ngcontent-%COMP%]:before{top:3px}.folder[_ngcontent-%COMP%] label[_ngcontent-%COMP%]:after{top:13px}p[_ngcontent-%COMP%]{font-weight:700}button[_ngcontent-%COMP%]{margin-right:20px}.close[_ngcontent-%COMP%]{position:absolute;top:0;right:0;width:30px;height:30px;background:url(/assets/img/x.PNG) no-repeat 50%}.cancel[_ngcontent-%COMP%], .close[_ngcontent-%COMP%]{cursor:pointer}"] });
148
+ (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(CaseFileViewFolderSelectorComponent, [{
149
+ type: Component,
150
+ args: [{
151
+ selector: 'xui-case-file-view-folder-selector',
152
+ templateUrl: './case-file-view-folder-selector.component.html',
153
+ styleUrls: ['./case-file-view-folder-selector.component.scss']
154
+ }]
155
+ }], function () { return [{ type: i1.MatDialogRef }, { type: undefined, decorators: [{
156
+ type: Inject,
157
+ args: [MAT_DIALOG_DATA]
158
+ }] }]; }, null); })();
159
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FzZS1maWxlLXZpZXctZm9sZGVyLXNlbGVjdG9yLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NjZC1jYXNlLXVpLXRvb2xraXQvc3JjL2xpYi9zaGFyZWQvY29tcG9uZW50cy9wYWxldHRlL2Nhc2UtZmlsZS12aWV3L2NvbXBvbmVudHMvY2FzZS1maWxlLXZpZXctZm9sZGVyLXNlbGVjdG9yL2Nhc2UtZmlsZS12aWV3LWZvbGRlci1zZWxlY3Rvci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jY2QtY2FzZS11aS10b29sa2l0L3NyYy9saWIvc2hhcmVkL2NvbXBvbmVudHMvcGFsZXR0ZS9jYXNlLWZpbGUtdmlldy9jb21wb25lbnRzL2Nhc2UtZmlsZS12aWV3LWZvbGRlci1zZWxlY3Rvci9jYXNlLWZpbGUtdmlldy1mb2xkZXItc2VsZWN0b3IuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFpQixTQUFTLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2pFLE9BQU8sRUFBRSxZQUFZLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7Ozs7O0lDR2pFLHdCQUFrRjs7OztJQUR0Riw2QkFBb0Q7SUFDaEQscUhBQWtGO0lBQ3RGLDBCQUFlOzs7OztJQURJLGVBQXlCO0lBQXpCLHNDQUF5QiwrREFBQTs7O0lBaUJwQyx3QkFBMkY7Ozs7SUFEL0YsNkJBQXdEO0lBQ3BELG9JQUEyRjtJQUMvRiwwQkFBZTs7Ozs7O0lBREksZUFBeUI7SUFBekIsc0NBQXlCLGdGQUFBOzs7O0lBUGhELDhCQUF1QztJQUNuQyxpQ0FBK0g7SUFBakMsZ09BQThCO0lBQTVILGlCQUErSDtJQUMvSCxpQ0FBdUU7SUFDbkUsMEJBQXlFO0lBQ3pFLFlBQ0o7SUFBQSxpQkFB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LENBQUMsV0FBVyxDQUFDLENBQUM7U0FDNUI7UUFDRCxLQUFLLE1BQU0sQ0FBQyxJQUFJLEdBQUcsQ0FBQyxjQUFjLEVBQUU7WUFDaEMsTUFBTSxDQUFDLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUMsRUFBRSxRQUFRLENBQUMsQ0FBQztZQUM3QyxJQUFJLENBQUMsRUFBRTtnQkFDSCxPQUFPLENBQUMsR0FBRyxDQUFDLFdBQVcsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDO2FBQ2xDO1NBQ0o7UUFDRCxPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDOztzSEEvRFEsbUNBQW1DLDhEQU9oQyxlQUFlO3dFQVBsQixtQ0FBbUM7UUNWaEQsNkJBQTRCO1FBQUEseUJBQVM7UUFBQSxpQkFBSztRQUMxQyx5QkFBRztRQUFBLFlBQXVFO1FBQUEsaUJBQUk7UUFDOUUsOEJBQTREO1FBQ3hELHNHQUVlO1FBQ25CLGlCQUFNO1FBQ04sOEJBQWdDO1FBQzVCLGlDQUFxRTtRQUFqQixnSEFBUyxVQUFNLElBQUM7UUFBQyxvQkFBSTtRQUFBLGlCQUFTO1FBQ2xGLDRCQUFxQztRQUFsQywyR0FBUyxZQUFRLElBQUM7UUFBZ0IsdUJBQU07UUFBQSxpQkFBSTtRQUNuRCxpQkFBTTtRQUNOLCtCQUFzQztRQUFuQiw4R0FBUyxZQUFRLElBQUM7UUFBQyxpQkFBTTtRQUU1Qyx1SUFXYzs7UUF2QlgsZUFBdUU7UUFBdkUsc0dBQXVFO1FBRXhDLGVBQW9CO1FBQXBCLCtDQUFvQjs7dUZET3pDLG1DQUFtQztjQUwvQyxTQUFTO2VBQUM7Z0JBQ1AsUUFBUSxFQUFFLG9DQUFvQztnQkFDOUMsV0FBVyxFQUFFLGlEQUFpRDtnQkFDOUQsU0FBUyxFQUFFLENBQUMsaURBQWlELENBQUM7YUFDakU7O3NCQVFRLE1BQU07dUJBQUMsZUFBZSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFmdGVyVmlld0luaXQsIENvbXBvbmVudCwgSW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNYXREaWFsb2dSZWYsIE1BVF9ESUFMT0dfREFUQSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XG5pbXBvcnQgeyBEb2N1bWVudFRyZWVOb2RlIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vZG9tYWluL2Nhc2UtZmlsZS12aWV3JztcbmltcG9ydCB7IENhc2VGaWxlVmlld0NhdGVnb3J5IH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vZG9tYWluL2Nhc2UtZmlsZS12aWV3L2Nhc2UtZmlsZS12aWV3LWNhdGVnb3J5Lm1vZGVsJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICd4dWktY2FzZS1maWxlLXZpZXctZm9sZGVyLXNlbGVjdG9yJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vY2FzZS1maWxlLXZpZXctZm9sZGVyLXNlbGVjdG9yLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9jYXNlLWZpbGUtdmlldy1mb2xkZXItc2VsZWN0b3IuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBDYXNlRmlsZVZpZXdGb2xkZXJTZWxlY3RvckNvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQge1xuXG4gICAgcHVibGljIGN1cnJlbnRDYXRlZ29yaWVzOiBDYXNlRmlsZVZpZXdDYXRlZ29yeVtdID0gW107XG4gICAgcHVibGljIHNlbGVjdGVkOiBzdHJpbmcgPSAnJztcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwdWJsaWMgZGlhbG9nUmVmOiBNYXREaWFsb2dSZWY8Q2FzZUZpbGVWaWV3Rm9sZGVyU2VsZWN0b3JDb21wb25lbnQ+LFxuICAgICAgICBASW5qZWN0KE1BVF9ESUFMT0dfREFUQSkgcHVibGljIGRhdGE6IHsgY2F0ZWdvcmllczogQ2FzZUZpbGVWaWV3Q2F0ZWdvcnlbXSwgZG9jdW1lbnQ6IERvY3VtZW50VHJlZU5vZGUgfVxuICAgICkge1xuICAgICAgICB0aGlzLmN1cnJlbnRDYXRlZ29yaWVzID0gWy4uLnRoaXMuZGF0YS5jYXRlZ29yaWVzXTtcbiAgICB9XG5cbiAgICBwdWJsaWMgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgICAgICBjb25zdCBwYXRoID0gdGhpcy5maW5kUGF0aCgpO1xuICAgICAgICBwYXRoLmZvckVhY2gocCA9PiAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQocCkgYXMgSFRNTElucHV0RWxlbWVudCkuY2hlY2tlZCA9IHRydWUpO1xuICAgIH1cblxuICAgIHB1YmxpYyBoYW5kbGVDaGFuZ2UoZXZ0KSB7XG4gICAgICAgIGlmIChldnQudGFyZ2V0LmNoZWNrZWQpIHtcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0KGV2dC50YXJnZXQuaWQpO1xuICAgICAgICAgICAgLy8gZ2V0IGxldmVsIG9mIHRoaXMgY2hlY2tib3ggc28gd2UgY2FuIGNsZWFyIGFsbCBsb3dlciBsZXZlbHNcbiAgICAgICAgICAgIGxldCBsZXZlbCA9IHBhcnNlSW50KGV2dC50YXJnZXQubmFtZS5zcGxpdCgnLScpWzFdLCAxMCkgKyAxO1xuICAgICAgICAgICAgbGV0IG5vZGVzID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeU5hbWUoYGxldmVsLSR7bGV2ZWx9YCk7XG4gICAgICAgICAgICB3aGlsZSAobm9kZXMubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgICAgIG5vZGVzLmZvckVhY2goKG5vZGU6IEhUTUxJbnB1dEVsZW1lbnQpID0+IG5vZGUuY2hlY2tlZCA9IGZhbHNlKTtcbiAgICAgICAgICAgICAgICBsZXZlbCArPSAxO1xuICAgICAgICAgICAgICAgIG5vZGVzID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeU5hbWUoYGxldmVsLSR7bGV2ZWx9YCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgc2VsZWN0KGNhdGVnb3J5SWQ6IHN0cmluZykge1xuICAgICAgICB0aGlzLnNlbGVjdGVkID0gY2F0ZWdvcnlJZDtcbiAgICB9XG5cbiAgICBwdWJsaWMgY2FuY2VsKCkge1xuICAgICAgICB0aGlzLmRpYWxvZ1JlZi5jbG9zZSgpO1xuICAgIH1cblxuICAgIHB1YmxpYyBzYXZlKCkge1xuICAgICAgICB0aGlzLmRpYWxvZ1JlZi5jbG9zZSh0aGlzLnNlbGVjdGVkLmxlbmd0aCA+IDAgPyB0aGlzLnNlbGVjdGVkIDogbnVsbCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBmaW5kUGF0aCgpOiBzdHJpbmdbXSB7XG4gICAgICAgIGZvciAoY29uc3QgYyBvZiB0aGlzLmRhdGEuY2F0ZWdvcmllcykge1xuICAgICAgICAgICAgY29uc3QgciA9IHRoaXMuY29udGFpbnNEb2N1bWVudChjLCB0aGlzLmRhdGEuZG9jdW1lbnQpO1xuICAgICAgICAgICAgaWYgKHIpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgY29udGFpbnNEb2N1bWVudChjYXQ6IENhc2VGaWxlVmlld0NhdGVnb3J5LCBkb2N1bWVudDogRG9jdW1lbnRUcmVlTm9kZSk6IHN0cmluZ1tdIHwgbnVsbCB7XG4gICAgICAgIGlmIChjYXQuZG9jdW1lbnRzLmZpbmRJbmRleChkb2MgPT4gZG9jLmRvY3VtZW50X2JpbmFyeV91cmwgPT09IGRvY3VtZW50LmRvY3VtZW50X2JpbmFyeV91cmwpID4gLTEpIHtcbiAgICAgICAgICAgIHJldHVybiBbY2F0LmNhdGVnb3J5X2lkXTtcbiAgICAgICAgfVxuICAgICAgICBmb3IgKGNvbnN0IGMgb2YgY2F0LnN1Yl9jYXRlZ29yaWVzKSB7XG4gICAgICAgICAgICBjb25zdCByID0gdGhpcy5jb250YWluc0RvY3VtZW50KGMsIGRvY3VtZW50KTtcbiAgICAgICAgICAgIGlmIChyKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIFtjYXQuY2F0ZWdvcnlfaWQsIC4uLnJdO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbn0iLCI8aDIgY2xhc3M9XCJnb3Z1ay1oZWFkaW5nLWxcIj5Nb3ZlIEZpbGU8L2gyPlxuPHA+V2hlcmUgZG8geW91IHdhbnQgdG8gbW92ZSBcInt7IGRhdGEuZG9jdW1lbnQuZG9jdW1lbnRfZmlsZW5hbWUgfX1cIiBmaWxlPzwvcD5cbjxkaXYgY2xhc3M9XCJmb2xkZXJzIGdvdnVrLXJhZGlvcyBnb3Z1ay1yYWRpb3MtLWNvbmRpdGlvbmFsXCI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgY2F0IG9mIGN1cnJlbnRDYXRlZ29yaWVzXCI+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJmb2xkZXI7Y29udGV4dDp7Y2F0OmNhdCxsZXZlbDoxfVwiPjwvbmctY29udGFpbmVyPlxuICAgIDwvbmctY29udGFpbmVyPlxuPC9kaXY+XG48ZGl2IGNsYXNzPVwiZ292dWstYnV0dG9uLWdyb3VwXCI+XG4gICAgPGJ1dHRvbiBjbGFzcz1cImJ1dHRvbiBidXR0b24tcHJpbWFyeVwiIHR5cGU9XCJidXR0b25cIiAoY2xpY2spPVwic2F2ZSgpXCI+U2F2ZTwvYnV0dG9uPlxuICAgIDxhIChjbGljayk9XCJjYW5jZWwoKVwiIGNsYXNzPVwiY2FuY2VsXCI+Q2FuY2VsPC9hPlxuPC9kaXY+XG48ZGl2IGNsYXNzPVwiY2xvc2VcIiAoY2xpY2spPVwiY2FuY2VsKClcIj48L2Rpdj5cblxuPG5nLXRlbXBsYXRlICNmb2xkZXIgbGV0LWNhdD1cImNhdFwiIGxldC1sZXZlbD1cImxldmVsXCI+XG4gICAgPGRpdiBjbGFzcz1cImZvbGRlciBnb3Z1ay1yYWRpb3NfX2l0ZW1cIj5cbiAgICAgICAgPGlucHV0IGNsYXNzPVwiZ292dWstcmFkaW9zX19pbnB1dFwiIHR5cGU9XCJyYWRpb1wiIG5hbWU9XCJsZXZlbC17e2xldmVsfX1cIiBbaWRdPVwiY2F0LmNhdGVnb3J5X2lkXCIgKGNsaWNrKT1cImhhbmRsZUNoYW5nZSgkZXZlbnQpXCIgLz5cbiAgICAgICAgPGxhYmVsIGNsYXNzPVwiZ292dWstbGFiZWwgZ292dWstcmFkaW9zX19sYWJlbFwiIFtmb3JdPVwiY2F0LmNhdGVnb3J5X2lkXCI+XG4gICAgICAgICAgICA8aW1nIGNsYXNzPVwiaWNvbkltZ1wiIHNyYz1cIi9hc3NldHMvaW1hZ2VzL2ZvbGRlci5wbmdcIiBhbHQ9XCJGb2xkZXIgaWNvblwiIC8+XG4gICAgICAgICAgICB7eyBjYXQuY2F0ZWdvcnlfbmFtZSB9fVxuICAgICAgICA8L2xhYmVsPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBzdWJjYXQgb2YgY2F0LnN1Yl9jYXRlZ29yaWVzXCI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiZm9sZGVyO2NvbnRleHQ6e2NhdDpzdWJjYXQsbGV2ZWw6bGV2ZWwrMX1cIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC9kaXY+XG48L25nLXRlbXBsYXRlPiJdfQ==
@@ -0,0 +1,6 @@
1
+ export * from './case-file-view-folder-selector/case-file-view-folder-selector.component';
2
+ export * from './case-file-view-folder/case-file-view-folder-document-actions/case-file-view-folder-document-actions.component';
3
+ export * from './case-file-view-folder/case-file-view-folder-sort/case-file-view-folder-sort.component';
4
+ export * from './case-file-view-folder/case-file-view-folder.component';
5
+ export * from './shared';
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jY2QtY2FzZS11aS10b29sa2l0L3NyYy9saWIvc2hhcmVkL2NvbXBvbmVudHMvcGFsZXR0ZS9jYXNlLWZpbGUtdmlldy9jb21wb25lbnRzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsMkVBQTJFLENBQUM7QUFDMUYsY0FBYyxpSEFBaUgsQ0FBQztBQUNoSSxjQUFjLHlGQUF5RixDQUFDO0FBQ3hHLGNBQWMseURBQXlELENBQUM7QUFDeEUsY0FBYyxVQUFVLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2Nhc2UtZmlsZS12aWV3LWZvbGRlci1zZWxlY3Rvci9jYXNlLWZpbGUtdmlldy1mb2xkZXItc2VsZWN0b3IuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vY2FzZS1maWxlLXZpZXctZm9sZGVyL2Nhc2UtZmlsZS12aWV3LWZvbGRlci1kb2N1bWVudC1hY3Rpb25zL2Nhc2UtZmlsZS12aWV3LWZvbGRlci1kb2N1bWVudC1hY3Rpb25zLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2Nhc2UtZmlsZS12aWV3LWZvbGRlci9jYXNlLWZpbGUtdmlldy1mb2xkZXItc29ydC9jYXNlLWZpbGUtdmlldy1mb2xkZXItc29ydC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9jYXNlLWZpbGUtdmlldy1mb2xkZXIvY2FzZS1maWxlLXZpZXctZm9sZGVyLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL3NoYXJlZCc7XG4iXX0=
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FzZS1maWxlLXZpZXctb3ZlcmxheS1tZW51LWl0ZW0ubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jY2QtY2FzZS11aS10b29sa2l0L3NyYy9saWIvc2hhcmVkL2NvbXBvbmVudHMvcGFsZXR0ZS9jYXNlLWZpbGUtdmlldy9jb21wb25lbnRzL3NoYXJlZC9jYXNlLWZpbGUtdmlldy1vdmVybGF5LW1lbnUvY2FzZS1maWxlLXZpZXctb3ZlcmxheS1tZW51LWl0ZW0ubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgQ2FzZUZpbGVWaWV3T3ZlcmxheU1lbnVJdGVtIHtcbiAgYWN0aW9uVGV4dDogc3RyaW5nO1xuICBpY29uU3JjPzogc3RyaW5nO1xuICBhY3Rpb25GbigpOiB2b2lkO1xufVxuIl19