@valtimo/dossier 10.8.0 → 11.1.0

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 (223) hide show
  1. package/esm2022/lib/components/dossier-assign-user/dossier-assign-user.component.mjs +98 -0
  2. package/esm2022/lib/components/dossier-bulk-assign-modal/dossier-bulk-assign-modal.component.mjs +75 -0
  3. package/esm2022/lib/components/dossier-detail/dossier-detail.component.mjs +191 -0
  4. package/esm2022/lib/components/dossier-detail/tab/audit/audit.component.mjs +76 -0
  5. package/esm2022/lib/components/dossier-detail/tab/contact-moments/contact-moments.component.mjs +86 -0
  6. package/esm2022/lib/components/dossier-detail/tab/documenten-api-documents/documenten-api-documents.component.mjs +146 -0
  7. package/esm2022/lib/components/dossier-detail/tab/documents/documents.component.mjs +41 -0
  8. package/esm2022/lib/components/dossier-detail/tab/formio/formio.component.mjs +61 -0
  9. package/esm2022/lib/components/dossier-detail/tab/notes/notes.component.mjs +166 -0
  10. package/esm2022/lib/components/dossier-detail/tab/object-type/object-type.component.mjs +121 -0
  11. package/esm2022/lib/components/dossier-detail/tab/progress/progress.component.mjs +52 -0
  12. package/esm2022/lib/components/dossier-detail/tab/s3-documents/s3-documents.component.mjs +136 -0
  13. package/esm2022/lib/components/dossier-detail/tab/summary/summary.component.mjs +134 -0
  14. package/esm2022/lib/components/dossier-detail/tab/zaakobjecten/zaakobjecten.component.mjs +112 -0
  15. package/esm2022/lib/components/dossier-list/dossier-list.component.mjs +370 -0
  16. package/esm2022/lib/components/dossier-list-actions/dossier-list-actions.component.mjs +84 -0
  17. package/esm2022/lib/components/dossier-process-start-modal/dossier-process-start-modal.component.mjs +132 -0
  18. package/esm2022/lib/components/dossier-supporting-process-start-modal/dossier-supporting-process-start-modal.component.mjs +116 -0
  19. package/esm2022/lib/components/dossier-update/dossier-update.component.mjs +113 -0
  20. package/{esm2020 → esm2022}/lib/components/note-modal/note-modal.component.mjs +5 -5
  21. package/esm2022/lib/constants/case-tab-token.mjs +19 -0
  22. package/esm2022/lib/constants/index.mjs +3 -0
  23. package/esm2022/lib/constants/tab.mjs +42 -0
  24. package/esm2022/lib/dossier-routing.module.mjs +76 -0
  25. package/esm2022/lib/dossier.module.mjs +288 -0
  26. package/esm2022/lib/models/candidate-user.model.mjs +17 -0
  27. package/esm2022/lib/models/dossier-detail-tab.model.mjs +27 -0
  28. package/{esm2020 → esm2022}/lib/models/dossier-parameters.model.mjs +1 -1
  29. package/esm2022/lib/models/index.mjs +23 -0
  30. package/esm2022/lib/models/tab-api.model.mjs +23 -0
  31. package/esm2022/lib/models/tabs.model.mjs +116 -0
  32. package/esm2022/lib/permissions/dossier-detail.permissions.mjs +55 -0
  33. package/esm2022/lib/permissions/index.mjs +17 -0
  34. package/esm2022/lib/pipes/index.mjs +17 -0
  35. package/esm2022/lib/pipes/tab-translate/index.mjs +18 -0
  36. package/esm2022/lib/pipes/tab-translate/tab-translate-pipe.module.mjs +33 -0
  37. package/esm2022/lib/pipes/tab-translate/tab-translate.pipe.mjs +41 -0
  38. package/esm2022/lib/services/dossier-bulk-assign.service.mjs +35 -0
  39. package/esm2022/lib/services/dossier-column.service.mjs +98 -0
  40. package/esm2022/lib/services/dossier-list-assignee.service.mjs +89 -0
  41. package/esm2022/lib/services/dossier-list-pagination.service.mjs +119 -0
  42. package/esm2022/lib/services/dossier-list-search.service.mjs +59 -0
  43. package/esm2022/lib/services/dossier-list.service.mjs +74 -0
  44. package/esm2022/lib/services/dossier-parameter.service.mjs +165 -0
  45. package/esm2022/lib/services/dossier-tab-api.service.mjs +23 -0
  46. package/esm2022/lib/services/dossier-tab.service.mjs +130 -0
  47. package/esm2022/lib/services/dossier.service.mjs +58 -0
  48. package/{esm2020 → esm2022}/lib/services/file-sort.service.mjs +4 -4
  49. package/esm2022/lib/services/index.mjs +27 -0
  50. package/esm2022/lib/services/notes.service.mjs +76 -0
  51. package/{esm2020 → esm2022}/lib/services/zaakobjecten.service.mjs +4 -4
  52. package/esm2022/public_api.mjs +34 -0
  53. package/fesm2022/valtimo-dossier.mjs +3979 -0
  54. package/fesm2022/valtimo-dossier.mjs.map +1 -0
  55. package/lib/components/dossier-assign-user/dossier-assign-user.component.d.ts +28 -0
  56. package/lib/components/dossier-assign-user/dossier-assign-user.component.d.ts.map +1 -0
  57. package/lib/components/dossier-bulk-assign-modal/dossier-bulk-assign-modal.component.d.ts +22 -0
  58. package/lib/components/dossier-bulk-assign-modal/dossier-bulk-assign-modal.component.d.ts.map +1 -0
  59. package/lib/{dossier-detail → components/dossier-detail}/dossier-detail.component.d.ts +36 -33
  60. package/lib/components/dossier-detail/dossier-detail.component.d.ts.map +1 -0
  61. package/lib/{dossier-detail → components/dossier-detail}/tab/audit/audit.component.d.ts +1 -1
  62. package/lib/components/dossier-detail/tab/audit/audit.component.d.ts.map +1 -0
  63. package/lib/{dossier-detail → components/dossier-detail}/tab/contact-moments/contact-moments.component.d.ts +1 -1
  64. package/lib/components/dossier-detail/tab/contact-moments/contact-moments.component.d.ts.map +1 -0
  65. package/lib/{dossier-detail → components/dossier-detail}/tab/documenten-api-documents/documenten-api-documents.component.d.ts +3 -4
  66. package/lib/components/dossier-detail/tab/documenten-api-documents/documenten-api-documents.component.d.ts.map +1 -0
  67. package/lib/{dossier-detail → components/dossier-detail}/tab/documents/documents.component.d.ts +1 -1
  68. package/lib/components/dossier-detail/tab/documents/documents.component.d.ts.map +1 -0
  69. package/lib/components/dossier-detail/tab/formio/formio.component.d.ts +20 -0
  70. package/lib/components/dossier-detail/tab/formio/formio.component.d.ts.map +1 -0
  71. package/lib/{dossier-detail → components/dossier-detail}/tab/notes/notes.component.d.ts +19 -12
  72. package/lib/components/dossier-detail/tab/notes/notes.component.d.ts.map +1 -0
  73. package/lib/{dossier-detail → components/dossier-detail}/tab/object-type/object-type.component.d.ts +5 -5
  74. package/lib/components/dossier-detail/tab/object-type/object-type.component.d.ts.map +1 -0
  75. package/lib/{dossier-detail → components/dossier-detail}/tab/progress/progress.component.d.ts +1 -1
  76. package/lib/components/dossier-detail/tab/progress/progress.component.d.ts.map +1 -0
  77. package/lib/{dossier-detail → components/dossier-detail}/tab/s3-documents/s3-documents.component.d.ts +3 -3
  78. package/lib/components/dossier-detail/tab/s3-documents/s3-documents.component.d.ts.map +1 -0
  79. package/lib/{dossier-detail → components/dossier-detail}/tab/summary/summary.component.d.ts +8 -4
  80. package/lib/components/dossier-detail/tab/summary/summary.component.d.ts.map +1 -0
  81. package/lib/{dossier-detail → components/dossier-detail}/tab/zaakobjecten/zaakobjecten.component.d.ts +5 -5
  82. package/lib/components/dossier-detail/tab/zaakobjecten/zaakobjecten.component.d.ts.map +1 -0
  83. package/lib/components/dossier-list/dossier-list.component.d.ts +94 -0
  84. package/lib/components/dossier-list/dossier-list.component.d.ts.map +1 -0
  85. package/lib/{dossier-list-actions → components/dossier-list-actions}/dossier-list-actions.component.d.ts +6 -7
  86. package/lib/components/dossier-list-actions/dossier-list-actions.component.d.ts.map +1 -0
  87. package/lib/{dossier-process-start-modal → components/dossier-process-start-modal}/dossier-process-start-modal.component.d.ts +4 -7
  88. package/lib/components/dossier-process-start-modal/dossier-process-start-modal.component.d.ts.map +1 -0
  89. package/lib/{dossier-supporting-process-start-modal → components/dossier-supporting-process-start-modal}/dossier-supporting-process-start-modal.component.d.ts +4 -7
  90. package/lib/components/dossier-supporting-process-start-modal/dossier-supporting-process-start-modal.component.d.ts.map +1 -0
  91. package/lib/{dossier-update → components/dossier-update}/dossier-update.component.d.ts +2 -2
  92. package/lib/components/dossier-update/dossier-update.component.d.ts.map +1 -0
  93. package/lib/components/note-modal/note-modal.component.d.ts +3 -3
  94. package/lib/components/note-modal/note-modal.component.d.ts.map +1 -1
  95. package/lib/constants/case-tab-token.d.ts +5 -0
  96. package/lib/constants/case-tab-token.d.ts.map +1 -0
  97. package/lib/constants/index.d.ts +3 -0
  98. package/lib/constants/index.d.ts.map +1 -0
  99. package/lib/constants/tab.d.ts +7 -0
  100. package/lib/constants/tab.d.ts.map +1 -0
  101. package/lib/dossier-routing.module.d.ts.map +1 -1
  102. package/lib/dossier.module.d.ts +35 -33
  103. package/lib/dossier.module.d.ts.map +1 -1
  104. package/lib/models/candidate-user.model.d.ts +7 -0
  105. package/lib/models/candidate-user.model.d.ts.map +1 -0
  106. package/lib/models/dossier-detail-tab.model.d.ts +18 -0
  107. package/lib/models/dossier-detail-tab.model.d.ts.map +1 -0
  108. package/lib/models/dossier-parameters.model.d.ts +0 -1
  109. package/lib/models/dossier-parameters.model.d.ts.map +1 -1
  110. package/lib/models/index.d.ts +5 -2
  111. package/lib/models/index.d.ts.map +1 -1
  112. package/lib/models/search.model.d.ts +3 -3
  113. package/lib/models/search.model.d.ts.map +1 -1
  114. package/lib/models/tab-api.model.d.ts +13 -0
  115. package/lib/models/tab-api.model.d.ts.map +1 -0
  116. package/lib/models/tabs.model.d.ts +11 -10
  117. package/lib/models/tabs.model.d.ts.map +1 -1
  118. package/lib/permissions/dossier-detail.permissions.d.ts +14 -0
  119. package/lib/permissions/dossier-detail.permissions.d.ts.map +1 -0
  120. package/lib/permissions/index.d.ts +2 -0
  121. package/lib/permissions/index.d.ts.map +1 -0
  122. package/lib/pipes/index.d.ts +2 -0
  123. package/lib/pipes/index.d.ts.map +1 -0
  124. package/lib/pipes/tab-translate/index.d.ts +3 -0
  125. package/lib/pipes/tab-translate/index.d.ts.map +1 -0
  126. package/lib/pipes/tab-translate/tab-translate-pipe.module.d.ts +9 -0
  127. package/lib/pipes/tab-translate/tab-translate-pipe.module.d.ts.map +1 -0
  128. package/lib/pipes/tab-translate/tab-translate.pipe.d.ts +13 -0
  129. package/lib/pipes/tab-translate/tab-translate.pipe.d.ts.map +1 -0
  130. package/lib/services/dossier-bulk-assign.service.d.ts +17 -0
  131. package/lib/services/dossier-bulk-assign.service.d.ts.map +1 -0
  132. package/lib/services/dossier-column.service.d.ts +1 -1
  133. package/lib/services/dossier-column.service.d.ts.map +1 -1
  134. package/lib/services/dossier-list-assignee.service.d.ts +5 -4
  135. package/lib/services/dossier-list-assignee.service.d.ts.map +1 -1
  136. package/lib/services/dossier-list-pagination.service.d.ts +2 -2
  137. package/lib/services/dossier-list-pagination.service.d.ts.map +1 -1
  138. package/lib/services/dossier-list-search.service.d.ts +0 -3
  139. package/lib/services/dossier-list-search.service.d.ts.map +1 -1
  140. package/lib/services/dossier-list.service.d.ts +6 -0
  141. package/lib/services/dossier-list.service.d.ts.map +1 -1
  142. package/lib/services/dossier-parameter.service.d.ts.map +1 -1
  143. package/lib/services/dossier-tab-api.service.d.ts +15 -0
  144. package/lib/services/dossier-tab-api.service.d.ts.map +1 -0
  145. package/lib/services/dossier-tab.service.d.ts +31 -0
  146. package/lib/services/dossier-tab.service.d.ts.map +1 -0
  147. package/lib/{dossier.service.d.ts → services/dossier.service.d.ts} +5 -1
  148. package/lib/services/dossier.service.d.ts.map +1 -0
  149. package/lib/services/index.d.ts +4 -1
  150. package/lib/services/index.d.ts.map +1 -1
  151. package/lib/services/notes.service.d.ts.map +1 -1
  152. package/lib/services/zaakobjecten.service.d.ts.map +1 -1
  153. package/package.json +13 -19
  154. package/public_api.d.ts +13 -14
  155. package/public_api.d.ts.map +1 -1
  156. package/esm2020/lib/dossier-assign-user/dossier-assign-user.component.mjs +0 -126
  157. package/esm2020/lib/dossier-detail/dossier-detail.component.mjs +0 -175
  158. package/esm2020/lib/dossier-detail/tab/audit/audit.component.mjs +0 -76
  159. package/esm2020/lib/dossier-detail/tab/contact-moments/contact-moments.component.mjs +0 -86
  160. package/esm2020/lib/dossier-detail/tab/documenten-api-documents/documenten-api-documents.component.mjs +0 -147
  161. package/esm2020/lib/dossier-detail/tab/documents/documents.component.mjs +0 -41
  162. package/esm2020/lib/dossier-detail/tab/notes/notes.component.mjs +0 -153
  163. package/esm2020/lib/dossier-detail/tab/object-type/object-type.component.mjs +0 -122
  164. package/esm2020/lib/dossier-detail/tab/progress/progress.component.mjs +0 -51
  165. package/esm2020/lib/dossier-detail/tab/s3-documents/s3-documents.component.mjs +0 -134
  166. package/esm2020/lib/dossier-detail/tab/summary/summary.component.mjs +0 -124
  167. package/esm2020/lib/dossier-detail/tab/zaakobjecten/zaakobjecten.component.mjs +0 -113
  168. package/esm2020/lib/dossier-detail-tab-enum.mjs +0 -26
  169. package/esm2020/lib/dossier-list/dossier-list.component.mjs +0 -224
  170. package/esm2020/lib/dossier-list-actions/dossier-list-actions.component.mjs +0 -86
  171. package/esm2020/lib/dossier-process-start-modal/dossier-process-start-modal.component.mjs +0 -192
  172. package/esm2020/lib/dossier-routing.module.mjs +0 -66
  173. package/esm2020/lib/dossier-supporting-process-start-modal/dossier-supporting-process-start-modal.component.mjs +0 -181
  174. package/esm2020/lib/dossier-update/dossier-update.component.mjs +0 -113
  175. package/esm2020/lib/dossier.config.mjs +0 -29
  176. package/esm2020/lib/dossier.module.mjs +0 -259
  177. package/esm2020/lib/dossier.service.mjs +0 -50
  178. package/esm2020/lib/models/index.mjs +0 -20
  179. package/esm2020/lib/models/tabs.model.mjs +0 -112
  180. package/esm2020/lib/services/dossier-column.service.mjs +0 -100
  181. package/esm2020/lib/services/dossier-list-assignee.service.mjs +0 -82
  182. package/esm2020/lib/services/dossier-list-pagination.service.mjs +0 -116
  183. package/esm2020/lib/services/dossier-list-search.service.mjs +0 -66
  184. package/esm2020/lib/services/dossier-list.service.mjs +0 -56
  185. package/esm2020/lib/services/dossier-parameter.service.mjs +0 -167
  186. package/esm2020/lib/services/index.mjs +0 -24
  187. package/esm2020/lib/services/notes.service.mjs +0 -76
  188. package/esm2020/lib/tab.service.mjs +0 -80
  189. package/esm2020/public_api.mjs +0 -35
  190. package/fesm2015/valtimo-dossier.mjs +0 -3348
  191. package/fesm2015/valtimo-dossier.mjs.map +0 -1
  192. package/fesm2020/valtimo-dossier.mjs +0 -3447
  193. package/fesm2020/valtimo-dossier.mjs.map +0 -1
  194. package/lib/dossier-assign-user/dossier-assign-user.component.d.ts +0 -34
  195. package/lib/dossier-assign-user/dossier-assign-user.component.d.ts.map +0 -1
  196. package/lib/dossier-detail/dossier-detail.component.d.ts.map +0 -1
  197. package/lib/dossier-detail/tab/audit/audit.component.d.ts.map +0 -1
  198. package/lib/dossier-detail/tab/contact-moments/contact-moments.component.d.ts.map +0 -1
  199. package/lib/dossier-detail/tab/documenten-api-documents/documenten-api-documents.component.d.ts.map +0 -1
  200. package/lib/dossier-detail/tab/documents/documents.component.d.ts.map +0 -1
  201. package/lib/dossier-detail/tab/notes/notes.component.d.ts.map +0 -1
  202. package/lib/dossier-detail/tab/object-type/object-type.component.d.ts.map +0 -1
  203. package/lib/dossier-detail/tab/progress/progress.component.d.ts.map +0 -1
  204. package/lib/dossier-detail/tab/s3-documents/s3-documents.component.d.ts.map +0 -1
  205. package/lib/dossier-detail/tab/summary/summary.component.d.ts.map +0 -1
  206. package/lib/dossier-detail/tab/zaakobjecten/zaakobjecten.component.d.ts.map +0 -1
  207. package/lib/dossier-detail-tab-enum.d.ts +0 -10
  208. package/lib/dossier-detail-tab-enum.d.ts.map +0 -1
  209. package/lib/dossier-list/dossier-list.component.d.ts +0 -66
  210. package/lib/dossier-list/dossier-list.component.d.ts.map +0 -1
  211. package/lib/dossier-list-actions/dossier-list-actions.component.d.ts.map +0 -1
  212. package/lib/dossier-process-start-modal/dossier-process-start-modal.component.d.ts.map +0 -1
  213. package/lib/dossier-supporting-process-start-modal/dossier-supporting-process-start-modal.component.d.ts.map +0 -1
  214. package/lib/dossier-update/dossier-update.component.d.ts.map +0 -1
  215. package/lib/dossier.config.d.ts +0 -4
  216. package/lib/dossier.config.d.ts.map +0 -1
  217. package/lib/dossier.service.d.ts.map +0 -1
  218. package/lib/tab.service.d.ts +0 -21
  219. package/lib/tab.service.d.ts.map +0 -1
  220. /package/{esm2020 → esm2022}/lib/models/notes.model.mjs +0 -0
  221. /package/{esm2020 → esm2022}/lib/models/search.model.mjs +0 -0
  222. /package/{esm2020 → esm2022}/lib/models/zaakobjecten.model.mjs +0 -0
  223. /package/{esm2020 → esm2022}/valtimo-dossier.mjs +0 -0
@@ -0,0 +1,166 @@
1
+ /*
2
+ * Copyright 2015-2023 Ritense BV, the Netherlands.
3
+ *
4
+ * Licensed under EUPL, Version 1.2 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" basis,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+ import { Component } from '@angular/core';
17
+ import { TimelineItemImpl } from '@valtimo/components';
18
+ import moment from 'moment';
19
+ import { BehaviorSubject, combineLatest, map, of } from 'rxjs';
20
+ import { switchMap, take, tap } from 'rxjs/operators';
21
+ import { CAN_ADD_NOTE_PERMISSION, CAN_DELETE_NOTE_PERMISSION, CAN_EDIT_NOTE_PERMISSION, DOSSIER_DETAIL_PERMISSION_RESOURCE, } from '../../../../permissions';
22
+ import * as i0 from "@angular/core";
23
+ import * as i1 from "../../../../services/notes.service";
24
+ import * as i2 from "@valtimo/access-control";
25
+ import * as i3 from "@valtimo/components";
26
+ import * as i4 from "@angular/router";
27
+ import * as i5 from "ngx-toastr";
28
+ import * as i6 from "@ngx-translate/core";
29
+ import * as i7 from "@angular/common";
30
+ import * as i8 from "@ng-bootstrap/ng-bootstrap";
31
+ import * as i9 from "../../../note-modal/note-modal.component";
32
+ export class DossierDetailTabNotesComponent {
33
+ constructor(notesService, permissionService, promptService, route, toastrService, translateService) {
34
+ this.notesService = notesService;
35
+ this.permissionService = permissionService;
36
+ this.promptService = promptService;
37
+ this.route = route;
38
+ this.toastrService = toastrService;
39
+ this.translateService = translateService;
40
+ this.timelineItems = [];
41
+ this.loading$ = new BehaviorSubject(true);
42
+ this.fields$ = new BehaviorSubject([]);
43
+ this.customData$ = new BehaviorSubject({});
44
+ this.documentId$ = this.route.params.pipe(map(params => params.documentId));
45
+ this.actions = [
46
+ { id: 'edit', label: 'Edit', icon: 'mdi-pencil', callback: this.editNote.bind(this) },
47
+ { id: 'delete', label: 'Delete', icon: 'mdi-delete', callback: this.deleteNote.bind(this) },
48
+ ];
49
+ this.canAdd$ = this.documentId$.pipe(switchMap((identifier) => this.permissionService.requestPermission(CAN_ADD_NOTE_PERMISSION, {
50
+ resource: DOSSIER_DETAIL_PERMISSION_RESOURCE.jsonSchemaDocument,
51
+ identifier,
52
+ })));
53
+ this.currentPageAndSize$ = new BehaviorSubject({
54
+ page: 0,
55
+ size: 10,
56
+ });
57
+ this.pageSizes$ = new BehaviorSubject({
58
+ collectionSize: 0,
59
+ });
60
+ this.pagination$ = combineLatest([
61
+ this.currentPageAndSize$,
62
+ this.pageSizes$,
63
+ ]).pipe(map(([currentPage, sizes]) => ({ ...currentPage, ...sizes, page: (currentPage.page ?? 0) + 1 })));
64
+ this.notes$ = combineLatest([
65
+ this.documentId$,
66
+ this.currentPageAndSize$,
67
+ this.notesService.refresh$,
68
+ this.notesService.refresh$,
69
+ ]).pipe(tap(() => (this.timelineItems = [])), switchMap(([documentId, currentPage]) => this.notesService.getDocumentNotes(documentId, {
70
+ page: currentPage.page,
71
+ size: currentPage.size,
72
+ })), tap((res) => {
73
+ this.timelineItems = [];
74
+ this.pageSizes$.pipe(take(1)).subscribe(sizes => {
75
+ this.pageSizes$.next({ ...sizes, collectionSize: res.totalElements });
76
+ });
77
+ }), switchMap(res => combineLatest([
78
+ of(res),
79
+ ...res.content.map(note => this.permissionService.requestPermission(CAN_DELETE_NOTE_PERMISSION, {
80
+ resource: DOSSIER_DETAIL_PERMISSION_RESOURCE.note,
81
+ identifier: note.id,
82
+ })),
83
+ ...res.content.map(note => this.permissionService.requestPermission(CAN_EDIT_NOTE_PERMISSION, {
84
+ resource: DOSSIER_DETAIL_PERMISSION_RESOURCE.note,
85
+ identifier: note.id,
86
+ })),
87
+ ])), map(combinedResults => {
88
+ const permissionResults = combinedResults.filter((curr, index) => index !== 0);
89
+ const halfIndex = Math.ceil(permissionResults.length / 2);
90
+ const deletePermissions = permissionResults.slice(0, halfIndex);
91
+ const editPermissions = permissionResults.slice(halfIndex);
92
+ return combinedResults[0].content.map((note, index) => {
93
+ const noteCreatedDate = moment(note.createdDate).locale(this.translateService.currentLang);
94
+ this.timelineItems.push(new TimelineItemImpl(noteCreatedDate.format('DD MMM YYYY'), noteCreatedDate.format('HH:mm'), note.createdByUserFullName, noteCreatedDate.fromNow(), note.content, {}, { id: note.id }, [
95
+ ...(deletePermissions[index] ? ['delete'] : []),
96
+ ...(editPermissions[index] ? ['edit'] : []),
97
+ ]));
98
+ return {
99
+ ...note,
100
+ };
101
+ });
102
+ }), tap(() => this.loading$.next(false)));
103
+ }
104
+ ngOnInit() {
105
+ this.translateService.onLangChange.subscribe(() => {
106
+ this.notesService.refresh();
107
+ });
108
+ }
109
+ paginationClicked(newPageNumber) {
110
+ this.currentPageAndSize$.pipe(take(1)).subscribe(currentPage => {
111
+ this.currentPageAndSize$.next({ ...currentPage, page: newPageNumber - 1 });
112
+ });
113
+ }
114
+ showAddModal() {
115
+ this.customData$.next({});
116
+ this.notesService.setModalType('add');
117
+ this.notesService.showModal();
118
+ }
119
+ createNewNote(content) {
120
+ this.documentId$
121
+ .pipe(take(1), switchMap((documentId) => this.notesService.createDocumentNote(documentId, content)))
122
+ .subscribe(() => {
123
+ this.notesService.refresh();
124
+ this.notesService.hideModal();
125
+ });
126
+ }
127
+ editNoteEvent(content) {
128
+ this.notesService.updateNote(content.data.customData.id, content.formData).subscribe(() => {
129
+ this.notesService.refresh();
130
+ this.notesService.hideModal();
131
+ this.toastrService.success(this.translateService.instant('dossier.notes.editedMessage'));
132
+ });
133
+ }
134
+ editNote(data) {
135
+ this.customData$.next(data);
136
+ this.notesService.setModalType('modify');
137
+ this.notesService.showModal();
138
+ }
139
+ deleteNote(data) {
140
+ this.promptService.openPrompt({
141
+ headerText: this.translateService.instant('dossier.notes.deleteConfirmation.title'),
142
+ bodyText: this.translateService.instant('dossier.notes.deleteConfirmation.description'),
143
+ cancelButtonText: this.translateService.instant('dossier.deleteConfirmation.cancel'),
144
+ confirmButtonText: this.translateService.instant('dossier.deleteConfirmation.delete'),
145
+ cancelMdiIcon: 'cancel',
146
+ confirmMdiIcon: 'delete',
147
+ cancelButtonType: 'secondary',
148
+ confirmButtonType: 'primary',
149
+ closeOnConfirm: true,
150
+ closeOnCancel: true,
151
+ confirmCallBackFunction: () => {
152
+ this.notesService.deleteNote(data.customData.id).subscribe(() => {
153
+ this.notesService.refresh();
154
+ this.toastrService.success(this.translateService.instant('dossier.notes.deleteConfirmation.deletedMessage'));
155
+ });
156
+ },
157
+ });
158
+ }
159
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DossierDetailTabNotesComponent, deps: [{ token: i1.NotesService }, { token: i2.PermissionService }, { token: i3.PromptService }, { token: i4.ActivatedRoute }, { token: i5.ToastrService }, { token: i6.TranslateService }], target: i0.ɵɵFactoryTarget.Component }); }
160
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: DossierDetailTabNotesComponent, selector: "valtimo-dossier-detail-tab-notes", ngImport: i0, template: "<!--\n ~ Copyright 2015-2023 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n<div\n *ngIf=\"{\n canAdd: canAdd$ | async,\n notes: notes$ | async,\n pagination: pagination$ | async,\n loading: loading$ | async\n } as obs\"\n class=\"notes\"\n>\n <button\n *ngIf=\"obs.canAdd\"\n [disabled]=\"obs.loading\"\n (click)=\"showAddModal()\"\n aria-expanded=\"false\"\n aria-haspopup=\"true\"\n class=\"btn btn-space btn-primary mr-1 add-note\"\n type=\"button\"\n >\n <span>{{ 'dossier.notes.addNote' | translate }}</span>\n\n <i class=\"ml-1 icon mdi mdi-plus\"></i>\n </button>\n\n <div *ngIf=\"timelineItems\">\n <valtimo-timeline [actions]=\"actions\" [items]=\"timelineItems\"></valtimo-timeline>\n </div>\n\n <valtimo-spinner\n [useBootstrapSpinner]=\"false\"\n name=\"auditSpinner\"\n bdColor=\"rgba(125, 125, 125, 0.35)\"\n color=\"#264251\"\n type=\"square-jelly-box\"\n >\n </valtimo-spinner>\n\n <div *ngIf=\"obs.pagination\" class=\"d-flex justify-content-end row mr-0 ml-0\">\n <ngb-pagination\n *ngIf=\"obs.pagination.collectionSize > obs.pagination.size\"\n [collectionSize]=\"obs.pagination.collectionSize\"\n [maxSize]=\"obs.pagination.size\"\n [pageSize]=\"obs.pagination.size\"\n [rotate]=\"true\"\n [(page)]=\"obs.pagination.page\"\n (pageChange)=\"paginationClicked($event)\"\n ></ngb-pagination>\n </div>\n</div>\n\n<valtimo-note-modal\n [customData]=\"customData$ | async\"\n (createNoteEvent)=\"createNewNote($event)\"\n (editNoteEvent)=\"editNoteEvent($event)\"\n></valtimo-note-modal>\n", styles: ["/*!\n * Copyright 2015-2023 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */.notes{position:relative}.add-note{position:absolute;right:0}\n"], dependencies: [{ kind: "directive", type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.TimelineComponent, selector: "valtimo-timeline", inputs: ["items", "actions"] }, { kind: "component", type: i3.SpinnerComponent, selector: "valtimo-spinner", inputs: ["useBootstrapSpinner", "name", "type", "size", "color", "bdColor", "fullScreen", "noMarginTop"] }, { kind: "component", type: i8.NgbPagination, selector: "ngb-pagination", inputs: ["disabled", "boundaryLinks", "directionLinks", "ellipses", "rotate", "collectionSize", "maxSize", "page", "pageSize", "size"], outputs: ["pageChange"] }, { kind: "component", type: i9.NoteModalComponent, selector: "valtimo-note-modal", inputs: ["customData"], outputs: ["createNoteEvent", "editNoteEvent"] }, { kind: "pipe", type: i7.AsyncPipe, name: "async" }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }] }); }
161
+ }
162
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DossierDetailTabNotesComponent, decorators: [{
163
+ type: Component,
164
+ args: [{ selector: 'valtimo-dossier-detail-tab-notes', template: "<!--\n ~ Copyright 2015-2023 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n<div\n *ngIf=\"{\n canAdd: canAdd$ | async,\n notes: notes$ | async,\n pagination: pagination$ | async,\n loading: loading$ | async\n } as obs\"\n class=\"notes\"\n>\n <button\n *ngIf=\"obs.canAdd\"\n [disabled]=\"obs.loading\"\n (click)=\"showAddModal()\"\n aria-expanded=\"false\"\n aria-haspopup=\"true\"\n class=\"btn btn-space btn-primary mr-1 add-note\"\n type=\"button\"\n >\n <span>{{ 'dossier.notes.addNote' | translate }}</span>\n\n <i class=\"ml-1 icon mdi mdi-plus\"></i>\n </button>\n\n <div *ngIf=\"timelineItems\">\n <valtimo-timeline [actions]=\"actions\" [items]=\"timelineItems\"></valtimo-timeline>\n </div>\n\n <valtimo-spinner\n [useBootstrapSpinner]=\"false\"\n name=\"auditSpinner\"\n bdColor=\"rgba(125, 125, 125, 0.35)\"\n color=\"#264251\"\n type=\"square-jelly-box\"\n >\n </valtimo-spinner>\n\n <div *ngIf=\"obs.pagination\" class=\"d-flex justify-content-end row mr-0 ml-0\">\n <ngb-pagination\n *ngIf=\"obs.pagination.collectionSize > obs.pagination.size\"\n [collectionSize]=\"obs.pagination.collectionSize\"\n [maxSize]=\"obs.pagination.size\"\n [pageSize]=\"obs.pagination.size\"\n [rotate]=\"true\"\n [(page)]=\"obs.pagination.page\"\n (pageChange)=\"paginationClicked($event)\"\n ></ngb-pagination>\n </div>\n</div>\n\n<valtimo-note-modal\n [customData]=\"customData$ | async\"\n (createNoteEvent)=\"createNewNote($event)\"\n (editNoteEvent)=\"editNoteEvent($event)\"\n></valtimo-note-modal>\n", styles: ["/*!\n * Copyright 2015-2023 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */.notes{position:relative}.add-note{position:absolute;right:0}\n"] }]
165
+ }], ctorParameters: function () { return [{ type: i1.NotesService }, { type: i2.PermissionService }, { type: i3.PromptService }, { type: i4.ActivatedRoute }, { type: i5.ToastrService }, { type: i6.TranslateService }]; } });
166
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90ZXMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmFsdGltby9kb3NzaWVyL3NyYy9saWIvY29tcG9uZW50cy9kb3NzaWVyLWRldGFpbC90YWIvbm90ZXMvbm90ZXMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmFsdGltby9kb3NzaWVyL3NyYy9saWIvY29tcG9uZW50cy9kb3NzaWVyLWRldGFpbC90YWIvbm90ZXMvbm90ZXMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7O0dBY0c7QUFDSCxPQUFPLEVBQUMsU0FBUyxFQUFTLE1BQU0sZUFBZSxDQUFDO0FBSWhELE9BQU8sRUFBMkIsZ0JBQWdCLEVBQWdCLE1BQU0scUJBQXFCLENBQUM7QUFFOUYsT0FBTyxNQUFNLE1BQU0sUUFBUSxDQUFDO0FBRTVCLE9BQU8sRUFBQyxlQUFlLEVBQUUsYUFBYSxFQUFFLEdBQUcsRUFBYyxFQUFFLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFDekUsT0FBTyxFQUFDLFNBQVMsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFFcEQsT0FBTyxFQUNMLHVCQUF1QixFQUN2QiwwQkFBMEIsRUFDMUIsd0JBQXdCLEVBQ3hCLGtDQUFrQyxHQUNuQyxNQUFNLHlCQUF5QixDQUFDOzs7Ozs7Ozs7OztBQVFqQyxNQUFNLE9BQU8sOEJBQThCO0lBNEd6QyxZQUNtQixZQUEwQixFQUMxQixpQkFBb0MsRUFDcEMsYUFBNEIsRUFDNUIsS0FBcUIsRUFDckIsYUFBNEIsRUFDNUIsZ0JBQWtDO1FBTGxDLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBQzFCLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBbUI7UUFDcEMsa0JBQWEsR0FBYixhQUFhLENBQWU7UUFDNUIsVUFBSyxH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Q25CLHVCQUF1QixFQUFFLEdBQUcsRUFBRTtnQkFDNUIsSUFBSSxDQUFDLFlBQVksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO29CQUM5RCxJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sRUFBRSxDQUFDO29CQUM1QixJQUFJLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FDeEIsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxpREFBaUQsQ0FBQyxDQUNqRixDQUFDO2dCQUNKLENBQUMsQ0FBQyxDQUFDO1lBQ0wsQ0FBQztTQUNGLENBQUMsQ0FBQztJQUNMLENBQUM7K0dBdExVLDhCQUE4QjttR0FBOUIsOEJBQThCLHdFQ3ZDM0Msc3BFQXFFQTs7NEZEOUJhLDhCQUE4QjtrQkFMMUMsU0FBUzsrQkFDRSxrQ0FBa0MiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IDIwMTUtMjAyMyBSaXRlbnNlIEJWLCB0aGUgTmV0aGVybGFuZHMuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgRVVQTCwgVmVyc2lvbiAxLjIgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiBodHRwczovL2pvaW51cC5lYy5ldXJvcGEuZXUvY29sbGVjdGlvbi9ldXBsL2V1cGwtdGV4dC1ldXBsLTEyXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIGJhc2lzLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuaW1wb3J0IHtDb21wb25lbnQsIE9uSW5pdH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0FjdGl2YXRlZFJvdXRlfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHtUcmFuc2xhdGVTZXJ2aWNlfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7UGVybWlzc2lvblNlcnZpY2V9IGZyb20gJ0B2YWx0aW1vL2FjY2Vzcy1jb250cm9sJztcbmltcG9ydCB7UGFnaW5hdGlvbiwgVGltZWxpbmVJdGVtLCBUaW1lbGluZUl0ZW1JbXBsLCBQcm9tcHRTZXJ2aWNlfSBmcm9tICdAdmFsdGltby9jb21wb25lbnRzJztcbmltcG9ydCB7UGFnZX0gZnJvbSAnQHZhbHRpbW8vY29uZmlnJztcbmltcG9ydCBtb21lbnQgZnJvbSAnbW9tZW50JztcbmltcG9ydCB7VG9hc3RyU2VydmljZX0gZnJvbSAnbmd4LXRvYXN0cic7XG5pbXBvcnQge0JlaGF2aW9yU3ViamVjdCwgY29tYmluZUxhdGVzdCwgbWFwLCBPYnNlcnZhYmxlLCBvZn0gZnJvbSAncnhqcyc7XG5pbXBvcnQge3N3aXRjaE1hcCwgdGFrZSwgdGFwfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQge05vdGV9IGZyb20gJy4uLy4uLy4uLy4uL21vZGVscy9ub3Rlcy5tb2RlbCc7XG5pbXBvcnQge1xuICBDQU5fQUREX05PVEVfUEVSTUlTU0lPTixcbiAgQ0FOX0RFTEVURV9OT1RFX1BFUk1JU1NJT04sXG4gIENBTl9FRElUX05PVEVfUEVSTUlTU0lPTixcbiAgRE9TU0lFUl9ERVRBSUxfUEVSTUlTU0lPTl9SRVNPVVJDRSxcbn0gZnJvbSAnLi4vLi4vLi4vLi4vcGVybWlzc2lvbnMnO1xuaW1wb3J0IHtOb3Rlc1NlcnZpY2V9IGZyb20gJy4uLy4uLy4uLy4uL3NlcnZpY2VzL25vdGVzLnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2YWx0aW1vLWRvc3NpZXItZGV0YWlsLXRhYi1ub3RlcycsXG4gIHRlbXBsYXRlVXJsOiAnLi9ub3Rlcy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL25vdGVzLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIERvc3NpZXJEZXRhaWxUYWJOb3Rlc0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIHB1YmxpYyB0aW1lbGluZUl0ZW1zOiBUaW1lbGluZUl0ZW1bXSA9IFtdO1xuXG4gIHB1YmxpYyByZWFkb25seSBsb2FkaW5nJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4odHJ1ZSk7XG4gIHB1YmxpYyByZWFkb25seSBmaWVsZHMkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxBcnJheTx7a2V5OiBzdHJpbmc7IGxhYmVsOiBzdHJpbmd9Pj4oW10pO1xuICBwdWJsaWMgcmVhZG9ubHkgY3VzdG9tRGF0YSQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PG9iamVjdD4oe30pO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgZG9jdW1lbnRJZCQgPSB0aGlzLnJvdXRlLnBhcmFtcy5waXBlKG1hcChwYXJhbXMgPT4gcGFyYW1zLmRvY3VtZW50SWQpKTtcbiAgcHVibGljIHJlYWRvbmx5IGFjdGlvbnMgPSBbXG4gICAge2lkOiAnZWRpdCcsIGxhYmVsOiAnRWRpdCcsIGljb246ICdtZGktcGVuY2lsJywgY2FsbGJhY2s6IHRoaXMuZWRpdE5vdGUuYmluZCh0aGlzKX0sXG4gICAge2lkOiAnZGVsZXRlJywgbGFiZWw6ICdEZWxldGUnLCBpY29uOiAnbWRpLWRlbGV0ZScsIGNhbGxiYWNrOiB0aGlzLmRlbGV0ZU5vdGUuYmluZCh0aGlzKX0sXG4gIF07XG5cbiAgcHVibGljIHJlYWRvbmx5IGNhbkFkZCQ6IE9ic2VydmFibGU8Ym9vbGVhbj4gPSB0aGlzLmRvY3VtZW50SWQkLnBpcGUoXG4gICAgc3dpdGNoTWFwKChpZGVudGlmaWVyOiBzdHJpbmcpID0+XG4gICAgICB0aGlzLnBlcm1pc3Npb25TZXJ2aWNlLnJlcXVlc3RQZXJtaXNzaW9uKENBTl9BRERfTk9URV9QRVJNSVNTSU9OLCB7XG4gICAgICAgIHJlc291cmNlOiBET1NTSUVSX0RFVEFJTF9QRVJNSVNTSU9OX1JFU09VUkNFLmpzb25TY2hlbWFEb2N1bWVudCxcbiAgICAgICAgaWRlbnRpZmllcixcbiAgICAgIH0pXG4gICAgKVxuICApO1xuXG4gIHB1YmxpYyByZWFkb25seSBjdXJyZW50UGFnZUFuZFNpemUkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxQYXJ0aWFsPFBhZ2luYXRpb24+Pih7XG4gICAgcGFnZTogMCxcbiAgICBzaXplOiAxMCxcbiAgfSk7XG5cbiAgcHVibGljIHJlYWRvbmx5IHBhZ2VTaXplcyQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFBhcnRpYWw8UGFnaW5hdGlvbj4+KHtcbiAgICBjb2xsZWN0aW9uU2l6ZTogMCxcbiAgfSk7XG5cbiAgcHVibGljIHJlYWRvbmx5IHBhZ2luYXRpb24kOiBPYnNlcnZhYmxlPFBhZ2luYXRpb24+ID0gY29tYmluZUxhdGVzdChbXG4gICAgdGhpcy5jdXJyZW50UGFnZUFuZFNpemUkLFxuICAgIHRoaXMucGFnZVNpemVzJCxcbiAgXSkucGlwZShcbiAgICBtYXAoXG4gICAgICAoW2N1cnJlbnRQYWdlLCBzaXplc10pID0+XG4gICAgICAgICh7Li4uY3VycmVudFBhZ2UsIC4uLnNpemVzLCBwYWdlOiAoY3VycmVudFBhZ2UucGFnZSA/PyAwKSArIDF9KSBhcyBQYWdpbmF0aW9uXG4gICAgKVxuICApO1xuXG4gIHB1YmxpYyByZWFkb25seSBub3RlcyQ6IE9ic2VydmFibGU8QXJyYXk8Tm90ZT4+ID0gY29tYmluZUxhdGVzdChbXG4gICAgdGhpcy5kb2N1bWVudElkJCxcbiAgICB0aGlzLmN1cnJlbnRQYWdlQW5kU2l6ZSQsXG4gICAgdGhpcy5ub3Rlc1NlcnZpY2UucmVmcmVzaCQsXG4gICAgdGhpcy5ub3Rlc1NlcnZpY2UucmVmcmVzaCQsXG4gIF0pLnBpcGUoXG4gICAgdGFwKCgpID0+ICh0aGlzLnRpbWVsaW5lSXRlbXMgPSBbXSkpLFxuICAgIHN3aXRjaE1hcCgoW2RvY3VtZW50SWQsIGN1cnJlbnRQYWdlXSkgPT5cbiAgICAgIHRoaXMubm90ZXNTZXJ2aWNlLmdldERvY3VtZW50Tm90ZXMoZG9jdW1lbnRJZCwge1xuICAgICAgICBwYWdlOiBjdXJyZW50UGFnZS5wYWdlLFxuICAgICAgICBzaXplOiBjdXJyZW50UGFnZS5zaXplLFxuICAgICAgfSlcbiAgICApLFxuICAgIHRhcCgocmVzOiBQYWdlPE5vdGU+KSA9PiB7XG4gICAgICB0aGlzLnRpbWVsaW5lSXRlbXMgPSBbXTtcbiAgICAgIHRoaXMucGFnZVNpemVzJC5waXBlKHRha2UoMSkpLnN1YnNjcmliZShzaXplcyA9PiB7XG4gICAgICAgIHRoaXMucGFnZVNpemVzJC5uZXh0KHsuLi5zaXplcywgY29sbGVjdGlvblNpemU6IHJlcy50b3RhbEVsZW1lbnRzfSk7XG4gICAgICB9KTtcbiAgICB9KSxcbiAgICBzd2l0Y2hNYXAocmVzID0+XG4gICAgICBjb21iaW5lTGF0ZXN0KFtcbiAgICAgICAgb2YocmVzKSxcbiAgICAgICAgLi4ucmVzLmNvbnRlbnQubWFwKG5vdGUgPT5cbiAgICAgICAgICB0aGlzLnBlcm1pc3Npb25TZXJ2aWNlLnJlcXVlc3RQZXJtaXNzaW9uKENBTl9ERUxFVEVfTk9URV9QRVJNSVNTSU9OLCB7XG4gICAgICAgICAgICByZXNvdXJjZTogRE9TU0lFUl9ERVRBSUxfUEVSTUlTU0lPTl9SRVNPVVJDRS5ub3RlLFxuICAgICAgICAgICAgaWRlbnRpZmllcjogbm90ZS5pZCxcbiAgICAgICAgICB9KVxuICAgICAgICApLFxuICAgICAgICAuLi5yZXMuY29udGVudC5tYXAobm90ZSA9PlxuICAgICAgICAgIHRoaXMucGVybWlzc2lvblNlcnZpY2UucmVxdWVzdFBlcm1pc3Npb24oQ0FOX0VESVRfTk9URV9QRVJNSVNTSU9OLCB7XG4gICAgICAgICAgICByZXNvdXJjZTogRE9TU0lFUl9ERVRBSUxfUEVSTUlTU0lPTl9SRVNPVVJDRS5ub3RlLFxuICAgICAgICAgICAgaWRlbnRpZmllcjogbm90ZS5pZCxcbiAgICAgICAgICB9KVxuICAgICAgICApLFxuICAgICAgXSlcbiAgICApLFxuICAgIG1hcChjb21iaW5lZFJlc3VsdHMgPT4ge1xuICAgICAgY29uc3QgcGVybWlzc2lvblJlc3VsdHMgPSBjb21iaW5lZFJlc3VsdHMuZmlsdGVyKChjdXJyLCBpbmRleCkgPT4gaW5kZXggIT09IDApO1xuICAgICAgY29uc3QgaGFsZkluZGV4ID0gTWF0aC5jZWlsKHBlcm1pc3Npb25SZXN1bHRzLmxlbmd0aCAvIDIpO1xuICAgICAgY29uc3QgZGVsZXRlUGVybWlzc2lvbnMgPSBwZXJtaXNzaW9uUmVzdWx0cy5zbGljZSgwLCBoYWxmSW5kZXgpO1xuICAgICAgY29uc3QgZWRpdFBlcm1pc3Npb25zID0gcGVybWlzc2lvblJlc3VsdHMuc2xpY2UoaGFsZkluZGV4KTtcblxuICAgICAgcmV0dXJuIGNvbWJpbmVkUmVzdWx0c1swXS5jb250ZW50Lm1hcCgobm90ZTogTm90ZSwgaW5kZXgpID0+IHtcbiAgICAgICAgY29uc3Qgbm90ZUNyZWF0ZWREYXRlID0gbW9tZW50KG5vdGUuY3JlYXRlZERhdGUpLmxvY2FsZSh0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuY3VycmVudExhbmcpO1xuICAgICAgICB0aGlzLnRpbWVsaW5lSXRlbXMucHVzaChcbiAgICAgICAgICBuZXcgVGltZWxpbmVJdGVtSW1wbChcbiAgICAgICAgICAgIG5vdGVDcmVhdGVkRGF0ZS5mb3JtYXQoJ0REIE1NTSBZWVlZJyksXG4gICAgICAgICAgICBub3RlQ3JlYXRlZERhdGUuZm9ybWF0KCdISDptbScpLFxuICAgICAgICAgICAgbm90ZS5jcmVhdGVkQnlVc2VyRnVsbE5hbWUsXG4gICAgICAgICAgICBub3RlQ3JlYXRlZERhdGUuZnJvbU5vdygpLFxuICAgICAgICAgICAgbm90ZS5jb250ZW50LFxuICAgICAgICAgICAge30sXG4gICAgICAgICAgICB7aWQ6IG5vdGUuaWR9LFxuICAgICAgICAgICAgW1xuICAgICAgICAgICAgICAuLi4oZGVsZXRlUGVybWlzc2lvbnNbaW5kZXhdID8gWydkZWxldGUnXSA6IFtdKSxcbiAgICAgICAgICAgICAgLi4uKGVkaXRQZXJtaXNzaW9uc1tpbmRleF0gPyBbJ2VkaXQnXSA6IFtdKSxcbiAgICAgICAgICAgIF1cbiAgICAgICAgICApXG4gICAgICAgICk7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgLi4ubm90ZSxcbiAgICAgICAgfTtcbiAgICAgIH0pO1xuICAgIH0pLFxuICAgIHRhcCgoKSA9PiB0aGlzLmxvYWRpbmckLm5leHQoZmFsc2UpKVxuICApO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgbm90ZXNTZXJ2aWNlOiBOb3Rlc1NlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBwZXJtaXNzaW9uU2VydmljZTogUGVybWlzc2lvblNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBwcm9tcHRTZXJ2aWNlOiBQcm9tcHRTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgcm91dGU6IEFjdGl2YXRlZFJvdXRlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgdG9hc3RyU2VydmljZTogVG9hc3RyU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHRyYW5zbGF0ZVNlcnZpY2U6IFRyYW5zbGF0ZVNlcnZpY2VcbiAgKSB7fVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnRyYW5zbGF0ZVNlcnZpY2Uub25MYW5nQ2hhbmdlLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICB0aGlzLm5vdGVzU2VydmljZS5yZWZyZXNoKCk7XG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgcGFnaW5hdGlvbkNsaWNrZWQobmV3UGFnZU51bWJlcik6IHZvaWQge1xuICAgIHRoaXMuY3VycmVudFBhZ2VBbmRTaXplJC5waXBlKHRha2UoMSkpLnN1YnNjcmliZShjdXJyZW50UGFnZSA9PiB7XG4gICAgICB0aGlzLmN1cnJlbnRQYWdlQW5kU2l6ZSQubmV4dCh7Li4uY3VycmVudFBhZ2UsIHBhZ2U6IG5ld1BhZ2VOdW1iZXIgLSAxfSk7XG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgc2hvd0FkZE1vZGFsKCk6IHZvaWQge1xuICAgIHRoaXMuY3VzdG9tRGF0YSQubmV4dCh7fSk7XG4gICAgdGhpcy5ub3Rlc1NlcnZpY2Uuc2V0TW9kYWxUeXBlKCdhZGQnKTtcbiAgICB0aGlzLm5vdGVzU2VydmljZS5zaG93TW9kYWwoKTtcbiAgfVxuXG4gIHB1YmxpYyBjcmVhdGVOZXdOb3RlKGNvbnRlbnQpOiB2b2lkIHtcbiAgICB0aGlzLmRvY3VtZW50SWQkXG4gICAgICAucGlwZShcbiAgICAgICAgdGFrZSgxKSxcbiAgICAgICAgc3dpdGNoTWFwKChkb2N1bWVudElkOiBzdHJpbmcpID0+IHRoaXMubm90ZXNTZXJ2aWNlLmNyZWF0ZURvY3VtZW50Tm90ZShkb2N1bWVudElkLCBjb250ZW50KSlcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICB0aGlzLm5vdGVzU2VydmljZS5yZWZyZXNoKCk7XG4gICAgICAgIHRoaXMubm90ZXNTZXJ2aWNlLmhpZGVNb2RhbCgpO1xuICAgICAgfSk7XG4gIH1cblxuICBwdWJsaWMgZWRpdE5vdGVFdmVudChjb250ZW50KTogdm9pZCB7XG4gICAgdGhpcy5ub3Rlc1NlcnZpY2UudXBkYXRlTm90ZShjb250ZW50LmRhdGEuY3VzdG9tRGF0YS5pZCwgY29udGVudC5mb3JtRGF0YSkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgIHRoaXMubm90ZXNTZXJ2aWNlLnJlZnJlc2goKTtcbiAgICAgIHRoaXMubm90ZXNTZXJ2aWNlLmhpZGVNb2RhbCgpO1xuICAgICAgdGhpcy50b2FzdHJTZXJ2aWNlLnN1Y2Nlc3ModGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoJ2Rvc3NpZXIubm90ZXMuZWRpdGVkTWVzc2FnZScpKTtcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBlZGl0Tm90ZShkYXRhKTogdm9pZCB7XG4gICAgdGhpcy5jdXN0b21EYXRhJC5uZXh0KGRhdGEpO1xuICAgIHRoaXMubm90ZXNTZXJ2aWNlLnNldE1vZGFsVHlwZSgnbW9kaWZ5Jyk7XG4gICAgdGhpcy5ub3Rlc1NlcnZpY2Uuc2hvd01vZGFsKCk7XG4gIH1cblxuICBwdWJsaWMgZGVsZXRlTm90ZShkYXRhKTogdm9pZCB7XG4gICAgdGhpcy5wcm9tcHRTZXJ2aWNlLm9wZW5Qcm9tcHQoe1xuICAgICAgaGVhZGVyVGV4dDogdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoJ2Rvc3NpZXIubm90ZXMuZGVsZXRlQ29uZmlybWF0aW9uLnRpdGxlJyksXG4gICAgICBib2R5VGV4dDogdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoJ2Rvc3NpZXIubm90ZXMuZGVsZXRlQ29uZmlybWF0aW9uLmRlc2NyaXB0aW9uJyksXG4gICAgICBjYW5jZWxCdXR0b25UZXh0OiB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudCgnZG9zc2llci5kZWxldGVDb25maXJtYXRpb24uY2FuY2VsJyksXG4gICAgICBjb25maXJtQnV0dG9uVGV4dDogdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoJ2Rvc3NpZXIuZGVsZXRlQ29uZmlybWF0aW9uLmRlbGV0ZScpLFxuICAgICAgY2FuY2VsTWRpSWNvbjogJ2NhbmNlbCcsXG4gICAgICBjb25maXJtTWRpSWNvbjogJ2RlbGV0ZScsXG4gICAgICBjYW5jZWxCdXR0b25UeXBlOiAnc2Vjb25kYXJ5JyxcbiAgICAgIGNvbmZpcm1CdXR0b25UeXBlOiAncHJpbWFyeScsXG4gICAgICBjbG9zZU9uQ29uZmlybTogdHJ1ZSxcbiAgICAgIGNsb3NlT25DYW5jZWw6IHRydWUsXG4gICAgICBjb25maXJtQ2FsbEJhY2tGdW5jdGlvbjogKCkgPT4ge1xuICAgICAgICB0aGlzLm5vdGVzU2VydmljZS5kZWxldGVOb3RlKGRhdGEuY3VzdG9tRGF0YS5pZCkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICB0aGlzLm5vdGVzU2VydmljZS5yZWZyZXNoKCk7XG4gICAgICAgICAgdGhpcy50b2FzdHJTZXJ2aWNlLnN1Y2Nlc3MoXG4gICAgICAgICAgICB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudCgnZG9zc2llci5ub3Rlcy5kZWxldGVDb25maXJtYXRpb24uZGVsZXRlZE1lc3NhZ2UnKVxuICAgICAgICAgICk7XG4gICAgICAgIH0pO1xuICAgICAgfSxcbiAgICB9KTtcbiAgfVxufVxuIiwiPCEtLVxuICB+IENvcHlyaWdodCAyMDE1LTIwMjMgUml0ZW5zZSBCViwgdGhlIE5ldGhlcmxhbmRzLlxuICB+XG4gIH4gTGljZW5zZWQgdW5kZXIgRVVQTCwgVmVyc2lvbiAxLjIgKHRoZSBcIkxpY2Vuc2VcIik7XG4gIH4geW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICB+IFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICB+XG4gIH4gaHR0cHM6Ly9qb2ludXAuZWMuZXVyb3BhLmV1L2NvbGxlY3Rpb24vZXVwbC9ldXBsLXRleHQtZXVwbC0xMlxuICB+XG4gIH4gVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICB+IGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBiYXNpcyxcbiAgfiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAgfiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gIH4gbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gIC0tPlxuPGRpdlxuICAqbmdJZj1cIntcbiAgICBjYW5BZGQ6IGNhbkFkZCQgfCBhc3luYyxcbiAgICBub3Rlczogbm90ZXMkIHwgYXN5bmMsXG4gICAgcGFnaW5hdGlvbjogcGFnaW5hdGlvbiQgfCBhc3luYyxcbiAgICBsb2FkaW5nOiBsb2FkaW5nJCB8IGFzeW5jXG4gIH0gYXMgb2JzXCJcbiAgY2xhc3M9XCJub3Rlc1wiXG4+XG4gIDxidXR0b25cbiAgICAqbmdJZj1cIm9icy5jYW5BZGRcIlxuICAgIFtkaXNhYmxlZF09XCJvYnMubG9hZGluZ1wiXG4gICAgKGNsaWNrKT1cInNob3dBZGRNb2RhbCgpXCJcbiAgICBhcmlhLWV4cGFuZGVkPVwiZmFsc2VcIlxuICAgIGFyaWEtaGFzcG9wdXA9XCJ0cnVlXCJcbiAgICBjbGFzcz1cImJ0biBidG4tc3BhY2UgYnRuLXByaW1hcnkgbXItMSBhZGQtbm90ZVwiXG4gICAgdHlwZT1cImJ1dHRvblwiXG4gID5cbiAgICA8c3Bhbj57eyAnZG9zc2llci5ub3Rlcy5hZGROb3RlJyB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj5cblxuICAgIDxpIGNsYXNzPVwibWwtMSBpY29uIG1kaSBtZGktcGx1c1wiPjwvaT5cbiAgPC9idXR0b24+XG5cbiAgPGRpdiAqbmdJZj1cInRpbWVsaW5lSXRlbXNcIj5cbiAgICA8dmFsdGltby10aW1lbGluZSBbYWN0aW9uc109XCJhY3Rpb25zXCIgW2l0ZW1zXT1cInRpbWVsaW5lSXRlbXNcIj48L3ZhbHRpbW8tdGltZWxpbmU+XG4gIDwvZGl2PlxuXG4gIDx2YWx0aW1vLXNwaW5uZXJcbiAgICBbdXNlQm9vdHN0cmFwU3Bpbm5lcl09XCJmYWxzZVwiXG4gICAgbmFtZT1cImF1ZGl0U3Bpbm5lclwiXG4gICAgYmRDb2xvcj1cInJnYmEoMTI1LCAxMjUsIDEyNSwgMC4zNSlcIlxuICAgIGNvbG9yPVwiIzI2NDI1MVwiXG4gICAgdHlwZT1cInNxdWFyZS1qZWxseS1ib3hcIlxuICA+XG4gIDwvdmFsdGltby1zcGlubmVyPlxuXG4gIDxkaXYgKm5nSWY9XCJvYnMucGFnaW5hdGlvblwiIGNsYXNzPVwiZC1mbGV4IGp1c3RpZnktY29udGVudC1lbmQgcm93IG1yLTAgbWwtMFwiPlxuICAgIDxuZ2ItcGFnaW5hdGlvblxuICAgICAgKm5nSWY9XCJvYnMucGFnaW5hdGlvbi5jb2xsZWN0aW9uU2l6ZSA+IG9icy5wYWdpbmF0aW9uLnNpemVcIlxuICAgICAgW2NvbGxlY3Rpb25TaXplXT1cIm9icy5wYWdpbmF0aW9uLmNvbGxlY3Rpb25TaXplXCJcbiAgICAgIFttYXhTaXplXT1cIm9icy5wYWdpbmF0aW9uLnNpemVcIlxuICAgICAgW3BhZ2VTaXplXT1cIm9icy5wYWdpbmF0aW9uLnNpemVcIlxuICAgICAgW3JvdGF0ZV09XCJ0cnVlXCJcbiAgICAgIFsocGFnZSldPVwib2JzLnBhZ2luYXRpb24ucGFnZVwiXG4gICAgICAocGFnZUNoYW5nZSk9XCJwYWdpbmF0aW9uQ2xpY2tlZCgkZXZlbnQpXCJcbiAgICA+PC9uZ2ItcGFnaW5hdGlvbj5cbiAgPC9kaXY+XG48L2Rpdj5cblxuPHZhbHRpbW8tbm90ZS1tb2RhbFxuICBbY3VzdG9tRGF0YV09XCJjdXN0b21EYXRhJCB8IGFzeW5jXCJcbiAgKGNyZWF0ZU5vdGVFdmVudCk9XCJjcmVhdGVOZXdOb3RlKCRldmVudClcIlxuICAoZWRpdE5vdGVFdmVudCk9XCJlZGl0Tm90ZUV2ZW50KCRldmVudClcIlxuPjwvdmFsdGltby1ub3RlLW1vZGFsPlxuIl19
@@ -0,0 +1,121 @@
1
+ /*
2
+ * Copyright 2015-2023 Ritense BV, the Netherlands.
3
+ *
4
+ * Licensed under EUPL, Version 1.2 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" basis,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+ import { Component, ViewChild } from '@angular/core';
17
+ import { BehaviorSubject, combineLatest, map, of, switchMap, tap } from 'rxjs';
18
+ import { take } from 'rxjs/operators';
19
+ import * as i0 from "@angular/core";
20
+ import * as i1 from "@angular/router";
21
+ import * as i2 from "../../../../services/zaakobjecten.service";
22
+ import * as i3 from "@valtimo/components";
23
+ import * as i4 from "@angular/common";
24
+ import * as i5 from "@ngx-translate/core";
25
+ export class DossierDetailTabObjectTypeComponent {
26
+ constructor(route, zaakobjectenService, modalService) {
27
+ this.route = route;
28
+ this.zaakobjectenService = zaakobjectenService;
29
+ this.modalService = modalService;
30
+ this.documentId$ = this.route.params.pipe(map(params => params.documentId));
31
+ this.objecttypes$ = this.documentId$.pipe(switchMap(documentId => this.zaakobjectenService.getDocumentObjectTypes(documentId)));
32
+ this.objectName$ = this.route.params.pipe(map(() => {
33
+ const currentUrl = window.location.href;
34
+ const splitUrl = currentUrl.split('/');
35
+ const lastUrlPart = splitUrl[splitUrl.length - 1];
36
+ return lastUrlPart;
37
+ }));
38
+ this.selectedObjecttypeUrl$ = combineLatest([
39
+ this.objecttypes$,
40
+ this.objectName$,
41
+ ]).pipe(map(([objectTypes, objectName]) => {
42
+ const currentType = objectTypes?.find(type => type?.name.toLowerCase() === objectName?.toLowerCase());
43
+ const currentTypeUrl = currentType?.url;
44
+ if (objectTypes && objectName && currentTypeUrl)
45
+ return currentTypeUrl;
46
+ return '';
47
+ }));
48
+ this.loading$ = new BehaviorSubject(true);
49
+ this.hasData$ = new BehaviorSubject(false);
50
+ this.objects$ = combineLatest([
51
+ this.documentId$,
52
+ this.selectedObjecttypeUrl$,
53
+ ]).pipe(switchMap(([documentId, selectedObjecttypeUrl]) => documentId && selectedObjecttypeUrl
54
+ ? this.zaakobjectenService.getDocumentObjectsOfType(documentId, selectedObjecttypeUrl).pipe(map(objects => objects.map(object => ({ ...object, title: object.title || '-' }))), tap(() => {
55
+ this.loading$.next(false);
56
+ this.hasData$.next(true);
57
+ }))
58
+ : of(null).pipe(tap(() => {
59
+ this.loading$.next(false);
60
+ this.hasData$.next(false);
61
+ }))));
62
+ this.columns$ = new BehaviorSubject([
63
+ {
64
+ labelTranslationKey: 'dossier.zaakobjecten.index',
65
+ dataKey: 'index',
66
+ },
67
+ {
68
+ labelTranslationKey: 'dossier.zaakobjecten.registrationAt',
69
+ dataKey: 'registrationAt',
70
+ },
71
+ {
72
+ labelTranslationKey: 'dossier.zaakobjecten.title',
73
+ dataKey: 'title',
74
+ },
75
+ ]);
76
+ this.objectForm$ = new BehaviorSubject(null);
77
+ this.noFormDefinitionComponent$ = new BehaviorSubject(false);
78
+ }
79
+ rowClicked(object) {
80
+ this.documentId$.pipe(take(1)).subscribe(documentId => {
81
+ this.zaakobjectenService.getObjectTypeForm(documentId, object.url).subscribe(res => {
82
+ const definition = res.formDefinition;
83
+ definition.components = definition.components.map(component => ({
84
+ ...component,
85
+ disabled: true,
86
+ }));
87
+ this.setModalData(definition);
88
+ }, () => {
89
+ this.setModalData();
90
+ });
91
+ });
92
+ }
93
+ hide() {
94
+ this.modalService.closeModal(() => {
95
+ this.objectForm$.next(null);
96
+ });
97
+ }
98
+ show() {
99
+ this.modalService.openModal(this.viewObjectModal);
100
+ }
101
+ setModalData(definition) {
102
+ if (definition) {
103
+ this.objectForm$.next(definition);
104
+ this.noFormDefinitionComponent$.next(false);
105
+ }
106
+ else {
107
+ this.noFormDefinitionComponent$.next(true);
108
+ }
109
+ this.show();
110
+ }
111
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DossierDetailTabObjectTypeComponent, deps: [{ token: i1.ActivatedRoute }, { token: i2.ZaakobjectenService }, { token: i3.ModalService }], target: i0.ɵɵFactoryTarget.Component }); }
112
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: DossierDetailTabObjectTypeComponent, selector: "valtimo-object-type", viewQueries: [{ propertyName: "viewObjectModal", first: true, predicate: ["viewObjectModal"], descendants: true }], ngImport: i0, template: "<!--\n ~ Copyright 2015-2023 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<ng-container\n *ngIf=\"{\n objects: objects$ | async,\n columns: columns$ | async,\n loading: loading$ | async,\n hasData: hasData$ | async\n } as obs\"\n>\n <v-table\n *ngIf=\"obs.hasData || obs.loading\"\n [loading]=\"obs.loading\"\n [items]=\"obs.objects\"\n [columns]=\"obs.columns\"\n [showEditButtons]=\"true\"\n editButtonTranslationKey=\"dossier.zaakobjecten.objectType.viewObject\"\n [amountOfLoadingRows]=\"2\"\n [itemsTranslationKey]=\"'pluginManagement.tableItemsText'\"\n [showPagination]=\"false\"\n (editButtonClicked)=\"rowClicked($event)\"\n ></v-table>\n\n <v-paragraph *ngIf=\"!obs.hasData && !obs.loading\" [center]=\"true\">{{\n 'dossier.zaakobjecten.noObjectType' | translate\n }}</v-paragraph>\n</ng-container>\n\n<v-modal #viewObjectModal (closeEvent)=\"hide()\" [hideFooter]=\"true\" [maxWidthPx]=\"750\">\n <div role=\"header\">\n <v-title [margin]=\"false\" type=\"h2\" [fullWidth]=\"true\" [center]=\"true\">{{\n objectName$ | async\n }}</v-title>\n </div>\n\n <div role=\"content\">\n <valtimo-form-io\n *ngIf=\"(noFormDefinitionComponent$ | async) === false\"\n [form]=\"objectForm$ | async\"\n ></valtimo-form-io>\n <v-paragraph *ngIf=\"noFormDefinitionComponent$ | async\" [center]=\"true\">{{\n 'dossier.zaakobjecten.noFormDefinitionComponent' | translate\n }}</v-paragraph>\n </div>\n</v-modal>\n", styles: ["/*!\n * Copyright 2015-2023 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"], dependencies: [{ kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.FormioComponent, selector: "valtimo-form-io", inputs: ["form", "options", "submission", "readOnly", "formRefresh$"], outputs: ["submit", "change"] }, { kind: "component", type: i3.ParagraphComponent, selector: "v-paragraph", inputs: ["center", "fullWidth", "margin", "italic", "loading"] }, { kind: "component", type: i3.TableComponent, selector: "v-table", inputs: ["items", "columns", "loading", "showEditButtons", "showPagination", "editButtonTranslationKey", "itemsTranslationKey", "noResultsTranslationKey", "mobileBreakpointPx", "amountOfLoadingRows", "collectionSize", "page", "size"], outputs: ["editButtonClicked", "paginationSizeSet", "paginationPageSet"] }, { kind: "component", type: i3.VModalComponent, selector: "v-modal", inputs: ["appearingDelayMs", "maxWidthPx", "hideFooter"], outputs: ["closeEvent"] }, { kind: "component", type: i3.TitleComponent, selector: "v-title", inputs: ["type", "margin", "fullWidth", "center"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }, { kind: "pipe", type: i5.TranslatePipe, name: "translate" }] }); }
113
+ }
114
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DossierDetailTabObjectTypeComponent, decorators: [{
115
+ type: Component,
116
+ args: [{ selector: 'valtimo-object-type', template: "<!--\n ~ Copyright 2015-2023 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<ng-container\n *ngIf=\"{\n objects: objects$ | async,\n columns: columns$ | async,\n loading: loading$ | async,\n hasData: hasData$ | async\n } as obs\"\n>\n <v-table\n *ngIf=\"obs.hasData || obs.loading\"\n [loading]=\"obs.loading\"\n [items]=\"obs.objects\"\n [columns]=\"obs.columns\"\n [showEditButtons]=\"true\"\n editButtonTranslationKey=\"dossier.zaakobjecten.objectType.viewObject\"\n [amountOfLoadingRows]=\"2\"\n [itemsTranslationKey]=\"'pluginManagement.tableItemsText'\"\n [showPagination]=\"false\"\n (editButtonClicked)=\"rowClicked($event)\"\n ></v-table>\n\n <v-paragraph *ngIf=\"!obs.hasData && !obs.loading\" [center]=\"true\">{{\n 'dossier.zaakobjecten.noObjectType' | translate\n }}</v-paragraph>\n</ng-container>\n\n<v-modal #viewObjectModal (closeEvent)=\"hide()\" [hideFooter]=\"true\" [maxWidthPx]=\"750\">\n <div role=\"header\">\n <v-title [margin]=\"false\" type=\"h2\" [fullWidth]=\"true\" [center]=\"true\">{{\n objectName$ | async\n }}</v-title>\n </div>\n\n <div role=\"content\">\n <valtimo-form-io\n *ngIf=\"(noFormDefinitionComponent$ | async) === false\"\n [form]=\"objectForm$ | async\"\n ></valtimo-form-io>\n <v-paragraph *ngIf=\"noFormDefinitionComponent$ | async\" [center]=\"true\">{{\n 'dossier.zaakobjecten.noFormDefinitionComponent' | translate\n }}</v-paragraph>\n </div>\n</v-modal>\n", styles: ["/*!\n * Copyright 2015-2023 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"] }]
117
+ }], ctorParameters: function () { return [{ type: i1.ActivatedRoute }, { type: i2.ZaakobjectenService }, { type: i3.ModalService }]; }, propDecorators: { viewObjectModal: [{
118
+ type: ViewChild,
119
+ args: ['viewObjectModal']
120
+ }] } });
121
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2JqZWN0LXR5cGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmFsdGltby9kb3NzaWVyL3NyYy9saWIvY29tcG9uZW50cy9kb3NzaWVyLWRldGFpbC90YWIvb2JqZWN0LXR5cGUvb2JqZWN0LXR5cGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmFsdGltby9kb3NzaWVyL3NyYy9saWIvY29tcG9uZW50cy9kb3NzaWVyLWRldGFpbC90YWIvb2JqZWN0LXR5cGUvb2JqZWN0LXR5cGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7O0dBY0c7QUFFSCxPQUFPLEVBQUMsU0FBUyxFQUFFLFNBQVMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUduRCxPQUFPLEVBQUMsZUFBZSxFQUFFLGFBQWEsRUFBRSxHQUFHLEVBQWMsRUFBRSxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFHekYsT0FBTyxFQUFDLElBQUksRUFBQyxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7O0FBUXBDLE1BQU0sT0FBTyxtQ0FBbUM7SUFtRjlDLFlBQ21CLEtBQXFCLEVBQ3JCLG1CQUF3QyxFQUN4QyxZQUEwQjtRQUYxQixVQUFLLEdBQUwsS0FBSyxDQUFnQjtRQUNyQix3QkFBbUIsR0FBbkIsbUJBQW1CLENBQXFCO1FBQ3hDLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBbkY1QixnQkFBVyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQztRQUV2RSxpQkFBWSxHQUFzQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FDdEYsU0FBUyxDQUFD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QUFTLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDO0lBQ3BELENBQUM7SUFFTyxZQUFZLENBQUMsVUFBdUI7UUFDMUMsSUFBSSxVQUFVLEVBQUU7WUFDZCxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztZQUNsQyxJQUFJLENBQUMsMEJBQTBCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQzdDO2FBQU07WUFDTCxJQUFJLENBQUMsMEJBQTBCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQzVDO1FBRUQsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ2QsQ0FBQzsrR0E5SFUsbUNBQW1DO21HQUFuQyxtQ0FBbUMsK0tDOUJoRCxraUVBMkRBOzs0RkQ3QmEsbUNBQW1DO2tCQUwvQyxTQUFTOytCQUNFLHFCQUFxQjtrS0FLRCxlQUFlO3NCQUE1QyxTQUFTO3VCQUFDLGlCQUFpQiIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgMjAxNS0yMDIzIFJpdGVuc2UgQlYsIHRoZSBOZXRoZXJsYW5kcy5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciBFVVBMLCBWZXJzaW9uIDEuMiAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqIGh0dHBzOi8vam9pbnVwLmVjLmV1cm9wYS5ldS9jb2xsZWN0aW9uL2V1cGwvZXVwbC10ZXh0LWV1cGwtMTJcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgYmFzaXMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmltcG9ydCB7Q29tcG9uZW50LCBWaWV3Q2hpbGR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtBY3RpdmF0ZWRSb3V0ZX0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7WmFha29iamVjdGVuU2VydmljZX0gZnJvbSAnLi4vLi4vLi4vLi4vc2VydmljZXMvemFha29iamVjdGVuLnNlcnZpY2UnO1xuaW1wb3J0IHtCZWhhdmlvclN1YmplY3QsIGNvbWJpbmVMYXRlc3QsIG1hcCwgT2JzZXJ2YWJsZSwgb2YsIHN3aXRjaE1hcCwgdGFwfSBmcm9tICdyeGpzJztcbmltcG9ydCB7WmFha09iamVjdCwgWmFha09iamVjdFR5cGV9IGZyb20gJy4uLy4uLy4uLy4uL21vZGVscyc7XG5pbXBvcnQge1ZNb2RhbENvbXBvbmVudCwgTW9kYWxTZXJ2aWNlLCBUYWJsZUNvbHVtbn0gZnJvbSAnQHZhbHRpbW8vY29tcG9uZW50cyc7XG5pbXBvcnQge3Rha2V9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7Rm9ybWlvRm9ybX0gZnJvbSAnQGZvcm1pby9hbmd1bGFyJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmFsdGltby1vYmplY3QtdHlwZScsXG4gIHRlbXBsYXRlVXJsOiAnLi9vYmplY3QtdHlwZS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL29iamVjdC10eXBlLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIERvc3NpZXJEZXRhaWxUYWJPYmplY3RUeXBlQ29tcG9uZW50IHtcbiAgQFZpZXdDaGlsZCgndmlld09iamVjdE1vZGFsJykgdmlld09iamVjdE1vZGFsOiBWTW9kYWxDb21wb25lbnQ7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBkb2N1bWVudElkJCA9IHRoaXMucm91dGUucGFyYW1zLnBpcGUobWFwKHBhcmFtcyA9PiBwYXJhbXMuZG9jdW1lbnRJZCkpO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgb2JqZWN0dHlwZXMkOiBPYnNlcnZhYmxlPEFycmF5PFphYWtPYmplY3RUeXBlPj4gPSB0aGlzLmRvY3VtZW50SWQkLnBpcGUoXG4gICAgc3dpdGNoTWFwKGRvY3VtZW50SWQgPT4gdGhpcy56YWFrb2JqZWN0ZW5TZXJ2aWNlLmdldERvY3VtZW50T2JqZWN0VHlwZXMoZG9jdW1lbnRJZCkpXG4gICk7XG5cbiAgcmVhZG9ubHkgb2JqZWN0TmFtZSQgPSB0aGlzLnJvdXRlLnBhcmFtcy5waXBlKFxuICAgIG1hcCgoKSA9PiB7XG4gICAgICBjb25zdCBjdXJyZW50VXJsID0gd2luZG93LmxvY2F0aW9uLmhyZWY7XG4gICAgICBjb25zdCBzcGxpdFVybCA9IGN1cnJlbnRVcmwuc3BsaXQoJy8nKTtcbiAgICAgIGNvbnN0IGxhc3RVcmxQYXJ0ID0gc3BsaXRVcmxbc3BsaXRVcmwubGVuZ3RoIC0gMV07XG5cbiAgICAgIHJldHVybiBsYXN0VXJsUGFydDtcbiAgICB9KVxuICApO1xuXG4gIHJlYWRvbmx5IHNlbGVjdGVkT2JqZWN0dHlwZVVybCQ6IE9ic2VydmFibGU8c3RyaW5nPiA9IGNvbWJpbmVMYXRlc3QoW1xuICAgIHRoaXMub2JqZWN0dHlwZXMkLFxuICAgIHRoaXMub2JqZWN0TmFtZSQsXG4gIF0pLnBpcGUoXG4gICAgbWFwKChbb2JqZWN0VHlwZXMsIG9iamVjdE5hbWVdKSA9PiB7XG4gICAgICBjb25zdCBjdXJyZW50VHlwZSA9IG9iamVjdFR5cGVzPy5maW5kKFxuICAgICAgICB0eXBlID0+IHR5cGU/Lm5hbWUudG9Mb3dlckNhc2UoKSA9PT0gb2JqZWN0TmFtZT8udG9Mb3dlckNhc2UoKVxuICAgICAgKTtcblxuICAgICAgY29uc3QgY3VycmVudFR5cGVVcmwgPSBjdXJyZW50VHlwZT8udXJsO1xuXG4gICAgICBpZiAob2JqZWN0VHlwZXMgJiYgb2JqZWN0TmFtZSAmJiBjdXJyZW50VHlwZVVybCkgcmV0dXJuIGN1cnJlbnRUeXBlVXJsO1xuXG4gICAgICByZXR1cm4gJyc7XG4gICAgfSlcbiAgKTtcblxuICByZWFkb25seSBsb2FkaW5nJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4odHJ1ZSk7XG5cbiAgcmVhZG9ubHkgaGFzRGF0YSQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KGZhbHNlKTtcblxuICByZWFkb25seSBvYmplY3RzJDogT2JzZXJ2YWJsZTxBcnJheTxaYWFrT2JqZWN0PiB8IG51bGw+ID0gY29tYmluZUxhdGVzdChbXG4gICAgdGhpcy5kb2N1bWVudElkJCxcbiAgICB0aGlzLnNlbGVjdGVkT2JqZWN0dHlwZVVybCQsXG4gIF0pLnBpcGUoXG4gICAgc3dpdGNoTWFwKChbZG9jdW1lbnRJZCwgc2VsZWN0ZWRPYmplY3R0eXBlVXJsXSkgPT5cbiAgICAgIGRvY3VtZW50SWQgJiYgc2VsZWN0ZWRPYmplY3R0eXBlVXJsXG4gICAgICAgID8gdGhpcy56YWFrb2JqZWN0ZW5TZXJ2aWNlLmdldERvY3VtZW50T2JqZWN0c09mVHlwZShkb2N1bWVudElkLCBzZWxlY3RlZE9iamVjdHR5cGVVcmwpLnBpcGUoXG4gICAgICAgICAgICBtYXAob2JqZWN0cyA9PiBvYmplY3RzLm1hcChvYmplY3QgPT4gKHsuLi5vYmplY3QsIHRpdGxlOiBvYmplY3QudGl0bGUgfHwgJy0nfSkpKSxcbiAgICAgICAgICAgIHRhcCgoKSA9PiB7XG4gICAgICAgICAgICAgIHRoaXMubG9hZGluZyQubmV4dChmYWxzZSk7XG4gICAgICAgICAgICAgIHRoaXMuaGFzRGF0YSQubmV4dCh0cnVlKTtcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgKVxuICAgICAgICA6IG9mKG51bGwpLnBpcGUoXG4gICAgICAgICAgICB0YXAoKCkgPT4ge1xuICAgICAgICAgICAgICB0aGlzLmxvYWRpbmckLm5leHQoZmFsc2UpO1xuICAgICAgICAgICAgICB0aGlzLmhhc0RhdGEkLm5leHQoZmFsc2UpO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgICApXG4gICAgKVxuICApO1xuXG4gIHJlYWRvbmx5IGNvbHVtbnMkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxBcnJheTxUYWJsZUNvbHVtbj4+KFtcbiAgICB7XG4gICAgICBsYWJlbFRyYW5zbGF0aW9uS2V5OiAnZG9zc2llci56YWFrb2JqZWN0ZW4uaW5kZXgnLFxuICAgICAgZGF0YUtleTogJ2luZGV4JyxcbiAgICB9LFxuICAgIHtcbiAgICAgIGxhYmVsVHJhbnNsYXRpb25LZXk6ICdkb3NzaWVyLnphYWtvYmplY3Rlbi5yZWdpc3RyYXRpb25BdCcsXG4gICAgICBkYXRhS2V5OiAncmVnaXN0cmF0aW9uQXQnLFxuICAgIH0sXG4gICAge1xuICAgICAgbGFiZWxUcmFuc2xhdGlvbktleTogJ2Rvc3NpZXIuemFha29iamVjdGVuLnRpdGxlJyxcbiAgICAgIGRhdGFLZXk6ICd0aXRsZScsXG4gICAgfSxcbiAgXSk7XG5cbiAgcmVhZG9ubHkgb2JqZWN0Rm9ybSQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PEZvcm1pb0Zvcm0gfCBudWxsPihudWxsKTtcblxuICByZWFkb25seSBub0Zvcm1EZWZpbml0aW9uQ29tcG9uZW50JCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oZmFsc2UpO1xuXG4gIGhhc0RhdGE6IGJvb2xlYW47XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSByb3V0ZTogQWN0aXZhdGVkUm91dGUsXG4gICAgcHJpdmF0ZSByZWFkb25seSB6YWFrb2JqZWN0ZW5TZXJ2aWNlOiBaYWFrb2JqZWN0ZW5TZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgbW9kYWxTZXJ2aWNlOiBNb2RhbFNlcnZpY2VcbiAgKSB7fVxuXG4gIHJvd0NsaWNrZWQob2JqZWN0OiBaYWFrT2JqZWN0KTogdm9pZCB7XG4gICAgdGhpcy5kb2N1bWVudElkJC5waXBlKHRha2UoMSkpLnN1YnNjcmliZShkb2N1bWVudElkID0+IHtcbiAgICAgIHRoaXMuemFha29iamVjdGVuU2VydmljZS5nZXRPYmplY3RUeXBlRm9ybShkb2N1bWVudElkLCBvYmplY3QudXJsKS5zdWJzY3JpYmUoXG4gICAgICAgIHJlcyA9PiB7XG4gICAgICAgICAgY29uc3QgZGVmaW5pdGlvbiA9IHJlcy5mb3JtRGVmaW5pdGlvbjtcbiAgICAgICAgICBkZWZpbml0aW9uLmNvbXBvbmVudHMgPSBkZWZpbml0aW9uLmNvbXBvbmVudHMubWFwKGNvbXBvbmVudCA9PiAoe1xuICAgICAgICAgICAgLi4uY29tcG9uZW50LFxuICAgICAgICAgICAgZGlzYWJsZWQ6IHRydWUsXG4gICAgICAgICAgfSkpO1xuICAgICAgICAgIHRoaXMuc2V0TW9kYWxEYXRhKGRlZmluaXRpb24pO1xuICAgICAgICB9LFxuICAgICAgICAoKSA9PiB7XG4gICAgICAgICAgdGhpcy5zZXRNb2RhbERhdGEoKTtcbiAgICAgICAgfVxuICAgICAgKTtcbiAgICB9KTtcbiAgfVxuXG4gIGhpZGUoKTogdm9pZCB7XG4gICAgdGhpcy5tb2RhbFNlcnZpY2UuY2xvc2VNb2RhbCgoKSA9PiB7XG4gICAgICB0aGlzLm9iamVjdEZvcm0kLm5leHQobnVsbCk7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIHNob3coKTogdm9pZCB7XG4gICAgdGhpcy5tb2RhbFNlcnZpY2Uub3Blbk1vZGFsKHRoaXMudmlld09iamVjdE1vZGFsKTtcbiAgfVxuXG4gIHByaXZhdGUgc2V0TW9kYWxEYXRhKGRlZmluaXRpb24/OiBGb3JtaW9Gb3JtKTogdm9pZCB7XG4gICAgaWYgKGRlZmluaXRpb24pIHtcbiAgICAgIHRoaXMub2JqZWN0Rm9ybSQubmV4dChkZWZpbml0aW9uKTtcbiAgICAgIHRoaXMubm9Gb3JtRGVmaW5pdGlvbkNvbXBvbmVudCQubmV4dChmYWxzZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMubm9Gb3JtRGVmaW5pdGlvbkNvbXBvbmVudCQubmV4dCh0cnVlKTtcbiAgICB9XG5cbiAgICB0aGlzLnNob3coKTtcbiAgfVxufVxuIiwiPCEtLVxuICB+IENvcHlyaWdodCAyMDE1LTIwMjMgUml0ZW5zZSBCViwgdGhlIE5ldGhlcmxhbmRzLlxuICB+XG4gIH4gTGljZW5zZWQgdW5kZXIgRVVQTCwgVmVyc2lvbiAxLjIgKHRoZSBcIkxpY2Vuc2VcIik7XG4gIH4geW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICB+IFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICB+XG4gIH4gaHR0cHM6Ly9qb2ludXAuZWMuZXVyb3BhLmV1L2NvbGxlY3Rpb24vZXVwbC9ldXBsLXRleHQtZXVwbC0xMlxuICB+XG4gIH4gVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICB+IGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBiYXNpcyxcbiAgfiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAgfiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gIH4gbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gIC0tPlxuXG48bmctY29udGFpbmVyXG4gICpuZ0lmPVwie1xuICAgIG9iamVjdHM6IG9iamVjdHMkIHwgYXN5bmMsXG4gICAgY29sdW1uczogY29sdW1ucyQgfCBhc3luYyxcbiAgICBsb2FkaW5nOiBsb2FkaW5nJCB8IGFzeW5jLFxuICAgIGhhc0RhdGE6IGhhc0RhdGEkIHwgYXN5bmNcbiAgfSBhcyBvYnNcIlxuPlxuICA8di10YWJsZVxuICAgICpuZ0lmPVwib2JzLmhhc0RhdGEgfHwgb2JzLmxvYWRpbmdcIlxuICAgIFtsb2FkaW5nXT1cIm9icy5sb2FkaW5nXCJcbiAgICBbaXRlbXNdPVwib2JzLm9iamVjdHNcIlxuICAgIFtjb2x1bW5zXT1cIm9icy5jb2x1bW5zXCJcbiAgICBbc2hvd0VkaXRCdXR0b25zXT1cInRydWVcIlxuICAgIGVkaXRCdXR0b25UcmFuc2xhdGlvbktleT1cImRvc3NpZXIuemFha29iamVjdGVuLm9iamVjdFR5cGUudmlld09iamVjdFwiXG4gICAgW2Ftb3VudE9mTG9hZGluZ1Jvd3NdPVwiMlwiXG4gICAgW2l0ZW1zVHJhbnNsYXRpb25LZXldPVwiJ3BsdWdpbk1hbmFnZW1lbnQudGFibGVJdGVtc1RleHQnXCJcbiAgICBbc2hvd1BhZ2luYXRpb25dPVwiZmFsc2VcIlxuICAgIChlZGl0QnV0dG9uQ2xpY2tlZCk9XCJyb3dDbGlja2VkKCRldmVudClcIlxuICA+PC92LXRhYmxlPlxuXG4gIDx2LXBhcmFncmFwaCAqbmdJZj1cIiFvYnMuaGFzRGF0YSAmJiAhb2JzLmxvYWRpbmdcIiBbY2VudGVyXT1cInRydWVcIj57e1xuICAgICdkb3NzaWVyLnphYWtvYmplY3Rlbi5ub09iamVjdFR5cGUnIHwgdHJhbnNsYXRlXG4gIH19PC92LXBhcmFncmFwaD5cbjwvbmctY29udGFpbmVyPlxuXG48di1tb2RhbCAjdmlld09iamVjdE1vZGFsIChjbG9zZUV2ZW50KT1cImhpZGUoKVwiIFtoaWRlRm9vdGVyXT1cInRydWVcIiBbbWF4V2lkdGhQeF09XCI3NTBcIj5cbiAgPGRpdiByb2xlPVwiaGVhZGVyXCI+XG4gICAgPHYtdGl0bGUgW21hcmdpbl09XCJmYWxzZVwiIHR5cGU9XCJoMlwiIFtmdWxsV2lkdGhdPVwidHJ1ZVwiIFtjZW50ZXJdPVwidHJ1ZVwiPnt7XG4gICAgICBvYmplY3ROYW1lJCB8IGFzeW5jXG4gICAgfX08L3YtdGl0bGU+XG4gIDwvZGl2PlxuXG4gIDxkaXYgcm9sZT1cImNvbnRlbnRcIj5cbiAgICA8dmFsdGltby1mb3JtLWlvXG4gICAgICAqbmdJZj1cIihub0Zvcm1EZWZpbml0aW9uQ29tcG9uZW50JCB8IGFzeW5jKSA9PT0gZmFsc2VcIlxuICAgICAgW2Zvcm1dPVwib2JqZWN0Rm9ybSQgfCBhc3luY1wiXG4gICAgPjwvdmFsdGltby1mb3JtLWlvPlxuICAgIDx2LXBhcmFncmFwaCAqbmdJZj1cIm5vRm9ybURlZmluaXRpb25Db21wb25lbnQkIHwgYXN5bmNcIiBbY2VudGVyXT1cInRydWVcIj57e1xuICAgICAgJ2Rvc3NpZXIuemFha29iamVjdGVuLm5vRm9ybURlZmluaXRpb25Db21wb25lbnQnIHwgdHJhbnNsYXRlXG4gICAgfX08L3YtcGFyYWdyYXBoPlxuICA8L2Rpdj5cbjwvdi1tb2RhbD5cbiJdfQ==
@@ -0,0 +1,52 @@
1
+ /*
2
+ * Copyright 2015-2023 Ritense BV, the Netherlands.
3
+ *
4
+ * Licensed under EUPL, Version 1.2 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" basis,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+ import { Component } from '@angular/core';
17
+ import * as i0 from "@angular/core";
18
+ import * as i1 from "@angular/router";
19
+ import * as i2 from "@valtimo/document";
20
+ import * as i3 from "@angular/common";
21
+ import * as i4 from "@valtimo/process";
22
+ import * as i5 from "@angular/forms";
23
+ import * as i6 from "carbon-components-angular";
24
+ import * as i7 from "@ngx-translate/core";
25
+ export class DossierDetailTabProgressComponent {
26
+ constructor(route, documentService) {
27
+ this.route = route;
28
+ this.documentService = documentService;
29
+ const snapshot = this.route.snapshot.paramMap;
30
+ this.documentId = snapshot.get('documentId') || '';
31
+ }
32
+ ngOnInit() {
33
+ this.documentService
34
+ .findProcessDocumentInstances(this.documentId)
35
+ .subscribe(processDocumentInstances => {
36
+ this.processDocumentInstances = processDocumentInstances.sort((a, b) => a.isActive === b.isActive ? 0 : a.isActive ? -1 : 1);
37
+ if (processDocumentInstances.length > 0) {
38
+ this.selectedProcessInstanceId = processDocumentInstances[0].id.processInstanceId;
39
+ }
40
+ });
41
+ }
42
+ loadProcessInstance(processInstanceId) {
43
+ this.selectedProcessInstanceId = processInstanceId;
44
+ }
45
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DossierDetailTabProgressComponent, deps: [{ token: i1.ActivatedRoute }, { token: i2.DocumentService }], target: i0.ɵɵFactoryTarget.Component }); }
46
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: DossierDetailTabProgressComponent, selector: "valtimo-dossier-detail-tab-progress", ngImport: i0, template: "<!--\n ~ Copyright 2015-2023 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<div\n class=\"full-height-tab-content\"\n *ngIf=\"\n processDocumentInstances && processDocumentInstances.length > 0;\n else emptyProcessDocumentInstances\n \"\n>\n <div class=\"col-3\">\n <label><strong>Process</strong></label\n ><br />\n <select class=\"form-control\" (change)=\"loadProcessInstance($event.target.value)\">\n <option\n *ngFor=\"let processDocumentInstance of processDocumentInstances\"\n [value]=\"processDocumentInstance.id.processInstanceId\"\n [selected]=\"selectedProcessInstanceId === processDocumentInstance.id.processInstanceId\"\n >\n {{ processDocumentInstance.processName }}\n </option>\n </select>\n </div>\n <valtimo-process-diagram\n [processInstanceId]=\"selectedProcessInstanceId\"\n ></valtimo-process-diagram>\n</div>\n\n<ng-template #emptyProcessDocumentInstances>\n <span> {{ 'progress.noProcessDocumentInstances' | translate }}</span>\n</ng-template>\n", styles: [".full-height-tab-content{height:calc(100vh - 380px);width:100%}\n"], dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.ProcessDiagramComponent, selector: "valtimo-process-diagram", inputs: ["processDefinitionKey", "processInstanceId"], outputs: ["importDone"] }, { kind: "directive", type: i5.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i5.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i6.Option, selector: "option" }, { kind: "pipe", type: i7.TranslatePipe, name: "translate" }] }); }
47
+ }
48
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DossierDetailTabProgressComponent, decorators: [{
49
+ type: Component,
50
+ args: [{ selector: 'valtimo-dossier-detail-tab-progress', template: "<!--\n ~ Copyright 2015-2023 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<div\n class=\"full-height-tab-content\"\n *ngIf=\"\n processDocumentInstances && processDocumentInstances.length > 0;\n else emptyProcessDocumentInstances\n \"\n>\n <div class=\"col-3\">\n <label><strong>Process</strong></label\n ><br />\n <select class=\"form-control\" (change)=\"loadProcessInstance($event.target.value)\">\n <option\n *ngFor=\"let processDocumentInstance of processDocumentInstances\"\n [value]=\"processDocumentInstance.id.processInstanceId\"\n [selected]=\"selectedProcessInstanceId === processDocumentInstance.id.processInstanceId\"\n >\n {{ processDocumentInstance.processName }}\n </option>\n </select>\n </div>\n <valtimo-process-diagram\n [processInstanceId]=\"selectedProcessInstanceId\"\n ></valtimo-process-diagram>\n</div>\n\n<ng-template #emptyProcessDocumentInstances>\n <span> {{ 'progress.noProcessDocumentInstances' | translate }}</span>\n</ng-template>\n", styles: [".full-height-tab-content{height:calc(100vh - 380px);width:100%}\n"] }]
51
+ }], ctorParameters: function () { return [{ type: i1.ActivatedRoute }, { type: i2.DocumentService }]; } });
52
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZ3Jlc3MuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmFsdGltby9kb3NzaWVyL3NyYy9saWIvY29tcG9uZW50cy9kb3NzaWVyLWRldGFpbC90YWIvcHJvZ3Jlc3MvcHJvZ3Jlc3MuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmFsdGltby9kb3NzaWVyL3NyYy9saWIvY29tcG9uZW50cy9kb3NzaWVyLWRldGFpbC90YWIvcHJvZ3Jlc3MvcHJvZ3Jlc3MuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7O0dBY0c7QUFFSCxPQUFPLEVBQUMsU0FBUyxFQUFTLE1BQU0sZUFBZSxDQUFDOzs7Ozs7Ozs7QUFVaEQsTUFBTSxPQUFPLGlDQUFpQztJQUs1QyxZQUNVLEtBQXFCLEVBQ3JCLGVBQWdDO1FBRGhDLFVBQUssR0FBTCxLQUFLLENBQWdCO1FBQ3JCLG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtRQUV4QyxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUM7UUFDOUMsSUFBSSxDQUFDLFVBQVUsR0FBRyxRQUFRLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNyRCxDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxlQUFlO2FBQ2pCLDRCQUE0QixDQUFDLElBQUksQ0FBQyxVQUFVLENBQUM7YUFDN0MsU0FBUyxDQUFDLHdCQUF3QixDQUFDLEVBQUU7WUFDcEMsSUFBSSxDQUFDLHdCQUF3QixHQUFHLHdCQUF3QixDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUNyRSxDQUFDLENBQUMsUUFBUSxLQUFLLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FDcEQsQ0FBQztZQUNGLElBQUksd0JBQXdCLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtnQkFDdkMsSUFBSSxDQUFDLHlCQUF5QixHQUFHLHdCQUF3QixDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQzthQUNuRjtRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVNLG1CQUFtQixDQUFDLGlCQUF5QjtRQUNsRCxJQUFJLENBQUMseUJBQXlCLEdBQUcsaUJBQWlCLENBQUM7SUFDckQsQ0FBQzsrR0E1QlUsaUNBQWlDO21HQUFqQyxpQ0FBaUMsMkVDMUI5QyxzbERBNENBOzs0RkRsQmEsaUNBQWlDO2tCQUw3QyxTQUFTOytCQUNFLHFDQUFxQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgMjAxNS0yMDIzIFJpdGVuc2UgQlYsIHRoZSBOZXRoZXJsYW5kcy5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciBFVVBMLCBWZXJzaW9uIDEuMiAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqIGh0dHBzOi8vam9pbnVwLmVjLmV1cm9wYS5ldS9jb2xsZWN0aW9uL2V1cGwvZXVwbC10ZXh0LWV1cGwtMTJcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgYmFzaXMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmltcG9ydCB7Q29tcG9uZW50LCBPbkluaXR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtBY3RpdmF0ZWRSb3V0ZX0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7RG9jdW1lbnRTZXJ2aWNlfSBmcm9tICdAdmFsdGltby9kb2N1bWVudCc7XG5pbXBvcnQge1Byb2Nlc3NEb2N1bWVudEluc3RhbmNlfSBmcm9tICdAdmFsdGltby9kb2N1bWVudCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ZhbHRpbW8tZG9zc2llci1kZXRhaWwtdGFiLXByb2dyZXNzJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3Byb2dyZXNzLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vcHJvZ3Jlc3MuY29tcG9uZW50LmNzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBEb3NzaWVyRGV0YWlsVGFiUHJvZ3Jlc3NDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBwdWJsaWMgcHJvY2Vzc0RvY3VtZW50SW5zdGFuY2VzOiBQcm9jZXNzRG9jdW1lbnRJbnN0YW5jZVtdO1xuICBwdWJsaWMgc2VsZWN0ZWRQcm9jZXNzSW5zdGFuY2VJZDogc3RyaW5nO1xuICBwdWJsaWMgcmVhZG9ubHkgZG9jdW1lbnRJZDogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcm91dGU6IEFjdGl2YXRlZFJvdXRlLFxuICAgIHByaXZhdGUgZG9jdW1lbnRTZXJ2aWNlOiBEb2N1bWVudFNlcnZpY2VcbiAgKSB7XG4gICAgY29uc3Qgc25hcHNob3QgPSB0aGlzLnJvdXRlLnNuYXBzaG90LnBhcmFtTWFwO1xuICAgIHRoaXMuZG9jdW1lbnRJZCA9IHNuYXBzaG90LmdldCgnZG9jdW1lbnRJZCcpIHx8ICcnO1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5kb2N1bWVudFNlcnZpY2VcbiAgICAgIC5maW5kUHJvY2Vzc0RvY3VtZW50SW5zdGFuY2VzKHRoaXMuZG9jdW1lbnRJZClcbiAgICAgIC5zdWJzY3JpYmUocHJvY2Vzc0RvY3VtZW50SW5zdGFuY2VzID0+IHtcbiAgICAgICAgdGhpcy5wcm9jZXNzRG9jdW1lbnRJbnN0YW5jZXMgPSBwcm9jZXNzRG9jdW1lbnRJbnN0YW5jZXMuc29ydCgoYSwgYikgPT5cbiAgICAgICAgICBhLmlzQWN0aXZlID09PSBiLmlzQWN0aXZlID8gMCA6IGEuaXNBY3RpdmUgPyAtMSA6IDFcbiAgICAgICAgKTtcbiAgICAgICAgaWYgKHByb2Nlc3NEb2N1bWVudEluc3RhbmNlcy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgdGhpcy5zZWxlY3RlZFByb2Nlc3NJbnN0YW5jZUlkID0gcHJvY2Vzc0RvY3VtZW50SW5zdGFuY2VzWzBdLmlkLnByb2Nlc3NJbnN0YW5jZUlkO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBsb2FkUHJvY2Vzc0luc3RhbmNlKHByb2Nlc3NJbnN0YW5jZUlkOiBzdHJpbmcpIHtcbiAgICB0aGlzLnNlbGVjdGVkUHJvY2Vzc0luc3RhbmNlSWQgPSBwcm9jZXNzSW5zdGFuY2VJZDtcbiAgfVxufVxuIiwiPCEtLVxuICB+IENvcHlyaWdodCAyMDE1LTIwMjMgUml0ZW5zZSBCViwgdGhlIE5ldGhlcmxhbmRzLlxuICB+XG4gIH4gTGljZW5zZWQgdW5kZXIgRVVQTCwgVmVyc2lvbiAxLjIgKHRoZSBcIkxpY2Vuc2VcIik7XG4gIH4geW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICB+IFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICB+XG4gIH4gaHR0cHM6Ly9qb2ludXAuZWMuZXVyb3BhLmV1L2NvbGxlY3Rpb24vZXVwbC9ldXBsLXRleHQtZXVwbC0xMlxuICB+XG4gIH4gVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICB+IGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBiYXNpcyxcbiAgfiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAgfiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gIH4gbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gIC0tPlxuXG48ZGl2XG4gIGNsYXNzPVwiZnVsbC1oZWlnaHQtdGFiLWNvbnRlbnRcIlxuICAqbmdJZj1cIlxuICAgIHByb2Nlc3NEb2N1bWVudEluc3RhbmNlcyAmJiBwcm9jZXNzRG9jdW1lbnRJbnN0YW5jZXMubGVuZ3RoID4gMDtcbiAgICBlbHNlIGVtcHR5UHJvY2Vzc0RvY3VtZW50SW5zdGFuY2VzXG4gIFwiXG4+XG4gIDxkaXYgY2xhc3M9XCJjb2wtM1wiPlxuICAgIDxsYWJlbD48c3Ryb25nPlByb2Nlc3M8L3N0cm9uZz48L2xhYmVsXG4gICAgPjxiciAvPlxuICAgIDxzZWxlY3QgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIiAoY2hhbmdlKT1cImxvYWRQcm9jZXNzSW5zdGFuY2UoJGV2ZW50LnRhcmdldC52YWx1ZSlcIj5cbiAgICAgIDxvcHRpb25cbiAgICAgICAgKm5nRm9yPVwibGV0IHByb2Nlc3NEb2N1bWVudEluc3RhbmNlIG9mIHByb2Nlc3NEb2N1bWVudEluc3RhbmNlc1wiXG4gICAgICAgIFt2YWx1ZV09XCJwcm9jZXNzRG9jdW1lbnRJbnN0YW5jZS5pZC5wcm9jZXNzSW5zdGFuY2VJZFwiXG4gICAgICAgIFtzZWxlY3RlZF09XCJzZWxlY3RlZFByb2Nlc3NJbnN0YW5jZUlkID09PSBwcm9jZXNzRG9jdW1lbnRJbnN0YW5jZS5pZC5wcm9jZXNzSW5zdGFuY2VJZFwiXG4gICAgICA+XG4gICAgICAgIHt7IHByb2Nlc3NEb2N1bWVudEluc3RhbmNlLnByb2Nlc3NOYW1lIH19XG4gICAgICA8L29wdGlvbj5cbiAgICA8L3NlbGVjdD5cbiAgPC9kaXY+XG4gIDx2YWx0aW1vLXByb2Nlc3MtZGlhZ3JhbVxuICAgIFtwcm9jZXNzSW5zdGFuY2VJZF09XCJzZWxlY3RlZFByb2Nlc3NJbnN0YW5jZUlkXCJcbiAgPjwvdmFsdGltby1wcm9jZXNzLWRpYWdyYW0+XG48L2Rpdj5cblxuPG5nLXRlbXBsYXRlICNlbXB0eVByb2Nlc3NEb2N1bWVudEluc3RhbmNlcz5cbiAgPHNwYW4+IHt7ICdwcm9ncmVzcy5ub1Byb2Nlc3NEb2N1bWVudEluc3RhbmNlcycgfCB0cmFuc2xhdGUgfX08L3NwYW4+XG48L25nLXRlbXBsYXRlPlxuIl19