@valtimo/zgw 12.14.0 → 13.0.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 (191) hide show
  1. package/fesm2022/valtimo-zgw.mjs +696 -1166
  2. package/fesm2022/valtimo-zgw.mjs.map +1 -1
  3. package/lib/components/case-management-zgw/case-management-zgw.component.d.ts +35 -0
  4. package/lib/components/case-management-zgw/case-management-zgw.component.d.ts.map +1 -0
  5. package/lib/components/case-management-zgw-general/case-management-zgw-general.component.d.ts +6 -0
  6. package/lib/components/case-management-zgw-general/case-management-zgw-general.component.d.ts.map +1 -0
  7. package/lib/components/index.d.ts +1 -1
  8. package/lib/components/index.d.ts.map +1 -1
  9. package/lib/models/{dossier-management-zgw.model.d.ts → case-management-zgw.model.d.ts} +3 -2
  10. package/lib/models/case-management-zgw.model.d.ts.map +1 -0
  11. package/lib/models/index.d.ts +1 -1
  12. package/lib/models/index.d.ts.map +1 -1
  13. package/lib/modules/documenten-api/components/documenten-api-column-modal/documenten-api-column-modal.component.d.ts.map +1 -1
  14. package/lib/modules/documenten-api/components/documenten-api-columns/documenten-api-columns.component.d.ts +6 -4
  15. package/lib/modules/documenten-api/components/documenten-api-columns/documenten-api-columns.component.d.ts.map +1 -1
  16. package/lib/modules/documenten-api/components/documenten-api-documents/documenten-api-documents.component.d.ts +19 -17
  17. package/lib/modules/documenten-api/components/documenten-api-documents/documenten-api-documents.component.d.ts.map +1 -1
  18. package/lib/modules/documenten-api/components/documenten-api-filter/documenten-api-filter.component.d.ts +2 -1
  19. package/lib/modules/documenten-api/components/documenten-api-filter/documenten-api-filter.component.d.ts.map +1 -1
  20. package/lib/modules/documenten-api/components/{documenten-api-link-upload-process/dossier-management-link-process.component.d.ts → documenten-api-link-process/case-management-link-process.component.d.ts} +15 -9
  21. package/lib/modules/documenten-api/components/documenten-api-link-process/case-management-link-process.component.d.ts.map +1 -0
  22. package/lib/modules/documenten-api/components/documenten-api-metadata-modal/documenten-api-metadata-modal.component.d.ts +5 -3
  23. package/lib/modules/documenten-api/components/documenten-api-metadata-modal/documenten-api-metadata-modal.component.d.ts.map +1 -1
  24. package/lib/modules/documenten-api/components/documenten-api-tag-modal/documenten-api-tag-modal.component.d.ts +2 -2
  25. package/lib/modules/documenten-api/components/documenten-api-tag-modal/documenten-api-tag-modal.component.d.ts.map +1 -1
  26. package/lib/modules/documenten-api/components/documenten-api-tags/documenten-api-tags.component.d.ts +5 -6
  27. package/lib/modules/documenten-api/components/documenten-api-tags/documenten-api-tags.component.d.ts.map +1 -1
  28. package/lib/modules/documenten-api/components/documenten-api-upload-field-model/documenten-api-upload-field-modal.component.d.ts +6 -3
  29. package/lib/modules/documenten-api/components/documenten-api-upload-field-model/documenten-api-upload-field-modal.component.d.ts.map +1 -1
  30. package/lib/modules/documenten-api/components/documenten-api-upload-fields/documenten-api-upload-fields.component.d.ts +8 -6
  31. package/lib/modules/documenten-api/components/documenten-api-upload-fields/documenten-api-upload-fields.component.d.ts.map +1 -1
  32. package/lib/modules/documenten-api/components/documenten-api-version/documenten-api-version.component.d.ts +1 -1
  33. package/lib/modules/documenten-api/components/documenten-api-version/documenten-api-version.component.d.ts.map +1 -1
  34. package/lib/modules/documenten-api/components/index.d.ts +1 -1
  35. package/lib/modules/documenten-api/components/index.d.ts.map +1 -1
  36. package/lib/modules/documenten-api/formio/documenten-api-uploader/documenten-api-uploader.component.d.ts +7 -9
  37. package/lib/modules/documenten-api/formio/documenten-api-uploader/documenten-api-uploader.component.d.ts.map +1 -1
  38. package/lib/modules/documenten-api/services/documenten-api-column.service.d.ts +2 -2
  39. package/lib/modules/documenten-api/services/documenten-api-column.service.d.ts.map +1 -1
  40. package/lib/modules/documenten-api/services/documenten-api-document.service.d.ts +1 -1
  41. package/lib/modules/documenten-api/services/documenten-api-link-process.service.d.ts +4 -4
  42. package/lib/modules/documenten-api/services/documenten-api-link-process.service.d.ts.map +1 -1
  43. package/lib/modules/documenten-api/services/documenten-api-tag.service.d.ts +1 -1
  44. package/lib/modules/documenten-api/services/documenten-api-version.service.d.ts +2 -2
  45. package/lib/modules/documenten-api/services/documenten-api-version.service.d.ts.map +1 -1
  46. package/lib/modules/index.d.ts +0 -2
  47. package/lib/modules/index.d.ts.map +1 -1
  48. package/lib/modules/objecten-api/components/object-type/object-type.component.d.ts +3 -3
  49. package/lib/modules/objecten-api/components/object-type/object-type.component.d.ts.map +1 -1
  50. package/lib/modules/objecten-api/components/zaakobjecten/zaakobjecten.component.d.ts +3 -3
  51. package/lib/modules/objecten-api/components/zaakobjecten/zaakobjecten.component.d.ts.map +1 -1
  52. package/lib/modules/objecten-api/services/zaakobjecten.service.d.ts +1 -1
  53. package/lib/modules/zaakdetails/components/document-objecten-api-sync/document-objecten-api-sync.component.d.ts +14 -7
  54. package/lib/modules/zaakdetails/components/document-objecten-api-sync/document-objecten-api-sync.component.d.ts.map +1 -1
  55. package/lib/modules/zaakdetails/services/document-objecten-api-sync.service.d.ts +4 -6
  56. package/lib/modules/zaakdetails/services/document-objecten-api-sync.service.d.ts.map +1 -1
  57. package/lib/modules/zaken-api/components/zaken-api-zaaktype-link/zaken-api-zaaktype-link.component.d.ts +20 -21
  58. package/lib/modules/zaken-api/components/zaken-api-zaaktype-link/zaken-api-zaaktype-link.component.d.ts.map +1 -1
  59. package/lib/modules/zaken-api/models/zaken-api-zaaktype-link.model.d.ts.map +1 -1
  60. package/lib/modules/zaken-api/services/zaken-api-zaaktype-link.service.d.ts +1 -1
  61. package/lib/services/{dossier-management-zgw.service.d.ts → case-management-zgw.service.d.ts} +4 -4
  62. package/lib/services/case-management-zgw.service.d.ts.map +1 -0
  63. package/lib/services/index.d.ts +1 -1
  64. package/lib/services/index.d.ts.map +1 -1
  65. package/lib/zgw.module.d.ts +1 -2
  66. package/lib/zgw.module.d.ts.map +1 -1
  67. package/package.json +7 -9
  68. package/public_api.d.ts +0 -2
  69. package/public_api.d.ts.map +1 -1
  70. package/esm2022/lib/components/dossier-management-zgw/dossier-management-zgw.component.mjs +0 -91
  71. package/esm2022/lib/components/index.mjs +0 -17
  72. package/esm2022/lib/models/dossier-management-zgw.model.mjs +0 -23
  73. package/esm2022/lib/models/index.mjs +0 -17
  74. package/esm2022/lib/modules/contactmomenten/components/contact-moments/contact-moments.component.mjs +0 -89
  75. package/esm2022/lib/modules/contactmomenten/components/index.mjs +0 -17
  76. package/esm2022/lib/modules/contactmomenten/index.mjs +0 -19
  77. package/esm2022/lib/modules/contactmomenten/models/contact-moment.model.mjs +0 -17
  78. package/esm2022/lib/modules/contactmomenten/models/index.mjs +0 -17
  79. package/esm2022/lib/modules/contactmomenten/services/contact-moment.service.mjs +0 -43
  80. package/esm2022/lib/modules/contactmomenten/services/index.mjs +0 -17
  81. package/esm2022/lib/modules/documenten-api/components/documenten-api-column-modal/documenten-api-column-modal.component.mjs +0 -175
  82. package/esm2022/lib/modules/documenten-api/components/documenten-api-columns/documenten-api-columns.component.mjs +0 -142
  83. package/esm2022/lib/modules/documenten-api/components/documenten-api-documents/documenten-api-documents.component.mjs +0 -443
  84. package/esm2022/lib/modules/documenten-api/components/documenten-api-filter/documenten-api-filter.component.mjs +0 -174
  85. package/esm2022/lib/modules/documenten-api/components/documenten-api-link-upload-process/dossier-management-link-process.component.mjs +0 -100
  86. package/esm2022/lib/modules/documenten-api/components/documenten-api-metadata-modal/documenten-api-metadata-modal.component.mjs +0 -541
  87. package/esm2022/lib/modules/documenten-api/components/documenten-api-tag-modal/documenten-api-tag-modal.component.mjs +0 -116
  88. package/esm2022/lib/modules/documenten-api/components/documenten-api-tags/documenten-api-tags.component.mjs +0 -162
  89. package/esm2022/lib/modules/documenten-api/components/documenten-api-upload-field-model/documenten-api-upload-field-modal.component.mjs +0 -183
  90. package/esm2022/lib/modules/documenten-api/components/documenten-api-upload-fields/documenten-api-upload-fields.component.mjs +0 -118
  91. package/esm2022/lib/modules/documenten-api/components/documenten-api-version/documenten-api-version.component.mjs +0 -43
  92. package/esm2022/lib/modules/documenten-api/components/index.mjs +0 -27
  93. package/esm2022/lib/modules/documenten-api/formio/documenten-api-uploader/documenten-api-uploader-edit-form.mjs +0 -554
  94. package/esm2022/lib/modules/documenten-api/formio/documenten-api-uploader/documenten-api-uploader.component.mjs +0 -256
  95. package/esm2022/lib/modules/documenten-api/formio/documenten-api-uploader/documenten-api-uploader.formio.mjs +0 -46
  96. package/esm2022/lib/modules/documenten-api/formio/documenten-api-uploader/index.mjs +0 -19
  97. package/esm2022/lib/modules/documenten-api/formio/index.mjs +0 -17
  98. package/esm2022/lib/modules/documenten-api/index.mjs +0 -20
  99. package/esm2022/lib/modules/documenten-api/models/configured-column.model.mjs +0 -27
  100. package/esm2022/lib/modules/documenten-api/models/documenten-api-column-modal.model.mjs +0 -17
  101. package/esm2022/lib/modules/documenten-api/models/documenten-api-filter.model.mjs +0 -17
  102. package/esm2022/lib/modules/documenten-api/models/documenten-api-link-process.model.mjs +0 -17
  103. package/esm2022/lib/modules/documenten-api/models/documenten-api-metadata.model.mjs +0 -34
  104. package/esm2022/lib/modules/documenten-api/models/documenten-api-tag.model.mjs +0 -17
  105. package/esm2022/lib/modules/documenten-api/models/documenten-api-upload-field.model.mjs +0 -33
  106. package/esm2022/lib/modules/documenten-api/models/documenten-api-version.model.mjs +0 -17
  107. package/esm2022/lib/modules/documenten-api/models/documenten-api.model.mjs +0 -37
  108. package/esm2022/lib/modules/documenten-api/models/index.mjs +0 -23
  109. package/esm2022/lib/modules/documenten-api/services/documenten-api-column.service.mjs +0 -38
  110. package/esm2022/lib/modules/documenten-api/services/documenten-api-document.service.mjs +0 -58
  111. package/esm2022/lib/modules/documenten-api/services/documenten-api-link-process.service.mjs +0 -51
  112. package/esm2022/lib/modules/documenten-api/services/documenten-api-tag.service.mjs +0 -36
  113. package/esm2022/lib/modules/documenten-api/services/documenten-api-version.service.mjs +0 -50
  114. package/esm2022/lib/modules/documenten-api/services/index.mjs +0 -21
  115. package/esm2022/lib/modules/haalcentraal-brp/components/cases-list/cases-list.component.mjs +0 -56
  116. package/esm2022/lib/modules/haalcentraal-brp/components/customer-list/customer-list.component.mjs +0 -133
  117. package/esm2022/lib/modules/haalcentraal-brp/customer-routing.module.mjs +0 -51
  118. package/esm2022/lib/modules/haalcentraal-brp/customer.module.mjs +0 -76
  119. package/esm2022/lib/modules/haalcentraal-brp/index.mjs +0 -19
  120. package/esm2022/lib/modules/haalcentraal-brp/models/case.mjs +0 -17
  121. package/esm2022/lib/modules/haalcentraal-brp/models/customer.mjs +0 -17
  122. package/esm2022/lib/modules/haalcentraal-brp/models/index.mjs +0 -18
  123. package/esm2022/lib/modules/haalcentraal-brp/services/customer.service.mjs +0 -43
  124. package/esm2022/lib/modules/haalcentraal-brp/services/index.mjs +0 -17
  125. package/esm2022/lib/modules/index.mjs +0 -22
  126. package/esm2022/lib/modules/objecten-api/components/index.mjs +0 -18
  127. package/esm2022/lib/modules/objecten-api/components/object-type/object-type.component.mjs +0 -122
  128. package/esm2022/lib/modules/objecten-api/components/zaakobjecten/zaakobjecten.component.mjs +0 -125
  129. package/esm2022/lib/modules/objecten-api/index.mjs +0 -19
  130. package/esm2022/lib/modules/objecten-api/models/index.mjs +0 -17
  131. package/esm2022/lib/modules/objecten-api/models/zaakobjecten.model.mjs +0 -17
  132. package/esm2022/lib/modules/objecten-api/services/index.mjs +0 -17
  133. package/esm2022/lib/modules/objecten-api/services/zaakobjecten.service.mjs +0 -44
  134. package/esm2022/lib/modules/zaakdetails/components/document-objecten-api-sync/document-objecten-api-sync.component.mjs +0 -127
  135. package/esm2022/lib/modules/zaakdetails/components/index.mjs +0 -17
  136. package/esm2022/lib/modules/zaakdetails/index.mjs +0 -19
  137. package/esm2022/lib/modules/zaakdetails/models/document-objecten-api-sync.model.mjs +0 -2
  138. package/esm2022/lib/modules/zaakdetails/models/index.mjs +0 -17
  139. package/esm2022/lib/modules/zaakdetails/services/document-objecten-api-sync.service.mjs +0 -51
  140. package/esm2022/lib/modules/zaakdetails/services/index.mjs +0 -17
  141. package/esm2022/lib/modules/zaken-api/components/index.mjs +0 -17
  142. package/esm2022/lib/modules/zaken-api/components/zaken-api-zaaktype-link/zaken-api-zaaktype-link.component.mjs +0 -183
  143. package/esm2022/lib/modules/zaken-api/index.mjs +0 -19
  144. package/esm2022/lib/modules/zaken-api/models/index.mjs +0 -17
  145. package/esm2022/lib/modules/zaken-api/models/zaken-api-zaaktype-link.model.mjs +0 -2
  146. package/esm2022/lib/modules/zaken-api/services/index.mjs +0 -17
  147. package/esm2022/lib/modules/zaken-api/services/zaken-api-zaaktype-link.service.mjs +0 -39
  148. package/esm2022/lib/services/dossier-management-zgw.service.mjs +0 -43
  149. package/esm2022/lib/services/index.mjs +0 -17
  150. package/esm2022/lib/zgw.module.mjs +0 -123
  151. package/esm2022/public_api.mjs +0 -27
  152. package/esm2022/valtimo-zgw.mjs +0 -5
  153. package/lib/components/dossier-management-zgw/dossier-management-zgw.component.d.ts +0 -24
  154. package/lib/components/dossier-management-zgw/dossier-management-zgw.component.d.ts.map +0 -1
  155. package/lib/models/dossier-management-zgw.model.d.ts.map +0 -1
  156. package/lib/modules/contactmomenten/components/contact-moments/contact-moments.component.d.ts +0 -29
  157. package/lib/modules/contactmomenten/components/contact-moments/contact-moments.component.d.ts.map +0 -1
  158. package/lib/modules/contactmomenten/components/index.d.ts +0 -2
  159. package/lib/modules/contactmomenten/components/index.d.ts.map +0 -1
  160. package/lib/modules/contactmomenten/index.d.ts +0 -4
  161. package/lib/modules/contactmomenten/index.d.ts.map +0 -1
  162. package/lib/modules/contactmomenten/models/contact-moment.model.d.ts +0 -14
  163. package/lib/modules/contactmomenten/models/contact-moment.model.d.ts.map +0 -1
  164. package/lib/modules/contactmomenten/models/index.d.ts +0 -2
  165. package/lib/modules/contactmomenten/models/index.d.ts.map +0 -1
  166. package/lib/modules/contactmomenten/services/contact-moment.service.d.ts +0 -18
  167. package/lib/modules/contactmomenten/services/contact-moment.service.d.ts.map +0 -1
  168. package/lib/modules/contactmomenten/services/index.d.ts +0 -2
  169. package/lib/modules/contactmomenten/services/index.d.ts.map +0 -1
  170. package/lib/modules/documenten-api/components/documenten-api-link-upload-process/dossier-management-link-process.component.d.ts.map +0 -1
  171. package/lib/modules/haalcentraal-brp/components/cases-list/cases-list.component.d.ts +0 -20
  172. package/lib/modules/haalcentraal-brp/components/cases-list/cases-list.component.d.ts.map +0 -1
  173. package/lib/modules/haalcentraal-brp/components/customer-list/customer-list.component.d.ts +0 -39
  174. package/lib/modules/haalcentraal-brp/components/customer-list/customer-list.component.d.ts.map +0 -1
  175. package/lib/modules/haalcentraal-brp/customer-routing.module.d.ts +0 -9
  176. package/lib/modules/haalcentraal-brp/customer-routing.module.d.ts.map +0 -1
  177. package/lib/modules/haalcentraal-brp/customer.module.d.ts +0 -17
  178. package/lib/modules/haalcentraal-brp/customer.module.d.ts.map +0 -1
  179. package/lib/modules/haalcentraal-brp/index.d.ts +0 -4
  180. package/lib/modules/haalcentraal-brp/index.d.ts.map +0 -1
  181. package/lib/modules/haalcentraal-brp/models/case.d.ts +0 -8
  182. package/lib/modules/haalcentraal-brp/models/case.d.ts.map +0 -1
  183. package/lib/modules/haalcentraal-brp/models/customer.d.ts +0 -22
  184. package/lib/modules/haalcentraal-brp/models/customer.d.ts.map +0 -1
  185. package/lib/modules/haalcentraal-brp/models/index.d.ts +0 -3
  186. package/lib/modules/haalcentraal-brp/models/index.d.ts.map +0 -1
  187. package/lib/modules/haalcentraal-brp/services/customer.service.d.ts +0 -18
  188. package/lib/modules/haalcentraal-brp/services/customer.service.d.ts.map +0 -1
  189. package/lib/modules/haalcentraal-brp/services/index.d.ts +0 -2
  190. package/lib/modules/haalcentraal-brp/services/index.d.ts.map +0 -1
  191. package/lib/services/dossier-management-zgw.service.d.ts.map +0 -1
@@ -1,39 +1,38 @@
1
- import * as i0 from '@angular/core';
2
- import { Injectable, EventEmitter, Output, Input, ChangeDetectionStrategy, Component, ViewChild, signal, NgModule, ViewContainerRef } from '@angular/core';
3
- import * as i6 from 'carbon-components-angular';
4
- import { ModalModule, InputModule, ButtonModule, DropdownModule, RadioModule, NotificationModule, LayerModule, TagModule, IconModule, DatePickerInputModule, DatePickerModule, ComboBoxModule, TooltipModule, DialogModule, ToggleModule, CheckboxModule, LoadingModule, TabsModule } from 'carbon-components-angular';
5
- import * as i3 from '@ngx-translate/core';
6
- import { TranslateModule } from '@ngx-translate/core';
7
1
  import * as i4 from '@angular/common';
8
2
  import { CommonModule } from '@angular/common';
3
+ import * as i0 from '@angular/core';
4
+ import { Injectable, EventEmitter, Output, Input, ChangeDetectionStrategy, Component, ViewChild, HostListener, signal, ViewContainerRef, NgModule } from '@angular/core';
5
+ import * as i5 from '@ngx-translate/core';
6
+ import { TranslateModule } from '@ngx-translate/core';
7
+ import { CaseManagementDraftWarningComponent } from '@valtimo/case-management';
8
+ import * as i2 from '@valtimo/shared';
9
+ import { BaseApiService, getCaseManagementRouteParams, UploadProvider, CASE_MANAGEMENT_TAB_TOKEN, ZGW_OBJECT_TYPE_COMPONENT_TOKEN, ZGW_DOCUMENTEN_API_DOCUMENTS_COMPONENT_TOKEN, CASE_CONFIGURATION_EXTENSIONS_TOKEN } from '@valtimo/shared';
10
+ import * as i5$1 from 'carbon-components-angular';
11
+ import { ModalModule, InputModule, ButtonModule, DropdownModule, RadioModule, NotificationModule, LayerModule, TagModule, IconModule, DatePickerInputModule, DatePickerModule, ComboBoxModule, TooltipModule, DialogModule, ToggleModule, CheckboxModule, LoadingModule, TilesModule, SelectModule as SelectModule$1, TabsModule } from 'carbon-components-angular';
12
+ import { BehaviorSubject, combineLatest, map, Subscription, switchMap, filter, tap, startWith, debounceTime, Subject, take as take$1, of, from, ReplaySubject, finalize, distinctUntilChanged } from 'rxjs';
9
13
  import * as i1$1 from '@angular/forms';
10
- import { Validators, ReactiveFormsModule, FormsModule, FormGroup, FormControl } from '@angular/forms';
11
- import { BehaviorSubject, combineLatest, map, Subscription, switchMap, filter, tap, startWith, debounceTime, Subject, take, of, from, ReplaySubject, distinctUntilChanged } from 'rxjs';
12
- import * as i3$1 from '@valtimo/components';
13
- import { CARBON_CONSTANTS, ViewType, CarbonListModule, ConfirmationModalModule, InputLabelModule, InputModule as InputModule$1, SelectModule, VModalModule, DEFAULT_PAGINATION, DEFAULT_PAGINATOR_CONFIG, ParagraphModule, CarbonListComponent, createCustomFormioComponent, registerCustomFormioComponentWithClass, TableModule, TitleModule, FormIoModule, TimelineItemImpl, ModalModule as ModalModule$1, SpinnerModule, TimelineModule, WidgetModule, ListModule, FilterSidebarModule, PageModule, FormModule, ValtimoCdsModalDirectiveModule, DropzoneModule, FileSizeModule } from '@valtimo/components';
14
- import * as i2 from '@valtimo/config';
15
- import { BaseApiService, UploadProvider, ROLE_USER, CASE_MANAGEMENT_TAB_TOKEN, ZGW_OBJECT_TYPE_COMPONENT_TOKEN, ZGW_DOCUMENTEN_API_DOCUMENTS_COMPONENT_TOKEN, ZGW_CASE_CONFIGURATION_EXTENSIONS_TOKEN } from '@valtimo/config';
14
+ import { Validators, ReactiveFormsModule, FormGroup, FormControl, FormsModule } from '@angular/forms';
15
+ import * as i3 from '@valtimo/components';
16
+ import { CARBON_CONSTANTS, ViewType, CarbonListModule, ConfirmationModalModule, InputLabelModule, InputModule as InputModule$1, SelectModule, VModalModule, DEFAULT_PAGINATION, DEFAULT_PAGINATOR_CONFIG, CarbonListComponent, createCustomFormioComponent, registerCustomFormioComponentWithClass, ParagraphModule, TableModule, FormIoModule, FormModule, SpinnerModule, ValtimoCdsModalDirective, RenderInBodyComponent, MuuriDirectiveModule, DropzoneModule, FileSizeModule } from '@valtimo/components';
16
17
  import * as i1 from '@angular/common/http';
17
18
  import { HttpParams } from '@angular/common/http';
19
+ import { take, tap as tap$1, map as map$1, filter as filter$1, switchMap as switchMap$1, catchError } from 'rxjs/operators';
18
20
  import * as i1$2 from '@angular/router';
19
- import { RouterModule } from '@angular/router';
20
- import { TrashCan16, Filter16, TagGroup16, Upload16 } from '@carbon/icons';
21
- import * as i2$1 from '@valtimo/resource';
21
+ import { NavigationEnd, RouterModule } from '@angular/router';
22
+ import { TrashCan16, Filter16, TagGroup16, Upload16, Edit16, Save16 } from '@carbon/icons';
23
+ import * as i5$3 from '@valtimo/resource';
22
24
  import { CAN_CREATE_RESOURCE_PERMISSION, RESOURCE_PERMISSION_RESOURCE, CAN_DELETE_RESOURCE_PERMISSION, CAN_MODIFY_RESOURCE_PERMISSION, CAN_VIEW_RESOURCE_PERMISSION, ResourceModule } from '@valtimo/resource';
23
- import { tap as tap$1, map as map$1, filter as filter$1, switchMap as switchMap$1, catchError, take as take$1, debounceTime as debounceTime$1 } from 'rxjs/operators';
24
25
  import flatpickr from 'flatpickr';
25
- import * as i1$3 from '@valtimo/document';
26
+ import * as i4$1 from '@valtimo/document';
26
27
  import { DocumentModule } from '@valtimo/document';
27
28
  import moment from 'moment';
28
- import * as i5 from 'keycloak-angular';
29
- import * as i5$1 from '@valtimo/security';
30
- import { AuthGuardService } from '@valtimo/security';
31
- import * as i9 from '@valtimo/access-control';
32
- import * as i4$1 from 'ngx-toastr';
29
+ import * as i5$2 from 'keycloak-angular';
30
+ import * as i7 from '@valtimo/access-control';
31
+ import * as i10 from '@valtimo/security';
33
32
  import { FormioModule } from '@formio/angular';
34
33
 
35
34
  /*
36
- * Copyright 2015-2024 Ritense BV, the Netherlands.
35
+ * Copyright 2015-2025 Ritense BV, the Netherlands.
37
36
  *
38
37
  * Licensed under EUPL, Version 1.2 (the "License");
39
38
  * you may not use this file except in compliance with the License.
@@ -52,10 +51,11 @@ var ZgwTabEnum;
52
51
  ZgwTabEnum["DOCUMENTEN_API_COLUMNS"] = "documentenApiColumns";
53
52
  ZgwTabEnum["DOCUMENTEN_API_TAGS"] = "documentenApiTags";
54
53
  ZgwTabEnum["DOCUMENTEN_API_UPLOAD_FIELDS"] = "documentenApiUploadFields";
54
+ ZgwTabEnum["GENERAL"] = "general";
55
55
  })(ZgwTabEnum || (ZgwTabEnum = {}));
56
56
 
57
57
  /*
58
- * Copyright 2015-2024 Ritense BV, the Netherlands.
58
+ * Copyright 2015-2025 Ritense BV, the Netherlands.
59
59
  *
60
60
  * Licensed under EUPL, Version 1.2 (the "License");
61
61
  * you may not use this file except in compliance with the License.
@@ -75,8 +75,8 @@ class DocumentenApiColumnService extends BaseApiService {
75
75
  super(http, configService);
76
76
  this.http = http;
77
77
  }
78
- getConfiguredColumns(caseDefinitionName) {
79
- return this.http.get(this.getApiUrl(`/v1/case-definition/${caseDefinitionName}/zgw-document-column`));
78
+ getConfiguredColumns(caseDefinitionKey) {
79
+ return this.http.get(this.getApiUrl(`/v1/case-definition/${caseDefinitionKey}/zgw-document-column`));
80
80
  }
81
81
  getAdminConfiguredColumns(caseDefinitionName) {
82
82
  return this.http.get(this.getApiUrl(`/management/v1/case-definition/${caseDefinitionName}/zgw-document-column`));
@@ -93,10 +93,10 @@ class DocumentenApiColumnService extends BaseApiService {
93
93
  updateConfiguredColumns(caseDefinitionKey, orderColumns) {
94
94
  return this.http.put(this.getApiUrl(`/management/v1/case-definition/${caseDefinitionKey}/zgw-document-column`), orderColumns);
95
95
  }
96
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DocumentenApiColumnService, deps: [{ token: i1.HttpClient }, { token: i2.ConfigService }], target: i0.ɵɵFactoryTarget.Injectable }); }
97
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DocumentenApiColumnService, providedIn: 'root' }); }
96
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: DocumentenApiColumnService, deps: [{ token: i1.HttpClient }, { token: i2.ConfigService }], target: i0.ɵɵFactoryTarget.Injectable }); }
97
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: DocumentenApiColumnService, providedIn: 'root' }); }
98
98
  }
99
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DocumentenApiColumnService, decorators: [{
99
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: DocumentenApiColumnService, decorators: [{
100
100
  type: Injectable,
101
101
  args: [{
102
102
  providedIn: 'root',
@@ -104,7 +104,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
104
104
  }], ctorParameters: () => [{ type: i1.HttpClient }, { type: i2.ConfigService }] });
105
105
 
106
106
  /*
107
- * Copyright 2015-2024 Ritense BV, the Netherlands.
107
+ * Copyright 2015-2025 Ritense BV, the Netherlands.
108
108
  *
109
109
  * Licensed under EUPL, Version 1.2 (the "License");
110
110
  * you may not use this file except in compliance with the License.
@@ -145,10 +145,10 @@ class DocumentenApiDocumentService extends BaseApiService {
145
145
  updateUploadField(caseDefinitionName, uploadField) {
146
146
  return this.httpClient.put(this.getApiUrl(`/management/v1/case-definition/${caseDefinitionName}/zgw-document/upload-field`), uploadField);
147
147
  }
148
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DocumentenApiDocumentService, deps: [{ token: i1.HttpClient }, { token: i2.ConfigService }], target: i0.ɵɵFactoryTarget.Injectable }); }
149
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DocumentenApiDocumentService, providedIn: 'root' }); }
148
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: DocumentenApiDocumentService, deps: [{ token: i1.HttpClient }, { token: i2.ConfigService }], target: i0.ɵɵFactoryTarget.Injectable }); }
149
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: DocumentenApiDocumentService, providedIn: 'root' }); }
150
150
  }
151
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DocumentenApiDocumentService, decorators: [{
151
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: DocumentenApiDocumentService, decorators: [{
152
152
  type: Injectable,
153
153
  args: [{
154
154
  providedIn: 'root',
@@ -156,7 +156,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
156
156
  }], ctorParameters: () => [{ type: i1.HttpClient }, { type: i2.ConfigService }] });
157
157
 
158
158
  /*
159
- * Copyright 2015-2024 Ritense BV, the Netherlands.
159
+ * Copyright 2015-2025 Ritense BV, the Netherlands.
160
160
  *
161
161
  * Licensed under EUPL, Version 1.2 (the "License");
162
162
  * you may not use this file except in compliance with the License.
@@ -179,22 +179,22 @@ class DocumentenApiLinkProcessService extends BaseApiService {
179
179
  getProcessDefinitions() {
180
180
  return this.httpClient.get(this.getApiUrl('/v1/process/definition'));
181
181
  }
182
- getLinkedUploadProcess(documentDefinitionName) {
183
- return this.httpClient.get(this.getApiUrl(`/v1/process-document/demo/${documentDefinitionName}/process`));
182
+ getLinkedUploadProcess(caseDefinitionKey, caseDefinitionVersionTag) {
183
+ return this.httpClient.get(this.getApiUrl(`management/v1/case-definition/${caseDefinitionKey}/version/${caseDefinitionVersionTag}/feature-process/DOCUMENT_UPLOAD`));
184
184
  }
185
- updateLinkedUploadProcess(documentDefinitionName, processDefinitionKey) {
186
- return this.httpClient.put(this.getApiUrl(`/v1/process-document/demo/${documentDefinitionName}/process`), {
185
+ updateLinkedUploadProcess(caseDefinitionKey, caseDefinitionVersionTag, processDefinitionKey) {
186
+ return this.httpClient.put(this.getApiUrl(`management/v1/case-definition/${caseDefinitionKey}/version/${caseDefinitionVersionTag}/feature-process`), {
187
187
  processDefinitionKey,
188
188
  linkType: 'DOCUMENT_UPLOAD',
189
189
  });
190
190
  }
191
- deleteLinkedUploadProcess(documentDefinitionName) {
192
- return this.httpClient.delete(this.getApiUrl(`/v1/process-document/demo/${documentDefinitionName}/process`));
191
+ deleteLinkedUploadProcess(caseDefinitionKey, caseDefinitionVersionTag) {
192
+ return this.httpClient.delete(this.getApiUrl(`management/v1/case-definition/${caseDefinitionKey}/version/${caseDefinitionVersionTag}/feature-process/DOCUMENT_UPLOAD`));
193
193
  }
194
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DocumentenApiLinkProcessService, deps: [{ token: i1.HttpClient }, { token: i2.ConfigService }], target: i0.ɵɵFactoryTarget.Injectable }); }
195
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DocumentenApiLinkProcessService, providedIn: 'root' }); }
194
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: DocumentenApiLinkProcessService, deps: [{ token: i1.HttpClient }, { token: i2.ConfigService }], target: i0.ɵɵFactoryTarget.Injectable }); }
195
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: DocumentenApiLinkProcessService, providedIn: 'root' }); }
196
196
  }
197
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DocumentenApiLinkProcessService, decorators: [{
197
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: DocumentenApiLinkProcessService, decorators: [{
198
198
  type: Injectable,
199
199
  args: [{
200
200
  providedIn: 'root',
@@ -222,10 +222,10 @@ class DocumentenApiTagService extends BaseApiService {
222
222
  deleteTags(caseDefinitionName, tagKeys) {
223
223
  return this.http.delete(this.getApiUrl(`/management/v1/case-definition/${caseDefinitionName}/zgw-document/trefwoord`), { body: tagKeys });
224
224
  }
225
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DocumentenApiTagService, deps: [{ token: i1.HttpClient }, { token: i2.ConfigService }], target: i0.ɵɵFactoryTarget.Injectable }); }
226
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DocumentenApiTagService, providedIn: 'root' }); }
225
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: DocumentenApiTagService, deps: [{ token: i1.HttpClient }, { token: i2.ConfigService }], target: i0.ɵɵFactoryTarget.Injectable }); }
226
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: DocumentenApiTagService, providedIn: 'root' }); }
227
227
  }
228
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DocumentenApiTagService, decorators: [{
228
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: DocumentenApiTagService, decorators: [{
229
229
  type: Injectable,
230
230
  args: [{
231
231
  providedIn: 'root',
@@ -233,7 +233,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
233
233
  }], ctorParameters: () => [{ type: i1.HttpClient }, { type: i2.ConfigService }] });
234
234
 
235
235
  /*
236
- * Copyright 2015-2024 Ritense BV, the Netherlands.
236
+ * Copyright 2015-2025 Ritense BV, the Netherlands.
237
237
  *
238
238
  * Licensed under EUPL, Version 1.2 (the "License");
239
239
  * you may not use this file except in compliance with the License.
@@ -260,16 +260,16 @@ class DocumentenApiVersionService extends BaseApiService {
260
260
  getManagementApiVersion(caseDefinitionName) {
261
261
  return this.httpClient.get(this.getApiUrl(`/management/v1/case-definition/${caseDefinitionName}/documenten-api/version`));
262
262
  }
263
- getSupportedApiFeatures(caseDefinitionName) {
264
- return this.httpClient.get(this.getApiUrl(`/v1/case-definition/${caseDefinitionName}/documenten-api/version`));
263
+ getSupportedApiFeatures(caseDefinitionKey) {
264
+ return this.httpClient.get(this.getApiUrl(`/v1/case-definition/${caseDefinitionKey}/documenten-api/version`));
265
265
  }
266
266
  refresh() {
267
267
  this._refresh$.next(null);
268
268
  }
269
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DocumentenApiVersionService, deps: [{ token: i1.HttpClient }, { token: i2.ConfigService }], target: i0.ɵɵFactoryTarget.Injectable }); }
270
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DocumentenApiVersionService, providedIn: 'root' }); }
269
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: DocumentenApiVersionService, deps: [{ token: i1.HttpClient }, { token: i2.ConfigService }], target: i0.ɵɵFactoryTarget.Injectable }); }
270
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: DocumentenApiVersionService, providedIn: 'root' }); }
271
271
  }
272
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DocumentenApiVersionService, decorators: [{
272
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: DocumentenApiVersionService, decorators: [{
273
273
  type: Injectable,
274
274
  args: [{
275
275
  providedIn: 'root',
@@ -277,7 +277,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
277
277
  }], ctorParameters: () => [{ type: i1.HttpClient }, { type: i2.ConfigService }] });
278
278
 
279
279
  /*
280
- * Copyright 2015-2024 Ritense BV, the Netherlands.
280
+ * Copyright 2015-2025 Ritense BV, the Netherlands.
281
281
  *
282
282
  * Licensed under EUPL, Version 1.2 (the "License");
283
283
  * you may not use this file except in compliance with the License.
@@ -293,7 +293,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
293
293
  */
294
294
 
295
295
  /*
296
- * Copyright 2015-2024 Ritense BV, the Netherlands.
296
+ * Copyright 2015-2025 Ritense BV, the Netherlands.
297
297
  *
298
298
  * Licensed under EUPL, Version 1.2 (the "License");
299
299
  * you may not use this file except in compliance with the License.
@@ -423,10 +423,10 @@ class DocumentenApiColumnModalComponent {
423
423
  this._notificationMessage$.next(this.showRadioButtons ? 'zgw.columns.defaultWarning' : 'zgw.columns.notSortable');
424
424
  }));
425
425
  }
426
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DocumentenApiColumnModalComponent, deps: [{ token: i1$1.FormBuilder }, { token: i3.TranslateService }, { token: DocumentenApiColumnService }], target: i0.ɵɵFactoryTarget.Component }); }
427
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: DocumentenApiColumnModalComponent, isStandalone: true, selector: "valtimo-documenten-api-column-modal", inputs: { definitionName: "definitionName", prefillColumn: "prefillColumn", type: "type", availableColumns: "availableColumns", configuredColumns: "configuredColumns" }, outputs: { closeModal: "closeModal" }, ngImport: i0, template: "<!--\n ~ Copyright 2015-2024 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<cds-modal valtimoCdsModal [open]=\"type !== 'closed'\" size=\"sm\">\n <cds-modal-header showCloseButton=\"true\" (closeSelect)=\"onClose()\" [cdsLayer]=\"1\">\n <h3 cdsModalHeaderHeading>\n {{ (type === 'add' ? 'zgw.columns.add' : 'zgw.columns.edit') | translate }}\n </h3>\n </cds-modal-header>\n\n <form\n class=\"valtimo-documenten-api-column-modal__content\"\n cdsModalContent\n [formGroup]=\"formGroup\"\n [cdsLayer]=\"1\"\n >\n <cds-dropdown\n formControlName=\"column\"\n [label]=\"'zgw.columns.column' | translate\"\n [dropUp]=\"false\"\n >\n <cds-dropdown-list\n [items]=\"!prefillColumn ? (availableColumns$ | async) : prefillColumn\"\n ></cds-dropdown-list>\n </cds-dropdown>\n\n <cds-radio-group *ngIf=\"showRadioButtons\" legend=\"Default sort\" formControlName=\"defaultSort\">\n <cds-radio value=\"noDefault\"> {{ 'interface.sorting.noDefault' | translate }} </cds-radio>\n\n <cds-radio value=\"DESC\"> {{ 'interface.sorting.descending' | translate }} </cds-radio>\n\n <cds-radio value=\"ASC\"> {{ 'interface.sorting.ascending' | translate }} </cds-radio>\n </cds-radio-group>\n\n <cds-inline-notification [notificationObj]=\"notificationObj$ | async\"></cds-inline-notification>\n </form>\n\n <cds-modal-footer [cdsLayer]=\"1\">\n <button cdsButton=\"secondary\" (click)=\"onClose()\">\n {{ 'interface.cancel' | translate }}\n </button>\n\n <button cdsButton=\"primary\" [disabled]=\"formGroup.invalid\" (click)=\"updateColumn()\">\n {{ (type === 'add' ? 'interface.add' : 'interface.save') | translate }}\n </button>\n </cds-modal-footer>\n</cds-modal>\n", styles: [".valtimo-documenten-api-column-modal__content{display:flex;flex-direction:column;gap:16px}\n/*!\n * Copyright 2015-2024 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: "ngmodule", type: CommonModule }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }, { kind: "ngmodule", type: ModalModule }, { kind: "component", type: i6.Modal, selector: "cds-modal, ibm-modal", inputs: ["size", "theme", "ariaLabel", "open", "trigger", "hasScrollingContent"], outputs: ["overlaySelected", "close"] }, { kind: "component", type: i6.ModalHeader, selector: "cds-modal-header, ibm-modal-header", inputs: ["theme", "closeLabel", "showCloseButton"], outputs: ["closeSelect"] }, { kind: "component", type: i6.ModalFooter, selector: "cds-modal-footer, ibm-modal-footer" }, { kind: "directive", type: i6.ModalContent, selector: "[cdsModalContent], [ibmModalContent]", inputs: ["hasForm"] }, { kind: "directive", type: i6.ModalHeaderHeading, selector: "[cdsModalHeaderHeading], [ibmModalHeaderHeading]" }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }, { kind: "ngmodule", type: InputModule }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "ngmodule", type: ButtonModule }, { kind: "directive", type: i6.Button, selector: "[cdsButton], [ibmButton]", inputs: ["ibmButton", "cdsButton", "size", "skeleton", "iconOnly", "isExpressive"] }, { kind: "ngmodule", type: DropdownModule }, { kind: "component", type: i6.Dropdown, selector: "cds-dropdown, ibm-dropdown", inputs: ["id", "label", "hideLabel", "helperText", "placeholder", "displayValue", "clearText", "size", "type", "theme", "disabled", "skeleton", "inline", "disableArrowKeys", "invalid", "invalidText", "warn", "warnText", "appendInline", "scrollableContainer", "itemValueKey", "selectionFeedback", "menuButtonLabel", "selectedLabel", "dropUp"], outputs: ["selected", "onClose", "close"] }, { kind: "component", type: i6.DropdownList, selector: "cds-dropdown-list, ibm-dropdown-list", inputs: ["ariaLabel", "items", "listTpl", "type", "showTitles"], outputs: ["select", "scroll", "blurIntent"] }, { kind: "ngmodule", type: RadioModule }, { kind: "component", type: i6.Radio, selector: "cds-radio, ibm-radio", inputs: ["checked", "name", "disabled", "labelPlacement", "ariaLabelledby", "ariaLabel", "required", "value", "skeleton", "id"], outputs: ["change"] }, { kind: "component", type: i6.RadioGroup, selector: "cds-radio-group, ibm-radio-group", inputs: ["selected", "value", "name", "disabled", "skeleton", "orientation", "labelPlacement", "legend", "ariaLabel", "ariaLabelledby", "helperText", "invalid", "invalidText", "warn", "warnText"], outputs: ["change"] }, { kind: "ngmodule", type: NotificationModule }, { kind: "component", type: i6.Notification, selector: "cds-notification, cds-inline-notification, ibm-notification, ibm-inline-notification", inputs: ["notificationObj"] }, { kind: "ngmodule", type: LayerModule }, { kind: "directive", type: i6.LayerDirective, selector: "[cdsLayer], [ibmLayer]", inputs: ["ibmLayer", "cdsLayer"], exportAs: ["layer"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
426
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: DocumentenApiColumnModalComponent, deps: [{ token: i1$1.FormBuilder }, { token: i5.TranslateService }, { token: DocumentenApiColumnService }], target: i0.ɵɵFactoryTarget.Component }); }
427
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.14", type: DocumentenApiColumnModalComponent, isStandalone: true, selector: "valtimo-documenten-api-column-modal", inputs: { definitionName: "definitionName", prefillColumn: "prefillColumn", type: "type", availableColumns: "availableColumns", configuredColumns: "configuredColumns" }, outputs: { closeModal: "closeModal" }, ngImport: i0, template: "<!--\n ~ Copyright 2015-2025 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<cds-modal valtimoCdsModal [open]=\"type !== 'closed'\" size=\"sm\">\n <cds-modal-header showCloseButton=\"true\" (closeSelect)=\"onClose()\" [cdsLayer]=\"1\">\n <h3 cdsModalHeaderHeading>\n {{ (type === 'add' ? 'zgw.columns.add' : 'zgw.columns.edit') | translate }}\n </h3>\n </cds-modal-header>\n\n <form\n class=\"valtimo-documenten-api-column-modal__content\"\n cdsModalContent\n [formGroup]=\"formGroup\"\n [cdsLayer]=\"1\"\n >\n <cds-dropdown\n formControlName=\"column\"\n [label]=\"'zgw.columns.column' | translate\"\n [dropUp]=\"false\"\n >\n <cds-dropdown-list\n [items]=\"!prefillColumn ? (availableColumns$ | async) : prefillColumn\"\n ></cds-dropdown-list>\n </cds-dropdown>\n\n <cds-radio-group *ngIf=\"showRadioButtons\" legend=\"Default sort\" formControlName=\"defaultSort\">\n <cds-radio value=\"noDefault\"> {{ 'interface.sorting.noDefault' | translate }} </cds-radio>\n\n <cds-radio value=\"DESC\"> {{ 'interface.sorting.descending' | translate }} </cds-radio>\n\n <cds-radio value=\"ASC\"> {{ 'interface.sorting.ascending' | translate }} </cds-radio>\n </cds-radio-group>\n\n <cds-inline-notification [notificationObj]=\"notificationObj$ | async\"></cds-inline-notification>\n </form>\n\n <cds-modal-footer [cdsLayer]=\"1\">\n <button cdsButton=\"secondary\" (click)=\"onClose()\">\n {{ 'interface.cancel' | translate }}\n </button>\n\n <button cdsButton=\"primary\" [disabled]=\"formGroup.invalid\" (click)=\"updateColumn()\">\n {{ (type === 'add' ? 'interface.add' : 'interface.save') | translate }}\n </button>\n </cds-modal-footer>\n</cds-modal>\n", styles: [".valtimo-documenten-api-column-modal__content{display:flex;flex-direction:column;gap:16px}\n/*!\n * Copyright 2015-2025 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: "ngmodule", type: CommonModule }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }, { kind: "ngmodule", type: ModalModule }, { kind: "component", type: i5$1.Modal, selector: "cds-modal, ibm-modal", inputs: ["size", "theme", "ariaLabel", "open", "trigger", "hasScrollingContent"], outputs: ["overlaySelected", "close"] }, { kind: "component", type: i5$1.ModalHeader, selector: "cds-modal-header, ibm-modal-header", inputs: ["theme", "closeLabel", "showCloseButton"], outputs: ["closeSelect"] }, { kind: "component", type: i5$1.ModalFooter, selector: "cds-modal-footer, ibm-modal-footer" }, { kind: "directive", type: i5$1.ModalContent, selector: "[cdsModalContent], [ibmModalContent]", inputs: ["hasForm"] }, { kind: "directive", type: i5$1.ModalHeaderHeading, selector: "[cdsModalHeaderHeading], [ibmModalHeaderHeading]" }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i5.TranslatePipe, name: "translate" }, { kind: "ngmodule", type: InputModule }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "ngmodule", type: ButtonModule }, { kind: "directive", type: i5$1.Button, selector: "[cdsButton], [ibmButton]", inputs: ["ibmButton", "cdsButton", "size", "skeleton", "iconOnly", "isExpressive"] }, { kind: "ngmodule", type: DropdownModule }, { kind: "component", type: i5$1.Dropdown, selector: "cds-dropdown, ibm-dropdown", inputs: ["id", "label", "hideLabel", "helperText", "placeholder", "displayValue", "clearText", "size", "type", "theme", "disabled", "readonly", "skeleton", "inline", "disableArrowKeys", "invalid", "invalidText", "warn", "warnText", "appendInline", "scrollableContainer", "itemValueKey", "selectionFeedback", "menuButtonLabel", "selectedLabel", "dropUp", "fluid"], outputs: ["selected", "onClose", "close"] }, { kind: "component", type: i5$1.DropdownList, selector: "cds-dropdown-list, ibm-dropdown-list", inputs: ["ariaLabel", "items", "listTpl", "type", "showTitles"], outputs: ["select", "scroll", "blurIntent"] }, { kind: "ngmodule", type: RadioModule }, { kind: "component", type: i5$1.Radio, selector: "cds-radio, ibm-radio", inputs: ["checked", "name", "disabled", "labelPlacement", "ariaLabelledby", "ariaLabel", "required", "value", "skeleton", "id"], outputs: ["change"] }, { kind: "component", type: i5$1.RadioGroup, selector: "cds-radio-group, ibm-radio-group", inputs: ["selected", "value", "name", "disabled", "skeleton", "orientation", "labelPlacement", "legend", "ariaLabel", "ariaLabelledby", "helperText", "invalid", "invalidText", "warn", "warnText"], outputs: ["change"] }, { kind: "ngmodule", type: NotificationModule }, { kind: "component", type: i5$1.Notification, selector: "cds-notification, cds-inline-notification, ibm-notification, ibm-inline-notification", inputs: ["notificationObj"] }, { kind: "ngmodule", type: LayerModule }, { kind: "directive", type: i5$1.LayerDirective, selector: "[cdsLayer], [ibmLayer]", inputs: ["ibmLayer", "cdsLayer"], exportAs: ["layer"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
428
428
  }
429
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DocumentenApiColumnModalComponent, decorators: [{
429
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: DocumentenApiColumnModalComponent, decorators: [{
430
430
  type: Component,
431
431
  args: [{ selector: 'valtimo-documenten-api-column-modal', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [
432
432
  CommonModule,
@@ -439,8 +439,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
439
439
  RadioModule,
440
440
  NotificationModule,
441
441
  LayerModule,
442
- ], template: "<!--\n ~ Copyright 2015-2024 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<cds-modal valtimoCdsModal [open]=\"type !== 'closed'\" size=\"sm\">\n <cds-modal-header showCloseButton=\"true\" (closeSelect)=\"onClose()\" [cdsLayer]=\"1\">\n <h3 cdsModalHeaderHeading>\n {{ (type === 'add' ? 'zgw.columns.add' : 'zgw.columns.edit') | translate }}\n </h3>\n </cds-modal-header>\n\n <form\n class=\"valtimo-documenten-api-column-modal__content\"\n cdsModalContent\n [formGroup]=\"formGroup\"\n [cdsLayer]=\"1\"\n >\n <cds-dropdown\n formControlName=\"column\"\n [label]=\"'zgw.columns.column' | translate\"\n [dropUp]=\"false\"\n >\n <cds-dropdown-list\n [items]=\"!prefillColumn ? (availableColumns$ | async) : prefillColumn\"\n ></cds-dropdown-list>\n </cds-dropdown>\n\n <cds-radio-group *ngIf=\"showRadioButtons\" legend=\"Default sort\" formControlName=\"defaultSort\">\n <cds-radio value=\"noDefault\"> {{ 'interface.sorting.noDefault' | translate }} </cds-radio>\n\n <cds-radio value=\"DESC\"> {{ 'interface.sorting.descending' | translate }} </cds-radio>\n\n <cds-radio value=\"ASC\"> {{ 'interface.sorting.ascending' | translate }} </cds-radio>\n </cds-radio-group>\n\n <cds-inline-notification [notificationObj]=\"notificationObj$ | async\"></cds-inline-notification>\n </form>\n\n <cds-modal-footer [cdsLayer]=\"1\">\n <button cdsButton=\"secondary\" (click)=\"onClose()\">\n {{ 'interface.cancel' | translate }}\n </button>\n\n <button cdsButton=\"primary\" [disabled]=\"formGroup.invalid\" (click)=\"updateColumn()\">\n {{ (type === 'add' ? 'interface.add' : 'interface.save') | translate }}\n </button>\n </cds-modal-footer>\n</cds-modal>\n", styles: [".valtimo-documenten-api-column-modal__content{display:flex;flex-direction:column;gap:16px}\n/*!\n * Copyright 2015-2024 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"] }]
443
- }], ctorParameters: () => [{ type: i1$1.FormBuilder }, { type: i3.TranslateService }, { type: DocumentenApiColumnService }], propDecorators: { definitionName: [{
442
+ ], template: "<!--\n ~ Copyright 2015-2025 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<cds-modal valtimoCdsModal [open]=\"type !== 'closed'\" size=\"sm\">\n <cds-modal-header showCloseButton=\"true\" (closeSelect)=\"onClose()\" [cdsLayer]=\"1\">\n <h3 cdsModalHeaderHeading>\n {{ (type === 'add' ? 'zgw.columns.add' : 'zgw.columns.edit') | translate }}\n </h3>\n </cds-modal-header>\n\n <form\n class=\"valtimo-documenten-api-column-modal__content\"\n cdsModalContent\n [formGroup]=\"formGroup\"\n [cdsLayer]=\"1\"\n >\n <cds-dropdown\n formControlName=\"column\"\n [label]=\"'zgw.columns.column' | translate\"\n [dropUp]=\"false\"\n >\n <cds-dropdown-list\n [items]=\"!prefillColumn ? (availableColumns$ | async) : prefillColumn\"\n ></cds-dropdown-list>\n </cds-dropdown>\n\n <cds-radio-group *ngIf=\"showRadioButtons\" legend=\"Default sort\" formControlName=\"defaultSort\">\n <cds-radio value=\"noDefault\"> {{ 'interface.sorting.noDefault' | translate }} </cds-radio>\n\n <cds-radio value=\"DESC\"> {{ 'interface.sorting.descending' | translate }} </cds-radio>\n\n <cds-radio value=\"ASC\"> {{ 'interface.sorting.ascending' | translate }} </cds-radio>\n </cds-radio-group>\n\n <cds-inline-notification [notificationObj]=\"notificationObj$ | async\"></cds-inline-notification>\n </form>\n\n <cds-modal-footer [cdsLayer]=\"1\">\n <button cdsButton=\"secondary\" (click)=\"onClose()\">\n {{ 'interface.cancel' | translate }}\n </button>\n\n <button cdsButton=\"primary\" [disabled]=\"formGroup.invalid\" (click)=\"updateColumn()\">\n {{ (type === 'add' ? 'interface.add' : 'interface.save') | translate }}\n </button>\n </cds-modal-footer>\n</cds-modal>\n", styles: [".valtimo-documenten-api-column-modal__content{display:flex;flex-direction:column;gap:16px}\n/*!\n * Copyright 2015-2025 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"] }]
443
+ }], ctorParameters: () => [{ type: i1$1.FormBuilder }, { type: i5.TranslateService }, { type: DocumentenApiColumnService }], propDecorators: { definitionName: [{
444
444
  type: Input
445
445
  }], prefillColumn: [{
446
446
  type: Input
@@ -455,7 +455,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
455
455
  }] } });
456
456
 
457
457
  /*
458
- * Copyright 2015-2024 Ritense BV, the Netherlands.
458
+ * Copyright 2015-2025 Ritense BV, the Netherlands.
459
459
  *
460
460
  * Licensed under EUPL, Version 1.2 (the "License");
461
461
  * you may not use this file except in compliance with the License.
@@ -470,26 +470,29 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
470
470
  * limitations under the License.
471
471
  */
472
472
  class DocumentenApiColumnsComponent {
473
- get documentDefinitionName$() {
474
- return this._documentDefinitionName$;
475
- }
476
- constructor(route, zgwDocumentColumnService) {
473
+ constructor(route, zgwDocumentColumnService, editPermissionsService) {
477
474
  this.route = route;
478
475
  this.zgwDocumentColumnService = zgwDocumentColumnService;
476
+ this.editPermissionsService = editPermissionsService;
479
477
  this._reload$ = new BehaviorSubject(null);
480
- this._documentDefinitionName$ = this.route.params.pipe(map(params => params?.name), filter(docDefName => !!docDefName));
478
+ this.caseDefinitionKey$ = getCaseManagementRouteParams(this.route).pipe(map((params) => params?.caseDefinitionKey ?? ''), filter((caseDefinitionKey) => !!caseDefinitionKey));
479
+ this.caseDefinitionVersionTag$ = getCaseManagementRouteParams(this.route).pipe(map((params) => params?.caseDefinitionVersionTag ?? ''));
480
+ this.hasEditPermissions$ = combineLatest([
481
+ this.caseDefinitionKey$,
482
+ this.caseDefinitionVersionTag$,
483
+ ]).pipe(switchMap(([caseDefinitionKey, caseDefinitionVersionTag]) => this.editPermissionsService.hasEditPermissions(caseDefinitionKey, caseDefinitionVersionTag)));
481
484
  this.loading$ = new BehaviorSubject(true);
482
485
  this.configuredColumns$ = combineLatest([
483
- this._documentDefinitionName$,
486
+ this.caseDefinitionKey$,
484
487
  this._reload$,
485
488
  ]).pipe(tap(([_, reload]) => {
486
489
  if (reload === null)
487
490
  this.loading$.next(true);
488
- }), switchMap(([documentDefinitionName]) => this.zgwDocumentColumnService.getAdminConfiguredColumns(documentDefinitionName)), tap(() => {
491
+ }), switchMap(([caseDefinitionKey]) => this.zgwDocumentColumnService.getAdminConfiguredColumns(caseDefinitionKey)), tap(() => {
489
492
  this.loading$.next(false);
490
493
  }));
491
- this.configurableColumns$ = this.documentDefinitionName$.pipe(switchMap((documentDefinitionName) => combineLatest([
492
- this.zgwDocumentColumnService.getAdminConfigurableColumns(documentDefinitionName),
494
+ this.configurableColumns$ = this.caseDefinitionKey$.pipe(switchMap((caseDefinitionKey) => combineLatest([
495
+ this.zgwDocumentColumnService.getAdminConfigurableColumns(caseDefinitionKey),
493
496
  this.configuredColumns$,
494
497
  ])), map(([configurableColumns, configuredColumns]) => {
495
498
  const configuredKeys = configuredColumns.map((column) => column.key);
@@ -507,7 +510,6 @@ class DocumentenApiColumnsComponent {
507
510
  type: 'danger',
508
511
  },
509
512
  ];
510
- this.CARBON_THEME = 'g10';
511
513
  this.columnModalType$ = new BehaviorSubject('closed');
512
514
  this.prefillColumn$ = new BehaviorSubject(undefined);
513
515
  this.columnToUpdate$ = new BehaviorSubject(undefined);
@@ -534,8 +536,12 @@ class DocumentenApiColumnsComponent {
534
536
  this.showDeleteModal$.next(true);
535
537
  }
536
538
  openEditModal(column) {
537
- this.prefillColumn$.next(column);
538
- this.columnModalType$.next('edit');
539
+ this.hasEditPermissions$
540
+ .pipe(filter(hasPermission => hasPermission), take(1))
541
+ .subscribe(() => {
542
+ this.prefillColumn$.next(column);
543
+ this.columnModalType$.next('edit');
544
+ });
539
545
  }
540
546
  openAddModal() {
541
547
  this.columnModalType$.next('add');
@@ -559,10 +565,10 @@ class DocumentenApiColumnsComponent {
559
565
  reload(noAnimation = false) {
560
566
  this._reload$.next(noAnimation ? 'noAnimation' : null);
561
567
  }
562
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DocumentenApiColumnsComponent, deps: [{ token: i1$2.ActivatedRoute }, { token: DocumentenApiColumnService }], target: i0.ɵɵFactoryTarget.Component }); }
563
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: DocumentenApiColumnsComponent, isStandalone: true, selector: "valtimo-documenten-api-columns", viewQueries: [{ propertyName: "columnKeyTemplate", first: true, predicate: ["columnKeyTemplate"], descendants: true }, { propertyName: "defaultSortTemplate", first: true, predicate: ["defaultSortTemplate"], descendants: true }], ngImport: i0, template: "<!--\n ~ Copyright 2015-2024 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 columnModalType: columnModalType$ | async,\n columnToUpdate: columnToUpdate$ | async,\n documentDefinitionName: documentDefinitionName$ | async,\n configuredColumns: configuredColumns$ | async,\n configurableColumns: configurableColumns$ | async,\n loading: loading$ | async,\n prefillColumn: prefillColumn$ | async,\n } as obs\"\n>\n <valtimo-carbon-list\n [actionItems]=\"ACTION_ITEMS\"\n [fields]=\"fields\"\n [header]=\"false\"\n [items]=\"obs.configuredColumns\"\n [loading]=\"obs.loading || !fields\"\n [movingRowsEnabled]=\"true\"\n (itemsReordered)=\"onItemsReordered(obs.documentDefinitionName, $event)\"\n >\n <ng-container carbonToolbarContent>\n <ng-container *ngTemplateOutlet=\"addButton\"></ng-container>\n </ng-container>\n\n <valtimo-no-results\n [action]=\"addButton\"\n [description]=\"'zgw.documents.noColumns.description' | translate\"\n [title]=\"'zgw.documents.noColumns.title' | translate\"\n ></valtimo-no-results>\n </valtimo-carbon-list>\n\n <valtimo-documenten-api-column-modal\n [availableColumns]=\"obs.configurableColumns\"\n [configuredColumns]=\"obs.configuredColumns\"\n [definitionName]=\"obs.documentDefinitionName\"\n [prefillColumn]=\"obs.prefillColumn\"\n [type]=\"obs.columnModalType\"\n (closeModal)=\"onCloseModal($event)\"\n ></valtimo-documenten-api-column-modal>\n\n <valtimo-confirmation-modal\n confirmButtonTextTranslationKey=\"interface.delete\"\n confirmButtonType=\"danger\"\n contentTranslationKey=\"zgw.columns.deleteText\"\n [outputOnConfirm]=\"columnToUpdate$ | async\"\n [showModalSubject$]=\"showDeleteModal$\"\n titleTranslationKey=\"interface.delete\"\n (confirmEvent)=\"confirmDeleteStatus($event, obs.documentDefinitionName)\"\n ></valtimo-confirmation-modal>\n</ng-container>\n\n<ng-template #addButton>\n <button cdsButton=\"primary\" [disabled]=\"loading$ | async\" (click)=\"openAddModal()\">\n <svg cdsIcon=\"add\" size=\"16\" class=\"cds--btn__icon\"></svg>\n\n {{ 'zgw.columns.add' | translate }}\n </button>\n</ng-template>\n\n<ng-template #columnKeyTemplate let-data=\"data\">\n {{ 'zgw.documentColumns.' + data.item.key | translate }}\n</ng-template>\n\n<ng-template #defaultSortTemplate let-data=\"data\">\n {{\n data.item.defaultSort === null\n ? '-'\n : ('interface.sorting.' + (data.item.defaultSort === 'ASC' ? 'ascending' : 'descending')\n | translate)\n }}\n</ng-template>\n", styles: ["::ng-deep .cds-tag--no-margin{margin:0}\n/*!\n * Copyright 2015-2024 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: "ngmodule", type: CommonModule }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }, { kind: "component", type: DocumentenApiColumnModalComponent, selector: "valtimo-documenten-api-column-modal", inputs: ["definitionName", "prefillColumn", "type", "availableColumns", "configuredColumns"], outputs: ["closeModal"] }, { kind: "ngmodule", type: CarbonListModule }, { kind: "component", type: i3$1.CarbonListComponent, selector: "valtimo-carbon-list", inputs: ["items", "fields", "tableTranslations", "paginatorConfig", "pagination", "loading", "actions", "actionItems", "header", "hideColumnHeader", "initialSortState", "sortState", "isSearchable", "enableSingleSelection", "lastColumnTemplate", "paginationIdentifier", "showSelectionColumn", "striped", "hideToolbar", "lockedTooltipTranslationKey", "movingRowsEnabled", "dragAndDrop", "dragAndDropDisabled"], outputs: ["rowClicked", "paginationClicked", "paginationSet", "search", "sortChanged", "moveRow", "itemsReordered"] }, { kind: "component", type: i3$1.CarbonNoResultsComponent, selector: "valtimo-no-results", inputs: ["action", "description", "illustration", "title", "smallPadding", "collapseVertically", "alwaysRenderVertically"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }, { kind: "ngmodule", type: ConfirmationModalModule }, { kind: "component", type: i3$1.ConfirmationModalComponent, selector: "valtimo-confirmation-modal", inputs: ["titleTranslationKey", "title", "content", "contentTranslationKey", "confirmButtonText", "confirmButtonTextTranslationKey", "confirmButtonType", "showOptionalButton", "optionalButtonText", "optionalButtonTextTranslationKey", "optionalButtonType", "cancelButtonText", "cancelButtonTextTranslationKey", "cancelButtonType", "showModalSubject$", "outputOnConfirm", "outputOnOptional", "spacerAfterCancelButton"], outputs: ["confirmEvent", "optionalEvent", "cancelEvent"] }, { kind: "ngmodule", type: TagModule }, { kind: "ngmodule", type: ButtonModule }, { kind: "directive", type: i6.Button, selector: "[cdsButton], [ibmButton]", inputs: ["ibmButton", "cdsButton", "size", "skeleton", "iconOnly", "isExpressive"] }, { kind: "ngmodule", type: IconModule }, { kind: "directive", type: i6.IconDirective, selector: "[cdsIcon], [ibmIcon]", inputs: ["ibmIcon", "cdsIcon", "size", "title", "ariaLabel", "ariaLabelledBy", "ariaHidden", "isFocusable"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
568
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: DocumentenApiColumnsComponent, deps: [{ token: i1$2.ActivatedRoute }, { token: DocumentenApiColumnService }, { token: i2.EditPermissionsService }], target: i0.ɵɵFactoryTarget.Component }); }
569
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.14", type: DocumentenApiColumnsComponent, isStandalone: true, selector: "valtimo-documenten-api-columns", viewQueries: [{ propertyName: "columnKeyTemplate", first: true, predicate: ["columnKeyTemplate"], descendants: true }, { propertyName: "defaultSortTemplate", first: true, predicate: ["defaultSortTemplate"], descendants: true }], ngImport: i0, template: "<!--\n ~ Copyright 2015-2025 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<ng-container\n *ngIf=\"{\n columnModalType: columnModalType$ | async,\n columnToUpdate: columnToUpdate$ | async,\n caseDefinitionKey: caseDefinitionKey$ | async,\n configuredColumns: configuredColumns$ | async,\n configurableColumns: configurableColumns$ | async,\n loading: loading$ | async,\n prefillColumn: prefillColumn$ | async,\n } as obs\"\n>\n <valtimo-carbon-list\n [actionItems]=\"ACTION_ITEMS\"\n [fields]=\"fields\"\n [header]=\"false\"\n [items]=\"obs.configuredColumns\"\n [loading]=\"obs.loading || !fields\"\n [dragAndDrop]=\"true\"\n [dragAndDropDisabled]=\"!(hasEditPermissions$ | async)\"\n (itemsReordered)=\"onItemsReordered(obs.caseDefinitionKey, $event)\"\n (rowClicked)=\"openEditModal($event)\"\n >\n <ng-container carbonToolbarContent>\n <ng-container *ngTemplateOutlet=\"addButton\"></ng-container>\n </ng-container>\n\n <valtimo-no-results\n [action]=\"addButton\"\n [description]=\"'zgw.documents.noColumns.description' | translate\"\n [title]=\"'zgw.documents.noColumns.title' | translate\"\n ></valtimo-no-results>\n </valtimo-carbon-list>\n\n <valtimo-documenten-api-column-modal\n [availableColumns]=\"obs.configurableColumns\"\n [configuredColumns]=\"obs.configuredColumns\"\n [definitionName]=\"obs.caseDefinitionKey\"\n [prefillColumn]=\"obs.prefillColumn\"\n [type]=\"obs.columnModalType\"\n (closeModal)=\"onCloseModal($event)\"\n ></valtimo-documenten-api-column-modal>\n\n <valtimo-confirmation-modal\n confirmButtonTextTranslationKey=\"interface.delete\"\n confirmButtonType=\"danger\"\n contentTranslationKey=\"zgw.columns.deleteText\"\n [outputOnConfirm]=\"columnToUpdate$ | async\"\n [showModalSubject$]=\"showDeleteModal$\"\n titleTranslationKey=\"interface.delete\"\n (confirmEvent)=\"confirmDeleteStatus($event, obs.caseDefinitionKey)\"\n ></valtimo-confirmation-modal>\n</ng-container>\n\n<ng-template #addButton>\n <button\n *ngIf=\"hasEditPermissions$ | async\"\n cdsButton=\"primary\"\n [disabled]=\"loading$ | async\"\n (click)=\"openAddModal()\"\n >\n <svg cdsIcon=\"add\" size=\"16\" class=\"cds--btn__icon\"></svg>\n\n {{ 'zgw.columns.add' | translate }}\n </button>\n</ng-template>\n\n<ng-template #columnKeyTemplate let-data=\"data\">\n {{ 'zgw.documentColumns.' + data.item.key | translate }}\n</ng-template>\n\n<ng-template #defaultSortTemplate let-data=\"data\">\n {{\n data.item.defaultSort === null\n ? '-'\n : ('interface.sorting.' + (data.item.defaultSort === 'ASC' ? 'ascending' : 'descending')\n | translate)\n }}\n</ng-template>\n", styles: ["::ng-deep .cds-tag--no-margin{margin:0}\n/*!\n * Copyright 2015-2025 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: "ngmodule", type: CommonModule }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }, { kind: "component", type: DocumentenApiColumnModalComponent, selector: "valtimo-documenten-api-column-modal", inputs: ["definitionName", "prefillColumn", "type", "availableColumns", "configuredColumns"], outputs: ["closeModal"] }, { kind: "ngmodule", type: CarbonListModule }, { kind: "component", type: i3.CarbonListComponent, selector: "valtimo-carbon-list", inputs: ["items", "fields", "tableTranslations", "paginatorConfig", "pagination", "loading", "actions", "actionItems", "showActionItems", "header", "hideColumnHeader", "initialSortState", "sortState", "isSearchable", "enableSingleSelection", "lastColumnTemplate", "paginationIdentifier", "showSelectionColumn", "striped", "hideToolbar", "lockedTooltipTranslationKey", "movingRowsEnabled", "dragAndDrop", "dragAndDropDisabled"], outputs: ["rowClicked", "paginationClicked", "paginationSet", "search", "sortChanged", "moveRow", "itemsReordered"] }, { kind: "component", type: i3.CarbonNoResultsComponent, selector: "valtimo-no-results", inputs: ["action", "description", "illustration", "title", "smallPadding", "collapseVertically", "alwaysRenderVertically"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i5.TranslatePipe, name: "translate" }, { kind: "ngmodule", type: ConfirmationModalModule }, { kind: "component", type: i3.ConfirmationModalComponent, selector: "valtimo-confirmation-modal", inputs: ["titleTranslationKey", "title", "content", "contentTranslationKey", "confirmButtonText", "confirmButtonTextTranslationKey", "confirmButtonType", "showOptionalButton", "optionalButtonText", "optionalButtonTextTranslationKey", "optionalButtonType", "cancelButtonText", "cancelButtonTextTranslationKey", "cancelButtonType", "showModalSubject$", "outputOnConfirm", "outputOnOptional", "spacerAfterCancelButton"], outputs: ["confirmEvent", "optionalEvent", "cancelEvent"] }, { kind: "ngmodule", type: TagModule }, { kind: "ngmodule", type: ButtonModule }, { kind: "directive", type: i5$1.Button, selector: "[cdsButton], [ibmButton]", inputs: ["ibmButton", "cdsButton", "size", "skeleton", "iconOnly", "isExpressive"] }, { kind: "ngmodule", type: IconModule }, { kind: "directive", type: i5$1.IconDirective, selector: "[cdsIcon], [ibmIcon]", inputs: ["ibmIcon", "cdsIcon", "size", "title", "ariaLabel", "ariaLabelledBy", "ariaHidden", "isFocusable"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
564
570
  }
565
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DocumentenApiColumnsComponent, decorators: [{
571
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: DocumentenApiColumnsComponent, decorators: [{
566
572
  type: Component,
567
573
  args: [{ selector: 'valtimo-documenten-api-columns', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [
568
574
  CommonModule,
@@ -573,8 +579,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
573
579
  TagModule,
574
580
  ButtonModule,
575
581
  IconModule,
576
- ], template: "<!--\n ~ Copyright 2015-2024 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 columnModalType: columnModalType$ | async,\n columnToUpdate: columnToUpdate$ | async,\n documentDefinitionName: documentDefinitionName$ | async,\n configuredColumns: configuredColumns$ | async,\n configurableColumns: configurableColumns$ | async,\n loading: loading$ | async,\n prefillColumn: prefillColumn$ | async,\n } as obs\"\n>\n <valtimo-carbon-list\n [actionItems]=\"ACTION_ITEMS\"\n [fields]=\"fields\"\n [header]=\"false\"\n [items]=\"obs.configuredColumns\"\n [loading]=\"obs.loading || !fields\"\n [movingRowsEnabled]=\"true\"\n (itemsReordered)=\"onItemsReordered(obs.documentDefinitionName, $event)\"\n >\n <ng-container carbonToolbarContent>\n <ng-container *ngTemplateOutlet=\"addButton\"></ng-container>\n </ng-container>\n\n <valtimo-no-results\n [action]=\"addButton\"\n [description]=\"'zgw.documents.noColumns.description' | translate\"\n [title]=\"'zgw.documents.noColumns.title' | translate\"\n ></valtimo-no-results>\n </valtimo-carbon-list>\n\n <valtimo-documenten-api-column-modal\n [availableColumns]=\"obs.configurableColumns\"\n [configuredColumns]=\"obs.configuredColumns\"\n [definitionName]=\"obs.documentDefinitionName\"\n [prefillColumn]=\"obs.prefillColumn\"\n [type]=\"obs.columnModalType\"\n (closeModal)=\"onCloseModal($event)\"\n ></valtimo-documenten-api-column-modal>\n\n <valtimo-confirmation-modal\n confirmButtonTextTranslationKey=\"interface.delete\"\n confirmButtonType=\"danger\"\n contentTranslationKey=\"zgw.columns.deleteText\"\n [outputOnConfirm]=\"columnToUpdate$ | async\"\n [showModalSubject$]=\"showDeleteModal$\"\n titleTranslationKey=\"interface.delete\"\n (confirmEvent)=\"confirmDeleteStatus($event, obs.documentDefinitionName)\"\n ></valtimo-confirmation-modal>\n</ng-container>\n\n<ng-template #addButton>\n <button cdsButton=\"primary\" [disabled]=\"loading$ | async\" (click)=\"openAddModal()\">\n <svg cdsIcon=\"add\" size=\"16\" class=\"cds--btn__icon\"></svg>\n\n {{ 'zgw.columns.add' | translate }}\n </button>\n</ng-template>\n\n<ng-template #columnKeyTemplate let-data=\"data\">\n {{ 'zgw.documentColumns.' + data.item.key | translate }}\n</ng-template>\n\n<ng-template #defaultSortTemplate let-data=\"data\">\n {{\n data.item.defaultSort === null\n ? '-'\n : ('interface.sorting.' + (data.item.defaultSort === 'ASC' ? 'ascending' : 'descending')\n | translate)\n }}\n</ng-template>\n", styles: ["::ng-deep .cds-tag--no-margin{margin:0}\n/*!\n * Copyright 2015-2024 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"] }]
577
- }], ctorParameters: () => [{ type: i1$2.ActivatedRoute }, { type: DocumentenApiColumnService }], propDecorators: { columnKeyTemplate: [{
582
+ ], template: "<!--\n ~ Copyright 2015-2025 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<ng-container\n *ngIf=\"{\n columnModalType: columnModalType$ | async,\n columnToUpdate: columnToUpdate$ | async,\n caseDefinitionKey: caseDefinitionKey$ | async,\n configuredColumns: configuredColumns$ | async,\n configurableColumns: configurableColumns$ | async,\n loading: loading$ | async,\n prefillColumn: prefillColumn$ | async,\n } as obs\"\n>\n <valtimo-carbon-list\n [actionItems]=\"ACTION_ITEMS\"\n [fields]=\"fields\"\n [header]=\"false\"\n [items]=\"obs.configuredColumns\"\n [loading]=\"obs.loading || !fields\"\n [dragAndDrop]=\"true\"\n [dragAndDropDisabled]=\"!(hasEditPermissions$ | async)\"\n (itemsReordered)=\"onItemsReordered(obs.caseDefinitionKey, $event)\"\n (rowClicked)=\"openEditModal($event)\"\n >\n <ng-container carbonToolbarContent>\n <ng-container *ngTemplateOutlet=\"addButton\"></ng-container>\n </ng-container>\n\n <valtimo-no-results\n [action]=\"addButton\"\n [description]=\"'zgw.documents.noColumns.description' | translate\"\n [title]=\"'zgw.documents.noColumns.title' | translate\"\n ></valtimo-no-results>\n </valtimo-carbon-list>\n\n <valtimo-documenten-api-column-modal\n [availableColumns]=\"obs.configurableColumns\"\n [configuredColumns]=\"obs.configuredColumns\"\n [definitionName]=\"obs.caseDefinitionKey\"\n [prefillColumn]=\"obs.prefillColumn\"\n [type]=\"obs.columnModalType\"\n (closeModal)=\"onCloseModal($event)\"\n ></valtimo-documenten-api-column-modal>\n\n <valtimo-confirmation-modal\n confirmButtonTextTranslationKey=\"interface.delete\"\n confirmButtonType=\"danger\"\n contentTranslationKey=\"zgw.columns.deleteText\"\n [outputOnConfirm]=\"columnToUpdate$ | async\"\n [showModalSubject$]=\"showDeleteModal$\"\n titleTranslationKey=\"interface.delete\"\n (confirmEvent)=\"confirmDeleteStatus($event, obs.caseDefinitionKey)\"\n ></valtimo-confirmation-modal>\n</ng-container>\n\n<ng-template #addButton>\n <button\n *ngIf=\"hasEditPermissions$ | async\"\n cdsButton=\"primary\"\n [disabled]=\"loading$ | async\"\n (click)=\"openAddModal()\"\n >\n <svg cdsIcon=\"add\" size=\"16\" class=\"cds--btn__icon\"></svg>\n\n {{ 'zgw.columns.add' | translate }}\n </button>\n</ng-template>\n\n<ng-template #columnKeyTemplate let-data=\"data\">\n {{ 'zgw.documentColumns.' + data.item.key | translate }}\n</ng-template>\n\n<ng-template #defaultSortTemplate let-data=\"data\">\n {{\n data.item.defaultSort === null\n ? '-'\n : ('interface.sorting.' + (data.item.defaultSort === 'ASC' ? 'ascending' : 'descending')\n | translate)\n }}\n</ng-template>\n", styles: ["::ng-deep .cds-tag--no-margin{margin:0}\n/*!\n * Copyright 2015-2025 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"] }]
583
+ }], ctorParameters: () => [{ type: i1$2.ActivatedRoute }, { type: DocumentenApiColumnService }, { type: i2.EditPermissionsService }], propDecorators: { columnKeyTemplate: [{
578
584
  type: ViewChild,
579
585
  args: ['columnKeyTemplate']
580
586
  }], defaultSortTemplate: [{
@@ -583,7 +589,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
583
589
  }] } });
584
590
 
585
591
  /*
586
- * Copyright 2015-2024 Ritense BV, the Netherlands.
592
+ * Copyright 2015-2025 Ritense BV, the Netherlands.
587
593
  *
588
594
  * Licensed under EUPL, Version 1.2 (the "License");
589
595
  * you may not use this file except in compliance with the License.
@@ -616,7 +622,7 @@ const STATUS_ITEMS = [
616
622
  const LANGUAGE_ITEMS = ['nld', 'eng', 'deu'];
617
623
 
618
624
  /*
619
- * Copyright 2015-2024 Ritense BV, the Netherlands.
625
+ * Copyright 2015-2025 Ritense BV, the Netherlands.
620
626
  *
621
627
  * Licensed under EUPL, Version 1.2 (the "License");
622
628
  * you may not use this file except in compliance with the License.
@@ -652,7 +658,7 @@ var DOCUMENTEN_COLUMN_KEYS;
652
658
  })(DOCUMENTEN_COLUMN_KEYS || (DOCUMENTEN_COLUMN_KEYS = {}));
653
659
 
654
660
  /*
655
- * Copyright 2015-2024 Ritense BV, the Netherlands.
661
+ * Copyright 2015-2025 Ritense BV, the Netherlands.
656
662
  *
657
663
  * Licensed under EUPL, Version 1.2 (the "License");
658
664
  * you may not use this file except in compliance with the License.
@@ -676,7 +682,7 @@ const COLUMN_VIEW_TYPES = {
676
682
  };
677
683
 
678
684
  /*
679
- * Copyright 2015-2024 Ritense BV, the Netherlands.
685
+ * Copyright 2015-2025 Ritense BV, the Netherlands.
680
686
  *
681
687
  * Licensed under EUPL, Version 1.2 (the "License");
682
688
  * you may not use this file except in compliance with the License.
@@ -692,7 +698,7 @@ const COLUMN_VIEW_TYPES = {
692
698
  */
693
699
 
694
700
  /*
695
- * Copyright 2015-2024 Ritense BV, the Netherlands.
701
+ * Copyright 2015-2025 Ritense BV, the Netherlands.
696
702
  *
697
703
  * Licensed under EUPL, Version 1.2 (the "License");
698
704
  * you may not use this file except in compliance with the License.
@@ -708,7 +714,7 @@ const COLUMN_VIEW_TYPES = {
708
714
  */
709
715
 
710
716
  /*
711
- * Copyright 2015-2024 Ritense BV, the Netherlands.
717
+ * Copyright 2015-2025 Ritense BV, the Netherlands.
712
718
  *
713
719
  * Licensed under EUPL, Version 1.2 (the "License");
714
720
  * you may not use this file except in compliance with the License.
@@ -724,7 +730,7 @@ const COLUMN_VIEW_TYPES = {
724
730
  */
725
731
 
726
732
  /*
727
- * Copyright 2015-2024 Ritense BV, the Netherlands.
733
+ * Copyright 2015-2025 Ritense BV, the Netherlands.
728
734
  *
729
735
  * Licensed under EUPL, Version 1.2 (the "License");
730
736
  * you may not use this file except in compliance with the License.
@@ -740,7 +746,7 @@ const COLUMN_VIEW_TYPES = {
740
746
  */
741
747
 
742
748
  /*
743
- * Copyright 2015-2024 Ritense BV, the Netherlands.
749
+ * Copyright 2015-2025 Ritense BV, the Netherlands.
744
750
  *
745
751
  * Licensed under EUPL, Version 1.2 (the "License");
746
752
  * you may not use this file except in compliance with the License.
@@ -755,6 +761,21 @@ const COLUMN_VIEW_TYPES = {
755
761
  * limitations under the License.
756
762
  */
757
763
 
764
+ /*
765
+ * Copyright 2015-2025 Ritense BV, the Netherlands.
766
+ *
767
+ * Licensed under EUPL, Version 1.2 (the "License");
768
+ * you may not use this file except in compliance with the License.
769
+ * You may obtain a copy of the License at
770
+ *
771
+ * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
772
+ *
773
+ * Unless required by applicable law or agreed to in writing, software
774
+ * distributed under the License is distributed on an "AS IS" basis,
775
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
776
+ * See the License for the specific language governing permissions and
777
+ * limitations under the License.
778
+ */
758
779
  class DocumentenApiFilterComponent {
759
780
  constructor(documentService, fb, iconService, route, translateService, documentenApiTagService) {
760
781
  this.documentService = documentService;
@@ -793,16 +814,17 @@ class DocumentenApiFilterComponent {
793
814
  selected: filter?.vertrouwelijkheidaanduiding === confidentialityLevel,
794
815
  id: confidentialityLevel,
795
816
  }))), startWith([]));
796
- this.informationObjectTypes$ = this.route.paramMap.pipe(filter((paramMap) => !!paramMap.get('documentDefinitionName')), switchMap((paramMap) => combineLatest([
797
- this.documentService.getDocumentTypes(paramMap.get('documentDefinitionName') ?? ''),
817
+ this._context = getCaseManagementRouteParams(this.route);
818
+ this.informationObjectTypes$ = this._context.pipe(switchMap(params => combineLatest([
819
+ this.documentService.getDocumentTypesForCase(params.caseDefinitionKey, params.caseDefinitionVersionTag),
798
820
  this._filter$,
799
821
  ])), map(([types, filter]) => types.map((type) => ({
800
822
  content: type.name,
801
823
  selected: filter?.informatieobjecttype === type.url,
802
824
  id: type.url,
803
825
  }))), startWith([]));
804
- this.tags$ = this.route.paramMap.pipe(filter((paramMap) => !!paramMap.get('documentDefinitionName')), switchMap((paramMap) => combineLatest([
805
- this.documentenApiTagService.getTags(paramMap.get('documentDefinitionName') ?? ''),
826
+ this.tags$ = this.route.paramMap.pipe(filter((paramMap) => !!paramMap.get('caseDefinitionKey')), switchMap((paramMap) => combineLatest([
827
+ this.documentenApiTagService.getTags(paramMap.get('caseDefinitionKey') ?? ''),
806
828
  this.route.queryParamMap,
807
829
  ])), map(([tags, queryParamMap]) => {
808
830
  const selectedTags = this.convertTrefwoordenParam(queryParamMap['params']?.trefwoorden).map((item) => item.content);
@@ -887,12 +909,12 @@ class DocumentenApiFilterComponent {
887
909
  selected: true,
888
910
  }));
889
911
  }
890
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DocumentenApiFilterComponent, deps: [{ token: i1$3.DocumentService }, { token: i1$1.FormBuilder }, { token: i6.IconService }, { token: i1$2.ActivatedRoute }, { token: i3.TranslateService }, { token: DocumentenApiTagService }], target: i0.ɵɵFactoryTarget.Component }); }
891
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: DocumentenApiFilterComponent, isStandalone: true, selector: "valtimo-dossier-detail-tab-documenten-api-filter", outputs: { filterEvent: "filterEvent" }, viewQueries: [{ propertyName: "creationDateFromPicker", first: true, predicate: ["creationDateFrom"], descendants: true }, { propertyName: "creationDateToPicker", first: true, predicate: ["creationDateTo"], descendants: true }], ngImport: i0, template: "<div class=\"valtimo-documenten-api-filter\" (click)=\"$event.stopImmediatePropagation()\">\n <form\n *ngIf=\"{\n confidentialityLevels: confidentialityLevels$ | async,\n informationObjectTypes: informationObjectTypes$ | async,\n tags: tags$ | async,\n } as obs\"\n class=\"valtimo-documenten-api-filter__form\"\n [formGroup]=\"formGroup\"\n >\n <cds-text-label>\n {{ 'zgw.documentColumns.titel' | translate }}\n\n <input cdsText formControlName=\"titel\" />\n </cds-text-label>\n\n <cds-dropdown\n [disabled]=\"!obs.informationObjectTypes?.length\"\n [dropUp]=\"false\"\n [label]=\"'zgw.documentColumns.informatieobjecttype' | translate\"\n formControlName=\"informatieObjectType\"\n >\n <cds-dropdown-list [items]=\"obs.informationObjectTypes\"></cds-dropdown-list>\n </cds-dropdown>\n\n <div class=\"valtimo-documenten-api-filter__dates\">\n <cds-date-picker\n #creationDateFrom\n [label]=\"'interface.labels.dateCreationFrom' | translate\"\n placeholder=\"DD-MM-YYYY\"\n [dateFormat]=\"'d-m-Y'\"\n (valueChange)=\"onDateSelected('createdFrom', $event)\"\n ></cds-date-picker>\n\n <cds-date-picker\n #creationDateTo\n [label]=\"'interface.labels.dateCreationTo' | translate\"\n placeholder=\"DD-MM-YYYY\"\n [dateFormat]=\"'d-m-Y'\"\n (valueChange)=\"onDateSelected('createdTo', $event)\"\n ></cds-date-picker>\n </div>\n\n <cds-text-label>\n {{ 'zgw.documentColumns.auteur' | translate }}\n\n <input cdsText formControlName=\"auteur\" />\n </cds-text-label>\n\n <cds-dropdown\n [dropUp]=\"false\"\n [label]=\"'zgw.documentColumns.vertrouwelijkheidaanduiding' | translate\"\n formControlName=\"vertrouwelijkHeidaanduiding\"\n >\n <cds-dropdown-list [items]=\"obs.confidentialityLevels\"></cds-dropdown-list>\n </cds-dropdown>\n\n <cds-dropdown\n [label]=\"'zgw.documentColumns.trefwoorden' | translate\"\n formControlName=\"trefwoorden\"\n type=\"multi\"\n >\n <cds-dropdown-list [items]=\"obs.tags\"></cds-dropdown-list>\n </cds-dropdown>\n </form>\n\n <footer class=\"valtimo-documenten-api-filter__footer\">\n <button cdsButton=\"tertiary\" (click)=\"resetFilter()\">\n {{ 'Reset filter' | translate }}\n\n <svg class=\"cds--btn__icon\" cdsIcon=\"trash-can\" size=\"16\"></svg>\n </button>\n </footer>\n</div>\n", styles: [":host .valtimo-documenten-api-filter{display:flex;flex-direction:column;max-width:880px}:host .valtimo-documenten-api-filter__form{display:grid;grid-template-columns:repeat(3,1fr);align-items:flex-end;padding:16px;gap:16px}:host .valtimo-documenten-api-filter__dates{display:flex;gap:16px}:host .valtimo-documenten-api-filter__footer{display:flex;padding:0 16px 16px}::ng-deep .cds--date-picker.cds--date-picker--single .cds--date-picker__input{inline-size:unset!important;padding:0!important}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }, { kind: "ngmodule", type: ButtonModule }, { kind: "directive", type: i6.Button, selector: "[cdsButton], [ibmButton]", inputs: ["ibmButton", "cdsButton", "size", "skeleton", "iconOnly", "isExpressive"] }, { kind: "ngmodule", type: DatePickerInputModule }, { kind: "ngmodule", type: DatePickerModule }, { kind: "component", type: i6.DatePicker, selector: "cds-date-picker, ibm-date-picker", inputs: ["range", "dateFormat", "language", "label", "helperText", "rangeHelperText", "rangeLabel", "placeholder", "ariaLabel", "inputPattern", "id", "value", "theme", "disabled", "invalid", "invalidText", "warn", "warnText", "size", "rangeInvalid", "rangeInvalidText", "rangeWarn", "rangeWarnText", "skeleton", "plugins", "flatpickrOptions"], outputs: ["valueChange", "onClose"] }, { kind: "ngmodule", type: DropdownModule }, { kind: "component", type: i6.Dropdown, selector: "cds-dropdown, ibm-dropdown", inputs: ["id", "label", "hideLabel", "helperText", "placeholder", "displayValue", "clearText", "size", "type", "theme", "disabled", "skeleton", "inline", "disableArrowKeys", "invalid", "invalidText", "warn", "warnText", "appendInline", "scrollableContainer", "itemValueKey", "selectionFeedback", "menuButtonLabel", "selectedLabel", "dropUp"], outputs: ["selected", "onClose", "close"] }, { kind: "component", type: i6.DropdownList, selector: "cds-dropdown-list, ibm-dropdown-list", inputs: ["ariaLabel", "items", "listTpl", "type", "showTitles"], outputs: ["select", "scroll", "blurIntent"] }, { kind: "ngmodule", type: IconModule }, { kind: "directive", type: i6.IconDirective, selector: "[cdsIcon], [ibmIcon]", inputs: ["ibmIcon", "cdsIcon", "size", "title", "ariaLabel", "ariaLabelledBy", "ariaHidden", "isFocusable"] }, { kind: "ngmodule", type: InputModule }, { kind: "component", type: i6.TextInputLabelComponent, selector: "cds-text-label, ibm-text-label", inputs: ["labelInputID", "disabled", "skeleton", "labelTemplate", "textInputTemplate", "helperText", "invalidText", "invalid", "warn", "warnText", "ariaLabel"] }, { kind: "directive", type: i6.TextInput, selector: "[cdsText], [ibmText]", inputs: ["theme", "size", "invalid", "warn", "skeleton"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
912
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: DocumentenApiFilterComponent, deps: [{ token: i4$1.DocumentService }, { token: i1$1.FormBuilder }, { token: i5$1.IconService }, { token: i1$2.ActivatedRoute }, { token: i5.TranslateService }, { token: DocumentenApiTagService }], target: i0.ɵɵFactoryTarget.Component }); }
913
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.14", type: DocumentenApiFilterComponent, isStandalone: true, selector: "valtimo-case-detail-tab-documenten-api-filter", outputs: { filterEvent: "filterEvent" }, viewQueries: [{ propertyName: "creationDateFromPicker", first: true, predicate: ["creationDateFrom"], descendants: true }, { propertyName: "creationDateToPicker", first: true, predicate: ["creationDateTo"], descendants: true }], ngImport: i0, template: "<!--\n ~ Copyright 2015-2025 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 class=\"valtimo-documenten-api-filter\" (click)=\"$event.stopImmediatePropagation()\">\n <form\n *ngIf=\"{\n confidentialityLevels: confidentialityLevels$ | async,\n informationObjectTypes: informationObjectTypes$ | async,\n tags: tags$ | async,\n } as obs\"\n class=\"valtimo-documenten-api-filter__form\"\n [formGroup]=\"formGroup\"\n >\n <cds-text-label>\n {{ 'zgw.documentColumns.titel' | translate }}\n\n <input cdsText formControlName=\"titel\" />\n </cds-text-label>\n\n <cds-dropdown\n [disabled]=\"!obs.informationObjectTypes?.length\"\n [dropUp]=\"false\"\n [label]=\"'zgw.documentColumns.informatieobjecttype' | translate\"\n formControlName=\"informatieObjectType\"\n >\n <cds-dropdown-list [items]=\"obs.informationObjectTypes\"></cds-dropdown-list>\n </cds-dropdown>\n\n <div class=\"valtimo-documenten-api-filter__dates\">\n <cds-date-picker\n #creationDateFrom\n [label]=\"'interface.labels.dateCreationFrom' | translate\"\n placeholder=\"DD-MM-YYYY\"\n [dateFormat]=\"'d-m-Y'\"\n (valueChange)=\"onDateSelected('createdFrom', $event)\"\n ></cds-date-picker>\n\n <cds-date-picker\n #creationDateTo\n [label]=\"'interface.labels.dateCreationTo' | translate\"\n placeholder=\"DD-MM-YYYY\"\n [dateFormat]=\"'d-m-Y'\"\n (valueChange)=\"onDateSelected('createdTo', $event)\"\n ></cds-date-picker>\n </div>\n\n <cds-text-label>\n {{ 'zgw.documentColumns.auteur' | translate }}\n\n <input cdsText formControlName=\"auteur\" />\n </cds-text-label>\n\n <cds-dropdown\n [dropUp]=\"false\"\n [label]=\"'zgw.documentColumns.vertrouwelijkheidaanduiding' | translate\"\n formControlName=\"vertrouwelijkHeidaanduiding\"\n >\n <cds-dropdown-list [items]=\"obs.confidentialityLevels\"></cds-dropdown-list>\n </cds-dropdown>\n\n <cds-dropdown\n [label]=\"'zgw.documentColumns.trefwoorden' | translate\"\n formControlName=\"trefwoorden\"\n type=\"multi\"\n >\n <cds-dropdown-list [items]=\"obs.tags\"></cds-dropdown-list>\n </cds-dropdown>\n </form>\n\n <footer class=\"valtimo-documenten-api-filter__footer\">\n <button cdsButton=\"tertiary\" (click)=\"resetFilter()\">\n {{ 'Reset filter' | translate }}\n\n <svg class=\"cds--btn__icon\" cdsIcon=\"trash-can\" size=\"16\"></svg>\n </button>\n </footer>\n</div>\n", styles: [":host .valtimo-documenten-api-filter{display:flex;flex-direction:column;max-width:880px}:host .valtimo-documenten-api-filter__form{display:grid;grid-template-columns:repeat(3,1fr);align-items:flex-end;padding:16px;gap:16px}:host .valtimo-documenten-api-filter__dates{display:flex;gap:16px}:host .valtimo-documenten-api-filter__footer{display:flex;padding:0 16px 16px}::ng-deep .cds--date-picker.cds--date-picker--single .cds--date-picker__input{inline-size:unset!important;padding:0!important}\n/*!\n * Copyright 2015-2025 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: "ngmodule", type: CommonModule }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }, { kind: "ngmodule", type: ButtonModule }, { kind: "directive", type: i5$1.Button, selector: "[cdsButton], [ibmButton]", inputs: ["ibmButton", "cdsButton", "size", "skeleton", "iconOnly", "isExpressive"] }, { kind: "ngmodule", type: DatePickerInputModule }, { kind: "ngmodule", type: DatePickerModule }, { kind: "component", type: i5$1.DatePicker, selector: "cds-date-picker, ibm-date-picker", inputs: ["range", "dateFormat", "language", "label", "helperText", "rangeHelperText", "rangeLabel", "placeholder", "ariaLabel", "inputPattern", "id", "value", "theme", "disabled", "readonly", "invalid", "invalidText", "warn", "warnText", "size", "rangeInvalid", "rangeInvalidText", "rangeWarn", "rangeWarnText", "skeleton", "plugins", "flatpickrOptions"], outputs: ["valueChange", "onClose"] }, { kind: "ngmodule", type: DropdownModule }, { kind: "component", type: i5$1.Dropdown, selector: "cds-dropdown, ibm-dropdown", inputs: ["id", "label", "hideLabel", "helperText", "placeholder", "displayValue", "clearText", "size", "type", "theme", "disabled", "readonly", "skeleton", "inline", "disableArrowKeys", "invalid", "invalidText", "warn", "warnText", "appendInline", "scrollableContainer", "itemValueKey", "selectionFeedback", "menuButtonLabel", "selectedLabel", "dropUp", "fluid"], outputs: ["selected", "onClose", "close"] }, { kind: "component", type: i5$1.DropdownList, selector: "cds-dropdown-list, ibm-dropdown-list", inputs: ["ariaLabel", "items", "listTpl", "type", "showTitles"], outputs: ["select", "scroll", "blurIntent"] }, { kind: "ngmodule", type: IconModule }, { kind: "directive", type: i5$1.IconDirective, selector: "[cdsIcon], [ibmIcon]", inputs: ["ibmIcon", "cdsIcon", "size", "title", "ariaLabel", "ariaLabelledBy", "ariaHidden", "isFocusable"] }, { kind: "ngmodule", type: InputModule }, { kind: "component", type: i5$1.TextInputLabelComponent, selector: "cds-text-label, ibm-text-label", inputs: ["labelInputID", "disabled", "skeleton", "labelTemplate", "textInputTemplate", "helperText", "invalidText", "invalid", "warn", "warnText", "ariaLabel", "fluid"] }, { kind: "directive", type: i5$1.TextInput, selector: "[cdsText], [ibmText]", inputs: ["theme", "size", "invalid", "warn", "skeleton"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i5.TranslatePipe, name: "translate" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
892
914
  }
893
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DocumentenApiFilterComponent, decorators: [{
915
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: DocumentenApiFilterComponent, decorators: [{
894
916
  type: Component,
895
- args: [{ selector: 'valtimo-dossier-detail-tab-documenten-api-filter', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [
917
+ args: [{ selector: 'valtimo-case-detail-tab-documenten-api-filter', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [
896
918
  CommonModule,
897
919
  ButtonModule,
898
920
  DatePickerInputModule,
@@ -902,8 +924,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
902
924
  InputModule,
903
925
  TranslateModule,
904
926
  ReactiveFormsModule,
905
- ], template: "<div class=\"valtimo-documenten-api-filter\" (click)=\"$event.stopImmediatePropagation()\">\n <form\n *ngIf=\"{\n confidentialityLevels: confidentialityLevels$ | async,\n informationObjectTypes: informationObjectTypes$ | async,\n tags: tags$ | async,\n } as obs\"\n class=\"valtimo-documenten-api-filter__form\"\n [formGroup]=\"formGroup\"\n >\n <cds-text-label>\n {{ 'zgw.documentColumns.titel' | translate }}\n\n <input cdsText formControlName=\"titel\" />\n </cds-text-label>\n\n <cds-dropdown\n [disabled]=\"!obs.informationObjectTypes?.length\"\n [dropUp]=\"false\"\n [label]=\"'zgw.documentColumns.informatieobjecttype' | translate\"\n formControlName=\"informatieObjectType\"\n >\n <cds-dropdown-list [items]=\"obs.informationObjectTypes\"></cds-dropdown-list>\n </cds-dropdown>\n\n <div class=\"valtimo-documenten-api-filter__dates\">\n <cds-date-picker\n #creationDateFrom\n [label]=\"'interface.labels.dateCreationFrom' | translate\"\n placeholder=\"DD-MM-YYYY\"\n [dateFormat]=\"'d-m-Y'\"\n (valueChange)=\"onDateSelected('createdFrom', $event)\"\n ></cds-date-picker>\n\n <cds-date-picker\n #creationDateTo\n [label]=\"'interface.labels.dateCreationTo' | translate\"\n placeholder=\"DD-MM-YYYY\"\n [dateFormat]=\"'d-m-Y'\"\n (valueChange)=\"onDateSelected('createdTo', $event)\"\n ></cds-date-picker>\n </div>\n\n <cds-text-label>\n {{ 'zgw.documentColumns.auteur' | translate }}\n\n <input cdsText formControlName=\"auteur\" />\n </cds-text-label>\n\n <cds-dropdown\n [dropUp]=\"false\"\n [label]=\"'zgw.documentColumns.vertrouwelijkheidaanduiding' | translate\"\n formControlName=\"vertrouwelijkHeidaanduiding\"\n >\n <cds-dropdown-list [items]=\"obs.confidentialityLevels\"></cds-dropdown-list>\n </cds-dropdown>\n\n <cds-dropdown\n [label]=\"'zgw.documentColumns.trefwoorden' | translate\"\n formControlName=\"trefwoorden\"\n type=\"multi\"\n >\n <cds-dropdown-list [items]=\"obs.tags\"></cds-dropdown-list>\n </cds-dropdown>\n </form>\n\n <footer class=\"valtimo-documenten-api-filter__footer\">\n <button cdsButton=\"tertiary\" (click)=\"resetFilter()\">\n {{ 'Reset filter' | translate }}\n\n <svg class=\"cds--btn__icon\" cdsIcon=\"trash-can\" size=\"16\"></svg>\n </button>\n </footer>\n</div>\n", styles: [":host .valtimo-documenten-api-filter{display:flex;flex-direction:column;max-width:880px}:host .valtimo-documenten-api-filter__form{display:grid;grid-template-columns:repeat(3,1fr);align-items:flex-end;padding:16px;gap:16px}:host .valtimo-documenten-api-filter__dates{display:flex;gap:16px}:host .valtimo-documenten-api-filter__footer{display:flex;padding:0 16px 16px}::ng-deep .cds--date-picker.cds--date-picker--single .cds--date-picker__input{inline-size:unset!important;padding:0!important}\n"] }]
906
- }], ctorParameters: () => [{ type: i1$3.DocumentService }, { type: i1$1.FormBuilder }, { type: i6.IconService }, { type: i1$2.ActivatedRoute }, { type: i3.TranslateService }, { type: DocumentenApiTagService }], propDecorators: { creationDateFromPicker: [{
927
+ ], template: "<!--\n ~ Copyright 2015-2025 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 class=\"valtimo-documenten-api-filter\" (click)=\"$event.stopImmediatePropagation()\">\n <form\n *ngIf=\"{\n confidentialityLevels: confidentialityLevels$ | async,\n informationObjectTypes: informationObjectTypes$ | async,\n tags: tags$ | async,\n } as obs\"\n class=\"valtimo-documenten-api-filter__form\"\n [formGroup]=\"formGroup\"\n >\n <cds-text-label>\n {{ 'zgw.documentColumns.titel' | translate }}\n\n <input cdsText formControlName=\"titel\" />\n </cds-text-label>\n\n <cds-dropdown\n [disabled]=\"!obs.informationObjectTypes?.length\"\n [dropUp]=\"false\"\n [label]=\"'zgw.documentColumns.informatieobjecttype' | translate\"\n formControlName=\"informatieObjectType\"\n >\n <cds-dropdown-list [items]=\"obs.informationObjectTypes\"></cds-dropdown-list>\n </cds-dropdown>\n\n <div class=\"valtimo-documenten-api-filter__dates\">\n <cds-date-picker\n #creationDateFrom\n [label]=\"'interface.labels.dateCreationFrom' | translate\"\n placeholder=\"DD-MM-YYYY\"\n [dateFormat]=\"'d-m-Y'\"\n (valueChange)=\"onDateSelected('createdFrom', $event)\"\n ></cds-date-picker>\n\n <cds-date-picker\n #creationDateTo\n [label]=\"'interface.labels.dateCreationTo' | translate\"\n placeholder=\"DD-MM-YYYY\"\n [dateFormat]=\"'d-m-Y'\"\n (valueChange)=\"onDateSelected('createdTo', $event)\"\n ></cds-date-picker>\n </div>\n\n <cds-text-label>\n {{ 'zgw.documentColumns.auteur' | translate }}\n\n <input cdsText formControlName=\"auteur\" />\n </cds-text-label>\n\n <cds-dropdown\n [dropUp]=\"false\"\n [label]=\"'zgw.documentColumns.vertrouwelijkheidaanduiding' | translate\"\n formControlName=\"vertrouwelijkHeidaanduiding\"\n >\n <cds-dropdown-list [items]=\"obs.confidentialityLevels\"></cds-dropdown-list>\n </cds-dropdown>\n\n <cds-dropdown\n [label]=\"'zgw.documentColumns.trefwoorden' | translate\"\n formControlName=\"trefwoorden\"\n type=\"multi\"\n >\n <cds-dropdown-list [items]=\"obs.tags\"></cds-dropdown-list>\n </cds-dropdown>\n </form>\n\n <footer class=\"valtimo-documenten-api-filter__footer\">\n <button cdsButton=\"tertiary\" (click)=\"resetFilter()\">\n {{ 'Reset filter' | translate }}\n\n <svg class=\"cds--btn__icon\" cdsIcon=\"trash-can\" size=\"16\"></svg>\n </button>\n </footer>\n</div>\n", styles: [":host .valtimo-documenten-api-filter{display:flex;flex-direction:column;max-width:880px}:host .valtimo-documenten-api-filter__form{display:grid;grid-template-columns:repeat(3,1fr);align-items:flex-end;padding:16px;gap:16px}:host .valtimo-documenten-api-filter__dates{display:flex;gap:16px}:host .valtimo-documenten-api-filter__footer{display:flex;padding:0 16px 16px}::ng-deep .cds--date-picker.cds--date-picker--single .cds--date-picker__input{inline-size:unset!important;padding:0!important}\n/*!\n * Copyright 2015-2025 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"] }]
928
+ }], ctorParameters: () => [{ type: i4$1.DocumentService }, { type: i1$1.FormBuilder }, { type: i5$1.IconService }, { type: i1$2.ActivatedRoute }, { type: i5.TranslateService }, { type: DocumentenApiTagService }], propDecorators: { creationDateFromPicker: [{
907
929
  type: ViewChild,
908
930
  args: ['creationDateFrom']
909
931
  }], creationDateToPicker: [{
@@ -914,7 +936,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
914
936
  }] } });
915
937
 
916
938
  /*
917
- * Copyright 2015-2024 Ritense BV, the Netherlands.
939
+ * Copyright 2015-2025 Ritense BV, the Netherlands.
918
940
  *
919
941
  * Licensed under EUPL, Version 1.2 (the "License");
920
942
  * you may not use this file except in compliance with the License.
@@ -1052,7 +1074,7 @@ class DocumentenApiMetadataModalComponent {
1052
1074
  get bestandsnaam() {
1053
1075
  return this.documentenApiMetadataForm.get('bestandsnaam');
1054
1076
  }
1055
- constructor(route, documentService, documentenApiTagService, fb, keycloakService, modalService, translateService, valtimoModalService, documentenApiVersionService) {
1077
+ constructor(route, documentService, documentenApiTagService, fb, keycloakService, modalService, translateService, valtimoModalService, documentenApiVersionService, router) {
1056
1078
  this.route = route;
1057
1079
  this.documentService = documentService;
1058
1080
  this.documentenApiTagService = documentenApiTagService;
@@ -1062,6 +1084,7 @@ class DocumentenApiMetadataModalComponent {
1062
1084
  this.translateService = translateService;
1063
1085
  this.valtimoModalService = valtimoModalService;
1064
1086
  this.documentenApiVersionService = documentenApiVersionService;
1087
+ this.router = router;
1065
1088
  this.hideFields = [];
1066
1089
  this.defaultValues = {};
1067
1090
  this.supportsTrefwoorden = false;
@@ -1132,7 +1155,7 @@ class DocumentenApiMetadataModalComponent {
1132
1155
  this.translateService.stream('key'),
1133
1156
  ]).pipe(tap$1(([additionalDocumentDate, currentStatus]) => {
1134
1157
  this.formData$
1135
- .pipe(filter(formData => !!formData), take(1))
1158
+ .pipe(filter(formData => !!formData), take$1(1))
1136
1159
  .subscribe(formData => {
1137
1160
  if (additionalDocumentDate === 'received' &&
1138
1161
  (formData.status === 'in_bewerking' || formData.status === 'ter_vaststelling')) {
@@ -1145,10 +1168,10 @@ class DocumentenApiMetadataModalComponent {
1145
1168
  selected: currentStatus === status,
1146
1169
  }))));
1147
1170
  this.tagItems$ = combineLatest([
1148
- this.valtimoModalService.documentDefinitionName$,
1171
+ this.valtimoModalService.caseDefinitionKey$,
1149
1172
  this.tagFormControl.valueChanges.pipe(startWith(this.tagFormControl.value)),
1150
- ]).pipe(filter(([documentDefinitionName]) => !!documentDefinitionName), switchMap(([documentDefinitionName, tagFormControlValue]) => combineLatest([
1151
- this.documentenApiTagService.getTags(documentDefinitionName),
1173
+ ]).pipe(filter(([caseDefinitionKey]) => !!caseDefinitionKey), switchMap(([caseDefinitionKey, tagFormControlValue]) => combineLatest([
1174
+ this.documentenApiTagService.getTags(caseDefinitionKey),
1152
1175
  of(tagFormControlValue),
1153
1176
  ])), map(([tags, tagFormControlValue]) => tags.map(tag => ({
1154
1177
  id: tag.value,
@@ -1166,11 +1189,16 @@ class DocumentenApiMetadataModalComponent {
1166
1189
  selected: currentLanguage === language,
1167
1190
  }));
1168
1191
  }));
1192
+ this.documentId$ = this.router.events.pipe(filter(event => event instanceof NavigationEnd), startWith(null), map(() => {
1193
+ const segments = window.location.pathname.split('/');
1194
+ const i = segments.indexOf('document');
1195
+ return i !== -1 && segments.length > i + 1 ? segments[i + 1] : null;
1196
+ }));
1169
1197
  this.documentTypeItems$ = combineLatest([
1170
- this.valtimoModalService.documentDefinitionName$,
1198
+ this.documentId$,
1171
1199
  this.informatieobjecttypeFormControl.valueChanges.pipe(startWith(this.informatieobjecttypeFormControl.value)),
1172
- ]).pipe(switchMap(([documentDefinitionName, informatieobjecttypeValue]) => combineLatest([
1173
- this.documentService.getDocumentTypes(documentDefinitionName),
1200
+ ]).pipe(filter(([documentId]) => !!documentId), switchMap(([documentId, informatieobjecttypeValue]) => combineLatest([
1201
+ this.documentService.getDocumentTypesForDocument(documentId),
1174
1202
  of(informatieobjecttypeValue),
1175
1203
  ])), map(([documentTypes, informatieobjecttypeValue]) => documentTypes.map((type) => ({
1176
1204
  id: type.url,
@@ -1178,7 +1206,7 @@ class DocumentenApiMetadataModalComponent {
1178
1206
  selected: informatieobjecttypeValue === type.url,
1179
1207
  }))));
1180
1208
  this.userEmail$ = from(this.keycloakService.loadUserProfile()).pipe(map(userProfile => userProfile?.email || ''));
1181
- this._supportedDocumentenApiFeatures$ = this.valtimoModalService.documentDefinitionName$.pipe(switchMap(documentDefinitionName => this.documentenApiVersionService.getSupportedApiFeatures(documentDefinitionName)));
1209
+ this._supportedDocumentenApiFeatures$ = this.valtimoModalService.caseDefinitionKey$.pipe(switchMap(caseDefinitionKey => this.documentenApiVersionService.getSupportedApiFeatures(caseDefinitionKey)));
1182
1210
  this._subscriptions = new Subscription();
1183
1211
  }
1184
1212
  ngOnInit() {
@@ -1203,6 +1231,9 @@ class DocumentenApiMetadataModalComponent {
1203
1231
  tagsSelected(event) {
1204
1232
  this.tagFormControl.patchValue(event.filter(tag => tag.selected).map(tag => tag.id));
1205
1233
  }
1234
+ setAdditionalDate(value) {
1235
+ this.additionalDocumentDate$.next(value);
1236
+ }
1206
1237
  confidentialityLevelSelected(event) {
1207
1238
  if (event.id) {
1208
1239
  this.documentenApiMetadataForm.patchValue({
@@ -1349,11 +1380,8 @@ class DocumentenApiMetadataModalComponent {
1349
1380
  }
1350
1381
  openDocumentDefinitionSubscription() {
1351
1382
  this._subscriptions.add(combineLatest([this.route?.params || of(null), this.route?.firstChild?.params || of(null)])
1352
- .pipe(map(([params, firstChildParams]) => (params?.documentDefinitionName || firstChildParams?.documentDefinitionName)), filter(documentDefinitionName => !!documentDefinitionName))
1353
- .subscribe(documentDefinitionName => this.valtimoModalService.setDocumentDefinitionName(documentDefinitionName)));
1354
- }
1355
- setAdditionalDate(value) {
1356
- this.additionalDocumentDate$.next(value);
1383
+ .pipe(map(([params, firstChildParams]) => (params?.caseDefinitionKey || firstChildParams?.caseDefinitionKey)), filter(caseDefinitionKey => !!caseDefinitionKey))
1384
+ .subscribe(caseDefinitionKey => this.valtimoModalService.setCaseDefinitionKey(caseDefinitionKey)));
1357
1385
  }
1358
1386
  areAllFieldsHidden() {
1359
1387
  return (this.hideFields.includes('aanvullendeDatum') &&
@@ -1368,10 +1396,10 @@ class DocumentenApiMetadataModalComponent {
1368
1396
  this.hideFields.includes('status') &&
1369
1397
  this.hideFields.includes('trefwoorden'));
1370
1398
  }
1371
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DocumentenApiMetadataModalComponent, deps: [{ token: i1$2.ActivatedRoute }, { token: i1$3.DocumentService }, { token: DocumentenApiTagService }, { token: i1$1.FormBuilder }, { token: i5.KeycloakService }, { token: i3$1.ModalService }, { token: i3.TranslateService }, { token: i3$1.ValtimoModalService }, { token: DocumentenApiVersionService }], target: i0.ɵɵFactoryTarget.Component }); }
1372
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: DocumentenApiMetadataModalComponent, isStandalone: true, selector: "valtimo-documenten-api-metadata-modal", inputs: { disabled$: "disabled$", file$: "file$", hideFields: "hideFields", defaultValues: "defaultValues", disableAuthor: "disableAuthor", disableConfidentialityLevel: "disableConfidentialityLevel", disableDescription: "disableDescription", disableDocumentTitle: "disableDocumentTitle", disableDocumentType: "disableDocumentType", disableFilename: "disableFilename", disableLanguage: "disableLanguage", disableStatus: "disableStatus", supportsTrefwoorden: "supportsTrefwoorden", disableCreationDate: "disableCreationDate", isEditMode: "isEditMode", open: "open" }, outputs: { metadata: "metadata", modalClose: "modalClose" }, viewQueries: [{ propertyName: "metadataModal", first: true, predicate: ["metadataModal"], descendants: true }], ngImport: i0, template: "<!--\n ~ Copyright 2015-2024 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<v-modal\n #metadataModal\n *ngIf=\"{\n file: file$ | async,\n disabled: disabled$ | async,\n editDisabled: editDisabled$ | async,\n languageItems: languageItems$ | async,\n confidentialityLevelItems: confidentialityLevelItems$ | async,\n documentTypeItems: documentTypeItems$ | async,\n statusItems: statusItems$ | async,\n tagItems: tagItems$ | async,\n userEmail: userEmail$ | async,\n open: open$ | async,\n additionalDate: additionalDocumentDate$ | async,\n } as obs\"\n [maxWidthPx]=\"1280\"\n (closeEvent)=\"closeModal()\"\n [cdsLayer]=\"1\"\n>\n <div role=\"header\">\n @if (isEditMode) {\n <h3 cdsModalHeaderHeading>\n {{ 'document.editMetadata' | translate }}\n </h3>\n } @else {\n <h3 cdsModalHeaderHeading>\n {{ 'document.fillInMetadata' | translate }}\n </h3>\n }\n </div>\n\n <div role=\"content\">\n @if (obs.open) {\n <ng-container *ngTemplateOutlet=\"metadataForm; context: {obs: obs}\"></ng-container>\n }\n </div>\n\n <div role=\"footer\" class=\"metadata-modal-footer\">\n <button cdsButton=\"ghost\" (click)=\"closeModal()\" [disabled]=\"obs.disabled\">\n {{ 'document.cancel' | translate }}\n </button>\n\n <button\n cdsButton=\"primary\"\n type=\"submit\"\n [disabled]=\"obs.disabled || !documentenApiMetadataForm.valid || obs.editDisabled\"\n (click)=\"save()\"\n >\n {{ 'document.save' | translate }}\n </button>\n </div>\n</v-modal>\n\n<ng-template #metadataForm let-obs=\"obs\">\n <form [formGroup]=\"documentenApiMetadataForm\">\n <div class=\"documenten-metadata-form-columns-container\">\n <div class=\"documenten-metadata-form-column\">\n @if (!hideFields.includes('bestandsnaam')) {\n <cds-text-label class=\"documenten-metada-form-input\">\n {{ 'document.filename' | translate }}\n <cds-tooltip\n [isOpen]=\"false\"\n [description]=\"'document.filenameTooltip' | translate\"\n [align]=\"'bottom-left'\"\n >\n <i class=\"mdi mdi-help-circle-outline\"></i>\n </cds-tooltip>\n <input\n [value]=\"defaultValues.bestandsnaam\"\n [placeholder]=\"'document.filenamePlaceholder' | translate\"\n cdsText\n type=\"text\"\n id=\"bestandsnaam\"\n formControlName=\"bestandsnaam\"\n />\n </cds-text-label>\n }\n @if (!hideFields.includes('auteur')) {\n <cds-text-label class=\"documenten-metada-form-input\">\n {{ 'document.author' | translate }}\n <cds-tooltip\n [isOpen]=\"false\"\n [description]=\"'document.authorTooltip' | translate\"\n [align]=\"'bottom-left'\"\n >\n <i class=\"mdi mdi-help-circle-outline\"></i>\n </cds-tooltip>\n <input\n [value]=\"defaultValues.auteur\"\n [placeholder]=\"'document.authorPlaceholder' | translate\"\n [required]=\"true\"\n cdsText\n id=\"auteur\"\n formControlName=\"auteur\"\n />\n </cds-text-label>\n }\n @if (!hideFields.includes('taal')) {\n <cds-text-label>\n {{ 'document.language' | translate }}\n <cds-tooltip\n [isOpen]=\"false\"\n [description]=\"'document.languageTooltip' | translate\"\n [align]=\"'bottom-left'\"\n >\n <i class=\"mdi mdi-help-circle-outline\"></i>\n </cds-tooltip>\n </cds-text-label>\n <div class=\"documenten-metada-form-input\">\n <cds-dropdown\n [disabled]=\"obs.disabled || (languageDisabled$ | async)\"\n [appendInline]=\"true\"\n [placeholder]=\"'document.languagePlaceholder' | translate\"\n id=\"language\"\n (selected)=\"languageSelected($event)\"\n >\n <cds-dropdown-list [items]=\"obs.languageItems || []\"></cds-dropdown-list>\n </cds-dropdown>\n </div>\n }\n @if (!hideFields.includes('vertrouwelijkheidaanduiding')) {\n <cds-label>\n {{ 'document.confidentialityLevel' | translate }}\n <cds-tooltip\n [isOpen]=\"false\"\n [description]=\"'document.confidentialityLevelTooltip' | translate\"\n [align]=\"'bottom-left'\"\n >\n <i class=\"mdi mdi-help-circle-outline\"></i>\n </cds-tooltip>\n </cds-label>\n <div class=\"documenten-metada-form-input\">\n <cds-combo-box\n [placeholder]=\"'document.confidentialityPlaceholder' | translate\"\n id=\"vertrouwelijkheidaanduiding\"\n [appendInline]=\"true\"\n [disabled]=\"obs.disabled || (confidentialityLevelDisabled$ | async)\"\n (selected)=\"confidentialityLevelSelected($event)\"\n (clear)=\"confidentialityLevelFormControl.setValue(null)\"\n >\n <cds-dropdown-list [items]=\"obs.confidentialityLevelItems || []\"></cds-dropdown-list>\n </cds-combo-box>\n </div>\n }\n @if (!hideFields.includes('informatieobjecttype')) {\n <cds-label>\n {{ 'document.informatieobjecttype' | translate }}\n <cds-tooltip\n [isOpen]=\"false\"\n [description]=\"'document.informatieobjecttypeTooltip' | translate\"\n [align]=\"'bottom-left'\"\n >\n <i class=\"mdi mdi-help-circle-outline\"></i>\n </cds-tooltip>\n </cds-label>\n <div class=\"documenten-metada-form-input\">\n <cds-dropdown\n [placeholder]=\"'document.informatieobjecttypePlaceholder' | translate\"\n [disabled]=\"obs.disabled || (informatieobjecttypeDisabled$ | async)\"\n id=\"informatieobjecttype\"\n [appendInline]=\"true\"\n (selected)=\"informatieobjecttypeSelected($event)\"\n >\n <cds-dropdown-list [items]=\"obs.documentTypeItems || []\"></cds-dropdown-list>\n </cds-dropdown>\n </div>\n }\n @if (!hideFields.includes('aanvullendeDatum')) {\n <cds-text-label name=\"'additionalDate'\">\n {{ 'document.additionalDate' | translate }}\n <cds-tooltip\n [isOpen]=\"false\"\n [description]=\"'document.additionalDateTooltip' | translate\"\n [align]=\"'bottom-left'\"\n >\n <i class=\"mdi mdi-help-circle-outline\"></i>\n </cds-tooltip>\n </cds-text-label>\n <cds-radio-group [orientation]=\"'horizontal'\" class=\"documenten-metada-form-input\">\n <cds-radio\n *ngFor=\"let option of ADDITONAL_DOCUMENT_DATE_OPTIONS\"\n [value]=\"option.value\"\n [checked]=\"obs.additionalDate === option.value\"\n [required]=\"true\"\n (click)=\"setAdditionalDate(option.value)\"\n name=\"radio-inline\"\n >\n {{ option.translationKey | translate }}\n </cds-radio>\n </cds-radio-group>\n }\n @if (supportsTrefwoorden && !hideFields.includes('trefwoorden')) {\n <cds-text-label>\n {{ 'document.tags' | translate }}\n <cds-tooltip\n [isOpen]=\"false\"\n [description]=\"'document.tagsTooltip' | translate\"\n [align]=\"'bottom-left'\"\n >\n <i class=\"mdi mdi-help-circle-outline\"></i>\n </cds-tooltip>\n </cds-text-label>\n <div class=\"documenten-metada-form-input\">\n <cds-combo-box\n [type]=\"'multi'\"\n [placeholder]=\"'document.tagsPlaceholder' | translate\"\n [disabled]=\"obs.disabled || obs.tagItems?.length === 0\"\n [appendInline]=\"true\"\n (selected)=\"tagsSelected($event)\"\n >\n >\n <cds-dropdown-list [items]=\"obs.tagItems || []\"></cds-dropdown-list>\n </cds-combo-box>\n </div>\n }\n </div>\n\n <div class=\"documenten-metadata-form-column\">\n @if (!hideFields.includes('titel')) {\n <cds-text-label>\n {{ 'document.inputTitle' | translate }}\n <input\n [placeholder]=\"'document.inputTitlePlaceholder' | translate\"\n [required]=\"true\"\n cdsText\n class=\"documenten-metada-form-input\"\n id=\"titel\"\n formControlName=\"titel\"\n />\n <cds-tooltip\n [isOpen]=\"false\"\n [description]=\"'document.inputTitleTooltip' | translate\"\n [align]=\"'bottom'\"\n >\n <i class=\"mdi mdi-help-circle-outline\"></i>\n </cds-tooltip>\n </cds-text-label>\n }\n @if (!hideFields.includes('beschrijving')) {\n <cds-textarea-label>\n {{ 'document.inputDescription' | translate }}\n <textarea\n [placeholder]=\"'document.inputDescriptionPlaceholder' | translate\"\n [required]=\"false\"\n [rows]=\"5\"\n cdsTextArea\n class=\"documenten-metada-form-description-input documenten-metada-form-input\"\n id=\"beschrijving\"\n formControlName=\"beschrijving\"\n ></textarea>\n <cds-tooltip\n [isOpen]=\"false\"\n [description]=\"'document.inputDescriptionTooltip' | translate\"\n [align]=\"'bottom'\"\n >\n <i class=\"mdi mdi-help-circle-outline\"></i>\n </cds-tooltip>\n </cds-textarea-label>\n }\n @if (!hideFields.includes('creatiedatum')) {\n <cds-label>\n {{ 'document.creationDate' | translate }}\n <cds-tooltip\n [isOpen]=\"false\"\n [description]=\"'document.creationDateTooltip' | translate\"\n [align]=\"'bottom'\"\n >\n <i class=\"mdi mdi-help-circle-outline\"></i>\n </cds-tooltip>\n <div class=\"documenten-metada-form-input\">\n <cds-date-picker\n [placeholder]=\"'DD-MM-YYYY'\"\n [dateFormat]=\"'d-m-Y'\"\n id=\"creatiedatum\"\n formControlName=\"creatiedatum\"\n >\n </cds-date-picker>\n </div>\n </cds-label>\n }\n @if (!hideFields.includes('status')) {\n <cds-label>\n {{ 'document.status' | translate }}\n <cds-tooltip\n [isOpen]=\"false\"\n [description]=\"'document.statusTooltip' | translate\"\n [align]=\"'bottom'\"\n >\n <i class=\"mdi mdi-help-circle-outline\"></i>\n </cds-tooltip>\n </cds-label>\n <div class=\"documenten-metada-form-input\">\n <cds-combo-box\n [placeholder]=\"'document.statusPlaceholder' | translate\"\n [disabled]=\"obs.disabled || (statusDisabled$ | async)\"\n id=\"status\"\n [appendInline]=\"true\"\n (selected)=\"statusSelected($event)\"\n (clear)=\"statusFormControl.setValue(null)\"\n >\n <cds-dropdown-list [items]=\"obs.statusItems || []\"></cds-dropdown-list>\n </cds-combo-box>\n </div>\n }\n @if (!hideFields.includes('aanvullendeDatum')) {\n <cds-date-picker\n *ngIf=\"obs.additionalDate === 'received'\"\n [label]=\"'document.additionalDate' | translate\"\n [placeholder]=\"'DD-MM-YYYY'\"\n [dateFormat]=\"'d-m-Y'\"\n id=\"ontvangstdatum\"\n formControlName=\"ontvangstdatum\"\n ></cds-date-picker>\n <cds-date-picker\n *ngIf=\"obs.additionalDate === 'sent'\"\n [label]=\"'document.additionalDate' | translate\"\n [placeholder]=\"'DD-MM-YYYY'\"\n [dateFormat]=\"'d-m-Y'\"\n id=\"verzenddatum\"\n formControlName=\"verzenddatum\"\n ></cds-date-picker>\n }\n </div>\n </div>\n </form>\n</ng-template>\n", styles: [".documenten-metadata-form-columns-container{display:flex;justify-content:space-between}.documenten-metadata-form-column{flex:1;margin-right:1rem}.documenten-metada-form-input{margin-bottom:18px!important;width:100%!important}.documenten-metada-form-description-input{width:100%}::ng-deep .cds--date-picker,::ng-deep .cds--date-picker-container,::ng-deep .cds--date-picker__input,::ng-deep .cds--date-picker-input__wrapper,::ng-deep .cds--date-picker-input__wrapper>span{width:100%}::ng-deep .cds--date-picker.cds--date-picker--single .cds--date-picker__input{inline-size:100%}.metadata-modal-footer{display:flex;justify-content:flex-end}.metadata-modal-footer button{width:100%}\n/*!\n * Copyright 2015-2024 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: "ngmodule", type: ButtonModule }, { kind: "directive", type: i6.Button, selector: "[cdsButton], [ibmButton]", inputs: ["ibmButton", "cdsButton", "size", "skeleton", "iconOnly", "isExpressive"] }, { kind: "ngmodule", type: InputModule }, { kind: "component", type: i6.Label, selector: "cds-label, ibm-label", inputs: ["labelInputID", "disabled", "skeleton", "helperText", "invalidText", "invalid", "warn", "warnText", "ariaLabel"] }, { kind: "component", type: i6.TextareaLabelComponent, selector: "cds-textarea-label, ibm-textarea-label", inputs: ["labelInputID", "disabled", "skeleton", "labelTemplate", "textAreaTemplate", "helperText", "invalidText", "invalid", "warn", "warnText", "ariaLabel"] }, { kind: "component", type: i6.TextInputLabelComponent, selector: "cds-text-label, ibm-text-label", inputs: ["labelInputID", "disabled", "skeleton", "labelTemplate", "textInputTemplate", "helperText", "invalidText", "invalid", "warn", "warnText", "ariaLabel"] }, { kind: "directive", type: i6.TextInput, selector: "[cdsText], [ibmText]", inputs: ["theme", "size", "invalid", "warn", "skeleton"] }, { kind: "directive", type: i6.TextArea, selector: "[cdsTextArea], [ibmTextArea]", inputs: ["theme", "invalid", "skeleton"] }, { kind: "ngmodule", type: ComboBoxModule }, { kind: "component", type: i6.ComboBox, selector: "cds-combo-box, ibm-combo-box", inputs: ["placeholder", "openMenuAria", "closeMenuAria", "clearSelectionsTitle", "clearSelectionsAria", "clearSelectionTitle", "clearSelectionAria", "id", "labelId", "items", "type", "size", "itemValueKey", "label", "hideLabel", "helperText", "appendInline", "invalid", "invalidText", "warn", "warnText", "maxLength", "theme", "selectionFeedback", "autocomplete", "dropUp", "disabled"], outputs: ["selected", "submit", "close", "search", "clear"] }, { kind: "component", type: i6.Dropdown, selector: "cds-dropdown, ibm-dropdown", inputs: ["id", "label", "hideLabel", "helperText", "placeholder", "displayValue", "clearText", "size", "type", "theme", "disabled", "skeleton", "inline", "disableArrowKeys", "invalid", "invalidText", "warn", "warnText", "appendInline", "scrollableContainer", "itemValueKey", "selectionFeedback", "menuButtonLabel", "selectedLabel", "dropUp"], outputs: ["selected", "onClose", "close"] }, { kind: "component", type: i6.DropdownList, selector: "cds-dropdown-list, ibm-dropdown-list", inputs: ["ariaLabel", "items", "listTpl", "type", "showTitles"], outputs: ["select", "scroll", "blurIntent"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }, { kind: "ngmodule", type: DatePickerModule }, { kind: "component", type: i6.DatePicker, selector: "cds-date-picker, ibm-date-picker", inputs: ["range", "dateFormat", "language", "label", "helperText", "rangeHelperText", "rangeLabel", "placeholder", "ariaLabel", "inputPattern", "id", "value", "theme", "disabled", "invalid", "invalidText", "warn", "warnText", "size", "rangeInvalid", "rangeInvalidText", "rangeWarn", "rangeWarnText", "skeleton", "plugins", "flatpickrOptions"], outputs: ["valueChange", "onClose"] }, { kind: "ngmodule", type: DropdownModule }, { kind: "ngmodule", type: IconModule }, { kind: "ngmodule", type: InputLabelModule }, { kind: "ngmodule", type: InputModule$1 }, { kind: "ngmodule", type: ModalModule }, { kind: "directive", type: i6.ModalHeaderHeading, selector: "[cdsModalHeaderHeading], [ibmModalHeaderHeading]" }, { kind: "ngmodule", type: RadioModule }, { kind: "component", type: i6.Radio, selector: "cds-radio, ibm-radio", inputs: ["checked", "name", "disabled", "labelPlacement", "ariaLabelledby", "ariaLabel", "required", "value", "skeleton", "id"], outputs: ["change"] }, { kind: "component", type: i6.RadioGroup, selector: "cds-radio-group, ibm-radio-group", inputs: ["selected", "value", "name", "disabled", "skeleton", "orientation", "labelPlacement", "legend", "ariaLabel", "ariaLabelledby", "helperText", "invalid", "invalidText", "warn", "warnText"], outputs: ["change"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "ngmodule", type: SelectModule }, { kind: "ngmodule", type: TagModule }, { kind: "ngmodule", type: TooltipModule }, { kind: "component", type: i6.Tooltip, selector: "cds-tooltip, ibm-tooltip", inputs: ["id", "enterDelayMs", "leaveDelayMs", "disabled", "description", "templateContext"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }, { kind: "ngmodule", type: VModalModule }, { kind: "component", type: i3$1.VModalComponent, selector: "v-modal", inputs: ["appearingDelayMs", "maxWidthPx", "hideFooter", "parentId"], outputs: ["closeEvent"] }, { kind: "ngmodule", type: LayerModule }, { kind: "directive", type: i6.LayerDirective, selector: "[cdsLayer], [ibmLayer]", inputs: ["ibmLayer", "cdsLayer"], exportAs: ["layer"] }] }); }
1399
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: DocumentenApiMetadataModalComponent, deps: [{ token: i1$2.ActivatedRoute }, { token: i4$1.DocumentService }, { token: DocumentenApiTagService }, { token: i1$1.FormBuilder }, { token: i5$2.KeycloakService }, { token: i3.ModalService }, { token: i5.TranslateService }, { token: i3.ValtimoModalService }, { token: DocumentenApiVersionService }, { token: i1$2.Router }], target: i0.ɵɵFactoryTarget.Component }); }
1400
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.14", type: DocumentenApiMetadataModalComponent, isStandalone: true, selector: "valtimo-documenten-api-metadata-modal", inputs: { disabled$: "disabled$", file$: "file$", hideFields: "hideFields", defaultValues: "defaultValues", disableAuthor: "disableAuthor", disableConfidentialityLevel: "disableConfidentialityLevel", disableDescription: "disableDescription", disableDocumentTitle: "disableDocumentTitle", disableDocumentType: "disableDocumentType", disableFilename: "disableFilename", disableLanguage: "disableLanguage", disableStatus: "disableStatus", supportsTrefwoorden: "supportsTrefwoorden", disableCreationDate: "disableCreationDate", isEditMode: "isEditMode", open: "open" }, outputs: { metadata: "metadata", modalClose: "modalClose" }, viewQueries: [{ propertyName: "metadataModal", first: true, predicate: ["metadataModal"], descendants: true }], ngImport: i0, template: "<!--\n ~ Copyright 2015-2025 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<v-modal\n #metadataModal\n *ngIf=\"{\n file: file$ | async,\n disabled: disabled$ | async,\n editDisabled: editDisabled$ | async,\n languageItems: languageItems$ | async,\n confidentialityLevelItems: confidentialityLevelItems$ | async,\n documentTypeItems: documentTypeItems$ | async,\n statusItems: statusItems$ | async,\n tagItems: tagItems$ | async,\n userEmail: userEmail$ | async,\n open: open$ | async,\n additionalDate: additionalDocumentDate$ | async,\n } as obs\"\n [maxWidthPx]=\"1280\"\n (closeEvent)=\"closeModal()\"\n [cdsLayer]=\"1\"\n>\n <div role=\"header\">\n @if (isEditMode) {\n <h3 cdsModalHeaderHeading>\n {{ 'document.editMetadata' | translate }}\n </h3>\n } @else {\n <h3 cdsModalHeaderHeading>\n {{ 'document.fillInMetadata' | translate }}\n </h3>\n }\n </div>\n\n <div role=\"content\">\n @if (obs.open) {\n <ng-container *ngTemplateOutlet=\"metadataForm; context: {obs: obs}\"></ng-container>\n }\n </div>\n\n <div role=\"footer\" class=\"metadata-modal-footer\">\n <button cdsButton=\"ghost\" (click)=\"closeModal()\" [disabled]=\"obs.disabled\">\n {{ 'document.cancel' | translate }}\n </button>\n\n <button\n cdsButton=\"primary\"\n type=\"submit\"\n [disabled]=\"obs.disabled || !documentenApiMetadataForm.valid || obs.editDisabled\"\n (click)=\"save()\"\n >\n {{ 'document.save' | translate }}\n </button>\n </div>\n</v-modal>\n\n<ng-template #metadataForm let-obs=\"obs\">\n <form [formGroup]=\"documentenApiMetadataForm\">\n <div class=\"documenten-metadata-form-columns-container\">\n <div class=\"documenten-metadata-form-column\">\n @if (!hideFields.includes('bestandsnaam')) {\n <cds-text-label class=\"documenten-metada-form-input\">\n {{ 'document.filename' | translate }}\n <cds-tooltip\n [isOpen]=\"false\"\n [description]=\"'document.filenameTooltip' | translate\"\n [align]=\"'bottom-left'\"\n >\n <i class=\"mdi mdi-help-circle-outline\"></i>\n </cds-tooltip>\n <input\n [value]=\"defaultValues.bestandsnaam\"\n [placeholder]=\"'document.filenamePlaceholder' | translate\"\n cdsText\n type=\"text\"\n id=\"bestandsnaam\"\n formControlName=\"bestandsnaam\"\n />\n </cds-text-label>\n }\n @if (!hideFields.includes('auteur')) {\n <cds-text-label class=\"documenten-metada-form-input\">\n {{ 'document.author' | translate }}\n <cds-tooltip\n [isOpen]=\"false\"\n [description]=\"'document.authorTooltip' | translate\"\n [align]=\"'bottom-left'\"\n >\n <i class=\"mdi mdi-help-circle-outline\"></i>\n </cds-tooltip>\n <input\n [value]=\"defaultValues.auteur\"\n [placeholder]=\"'document.authorPlaceholder' | translate\"\n [required]=\"true\"\n cdsText\n id=\"auteur\"\n formControlName=\"auteur\"\n />\n </cds-text-label>\n }\n @if (!hideFields.includes('taal')) {\n <cds-text-label>\n {{ 'document.language' | translate }}\n <cds-tooltip\n [isOpen]=\"false\"\n [description]=\"'document.languageTooltip' | translate\"\n [align]=\"'bottom-left'\"\n >\n <i class=\"mdi mdi-help-circle-outline\"></i>\n </cds-tooltip>\n </cds-text-label>\n <div class=\"documenten-metada-form-input\">\n <cds-dropdown\n [disabled]=\"obs.disabled || (languageDisabled$ | async)\"\n [appendInline]=\"true\"\n [placeholder]=\"'document.languagePlaceholder' | translate\"\n id=\"language\"\n (selected)=\"languageSelected($event)\"\n >\n <cds-dropdown-list [items]=\"obs.languageItems || []\"></cds-dropdown-list>\n </cds-dropdown>\n </div>\n }\n @if (!hideFields.includes('vertrouwelijkheidaanduiding')) {\n <cds-label>\n {{ 'document.confidentialityLevel' | translate }}\n <cds-tooltip\n [isOpen]=\"false\"\n [description]=\"'document.confidentialityLevelTooltip' | translate\"\n [align]=\"'bottom-left'\"\n >\n <i class=\"mdi mdi-help-circle-outline\"></i>\n </cds-tooltip>\n </cds-label>\n <div class=\"documenten-metada-form-input\">\n <cds-combo-box\n [placeholder]=\"'document.confidentialityPlaceholder' | translate\"\n id=\"vertrouwelijkheidaanduiding\"\n [appendInline]=\"true\"\n [disabled]=\"obs.disabled || (confidentialityLevelDisabled$ | async)\"\n (selected)=\"confidentialityLevelSelected($event)\"\n (clear)=\"confidentialityLevelFormControl.setValue(null)\"\n >\n <cds-dropdown-list [items]=\"obs.confidentialityLevelItems || []\"></cds-dropdown-list>\n </cds-combo-box>\n </div>\n }\n @if (!hideFields.includes('informatieobjecttype')) {\n <cds-label>\n {{ 'document.informatieobjecttype' | translate }}\n <cds-tooltip\n [isOpen]=\"false\"\n [description]=\"'document.informatieobjecttypeTooltip' | translate\"\n [align]=\"'bottom-left'\"\n >\n <i class=\"mdi mdi-help-circle-outline\"></i>\n </cds-tooltip>\n </cds-label>\n <div class=\"documenten-metada-form-input\">\n <cds-dropdown\n [placeholder]=\"'document.informatieobjecttypePlaceholder' | translate\"\n [disabled]=\"obs.disabled || (informatieobjecttypeDisabled$ | async)\"\n id=\"informatieobjecttype\"\n [appendInline]=\"true\"\n (selected)=\"informatieobjecttypeSelected($event)\"\n >\n <cds-dropdown-list [items]=\"obs.documentTypeItems || []\"></cds-dropdown-list>\n </cds-dropdown>\n </div>\n }\n @if (!hideFields.includes('aanvullendeDatum')) {\n <cds-text-label name=\"'additionalDate'\">\n {{ 'document.additionalDate' | translate }}\n <cds-tooltip\n [isOpen]=\"false\"\n [description]=\"'document.additionalDateTooltip' | translate\"\n [align]=\"'bottom-left'\"\n >\n <i class=\"mdi mdi-help-circle-outline\"></i>\n </cds-tooltip>\n </cds-text-label>\n <cds-radio-group [orientation]=\"'horizontal'\" class=\"documenten-metada-form-input\">\n <cds-radio\n *ngFor=\"let option of ADDITONAL_DOCUMENT_DATE_OPTIONS\"\n [value]=\"option.value\"\n [checked]=\"obs.additionalDate === option.value\"\n [required]=\"true\"\n (click)=\"setAdditionalDate(option.value)\"\n name=\"radio-inline\"\n >\n {{ option.translationKey | translate }}\n </cds-radio>\n </cds-radio-group>\n }\n @if (supportsTrefwoorden && !hideFields.includes('trefwoorden')) {\n <cds-text-label>\n {{ 'document.tags' | translate }}\n <cds-tooltip\n [isOpen]=\"false\"\n [description]=\"'document.tagsTooltip' | translate\"\n [align]=\"'bottom-left'\"\n >\n <i class=\"mdi mdi-help-circle-outline\"></i>\n </cds-tooltip>\n </cds-text-label>\n <div class=\"documenten-metada-form-input\">\n <cds-combo-box\n [type]=\"'multi'\"\n [placeholder]=\"'document.tagsPlaceholder' | translate\"\n [disabled]=\"obs.disabled || obs.tagItems?.length === 0\"\n [appendInline]=\"true\"\n (selected)=\"tagsSelected($event)\"\n >\n >\n <cds-dropdown-list [items]=\"obs.tagItems || []\"></cds-dropdown-list>\n </cds-combo-box>\n </div>\n }\n </div>\n\n <div class=\"documenten-metadata-form-column\">\n @if (!hideFields.includes('titel')) {\n <cds-text-label>\n {{ 'document.inputTitle' | translate }}\n <input\n [placeholder]=\"'document.inputTitlePlaceholder' | translate\"\n [required]=\"true\"\n cdsText\n class=\"documenten-metada-form-input\"\n id=\"titel\"\n formControlName=\"titel\"\n />\n <cds-tooltip\n [isOpen]=\"false\"\n [description]=\"'document.inputTitleTooltip' | translate\"\n [align]=\"'bottom'\"\n >\n <i class=\"mdi mdi-help-circle-outline\"></i>\n </cds-tooltip>\n </cds-text-label>\n }\n @if (!hideFields.includes('beschrijving')) {\n <cds-textarea-label>\n {{ 'document.inputDescription' | translate }}\n <textarea\n [placeholder]=\"'document.inputDescriptionPlaceholder' | translate\"\n [required]=\"false\"\n [rows]=\"5\"\n cdsTextArea\n class=\"documenten-metada-form-description-input documenten-metada-form-input\"\n id=\"beschrijving\"\n formControlName=\"beschrijving\"\n ></textarea>\n <cds-tooltip\n [isOpen]=\"false\"\n [description]=\"'document.inputDescriptionTooltip' | translate\"\n [align]=\"'bottom'\"\n >\n <i class=\"mdi mdi-help-circle-outline\"></i>\n </cds-tooltip>\n </cds-textarea-label>\n }\n @if (!hideFields.includes('creatiedatum')) {\n <cds-label>\n {{ 'document.creationDate' | translate }}\n <cds-tooltip\n [isOpen]=\"false\"\n [description]=\"'document.creationDateTooltip' | translate\"\n [align]=\"'bottom'\"\n >\n <i class=\"mdi mdi-help-circle-outline\"></i>\n </cds-tooltip>\n <div class=\"documenten-metada-form-input\">\n <cds-date-picker\n [placeholder]=\"'DD-MM-YYYY'\"\n [dateFormat]=\"'d-m-Y'\"\n id=\"creatiedatum\"\n formControlName=\"creatiedatum\"\n >\n </cds-date-picker>\n </div>\n </cds-label>\n }\n @if (!hideFields.includes('status')) {\n <cds-label>\n {{ 'document.status' | translate }}\n <cds-tooltip\n [isOpen]=\"false\"\n [description]=\"'document.statusTooltip' | translate\"\n [align]=\"'bottom'\"\n >\n <i class=\"mdi mdi-help-circle-outline\"></i>\n </cds-tooltip>\n </cds-label>\n <div class=\"documenten-metada-form-input\">\n <cds-combo-box\n [placeholder]=\"'document.statusPlaceholder' | translate\"\n [disabled]=\"obs.disabled || (statusDisabled$ | async)\"\n id=\"status\"\n [appendInline]=\"true\"\n (selected)=\"statusSelected($event)\"\n (clear)=\"statusFormControl.setValue(null)\"\n >\n <cds-dropdown-list [items]=\"obs.statusItems || []\"></cds-dropdown-list>\n </cds-combo-box>\n </div>\n }\n @if (!hideFields.includes('aanvullendeDatum')) {\n <cds-date-picker\n *ngIf=\"obs.additionalDate === 'received'\"\n [label]=\"'document.additionalDate' | translate\"\n [placeholder]=\"'DD-MM-YYYY'\"\n [dateFormat]=\"'d-m-Y'\"\n id=\"ontvangstdatum\"\n formControlName=\"ontvangstdatum\"\n ></cds-date-picker>\n <cds-date-picker\n *ngIf=\"obs.additionalDate === 'sent'\"\n [label]=\"'document.additionalDate' | translate\"\n [placeholder]=\"'DD-MM-YYYY'\"\n [dateFormat]=\"'d-m-Y'\"\n id=\"verzenddatum\"\n formControlName=\"verzenddatum\"\n ></cds-date-picker>\n }\n </div>\n </div>\n </form>\n</ng-template>\n", styles: [".documenten-metadata-form-columns-container{display:flex;justify-content:space-between}.documenten-metadata-form-column{flex:1;margin-right:1rem}.documenten-metada-form-input{margin-bottom:18px!important;width:100%!important}.documenten-metada-form-description-input{width:100%}::ng-deep .cds--date-picker,::ng-deep .cds--date-picker-container,::ng-deep .cds--date-picker__input,::ng-deep .cds--date-picker-input__wrapper,::ng-deep .cds--date-picker-input__wrapper>span{width:100%}::ng-deep .cds--date-picker.cds--date-picker--single .cds--date-picker__input{inline-size:100%}.metadata-modal-footer{display:flex;justify-content:flex-end}.metadata-modal-footer button{width:100%}\n/*!\n * Copyright 2015-2025 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: "ngmodule", type: ButtonModule }, { kind: "directive", type: i5$1.Button, selector: "[cdsButton], [ibmButton]", inputs: ["ibmButton", "cdsButton", "size", "skeleton", "iconOnly", "isExpressive"] }, { kind: "ngmodule", type: InputModule }, { kind: "component", type: i5$1.Label, selector: "cds-label, ibm-label", inputs: ["labelInputID", "disabled", "skeleton", "helperText", "invalidText", "invalid", "warn", "warnText", "ariaLabel"] }, { kind: "component", type: i5$1.TextareaLabelComponent, selector: "cds-textarea-label, ibm-textarea-label", inputs: ["labelInputID", "disabled", "skeleton", "labelTemplate", "textAreaTemplate", "helperText", "invalidText", "invalid", "warn", "warnText", "ariaLabel", "fluid"] }, { kind: "component", type: i5$1.TextInputLabelComponent, selector: "cds-text-label, ibm-text-label", inputs: ["labelInputID", "disabled", "skeleton", "labelTemplate", "textInputTemplate", "helperText", "invalidText", "invalid", "warn", "warnText", "ariaLabel", "fluid"] }, { kind: "directive", type: i5$1.TextInput, selector: "[cdsText], [ibmText]", inputs: ["theme", "size", "invalid", "warn", "skeleton"] }, { kind: "directive", type: i5$1.TextArea, selector: "[cdsTextArea], [ibmTextArea]", inputs: ["theme", "invalid", "skeleton"] }, { kind: "ngmodule", type: ComboBoxModule }, { kind: "component", type: i5$1.ComboBox, selector: "cds-combo-box, ibm-combo-box", inputs: ["placeholder", "openMenuAria", "closeMenuAria", "clearSelectionsTitle", "clearSelectionsAria", "clearSelectionTitle", "clearSelectionAria", "id", "labelId", "items", "type", "size", "itemValueKey", "label", "hideLabel", "helperText", "appendInline", "invalid", "invalidText", "warn", "warnText", "maxLength", "theme", "selectionFeedback", "autocomplete", "dropUp", "disabled", "readonly", "fluid"], outputs: ["selected", "submit", "close", "search", "clear"] }, { kind: "component", type: i5$1.Dropdown, selector: "cds-dropdown, ibm-dropdown", inputs: ["id", "label", "hideLabel", "helperText", "placeholder", "displayValue", "clearText", "size", "type", "theme", "disabled", "readonly", "skeleton", "inline", "disableArrowKeys", "invalid", "invalidText", "warn", "warnText", "appendInline", "scrollableContainer", "itemValueKey", "selectionFeedback", "menuButtonLabel", "selectedLabel", "dropUp", "fluid"], outputs: ["selected", "onClose", "close"] }, { kind: "component", type: i5$1.DropdownList, selector: "cds-dropdown-list, ibm-dropdown-list", inputs: ["ariaLabel", "items", "listTpl", "type", "showTitles"], outputs: ["select", "scroll", "blurIntent"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }, { kind: "ngmodule", type: DatePickerModule }, { kind: "component", type: i5$1.DatePicker, selector: "cds-date-picker, ibm-date-picker", inputs: ["range", "dateFormat", "language", "label", "helperText", "rangeHelperText", "rangeLabel", "placeholder", "ariaLabel", "inputPattern", "id", "value", "theme", "disabled", "readonly", "invalid", "invalidText", "warn", "warnText", "size", "rangeInvalid", "rangeInvalidText", "rangeWarn", "rangeWarnText", "skeleton", "plugins", "flatpickrOptions"], outputs: ["valueChange", "onClose"] }, { kind: "ngmodule", type: DropdownModule }, { kind: "ngmodule", type: IconModule }, { kind: "ngmodule", type: InputLabelModule }, { kind: "ngmodule", type: InputModule$1 }, { kind: "ngmodule", type: ModalModule }, { kind: "directive", type: i5$1.ModalHeaderHeading, selector: "[cdsModalHeaderHeading], [ibmModalHeaderHeading]" }, { kind: "ngmodule", type: RadioModule }, { kind: "component", type: i5$1.Radio, selector: "cds-radio, ibm-radio", inputs: ["checked", "name", "disabled", "labelPlacement", "ariaLabelledby", "ariaLabel", "required", "value", "skeleton", "id"], outputs: ["change"] }, { kind: "component", type: i5$1.RadioGroup, selector: "cds-radio-group, ibm-radio-group", inputs: ["selected", "value", "name", "disabled", "skeleton", "orientation", "labelPlacement", "legend", "ariaLabel", "ariaLabelledby", "helperText", "invalid", "invalidText", "warn", "warnText"], outputs: ["change"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "ngmodule", type: SelectModule }, { kind: "ngmodule", type: TagModule }, { kind: "ngmodule", type: TooltipModule }, { kind: "component", type: i5$1.Tooltip, selector: "cds-tooltip, ibm-tooltip", inputs: ["id", "enterDelayMs", "leaveDelayMs", "disabled", "description", "templateContext"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i5.TranslatePipe, name: "translate" }, { kind: "ngmodule", type: VModalModule }, { kind: "component", type: i3.VModalComponent, selector: "v-modal", inputs: ["appearingDelayMs", "maxWidthPx", "hideFooter", "parentId"], outputs: ["closeEvent"] }, { kind: "ngmodule", type: LayerModule }, { kind: "directive", type: i5$1.LayerDirective, selector: "[cdsLayer], [ibmLayer]", inputs: ["ibmLayer", "cdsLayer"], exportAs: ["layer"] }] }); }
1373
1401
  }
1374
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DocumentenApiMetadataModalComponent, decorators: [{
1402
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: DocumentenApiMetadataModalComponent, decorators: [{
1375
1403
  type: Component,
1376
1404
  args: [{ selector: 'valtimo-documenten-api-metadata-modal', standalone: true, imports: [
1377
1405
  ButtonModule,
@@ -1392,8 +1420,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
1392
1420
  TranslateModule,
1393
1421
  VModalModule,
1394
1422
  LayerModule,
1395
- ], template: "<!--\n ~ Copyright 2015-2024 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<v-modal\n #metadataModal\n *ngIf=\"{\n file: file$ | async,\n disabled: disabled$ | async,\n editDisabled: editDisabled$ | async,\n languageItems: languageItems$ | async,\n confidentialityLevelItems: confidentialityLevelItems$ | async,\n documentTypeItems: documentTypeItems$ | async,\n statusItems: statusItems$ | async,\n tagItems: tagItems$ | async,\n userEmail: userEmail$ | async,\n open: open$ | async,\n additionalDate: additionalDocumentDate$ | async,\n } as obs\"\n [maxWidthPx]=\"1280\"\n (closeEvent)=\"closeModal()\"\n [cdsLayer]=\"1\"\n>\n <div role=\"header\">\n @if (isEditMode) {\n <h3 cdsModalHeaderHeading>\n {{ 'document.editMetadata' | translate }}\n </h3>\n } @else {\n <h3 cdsModalHeaderHeading>\n {{ 'document.fillInMetadata' | translate }}\n </h3>\n }\n </div>\n\n <div role=\"content\">\n @if (obs.open) {\n <ng-container *ngTemplateOutlet=\"metadataForm; context: {obs: obs}\"></ng-container>\n }\n </div>\n\n <div role=\"footer\" class=\"metadata-modal-footer\">\n <button cdsButton=\"ghost\" (click)=\"closeModal()\" [disabled]=\"obs.disabled\">\n {{ 'document.cancel' | translate }}\n </button>\n\n <button\n cdsButton=\"primary\"\n type=\"submit\"\n [disabled]=\"obs.disabled || !documentenApiMetadataForm.valid || obs.editDisabled\"\n (click)=\"save()\"\n >\n {{ 'document.save' | translate }}\n </button>\n </div>\n</v-modal>\n\n<ng-template #metadataForm let-obs=\"obs\">\n <form [formGroup]=\"documentenApiMetadataForm\">\n <div class=\"documenten-metadata-form-columns-container\">\n <div class=\"documenten-metadata-form-column\">\n @if (!hideFields.includes('bestandsnaam')) {\n <cds-text-label class=\"documenten-metada-form-input\">\n {{ 'document.filename' | translate }}\n <cds-tooltip\n [isOpen]=\"false\"\n [description]=\"'document.filenameTooltip' | translate\"\n [align]=\"'bottom-left'\"\n >\n <i class=\"mdi mdi-help-circle-outline\"></i>\n </cds-tooltip>\n <input\n [value]=\"defaultValues.bestandsnaam\"\n [placeholder]=\"'document.filenamePlaceholder' | translate\"\n cdsText\n type=\"text\"\n id=\"bestandsnaam\"\n formControlName=\"bestandsnaam\"\n />\n </cds-text-label>\n }\n @if (!hideFields.includes('auteur')) {\n <cds-text-label class=\"documenten-metada-form-input\">\n {{ 'document.author' | translate }}\n <cds-tooltip\n [isOpen]=\"false\"\n [description]=\"'document.authorTooltip' | translate\"\n [align]=\"'bottom-left'\"\n >\n <i class=\"mdi mdi-help-circle-outline\"></i>\n </cds-tooltip>\n <input\n [value]=\"defaultValues.auteur\"\n [placeholder]=\"'document.authorPlaceholder' | translate\"\n [required]=\"true\"\n cdsText\n id=\"auteur\"\n formControlName=\"auteur\"\n />\n </cds-text-label>\n }\n @if (!hideFields.includes('taal')) {\n <cds-text-label>\n {{ 'document.language' | translate }}\n <cds-tooltip\n [isOpen]=\"false\"\n [description]=\"'document.languageTooltip' | translate\"\n [align]=\"'bottom-left'\"\n >\n <i class=\"mdi mdi-help-circle-outline\"></i>\n </cds-tooltip>\n </cds-text-label>\n <div class=\"documenten-metada-form-input\">\n <cds-dropdown\n [disabled]=\"obs.disabled || (languageDisabled$ | async)\"\n [appendInline]=\"true\"\n [placeholder]=\"'document.languagePlaceholder' | translate\"\n id=\"language\"\n (selected)=\"languageSelected($event)\"\n >\n <cds-dropdown-list [items]=\"obs.languageItems || []\"></cds-dropdown-list>\n </cds-dropdown>\n </div>\n }\n @if (!hideFields.includes('vertrouwelijkheidaanduiding')) {\n <cds-label>\n {{ 'document.confidentialityLevel' | translate }}\n <cds-tooltip\n [isOpen]=\"false\"\n [description]=\"'document.confidentialityLevelTooltip' | translate\"\n [align]=\"'bottom-left'\"\n >\n <i class=\"mdi mdi-help-circle-outline\"></i>\n </cds-tooltip>\n </cds-label>\n <div class=\"documenten-metada-form-input\">\n <cds-combo-box\n [placeholder]=\"'document.confidentialityPlaceholder' | translate\"\n id=\"vertrouwelijkheidaanduiding\"\n [appendInline]=\"true\"\n [disabled]=\"obs.disabled || (confidentialityLevelDisabled$ | async)\"\n (selected)=\"confidentialityLevelSelected($event)\"\n (clear)=\"confidentialityLevelFormControl.setValue(null)\"\n >\n <cds-dropdown-list [items]=\"obs.confidentialityLevelItems || []\"></cds-dropdown-list>\n </cds-combo-box>\n </div>\n }\n @if (!hideFields.includes('informatieobjecttype')) {\n <cds-label>\n {{ 'document.informatieobjecttype' | translate }}\n <cds-tooltip\n [isOpen]=\"false\"\n [description]=\"'document.informatieobjecttypeTooltip' | translate\"\n [align]=\"'bottom-left'\"\n >\n <i class=\"mdi mdi-help-circle-outline\"></i>\n </cds-tooltip>\n </cds-label>\n <div class=\"documenten-metada-form-input\">\n <cds-dropdown\n [placeholder]=\"'document.informatieobjecttypePlaceholder' | translate\"\n [disabled]=\"obs.disabled || (informatieobjecttypeDisabled$ | async)\"\n id=\"informatieobjecttype\"\n [appendInline]=\"true\"\n (selected)=\"informatieobjecttypeSelected($event)\"\n >\n <cds-dropdown-list [items]=\"obs.documentTypeItems || []\"></cds-dropdown-list>\n </cds-dropdown>\n </div>\n }\n @if (!hideFields.includes('aanvullendeDatum')) {\n <cds-text-label name=\"'additionalDate'\">\n {{ 'document.additionalDate' | translate }}\n <cds-tooltip\n [isOpen]=\"false\"\n [description]=\"'document.additionalDateTooltip' | translate\"\n [align]=\"'bottom-left'\"\n >\n <i class=\"mdi mdi-help-circle-outline\"></i>\n </cds-tooltip>\n </cds-text-label>\n <cds-radio-group [orientation]=\"'horizontal'\" class=\"documenten-metada-form-input\">\n <cds-radio\n *ngFor=\"let option of ADDITONAL_DOCUMENT_DATE_OPTIONS\"\n [value]=\"option.value\"\n [checked]=\"obs.additionalDate === option.value\"\n [required]=\"true\"\n (click)=\"setAdditionalDate(option.value)\"\n name=\"radio-inline\"\n >\n {{ option.translationKey | translate }}\n </cds-radio>\n </cds-radio-group>\n }\n @if (supportsTrefwoorden && !hideFields.includes('trefwoorden')) {\n <cds-text-label>\n {{ 'document.tags' | translate }}\n <cds-tooltip\n [isOpen]=\"false\"\n [description]=\"'document.tagsTooltip' | translate\"\n [align]=\"'bottom-left'\"\n >\n <i class=\"mdi mdi-help-circle-outline\"></i>\n </cds-tooltip>\n </cds-text-label>\n <div class=\"documenten-metada-form-input\">\n <cds-combo-box\n [type]=\"'multi'\"\n [placeholder]=\"'document.tagsPlaceholder' | translate\"\n [disabled]=\"obs.disabled || obs.tagItems?.length === 0\"\n [appendInline]=\"true\"\n (selected)=\"tagsSelected($event)\"\n >\n >\n <cds-dropdown-list [items]=\"obs.tagItems || []\"></cds-dropdown-list>\n </cds-combo-box>\n </div>\n }\n </div>\n\n <div class=\"documenten-metadata-form-column\">\n @if (!hideFields.includes('titel')) {\n <cds-text-label>\n {{ 'document.inputTitle' | translate }}\n <input\n [placeholder]=\"'document.inputTitlePlaceholder' | translate\"\n [required]=\"true\"\n cdsText\n class=\"documenten-metada-form-input\"\n id=\"titel\"\n formControlName=\"titel\"\n />\n <cds-tooltip\n [isOpen]=\"false\"\n [description]=\"'document.inputTitleTooltip' | translate\"\n [align]=\"'bottom'\"\n >\n <i class=\"mdi mdi-help-circle-outline\"></i>\n </cds-tooltip>\n </cds-text-label>\n }\n @if (!hideFields.includes('beschrijving')) {\n <cds-textarea-label>\n {{ 'document.inputDescription' | translate }}\n <textarea\n [placeholder]=\"'document.inputDescriptionPlaceholder' | translate\"\n [required]=\"false\"\n [rows]=\"5\"\n cdsTextArea\n class=\"documenten-metada-form-description-input documenten-metada-form-input\"\n id=\"beschrijving\"\n formControlName=\"beschrijving\"\n ></textarea>\n <cds-tooltip\n [isOpen]=\"false\"\n [description]=\"'document.inputDescriptionTooltip' | translate\"\n [align]=\"'bottom'\"\n >\n <i class=\"mdi mdi-help-circle-outline\"></i>\n </cds-tooltip>\n </cds-textarea-label>\n }\n @if (!hideFields.includes('creatiedatum')) {\n <cds-label>\n {{ 'document.creationDate' | translate }}\n <cds-tooltip\n [isOpen]=\"false\"\n [description]=\"'document.creationDateTooltip' | translate\"\n [align]=\"'bottom'\"\n >\n <i class=\"mdi mdi-help-circle-outline\"></i>\n </cds-tooltip>\n <div class=\"documenten-metada-form-input\">\n <cds-date-picker\n [placeholder]=\"'DD-MM-YYYY'\"\n [dateFormat]=\"'d-m-Y'\"\n id=\"creatiedatum\"\n formControlName=\"creatiedatum\"\n >\n </cds-date-picker>\n </div>\n </cds-label>\n }\n @if (!hideFields.includes('status')) {\n <cds-label>\n {{ 'document.status' | translate }}\n <cds-tooltip\n [isOpen]=\"false\"\n [description]=\"'document.statusTooltip' | translate\"\n [align]=\"'bottom'\"\n >\n <i class=\"mdi mdi-help-circle-outline\"></i>\n </cds-tooltip>\n </cds-label>\n <div class=\"documenten-metada-form-input\">\n <cds-combo-box\n [placeholder]=\"'document.statusPlaceholder' | translate\"\n [disabled]=\"obs.disabled || (statusDisabled$ | async)\"\n id=\"status\"\n [appendInline]=\"true\"\n (selected)=\"statusSelected($event)\"\n (clear)=\"statusFormControl.setValue(null)\"\n >\n <cds-dropdown-list [items]=\"obs.statusItems || []\"></cds-dropdown-list>\n </cds-combo-box>\n </div>\n }\n @if (!hideFields.includes('aanvullendeDatum')) {\n <cds-date-picker\n *ngIf=\"obs.additionalDate === 'received'\"\n [label]=\"'document.additionalDate' | translate\"\n [placeholder]=\"'DD-MM-YYYY'\"\n [dateFormat]=\"'d-m-Y'\"\n id=\"ontvangstdatum\"\n formControlName=\"ontvangstdatum\"\n ></cds-date-picker>\n <cds-date-picker\n *ngIf=\"obs.additionalDate === 'sent'\"\n [label]=\"'document.additionalDate' | translate\"\n [placeholder]=\"'DD-MM-YYYY'\"\n [dateFormat]=\"'d-m-Y'\"\n id=\"verzenddatum\"\n formControlName=\"verzenddatum\"\n ></cds-date-picker>\n }\n </div>\n </div>\n </form>\n</ng-template>\n", styles: [".documenten-metadata-form-columns-container{display:flex;justify-content:space-between}.documenten-metadata-form-column{flex:1;margin-right:1rem}.documenten-metada-form-input{margin-bottom:18px!important;width:100%!important}.documenten-metada-form-description-input{width:100%}::ng-deep .cds--date-picker,::ng-deep .cds--date-picker-container,::ng-deep .cds--date-picker__input,::ng-deep .cds--date-picker-input__wrapper,::ng-deep .cds--date-picker-input__wrapper>span{width:100%}::ng-deep .cds--date-picker.cds--date-picker--single .cds--date-picker__input{inline-size:100%}.metadata-modal-footer{display:flex;justify-content:flex-end}.metadata-modal-footer button{width:100%}\n/*!\n * Copyright 2015-2024 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"] }]
1396
- }], ctorParameters: () => [{ type: i1$2.ActivatedRoute }, { type: i1$3.DocumentService }, { type: DocumentenApiTagService }, { type: i1$1.FormBuilder }, { type: i5.KeycloakService }, { type: i3$1.ModalService }, { type: i3.TranslateService }, { type: i3$1.ValtimoModalService }, { type: DocumentenApiVersionService }], propDecorators: { metadataModal: [{
1423
+ ], template: "<!--\n ~ Copyright 2015-2025 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<v-modal\n #metadataModal\n *ngIf=\"{\n file: file$ | async,\n disabled: disabled$ | async,\n editDisabled: editDisabled$ | async,\n languageItems: languageItems$ | async,\n confidentialityLevelItems: confidentialityLevelItems$ | async,\n documentTypeItems: documentTypeItems$ | async,\n statusItems: statusItems$ | async,\n tagItems: tagItems$ | async,\n userEmail: userEmail$ | async,\n open: open$ | async,\n additionalDate: additionalDocumentDate$ | async,\n } as obs\"\n [maxWidthPx]=\"1280\"\n (closeEvent)=\"closeModal()\"\n [cdsLayer]=\"1\"\n>\n <div role=\"header\">\n @if (isEditMode) {\n <h3 cdsModalHeaderHeading>\n {{ 'document.editMetadata' | translate }}\n </h3>\n } @else {\n <h3 cdsModalHeaderHeading>\n {{ 'document.fillInMetadata' | translate }}\n </h3>\n }\n </div>\n\n <div role=\"content\">\n @if (obs.open) {\n <ng-container *ngTemplateOutlet=\"metadataForm; context: {obs: obs}\"></ng-container>\n }\n </div>\n\n <div role=\"footer\" class=\"metadata-modal-footer\">\n <button cdsButton=\"ghost\" (click)=\"closeModal()\" [disabled]=\"obs.disabled\">\n {{ 'document.cancel' | translate }}\n </button>\n\n <button\n cdsButton=\"primary\"\n type=\"submit\"\n [disabled]=\"obs.disabled || !documentenApiMetadataForm.valid || obs.editDisabled\"\n (click)=\"save()\"\n >\n {{ 'document.save' | translate }}\n </button>\n </div>\n</v-modal>\n\n<ng-template #metadataForm let-obs=\"obs\">\n <form [formGroup]=\"documentenApiMetadataForm\">\n <div class=\"documenten-metadata-form-columns-container\">\n <div class=\"documenten-metadata-form-column\">\n @if (!hideFields.includes('bestandsnaam')) {\n <cds-text-label class=\"documenten-metada-form-input\">\n {{ 'document.filename' | translate }}\n <cds-tooltip\n [isOpen]=\"false\"\n [description]=\"'document.filenameTooltip' | translate\"\n [align]=\"'bottom-left'\"\n >\n <i class=\"mdi mdi-help-circle-outline\"></i>\n </cds-tooltip>\n <input\n [value]=\"defaultValues.bestandsnaam\"\n [placeholder]=\"'document.filenamePlaceholder' | translate\"\n cdsText\n type=\"text\"\n id=\"bestandsnaam\"\n formControlName=\"bestandsnaam\"\n />\n </cds-text-label>\n }\n @if (!hideFields.includes('auteur')) {\n <cds-text-label class=\"documenten-metada-form-input\">\n {{ 'document.author' | translate }}\n <cds-tooltip\n [isOpen]=\"false\"\n [description]=\"'document.authorTooltip' | translate\"\n [align]=\"'bottom-left'\"\n >\n <i class=\"mdi mdi-help-circle-outline\"></i>\n </cds-tooltip>\n <input\n [value]=\"defaultValues.auteur\"\n [placeholder]=\"'document.authorPlaceholder' | translate\"\n [required]=\"true\"\n cdsText\n id=\"auteur\"\n formControlName=\"auteur\"\n />\n </cds-text-label>\n }\n @if (!hideFields.includes('taal')) {\n <cds-text-label>\n {{ 'document.language' | translate }}\n <cds-tooltip\n [isOpen]=\"false\"\n [description]=\"'document.languageTooltip' | translate\"\n [align]=\"'bottom-left'\"\n >\n <i class=\"mdi mdi-help-circle-outline\"></i>\n </cds-tooltip>\n </cds-text-label>\n <div class=\"documenten-metada-form-input\">\n <cds-dropdown\n [disabled]=\"obs.disabled || (languageDisabled$ | async)\"\n [appendInline]=\"true\"\n [placeholder]=\"'document.languagePlaceholder' | translate\"\n id=\"language\"\n (selected)=\"languageSelected($event)\"\n >\n <cds-dropdown-list [items]=\"obs.languageItems || []\"></cds-dropdown-list>\n </cds-dropdown>\n </div>\n }\n @if (!hideFields.includes('vertrouwelijkheidaanduiding')) {\n <cds-label>\n {{ 'document.confidentialityLevel' | translate }}\n <cds-tooltip\n [isOpen]=\"false\"\n [description]=\"'document.confidentialityLevelTooltip' | translate\"\n [align]=\"'bottom-left'\"\n >\n <i class=\"mdi mdi-help-circle-outline\"></i>\n </cds-tooltip>\n </cds-label>\n <div class=\"documenten-metada-form-input\">\n <cds-combo-box\n [placeholder]=\"'document.confidentialityPlaceholder' | translate\"\n id=\"vertrouwelijkheidaanduiding\"\n [appendInline]=\"true\"\n [disabled]=\"obs.disabled || (confidentialityLevelDisabled$ | async)\"\n (selected)=\"confidentialityLevelSelected($event)\"\n (clear)=\"confidentialityLevelFormControl.setValue(null)\"\n >\n <cds-dropdown-list [items]=\"obs.confidentialityLevelItems || []\"></cds-dropdown-list>\n </cds-combo-box>\n </div>\n }\n @if (!hideFields.includes('informatieobjecttype')) {\n <cds-label>\n {{ 'document.informatieobjecttype' | translate }}\n <cds-tooltip\n [isOpen]=\"false\"\n [description]=\"'document.informatieobjecttypeTooltip' | translate\"\n [align]=\"'bottom-left'\"\n >\n <i class=\"mdi mdi-help-circle-outline\"></i>\n </cds-tooltip>\n </cds-label>\n <div class=\"documenten-metada-form-input\">\n <cds-dropdown\n [placeholder]=\"'document.informatieobjecttypePlaceholder' | translate\"\n [disabled]=\"obs.disabled || (informatieobjecttypeDisabled$ | async)\"\n id=\"informatieobjecttype\"\n [appendInline]=\"true\"\n (selected)=\"informatieobjecttypeSelected($event)\"\n >\n <cds-dropdown-list [items]=\"obs.documentTypeItems || []\"></cds-dropdown-list>\n </cds-dropdown>\n </div>\n }\n @if (!hideFields.includes('aanvullendeDatum')) {\n <cds-text-label name=\"'additionalDate'\">\n {{ 'document.additionalDate' | translate }}\n <cds-tooltip\n [isOpen]=\"false\"\n [description]=\"'document.additionalDateTooltip' | translate\"\n [align]=\"'bottom-left'\"\n >\n <i class=\"mdi mdi-help-circle-outline\"></i>\n </cds-tooltip>\n </cds-text-label>\n <cds-radio-group [orientation]=\"'horizontal'\" class=\"documenten-metada-form-input\">\n <cds-radio\n *ngFor=\"let option of ADDITONAL_DOCUMENT_DATE_OPTIONS\"\n [value]=\"option.value\"\n [checked]=\"obs.additionalDate === option.value\"\n [required]=\"true\"\n (click)=\"setAdditionalDate(option.value)\"\n name=\"radio-inline\"\n >\n {{ option.translationKey | translate }}\n </cds-radio>\n </cds-radio-group>\n }\n @if (supportsTrefwoorden && !hideFields.includes('trefwoorden')) {\n <cds-text-label>\n {{ 'document.tags' | translate }}\n <cds-tooltip\n [isOpen]=\"false\"\n [description]=\"'document.tagsTooltip' | translate\"\n [align]=\"'bottom-left'\"\n >\n <i class=\"mdi mdi-help-circle-outline\"></i>\n </cds-tooltip>\n </cds-text-label>\n <div class=\"documenten-metada-form-input\">\n <cds-combo-box\n [type]=\"'multi'\"\n [placeholder]=\"'document.tagsPlaceholder' | translate\"\n [disabled]=\"obs.disabled || obs.tagItems?.length === 0\"\n [appendInline]=\"true\"\n (selected)=\"tagsSelected($event)\"\n >\n >\n <cds-dropdown-list [items]=\"obs.tagItems || []\"></cds-dropdown-list>\n </cds-combo-box>\n </div>\n }\n </div>\n\n <div class=\"documenten-metadata-form-column\">\n @if (!hideFields.includes('titel')) {\n <cds-text-label>\n {{ 'document.inputTitle' | translate }}\n <input\n [placeholder]=\"'document.inputTitlePlaceholder' | translate\"\n [required]=\"true\"\n cdsText\n class=\"documenten-metada-form-input\"\n id=\"titel\"\n formControlName=\"titel\"\n />\n <cds-tooltip\n [isOpen]=\"false\"\n [description]=\"'document.inputTitleTooltip' | translate\"\n [align]=\"'bottom'\"\n >\n <i class=\"mdi mdi-help-circle-outline\"></i>\n </cds-tooltip>\n </cds-text-label>\n }\n @if (!hideFields.includes('beschrijving')) {\n <cds-textarea-label>\n {{ 'document.inputDescription' | translate }}\n <textarea\n [placeholder]=\"'document.inputDescriptionPlaceholder' | translate\"\n [required]=\"false\"\n [rows]=\"5\"\n cdsTextArea\n class=\"documenten-metada-form-description-input documenten-metada-form-input\"\n id=\"beschrijving\"\n formControlName=\"beschrijving\"\n ></textarea>\n <cds-tooltip\n [isOpen]=\"false\"\n [description]=\"'document.inputDescriptionTooltip' | translate\"\n [align]=\"'bottom'\"\n >\n <i class=\"mdi mdi-help-circle-outline\"></i>\n </cds-tooltip>\n </cds-textarea-label>\n }\n @if (!hideFields.includes('creatiedatum')) {\n <cds-label>\n {{ 'document.creationDate' | translate }}\n <cds-tooltip\n [isOpen]=\"false\"\n [description]=\"'document.creationDateTooltip' | translate\"\n [align]=\"'bottom'\"\n >\n <i class=\"mdi mdi-help-circle-outline\"></i>\n </cds-tooltip>\n <div class=\"documenten-metada-form-input\">\n <cds-date-picker\n [placeholder]=\"'DD-MM-YYYY'\"\n [dateFormat]=\"'d-m-Y'\"\n id=\"creatiedatum\"\n formControlName=\"creatiedatum\"\n >\n </cds-date-picker>\n </div>\n </cds-label>\n }\n @if (!hideFields.includes('status')) {\n <cds-label>\n {{ 'document.status' | translate }}\n <cds-tooltip\n [isOpen]=\"false\"\n [description]=\"'document.statusTooltip' | translate\"\n [align]=\"'bottom'\"\n >\n <i class=\"mdi mdi-help-circle-outline\"></i>\n </cds-tooltip>\n </cds-label>\n <div class=\"documenten-metada-form-input\">\n <cds-combo-box\n [placeholder]=\"'document.statusPlaceholder' | translate\"\n [disabled]=\"obs.disabled || (statusDisabled$ | async)\"\n id=\"status\"\n [appendInline]=\"true\"\n (selected)=\"statusSelected($event)\"\n (clear)=\"statusFormControl.setValue(null)\"\n >\n <cds-dropdown-list [items]=\"obs.statusItems || []\"></cds-dropdown-list>\n </cds-combo-box>\n </div>\n }\n @if (!hideFields.includes('aanvullendeDatum')) {\n <cds-date-picker\n *ngIf=\"obs.additionalDate === 'received'\"\n [label]=\"'document.additionalDate' | translate\"\n [placeholder]=\"'DD-MM-YYYY'\"\n [dateFormat]=\"'d-m-Y'\"\n id=\"ontvangstdatum\"\n formControlName=\"ontvangstdatum\"\n ></cds-date-picker>\n <cds-date-picker\n *ngIf=\"obs.additionalDate === 'sent'\"\n [label]=\"'document.additionalDate' | translate\"\n [placeholder]=\"'DD-MM-YYYY'\"\n [dateFormat]=\"'d-m-Y'\"\n id=\"verzenddatum\"\n formControlName=\"verzenddatum\"\n ></cds-date-picker>\n }\n </div>\n </div>\n </form>\n</ng-template>\n", styles: [".documenten-metadata-form-columns-container{display:flex;justify-content:space-between}.documenten-metadata-form-column{flex:1;margin-right:1rem}.documenten-metada-form-input{margin-bottom:18px!important;width:100%!important}.documenten-metada-form-description-input{width:100%}::ng-deep .cds--date-picker,::ng-deep .cds--date-picker-container,::ng-deep .cds--date-picker__input,::ng-deep .cds--date-picker-input__wrapper,::ng-deep .cds--date-picker-input__wrapper>span{width:100%}::ng-deep .cds--date-picker.cds--date-picker--single .cds--date-picker__input{inline-size:100%}.metadata-modal-footer{display:flex;justify-content:flex-end}.metadata-modal-footer button{width:100%}\n/*!\n * Copyright 2015-2025 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"] }]
1424
+ }], ctorParameters: () => [{ type: i1$2.ActivatedRoute }, { type: i4$1.DocumentService }, { type: DocumentenApiTagService }, { type: i1$1.FormBuilder }, { type: i5$2.KeycloakService }, { type: i3.ModalService }, { type: i5.TranslateService }, { type: i3.ValtimoModalService }, { type: DocumentenApiVersionService }, { type: i1$2.Router }], propDecorators: { metadataModal: [{
1397
1425
  type: ViewChild,
1398
1426
  args: ['metadataModal']
1399
1427
  }], disabled$: [{
@@ -1435,7 +1463,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
1435
1463
  }] } });
1436
1464
 
1437
1465
  /*
1438
- * Copyright 2015-2024 Ritense BV, the Netherlands.
1466
+ * Copyright 2015-2025 Ritense BV, the Netherlands.
1439
1467
  *
1440
1468
  * Licensed under EUPL, Version 1.2 (the "License");
1441
1469
  * you may not use this file except in compliance with the License.
@@ -1449,25 +1477,27 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
1449
1477
  * See the License for the specific language governing permissions and
1450
1478
  * limitations under the License.
1451
1479
  */
1452
- class DossierDetailTabDocumentenApiDocumentsComponent {
1453
- constructor(route, router, uploadProviderService, downloadService, translateService, configService, userProviderService, iconService, documentenApiDocumentService, documentenApiColumnService, documentenApiVersionService, permissionService) {
1454
- this.route = route;
1455
- this.router = router;
1456
- this.uploadProviderService = uploadProviderService;
1457
- this.downloadService = downloadService;
1458
- this.translateService = translateService;
1480
+ class CaseDetailTabDocumentenApiDocumentsComponent {
1481
+ constructor(configService, documentenApiColumnService, documentenApiDocumentService, documentenApiVersionService, documentService, downloadService, iconService, permissionService, route, router, translateService, uploadProviderService, userProviderService) {
1459
1482
  this.configService = configService;
1460
- this.userProviderService = userProviderService;
1461
- this.iconService = iconService;
1462
- this.documentenApiDocumentService = documentenApiDocumentService;
1463
1483
  this.documentenApiColumnService = documentenApiColumnService;
1484
+ this.documentenApiDocumentService = documentenApiDocumentService;
1464
1485
  this.documentenApiVersionService = documentenApiVersionService;
1486
+ this.documentService = documentService;
1487
+ this.downloadService = downloadService;
1488
+ this.iconService = iconService;
1465
1489
  this.permissionService = permissionService;
1466
- this._documentDefinitionName$ = this.route.params.pipe(map$1(params => params?.documentDefinitionName), filter$1(caseDefinitionName => !!caseDefinitionName));
1490
+ this.route = route;
1491
+ this.router = router;
1492
+ this.translateService = translateService;
1493
+ this.uploadProviderService = uploadProviderService;
1494
+ this.userProviderService = userProviderService;
1495
+ this._caseDefinitionKey$ = this.route.params.pipe(map$1(params => params?.caseDefinitionKey ?? ''), filter$1((caseDefinitionKey) => !!caseDefinitionKey));
1496
+ this._caseSettings$ = this._caseDefinitionKey$.pipe(switchMap$1((caseDefinitionKey) => this.documentService.getCaseSettings(caseDefinitionKey)));
1467
1497
  this.supportedDocumentenApiFeatures$ = new BehaviorSubject(null);
1468
- this._supportedDocumentenApiFeatures$ = this._documentDefinitionName$.pipe(switchMap$1(caseDefinitionName => this.documentenApiVersionService.getSupportedApiFeatures(caseDefinitionName)), tap$1(supportedDocumentenApiFeatures => this.supportedDocumentenApiFeatures$.next(supportedDocumentenApiFeatures)));
1469
- this.fields$ = this._documentDefinitionName$.pipe(tap$1(() => this.fieldsLoading$.next(true)), switchMap$1(documentDefinitionName => combineLatest([
1470
- this.documentenApiColumnService.getConfiguredColumns(documentDefinitionName),
1498
+ this._supportedDocumentenApiFeatures$ = this._caseDefinitionKey$.pipe(switchMap$1(caseDefinitionName => this.documentenApiVersionService.getSupportedApiFeatures(caseDefinitionName)), tap$1(supportedDocumentenApiFeatures => this.supportedDocumentenApiFeatures$.next(supportedDocumentenApiFeatures)));
1499
+ this.fields$ = this._caseDefinitionKey$.pipe(tap$1(() => this.fieldsLoading$.next(true)), switchMap$1(caseDefinitionKey => combineLatest([
1500
+ this.documentenApiColumnService.getConfiguredColumns(caseDefinitionKey),
1471
1501
  this._supportedDocumentenApiFeatures$,
1472
1502
  this._sort$,
1473
1503
  ])), map$1(([columns, supportedDocumentenApiFeatures, sort]) => {
@@ -1509,7 +1539,6 @@ class DossierDetailTabDocumentenApiDocumentsComponent {
1509
1539
  type: 'danger',
1510
1540
  },
1511
1541
  ];
1512
- this.documentDefinitionName$ = this.route.params.pipe(map$1(params => params?.documentDefinitionName), filter$1(documentDefinitionName => !!documentDefinitionName));
1513
1542
  this.documentId$ = this.route.params.pipe(map$1(params => params?.documentId), filter$1(documentId => !!documentId));
1514
1543
  this.uploadProcessLinkedSet = false;
1515
1544
  this.isEditMode$ = new BehaviorSubject(false);
@@ -1651,14 +1680,14 @@ class DossierDetailTabDocumentenApiDocumentsComponent {
1651
1680
  return 'Upload';
1652
1681
  }
1653
1682
  else if (this.isAdmin) {
1654
- return 'dossier.documenten.noProcessLinked.adminRole';
1683
+ return 'case.documenten.noProcessLinked.adminRole';
1655
1684
  }
1656
- return 'dossier.documenten.noProcessLinked.regularUser';
1685
+ return 'case.documenten.noProcessLinked.regularUser';
1657
1686
  }
1658
1687
  isUserAdmin() {
1659
1688
  this.userProviderService
1660
1689
  .getUserSubject()
1661
- .pipe(take$1(1))
1690
+ .pipe(take(1))
1662
1691
  .subscribe(userIdentity => {
1663
1692
  this.isAdmin = userIdentity.roles.includes('ROLE_ADMIN');
1664
1693
  }, () => {
@@ -1668,7 +1697,7 @@ class DossierDetailTabDocumentenApiDocumentsComponent {
1668
1697
  metadataSet(metadata) {
1669
1698
  this.uploading$.next(true);
1670
1699
  combineLatest([this.fileToBeUploaded$, this.documentId$])
1671
- .pipe(take$1(1))
1700
+ .pipe(take(1))
1672
1701
  .pipe(tap$1(([file, documentId]) => {
1673
1702
  if (!file)
1674
1703
  return;
@@ -1711,8 +1740,10 @@ class DossierDetailTabDocumentenApiDocumentsComponent {
1711
1740
  this.resetFileInput();
1712
1741
  }
1713
1742
  onNavigateToCaseAdminClick() {
1714
- this.documentDefinitionName$.pipe(take$1(1)).subscribe(documentDefinitionName => {
1715
- this.router.navigate([`/dossier-management/dossier/${documentDefinitionName}`]);
1743
+ this._caseSettings$.pipe(take(1)).subscribe((caseSettings) => {
1744
+ this.router.navigate([
1745
+ `/case-management/case/${caseSettings.caseDefinitionKey}/version/${caseSettings.caseDefinitionVersionTag}/zgw`,
1746
+ ]);
1716
1747
  });
1717
1748
  }
1718
1749
  onRowClick(event) {
@@ -1761,14 +1792,14 @@ class DossierDetailTabDocumentenApiDocumentsComponent {
1761
1792
  }
1762
1793
  openQueryParamsSubscription() {
1763
1794
  this._subscriptions.add(combineLatest([
1764
- this.documentDefinitionName$,
1795
+ this._caseDefinitionKey$,
1765
1796
  this.documentId$,
1766
1797
  this.filter$,
1767
1798
  this._sort$,
1768
1799
  this.pagination$,
1769
1800
  ]).subscribe(([definitionName, documentId, filter, sort, pagination]) => {
1770
1801
  const { size, page } = pagination;
1771
- this.router.navigate([`/dossiers/${definitionName}/document/${documentId}/documents`], {
1802
+ this.router.navigate([`/cases/${definitionName}/document/${documentId}/documents`], {
1772
1803
  queryParams: { ...filter, ...sort, size, page: page - 1 },
1773
1804
  });
1774
1805
  }));
@@ -1777,8 +1808,8 @@ class DossierDetailTabDocumentenApiDocumentsComponent {
1777
1808
  this.fileInput.nativeElement.value = '';
1778
1809
  }
1779
1810
  setUploadProcessLinked() {
1780
- this.documentDefinitionName$
1781
- .pipe(switchMap$1(documentDefinitionName => this.uploadProviderService.checkUploadProcessLink(documentDefinitionName)), take$1(1), tap$1(() => {
1811
+ this._caseDefinitionKey$
1812
+ .pipe(switchMap$1(caseDefinitionKey => this.uploadProviderService.checkUploadProcessLink(caseDefinitionKey)), take(1), tap$1(() => {
1782
1813
  this.uploadProcessLinkedSet = true;
1783
1814
  }))
1784
1815
  .subscribe((linked) => {
@@ -1787,7 +1818,7 @@ class DossierDetailTabDocumentenApiDocumentsComponent {
1787
1818
  }
1788
1819
  setInitialParams() {
1789
1820
  this.route.queryParamMap
1790
- .pipe(take$1(1), map$1(queryParams => {
1821
+ .pipe(take(1), map$1(queryParams => {
1791
1822
  const { sort, size, page, ...filter } = queryParams['params'];
1792
1823
  return { sort, filter, size, page };
1793
1824
  }))
@@ -1829,12 +1860,12 @@ class DossierDetailTabDocumentenApiDocumentsComponent {
1829
1860
  return this.permissionService.requestPermission(permissionRequest, context);
1830
1861
  }));
1831
1862
  }
1832
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DossierDetailTabDocumentenApiDocumentsComponent, deps: [{ token: i1$2.ActivatedRoute }, { token: i1$2.Router }, { token: i2$1.UploadProviderService }, { token: i2$1.DownloadService }, { token: i3.TranslateService }, { token: i2.ConfigService }, { token: i5$1.UserProviderService }, { token: i6.IconService }, { token: DocumentenApiDocumentService }, { token: DocumentenApiColumnService }, { token: DocumentenApiVersionService }, { token: i9.PermissionService }], target: i0.ɵɵFactoryTarget.Component }); }
1833
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: DossierDetailTabDocumentenApiDocumentsComponent, isStandalone: true, selector: "valtimo-dossier-detail-tab-documenten-api-documents", viewQueries: [{ propertyName: "fileInput", first: true, predicate: ["fileInput"], descendants: true }, { propertyName: "translationTemplate", first: true, predicate: ["translationTemplate"], descendants: true }], ngImport: i0, template: "<!--\n ~ Copyright 2015-2024 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 class=\"carbon-document-table-wrapper\"\n *ngIf=\"{\n loading: loading$ | async,\n fieldsLoading: fieldsLoading$ | async,\n uploading: uploading$ | async,\n relatedFiles: relatedFiles$ | async,\n fields: fields$ | async,\n supportedDocumentenApiFeatures: supportedDocumentenApiFeatures$ | async,\n pagination: pagination$ | async,\n sortState: sortState$ | async,\n uploadFields: uploadFields$ | async,\n defaultValues: defaultValues$ | async,\n hideFields: hideFields$ | async,\n } as obs\"\n>\n @if ((!obs.fieldsLoading && obs.fields.length) || obs.fieldsLoading) {\n <valtimo-carbon-list\n [actionItems]=\"actionItems\"\n [items]=\"obs.relatedFiles\"\n [fields]=\"obs.fields\"\n [initialSortState]=\"obs.sortState\"\n [loading]=\"obs.loading\"\n [pagination]=\"obs.pagination\"\n [paginatorConfig]=\"paginatorConfig\"\n paginationIdentifier=\"documentenApi\"\n (rowClicked)=\"onRowClick($event)\"\n (sortChanged)=\"\n obs?.supportedDocumentenApiFeatures?.supportsSortableColumns && onSortChanged($event)\n \"\n (paginationClicked)=\"onPaginationClicked($event)\"\n (paginationSet)=\"onPaginationSet($event)\"\n hideColumnHeader\n >\n <div carbonToolbarContent>\n <input\n [accept]=\"acceptedFiles\"\n (change)=\"onFileSelected($event)\"\n hidden\n type=\"file\"\n #fileInput\n />\n\n <button\n *ngIf=\"obs?.supportedDocumentenApiFeatures?.supportsFilterableColumns\"\n [cdsOverflowMenu]=\"overflowFilter\"\n [customPane]=\"true\"\n [iconOnly]=\"true\"\n [flip]=\"true\"\n [offset]=\"{x: 0, y: 47}\"\n cdsButton=\"ghost\"\n placement=\"bottom\"\n >\n <svg class=\"cds--btn__icon\" cdsIcon=\"filter\" size=\"16\"></svg>\n </button>\n\n <ng-container *ngTemplateOutlet=\"uploadButton\"></ng-container>\n </div>\n\n <ng-container *ngTemplateOutlet=\"noResults\"></ng-container>\n </valtimo-carbon-list>\n } @else {\n <valtimo-no-results\n [action]=\"navigateToCaseAdminButton\"\n [description]=\"'zgw.documents.noColumns.description' | translate\"\n [title]=\"'zgw.documents.noColumns.title' | translate\"\n ></valtimo-no-results>\n }\n\n <valtimo-documenten-api-metadata-modal\n [defaultValues]=\"obs.defaultValues\"\n [disableAuthor]=\"obs.uploadFields?.auteur?.readonly\"\n [disableConfidentialityLevel]=\"obs.uploadFields?.vertrouwelijkheidaanduiding?.readonly\"\n [disableCreationDate]=\"obs.uploadFields?.creatiedatum?.readonly\"\n [disableDescription]=\"obs.uploadFields?.beschrijving?.readonly\"\n [disableDocumentTitle]=\"obs.uploadFields?.titel?.readonly\"\n [disableDocumentType]=\"obs.uploadFields?.informatieobjecttype?.readonly\"\n [disableFilename]=\"obs.uploadFields?.bestandsnaam?.readonly\"\n [disableLanguage]=\"obs.uploadFields?.taal?.readonly\"\n [disableStatus]=\"obs.uploadFields?.status?.readonly\"\n [hideFields]=\"obs.hideFields\"\n [open]=\"showUploadModal$ | async\"\n [disabled$]=\"modalDisabled$\"\n [file$]=\"fileToBeUploaded$\"\n [isEditMode]=\"isEditMode$ | async\"\n [supportsTrefwoorden]=\"obs?.supportedDocumentenApiFeatures?.supportsTrefwoorden\"\n (modalClose)=\"closeMetadataModal()\"\n (metadata)=\"metadataSet($event)\"\n ></valtimo-documenten-api-metadata-modal>\n</div>\n\n<valtimo-confirmation-modal\n confirmButtonTextTranslationKey=\"dashboardManagement.deleteModal.confirm\"\n contentTranslationKey=\"dossier.documenten.deleteConfirmationModal.content\"\n confirmButtonType=\"danger\"\n titleTranslationKey=\"dossier.documenten.deleteConfirmationModal.title\"\n [showModalSubject$]=\"showDeleteConfirmationModal$\"\n (confirmEvent)=\"deleteDocument()\"\n>\n</valtimo-confirmation-modal>\n\n<ng-template #noResults>\n @if ((filter$ | async | keyvalue)?.length) {\n <valtimo-no-results\n [action]=\"resetFilterButton\"\n [description]=\"'zgw.documents.noResults.filterDescription' | translate\"\n [title]=\"'zgw.documents.noResults.filterTitle' | translate\"\n ></valtimo-no-results>\n } @else if (showZaakLinkWarning && isAdmin) {\n <valtimo-no-results\n [action]=\"navigateToCaseAdminButton\"\n [description]=\"'dossier.documenten.noZaakFound' | translate\"\n [title]=\"'dossier.documenten.noZaakFoundTitle' | translate\"\n ></valtimo-no-results>\n } @else {\n <valtimo-no-results\n [action]=\"uploadButton\"\n [description]=\"'dossier.documenten.noFiles' | translate\"\n [title]=\"'dossier.documenten.noFilesTitle' | translate\"\n ></valtimo-no-results>\n }\n</ng-template>\n\n<ng-template #overflowFilter>\n <valtimo-dossier-detail-tab-documenten-api-filter\n [prefillFilter]=\"filter$ | async\"\n (filterEvent)=\"onFilterEvent($event)\"\n ></valtimo-dossier-detail-tab-documenten-api-filter>\n</ng-template>\n\n<ng-template #resetFilterButton>\n <button cdsButton=\"primary\" (click)=\"onFilterEvent(null)\">\n {{ 'Reset filter' | translate }}\n\n <svg class=\"cds--btn__icon\" cdsIcon=\"trash-can\" size=\"16\"></svg>\n </button>\n</ng-template>\n\n<ng-template #uploadButton let-disabled=\"disabled\">\n <button\n [disabled]=\"\n (uploadProcessLinkedSet && !uploadProcessLinked) ||\n showZaakLinkWarning ||\n disabled ||\n (canCreateResource$ | async) === false\n \"\n [vTooltip]=\"getUploadButtonTooltip() | translate\"\n (click)=\"onUploadButtonClick()\"\n cdsButton=\"primary\"\n >\n {{ 'Upload' | translate }}\n <svg class=\"cds--btn__icon\" cdsIcon=\"upload\" size=\"16\"></svg>\n </button>\n</ng-template>\n\n<ng-template #translationTemplate let-data=\"data\">\n @if (data.item[data.key]) {\n {{ 'document.' + data.item[data.key] | translate }}\n } @else {\n -\n }\n</ng-template>\n\n<ng-template #navigateToCaseAdminButton>\n <button (click)=\"onNavigateToCaseAdminClick()\" cdsButton=\"primary\">\n {{ 'dossier.documenten.navigateToCaseAdmin' | translate }}\n\n <svg class=\"cds--btn__icon\" cdsIcon=\"settings\" size=\"16\"></svg>\n </button>\n</ng-template>\n", styles: [".hidden{display:none}.loading-container{padding:var(--cds-grid-margin);display:flex;align-items:center;justify-content:center}.carbon-document-table-wrapper{margin:0}.documenten-api-documents-filesize-template{text-align:right}::ng-deep .cds--overflow-menu-options.cds--overflow-menu-options--open{max-width:max-content!important;width:max-content!important}\n/*!\n * Copyright 2015-2024 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: "ngmodule", type: CommonModule }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }, { kind: "pipe", type: i4.KeyValuePipe, name: "keyvalue" }, { kind: "ngmodule", type: CarbonListModule }, { kind: "component", type: i3$1.CarbonListComponent, selector: "valtimo-carbon-list", inputs: ["items", "fields", "tableTranslations", "paginatorConfig", "pagination", "loading", "actions", "actionItems", "header", "hideColumnHeader", "initialSortState", "sortState", "isSearchable", "enableSingleSelection", "lastColumnTemplate", "paginationIdentifier", "showSelectionColumn", "striped", "hideToolbar", "lockedTooltipTranslationKey", "movingRowsEnabled", "dragAndDrop", "dragAndDropDisabled"], outputs: ["rowClicked", "paginationClicked", "paginationSet", "search", "sortChanged", "moveRow", "itemsReordered"] }, { kind: "component", type: i3$1.CarbonNoResultsComponent, selector: "valtimo-no-results", inputs: ["action", "description", "illustration", "title", "smallPadding", "collapseVertically", "alwaysRenderVertically"] }, { kind: "component", type: DocumentenApiMetadataModalComponent, selector: "valtimo-documenten-api-metadata-modal", inputs: ["disabled$", "file$", "hideFields", "defaultValues", "disableAuthor", "disableConfidentialityLevel", "disableDescription", "disableDocumentTitle", "disableDocumentType", "disableFilename", "disableLanguage", "disableStatus", "supportsTrefwoorden", "disableCreationDate", "isEditMode", "open"], outputs: ["metadata", "modalClose"] }, { kind: "ngmodule", type: ButtonModule }, { kind: "directive", type: i6.Button, selector: "[cdsButton], [ibmButton]", inputs: ["ibmButton", "cdsButton", "size", "skeleton", "iconOnly", "isExpressive"] }, { kind: "ngmodule", type: IconModule }, { kind: "directive", type: i6.IconDirective, selector: "[cdsIcon], [ibmIcon]", inputs: ["ibmIcon", "cdsIcon", "size", "title", "ariaLabel", "ariaLabelledBy", "ariaHidden", "isFocusable"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }, { kind: "component", type: DocumentenApiFilterComponent, selector: "valtimo-dossier-detail-tab-documenten-api-filter", outputs: ["filterEvent"] }, { kind: "ngmodule", type: DialogModule }, { kind: "directive", type: i6.OverflowMenuDirective, selector: "[cdsOverflowMenu], [ibmOverflowMenu]", inputs: ["ibmOverflowMenu", "cdsOverflowMenu", "flip", "offset", "wrapperClass", "customPane"], exportAs: ["overflowMenu"] }, { kind: "ngmodule", type: ConfirmationModalModule }, { kind: "component", type: i3$1.ConfirmationModalComponent, selector: "valtimo-confirmation-modal", inputs: ["titleTranslationKey", "title", "content", "contentTranslationKey", "confirmButtonText", "confirmButtonTextTranslationKey", "confirmButtonType", "showOptionalButton", "optionalButtonText", "optionalButtonTextTranslationKey", "optionalButtonType", "cancelButtonText", "cancelButtonTextTranslationKey", "cancelButtonType", "showModalSubject$", "outputOnConfirm", "outputOnOptional", "spacerAfterCancelButton"], outputs: ["confirmEvent", "optionalEvent", "cancelEvent"] }] }); }
1863
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: CaseDetailTabDocumentenApiDocumentsComponent, deps: [{ token: i2.ConfigService }, { token: DocumentenApiColumnService }, { token: DocumentenApiDocumentService }, { token: DocumentenApiVersionService }, { token: i4$1.DocumentService }, { token: i5$3.DownloadService }, { token: i5$1.IconService }, { token: i7.PermissionService }, { token: i1$2.ActivatedRoute }, { token: i1$2.Router }, { token: i5.TranslateService }, { token: i5$3.UploadProviderService }, { token: i10.UserProviderService }], target: i0.ɵɵFactoryTarget.Component }); }
1864
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.14", type: CaseDetailTabDocumentenApiDocumentsComponent, isStandalone: true, selector: "valtimo-case-detail-tab-documenten-api-documents", viewQueries: [{ propertyName: "fileInput", first: true, predicate: ["fileInput"], descendants: true }, { propertyName: "translationTemplate", first: true, predicate: ["translationTemplate"], descendants: true }], ngImport: i0, template: "<!--\n ~ Copyright 2015-2025 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 class=\"carbon-document-table-wrapper\"\n *ngIf=\"{\n loading: loading$ | async,\n fieldsLoading: fieldsLoading$ | async,\n uploading: uploading$ | async,\n relatedFiles: relatedFiles$ | async,\n fields: fields$ | async,\n supportedDocumentenApiFeatures: supportedDocumentenApiFeatures$ | async,\n pagination: pagination$ | async,\n sortState: sortState$ | async,\n uploadFields: uploadFields$ | async,\n defaultValues: defaultValues$ | async,\n hideFields: hideFields$ | async,\n } as obs\"\n>\n @if ((!obs.fieldsLoading && obs.fields.length) || obs.fieldsLoading) {\n <valtimo-carbon-list\n [actionItems]=\"actionItems\"\n [items]=\"obs.relatedFiles\"\n [fields]=\"obs.fields\"\n [initialSortState]=\"obs.sortState\"\n [loading]=\"obs.loading\"\n [pagination]=\"obs.pagination\"\n [paginatorConfig]=\"paginatorConfig\"\n paginationIdentifier=\"documentenApi\"\n (rowClicked)=\"onRowClick($event)\"\n (sortChanged)=\"\n obs?.supportedDocumentenApiFeatures?.supportsSortableColumns && onSortChanged($event)\n \"\n (paginationClicked)=\"onPaginationClicked($event)\"\n (paginationSet)=\"onPaginationSet($event)\"\n hideColumnHeader\n >\n <div carbonToolbarContent>\n <input\n [accept]=\"acceptedFiles\"\n (change)=\"onFileSelected($event)\"\n hidden\n type=\"file\"\n #fileInput\n />\n\n <button\n *ngIf=\"obs?.supportedDocumentenApiFeatures?.supportsFilterableColumns\"\n [cdsOverflowMenu]=\"overflowFilter\"\n [customPane]=\"true\"\n [flip]=\"true\"\n [offset]=\"{x: 0, y: 47}\"\n cdsButton=\"ghost\"\n placement=\"bottom\"\n >\n <svg cdsIcon=\"filter\" size=\"16\"></svg>\n </button>\n\n <ng-container *ngTemplateOutlet=\"uploadButton\"></ng-container>\n </div>\n\n <ng-container *ngTemplateOutlet=\"noResults\"></ng-container>\n </valtimo-carbon-list>\n } @else {\n <valtimo-no-results\n [action]=\"navigateToCaseAdminButton\"\n [description]=\"'zgw.documents.noColumns.description' | translate\"\n [title]=\"'zgw.documents.noColumns.title' | translate\"\n ></valtimo-no-results>\n }\n\n <valtimo-documenten-api-metadata-modal\n [defaultValues]=\"obs.defaultValues\"\n [disableAuthor]=\"obs.uploadFields?.auteur?.readonly\"\n [disableConfidentialityLevel]=\"obs.uploadFields?.vertrouwelijkheidaanduiding?.readonly\"\n [disableCreationDate]=\"obs.uploadFields?.creatiedatum?.readonly\"\n [disableDescription]=\"obs.uploadFields?.beschrijving?.readonly\"\n [disableDocumentTitle]=\"obs.uploadFields?.titel?.readonly\"\n [disableDocumentType]=\"obs.uploadFields?.informatieobjecttype?.readonly\"\n [disableFilename]=\"obs.uploadFields?.bestandsnaam?.readonly\"\n [disableLanguage]=\"obs.uploadFields?.taal?.readonly\"\n [disableStatus]=\"obs.uploadFields?.status?.readonly\"\n [hideFields]=\"obs.hideFields\"\n [open]=\"showUploadModal$ | async\"\n [disabled$]=\"modalDisabled$\"\n [file$]=\"fileToBeUploaded$\"\n [isEditMode]=\"isEditMode$ | async\"\n [supportsTrefwoorden]=\"obs?.supportedDocumentenApiFeatures?.supportsTrefwoorden\"\n (modalClose)=\"closeMetadataModal()\"\n (metadata)=\"metadataSet($event)\"\n ></valtimo-documenten-api-metadata-modal>\n</div>\n\n<valtimo-confirmation-modal\n confirmButtonTextTranslationKey=\"dashboardManagement.deleteModal.confirm\"\n contentTranslationKey=\"case.documenten.deleteConfirmationModal.content\"\n confirmButtonType=\"danger\"\n titleTranslationKey=\"case.documenten.deleteConfirmationModal.title\"\n [showModalSubject$]=\"showDeleteConfirmationModal$\"\n (confirmEvent)=\"deleteDocument()\"\n>\n</valtimo-confirmation-modal>\n\n<ng-template #noResults>\n @if ((filter$ | async | keyvalue)?.length) {\n <valtimo-no-results\n [action]=\"resetFilterButton\"\n [description]=\"'zgw.documents.noResults.filterDescription' | translate\"\n [title]=\"'zgw.documents.noResults.filterTitle' | translate\"\n ></valtimo-no-results>\n } @else if (showZaakLinkWarning && isAdmin) {\n <valtimo-no-results\n [action]=\"navigateToCaseAdminButton\"\n [description]=\"'case.documenten.noZaakFound' | translate\"\n [title]=\"'case.documenten.noZaakFoundTitle' | translate\"\n ></valtimo-no-results>\n } @else {\n <valtimo-no-results\n [action]=\"uploadButton\"\n [description]=\"'case.documenten.noFiles' | translate\"\n [title]=\"'case.documenten.noFilesTitle' | translate\"\n ></valtimo-no-results>\n }\n</ng-template>\n\n<ng-template #overflowFilter>\n <valtimo-case-detail-tab-documenten-api-filter\n [prefillFilter]=\"filter$ | async\"\n (filterEvent)=\"onFilterEvent($event)\"\n ></valtimo-case-detail-tab-documenten-api-filter>\n</ng-template>\n\n<ng-template #resetFilterButton>\n <button cdsButton=\"primary\" (click)=\"onFilterEvent(null)\">\n {{ 'Reset filter' | translate }}\n\n <svg class=\"cds--btn__icon\" cdsIcon=\"trash-can\" size=\"16\"></svg>\n </button>\n</ng-template>\n\n<ng-template #uploadButton let-disabled=\"disabled\">\n <button\n [disabled]=\"\n (uploadProcessLinkedSet && !uploadProcessLinked) ||\n showZaakLinkWarning ||\n disabled ||\n (canCreateResource$ | async) === false\n \"\n [vTooltip]=\"getUploadButtonTooltip() | translate\"\n (click)=\"onUploadButtonClick()\"\n cdsButton=\"primary\"\n >\n {{ 'Upload' | translate }}\n <svg class=\"cds--btn__icon\" cdsIcon=\"upload\" size=\"16\"></svg>\n </button>\n</ng-template>\n\n<ng-template #translationTemplate let-data=\"data\">\n @if (data.item[data.key]) {\n {{ 'document.' + data.item[data.key] | translate }}\n } @else {\n -\n }\n</ng-template>\n\n<ng-template #navigateToCaseAdminButton>\n <button (click)=\"onNavigateToCaseAdminClick()\" cdsButton=\"primary\">\n {{ 'case.documenten.navigateToCaseAdmin' | translate }}\n\n <svg class=\"cds--btn__icon\" cdsIcon=\"settings\" size=\"16\"></svg>\n </button>\n</ng-template>\n", styles: [".hidden{display:none}.loading-container{padding:var(--cds-grid-margin);display:flex;align-items:center;justify-content:center}.carbon-document-table-wrapper{margin:0}.documenten-api-documents-filesize-template{text-align:right}::ng-deep .cds--overflow-menu-options.cds--overflow-menu-options--open{max-width:max-content!important;width:max-content!important}\n/*!\n * Copyright 2015-2025 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: "ngmodule", type: CommonModule }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }, { kind: "pipe", type: i4.KeyValuePipe, name: "keyvalue" }, { kind: "ngmodule", type: CarbonListModule }, { kind: "component", type: i3.CarbonListComponent, selector: "valtimo-carbon-list", inputs: ["items", "fields", "tableTranslations", "paginatorConfig", "pagination", "loading", "actions", "actionItems", "showActionItems", "header", "hideColumnHeader", "initialSortState", "sortState", "isSearchable", "enableSingleSelection", "lastColumnTemplate", "paginationIdentifier", "showSelectionColumn", "striped", "hideToolbar", "lockedTooltipTranslationKey", "movingRowsEnabled", "dragAndDrop", "dragAndDropDisabled"], outputs: ["rowClicked", "paginationClicked", "paginationSet", "search", "sortChanged", "moveRow", "itemsReordered"] }, { kind: "component", type: i3.CarbonNoResultsComponent, selector: "valtimo-no-results", inputs: ["action", "description", "illustration", "title", "smallPadding", "collapseVertically", "alwaysRenderVertically"] }, { kind: "component", type: DocumentenApiMetadataModalComponent, selector: "valtimo-documenten-api-metadata-modal", inputs: ["disabled$", "file$", "hideFields", "defaultValues", "disableAuthor", "disableConfidentialityLevel", "disableDescription", "disableDocumentTitle", "disableDocumentType", "disableFilename", "disableLanguage", "disableStatus", "supportsTrefwoorden", "disableCreationDate", "isEditMode", "open"], outputs: ["metadata", "modalClose"] }, { kind: "ngmodule", type: ButtonModule }, { kind: "directive", type: i5$1.Button, selector: "[cdsButton], [ibmButton]", inputs: ["ibmButton", "cdsButton", "size", "skeleton", "iconOnly", "isExpressive"] }, { kind: "ngmodule", type: IconModule }, { kind: "directive", type: i5$1.IconDirective, selector: "[cdsIcon], [ibmIcon]", inputs: ["ibmIcon", "cdsIcon", "size", "title", "ariaLabel", "ariaLabelledBy", "ariaHidden", "isFocusable"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i5.TranslatePipe, name: "translate" }, { kind: "component", type: DocumentenApiFilterComponent, selector: "valtimo-case-detail-tab-documenten-api-filter", outputs: ["filterEvent"] }, { kind: "ngmodule", type: DialogModule }, { kind: "directive", type: i5$1.OverflowMenuDirective, selector: "[cdsOverflowMenu], [ibmOverflowMenu]", inputs: ["ibmOverflowMenu", "cdsOverflowMenu", "flip", "offset", "wrapperClass", "customPane"], exportAs: ["overflowMenu"] }, { kind: "ngmodule", type: ConfirmationModalModule }, { kind: "component", type: i3.ConfirmationModalComponent, selector: "valtimo-confirmation-modal", inputs: ["titleTranslationKey", "title", "content", "contentTranslationKey", "confirmButtonText", "confirmButtonTextTranslationKey", "confirmButtonType", "showOptionalButton", "optionalButtonText", "optionalButtonTextTranslationKey", "optionalButtonType", "cancelButtonText", "cancelButtonTextTranslationKey", "cancelButtonType", "showModalSubject$", "outputOnConfirm", "outputOnOptional", "spacerAfterCancelButton"], outputs: ["confirmEvent", "optionalEvent", "cancelEvent"] }] }); }
1834
1865
  }
1835
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DossierDetailTabDocumentenApiDocumentsComponent, decorators: [{
1866
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: CaseDetailTabDocumentenApiDocumentsComponent, decorators: [{
1836
1867
  type: Component,
1837
- args: [{ selector: 'valtimo-dossier-detail-tab-documenten-api-documents', standalone: true, imports: [
1868
+ args: [{ selector: 'valtimo-case-detail-tab-documenten-api-documents', standalone: true, imports: [
1838
1869
  CommonModule,
1839
1870
  CarbonListModule,
1840
1871
  DocumentenApiMetadataModalComponent,
@@ -1844,8 +1875,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
1844
1875
  DocumentenApiFilterComponent,
1845
1876
  DialogModule,
1846
1877
  ConfirmationModalModule,
1847
- ], template: "<!--\n ~ Copyright 2015-2024 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 class=\"carbon-document-table-wrapper\"\n *ngIf=\"{\n loading: loading$ | async,\n fieldsLoading: fieldsLoading$ | async,\n uploading: uploading$ | async,\n relatedFiles: relatedFiles$ | async,\n fields: fields$ | async,\n supportedDocumentenApiFeatures: supportedDocumentenApiFeatures$ | async,\n pagination: pagination$ | async,\n sortState: sortState$ | async,\n uploadFields: uploadFields$ | async,\n defaultValues: defaultValues$ | async,\n hideFields: hideFields$ | async,\n } as obs\"\n>\n @if ((!obs.fieldsLoading && obs.fields.length) || obs.fieldsLoading) {\n <valtimo-carbon-list\n [actionItems]=\"actionItems\"\n [items]=\"obs.relatedFiles\"\n [fields]=\"obs.fields\"\n [initialSortState]=\"obs.sortState\"\n [loading]=\"obs.loading\"\n [pagination]=\"obs.pagination\"\n [paginatorConfig]=\"paginatorConfig\"\n paginationIdentifier=\"documentenApi\"\n (rowClicked)=\"onRowClick($event)\"\n (sortChanged)=\"\n obs?.supportedDocumentenApiFeatures?.supportsSortableColumns && onSortChanged($event)\n \"\n (paginationClicked)=\"onPaginationClicked($event)\"\n (paginationSet)=\"onPaginationSet($event)\"\n hideColumnHeader\n >\n <div carbonToolbarContent>\n <input\n [accept]=\"acceptedFiles\"\n (change)=\"onFileSelected($event)\"\n hidden\n type=\"file\"\n #fileInput\n />\n\n <button\n *ngIf=\"obs?.supportedDocumentenApiFeatures?.supportsFilterableColumns\"\n [cdsOverflowMenu]=\"overflowFilter\"\n [customPane]=\"true\"\n [iconOnly]=\"true\"\n [flip]=\"true\"\n [offset]=\"{x: 0, y: 47}\"\n cdsButton=\"ghost\"\n placement=\"bottom\"\n >\n <svg class=\"cds--btn__icon\" cdsIcon=\"filter\" size=\"16\"></svg>\n </button>\n\n <ng-container *ngTemplateOutlet=\"uploadButton\"></ng-container>\n </div>\n\n <ng-container *ngTemplateOutlet=\"noResults\"></ng-container>\n </valtimo-carbon-list>\n } @else {\n <valtimo-no-results\n [action]=\"navigateToCaseAdminButton\"\n [description]=\"'zgw.documents.noColumns.description' | translate\"\n [title]=\"'zgw.documents.noColumns.title' | translate\"\n ></valtimo-no-results>\n }\n\n <valtimo-documenten-api-metadata-modal\n [defaultValues]=\"obs.defaultValues\"\n [disableAuthor]=\"obs.uploadFields?.auteur?.readonly\"\n [disableConfidentialityLevel]=\"obs.uploadFields?.vertrouwelijkheidaanduiding?.readonly\"\n [disableCreationDate]=\"obs.uploadFields?.creatiedatum?.readonly\"\n [disableDescription]=\"obs.uploadFields?.beschrijving?.readonly\"\n [disableDocumentTitle]=\"obs.uploadFields?.titel?.readonly\"\n [disableDocumentType]=\"obs.uploadFields?.informatieobjecttype?.readonly\"\n [disableFilename]=\"obs.uploadFields?.bestandsnaam?.readonly\"\n [disableLanguage]=\"obs.uploadFields?.taal?.readonly\"\n [disableStatus]=\"obs.uploadFields?.status?.readonly\"\n [hideFields]=\"obs.hideFields\"\n [open]=\"showUploadModal$ | async\"\n [disabled$]=\"modalDisabled$\"\n [file$]=\"fileToBeUploaded$\"\n [isEditMode]=\"isEditMode$ | async\"\n [supportsTrefwoorden]=\"obs?.supportedDocumentenApiFeatures?.supportsTrefwoorden\"\n (modalClose)=\"closeMetadataModal()\"\n (metadata)=\"metadataSet($event)\"\n ></valtimo-documenten-api-metadata-modal>\n</div>\n\n<valtimo-confirmation-modal\n confirmButtonTextTranslationKey=\"dashboardManagement.deleteModal.confirm\"\n contentTranslationKey=\"dossier.documenten.deleteConfirmationModal.content\"\n confirmButtonType=\"danger\"\n titleTranslationKey=\"dossier.documenten.deleteConfirmationModal.title\"\n [showModalSubject$]=\"showDeleteConfirmationModal$\"\n (confirmEvent)=\"deleteDocument()\"\n>\n</valtimo-confirmation-modal>\n\n<ng-template #noResults>\n @if ((filter$ | async | keyvalue)?.length) {\n <valtimo-no-results\n [action]=\"resetFilterButton\"\n [description]=\"'zgw.documents.noResults.filterDescription' | translate\"\n [title]=\"'zgw.documents.noResults.filterTitle' | translate\"\n ></valtimo-no-results>\n } @else if (showZaakLinkWarning && isAdmin) {\n <valtimo-no-results\n [action]=\"navigateToCaseAdminButton\"\n [description]=\"'dossier.documenten.noZaakFound' | translate\"\n [title]=\"'dossier.documenten.noZaakFoundTitle' | translate\"\n ></valtimo-no-results>\n } @else {\n <valtimo-no-results\n [action]=\"uploadButton\"\n [description]=\"'dossier.documenten.noFiles' | translate\"\n [title]=\"'dossier.documenten.noFilesTitle' | translate\"\n ></valtimo-no-results>\n }\n</ng-template>\n\n<ng-template #overflowFilter>\n <valtimo-dossier-detail-tab-documenten-api-filter\n [prefillFilter]=\"filter$ | async\"\n (filterEvent)=\"onFilterEvent($event)\"\n ></valtimo-dossier-detail-tab-documenten-api-filter>\n</ng-template>\n\n<ng-template #resetFilterButton>\n <button cdsButton=\"primary\" (click)=\"onFilterEvent(null)\">\n {{ 'Reset filter' | translate }}\n\n <svg class=\"cds--btn__icon\" cdsIcon=\"trash-can\" size=\"16\"></svg>\n </button>\n</ng-template>\n\n<ng-template #uploadButton let-disabled=\"disabled\">\n <button\n [disabled]=\"\n (uploadProcessLinkedSet && !uploadProcessLinked) ||\n showZaakLinkWarning ||\n disabled ||\n (canCreateResource$ | async) === false\n \"\n [vTooltip]=\"getUploadButtonTooltip() | translate\"\n (click)=\"onUploadButtonClick()\"\n cdsButton=\"primary\"\n >\n {{ 'Upload' | translate }}\n <svg class=\"cds--btn__icon\" cdsIcon=\"upload\" size=\"16\"></svg>\n </button>\n</ng-template>\n\n<ng-template #translationTemplate let-data=\"data\">\n @if (data.item[data.key]) {\n {{ 'document.' + data.item[data.key] | translate }}\n } @else {\n -\n }\n</ng-template>\n\n<ng-template #navigateToCaseAdminButton>\n <button (click)=\"onNavigateToCaseAdminClick()\" cdsButton=\"primary\">\n {{ 'dossier.documenten.navigateToCaseAdmin' | translate }}\n\n <svg class=\"cds--btn__icon\" cdsIcon=\"settings\" size=\"16\"></svg>\n </button>\n</ng-template>\n", styles: [".hidden{display:none}.loading-container{padding:var(--cds-grid-margin);display:flex;align-items:center;justify-content:center}.carbon-document-table-wrapper{margin:0}.documenten-api-documents-filesize-template{text-align:right}::ng-deep .cds--overflow-menu-options.cds--overflow-menu-options--open{max-width:max-content!important;width:max-content!important}\n/*!\n * Copyright 2015-2024 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"] }]
1848
- }], ctorParameters: () => [{ type: i1$2.ActivatedRoute }, { type: i1$2.Router }, { type: i2$1.UploadProviderService }, { type: i2$1.DownloadService }, { type: i3.TranslateService }, { type: i2.ConfigService }, { type: i5$1.UserProviderService }, { type: i6.IconService }, { type: DocumentenApiDocumentService }, { type: DocumentenApiColumnService }, { type: DocumentenApiVersionService }, { type: i9.PermissionService }], propDecorators: { fileInput: [{
1878
+ ], template: "<!--\n ~ Copyright 2015-2025 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 class=\"carbon-document-table-wrapper\"\n *ngIf=\"{\n loading: loading$ | async,\n fieldsLoading: fieldsLoading$ | async,\n uploading: uploading$ | async,\n relatedFiles: relatedFiles$ | async,\n fields: fields$ | async,\n supportedDocumentenApiFeatures: supportedDocumentenApiFeatures$ | async,\n pagination: pagination$ | async,\n sortState: sortState$ | async,\n uploadFields: uploadFields$ | async,\n defaultValues: defaultValues$ | async,\n hideFields: hideFields$ | async,\n } as obs\"\n>\n @if ((!obs.fieldsLoading && obs.fields.length) || obs.fieldsLoading) {\n <valtimo-carbon-list\n [actionItems]=\"actionItems\"\n [items]=\"obs.relatedFiles\"\n [fields]=\"obs.fields\"\n [initialSortState]=\"obs.sortState\"\n [loading]=\"obs.loading\"\n [pagination]=\"obs.pagination\"\n [paginatorConfig]=\"paginatorConfig\"\n paginationIdentifier=\"documentenApi\"\n (rowClicked)=\"onRowClick($event)\"\n (sortChanged)=\"\n obs?.supportedDocumentenApiFeatures?.supportsSortableColumns && onSortChanged($event)\n \"\n (paginationClicked)=\"onPaginationClicked($event)\"\n (paginationSet)=\"onPaginationSet($event)\"\n hideColumnHeader\n >\n <div carbonToolbarContent>\n <input\n [accept]=\"acceptedFiles\"\n (change)=\"onFileSelected($event)\"\n hidden\n type=\"file\"\n #fileInput\n />\n\n <button\n *ngIf=\"obs?.supportedDocumentenApiFeatures?.supportsFilterableColumns\"\n [cdsOverflowMenu]=\"overflowFilter\"\n [customPane]=\"true\"\n [flip]=\"true\"\n [offset]=\"{x: 0, y: 47}\"\n cdsButton=\"ghost\"\n placement=\"bottom\"\n >\n <svg cdsIcon=\"filter\" size=\"16\"></svg>\n </button>\n\n <ng-container *ngTemplateOutlet=\"uploadButton\"></ng-container>\n </div>\n\n <ng-container *ngTemplateOutlet=\"noResults\"></ng-container>\n </valtimo-carbon-list>\n } @else {\n <valtimo-no-results\n [action]=\"navigateToCaseAdminButton\"\n [description]=\"'zgw.documents.noColumns.description' | translate\"\n [title]=\"'zgw.documents.noColumns.title' | translate\"\n ></valtimo-no-results>\n }\n\n <valtimo-documenten-api-metadata-modal\n [defaultValues]=\"obs.defaultValues\"\n [disableAuthor]=\"obs.uploadFields?.auteur?.readonly\"\n [disableConfidentialityLevel]=\"obs.uploadFields?.vertrouwelijkheidaanduiding?.readonly\"\n [disableCreationDate]=\"obs.uploadFields?.creatiedatum?.readonly\"\n [disableDescription]=\"obs.uploadFields?.beschrijving?.readonly\"\n [disableDocumentTitle]=\"obs.uploadFields?.titel?.readonly\"\n [disableDocumentType]=\"obs.uploadFields?.informatieobjecttype?.readonly\"\n [disableFilename]=\"obs.uploadFields?.bestandsnaam?.readonly\"\n [disableLanguage]=\"obs.uploadFields?.taal?.readonly\"\n [disableStatus]=\"obs.uploadFields?.status?.readonly\"\n [hideFields]=\"obs.hideFields\"\n [open]=\"showUploadModal$ | async\"\n [disabled$]=\"modalDisabled$\"\n [file$]=\"fileToBeUploaded$\"\n [isEditMode]=\"isEditMode$ | async\"\n [supportsTrefwoorden]=\"obs?.supportedDocumentenApiFeatures?.supportsTrefwoorden\"\n (modalClose)=\"closeMetadataModal()\"\n (metadata)=\"metadataSet($event)\"\n ></valtimo-documenten-api-metadata-modal>\n</div>\n\n<valtimo-confirmation-modal\n confirmButtonTextTranslationKey=\"dashboardManagement.deleteModal.confirm\"\n contentTranslationKey=\"case.documenten.deleteConfirmationModal.content\"\n confirmButtonType=\"danger\"\n titleTranslationKey=\"case.documenten.deleteConfirmationModal.title\"\n [showModalSubject$]=\"showDeleteConfirmationModal$\"\n (confirmEvent)=\"deleteDocument()\"\n>\n</valtimo-confirmation-modal>\n\n<ng-template #noResults>\n @if ((filter$ | async | keyvalue)?.length) {\n <valtimo-no-results\n [action]=\"resetFilterButton\"\n [description]=\"'zgw.documents.noResults.filterDescription' | translate\"\n [title]=\"'zgw.documents.noResults.filterTitle' | translate\"\n ></valtimo-no-results>\n } @else if (showZaakLinkWarning && isAdmin) {\n <valtimo-no-results\n [action]=\"navigateToCaseAdminButton\"\n [description]=\"'case.documenten.noZaakFound' | translate\"\n [title]=\"'case.documenten.noZaakFoundTitle' | translate\"\n ></valtimo-no-results>\n } @else {\n <valtimo-no-results\n [action]=\"uploadButton\"\n [description]=\"'case.documenten.noFiles' | translate\"\n [title]=\"'case.documenten.noFilesTitle' | translate\"\n ></valtimo-no-results>\n }\n</ng-template>\n\n<ng-template #overflowFilter>\n <valtimo-case-detail-tab-documenten-api-filter\n [prefillFilter]=\"filter$ | async\"\n (filterEvent)=\"onFilterEvent($event)\"\n ></valtimo-case-detail-tab-documenten-api-filter>\n</ng-template>\n\n<ng-template #resetFilterButton>\n <button cdsButton=\"primary\" (click)=\"onFilterEvent(null)\">\n {{ 'Reset filter' | translate }}\n\n <svg class=\"cds--btn__icon\" cdsIcon=\"trash-can\" size=\"16\"></svg>\n </button>\n</ng-template>\n\n<ng-template #uploadButton let-disabled=\"disabled\">\n <button\n [disabled]=\"\n (uploadProcessLinkedSet && !uploadProcessLinked) ||\n showZaakLinkWarning ||\n disabled ||\n (canCreateResource$ | async) === false\n \"\n [vTooltip]=\"getUploadButtonTooltip() | translate\"\n (click)=\"onUploadButtonClick()\"\n cdsButton=\"primary\"\n >\n {{ 'Upload' | translate }}\n <svg class=\"cds--btn__icon\" cdsIcon=\"upload\" size=\"16\"></svg>\n </button>\n</ng-template>\n\n<ng-template #translationTemplate let-data=\"data\">\n @if (data.item[data.key]) {\n {{ 'document.' + data.item[data.key] | translate }}\n } @else {\n -\n }\n</ng-template>\n\n<ng-template #navigateToCaseAdminButton>\n <button (click)=\"onNavigateToCaseAdminClick()\" cdsButton=\"primary\">\n {{ 'case.documenten.navigateToCaseAdmin' | translate }}\n\n <svg class=\"cds--btn__icon\" cdsIcon=\"settings\" size=\"16\"></svg>\n </button>\n</ng-template>\n", styles: [".hidden{display:none}.loading-container{padding:var(--cds-grid-margin);display:flex;align-items:center;justify-content:center}.carbon-document-table-wrapper{margin:0}.documenten-api-documents-filesize-template{text-align:right}::ng-deep .cds--overflow-menu-options.cds--overflow-menu-options--open{max-width:max-content!important;width:max-content!important}\n/*!\n * Copyright 2015-2025 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"] }]
1879
+ }], ctorParameters: () => [{ type: i2.ConfigService }, { type: DocumentenApiColumnService }, { type: DocumentenApiDocumentService }, { type: DocumentenApiVersionService }, { type: i4$1.DocumentService }, { type: i5$3.DownloadService }, { type: i5$1.IconService }, { type: i7.PermissionService }, { type: i1$2.ActivatedRoute }, { type: i1$2.Router }, { type: i5.TranslateService }, { type: i5$3.UploadProviderService }, { type: i10.UserProviderService }], propDecorators: { fileInput: [{
1849
1880
  type: ViewChild,
1850
1881
  args: ['fileInput']
1851
1882
  }], translationTemplate: [{
@@ -1854,7 +1885,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
1854
1885
  }] } });
1855
1886
 
1856
1887
  /*
1857
- * Copyright 2015-2024 Ritense BV, the Netherlands.
1888
+ * Copyright 2015-2025 Ritense BV, the Netherlands.
1858
1889
  *
1859
1890
  * Licensed under EUPL, Version 1.2 (the "License");
1860
1891
  * you may not use this file except in compliance with the License.
@@ -1868,14 +1899,17 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
1868
1899
  * See the License for the specific language governing permissions and
1869
1900
  * limitations under the License.
1870
1901
  */
1871
- class DossierManagementLinkProcessComponent {
1902
+ class CaseManagementLinkProcessComponent {
1903
+ //Necessary to trigger outside click detection for combo-box
1904
+ emptyCallback() {
1905
+ return;
1906
+ }
1872
1907
  constructor(configService, route, documentenApiLinkProcessService, documentenApiVersionService) {
1873
1908
  this.configService = configService;
1874
1909
  this.route = route;
1875
1910
  this.documentenApiLinkProcessService = documentenApiLinkProcessService;
1876
1911
  this.documentenApiVersionService = documentenApiVersionService;
1877
1912
  this.documentenApiUploadProviders$ = new BehaviorSubject(false);
1878
- this._documentDefinitionName$ = this.route.params.pipe(map(params => params?.name), filter$1(name => !!name));
1879
1913
  this.selectedProcessKey$ = new BehaviorSubject('');
1880
1914
  this.processItems$ = combineLatest([
1881
1915
  this.documentenApiLinkProcessService.getProcessDefinitions(),
@@ -1887,32 +1921,40 @@ class DossierManagementLinkProcessComponent {
1887
1921
  id: process.key,
1888
1922
  selected: selectedProcessKey === process.key,
1889
1923
  }))), tap(() => this.documentenApiVersionService.refresh()));
1924
+ this._caseParams$ = getCaseManagementRouteParams(this.route);
1925
+ this._subscriptions = new Subscription();
1890
1926
  this.disabled$ = new BehaviorSubject(false);
1891
1927
  }
1892
1928
  ngOnInit() {
1893
1929
  this.setDocumentenApiUploaderProvider(this.configService.config);
1894
1930
  }
1931
+ ngOnDestroy() {
1932
+ this._subscriptions.unsubscribe();
1933
+ }
1895
1934
  selectProcess(item) {
1896
1935
  const processDefinitionKey = item?.id;
1897
1936
  this.disabled$.next(true);
1898
1937
  const currentSelectionId = this.selectedProcessKey$.getValue();
1899
- if (processDefinitionKey && processDefinitionKey !== currentSelectionId) {
1900
- this.disabled$.next(true);
1901
- this._documentDefinitionName$
1902
- .pipe(switchMap(documentDefinitionName => this.documentenApiLinkProcessService.updateLinkedUploadProcess(documentDefinitionName, processDefinitionKey)))
1903
- .subscribe(processLink => {
1904
- this.selectedProcessKey$.next(processLink.processDefinitionKey);
1905
- this.disabled$.next(false);
1906
- });
1907
- }
1908
- else if (!processDefinitionKey) {
1909
- this._documentDefinitionName$
1910
- .pipe(switchMap(documentDefinitionName => this.documentenApiLinkProcessService.deleteLinkedUploadProcess(documentDefinitionName)))
1911
- .subscribe(() => {
1912
- this.selectedProcessKey$.next('');
1913
- this.disabled$.next(false);
1914
- });
1915
- }
1938
+ if (processDefinitionKey && processDefinitionKey !== currentSelectionId)
1939
+ this.updateProcess(processDefinitionKey);
1940
+ else if (!processDefinitionKey)
1941
+ this.deleteProcess();
1942
+ }
1943
+ deleteProcess() {
1944
+ this._caseParams$
1945
+ .pipe(take$1(1), switchMap((params) => this.documentenApiLinkProcessService.deleteLinkedUploadProcess(params?.caseDefinitionKey ?? '', params?.caseDefinitionVersionTag ?? '')))
1946
+ .subscribe(() => {
1947
+ this.selectedProcessKey$.next('');
1948
+ this.disabled$.next(false);
1949
+ });
1950
+ }
1951
+ updateProcess(processDefinitionKey) {
1952
+ this._caseParams$
1953
+ .pipe(take$1(1), switchMap((params) => this.documentenApiLinkProcessService.updateLinkedUploadProcess(params?.caseDefinitionKey ?? '', params?.caseDefinitionVersionTag ?? '', processDefinitionKey)))
1954
+ .subscribe(processLink => {
1955
+ this.selectedProcessKey$.next(processLink.processDefinitionKey);
1956
+ this.disabled$.next(false);
1957
+ });
1916
1958
  }
1917
1959
  setDocumentenApiUploaderProvider(config) {
1918
1960
  const hasDocumentenApiUploadProvider = config.uploadProvider === UploadProvider.DOCUMENTEN_API;
@@ -1921,24 +1963,27 @@ class DossierManagementLinkProcessComponent {
1921
1963
  this.getDefaultSelection();
1922
1964
  }
1923
1965
  getDefaultSelection() {
1924
- this._documentDefinitionName$
1925
- .pipe(switchMap(documentDefinitionName => this.documentenApiLinkProcessService.getLinkedUploadProcess(documentDefinitionName)))
1966
+ this._subscriptions.add(this._caseParams$
1967
+ .pipe(switchMap((params) => this.documentenApiLinkProcessService.getLinkedUploadProcess(params?.caseDefinitionKey ?? '', params?.caseDefinitionVersionTag ?? '')))
1926
1968
  .subscribe(linkedUploadProcess => {
1927
- if (linkedUploadProcess) {
1928
- this.selectedProcessKey$.next(linkedUploadProcess.processDefinitionKey);
1929
- }
1930
- });
1969
+ this.selectedProcessKey$.next(linkedUploadProcess?.processDefinitionKey ?? '');
1970
+ }));
1931
1971
  }
1932
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DossierManagementLinkProcessComponent, deps: [{ token: i2.ConfigService }, { token: i1$2.ActivatedRoute }, { token: DocumentenApiLinkProcessService }, { token: DocumentenApiVersionService }], target: i0.ɵɵFactoryTarget.Component }); }
1933
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: DossierManagementLinkProcessComponent, isStandalone: true, selector: "valtimo-dossier-management-link-process", ngImport: i0, template: "<!--\n ~ Copyright 2015-2024 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 *ngIf=\"documentenApiUploadProviders$ | async\">\n <h2 class=\"mb-4\">{{ 'dossierManagement.linkProcess.title' | translate }}</h2>\n\n <v-paragraph [margin]=\"true\">{{\n 'dossierManagement.linkProcess.description' | translate\n }}</v-paragraph>\n\n <ng-container\n *ngIf=\"{\n processItems: processItems$ | async,\n disabled: disabled$ | async,\n } as obs\"\n >\n <cds-combo-box\n [appendInline]=\"true\"\n (selected)=\"selectProcess($event)\"\n [disabled]=\"obs.disabled || !obs.processItems\"\n >\n <cds-dropdown-list [items]=\"obs.processItems || []\"></cds-dropdown-list>\n </cds-combo-box>\n </ng-container>\n</ng-container>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }, { kind: "ngmodule", type: ParagraphModule }, { kind: "component", type: i3$1.ParagraphComponent, selector: "v-paragraph", inputs: ["center", "fullWidth", "margin", "italic", "loading", "dataTestId"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }, { kind: "ngmodule", type: ComboBoxModule }, { kind: "component", type: i6.ComboBox, selector: "cds-combo-box, ibm-combo-box", inputs: ["placeholder", "openMenuAria", "closeMenuAria", "clearSelectionsTitle", "clearSelectionsAria", "clearSelectionTitle", "clearSelectionAria", "id", "labelId", "items", "type", "size", "itemValueKey", "label", "hideLabel", "helperText", "appendInline", "invalid", "invalidText", "warn", "warnText", "maxLength", "theme", "selectionFeedback", "autocomplete", "dropUp", "disabled"], outputs: ["selected", "submit", "close", "search", "clear"] }, { kind: "component", type: i6.DropdownList, selector: "cds-dropdown-list, ibm-dropdown-list", inputs: ["ariaLabel", "items", "listTpl", "type", "showTitles"], outputs: ["select", "scroll", "blurIntent"] }] }); }
1972
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: CaseManagementLinkProcessComponent, deps: [{ token: i2.ConfigService }, { token: i1$2.ActivatedRoute }, { token: DocumentenApiLinkProcessService }, { token: DocumentenApiVersionService }], target: i0.ɵɵFactoryTarget.Component }); }
1973
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.14", type: CaseManagementLinkProcessComponent, isStandalone: true, selector: "valtimo-case-management-link-process", inputs: { isReadOnly$: "isReadOnly$" }, host: { listeners: { "document:click": "emptyCallback($event)" } }, ngImport: i0, template: "<!--\n ~ Copyright 2015-2025 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 processItems: processItems$ | async,\n disabled: disabled$ | async,\n isReadOnly: isReadOnly$ | async,\n } as obs\"\n class=\"link-upload-process\"\n>\n <p class=\"link-upload-process__title\">\n {{ 'caseManagement.tabs.generalTab.linkUploadProcess.title' | translate }}\n </p>\n\n <cds-combo-box\n [cdsLayer]=\"1\"\n valtimoReadOnly\n [isReadOnly]=\"obs.isReadOnly\"\n [appendInline]=\"true\"\n [dropUp]=\"false\"\n [label]=\"'caseManagement.tabs.generalTab.linkUploadProcess.label' | translate\"\n [placeholder]=\"\n 'processLinkConfiguration.' + (obs.isReadOnly ? 'noProcess' : 'selectProcess') | translate\n \"\n [disabled]=\"obs.disabled || !obs.processItems || obs.isReadOnly\"\n (selected)=\"selectProcess($event)\"\n >\n <cds-dropdown-list [items]=\"obs.processItems || []\"></cds-dropdown-list>\n </cds-combo-box>\n</div>\n", styles: [".link-upload-process{background-color:var(--cds-layer);padding:24px}.link-upload-process__title{font-size:16px;line-height:24px;font-weight:600;margin-bottom:16px}\n/*!\n * Copyright 2015-2025 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: "ngmodule", type: CommonModule }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i5.TranslatePipe, name: "translate" }, { kind: "ngmodule", type: ComboBoxModule }, { kind: "component", type: i5$1.ComboBox, selector: "cds-combo-box, ibm-combo-box", inputs: ["placeholder", "openMenuAria", "closeMenuAria", "clearSelectionsTitle", "clearSelectionsAria", "clearSelectionTitle", "clearSelectionAria", "id", "labelId", "items", "type", "size", "itemValueKey", "label", "hideLabel", "helperText", "appendInline", "invalid", "invalidText", "warn", "warnText", "maxLength", "theme", "selectionFeedback", "autocomplete", "dropUp", "disabled", "readonly", "fluid"], outputs: ["selected", "submit", "close", "search", "clear"] }, { kind: "component", type: i5$1.DropdownList, selector: "cds-dropdown-list, ibm-dropdown-list", inputs: ["ariaLabel", "items", "listTpl", "type", "showTitles"], outputs: ["select", "scroll", "blurIntent"] }, { kind: "ngmodule", type: LayerModule }, { kind: "directive", type: i5$1.LayerDirective, selector: "[cdsLayer], [ibmLayer]", inputs: ["ibmLayer", "cdsLayer"], exportAs: ["layer"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
1934
1974
  }
1935
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DossierManagementLinkProcessComponent, decorators: [{
1975
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: CaseManagementLinkProcessComponent, decorators: [{
1936
1976
  type: Component,
1937
- args: [{ selector: 'valtimo-dossier-management-link-process', standalone: true, imports: [CommonModule, ParagraphModule, TranslateModule, ComboBoxModule], template: "<!--\n ~ Copyright 2015-2024 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 *ngIf=\"documentenApiUploadProviders$ | async\">\n <h2 class=\"mb-4\">{{ 'dossierManagement.linkProcess.title' | translate }}</h2>\n\n <v-paragraph [margin]=\"true\">{{\n 'dossierManagement.linkProcess.description' | translate\n }}</v-paragraph>\n\n <ng-container\n *ngIf=\"{\n processItems: processItems$ | async,\n disabled: disabled$ | async,\n } as obs\"\n >\n <cds-combo-box\n [appendInline]=\"true\"\n (selected)=\"selectProcess($event)\"\n [disabled]=\"obs.disabled || !obs.processItems\"\n >\n <cds-dropdown-list [items]=\"obs.processItems || []\"></cds-dropdown-list>\n </cds-combo-box>\n </ng-container>\n</ng-container>\n" }]
1938
- }], ctorParameters: () => [{ type: i2.ConfigService }, { type: i1$2.ActivatedRoute }, { type: DocumentenApiLinkProcessService }, { type: DocumentenApiVersionService }] });
1977
+ args: [{ selector: 'valtimo-case-management-link-process', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, imports: [CommonModule, TranslateModule, ComboBoxModule, LayerModule], template: "<!--\n ~ Copyright 2015-2025 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 processItems: processItems$ | async,\n disabled: disabled$ | async,\n isReadOnly: isReadOnly$ | async,\n } as obs\"\n class=\"link-upload-process\"\n>\n <p class=\"link-upload-process__title\">\n {{ 'caseManagement.tabs.generalTab.linkUploadProcess.title' | translate }}\n </p>\n\n <cds-combo-box\n [cdsLayer]=\"1\"\n valtimoReadOnly\n [isReadOnly]=\"obs.isReadOnly\"\n [appendInline]=\"true\"\n [dropUp]=\"false\"\n [label]=\"'caseManagement.tabs.generalTab.linkUploadProcess.label' | translate\"\n [placeholder]=\"\n 'processLinkConfiguration.' + (obs.isReadOnly ? 'noProcess' : 'selectProcess') | translate\n \"\n [disabled]=\"obs.disabled || !obs.processItems || obs.isReadOnly\"\n (selected)=\"selectProcess($event)\"\n >\n <cds-dropdown-list [items]=\"obs.processItems || []\"></cds-dropdown-list>\n </cds-combo-box>\n</div>\n", styles: [".link-upload-process{background-color:var(--cds-layer);padding:24px}.link-upload-process__title{font-size:16px;line-height:24px;font-weight:600;margin-bottom:16px}\n/*!\n * Copyright 2015-2025 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"] }]
1978
+ }], ctorParameters: () => [{ type: i2.ConfigService }, { type: i1$2.ActivatedRoute }, { type: DocumentenApiLinkProcessService }, { type: DocumentenApiVersionService }], propDecorators: { isReadOnly$: [{
1979
+ type: Input
1980
+ }], emptyCallback: [{
1981
+ type: HostListener,
1982
+ args: ['document:click', ['$event']]
1983
+ }] } });
1939
1984
 
1940
1985
  /*
1941
- * Copyright 2015-2024 Ritense BV, the Netherlands.
1986
+ * Copyright 2015-2025 Ritense BV, the Netherlands.
1942
1987
  *
1943
1988
  * Licensed under EUPL, Version 1.2 (the "License");
1944
1989
  * you may not use this file except in compliance with the License.
@@ -1981,9 +2026,7 @@ class DocumentenApiTagModalComponent {
1981
2026
  }
1982
2027
  addTag() {
1983
2028
  this.disable();
1984
- this.documentenApiTagService
1985
- .createTag(this.documentDefinitionName, this.value.value)
1986
- .subscribe({
2029
+ this.documentenApiTagService.createTag(this.caseDefinitionKey, this.value.value).subscribe({
1987
2030
  next: () => {
1988
2031
  this.enable();
1989
2032
  this.closeAndRefresh();
@@ -2015,10 +2058,10 @@ class DocumentenApiTagModalComponent {
2015
2058
  this.closeModalEvent.emit('closeAndRefresh');
2016
2059
  this.resetForm();
2017
2060
  }
2018
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DocumentenApiTagModalComponent, deps: [{ token: i1$1.FormBuilder }, { token: DocumentenApiTagService }], target: i0.ɵɵFactoryTarget.Component }); }
2019
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: DocumentenApiTagModalComponent, isStandalone: true, selector: "valtimo-documenten-api-tag-modal", inputs: { documentDefinitionName: "documentDefinitionName", open: "open" }, outputs: { closeModalEvent: "closeModalEvent" }, ngImport: i0, template: "<!--\n ~ Copyright 2015-2024 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<cds-modal\n valtimoCdsModal\n *ngIf=\"{\n disabled: disabled$ | async,\n } as obs\"\n [open]=\"open\"\n size=\"sm\"\n>\n <cds-modal-header showCloseButton=\"true\" (closeSelect)=\"onClose()\" [cdsLayer]=\"1\">\n <h3 cdsModalHeaderHeading>\n {{ 'zgw.tags.addModal.header' | translate }}\n </h3>\n </cds-modal-header>\n\n <section cdsModalContent [cdsLayer]=\"1\">\n <form [formGroup]=\"tagFormGroup\" class=\"tag-form\">\n <cds-label\n [invalidText]=\"\n (value?.errors?.['required']\n ? 'zgw.tags.fields.valueRequired'\n : 'zgw.tags.fields.valueMaxLength'\n ) | translate: {maxlength: value?.errors?.maxlength?.requiredLength}\n \"\n [invalid]=\"value.dirty && value.invalid\"\n >\n {{ 'zgw.tags.fields.value' | translate }}\n\n <input\n cdsText\n formControlName=\"value\"\n [attr.modal-primary-focus]=\"true\"\n [invalid]=\"value.dirty && value.invalid\"\n />\n </cds-label>\n </form>\n </section>\n\n <cds-modal-footer [cdsLayer]=\"1\">\n <button cdsButton=\"secondary\" (click)=\"onClose()\" [disabled]=\"obs.disabled\">\n {{ 'interface.cancel' | translate }}\n </button>\n\n <button cdsButton=\"primary\" [disabled]=\"invalid || pristine || obs.disabled\" (click)=\"addTag()\">\n {{ 'interface.add' | translate }}\n </button>\n </cds-modal-footer>\n</cds-modal>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }, { kind: "ngmodule", type: ModalModule }, { kind: "component", type: i6.Modal, selector: "cds-modal, ibm-modal", inputs: ["size", "theme", "ariaLabel", "open", "trigger", "hasScrollingContent"], outputs: ["overlaySelected", "close"] }, { kind: "component", type: i6.ModalHeader, selector: "cds-modal-header, ibm-modal-header", inputs: ["theme", "closeLabel", "showCloseButton"], outputs: ["closeSelect"] }, { kind: "component", type: i6.ModalFooter, selector: "cds-modal-footer, ibm-modal-footer" }, { kind: "directive", type: i6.ModalContent, selector: "[cdsModalContent], [ibmModalContent]", inputs: ["hasForm"] }, { kind: "directive", type: i6.ModalHeaderHeading, selector: "[cdsModalHeaderHeading], [ibmModalHeaderHeading]" }, { kind: "ngmodule", type: TagModule }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }, { kind: "ngmodule", type: InputModule }, { kind: "component", type: i6.Label, selector: "cds-label, ibm-label", inputs: ["labelInputID", "disabled", "skeleton", "helperText", "invalidText", "invalid", "warn", "warnText", "ariaLabel"] }, { kind: "directive", type: i6.TextInput, selector: "[cdsText], [ibmText]", inputs: ["theme", "size", "invalid", "warn", "skeleton"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "ngmodule", type: ButtonModule }, { kind: "directive", type: i6.Button, selector: "[cdsButton], [ibmButton]", inputs: ["ibmButton", "cdsButton", "size", "skeleton", "iconOnly", "isExpressive"] }, { kind: "ngmodule", type: DropdownModule }, { kind: "ngmodule", type: ToggleModule }, { kind: "ngmodule", type: LayerModule }, { kind: "directive", type: i6.LayerDirective, selector: "[cdsLayer], [ibmLayer]", inputs: ["ibmLayer", "cdsLayer"], exportAs: ["layer"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
2061
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: DocumentenApiTagModalComponent, deps: [{ token: i1$1.FormBuilder }, { token: DocumentenApiTagService }], target: i0.ɵɵFactoryTarget.Component }); }
2062
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.14", type: DocumentenApiTagModalComponent, isStandalone: true, selector: "valtimo-documenten-api-tag-modal", inputs: { caseDefinitionKey: "caseDefinitionKey", open: "open" }, outputs: { closeModalEvent: "closeModalEvent" }, ngImport: i0, template: "<!--\n ~ Copyright 2015-2025 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<cds-modal\n valtimoCdsModal\n *ngIf=\"{\n disabled: disabled$ | async,\n } as obs\"\n [open]=\"open\"\n size=\"sm\"\n (close)=\"onClose()\"\n>\n <cds-modal-header showCloseButton=\"true\" (closeSelect)=\"onClose()\" [cdsLayer]=\"1\">\n <h3 cdsModalHeaderHeading>\n {{ 'zgw.tags.addModal.header' | translate }}\n </h3>\n </cds-modal-header>\n\n <section cdsModalContent [cdsLayer]=\"1\">\n <form [formGroup]=\"tagFormGroup\" class=\"tag-form\">\n <cds-label\n [invalidText]=\"\n (value?.errors?.['required']\n ? 'zgw.tags.fields.valueRequired'\n : 'zgw.tags.fields.valueMaxLength'\n ) | translate: {maxlength: value?.errors?.maxlength?.requiredLength}\n \"\n [invalid]=\"value.dirty && value.invalid\"\n >\n {{ 'zgw.tags.fields.value' | translate }}\n\n <input\n cdsText\n formControlName=\"value\"\n [attr.modal-primary-focus]=\"true\"\n [invalid]=\"value.dirty && value.invalid\"\n />\n </cds-label>\n </form>\n </section>\n\n <cds-modal-footer [cdsLayer]=\"1\">\n <button cdsButton=\"secondary\" (click)=\"onClose()\" [disabled]=\"obs.disabled\">\n {{ 'interface.cancel' | translate }}\n </button>\n\n <button cdsButton=\"primary\" [disabled]=\"invalid || pristine || obs.disabled\" (click)=\"addTag()\">\n {{ 'interface.add' | translate }}\n </button>\n </cds-modal-footer>\n</cds-modal>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }, { kind: "ngmodule", type: ModalModule }, { kind: "component", type: i5$1.Modal, selector: "cds-modal, ibm-modal", inputs: ["size", "theme", "ariaLabel", "open", "trigger", "hasScrollingContent"], outputs: ["overlaySelected", "close"] }, { kind: "component", type: i5$1.ModalHeader, selector: "cds-modal-header, ibm-modal-header", inputs: ["theme", "closeLabel", "showCloseButton"], outputs: ["closeSelect"] }, { kind: "component", type: i5$1.ModalFooter, selector: "cds-modal-footer, ibm-modal-footer" }, { kind: "directive", type: i5$1.ModalContent, selector: "[cdsModalContent], [ibmModalContent]", inputs: ["hasForm"] }, { kind: "directive", type: i5$1.ModalHeaderHeading, selector: "[cdsModalHeaderHeading], [ibmModalHeaderHeading]" }, { kind: "ngmodule", type: TagModule }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i5.TranslatePipe, name: "translate" }, { kind: "ngmodule", type: InputModule }, { kind: "component", type: i5$1.Label, selector: "cds-label, ibm-label", inputs: ["labelInputID", "disabled", "skeleton", "helperText", "invalidText", "invalid", "warn", "warnText", "ariaLabel"] }, { kind: "directive", type: i5$1.TextInput, selector: "[cdsText], [ibmText]", inputs: ["theme", "size", "invalid", "warn", "skeleton"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "ngmodule", type: ButtonModule }, { kind: "directive", type: i5$1.Button, selector: "[cdsButton], [ibmButton]", inputs: ["ibmButton", "cdsButton", "size", "skeleton", "iconOnly", "isExpressive"] }, { kind: "ngmodule", type: DropdownModule }, { kind: "ngmodule", type: ToggleModule }, { kind: "ngmodule", type: LayerModule }, { kind: "directive", type: i5$1.LayerDirective, selector: "[cdsLayer], [ibmLayer]", inputs: ["ibmLayer", "cdsLayer"], exportAs: ["layer"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
2020
2063
  }
2021
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DocumentenApiTagModalComponent, decorators: [{
2064
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: DocumentenApiTagModalComponent, decorators: [{
2022
2065
  type: Component,
2023
2066
  args: [{ selector: 'valtimo-documenten-api-tag-modal', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [
2024
2067
  CommonModule,
@@ -2031,8 +2074,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
2031
2074
  DropdownModule,
2032
2075
  ToggleModule,
2033
2076
  LayerModule,
2034
- ], template: "<!--\n ~ Copyright 2015-2024 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<cds-modal\n valtimoCdsModal\n *ngIf=\"{\n disabled: disabled$ | async,\n } as obs\"\n [open]=\"open\"\n size=\"sm\"\n>\n <cds-modal-header showCloseButton=\"true\" (closeSelect)=\"onClose()\" [cdsLayer]=\"1\">\n <h3 cdsModalHeaderHeading>\n {{ 'zgw.tags.addModal.header' | translate }}\n </h3>\n </cds-modal-header>\n\n <section cdsModalContent [cdsLayer]=\"1\">\n <form [formGroup]=\"tagFormGroup\" class=\"tag-form\">\n <cds-label\n [invalidText]=\"\n (value?.errors?.['required']\n ? 'zgw.tags.fields.valueRequired'\n : 'zgw.tags.fields.valueMaxLength'\n ) | translate: {maxlength: value?.errors?.maxlength?.requiredLength}\n \"\n [invalid]=\"value.dirty && value.invalid\"\n >\n {{ 'zgw.tags.fields.value' | translate }}\n\n <input\n cdsText\n formControlName=\"value\"\n [attr.modal-primary-focus]=\"true\"\n [invalid]=\"value.dirty && value.invalid\"\n />\n </cds-label>\n </form>\n </section>\n\n <cds-modal-footer [cdsLayer]=\"1\">\n <button cdsButton=\"secondary\" (click)=\"onClose()\" [disabled]=\"obs.disabled\">\n {{ 'interface.cancel' | translate }}\n </button>\n\n <button cdsButton=\"primary\" [disabled]=\"invalid || pristine || obs.disabled\" (click)=\"addTag()\">\n {{ 'interface.add' | translate }}\n </button>\n </cds-modal-footer>\n</cds-modal>\n" }]
2035
- }], ctorParameters: () => [{ type: i1$1.FormBuilder }, { type: DocumentenApiTagService }], propDecorators: { documentDefinitionName: [{
2077
+ ], template: "<!--\n ~ Copyright 2015-2025 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<cds-modal\n valtimoCdsModal\n *ngIf=\"{\n disabled: disabled$ | async,\n } as obs\"\n [open]=\"open\"\n size=\"sm\"\n (close)=\"onClose()\"\n>\n <cds-modal-header showCloseButton=\"true\" (closeSelect)=\"onClose()\" [cdsLayer]=\"1\">\n <h3 cdsModalHeaderHeading>\n {{ 'zgw.tags.addModal.header' | translate }}\n </h3>\n </cds-modal-header>\n\n <section cdsModalContent [cdsLayer]=\"1\">\n <form [formGroup]=\"tagFormGroup\" class=\"tag-form\">\n <cds-label\n [invalidText]=\"\n (value?.errors?.['required']\n ? 'zgw.tags.fields.valueRequired'\n : 'zgw.tags.fields.valueMaxLength'\n ) | translate: {maxlength: value?.errors?.maxlength?.requiredLength}\n \"\n [invalid]=\"value.dirty && value.invalid\"\n >\n {{ 'zgw.tags.fields.value' | translate }}\n\n <input\n cdsText\n formControlName=\"value\"\n [attr.modal-primary-focus]=\"true\"\n [invalid]=\"value.dirty && value.invalid\"\n />\n </cds-label>\n </form>\n </section>\n\n <cds-modal-footer [cdsLayer]=\"1\">\n <button cdsButton=\"secondary\" (click)=\"onClose()\" [disabled]=\"obs.disabled\">\n {{ 'interface.cancel' | translate }}\n </button>\n\n <button cdsButton=\"primary\" [disabled]=\"invalid || pristine || obs.disabled\" (click)=\"addTag()\">\n {{ 'interface.add' | translate }}\n </button>\n </cds-modal-footer>\n</cds-modal>\n" }]
2078
+ }], ctorParameters: () => [{ type: i1$1.FormBuilder }, { type: DocumentenApiTagService }], propDecorators: { caseDefinitionKey: [{
2036
2079
  type: Input
2037
2080
  }], open: [{
2038
2081
  type: Input
@@ -2041,7 +2084,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
2041
2084
  }] } });
2042
2085
 
2043
2086
  /*
2044
- * Copyright 2015-2024 Ritense BV, the Netherlands.
2087
+ * Copyright 2015-2025 Ritense BV, the Netherlands.
2045
2088
  *
2046
2089
  * Licensed under EUPL, Version 1.2 (the "License");
2047
2090
  * you may not use this file except in compliance with the License.
@@ -2056,14 +2099,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
2056
2099
  * limitations under the License.
2057
2100
  */
2058
2101
  class DocumentenApiTagsComponent {
2059
- get documentDefinitionName$() {
2060
- return this._documentDefinitionName$;
2061
- }
2062
2102
  constructor(route, documentenApiTagService) {
2063
2103
  this.route = route;
2064
2104
  this.documentenApiTagService = documentenApiTagService;
2065
2105
  this._reload$ = new BehaviorSubject(null);
2066
- this._documentDefinitionName$ = this.route.params.pipe(map(params => params?.name), filter(docDefName => !!docDefName));
2106
+ this.caseDefinitionKey$ = getCaseManagementRouteParams(this.route).pipe(map((params) => params?.caseDefinitionKey ?? ''), filter((caseDefinitionKey) => !!caseDefinitionKey));
2067
2107
  this.loading$ = new BehaviorSubject(true);
2068
2108
  this.fields$ = new BehaviorSubject([]);
2069
2109
  this.addModalClosed$ = new BehaviorSubject(true);
@@ -2073,14 +2113,13 @@ class DocumentenApiTagsComponent {
2073
2113
  this.searchTerm$ = new BehaviorSubject('');
2074
2114
  this.tagToDelete$ = new BehaviorSubject(null);
2075
2115
  this.documentTags$ = combineLatest([
2076
- this._documentDefinitionName$,
2116
+ this.caseDefinitionKey$,
2077
2117
  this.searchTerm$,
2078
2118
  this._reload$,
2079
2119
  ]).pipe(tap(([_1, _2, reload]) => {
2080
- if (reload === null) {
2120
+ if (reload === null)
2081
2121
  this.loading$.next(true);
2082
- }
2083
- }), switchMap(([documentDefinitionName, searchTerm]) => this.documentenApiTagService.getTagsForAdmin(documentDefinitionName, {
2122
+ }), switchMap(([caseDefinitionKey, searchTerm]) => this.documentenApiTagService.getTagsForAdmin(caseDefinitionKey, {
2084
2123
  page: this.pagination.page - 1,
2085
2124
  size: this.pagination.size,
2086
2125
  search: searchTerm,
@@ -2121,9 +2160,8 @@ class DocumentenApiTagsComponent {
2121
2160
  this.addModalClosed$.next(false);
2122
2161
  }
2123
2162
  closeModal(closeModalEvent) {
2124
- if (closeModalEvent === 'closeAndRefresh') {
2163
+ if (closeModalEvent === 'closeAndRefresh')
2125
2164
  this.reload();
2126
- }
2127
2165
  this.addModalClosed$.next(true);
2128
2166
  }
2129
2167
  showDeleteMultipleModal() {
@@ -2142,15 +2180,15 @@ class DocumentenApiTagsComponent {
2142
2180
  this.reload();
2143
2181
  }
2144
2182
  confirmDeleteTag(tag) {
2145
- this.documentDefinitionName$
2146
- .pipe(switchMap(documentDefinitionName => this.documentenApiTagService.deleteTag(documentDefinitionName, tag.value)))
2183
+ this.caseDefinitionKey$
2184
+ .pipe(switchMap(caseDefinitionKey => this.documentenApiTagService.deleteTag(caseDefinitionKey, tag.value)))
2147
2185
  .subscribe(() => {
2148
2186
  this.reload();
2149
2187
  });
2150
2188
  }
2151
2189
  confirmDeleteMultipleTag(tagsToDelete) {
2152
2190
  this.documentenApiTagService
2153
- .deleteTags(tagsToDelete.documentDefinitionName, tagsToDelete.tagIds)
2191
+ .deleteTags(tagsToDelete.caseDefinitionKey, tagsToDelete.tagIds)
2154
2192
  .subscribe(() => {
2155
2193
  const lastPage = Math.ceil(this.pagination.collectionSize / this.pagination.size);
2156
2194
  if (tagsToDelete.itemsOnCurrentPage <= tagsToDelete.tagIds.length &&
@@ -2168,10 +2206,10 @@ class DocumentenApiTagsComponent {
2168
2206
  reload(noAnimation = false) {
2169
2207
  this._reload$.next(noAnimation ? 'noAnimation' : null);
2170
2208
  }
2171
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DocumentenApiTagsComponent, deps: [{ token: i1$2.ActivatedRoute }, { token: DocumentenApiTagService }], target: i0.ɵɵFactoryTarget.Component }); }
2172
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: DocumentenApiTagsComponent, isStandalone: true, selector: "valtimo-documenten-api-tags", viewQueries: [{ propertyName: "carbonList", first: true, predicate: CarbonListComponent, descendants: true }], ngImport: i0, template: "<!--\n ~ Copyright 2015-2024 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 loading: loading$ | async,\n documentTags: documentTags$ | async,\n addModalClosed: addModalClosed$ | async,\n documentDefinitionName: documentDefinitionName$ | async,\n selectedRowKeys: selectedRowKeys$ | async,\n searchTerm: searchTerm$ | async,\n showDeleteModal: showDeleteModal$ | async,\n tagToDelete: tagToDelete$ | async,\n } as obs\"\n>\n <valtimo-carbon-list\n [items]=\"obs.documentTags\"\n [fields]=\"FIELDS\"\n [header]=\"false\"\n [loading]=\"obs.loading\"\n [actionItems]=\"ACTION_ITEMS\"\n [showSelectionColumn]=\"true\"\n [isSearchable]=\"true\"\n [pagination]=\"pagination\"\n (paginationClicked)=\"paginationClicked($event)\"\n (paginationSet)=\"paginationSet($event)\"\n (search)=\"searchTermEntered($event)\"\n >\n <ng-container carbonToolbarContent *ngTemplateOutlet=\"addButtton\"></ng-container>\n\n <ng-container carbonToolbarActions>\n <button cdsButton=\"primary\" (click)=\"showDeleteMultipleModal()\">\n {{ 'interface.delete' | translate }}\n <svg class=\"cds--btn__icon\" cdsIcon=\"trash-can\" size=\"16\"></svg>\n </button>\n </ng-container>\n\n <valtimo-no-results\n *ngIf=\"obs.searchTerm === ''\"\n [action]=\"addButtton\"\n title=\"{{ 'zgw.tags.list.noResultsTitle' | translate }}\"\n description=\"{{ 'zgw.tags.list.noResultsDescription' | translate }}\"\n ></valtimo-no-results>\n\n <valtimo-no-results\n *ngIf=\"obs.searchTerm !== ''\"\n title=\"{{ 'zgw.tags.search.noResultsTitle' | translate }}\"\n description=\"{{ 'zgw.tags.search.noResultsDescription' | translate }}\"\n illustration=\"valtimo-layout/img/emptystate-no-result.svg\"\n ></valtimo-no-results>\n </valtimo-carbon-list>\n\n <valtimo-documenten-api-tag-modal\n [open]=\"!obs.addModalClosed\"\n [documentDefinitionName]=\"obs.documentDefinitionName\"\n (closeModalEvent)=\"closeModal($event)\"\n ></valtimo-documenten-api-tag-modal>\n\n <valtimo-confirmation-modal\n confirmButtonTextTranslationKey=\"interface.delete\"\n confirmButtonType=\"danger\"\n contentTranslationKey=\"zgw.tags.deleteText\"\n [showModalSubject$]=\"showDeleteModal$\"\n titleTranslationKey=\"interface.delete\"\n [outputOnConfirm]=\"obs.tagToDelete\"\n (confirmEvent)=\"confirmDeleteTag($event)\"\n ></valtimo-confirmation-modal>\n\n <valtimo-confirmation-modal\n confirmButtonTextTranslationKey=\"interface.delete\"\n confirmButtonType=\"danger\"\n [contentTranslationKey]=\"\n obs.selectedRowKeys.length > 1 ? 'zgw.tags.deleteMultipleText' : 'zgw.tags.deleteText'\n \"\n [showModalSubject$]=\"showDeleteMultipleModal$\"\n titleTranslationKey=\"interface.delete\"\n [outputOnConfirm]=\"{\n documentDefinitionName: obs.documentDefinitionName,\n tagIds: obs.selectedRowKeys,\n itemsOnCurrentPage: obs.documentTags.length,\n }\"\n (confirmEvent)=\"confirmDeleteMultipleTag($event)\"\n ></valtimo-confirmation-modal>\n\n <ng-template #addButtton>\n <button cdsButton=\"primary\" [disabled]=\"obs.loading\" (click)=\"openAddModal()\">\n <svg cdsIcon=\"add\" size=\"16\" class=\"cds--btn__icon\"></svg>\n {{ 'zgw.tags.add' | translate }}\n </button>\n </ng-template>\n</ng-container>\n", styles: ["::ng-deep .cds-tag--no-margin{margin:0}\n/*!\n * Copyright 2015-2024 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: "ngmodule", type: CommonModule }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }, { kind: "ngmodule", type: CarbonListModule }, { kind: "component", type: i3$1.CarbonListComponent, selector: "valtimo-carbon-list", inputs: ["items", "fields", "tableTranslations", "paginatorConfig", "pagination", "loading", "actions", "actionItems", "header", "hideColumnHeader", "initialSortState", "sortState", "isSearchable", "enableSingleSelection", "lastColumnTemplate", "paginationIdentifier", "showSelectionColumn", "striped", "hideToolbar", "lockedTooltipTranslationKey", "movingRowsEnabled", "dragAndDrop", "dragAndDropDisabled"], outputs: ["rowClicked", "paginationClicked", "paginationSet", "search", "sortChanged", "moveRow", "itemsReordered"] }, { kind: "component", type: i3$1.CarbonNoResultsComponent, selector: "valtimo-no-results", inputs: ["action", "description", "illustration", "title", "smallPadding", "collapseVertically", "alwaysRenderVertically"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }, { kind: "ngmodule", type: ConfirmationModalModule }, { kind: "component", type: i3$1.ConfirmationModalComponent, selector: "valtimo-confirmation-modal", inputs: ["titleTranslationKey", "title", "content", "contentTranslationKey", "confirmButtonText", "confirmButtonTextTranslationKey", "confirmButtonType", "showOptionalButton", "optionalButtonText", "optionalButtonTextTranslationKey", "optionalButtonType", "cancelButtonText", "cancelButtonTextTranslationKey", "cancelButtonType", "showModalSubject$", "outputOnConfirm", "outputOnOptional", "spacerAfterCancelButton"], outputs: ["confirmEvent", "optionalEvent", "cancelEvent"] }, { kind: "ngmodule", type: TagModule }, { kind: "ngmodule", type: ButtonModule }, { kind: "directive", type: i6.Button, selector: "[cdsButton], [ibmButton]", inputs: ["ibmButton", "cdsButton", "size", "skeleton", "iconOnly", "isExpressive"] }, { kind: "component", type: DocumentenApiTagModalComponent, selector: "valtimo-documenten-api-tag-modal", inputs: ["documentDefinitionName", "open"], outputs: ["closeModalEvent"] }, { kind: "ngmodule", type: IconModule }, { kind: "directive", type: i6.IconDirective, selector: "[cdsIcon], [ibmIcon]", inputs: ["ibmIcon", "cdsIcon", "size", "title", "ariaLabel", "ariaLabelledBy", "ariaHidden", "isFocusable"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
2209
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: DocumentenApiTagsComponent, deps: [{ token: i1$2.ActivatedRoute }, { token: DocumentenApiTagService }], target: i0.ɵɵFactoryTarget.Component }); }
2210
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.14", type: DocumentenApiTagsComponent, isStandalone: true, selector: "valtimo-documenten-api-tags", viewQueries: [{ propertyName: "carbonList", first: true, predicate: CarbonListComponent, descendants: true }], ngImport: i0, template: "<!--\n ~ Copyright 2015-2025 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 loading: loading$ | async,\n documentTags: documentTags$ | async,\n addModalClosed: addModalClosed$ | async,\n caseDefinitionKey: caseDefinitionKey$ | async,\n selectedRowKeys: selectedRowKeys$ | async,\n searchTerm: searchTerm$ | async,\n showDeleteModal: showDeleteModal$ | async,\n tagToDelete: tagToDelete$ | async,\n } as obs\"\n>\n <valtimo-carbon-list\n [items]=\"obs.documentTags\"\n [fields]=\"FIELDS\"\n [header]=\"false\"\n [loading]=\"obs.loading\"\n [actionItems]=\"ACTION_ITEMS\"\n [showSelectionColumn]=\"true\"\n [isSearchable]=\"true\"\n [pagination]=\"pagination\"\n (paginationClicked)=\"paginationClicked($event)\"\n (paginationSet)=\"paginationSet($event)\"\n (search)=\"searchTermEntered($event)\"\n >\n <ng-container carbonToolbarContent *ngTemplateOutlet=\"addButtton\"></ng-container>\n\n <ng-container carbonToolbarActions>\n <button cdsButton=\"primary\" (click)=\"showDeleteMultipleModal()\">\n {{ 'interface.delete' | translate }}\n <svg class=\"cds--btn__icon\" cdsIcon=\"trash-can\" size=\"16\"></svg>\n </button>\n </ng-container>\n\n <valtimo-no-results\n *ngIf=\"obs.searchTerm === ''\"\n [action]=\"addButtton\"\n title=\"{{ 'zgw.tags.list.noResultsTitle' | translate }}\"\n description=\"{{ 'zgw.tags.list.noResultsDescription' | translate }}\"\n ></valtimo-no-results>\n\n <valtimo-no-results\n *ngIf=\"obs.searchTerm !== ''\"\n title=\"{{ 'zgw.tags.search.noResultsTitle' | translate }}\"\n description=\"{{ 'zgw.tags.search.noResultsDescription' | translate }}\"\n illustration=\"valtimo-layout/img/emptystate-no-result.svg\"\n ></valtimo-no-results>\n </valtimo-carbon-list>\n\n <valtimo-documenten-api-tag-modal\n [open]=\"!obs.addModalClosed\"\n [caseDefinitionKey]=\"obs.caseDefinitionKey\"\n (closeModalEvent)=\"closeModal($event)\"\n ></valtimo-documenten-api-tag-modal>\n\n <valtimo-confirmation-modal\n confirmButtonTextTranslationKey=\"interface.delete\"\n confirmButtonType=\"danger\"\n contentTranslationKey=\"zgw.tags.deleteText\"\n [showModalSubject$]=\"showDeleteModal$\"\n titleTranslationKey=\"interface.delete\"\n [outputOnConfirm]=\"obs.tagToDelete\"\n (confirmEvent)=\"confirmDeleteTag($event)\"\n ></valtimo-confirmation-modal>\n\n <valtimo-confirmation-modal\n confirmButtonTextTranslationKey=\"interface.delete\"\n confirmButtonType=\"danger\"\n [contentTranslationKey]=\"\n obs.selectedRowKeys.length > 1 ? 'zgw.tags.deleteMultipleText' : 'zgw.tags.deleteText'\n \"\n [showModalSubject$]=\"showDeleteMultipleModal$\"\n titleTranslationKey=\"interface.delete\"\n [outputOnConfirm]=\"{\n caseDefinitionKey: obs.caseDefinitionKey,\n tagIds: obs.selectedRowKeys,\n itemsOnCurrentPage: obs.documentTags.length,\n }\"\n (confirmEvent)=\"confirmDeleteMultipleTag($event)\"\n ></valtimo-confirmation-modal>\n\n <ng-template #addButtton>\n <button cdsButton=\"primary\" [disabled]=\"obs.loading\" (click)=\"openAddModal()\">\n <svg cdsIcon=\"add\" size=\"16\" class=\"cds--btn__icon\"></svg>\n {{ 'zgw.tags.add' | translate }}\n </button>\n </ng-template>\n</ng-container>\n", styles: ["::ng-deep .cds-tag--no-margin{margin:0}\n/*!\n * Copyright 2015-2025 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: "ngmodule", type: CommonModule }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }, { kind: "ngmodule", type: CarbonListModule }, { kind: "component", type: i3.CarbonListComponent, selector: "valtimo-carbon-list", inputs: ["items", "fields", "tableTranslations", "paginatorConfig", "pagination", "loading", "actions", "actionItems", "showActionItems", "header", "hideColumnHeader", "initialSortState", "sortState", "isSearchable", "enableSingleSelection", "lastColumnTemplate", "paginationIdentifier", "showSelectionColumn", "striped", "hideToolbar", "lockedTooltipTranslationKey", "movingRowsEnabled", "dragAndDrop", "dragAndDropDisabled"], outputs: ["rowClicked", "paginationClicked", "paginationSet", "search", "sortChanged", "moveRow", "itemsReordered"] }, { kind: "component", type: i3.CarbonNoResultsComponent, selector: "valtimo-no-results", inputs: ["action", "description", "illustration", "title", "smallPadding", "collapseVertically", "alwaysRenderVertically"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i5.TranslatePipe, name: "translate" }, { kind: "ngmodule", type: ConfirmationModalModule }, { kind: "component", type: i3.ConfirmationModalComponent, selector: "valtimo-confirmation-modal", inputs: ["titleTranslationKey", "title", "content", "contentTranslationKey", "confirmButtonText", "confirmButtonTextTranslationKey", "confirmButtonType", "showOptionalButton", "optionalButtonText", "optionalButtonTextTranslationKey", "optionalButtonType", "cancelButtonText", "cancelButtonTextTranslationKey", "cancelButtonType", "showModalSubject$", "outputOnConfirm", "outputOnOptional", "spacerAfterCancelButton"], outputs: ["confirmEvent", "optionalEvent", "cancelEvent"] }, { kind: "ngmodule", type: TagModule }, { kind: "ngmodule", type: ButtonModule }, { kind: "directive", type: i5$1.Button, selector: "[cdsButton], [ibmButton]", inputs: ["ibmButton", "cdsButton", "size", "skeleton", "iconOnly", "isExpressive"] }, { kind: "component", type: DocumentenApiTagModalComponent, selector: "valtimo-documenten-api-tag-modal", inputs: ["caseDefinitionKey", "open"], outputs: ["closeModalEvent"] }, { kind: "ngmodule", type: IconModule }, { kind: "directive", type: i5$1.IconDirective, selector: "[cdsIcon], [ibmIcon]", inputs: ["ibmIcon", "cdsIcon", "size", "title", "ariaLabel", "ariaLabelledBy", "ariaHidden", "isFocusable"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
2173
2211
  }
2174
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DocumentenApiTagsComponent, decorators: [{
2212
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: DocumentenApiTagsComponent, decorators: [{
2175
2213
  type: Component,
2176
2214
  args: [{ selector: 'valtimo-documenten-api-tags', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [
2177
2215
  CommonModule,
@@ -2182,14 +2220,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
2182
2220
  ButtonModule,
2183
2221
  DocumentenApiTagModalComponent,
2184
2222
  IconModule,
2185
- ], template: "<!--\n ~ Copyright 2015-2024 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 loading: loading$ | async,\n documentTags: documentTags$ | async,\n addModalClosed: addModalClosed$ | async,\n documentDefinitionName: documentDefinitionName$ | async,\n selectedRowKeys: selectedRowKeys$ | async,\n searchTerm: searchTerm$ | async,\n showDeleteModal: showDeleteModal$ | async,\n tagToDelete: tagToDelete$ | async,\n } as obs\"\n>\n <valtimo-carbon-list\n [items]=\"obs.documentTags\"\n [fields]=\"FIELDS\"\n [header]=\"false\"\n [loading]=\"obs.loading\"\n [actionItems]=\"ACTION_ITEMS\"\n [showSelectionColumn]=\"true\"\n [isSearchable]=\"true\"\n [pagination]=\"pagination\"\n (paginationClicked)=\"paginationClicked($event)\"\n (paginationSet)=\"paginationSet($event)\"\n (search)=\"searchTermEntered($event)\"\n >\n <ng-container carbonToolbarContent *ngTemplateOutlet=\"addButtton\"></ng-container>\n\n <ng-container carbonToolbarActions>\n <button cdsButton=\"primary\" (click)=\"showDeleteMultipleModal()\">\n {{ 'interface.delete' | translate }}\n <svg class=\"cds--btn__icon\" cdsIcon=\"trash-can\" size=\"16\"></svg>\n </button>\n </ng-container>\n\n <valtimo-no-results\n *ngIf=\"obs.searchTerm === ''\"\n [action]=\"addButtton\"\n title=\"{{ 'zgw.tags.list.noResultsTitle' | translate }}\"\n description=\"{{ 'zgw.tags.list.noResultsDescription' | translate }}\"\n ></valtimo-no-results>\n\n <valtimo-no-results\n *ngIf=\"obs.searchTerm !== ''\"\n title=\"{{ 'zgw.tags.search.noResultsTitle' | translate }}\"\n description=\"{{ 'zgw.tags.search.noResultsDescription' | translate }}\"\n illustration=\"valtimo-layout/img/emptystate-no-result.svg\"\n ></valtimo-no-results>\n </valtimo-carbon-list>\n\n <valtimo-documenten-api-tag-modal\n [open]=\"!obs.addModalClosed\"\n [documentDefinitionName]=\"obs.documentDefinitionName\"\n (closeModalEvent)=\"closeModal($event)\"\n ></valtimo-documenten-api-tag-modal>\n\n <valtimo-confirmation-modal\n confirmButtonTextTranslationKey=\"interface.delete\"\n confirmButtonType=\"danger\"\n contentTranslationKey=\"zgw.tags.deleteText\"\n [showModalSubject$]=\"showDeleteModal$\"\n titleTranslationKey=\"interface.delete\"\n [outputOnConfirm]=\"obs.tagToDelete\"\n (confirmEvent)=\"confirmDeleteTag($event)\"\n ></valtimo-confirmation-modal>\n\n <valtimo-confirmation-modal\n confirmButtonTextTranslationKey=\"interface.delete\"\n confirmButtonType=\"danger\"\n [contentTranslationKey]=\"\n obs.selectedRowKeys.length > 1 ? 'zgw.tags.deleteMultipleText' : 'zgw.tags.deleteText'\n \"\n [showModalSubject$]=\"showDeleteMultipleModal$\"\n titleTranslationKey=\"interface.delete\"\n [outputOnConfirm]=\"{\n documentDefinitionName: obs.documentDefinitionName,\n tagIds: obs.selectedRowKeys,\n itemsOnCurrentPage: obs.documentTags.length,\n }\"\n (confirmEvent)=\"confirmDeleteMultipleTag($event)\"\n ></valtimo-confirmation-modal>\n\n <ng-template #addButtton>\n <button cdsButton=\"primary\" [disabled]=\"obs.loading\" (click)=\"openAddModal()\">\n <svg cdsIcon=\"add\" size=\"16\" class=\"cds--btn__icon\"></svg>\n {{ 'zgw.tags.add' | translate }}\n </button>\n </ng-template>\n</ng-container>\n", styles: ["::ng-deep .cds-tag--no-margin{margin:0}\n/*!\n * Copyright 2015-2024 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"] }]
2223
+ ], template: "<!--\n ~ Copyright 2015-2025 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 loading: loading$ | async,\n documentTags: documentTags$ | async,\n addModalClosed: addModalClosed$ | async,\n caseDefinitionKey: caseDefinitionKey$ | async,\n selectedRowKeys: selectedRowKeys$ | async,\n searchTerm: searchTerm$ | async,\n showDeleteModal: showDeleteModal$ | async,\n tagToDelete: tagToDelete$ | async,\n } as obs\"\n>\n <valtimo-carbon-list\n [items]=\"obs.documentTags\"\n [fields]=\"FIELDS\"\n [header]=\"false\"\n [loading]=\"obs.loading\"\n [actionItems]=\"ACTION_ITEMS\"\n [showSelectionColumn]=\"true\"\n [isSearchable]=\"true\"\n [pagination]=\"pagination\"\n (paginationClicked)=\"paginationClicked($event)\"\n (paginationSet)=\"paginationSet($event)\"\n (search)=\"searchTermEntered($event)\"\n >\n <ng-container carbonToolbarContent *ngTemplateOutlet=\"addButtton\"></ng-container>\n\n <ng-container carbonToolbarActions>\n <button cdsButton=\"primary\" (click)=\"showDeleteMultipleModal()\">\n {{ 'interface.delete' | translate }}\n <svg class=\"cds--btn__icon\" cdsIcon=\"trash-can\" size=\"16\"></svg>\n </button>\n </ng-container>\n\n <valtimo-no-results\n *ngIf=\"obs.searchTerm === ''\"\n [action]=\"addButtton\"\n title=\"{{ 'zgw.tags.list.noResultsTitle' | translate }}\"\n description=\"{{ 'zgw.tags.list.noResultsDescription' | translate }}\"\n ></valtimo-no-results>\n\n <valtimo-no-results\n *ngIf=\"obs.searchTerm !== ''\"\n title=\"{{ 'zgw.tags.search.noResultsTitle' | translate }}\"\n description=\"{{ 'zgw.tags.search.noResultsDescription' | translate }}\"\n illustration=\"valtimo-layout/img/emptystate-no-result.svg\"\n ></valtimo-no-results>\n </valtimo-carbon-list>\n\n <valtimo-documenten-api-tag-modal\n [open]=\"!obs.addModalClosed\"\n [caseDefinitionKey]=\"obs.caseDefinitionKey\"\n (closeModalEvent)=\"closeModal($event)\"\n ></valtimo-documenten-api-tag-modal>\n\n <valtimo-confirmation-modal\n confirmButtonTextTranslationKey=\"interface.delete\"\n confirmButtonType=\"danger\"\n contentTranslationKey=\"zgw.tags.deleteText\"\n [showModalSubject$]=\"showDeleteModal$\"\n titleTranslationKey=\"interface.delete\"\n [outputOnConfirm]=\"obs.tagToDelete\"\n (confirmEvent)=\"confirmDeleteTag($event)\"\n ></valtimo-confirmation-modal>\n\n <valtimo-confirmation-modal\n confirmButtonTextTranslationKey=\"interface.delete\"\n confirmButtonType=\"danger\"\n [contentTranslationKey]=\"\n obs.selectedRowKeys.length > 1 ? 'zgw.tags.deleteMultipleText' : 'zgw.tags.deleteText'\n \"\n [showModalSubject$]=\"showDeleteMultipleModal$\"\n titleTranslationKey=\"interface.delete\"\n [outputOnConfirm]=\"{\n caseDefinitionKey: obs.caseDefinitionKey,\n tagIds: obs.selectedRowKeys,\n itemsOnCurrentPage: obs.documentTags.length,\n }\"\n (confirmEvent)=\"confirmDeleteMultipleTag($event)\"\n ></valtimo-confirmation-modal>\n\n <ng-template #addButtton>\n <button cdsButton=\"primary\" [disabled]=\"obs.loading\" (click)=\"openAddModal()\">\n <svg cdsIcon=\"add\" size=\"16\" class=\"cds--btn__icon\"></svg>\n {{ 'zgw.tags.add' | translate }}\n </button>\n </ng-template>\n</ng-container>\n", styles: ["::ng-deep .cds-tag--no-margin{margin:0}\n/*!\n * Copyright 2015-2025 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"] }]
2186
2224
  }], ctorParameters: () => [{ type: i1$2.ActivatedRoute }, { type: DocumentenApiTagService }], propDecorators: { carbonList: [{
2187
2225
  type: ViewChild,
2188
2226
  args: [CarbonListComponent]
2189
2227
  }] } });
2190
2228
 
2191
2229
  /*
2192
- * Copyright 2015-2024 Ritense BV, the Netherlands.
2230
+ * Copyright 2015-2025 Ritense BV, the Netherlands.
2193
2231
  *
2194
2232
  * Licensed under EUPL, Version 1.2 (the "License");
2195
2233
  * you may not use this file except in compliance with the License.
@@ -2227,11 +2265,12 @@ class DocumentenApiUploadFieldModalComponent {
2227
2265
  get invalid() {
2228
2266
  return !!this.formGroup?.invalid;
2229
2267
  }
2230
- constructor(fb, documentenApiDocumentService, translateService, documentService) {
2268
+ constructor(fb, documentenApiDocumentService, translateService, documentService, route) {
2231
2269
  this.fb = fb;
2232
2270
  this.documentenApiDocumentService = documentenApiDocumentService;
2233
2271
  this.translateService = translateService;
2234
2272
  this.documentService = documentService;
2273
+ this.route = route;
2235
2274
  this.closeModalEvent = new EventEmitter();
2236
2275
  this.formGroup = this.fb.group({
2237
2276
  defaultValue: this.fb.control('', [Validators.maxLength(256)]),
@@ -2264,11 +2303,13 @@ class DocumentenApiUploadFieldModalComponent {
2264
2303
  content: this.translateService.instant(`document.${item}`),
2265
2304
  selected: selectedItem === item,
2266
2305
  }))));
2306
+ this._context = getCaseManagementRouteParams(this.route);
2267
2307
  this.documentTypeItems$ = combineLatest([
2308
+ this._context,
2268
2309
  this.defaultValue.valueChanges,
2269
2310
  this.translateService.stream('key'),
2270
- ]).pipe(switchMap(([selectedItem]) => combineLatest([
2271
- this.documentService.getDocumentTypes(this.documentDefinitionName),
2311
+ ]).pipe(switchMap(([params, selectedItem]) => combineLatest([
2312
+ this.documentService.getDocumentTypesForCase(params.caseDefinitionKey, params.caseDefinitionVersionTag),
2272
2313
  of(selectedItem),
2273
2314
  ])), map(([documentTypes, selectedItem]) => documentTypes.map(item => ({
2274
2315
  id: item.url,
@@ -2296,7 +2337,7 @@ class DocumentenApiUploadFieldModalComponent {
2296
2337
  readonly: this.readonly.value,
2297
2338
  };
2298
2339
  this.documentenApiDocumentService
2299
- .updateUploadField(this.documentDefinitionName, formField)
2340
+ .updateUploadField(this.caseDefinitionKey, formField)
2300
2341
  .subscribe({
2301
2342
  next: () => {
2302
2343
  this.enable();
@@ -2329,10 +2370,10 @@ class DocumentenApiUploadFieldModalComponent {
2329
2370
  this.closeModalEvent.emit('closeAndRefresh');
2330
2371
  this.resetForm();
2331
2372
  }
2332
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DocumentenApiUploadFieldModalComponent, deps: [{ token: i1$1.FormBuilder }, { token: DocumentenApiDocumentService }, { token: i3.TranslateService }, { token: i1$3.DocumentService }], target: i0.ɵɵFactoryTarget.Component }); }
2333
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: DocumentenApiUploadFieldModalComponent, isStandalone: true, selector: "valtimo-documenten-api-upload-field-modal", inputs: { documentDefinitionName: "documentDefinitionName", type: "type", prefill: "prefill" }, outputs: { closeModalEvent: "closeModalEvent" }, ngImport: i0, template: "<!--\n ~ Copyright 2015-2024 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<cds-modal\n valtimoCdsModal\n *ngIf=\"{\n disabled: disabled$ | async,\n languageItems: languageItems$ | async,\n confidentialityLevelItems: confidentialityLevelItems$ | async,\n statusItems: statusItems$ | async,\n documentTypeItems: documentTypeItems$ | async,\n } as obs\"\n [open]=\"type !== 'closed'\"\n size=\"sm\"\n>\n <cds-modal-header showCloseButton=\"true\" (closeSelect)=\"onClose()\" [cdsLayer]=\"1\">\n <h3 cdsModalHeaderHeading>\n {{\n ('zgw.uploadFields.editModal.header' | translate) +\n ' - ' +\n ('zgw.uploadFields.keys.' + key | translate)\n }}\n </h3>\n </cds-modal-header>\n\n <section cdsModalContent [cdsLayer]=\"1\">\n <form [formGroup]=\"formGroup\" class=\"uploadField-form\">\n @if (key === 'taal') {\n <cds-combo-box\n formControlName=\"selectedDefaultValue\"\n [label]=\"'zgw.uploadFields.fields.defaultValue' | translate\"\n [dropUp]=\"false\"\n (clear)=\"clear()\"\n >\n <cds-dropdown-list [items]=\"obs.languageItems\"></cds-dropdown-list>\n </cds-combo-box>\n } @else if (key === 'vertrouwelijkheidaanduiding') {\n <cds-combo-box\n formControlName=\"selectedDefaultValue\"\n [label]=\"'zgw.uploadFields.fields.defaultValue' | translate\"\n [dropUp]=\"false\"\n (clear)=\"clear()\"\n >\n <cds-dropdown-list [items]=\"obs.confidentialityLevelItems\"></cds-dropdown-list>\n </cds-combo-box>\n } @else if (key === 'status') {\n <cds-combo-box\n formControlName=\"selectedDefaultValue\"\n [label]=\"'zgw.uploadFields.fields.defaultValue' | translate\"\n [dropUp]=\"false\"\n (clear)=\"clear()\"\n >\n <cds-dropdown-list [items]=\"obs.statusItems\"></cds-dropdown-list>\n </cds-combo-box>\n } @else if (key === 'informatieobjecttype') {\n <cds-combo-box\n formControlName=\"selectedDefaultValue\"\n [label]=\"'zgw.uploadFields.fields.defaultValue' | translate\"\n [dropUp]=\"false\"\n (clear)=\"clear()\"\n >\n <cds-dropdown-list [items]=\"obs.documentTypeItems\"></cds-dropdown-list>\n </cds-combo-box>\n } @else if (\n key === 'filename' ||\n key === 'bestandsnaam' ||\n key === 'titel' ||\n key === 'beschrijving' ||\n key === 'trefwoorden'\n ) {\n <cds-label>\n {{ 'zgw.uploadFields.fields.defaultValue' | translate }}\n <input cdsText formControlName=\"defaultValue\" />\n </cds-label>\n }\n <div class=\"toggle-group\">\n <cds-toggle\n formControlName=\"visible\"\n [label]=\"'zgw.uploadFields.fields.visible' | translate\"\n [onText]=\"'interface.on' | translate\"\n [offText]=\"'interface.off' | translate\"\n ></cds-toggle>\n <cds-toggle\n formControlName=\"readonly\"\n [label]=\"'zgw.uploadFields.fields.readonly' | translate\"\n [onText]=\"'interface.on' | translate\"\n [offText]=\"'interface.off' | translate\"\n ></cds-toggle>\n </div>\n </form>\n </section>\n\n <cds-modal-footer [cdsLayer]=\"1\">\n <button cdsButton=\"secondary\" (click)=\"onClose()\" [disabled]=\"obs.disabled\">\n {{ 'interface.cancel' | translate }}\n </button>\n\n <button cdsButton=\"primary\" [disabled]=\"invalid || obs.disabled\" (click)=\"saveUploadField()\">\n {{ 'interface.save' | translate }}\n </button>\n </cds-modal-footer>\n</cds-modal>\n", styles: [".toggle-group{display:flex;flex-direction:column;margin-top:16px;gap:16px}\n/*!\n * Copyright 2015-2024 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: "ngmodule", type: CommonModule }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }, { kind: "ngmodule", type: ModalModule }, { kind: "component", type: i6.Modal, selector: "cds-modal, ibm-modal", inputs: ["size", "theme", "ariaLabel", "open", "trigger", "hasScrollingContent"], outputs: ["overlaySelected", "close"] }, { kind: "component", type: i6.ModalHeader, selector: "cds-modal-header, ibm-modal-header", inputs: ["theme", "closeLabel", "showCloseButton"], outputs: ["closeSelect"] }, { kind: "component", type: i6.ModalFooter, selector: "cds-modal-footer, ibm-modal-footer" }, { kind: "directive", type: i6.ModalContent, selector: "[cdsModalContent], [ibmModalContent]", inputs: ["hasForm"] }, { kind: "directive", type: i6.ModalHeaderHeading, selector: "[cdsModalHeaderHeading], [ibmModalHeaderHeading]" }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }, { kind: "ngmodule", type: InputModule }, { kind: "component", type: i6.Label, selector: "cds-label, ibm-label", inputs: ["labelInputID", "disabled", "skeleton", "helperText", "invalidText", "invalid", "warn", "warnText", "ariaLabel"] }, { kind: "directive", type: i6.TextInput, selector: "[cdsText], [ibmText]", inputs: ["theme", "size", "invalid", "warn", "skeleton"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "ngmodule", type: ButtonModule }, { kind: "directive", type: i6.Button, selector: "[cdsButton], [ibmButton]", inputs: ["ibmButton", "cdsButton", "size", "skeleton", "iconOnly", "isExpressive"] }, { kind: "ngmodule", type: ToggleModule }, { kind: "component", type: i6.Toggle, selector: "cds-toggle, ibm-toggle", inputs: ["offText", "onText", "label", "size", "hideLabel", "skeleton"] }, { kind: "ngmodule", type: CheckboxModule }, { kind: "ngmodule", type: ComboBoxModule }, { kind: "component", type: i6.ComboBox, selector: "cds-combo-box, ibm-combo-box", inputs: ["placeholder", "openMenuAria", "closeMenuAria", "clearSelectionsTitle", "clearSelectionsAria", "clearSelectionTitle", "clearSelectionAria", "id", "labelId", "items", "type", "size", "itemValueKey", "label", "hideLabel", "helperText", "appendInline", "invalid", "invalidText", "warn", "warnText", "maxLength", "theme", "selectionFeedback", "autocomplete", "dropUp", "disabled"], outputs: ["selected", "submit", "close", "search", "clear"] }, { kind: "component", type: i6.DropdownList, selector: "cds-dropdown-list, ibm-dropdown-list", inputs: ["ariaLabel", "items", "listTpl", "type", "showTitles"], outputs: ["select", "scroll", "blurIntent"] }, { kind: "ngmodule", type: LayerModule }, { kind: "directive", type: i6.LayerDirective, selector: "[cdsLayer], [ibmLayer]", inputs: ["ibmLayer", "cdsLayer"], exportAs: ["layer"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
2373
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: DocumentenApiUploadFieldModalComponent, deps: [{ token: i1$1.FormBuilder }, { token: DocumentenApiDocumentService }, { token: i5.TranslateService }, { token: i4$1.DocumentService }, { token: i1$2.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Component }); }
2374
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.14", type: DocumentenApiUploadFieldModalComponent, isStandalone: true, selector: "valtimo-documenten-api-upload-field-modal", inputs: { caseDefinitionKey: "caseDefinitionKey", type: "type", prefill: "prefill" }, outputs: { closeModalEvent: "closeModalEvent" }, ngImport: i0, template: "<!--\n ~ Copyright 2015-2025 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<cds-modal\n valtimoCdsModal\n *ngIf=\"{\n disabled: disabled$ | async,\n languageItems: languageItems$ | async,\n confidentialityLevelItems: confidentialityLevelItems$ | async,\n statusItems: statusItems$ | async,\n documentTypeItems: documentTypeItems$ | async,\n } as obs\"\n [open]=\"type !== 'closed'\"\n size=\"sm\"\n>\n <cds-modal-header showCloseButton=\"true\" (closeSelect)=\"onClose()\" [cdsLayer]=\"1\">\n <h3 cdsModalHeaderHeading>\n {{\n ('zgw.uploadFields.editModal.header' | translate) +\n ' - ' +\n ('zgw.uploadFields.keys.' + key | translate)\n }}\n </h3>\n </cds-modal-header>\n\n <section cdsModalContent [cdsLayer]=\"1\">\n <form [formGroup]=\"formGroup\" class=\"uploadField-form\">\n @if (key === 'taal') {\n <cds-combo-box\n formControlName=\"selectedDefaultValue\"\n [label]=\"'zgw.uploadFields.fields.defaultValue' | translate\"\n [dropUp]=\"false\"\n (clear)=\"clear()\"\n >\n <cds-dropdown-list [items]=\"obs.languageItems\"></cds-dropdown-list>\n </cds-combo-box>\n } @else if (key === 'vertrouwelijkheidaanduiding') {\n <cds-combo-box\n formControlName=\"selectedDefaultValue\"\n [label]=\"'zgw.uploadFields.fields.defaultValue' | translate\"\n [dropUp]=\"false\"\n (clear)=\"clear()\"\n >\n <cds-dropdown-list [items]=\"obs.confidentialityLevelItems\"></cds-dropdown-list>\n </cds-combo-box>\n } @else if (key === 'status') {\n <cds-combo-box\n formControlName=\"selectedDefaultValue\"\n [label]=\"'zgw.uploadFields.fields.defaultValue' | translate\"\n [dropUp]=\"false\"\n (clear)=\"clear()\"\n >\n <cds-dropdown-list [items]=\"obs.statusItems\"></cds-dropdown-list>\n </cds-combo-box>\n } @else if (key === 'informatieobjecttype') {\n <cds-combo-box\n formControlName=\"selectedDefaultValue\"\n [label]=\"'zgw.uploadFields.fields.defaultValue' | translate\"\n [dropUp]=\"false\"\n (clear)=\"clear()\"\n >\n <cds-dropdown-list [items]=\"obs.documentTypeItems\"></cds-dropdown-list>\n </cds-combo-box>\n } @else if (\n key === 'filename' ||\n key === 'bestandsnaam' ||\n key === 'titel' ||\n key === 'beschrijving' ||\n key === 'trefwoorden'\n ) {\n <cds-label>\n {{ 'zgw.uploadFields.fields.defaultValue' | translate }}\n <input cdsText formControlName=\"defaultValue\" />\n </cds-label>\n }\n <div class=\"toggle-group\">\n <cds-toggle\n formControlName=\"visible\"\n [label]=\"'zgw.uploadFields.fields.visible' | translate\"\n [onText]=\"'interface.on' | translate\"\n [offText]=\"'interface.off' | translate\"\n ></cds-toggle>\n <cds-toggle\n formControlName=\"readonly\"\n [label]=\"'zgw.uploadFields.fields.readonly' | translate\"\n [onText]=\"'interface.on' | translate\"\n [offText]=\"'interface.off' | translate\"\n ></cds-toggle>\n </div>\n </form>\n </section>\n\n <cds-modal-footer [cdsLayer]=\"1\">\n <button cdsButton=\"secondary\" (click)=\"onClose()\" [disabled]=\"obs.disabled\">\n {{ 'interface.cancel' | translate }}\n </button>\n\n <button cdsButton=\"primary\" [disabled]=\"invalid || obs.disabled\" (click)=\"saveUploadField()\">\n {{ 'interface.save' | translate }}\n </button>\n </cds-modal-footer>\n</cds-modal>\n", styles: [".toggle-group{display:flex;flex-direction:column;margin-top:16px;gap:16px}\n/*!\n * Copyright 2015-2025 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: "ngmodule", type: CommonModule }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }, { kind: "ngmodule", type: ModalModule }, { kind: "component", type: i5$1.Modal, selector: "cds-modal, ibm-modal", inputs: ["size", "theme", "ariaLabel", "open", "trigger", "hasScrollingContent"], outputs: ["overlaySelected", "close"] }, { kind: "component", type: i5$1.ModalHeader, selector: "cds-modal-header, ibm-modal-header", inputs: ["theme", "closeLabel", "showCloseButton"], outputs: ["closeSelect"] }, { kind: "component", type: i5$1.ModalFooter, selector: "cds-modal-footer, ibm-modal-footer" }, { kind: "directive", type: i5$1.ModalContent, selector: "[cdsModalContent], [ibmModalContent]", inputs: ["hasForm"] }, { kind: "directive", type: i5$1.ModalHeaderHeading, selector: "[cdsModalHeaderHeading], [ibmModalHeaderHeading]" }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i5.TranslatePipe, name: "translate" }, { kind: "ngmodule", type: InputModule }, { kind: "component", type: i5$1.Label, selector: "cds-label, ibm-label", inputs: ["labelInputID", "disabled", "skeleton", "helperText", "invalidText", "invalid", "warn", "warnText", "ariaLabel"] }, { kind: "directive", type: i5$1.TextInput, selector: "[cdsText], [ibmText]", inputs: ["theme", "size", "invalid", "warn", "skeleton"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "ngmodule", type: ButtonModule }, { kind: "directive", type: i5$1.Button, selector: "[cdsButton], [ibmButton]", inputs: ["ibmButton", "cdsButton", "size", "skeleton", "iconOnly", "isExpressive"] }, { kind: "ngmodule", type: ToggleModule }, { kind: "component", type: i5$1.Toggle, selector: "cds-toggle, ibm-toggle", inputs: ["offText", "onText", "label", "size", "hideLabel", "ariaLabel", "skeleton"] }, { kind: "ngmodule", type: CheckboxModule }, { kind: "ngmodule", type: ComboBoxModule }, { kind: "component", type: i5$1.ComboBox, selector: "cds-combo-box, ibm-combo-box", inputs: ["placeholder", "openMenuAria", "closeMenuAria", "clearSelectionsTitle", "clearSelectionsAria", "clearSelectionTitle", "clearSelectionAria", "id", "labelId", "items", "type", "size", "itemValueKey", "label", "hideLabel", "helperText", "appendInline", "invalid", "invalidText", "warn", "warnText", "maxLength", "theme", "selectionFeedback", "autocomplete", "dropUp", "disabled", "readonly", "fluid"], outputs: ["selected", "submit", "close", "search", "clear"] }, { kind: "component", type: i5$1.DropdownList, selector: "cds-dropdown-list, ibm-dropdown-list", inputs: ["ariaLabel", "items", "listTpl", "type", "showTitles"], outputs: ["select", "scroll", "blurIntent"] }, { kind: "ngmodule", type: LayerModule }, { kind: "directive", type: i5$1.LayerDirective, selector: "[cdsLayer], [ibmLayer]", inputs: ["ibmLayer", "cdsLayer"], exportAs: ["layer"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
2334
2375
  }
2335
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DocumentenApiUploadFieldModalComponent, decorators: [{
2376
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: DocumentenApiUploadFieldModalComponent, decorators: [{
2336
2377
  type: Component,
2337
2378
  args: [{ selector: 'valtimo-documenten-api-upload-field-modal', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [
2338
2379
  CommonModule,
@@ -2345,8 +2386,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
2345
2386
  CheckboxModule,
2346
2387
  ComboBoxModule,
2347
2388
  LayerModule,
2348
- ], template: "<!--\n ~ Copyright 2015-2024 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<cds-modal\n valtimoCdsModal\n *ngIf=\"{\n disabled: disabled$ | async,\n languageItems: languageItems$ | async,\n confidentialityLevelItems: confidentialityLevelItems$ | async,\n statusItems: statusItems$ | async,\n documentTypeItems: documentTypeItems$ | async,\n } as obs\"\n [open]=\"type !== 'closed'\"\n size=\"sm\"\n>\n <cds-modal-header showCloseButton=\"true\" (closeSelect)=\"onClose()\" [cdsLayer]=\"1\">\n <h3 cdsModalHeaderHeading>\n {{\n ('zgw.uploadFields.editModal.header' | translate) +\n ' - ' +\n ('zgw.uploadFields.keys.' + key | translate)\n }}\n </h3>\n </cds-modal-header>\n\n <section cdsModalContent [cdsLayer]=\"1\">\n <form [formGroup]=\"formGroup\" class=\"uploadField-form\">\n @if (key === 'taal') {\n <cds-combo-box\n formControlName=\"selectedDefaultValue\"\n [label]=\"'zgw.uploadFields.fields.defaultValue' | translate\"\n [dropUp]=\"false\"\n (clear)=\"clear()\"\n >\n <cds-dropdown-list [items]=\"obs.languageItems\"></cds-dropdown-list>\n </cds-combo-box>\n } @else if (key === 'vertrouwelijkheidaanduiding') {\n <cds-combo-box\n formControlName=\"selectedDefaultValue\"\n [label]=\"'zgw.uploadFields.fields.defaultValue' | translate\"\n [dropUp]=\"false\"\n (clear)=\"clear()\"\n >\n <cds-dropdown-list [items]=\"obs.confidentialityLevelItems\"></cds-dropdown-list>\n </cds-combo-box>\n } @else if (key === 'status') {\n <cds-combo-box\n formControlName=\"selectedDefaultValue\"\n [label]=\"'zgw.uploadFields.fields.defaultValue' | translate\"\n [dropUp]=\"false\"\n (clear)=\"clear()\"\n >\n <cds-dropdown-list [items]=\"obs.statusItems\"></cds-dropdown-list>\n </cds-combo-box>\n } @else if (key === 'informatieobjecttype') {\n <cds-combo-box\n formControlName=\"selectedDefaultValue\"\n [label]=\"'zgw.uploadFields.fields.defaultValue' | translate\"\n [dropUp]=\"false\"\n (clear)=\"clear()\"\n >\n <cds-dropdown-list [items]=\"obs.documentTypeItems\"></cds-dropdown-list>\n </cds-combo-box>\n } @else if (\n key === 'filename' ||\n key === 'bestandsnaam' ||\n key === 'titel' ||\n key === 'beschrijving' ||\n key === 'trefwoorden'\n ) {\n <cds-label>\n {{ 'zgw.uploadFields.fields.defaultValue' | translate }}\n <input cdsText formControlName=\"defaultValue\" />\n </cds-label>\n }\n <div class=\"toggle-group\">\n <cds-toggle\n formControlName=\"visible\"\n [label]=\"'zgw.uploadFields.fields.visible' | translate\"\n [onText]=\"'interface.on' | translate\"\n [offText]=\"'interface.off' | translate\"\n ></cds-toggle>\n <cds-toggle\n formControlName=\"readonly\"\n [label]=\"'zgw.uploadFields.fields.readonly' | translate\"\n [onText]=\"'interface.on' | translate\"\n [offText]=\"'interface.off' | translate\"\n ></cds-toggle>\n </div>\n </form>\n </section>\n\n <cds-modal-footer [cdsLayer]=\"1\">\n <button cdsButton=\"secondary\" (click)=\"onClose()\" [disabled]=\"obs.disabled\">\n {{ 'interface.cancel' | translate }}\n </button>\n\n <button cdsButton=\"primary\" [disabled]=\"invalid || obs.disabled\" (click)=\"saveUploadField()\">\n {{ 'interface.save' | translate }}\n </button>\n </cds-modal-footer>\n</cds-modal>\n", styles: [".toggle-group{display:flex;flex-direction:column;margin-top:16px;gap:16px}\n/*!\n * Copyright 2015-2024 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"] }]
2349
- }], ctorParameters: () => [{ type: i1$1.FormBuilder }, { type: DocumentenApiDocumentService }, { type: i3.TranslateService }, { type: i1$3.DocumentService }], propDecorators: { documentDefinitionName: [{
2389
+ ], template: "<!--\n ~ Copyright 2015-2025 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<cds-modal\n valtimoCdsModal\n *ngIf=\"{\n disabled: disabled$ | async,\n languageItems: languageItems$ | async,\n confidentialityLevelItems: confidentialityLevelItems$ | async,\n statusItems: statusItems$ | async,\n documentTypeItems: documentTypeItems$ | async,\n } as obs\"\n [open]=\"type !== 'closed'\"\n size=\"sm\"\n>\n <cds-modal-header showCloseButton=\"true\" (closeSelect)=\"onClose()\" [cdsLayer]=\"1\">\n <h3 cdsModalHeaderHeading>\n {{\n ('zgw.uploadFields.editModal.header' | translate) +\n ' - ' +\n ('zgw.uploadFields.keys.' + key | translate)\n }}\n </h3>\n </cds-modal-header>\n\n <section cdsModalContent [cdsLayer]=\"1\">\n <form [formGroup]=\"formGroup\" class=\"uploadField-form\">\n @if (key === 'taal') {\n <cds-combo-box\n formControlName=\"selectedDefaultValue\"\n [label]=\"'zgw.uploadFields.fields.defaultValue' | translate\"\n [dropUp]=\"false\"\n (clear)=\"clear()\"\n >\n <cds-dropdown-list [items]=\"obs.languageItems\"></cds-dropdown-list>\n </cds-combo-box>\n } @else if (key === 'vertrouwelijkheidaanduiding') {\n <cds-combo-box\n formControlName=\"selectedDefaultValue\"\n [label]=\"'zgw.uploadFields.fields.defaultValue' | translate\"\n [dropUp]=\"false\"\n (clear)=\"clear()\"\n >\n <cds-dropdown-list [items]=\"obs.confidentialityLevelItems\"></cds-dropdown-list>\n </cds-combo-box>\n } @else if (key === 'status') {\n <cds-combo-box\n formControlName=\"selectedDefaultValue\"\n [label]=\"'zgw.uploadFields.fields.defaultValue' | translate\"\n [dropUp]=\"false\"\n (clear)=\"clear()\"\n >\n <cds-dropdown-list [items]=\"obs.statusItems\"></cds-dropdown-list>\n </cds-combo-box>\n } @else if (key === 'informatieobjecttype') {\n <cds-combo-box\n formControlName=\"selectedDefaultValue\"\n [label]=\"'zgw.uploadFields.fields.defaultValue' | translate\"\n [dropUp]=\"false\"\n (clear)=\"clear()\"\n >\n <cds-dropdown-list [items]=\"obs.documentTypeItems\"></cds-dropdown-list>\n </cds-combo-box>\n } @else if (\n key === 'filename' ||\n key === 'bestandsnaam' ||\n key === 'titel' ||\n key === 'beschrijving' ||\n key === 'trefwoorden'\n ) {\n <cds-label>\n {{ 'zgw.uploadFields.fields.defaultValue' | translate }}\n <input cdsText formControlName=\"defaultValue\" />\n </cds-label>\n }\n <div class=\"toggle-group\">\n <cds-toggle\n formControlName=\"visible\"\n [label]=\"'zgw.uploadFields.fields.visible' | translate\"\n [onText]=\"'interface.on' | translate\"\n [offText]=\"'interface.off' | translate\"\n ></cds-toggle>\n <cds-toggle\n formControlName=\"readonly\"\n [label]=\"'zgw.uploadFields.fields.readonly' | translate\"\n [onText]=\"'interface.on' | translate\"\n [offText]=\"'interface.off' | translate\"\n ></cds-toggle>\n </div>\n </form>\n </section>\n\n <cds-modal-footer [cdsLayer]=\"1\">\n <button cdsButton=\"secondary\" (click)=\"onClose()\" [disabled]=\"obs.disabled\">\n {{ 'interface.cancel' | translate }}\n </button>\n\n <button cdsButton=\"primary\" [disabled]=\"invalid || obs.disabled\" (click)=\"saveUploadField()\">\n {{ 'interface.save' | translate }}\n </button>\n </cds-modal-footer>\n</cds-modal>\n", styles: [".toggle-group{display:flex;flex-direction:column;margin-top:16px;gap:16px}\n/*!\n * Copyright 2015-2025 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"] }]
2390
+ }], ctorParameters: () => [{ type: i1$1.FormBuilder }, { type: DocumentenApiDocumentService }, { type: i5.TranslateService }, { type: i4$1.DocumentService }, { type: i1$2.ActivatedRoute }], propDecorators: { caseDefinitionKey: [{
2350
2391
  type: Input
2351
2392
  }], type: [{
2352
2393
  type: Input
@@ -2357,7 +2398,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
2357
2398
  }] } });
2358
2399
 
2359
2400
  /*
2360
- * Copyright 2015-2024 Ritense BV, the Netherlands.
2401
+ * Copyright 2015-2025 Ritense BV, the Netherlands.
2361
2402
  *
2362
2403
  * Licensed under EUPL, Version 1.2 (the "License");
2363
2404
  * you may not use this file except in compliance with the License.
@@ -2372,33 +2413,32 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
2372
2413
  * limitations under the License.
2373
2414
  */
2374
2415
  class DocumentenApiUploadFieldsComponent {
2375
- get documentDefinitionName$() {
2376
- return this._documentDefinitionName$;
2377
- }
2378
- constructor(route, documentenApiDocumentService, translateService) {
2416
+ constructor(route, documentenApiDocumentService, translateService, editPermissionsService) {
2379
2417
  this.route = route;
2380
2418
  this.documentenApiDocumentService = documentenApiDocumentService;
2381
2419
  this.translateService = translateService;
2420
+ this.editPermissionsService = editPermissionsService;
2382
2421
  this._reload$ = new BehaviorSubject(null);
2383
- this._documentDefinitionName$ = this.route.params.pipe(map(params => params?.name), filter(docDefName => !!docDefName));
2422
+ this.caseDefinitionKey$ = getCaseManagementRouteParams(this.route).pipe(map((params) => params?.caseDefinitionKey ?? ''), filter(caseDefinitionKey => !!caseDefinitionKey));
2384
2423
  this.loading$ = new BehaviorSubject(true);
2385
2424
  this.fields$ = new BehaviorSubject([]);
2386
2425
  this.uploadFieldModalType$ = new BehaviorSubject('closed');
2387
2426
  this.prefill$ = new BehaviorSubject(undefined);
2388
2427
  this.documentUploadFields$ = combineLatest([
2389
- this._documentDefinitionName$,
2428
+ this.caseDefinitionKey$,
2390
2429
  this._reload$,
2391
2430
  this.translateService.stream('key'),
2392
2431
  ]).pipe(tap(([_, reload]) => {
2393
2432
  if (reload === null) {
2394
2433
  this.loading$.next(true);
2395
2434
  }
2396
- }), switchMap(([documentDefinitionName]) => this.documentenApiDocumentService.getUploadFields(documentDefinitionName)), map(fields => fields.map(field => ({
2435
+ }), switchMap(([caseDefinitionKey]) => this.documentenApiDocumentService.getUploadFields(caseDefinitionKey)), map(fields => fields.map(field => ({
2397
2436
  ...field,
2398
2437
  field: this.translateService.instant(`zgw.uploadFields.keys.${field.key}`),
2399
2438
  }))), startWith([]), tap(() => {
2400
2439
  this.loading$.next(false);
2401
2440
  }));
2441
+ this.hasEditPermissions$ = getCaseManagementRouteParams(this.route).pipe(switchMap(params => this.editPermissionsService.hasEditPermissions(params?.caseDefinitionKey, params?.caseDefinitionVersionTag)));
2402
2442
  this.ACTION_ITEMS = [
2403
2443
  {
2404
2444
  label: 'interface.edit',
@@ -2430,8 +2470,13 @@ class DocumentenApiUploadFieldsComponent {
2430
2470
  ];
2431
2471
  }
2432
2472
  openEditModal(uploadField) {
2433
- this.prefill$.next(uploadField);
2434
- this.uploadFieldModalType$.next('edit');
2473
+ this.hasEditPermissions$.pipe(take(1)).subscribe(hasPermission => {
2474
+ if (!hasPermission && uploadField.key !== 'informatieobjecttype') {
2475
+ return;
2476
+ }
2477
+ this.prefill$.next(uploadField);
2478
+ this.uploadFieldModalType$.next('edit');
2479
+ });
2435
2480
  }
2436
2481
  closeModal(closeModalEvent) {
2437
2482
  if (closeModalEvent === 'closeAndRefresh') {
@@ -2442,10 +2487,10 @@ class DocumentenApiUploadFieldsComponent {
2442
2487
  reload(noAnimation = false) {
2443
2488
  this._reload$.next(noAnimation ? 'noAnimation' : null);
2444
2489
  }
2445
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DocumentenApiUploadFieldsComponent, deps: [{ token: i1$2.ActivatedRoute }, { token: DocumentenApiDocumentService }, { token: i3.TranslateService }], target: i0.ɵɵFactoryTarget.Component }); }
2446
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: DocumentenApiUploadFieldsComponent, isStandalone: true, selector: "valtimo-documenten-api-upload-fields", viewQueries: [{ propertyName: "carbonList", first: true, predicate: CarbonListComponent, descendants: true }], ngImport: i0, template: "<!--\n ~ Copyright 2015-2024 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 loading: loading$ | async,\n documentUploadFields: documentUploadFields$ | async,\n uploadFieldModalType: uploadFieldModalType$ | async,\n documentDefinitionName: documentDefinitionName$ | async,\n prefill: prefill$ | async,\n } as obs\"\n>\n <valtimo-carbon-list\n [items]=\"obs.documentUploadFields\"\n [fields]=\"FIELDS\"\n [header]=\"false\"\n [loading]=\"obs.loading\"\n [actionItems]=\"ACTION_ITEMS\"\n >\n <valtimo-no-results\n title=\"{{ 'zgw.uploadFields.list.noResultsTitle' | translate }}\"\n description=\"{{ 'zgw.uploadFields.list.noResultsDescription' | translate }}\"\n ></valtimo-no-results>\n </valtimo-carbon-list>\n\n <valtimo-documenten-api-upload-field-modal\n [prefill]=\"obs.prefill\"\n [documentDefinitionName]=\"obs.documentDefinitionName\"\n [type]=\"obs.uploadFieldModalType\"\n (closeModalEvent)=\"closeModal($event)\"\n ></valtimo-documenten-api-upload-field-modal>\n</ng-container>\n", styles: ["::ng-deep .cds-upload-field--no-margin{margin:0}\n/*!\n * Copyright 2015-2024 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: "ngmodule", type: CommonModule }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }, { kind: "ngmodule", type: CarbonListModule }, { kind: "component", type: i3$1.CarbonListComponent, selector: "valtimo-carbon-list", inputs: ["items", "fields", "tableTranslations", "paginatorConfig", "pagination", "loading", "actions", "actionItems", "header", "hideColumnHeader", "initialSortState", "sortState", "isSearchable", "enableSingleSelection", "lastColumnTemplate", "paginationIdentifier", "showSelectionColumn", "striped", "hideToolbar", "lockedTooltipTranslationKey", "movingRowsEnabled", "dragAndDrop", "dragAndDropDisabled"], outputs: ["rowClicked", "paginationClicked", "paginationSet", "search", "sortChanged", "moveRow", "itemsReordered"] }, { kind: "component", type: i3$1.CarbonNoResultsComponent, selector: "valtimo-no-results", inputs: ["action", "description", "illustration", "title", "smallPadding", "collapseVertically", "alwaysRenderVertically"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }, { kind: "ngmodule", type: ConfirmationModalModule }, { kind: "ngmodule", type: ButtonModule }, { kind: "ngmodule", type: IconModule }, { kind: "component", type: DocumentenApiUploadFieldModalComponent, selector: "valtimo-documenten-api-upload-field-modal", inputs: ["documentDefinitionName", "type", "prefill"], outputs: ["closeModalEvent"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
2490
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: DocumentenApiUploadFieldsComponent, deps: [{ token: i1$2.ActivatedRoute }, { token: DocumentenApiDocumentService }, { token: i5.TranslateService }, { token: i2.EditPermissionsService }], target: i0.ɵɵFactoryTarget.Component }); }
2491
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.14", type: DocumentenApiUploadFieldsComponent, isStandalone: true, selector: "valtimo-documenten-api-upload-fields", viewQueries: [{ propertyName: "carbonList", first: true, predicate: CarbonListComponent, descendants: true }], ngImport: i0, template: "<!--\n ~ Copyright 2015-2025 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 loading: loading$ | async,\n documentUploadFields: documentUploadFields$ | async,\n uploadFieldModalType: uploadFieldModalType$ | async,\n caseDefinitionKey: caseDefinitionKey$ | async,\n prefill: prefill$ | async,\n } as obs\"\n>\n <valtimo-carbon-list\n [items]=\"obs.documentUploadFields\"\n [fields]=\"FIELDS\"\n [header]=\"false\"\n [loading]=\"obs.loading\"\n [actionItems]=\"ACTION_ITEMS\"\n (rowClicked)=\"openEditModal($event)\"\n >\n <valtimo-no-results\n title=\"{{ 'zgw.uploadFields.list.noResultsTitle' | translate }}\"\n description=\"{{ 'zgw.uploadFields.list.noResultsDescription' | translate }}\"\n ></valtimo-no-results>\n </valtimo-carbon-list>\n\n <valtimo-documenten-api-upload-field-modal\n [prefill]=\"obs.prefill\"\n [caseDefinitionKey]=\"obs.caseDefinitionKey\"\n [type]=\"obs.uploadFieldModalType\"\n (closeModalEvent)=\"closeModal($event)\"\n ></valtimo-documenten-api-upload-field-modal>\n</ng-container>\n", styles: ["::ng-deep .cds-upload-field--no-margin{margin:0}\n/*!\n * Copyright 2015-2025 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: "ngmodule", type: CommonModule }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }, { kind: "ngmodule", type: CarbonListModule }, { kind: "component", type: i3.CarbonListComponent, selector: "valtimo-carbon-list", inputs: ["items", "fields", "tableTranslations", "paginatorConfig", "pagination", "loading", "actions", "actionItems", "showActionItems", "header", "hideColumnHeader", "initialSortState", "sortState", "isSearchable", "enableSingleSelection", "lastColumnTemplate", "paginationIdentifier", "showSelectionColumn", "striped", "hideToolbar", "lockedTooltipTranslationKey", "movingRowsEnabled", "dragAndDrop", "dragAndDropDisabled"], outputs: ["rowClicked", "paginationClicked", "paginationSet", "search", "sortChanged", "moveRow", "itemsReordered"] }, { kind: "component", type: i3.CarbonNoResultsComponent, selector: "valtimo-no-results", inputs: ["action", "description", "illustration", "title", "smallPadding", "collapseVertically", "alwaysRenderVertically"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i5.TranslatePipe, name: "translate" }, { kind: "ngmodule", type: ConfirmationModalModule }, { kind: "ngmodule", type: ButtonModule }, { kind: "ngmodule", type: IconModule }, { kind: "component", type: DocumentenApiUploadFieldModalComponent, selector: "valtimo-documenten-api-upload-field-modal", inputs: ["caseDefinitionKey", "type", "prefill"], outputs: ["closeModalEvent"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
2447
2492
  }
2448
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DocumentenApiUploadFieldsComponent, decorators: [{
2493
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: DocumentenApiUploadFieldsComponent, decorators: [{
2449
2494
  type: Component,
2450
2495
  args: [{ selector: 'valtimo-documenten-api-upload-fields', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [
2451
2496
  CommonModule,
@@ -2455,14 +2500,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
2455
2500
  ButtonModule,
2456
2501
  IconModule,
2457
2502
  DocumentenApiUploadFieldModalComponent,
2458
- ], template: "<!--\n ~ Copyright 2015-2024 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 loading: loading$ | async,\n documentUploadFields: documentUploadFields$ | async,\n uploadFieldModalType: uploadFieldModalType$ | async,\n documentDefinitionName: documentDefinitionName$ | async,\n prefill: prefill$ | async,\n } as obs\"\n>\n <valtimo-carbon-list\n [items]=\"obs.documentUploadFields\"\n [fields]=\"FIELDS\"\n [header]=\"false\"\n [loading]=\"obs.loading\"\n [actionItems]=\"ACTION_ITEMS\"\n >\n <valtimo-no-results\n title=\"{{ 'zgw.uploadFields.list.noResultsTitle' | translate }}\"\n description=\"{{ 'zgw.uploadFields.list.noResultsDescription' | translate }}\"\n ></valtimo-no-results>\n </valtimo-carbon-list>\n\n <valtimo-documenten-api-upload-field-modal\n [prefill]=\"obs.prefill\"\n [documentDefinitionName]=\"obs.documentDefinitionName\"\n [type]=\"obs.uploadFieldModalType\"\n (closeModalEvent)=\"closeModal($event)\"\n ></valtimo-documenten-api-upload-field-modal>\n</ng-container>\n", styles: ["::ng-deep .cds-upload-field--no-margin{margin:0}\n/*!\n * Copyright 2015-2024 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"] }]
2459
- }], ctorParameters: () => [{ type: i1$2.ActivatedRoute }, { type: DocumentenApiDocumentService }, { type: i3.TranslateService }], propDecorators: { carbonList: [{
2503
+ ], template: "<!--\n ~ Copyright 2015-2025 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 loading: loading$ | async,\n documentUploadFields: documentUploadFields$ | async,\n uploadFieldModalType: uploadFieldModalType$ | async,\n caseDefinitionKey: caseDefinitionKey$ | async,\n prefill: prefill$ | async,\n } as obs\"\n>\n <valtimo-carbon-list\n [items]=\"obs.documentUploadFields\"\n [fields]=\"FIELDS\"\n [header]=\"false\"\n [loading]=\"obs.loading\"\n [actionItems]=\"ACTION_ITEMS\"\n (rowClicked)=\"openEditModal($event)\"\n >\n <valtimo-no-results\n title=\"{{ 'zgw.uploadFields.list.noResultsTitle' | translate }}\"\n description=\"{{ 'zgw.uploadFields.list.noResultsDescription' | translate }}\"\n ></valtimo-no-results>\n </valtimo-carbon-list>\n\n <valtimo-documenten-api-upload-field-modal\n [prefill]=\"obs.prefill\"\n [caseDefinitionKey]=\"obs.caseDefinitionKey\"\n [type]=\"obs.uploadFieldModalType\"\n (closeModalEvent)=\"closeModal($event)\"\n ></valtimo-documenten-api-upload-field-modal>\n</ng-container>\n", styles: ["::ng-deep .cds-upload-field--no-margin{margin:0}\n/*!\n * Copyright 2015-2025 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"] }]
2504
+ }], ctorParameters: () => [{ type: i1$2.ActivatedRoute }, { type: DocumentenApiDocumentService }, { type: i5.TranslateService }, { type: i2.EditPermissionsService }], propDecorators: { carbonList: [{
2460
2505
  type: ViewChild,
2461
2506
  args: [CarbonListComponent]
2462
2507
  }] } });
2463
2508
 
2464
2509
  /*
2465
- * Copyright 2015-2024 Ritense BV, the Netherlands.
2510
+ * Copyright 2015-2025 Ritense BV, the Netherlands.
2466
2511
  *
2467
2512
  * Licensed under EUPL, Version 1.2 (the "License");
2468
2513
  * you may not use this file except in compliance with the License.
@@ -2481,19 +2526,19 @@ class DocumentenApiVersionComponent {
2481
2526
  this.route = route;
2482
2527
  this.documentenApiVersionService = documentenApiVersionService;
2483
2528
  this.loading$ = new BehaviorSubject(true);
2484
- this.documentDefinitionName$ = this.route.params.pipe(map(params => params.name || ''), filter$1(documentDefinitionName => !!documentDefinitionName));
2485
- this.documentenApiVersion$ = combineLatest([this.documentDefinitionName$, this.documentenApiVersionService.refresh$]).pipe(tap(() => this.loading$.next(true)), switchMap(([documentDefinitionName]) => this.documentenApiVersionService.getManagementApiVersion(documentDefinitionName)), tap(() => this.loading$.next(false)));
2529
+ this.caseManagementRouteParams$ = getCaseManagementRouteParams(this.route);
2530
+ this.documentenApiVersion$ = combineLatest([this.caseManagementRouteParams$, this.documentenApiVersionService.refresh$]).pipe(tap(() => this.loading$.next(true)), switchMap(([params]) => this.documentenApiVersionService.getManagementApiVersion(params?.caseDefinitionKey ?? '')), tap(() => this.loading$.next(false)));
2486
2531
  }
2487
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DocumentenApiVersionComponent, deps: [{ token: i1$2.ActivatedRoute }, { token: DocumentenApiVersionService }], target: i0.ɵɵFactoryTarget.Component }); }
2488
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: DocumentenApiVersionComponent, isStandalone: true, selector: "valtimo-documenten-api-version", ngImport: i0, template: "<!--\n ~ Copyright 2015-2024 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 class=\"input-group mt-4 mb-2 align-items-center\">\n <div>\n <h2>{{ 'openZaak.documentenApi.title' | translate }}</h2>\n </div>\n</div>\n\n<ng-container\n *ngIf=\"{\n loading: loading$ | async,\n documentenApiVersion: documentenApiVersion$ | async,\n } as obs\"\n>\n <ng-container *ngIf=\"obs.loading === false; else loading\">\n <ng-container\n *ngIf=\"obs.documentenApiVersion.selectedVersion; else noDocumentenApiVersionWarning\"\n >\n <ng-container\n *ngIf=\"\n obs.documentenApiVersion.detectedVersions.length === 1;\n else multipleDocumentenApiVersionsWarning\n \"\n >\n {{ 'openZaak.documentenApi.documentenApiVersion' | translate }}\n <strong> {{ obs.documentenApiVersion.selectedVersion }} </strong>\n </ng-container>\n </ng-container>\n </ng-container>\n</ng-container>\n\n<ng-template #noDocumentenApiVersionWarning>\n <div class=\"pb-2\">\n <cds-notification\n class=\"full-width-notification\"\n [notificationObj]=\"{\n type: 'warning',\n title: 'openZaak.documentenApi.noVersionWarningTitle' | translate,\n message: 'openZaak.documentenApi.noVersionWarningMessage' | translate,\n showClose: false,\n }\"\n >\n </cds-notification>\n </div>\n</ng-template>\n\n<ng-template #multipleDocumentenApiVersionsWarning>\n <div class=\"pb-2\">\n <cds-notification\n class=\"full-width-notification\"\n [notificationObj]=\"{\n type: 'warning',\n title: 'openZaak.documentenApi.multipleVersionsWarningTitle' | translate,\n message: 'openZaak.documentenApi.multipleVersionsWarningMessage' | translate,\n showClose: false,\n }\"\n >\n </cds-notification>\n </div>\n</ng-template>\n\n<ng-template #loading>\n <div class=\"loading-container pb-2\">\n <cds-loading size=\"sm\"></cds-loading>\n </div>\n</ng-template>\n", styles: [".loading-container{display:flex;width:100%;justify-content:center}\n/*!\n * Copyright 2015-2024 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: "ngmodule", type: CommonModule }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }, { kind: "ngmodule", type: LoadingModule }, { kind: "component", type: i6.Loading, selector: "cds-loading, ibm-loading", inputs: ["title", "isActive", "size", "overlay"] }, { kind: "ngmodule", type: NotificationModule }, { kind: "component", type: i6.Notification, selector: "cds-notification, cds-inline-notification, ibm-notification, ibm-inline-notification", inputs: ["notificationObj"] }] }); }
2532
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: DocumentenApiVersionComponent, deps: [{ token: i1$2.ActivatedRoute }, { token: DocumentenApiVersionService }], target: i0.ɵɵFactoryTarget.Component }); }
2533
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.14", type: DocumentenApiVersionComponent, isStandalone: true, selector: "valtimo-documenten-api-version", ngImport: i0, template: "<!--\n ~ Copyright 2015-2025 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<cds-tile\n *ngIf=\"{loading: loading$ | async, documentenApiVersion: documentenApiVersion$ | async} as obs\"\n>\n <h2 class=\"documenten-api-version__title\">{{ 'openZaak.documentenApi.title' | translate }}</h2>\n\n <ng-container *ngIf=\"obs.loading === false; else loading\">\n <ng-container\n *ngIf=\"obs.documentenApiVersion.selectedVersion; else noDocumentenApiVersionWarning\"\n >\n <ng-container\n *ngIf=\"\n obs.documentenApiVersion.detectedVersions.length === 1;\n else multipleDocumentenApiVersionsWarning\n \"\n >\n {{ 'openZaak.documentenApi.documentenApiVersion' | translate }}\n <strong> {{ obs.documentenApiVersion.selectedVersion }} </strong>\n </ng-container>\n </ng-container>\n </ng-container>\n</cds-tile>\n\n<ng-template #noDocumentenApiVersionWarning>\n <div class=\"pb-2\">\n <cds-notification\n class=\"full-width-notification\"\n [notificationObj]=\"{\n type: 'warning',\n title: 'openZaak.documentenApi.noVersionWarningTitle' | translate,\n message: 'openZaak.documentenApi.noVersionWarningMessage' | translate,\n showClose: false,\n }\"\n >\n </cds-notification>\n </div>\n</ng-template>\n\n<ng-template #multipleDocumentenApiVersionsWarning>\n <div class=\"pb-2\">\n <cds-notification\n class=\"full-width-notification\"\n [notificationObj]=\"{\n type: 'warning',\n title: 'openZaak.documentenApi.multipleVersionsWarningTitle' | translate,\n message: 'openZaak.documentenApi.multipleVersionsWarningMessage' | translate,\n showClose: false,\n }\"\n >\n </cds-notification>\n </div>\n</ng-template>\n\n<ng-template #loading>\n <div class=\"loading-container pb-2\">\n <cds-loading size=\"sm\"></cds-loading>\n </div>\n</ng-template>\n", styles: ["cds-tile{background:var(--cds-layer-02);width:100%}.documenten-api-version__title{font-size:16px;line-height:24px;font-weight:600;margin-bottom:16px}.loading-container{display:flex;width:100%;justify-content:center}\n/*!\n * Copyright 2015-2025 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: "ngmodule", type: CommonModule }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i5.TranslatePipe, name: "translate" }, { kind: "ngmodule", type: LoadingModule }, { kind: "component", type: i5$1.Loading, selector: "cds-loading, ibm-loading", inputs: ["title", "isActive", "size", "overlay"] }, { kind: "ngmodule", type: NotificationModule }, { kind: "component", type: i5$1.Notification, selector: "cds-notification, cds-inline-notification, ibm-notification, ibm-inline-notification", inputs: ["notificationObj"] }, { kind: "ngmodule", type: TilesModule }, { kind: "component", type: i5$1.Tile, selector: "cds-tile, ibm-tile", inputs: ["theme"] }] }); }
2489
2534
  }
2490
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DocumentenApiVersionComponent, decorators: [{
2535
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: DocumentenApiVersionComponent, decorators: [{
2491
2536
  type: Component,
2492
- args: [{ selector: 'valtimo-documenten-api-version', standalone: true, imports: [CommonModule, TranslateModule, LoadingModule, NotificationModule], template: "<!--\n ~ Copyright 2015-2024 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 class=\"input-group mt-4 mb-2 align-items-center\">\n <div>\n <h2>{{ 'openZaak.documentenApi.title' | translate }}</h2>\n </div>\n</div>\n\n<ng-container\n *ngIf=\"{\n loading: loading$ | async,\n documentenApiVersion: documentenApiVersion$ | async,\n } as obs\"\n>\n <ng-container *ngIf=\"obs.loading === false; else loading\">\n <ng-container\n *ngIf=\"obs.documentenApiVersion.selectedVersion; else noDocumentenApiVersionWarning\"\n >\n <ng-container\n *ngIf=\"\n obs.documentenApiVersion.detectedVersions.length === 1;\n else multipleDocumentenApiVersionsWarning\n \"\n >\n {{ 'openZaak.documentenApi.documentenApiVersion' | translate }}\n <strong> {{ obs.documentenApiVersion.selectedVersion }} </strong>\n </ng-container>\n </ng-container>\n </ng-container>\n</ng-container>\n\n<ng-template #noDocumentenApiVersionWarning>\n <div class=\"pb-2\">\n <cds-notification\n class=\"full-width-notification\"\n [notificationObj]=\"{\n type: 'warning',\n title: 'openZaak.documentenApi.noVersionWarningTitle' | translate,\n message: 'openZaak.documentenApi.noVersionWarningMessage' | translate,\n showClose: false,\n }\"\n >\n </cds-notification>\n </div>\n</ng-template>\n\n<ng-template #multipleDocumentenApiVersionsWarning>\n <div class=\"pb-2\">\n <cds-notification\n class=\"full-width-notification\"\n [notificationObj]=\"{\n type: 'warning',\n title: 'openZaak.documentenApi.multipleVersionsWarningTitle' | translate,\n message: 'openZaak.documentenApi.multipleVersionsWarningMessage' | translate,\n showClose: false,\n }\"\n >\n </cds-notification>\n </div>\n</ng-template>\n\n<ng-template #loading>\n <div class=\"loading-container pb-2\">\n <cds-loading size=\"sm\"></cds-loading>\n </div>\n</ng-template>\n", styles: [".loading-container{display:flex;width:100%;justify-content:center}\n/*!\n * Copyright 2015-2024 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"] }]
2537
+ args: [{ selector: 'valtimo-documenten-api-version', standalone: true, imports: [CommonModule, TranslateModule, LoadingModule, NotificationModule, TilesModule], template: "<!--\n ~ Copyright 2015-2025 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<cds-tile\n *ngIf=\"{loading: loading$ | async, documentenApiVersion: documentenApiVersion$ | async} as obs\"\n>\n <h2 class=\"documenten-api-version__title\">{{ 'openZaak.documentenApi.title' | translate }}</h2>\n\n <ng-container *ngIf=\"obs.loading === false; else loading\">\n <ng-container\n *ngIf=\"obs.documentenApiVersion.selectedVersion; else noDocumentenApiVersionWarning\"\n >\n <ng-container\n *ngIf=\"\n obs.documentenApiVersion.detectedVersions.length === 1;\n else multipleDocumentenApiVersionsWarning\n \"\n >\n {{ 'openZaak.documentenApi.documentenApiVersion' | translate }}\n <strong> {{ obs.documentenApiVersion.selectedVersion }} </strong>\n </ng-container>\n </ng-container>\n </ng-container>\n</cds-tile>\n\n<ng-template #noDocumentenApiVersionWarning>\n <div class=\"pb-2\">\n <cds-notification\n class=\"full-width-notification\"\n [notificationObj]=\"{\n type: 'warning',\n title: 'openZaak.documentenApi.noVersionWarningTitle' | translate,\n message: 'openZaak.documentenApi.noVersionWarningMessage' | translate,\n showClose: false,\n }\"\n >\n </cds-notification>\n </div>\n</ng-template>\n\n<ng-template #multipleDocumentenApiVersionsWarning>\n <div class=\"pb-2\">\n <cds-notification\n class=\"full-width-notification\"\n [notificationObj]=\"{\n type: 'warning',\n title: 'openZaak.documentenApi.multipleVersionsWarningTitle' | translate,\n message: 'openZaak.documentenApi.multipleVersionsWarningMessage' | translate,\n showClose: false,\n }\"\n >\n </cds-notification>\n </div>\n</ng-template>\n\n<ng-template #loading>\n <div class=\"loading-container pb-2\">\n <cds-loading size=\"sm\"></cds-loading>\n </div>\n</ng-template>\n", styles: ["cds-tile{background:var(--cds-layer-02);width:100%}.documenten-api-version__title{font-size:16px;line-height:24px;font-weight:600;margin-bottom:16px}.loading-container{display:flex;width:100%;justify-content:center}\n/*!\n * Copyright 2015-2025 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"] }]
2493
2538
  }], ctorParameters: () => [{ type: i1$2.ActivatedRoute }, { type: DocumentenApiVersionService }] });
2494
2539
 
2495
2540
  /*
2496
- * Copyright 2015-2024 Ritense BV, the Netherlands.
2541
+ * Copyright 2015-2025 Ritense BV, the Netherlands.
2497
2542
  *
2498
2543
  * Licensed under EUPL, Version 1.2 (the "License");
2499
2544
  * you may not use this file except in compliance with the License.
@@ -2509,7 +2554,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
2509
2554
  */
2510
2555
 
2511
2556
  /*
2512
- * Copyright 2015-2024 Ritense BV, the Netherlands.
2557
+ * Copyright 2015-2025 Ritense BV, the Netherlands.
2513
2558
  *
2514
2559
  * Licensed under EUPL, Version 1.2 (the "License");
2515
2560
  * you may not use this file except in compliance with the License.
@@ -3063,7 +3108,7 @@ const documentenApiUploaderEditForm = () => ({
3063
3108
  });
3064
3109
 
3065
3110
  /*
3066
- * Copyright 2015-2024 Ritense BV, the Netherlands.
3111
+ * Copyright 2015-2025 Ritense BV, the Netherlands.
3067
3112
  *
3068
3113
  * Licensed under EUPL, Version 1.2 (the "License");
3069
3114
  * you may not use this file except in compliance with the License.
@@ -3145,11 +3190,9 @@ class DocumentenApiUploaderComponent {
3145
3190
  set hideTags(hide) {
3146
3191
  this.hideField(hide, 'trefwoorden');
3147
3192
  }
3148
- constructor(uploadProviderService, stateService, domService, downloadService, modalService, userProviderService, route, documentenApiVersionService) {
3193
+ constructor(uploadProviderService, domService, modalService, userProviderService, route, documentenApiVersionService) {
3149
3194
  this.uploadProviderService = uploadProviderService;
3150
- this.stateService = stateService;
3151
3195
  this.domService = domService;
3152
- this.downloadService = downloadService;
3153
3196
  this.modalService = modalService;
3154
3197
  this.userProviderService = userProviderService;
3155
3198
  this.route = route;
@@ -3159,18 +3202,18 @@ class DocumentenApiUploaderComponent {
3159
3202
  this.fileToBeUploaded$ = new BehaviorSubject(null);
3160
3203
  this.modalDisabled$ = new BehaviorSubject(false);
3161
3204
  this.showModal = signal(false);
3162
- this.uploadProcessLinked$ = this.modalService.documentDefinitionName$.pipe(switchMap(documentDefinitionName => this.uploadProviderService.checkUploadProcessLink(documentDefinitionName)), startWith('loading'));
3205
+ this.uploadProcessLinked$ = this.modalService.caseDefinitionKey$.pipe(switchMap(caseDefinitionKey => this.uploadProviderService.checkUploadProcessLink(caseDefinitionKey)), startWith('loading'));
3163
3206
  this.isAdmin$ = this.userProviderService
3164
3207
  .getUserSubject()
3165
3208
  .pipe(map$1(userIdentity => userIdentity?.roles.includes('ROLE_ADMIN')));
3166
- this.supportedDocumentenApiFeatures$ = this.modalService.documentDefinitionName$.pipe(switchMap(caseDefinitionName => this.documentenApiVersionService.getSupportedApiFeatures(caseDefinitionName)));
3209
+ this.supportedDocumentenApiFeatures$ = this.modalService.caseDefinitionKey$.pipe(switchMap(caseDefinitionKey => this.documentenApiVersionService.getSupportedApiFeatures(caseDefinitionKey)));
3167
3210
  this.defaultValues = {};
3168
3211
  this.hideFields = [];
3169
3212
  this._subscriptions = new Subscription();
3170
3213
  this._value = [];
3171
3214
  }
3172
3215
  ngOnInit() {
3173
- this.openDocumentDefinitionSubscription();
3216
+ this.openCaseDefinitionKeySubscription();
3174
3217
  }
3175
3218
  ngOnDestroy() {
3176
3219
  this._subscriptions.unsubscribe();
@@ -3200,7 +3243,7 @@ class DocumentenApiUploaderComponent {
3200
3243
  this.showModal.set(false);
3201
3244
  this.domService.toggleSubmitButton(true);
3202
3245
  this.fileToBeUploaded$
3203
- .pipe(take$1(1), switchMap(file => this.uploadProviderService.uploadTempFileWithMetadata(file, metadata)), tap$1(result => {
3246
+ .pipe(take(1), switchMap(file => this.uploadProviderService.uploadTempFileWithMetadata(file, metadata)), tap$1(result => {
3204
3247
  this.domService.toggleSubmitButton(false);
3205
3248
  this.uploading$.next(false);
3206
3249
  this._value.push(result);
@@ -3208,10 +3251,10 @@ class DocumentenApiUploaderComponent {
3208
3251
  }))
3209
3252
  .subscribe();
3210
3253
  }
3211
- openDocumentDefinitionSubscription() {
3254
+ openCaseDefinitionKeySubscription() {
3212
3255
  this._subscriptions.add(combineLatest([this.route?.params || of(null), this.route?.firstChild?.params || of(null)])
3213
- .pipe(map$1(([params, firstChildParams]) => (params?.documentDefinitionName || firstChildParams?.documentDefinitionName)), filter$1(documentDefinitionName => !!documentDefinitionName))
3214
- .subscribe(documentDefinitionName => this.modalService.setDocumentDefinitionName(documentDefinitionName)));
3256
+ .pipe(map$1(([params, firstChildParams]) => (params?.caseDefinitionKey || firstChildParams?.caseDefinitionKey)), filter$1(caseDefinitionKey => !!caseDefinitionKey))
3257
+ .subscribe(caseDefinitionKey => this.modalService.setCaseDefinitionKey(caseDefinitionKey)));
3215
3258
  }
3216
3259
  hideField(hide, field) {
3217
3260
  const exists = this.hideFields.includes(field);
@@ -3222,13 +3265,13 @@ class DocumentenApiUploaderComponent {
3222
3265
  delete this.hideFields[field];
3223
3266
  }
3224
3267
  }
3225
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DocumentenApiUploaderComponent, deps: [{ token: i2$1.UploadProviderService }, { token: i3$1.FormIoStateService }, { token: i3$1.FormIoDomService }, { token: i2$1.DownloadService }, { token: i3$1.ValtimoModalService }, { token: i5$1.UserProviderService }, { token: i1$2.ActivatedRoute }, { token: DocumentenApiVersionService }], target: i0.ɵɵFactoryTarget.Component }); }
3226
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: DocumentenApiUploaderComponent, selector: "valtimo-documenten-api-formio-uploader", inputs: { disabled: "disabled", title: "title", hideTitle: "hideTitle", subtitle: "subtitle", maxFileSize: "maxFileSize", hideMaxFileSize: "hideMaxFileSize", camera: "camera", documentTitle: "documentTitle", hideDocumentTitle: "hideDocumentTitle", disableDocumentTitle: "disableDocumentTitle", filename: "filename", hideFilename: "hideFilename", disableFilename: "disableFilename", author: "author", hideAuthor: "hideAuthor", disableAuthor: "disableAuthor", status: "status", hideStatus: "hideStatus", disableStatus: "disableStatus", language: "language", hideLanguage: "hideLanguage", disableLanguage: "disableLanguage", documentType: "documentType", hideDocumentType: "hideDocumentType", disableDocumentType: "disableDocumentType", description: "description", hideDescription: "hideDescription", disableDescription: "disableDescription", confidentialityLevel: "confidentialityLevel", hideConfidentialityLevel: "hideConfidentialityLevel", disableConfidentialityLevel: "disableConfidentialityLevel", hideCreationDate: "hideCreationDate", disableCreationDate: "disableCreationDate", hideAdditionalDate: "hideAdditionalDate", tags: "tags", hideTags: "hideTags", value: "value" }, outputs: { valueChange: "valueChange" }, ngImport: i0, template: "<!--\n ~ Copyright 2015-2024 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 *ngIf=\"{linked: uploadProcessLinked$ | async, isAdmin: isAdmin$ | async} as obs\">\n <div *ngIf=\"obs.linked === false\">\n <div\n *ngIf=\"obs.isAdmin\"\n [translate]=\"'dossier.documenten.noProcessLinked.adminRole'\"\n class=\"bg-warning text-black mb-2 p-3 text-center\"\n ></div>\n <div\n *ngIf=\"!obs.isAdmin\"\n [translate]=\"'dossier.documenten.noProcessLinked.regularUser'\"\n class=\"bg-warning text-black mb-2 p-3 text-center\"\n ></div>\n </div>\n <valtimo-dropzone\n (fileSelected)=\"fileSelected($event)\"\n [acceptedFiles]=\"null\"\n [camera]=\"camera\"\n [disabled]=\"disabled || obs.linked === false || obs.linked === 'loading'\"\n [hideFilePreview]=\"true\"\n [hideTitle]=\"hideTitle\"\n [maxFileSize]=\"maxFileSize\"\n [maxFiles]=\"1\"\n [showMaxFileSize]=\"!hideMaxFileSize\"\n [subtitle]=\"subtitle\"\n [title]=\"title\"\n [uploading]=\"uploading$ | async\"\n ></valtimo-dropzone>\n</ng-container>\n\n<div *ngFor=\"let resource of _value\" class=\"file-preview\">\n <div class=\"file-preview-name\">\n <span>\n {{ resource.filename }}\n </span>\n </div>\n <div class=\"file-preview-size\">\n <span>\n {{ resource.sizeInBytes | filesize }}\n </span>\n </div>\n <div *ngIf=\"!disabled\" class=\"file-preview-delete\">\n <a (click)=\"deleteFile(resource.id)\">\n <i class=\"icon mdi mdi-delete\"></i>\n </a>\n </div>\n</div>\n\n<valtimo-documenten-api-metadata-modal\n class=\"documenten-api-uploader-metadata-modal\"\n (metadata)=\"metadataSet($event)\"\n (modalClose)=\"closeMetadataModal()\"\n [defaultValues]=\"defaultValues\"\n [disableAuthor]=\"disableAuthor\"\n [disableConfidentialityLevel]=\"disableConfidentialityLevel\"\n [disableCreationDate]=\"disableCreationDate\"\n [disableDescription]=\"disableDescription\"\n [disableDocumentTitle]=\"disableDocumentTitle\"\n [disableDocumentType]=\"disableDocumentType\"\n [disableFilename]=\"disableFilename\"\n [disableLanguage]=\"disableLanguage\"\n [disableStatus]=\"disableStatus\"\n [disabled$]=\"modalDisabled$\"\n [file$]=\"fileToBeUploaded$\"\n [hideFields]=\"hideFields\"\n [supportsTrefwoorden]=\"(supportedDocumentenApiFeatures$ | async)?.supportsTrefwoorden\"\n [open]=\"showModal()\"\n></valtimo-documenten-api-metadata-modal>\n", styles: [".progress-bar-container{padding:15px 20px}::ng-deep .formio-component-valtimo-file .formio-button-add-another,::ng-deep .formio-component-valtimo-file .btn-secondary{display:none}::ng-deep .formio-component-valtimo-file td{padding:0!important;border:none}::ng-deep .formio-component-valtimo-file .table{border-collapse:collapse;border:none;margin:10px 0}.dropzone-container{margin-bottom:12px}.file-preview{margin-top:-1px;display:flex;border:1px solid #dee2e6}.file-preview div{padding:12px 10px}.file-preview .file-preview-name{width:65%}.file-preview .file-preview-size{width:35%}.file-preview .icon{color:#a1a1a1;font-size:1.3846rem;line-height:18px;cursor:pointer}.file-preview .icon:hover{color:gray}\n/*!\n * Copyright 2015-2024 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.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3$1.DropzoneComponent, selector: "valtimo-dropzone", inputs: ["title", "hideTitle", "subtitle", "externalError$", "maxFileSize", "showMaxFileSize", "acceptedFiles", "clear$", "disabled", "hideFilePreview", "uploading", "camera", "maxFiles"], outputs: ["fileSelected"] }, { kind: "directive", type: i3.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: DocumentenApiMetadataModalComponent, selector: "valtimo-documenten-api-metadata-modal", inputs: ["disabled$", "file$", "hideFields", "defaultValues", "disableAuthor", "disableConfidentialityLevel", "disableDescription", "disableDocumentTitle", "disableDocumentType", "disableFilename", "disableLanguage", "disableStatus", "supportsTrefwoorden", "disableCreationDate", "isEditMode", "open"], outputs: ["metadata", "modalClose"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }, { kind: "pipe", type: i3$1.FileSizePipe, name: "filesize" }] }); }
3268
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: DocumentenApiUploaderComponent, deps: [{ token: i5$3.UploadProviderService }, { token: i3.FormIoDomService }, { token: i3.ValtimoModalService }, { token: i10.UserProviderService }, { token: i1$2.ActivatedRoute }, { token: DocumentenApiVersionService }], target: i0.ɵɵFactoryTarget.Component }); }
3269
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.14", type: DocumentenApiUploaderComponent, isStandalone: false, selector: "valtimo-documenten-api-formio-uploader", inputs: { disabled: "disabled", title: "title", hideTitle: "hideTitle", subtitle: "subtitle", maxFileSize: "maxFileSize", hideMaxFileSize: "hideMaxFileSize", camera: "camera", documentTitle: "documentTitle", hideDocumentTitle: "hideDocumentTitle", disableDocumentTitle: "disableDocumentTitle", filename: "filename", hideFilename: "hideFilename", disableFilename: "disableFilename", author: "author", hideAuthor: "hideAuthor", disableAuthor: "disableAuthor", status: "status", hideStatus: "hideStatus", disableStatus: "disableStatus", language: "language", hideLanguage: "hideLanguage", disableLanguage: "disableLanguage", documentType: "documentType", hideDocumentType: "hideDocumentType", disableDocumentType: "disableDocumentType", description: "description", hideDescription: "hideDescription", disableDescription: "disableDescription", confidentialityLevel: "confidentialityLevel", hideConfidentialityLevel: "hideConfidentialityLevel", disableConfidentialityLevel: "disableConfidentialityLevel", hideCreationDate: "hideCreationDate", disableCreationDate: "disableCreationDate", hideAdditionalDate: "hideAdditionalDate", tags: "tags", hideTags: "hideTags", value: "value" }, outputs: { valueChange: "valueChange" }, ngImport: i0, template: "<!--\n ~ Copyright 2015-2025 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 *ngIf=\"{linked: uploadProcessLinked$ | async, isAdmin: isAdmin$ | async} as obs\">\n <div *ngIf=\"obs.linked === false\">\n <div\n *ngIf=\"obs.isAdmin\"\n [translate]=\"'case.documenten.noProcessLinked.adminRole'\"\n class=\"bg-warning text-black mb-2 p-3 text-center\"\n ></div>\n <div\n *ngIf=\"!obs.isAdmin\"\n [translate]=\"'case.documenten.noProcessLinked.regularUser'\"\n class=\"bg-warning text-black mb-2 p-3 text-center\"\n ></div>\n </div>\n <valtimo-dropzone\n (fileSelected)=\"fileSelected($event)\"\n [acceptedFiles]=\"null\"\n [camera]=\"camera\"\n [disabled]=\"disabled || obs.linked === false || obs.linked === 'loading'\"\n [hideFilePreview]=\"true\"\n [hideTitle]=\"hideTitle\"\n [maxFileSize]=\"maxFileSize\"\n [maxFiles]=\"1\"\n [showMaxFileSize]=\"!hideMaxFileSize\"\n [subtitle]=\"subtitle\"\n [title]=\"title\"\n [uploading]=\"uploading$ | async\"\n ></valtimo-dropzone>\n</ng-container>\n\n<div *ngFor=\"let resource of _value\" class=\"file-preview\">\n <div class=\"file-preview-name\">\n <span>\n {{ resource.filename }}\n </span>\n </div>\n <div class=\"file-preview-size\">\n <span>\n {{ resource.sizeInBytes | filesize }}\n </span>\n </div>\n <div *ngIf=\"!disabled\" class=\"file-preview-delete\">\n <a (click)=\"deleteFile(resource.id)\">\n <i class=\"icon mdi mdi-delete\"></i>\n </a>\n </div>\n</div>\n\n<valtimo-documenten-api-metadata-modal\n class=\"documenten-api-uploader-metadata-modal\"\n (metadata)=\"metadataSet($event)\"\n (modalClose)=\"closeMetadataModal()\"\n [defaultValues]=\"defaultValues\"\n [disableAuthor]=\"disableAuthor\"\n [disableConfidentialityLevel]=\"disableConfidentialityLevel\"\n [disableCreationDate]=\"disableCreationDate\"\n [disableDescription]=\"disableDescription\"\n [disableDocumentTitle]=\"disableDocumentTitle\"\n [disableDocumentType]=\"disableDocumentType\"\n [disableFilename]=\"disableFilename\"\n [disableLanguage]=\"disableLanguage\"\n [disableStatus]=\"disableStatus\"\n [disabled$]=\"modalDisabled$\"\n [file$]=\"fileToBeUploaded$\"\n [hideFields]=\"hideFields\"\n [supportsTrefwoorden]=\"(supportedDocumentenApiFeatures$ | async)?.supportsTrefwoorden\"\n [open]=\"showModal()\"\n></valtimo-documenten-api-metadata-modal>\n", styles: [".progress-bar-container{padding:15px 20px}::ng-deep .formio-component-valtimo-file .formio-button-add-another,::ng-deep .formio-component-valtimo-file .btn-secondary{display:none}::ng-deep .formio-component-valtimo-file td{padding:0!important;border:none}::ng-deep .formio-component-valtimo-file .table{border-collapse:collapse;border:none;margin:10px 0}.dropzone-container{margin-bottom:12px}.file-preview{margin-top:-1px;display:flex;border:1px solid #dee2e6}.file-preview div{padding:12px 10px}.file-preview .file-preview-name{width:65%}.file-preview .file-preview-size{width:35%}.file-preview .icon{color:#a1a1a1;font-size:1.3846rem;line-height:18px;cursor:pointer}.file-preview .icon:hover{color:gray}\n/*!\n * Copyright 2015-2025 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.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.DropzoneComponent, selector: "valtimo-dropzone", inputs: ["title", "hideTitle", "subtitle", "externalError$", "maxFileSize", "showMaxFileSize", "acceptedFiles", "clear$", "disabled", "hideFilePreview", "uploading", "camera", "maxFiles"], outputs: ["fileSelected"] }, { kind: "directive", type: i5.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: DocumentenApiMetadataModalComponent, selector: "valtimo-documenten-api-metadata-modal", inputs: ["disabled$", "file$", "hideFields", "defaultValues", "disableAuthor", "disableConfidentialityLevel", "disableDescription", "disableDocumentTitle", "disableDocumentType", "disableFilename", "disableLanguage", "disableStatus", "supportsTrefwoorden", "disableCreationDate", "isEditMode", "open"], outputs: ["metadata", "modalClose"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }, { kind: "pipe", type: i3.FileSizePipe, name: "filesize" }] }); }
3227
3270
  }
3228
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DocumentenApiUploaderComponent, decorators: [{
3271
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: DocumentenApiUploaderComponent, decorators: [{
3229
3272
  type: Component,
3230
- args: [{ selector: 'valtimo-documenten-api-formio-uploader', template: "<!--\n ~ Copyright 2015-2024 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 *ngIf=\"{linked: uploadProcessLinked$ | async, isAdmin: isAdmin$ | async} as obs\">\n <div *ngIf=\"obs.linked === false\">\n <div\n *ngIf=\"obs.isAdmin\"\n [translate]=\"'dossier.documenten.noProcessLinked.adminRole'\"\n class=\"bg-warning text-black mb-2 p-3 text-center\"\n ></div>\n <div\n *ngIf=\"!obs.isAdmin\"\n [translate]=\"'dossier.documenten.noProcessLinked.regularUser'\"\n class=\"bg-warning text-black mb-2 p-3 text-center\"\n ></div>\n </div>\n <valtimo-dropzone\n (fileSelected)=\"fileSelected($event)\"\n [acceptedFiles]=\"null\"\n [camera]=\"camera\"\n [disabled]=\"disabled || obs.linked === false || obs.linked === 'loading'\"\n [hideFilePreview]=\"true\"\n [hideTitle]=\"hideTitle\"\n [maxFileSize]=\"maxFileSize\"\n [maxFiles]=\"1\"\n [showMaxFileSize]=\"!hideMaxFileSize\"\n [subtitle]=\"subtitle\"\n [title]=\"title\"\n [uploading]=\"uploading$ | async\"\n ></valtimo-dropzone>\n</ng-container>\n\n<div *ngFor=\"let resource of _value\" class=\"file-preview\">\n <div class=\"file-preview-name\">\n <span>\n {{ resource.filename }}\n </span>\n </div>\n <div class=\"file-preview-size\">\n <span>\n {{ resource.sizeInBytes | filesize }}\n </span>\n </div>\n <div *ngIf=\"!disabled\" class=\"file-preview-delete\">\n <a (click)=\"deleteFile(resource.id)\">\n <i class=\"icon mdi mdi-delete\"></i>\n </a>\n </div>\n</div>\n\n<valtimo-documenten-api-metadata-modal\n class=\"documenten-api-uploader-metadata-modal\"\n (metadata)=\"metadataSet($event)\"\n (modalClose)=\"closeMetadataModal()\"\n [defaultValues]=\"defaultValues\"\n [disableAuthor]=\"disableAuthor\"\n [disableConfidentialityLevel]=\"disableConfidentialityLevel\"\n [disableCreationDate]=\"disableCreationDate\"\n [disableDescription]=\"disableDescription\"\n [disableDocumentTitle]=\"disableDocumentTitle\"\n [disableDocumentType]=\"disableDocumentType\"\n [disableFilename]=\"disableFilename\"\n [disableLanguage]=\"disableLanguage\"\n [disableStatus]=\"disableStatus\"\n [disabled$]=\"modalDisabled$\"\n [file$]=\"fileToBeUploaded$\"\n [hideFields]=\"hideFields\"\n [supportsTrefwoorden]=\"(supportedDocumentenApiFeatures$ | async)?.supportsTrefwoorden\"\n [open]=\"showModal()\"\n></valtimo-documenten-api-metadata-modal>\n", styles: [".progress-bar-container{padding:15px 20px}::ng-deep .formio-component-valtimo-file .formio-button-add-another,::ng-deep .formio-component-valtimo-file .btn-secondary{display:none}::ng-deep .formio-component-valtimo-file td{padding:0!important;border:none}::ng-deep .formio-component-valtimo-file .table{border-collapse:collapse;border:none;margin:10px 0}.dropzone-container{margin-bottom:12px}.file-preview{margin-top:-1px;display:flex;border:1px solid #dee2e6}.file-preview div{padding:12px 10px}.file-preview .file-preview-name{width:65%}.file-preview .file-preview-size{width:35%}.file-preview .icon{color:#a1a1a1;font-size:1.3846rem;line-height:18px;cursor:pointer}.file-preview .icon:hover{color:gray}\n/*!\n * Copyright 2015-2024 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"] }]
3231
- }], ctorParameters: () => [{ type: i2$1.UploadProviderService }, { type: i3$1.FormIoStateService }, { type: i3$1.FormIoDomService }, { type: i2$1.DownloadService }, { type: i3$1.ValtimoModalService }, { type: i5$1.UserProviderService }, { type: i1$2.ActivatedRoute }, { type: DocumentenApiVersionService }], propDecorators: { disabled: [{
3273
+ args: [{ standalone: false, selector: 'valtimo-documenten-api-formio-uploader', template: "<!--\n ~ Copyright 2015-2025 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 *ngIf=\"{linked: uploadProcessLinked$ | async, isAdmin: isAdmin$ | async} as obs\">\n <div *ngIf=\"obs.linked === false\">\n <div\n *ngIf=\"obs.isAdmin\"\n [translate]=\"'case.documenten.noProcessLinked.adminRole'\"\n class=\"bg-warning text-black mb-2 p-3 text-center\"\n ></div>\n <div\n *ngIf=\"!obs.isAdmin\"\n [translate]=\"'case.documenten.noProcessLinked.regularUser'\"\n class=\"bg-warning text-black mb-2 p-3 text-center\"\n ></div>\n </div>\n <valtimo-dropzone\n (fileSelected)=\"fileSelected($event)\"\n [acceptedFiles]=\"null\"\n [camera]=\"camera\"\n [disabled]=\"disabled || obs.linked === false || obs.linked === 'loading'\"\n [hideFilePreview]=\"true\"\n [hideTitle]=\"hideTitle\"\n [maxFileSize]=\"maxFileSize\"\n [maxFiles]=\"1\"\n [showMaxFileSize]=\"!hideMaxFileSize\"\n [subtitle]=\"subtitle\"\n [title]=\"title\"\n [uploading]=\"uploading$ | async\"\n ></valtimo-dropzone>\n</ng-container>\n\n<div *ngFor=\"let resource of _value\" class=\"file-preview\">\n <div class=\"file-preview-name\">\n <span>\n {{ resource.filename }}\n </span>\n </div>\n <div class=\"file-preview-size\">\n <span>\n {{ resource.sizeInBytes | filesize }}\n </span>\n </div>\n <div *ngIf=\"!disabled\" class=\"file-preview-delete\">\n <a (click)=\"deleteFile(resource.id)\">\n <i class=\"icon mdi mdi-delete\"></i>\n </a>\n </div>\n</div>\n\n<valtimo-documenten-api-metadata-modal\n class=\"documenten-api-uploader-metadata-modal\"\n (metadata)=\"metadataSet($event)\"\n (modalClose)=\"closeMetadataModal()\"\n [defaultValues]=\"defaultValues\"\n [disableAuthor]=\"disableAuthor\"\n [disableConfidentialityLevel]=\"disableConfidentialityLevel\"\n [disableCreationDate]=\"disableCreationDate\"\n [disableDescription]=\"disableDescription\"\n [disableDocumentTitle]=\"disableDocumentTitle\"\n [disableDocumentType]=\"disableDocumentType\"\n [disableFilename]=\"disableFilename\"\n [disableLanguage]=\"disableLanguage\"\n [disableStatus]=\"disableStatus\"\n [disabled$]=\"modalDisabled$\"\n [file$]=\"fileToBeUploaded$\"\n [hideFields]=\"hideFields\"\n [supportsTrefwoorden]=\"(supportedDocumentenApiFeatures$ | async)?.supportsTrefwoorden\"\n [open]=\"showModal()\"\n></valtimo-documenten-api-metadata-modal>\n", styles: [".progress-bar-container{padding:15px 20px}::ng-deep .formio-component-valtimo-file .formio-button-add-another,::ng-deep .formio-component-valtimo-file .btn-secondary{display:none}::ng-deep .formio-component-valtimo-file td{padding:0!important;border:none}::ng-deep .formio-component-valtimo-file .table{border-collapse:collapse;border:none;margin:10px 0}.dropzone-container{margin-bottom:12px}.file-preview{margin-top:-1px;display:flex;border:1px solid #dee2e6}.file-preview div{padding:12px 10px}.file-preview .file-preview-name{width:65%}.file-preview .file-preview-size{width:35%}.file-preview .icon{color:#a1a1a1;font-size:1.3846rem;line-height:18px;cursor:pointer}.file-preview .icon:hover{color:gray}\n/*!\n * Copyright 2015-2025 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"] }]
3274
+ }], ctorParameters: () => [{ type: i5$3.UploadProviderService }, { type: i3.FormIoDomService }, { type: i3.ValtimoModalService }, { type: i10.UserProviderService }, { type: i1$2.ActivatedRoute }, { type: DocumentenApiVersionService }], propDecorators: { disabled: [{
3232
3275
  type: Input
3233
3276
  }], title: [{
3234
3277
  type: Input
@@ -3307,7 +3350,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
3307
3350
  }] } });
3308
3351
 
3309
3352
  /*
3310
- * Copyright 2015-2024 Ritense BV, the Netherlands.
3353
+ * Copyright 2015-2025 Ritense BV, the Netherlands.
3311
3354
  *
3312
3355
  * Licensed under EUPL, Version 1.2 (the "License");
3313
3356
  * you may not use this file except in compliance with the License.
@@ -3350,7 +3393,7 @@ function registerDocumentenApiFormioUploadComponent(injector) {
3350
3393
  }
3351
3394
 
3352
3395
  /*
3353
- * Copyright 2015-2024 Ritense BV, the Netherlands.
3396
+ * Copyright 2015-2025 Ritense BV, the Netherlands.
3354
3397
  *
3355
3398
  * Licensed under EUPL, Version 1.2 (the "License");
3356
3399
  * you may not use this file except in compliance with the License.
@@ -3366,7 +3409,7 @@ function registerDocumentenApiFormioUploadComponent(injector) {
3366
3409
  */
3367
3410
 
3368
3411
  /*
3369
- * Copyright 2015-2024 Ritense BV, the Netherlands.
3412
+ * Copyright 2015-2025 Ritense BV, the Netherlands.
3370
3413
  *
3371
3414
  * Licensed under EUPL, Version 1.2 (the "License");
3372
3415
  * you may not use this file except in compliance with the License.
@@ -3382,7 +3425,7 @@ function registerDocumentenApiFormioUploadComponent(injector) {
3382
3425
  */
3383
3426
 
3384
3427
  /*
3385
- * Copyright 2015-2024 Ritense BV, the Netherlands.
3428
+ * Copyright 2015-2025 Ritense BV, the Netherlands.
3386
3429
  *
3387
3430
  * Licensed under EUPL, Version 1.2 (the "License");
3388
3431
  * you may not use this file except in compliance with the License.
@@ -3398,7 +3441,7 @@ function registerDocumentenApiFormioUploadComponent(injector) {
3398
3441
  */
3399
3442
 
3400
3443
  /*
3401
- * Copyright 2015-2024 Ritense BV, the Netherlands.
3444
+ * Copyright 2015-2025 Ritense BV, the Netherlands.
3402
3445
  *
3403
3446
  * Licensed under EUPL, Version 1.2 (the "License");
3404
3447
  * you may not use this file except in compliance with the License.
@@ -3414,7 +3457,7 @@ function registerDocumentenApiFormioUploadComponent(injector) {
3414
3457
  */
3415
3458
 
3416
3459
  /*
3417
- * Copyright 2015-2024 Ritense BV, the Netherlands.
3460
+ * Copyright 2015-2025 Ritense BV, the Netherlands.
3418
3461
  *
3419
3462
  * Licensed under EUPL, Version 1.2 (the "License");
3420
3463
  * you may not use this file except in compliance with the License.
@@ -3430,7 +3473,7 @@ function registerDocumentenApiFormioUploadComponent(injector) {
3430
3473
  */
3431
3474
 
3432
3475
  /*
3433
- * Copyright 2015-2024 Ritense BV, the Netherlands.
3476
+ * Copyright 2015-2025 Ritense BV, the Netherlands.
3434
3477
  *
3435
3478
  * Licensed under EUPL, Version 1.2 (the "License");
3436
3479
  * you may not use this file except in compliance with the License.
@@ -3459,10 +3502,10 @@ class ZaakobjectenService {
3459
3502
  getObjectTypeForm(documentId, objectUrl) {
3460
3503
  return this.http.get(`${this.VALTIMO_API_ENDPOINT_URI}v1/document/${documentId}/zaak/object/form?objectUrl=${objectUrl}`);
3461
3504
  }
3462
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ZaakobjectenService, deps: [{ token: i2.ConfigService }, { token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable }); }
3463
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ZaakobjectenService, providedIn: 'root' }); }
3505
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: ZaakobjectenService, deps: [{ token: i2.ConfigService }, { token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable }); }
3506
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: ZaakobjectenService, providedIn: 'root' }); }
3464
3507
  }
3465
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ZaakobjectenService, decorators: [{
3508
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: ZaakobjectenService, decorators: [{
3466
3509
  type: Injectable,
3467
3510
  args: [{
3468
3511
  providedIn: 'root',
@@ -3470,7 +3513,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
3470
3513
  }], ctorParameters: () => [{ type: i2.ConfigService }, { type: i1.HttpClient }] });
3471
3514
 
3472
3515
  /*
3473
- * Copyright 2015-2024 Ritense BV, the Netherlands.
3516
+ * Copyright 2015-2025 Ritense BV, the Netherlands.
3474
3517
  *
3475
3518
  * Licensed under EUPL, Version 1.2 (the "License");
3476
3519
  * you may not use this file except in compliance with the License.
@@ -3486,7 +3529,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
3486
3529
  */
3487
3530
 
3488
3531
  /*
3489
- * Copyright 2015-2024 Ritense BV, the Netherlands.
3532
+ * Copyright 2015-2025 Ritense BV, the Netherlands.
3490
3533
  *
3491
3534
  * Licensed under EUPL, Version 1.2 (the "License");
3492
3535
  * you may not use this file except in compliance with the License.
@@ -3500,7 +3543,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
3500
3543
  * See the License for the specific language governing permissions and
3501
3544
  * limitations under the License.
3502
3545
  */
3503
- class DossierDetailTabZaakobjectenComponent {
3546
+ class CaseDetailTabZaakobjectenComponent {
3504
3547
  constructor(route, zaakobjectenService, modalService) {
3505
3548
  this.route = route;
3506
3549
  this.zaakobjectenService = zaakobjectenService;
@@ -3519,15 +3562,15 @@ class DossierDetailTabZaakobjectenComponent {
3519
3562
  : of(null)));
3520
3563
  this.columns$ = new BehaviorSubject([
3521
3564
  {
3522
- labelTranslationKey: 'dossier.zaakobjecten.index',
3565
+ labelTranslationKey: 'case.zaakobjecten.index',
3523
3566
  dataKey: 'index',
3524
3567
  },
3525
3568
  {
3526
- labelTranslationKey: 'dossier.zaakobjecten.registrationAt',
3569
+ labelTranslationKey: 'case.zaakobjecten.registrationAt',
3527
3570
  dataKey: 'registrationAt',
3528
3571
  },
3529
3572
  {
3530
- labelTranslationKey: 'dossier.zaakobjecten.title',
3573
+ labelTranslationKey: 'case.zaakobjecten.title',
3531
3574
  dataKey: 'title',
3532
3575
  },
3533
3576
  ]);
@@ -3539,7 +3582,7 @@ class DossierDetailTabZaakobjectenComponent {
3539
3582
  this.selectedObjecttypeUrl$.next(objectTypeUrl);
3540
3583
  }
3541
3584
  rowClicked(object, objectTypeSelectItems) {
3542
- this.documentId$.pipe(take$1(1)).subscribe(documentId => {
3585
+ this.documentId$.pipe(take(1)).subscribe(documentId => {
3543
3586
  this.zaakobjectenService.getObjectTypeForm(documentId, object.url).subscribe(res => {
3544
3587
  const definition = res.formDefinition;
3545
3588
  definition.components = definition.components.map(component => ({
@@ -3577,29 +3620,28 @@ class DossierDetailTabZaakobjectenComponent {
3577
3620
  this.objectName$.next(this.getObjectTypeName(objectTypeSelectItems));
3578
3621
  this.show();
3579
3622
  }
3580
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DossierDetailTabZaakobjectenComponent, deps: [{ token: i1$2.ActivatedRoute }, { token: ZaakobjectenService }, { token: i3$1.ModalService }], target: i0.ɵɵFactoryTarget.Component }); }
3581
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: DossierDetailTabZaakobjectenComponent, isStandalone: true, selector: "valtimo-dossier-detail-tab-zaakobjecten", viewQueries: [{ propertyName: "viewZaakobjectModal", first: true, predicate: ["viewZaakobjectModal"], descendants: true }], ngImport: i0, template: "<!--\n ~ Copyright 2015-2024 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 objecttypeSelectItems: objecttypeSelectItems$ | async,\n objects: objects$ | async,\n columns: columns$ | async,\n selectedObjectTypeUrl: selectedObjecttypeUrl$ | async,\n } as obs\"\n>\n <v-select\n [items]=\"obs.objecttypeSelectItems\"\n [margin]=\"true\"\n [widthInPx]=\"350\"\n name=\"objecttypes\"\n [title]=\"'dossier.zaakobjecten.objecttype' | translate\"\n [placeholder]=\"'dossier.zaakobjecten.objecttypePlaceholder' | translate\"\n [loading]=\"!obs.objecttypeSelectItems\"\n (selectedChange)=\"selectObjectType($event)\"\n ></v-select>\n <v-input-label\n titleTranslationKey=\"dossier.zaakobjecten.objecten\"\n [largeMargin]=\"!!obs.selectedObjectTypeUrl\"\n ></v-input-label>\n <v-paragraph *ngIf=\"!obs.selectedObjectTypeUrl\">{{\n 'dossier.zaakobjecten.objectenPlaceholder' | translate\n }}</v-paragraph>\n <v-table\n *ngIf=\"obs.selectedObjectTypeUrl\"\n [loading]=\"!obs.objects\"\n [items]=\"obs.objects\"\n [columns]=\"obs.columns\"\n [showEditButtons]=\"true\"\n [amountOfLoadingRows]=\"2\"\n [itemsTranslationKey]=\"'pluginManagement.tableItemsText'\"\n [showPagination]=\"false\"\n editButtonTranslationKey=\"dossier.zaakobjecten.objectType.viewObject\"\n (editButtonClicked)=\"rowClicked($event, obs.objecttypeSelectItems)\"\n ></v-table>\n</ng-container>\n\n<v-modal #viewZaakobjectModal (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-2024 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: "ngmodule", type: CommonModule }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }, { kind: "ngmodule", type: SelectModule }, { kind: "component", type: i3$1.SelectComponent, selector: "v-select", inputs: ["items", "defaultSelection", "defaultSelectionId", "defaultSelectionIds", "disabled", "dropUp", "multiple", "margin", "widthInPx", "notFoundText", "clearAllText", "clearText", "name", "title", "titleTranslationKey", "clearSelectionSubject$", "tooltip", "required", "loading", "loadingText", "placeholder", "smallMargin", "carbonTheme", "appendInline", "dataTestId"], outputs: ["selectedChange"] }, { kind: "ngmodule", type: InputLabelModule }, { kind: "component", type: i3$1.InputLabelComponent, selector: "v-input-label", inputs: ["name", "tooltip", "largeMargin", "small", "noMargin", "title", "titleTranslationKey", "required", "disabled", "carbonTheme"] }, { kind: "ngmodule", type: ParagraphModule }, { kind: "component", type: i3$1.ParagraphComponent, selector: "v-paragraph", inputs: ["center", "fullWidth", "margin", "italic", "loading", "dataTestId"] }, { kind: "ngmodule", type: TableModule }, { kind: "component", type: i3$1.TableComponent, selector: "v-table", inputs: ["items", "columns", "loading", "showEditButtons", "showPagination", "editButtonTranslationKey", "itemsTranslationKey", "noResultsTranslationKey", "mobileBreakpointPx", "amountOfLoadingRows", "collectionSize", "page", "size"], outputs: ["editButtonClicked", "paginationSizeSet", "paginationPageSet"] }, { kind: "ngmodule", type: VModalModule }, { kind: "component", type: i3$1.VModalComponent, selector: "v-modal", inputs: ["appearingDelayMs", "maxWidthPx", "hideFooter", "parentId"], outputs: ["closeEvent"] }, { kind: "ngmodule", type: TitleModule }, { kind: "component", type: i3$1.TitleComponent, selector: "v-title", inputs: ["type", "margin", "fullWidth", "center"] }, { kind: "ngmodule", type: FormIoModule }, { kind: "component", type: i3$1.FormioComponent, selector: "valtimo-form-io", inputs: ["options", "submission", "form", "readOnly", "formRefresh$"], outputs: ["submit", "change", "event"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }] }); }
3623
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: CaseDetailTabZaakobjectenComponent, deps: [{ token: i1$2.ActivatedRoute }, { token: ZaakobjectenService }, { token: i3.ModalService }], target: i0.ɵɵFactoryTarget.Component }); }
3624
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.14", type: CaseDetailTabZaakobjectenComponent, isStandalone: true, selector: "valtimo-case-detail-tab-zaakobjecten", viewQueries: [{ propertyName: "viewZaakobjectModal", first: true, predicate: ["viewZaakobjectModal"], descendants: true }], ngImport: i0, template: "<!--\n ~ Copyright 2015-2025 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 objecttypeSelectItems: objecttypeSelectItems$ | async,\n objects: objects$ | async,\n columns: columns$ | async,\n selectedObjectTypeUrl: selectedObjecttypeUrl$ | async,\n } as obs\"\n>\n <v-select\n [items]=\"obs.objecttypeSelectItems\"\n [margin]=\"true\"\n [widthInPx]=\"350\"\n name=\"objecttypes\"\n [title]=\"'case.zaakobjecten.objecttype' | translate\"\n [placeholder]=\"'case.zaakobjecten.objecttypePlaceholder' | translate\"\n [loading]=\"!obs.objecttypeSelectItems\"\n (selectedChange)=\"selectObjectType($event)\"\n ></v-select>\n <v-input-label\n titleTranslationKey=\"case.zaakobjecten.objecten\"\n [largeMargin]=\"!!obs.selectedObjectTypeUrl\"\n ></v-input-label>\n <v-paragraph *ngIf=\"!obs.selectedObjectTypeUrl\">{{\n 'case.zaakobjecten.objectenPlaceholder' | translate\n }}</v-paragraph>\n <v-table\n *ngIf=\"obs.selectedObjectTypeUrl\"\n [loading]=\"!obs.objects\"\n [items]=\"obs.objects\"\n [columns]=\"obs.columns\"\n [showEditButtons]=\"true\"\n [amountOfLoadingRows]=\"2\"\n [itemsTranslationKey]=\"'pluginManagement.tableItemsText'\"\n [showPagination]=\"false\"\n editButtonTranslationKey=\"case.zaakobjecten.objectType.viewObject\"\n (editButtonClicked)=\"rowClicked($event, obs.objecttypeSelectItems)\"\n ></v-table>\n</ng-container>\n\n<v-modal #viewZaakobjectModal (closeEvent)=\"hide()\" [hideFooter]=\"true\" [maxWidthPx]=\"750\">\n <div role=\"header\">\n <h4>{{ objectName$ | async }}</h4>\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 'case.zaakobjecten.noFormDefinitionComponent' | translate\n }}</v-paragraph>\n </div>\n</v-modal>\n", styles: ["/*!\n * Copyright 2015-2025 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: "ngmodule", type: CommonModule }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }, { kind: "ngmodule", type: SelectModule }, { kind: "component", type: i3.SelectComponent, selector: "v-select", inputs: ["items", "defaultSelection", "defaultSelectionId", "defaultSelectionIds", "disabled", "dropUp", "multiple", "margin", "widthInPx", "notFoundText", "clearAllText", "clearText", "name", "title", "titleTranslationKey", "clearSelectionSubject$", "tooltip", "required", "loading", "loadingText", "placeholder", "smallMargin", "carbonTheme", "appendInline", "dataTestId"], outputs: ["selectedChange"] }, { kind: "ngmodule", type: InputLabelModule }, { kind: "component", type: i3.InputLabelComponent, selector: "v-input-label", inputs: ["name", "tooltip", "largeMargin", "small", "noMargin", "title", "titleTranslationKey", "required", "disabled", "carbonTheme"] }, { kind: "ngmodule", type: ParagraphModule }, { kind: "component", type: i3.ParagraphComponent, selector: "v-paragraph", inputs: ["center", "fullWidth", "margin", "italic", "loading", "dataTestId"] }, { kind: "ngmodule", type: TableModule }, { 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: "ngmodule", type: VModalModule }, { kind: "component", type: i3.VModalComponent, selector: "v-modal", inputs: ["appearingDelayMs", "maxWidthPx", "hideFooter", "parentId"], outputs: ["closeEvent"] }, { kind: "ngmodule", type: FormIoModule }, { kind: "component", type: i3.FormioComponent, selector: "valtimo-form-io", inputs: ["options", "submission", "form", "readOnly", "formRefresh$"], outputs: ["submit", "change", "event"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i5.TranslatePipe, name: "translate" }] }); }
3582
3625
  }
3583
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DossierDetailTabZaakobjectenComponent, decorators: [{
3626
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: CaseDetailTabZaakobjectenComponent, decorators: [{
3584
3627
  type: Component,
3585
- args: [{ selector: 'valtimo-dossier-detail-tab-zaakobjecten', standalone: true, imports: [
3628
+ args: [{ selector: 'valtimo-case-detail-tab-zaakobjecten', standalone: true, imports: [
3586
3629
  CommonModule,
3587
3630
  SelectModule,
3588
3631
  InputLabelModule,
3589
3632
  ParagraphModule,
3590
3633
  TableModule,
3591
3634
  VModalModule,
3592
- TitleModule,
3593
3635
  FormIoModule,
3594
3636
  TranslateModule,
3595
- ], template: "<!--\n ~ Copyright 2015-2024 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 objecttypeSelectItems: objecttypeSelectItems$ | async,\n objects: objects$ | async,\n columns: columns$ | async,\n selectedObjectTypeUrl: selectedObjecttypeUrl$ | async,\n } as obs\"\n>\n <v-select\n [items]=\"obs.objecttypeSelectItems\"\n [margin]=\"true\"\n [widthInPx]=\"350\"\n name=\"objecttypes\"\n [title]=\"'dossier.zaakobjecten.objecttype' | translate\"\n [placeholder]=\"'dossier.zaakobjecten.objecttypePlaceholder' | translate\"\n [loading]=\"!obs.objecttypeSelectItems\"\n (selectedChange)=\"selectObjectType($event)\"\n ></v-select>\n <v-input-label\n titleTranslationKey=\"dossier.zaakobjecten.objecten\"\n [largeMargin]=\"!!obs.selectedObjectTypeUrl\"\n ></v-input-label>\n <v-paragraph *ngIf=\"!obs.selectedObjectTypeUrl\">{{\n 'dossier.zaakobjecten.objectenPlaceholder' | translate\n }}</v-paragraph>\n <v-table\n *ngIf=\"obs.selectedObjectTypeUrl\"\n [loading]=\"!obs.objects\"\n [items]=\"obs.objects\"\n [columns]=\"obs.columns\"\n [showEditButtons]=\"true\"\n [amountOfLoadingRows]=\"2\"\n [itemsTranslationKey]=\"'pluginManagement.tableItemsText'\"\n [showPagination]=\"false\"\n editButtonTranslationKey=\"dossier.zaakobjecten.objectType.viewObject\"\n (editButtonClicked)=\"rowClicked($event, obs.objecttypeSelectItems)\"\n ></v-table>\n</ng-container>\n\n<v-modal #viewZaakobjectModal (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-2024 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"] }]
3596
- }], ctorParameters: () => [{ type: i1$2.ActivatedRoute }, { type: ZaakobjectenService }, { type: i3$1.ModalService }], propDecorators: { viewZaakobjectModal: [{
3637
+ ], template: "<!--\n ~ Copyright 2015-2025 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 objecttypeSelectItems: objecttypeSelectItems$ | async,\n objects: objects$ | async,\n columns: columns$ | async,\n selectedObjectTypeUrl: selectedObjecttypeUrl$ | async,\n } as obs\"\n>\n <v-select\n [items]=\"obs.objecttypeSelectItems\"\n [margin]=\"true\"\n [widthInPx]=\"350\"\n name=\"objecttypes\"\n [title]=\"'case.zaakobjecten.objecttype' | translate\"\n [placeholder]=\"'case.zaakobjecten.objecttypePlaceholder' | translate\"\n [loading]=\"!obs.objecttypeSelectItems\"\n (selectedChange)=\"selectObjectType($event)\"\n ></v-select>\n <v-input-label\n titleTranslationKey=\"case.zaakobjecten.objecten\"\n [largeMargin]=\"!!obs.selectedObjectTypeUrl\"\n ></v-input-label>\n <v-paragraph *ngIf=\"!obs.selectedObjectTypeUrl\">{{\n 'case.zaakobjecten.objectenPlaceholder' | translate\n }}</v-paragraph>\n <v-table\n *ngIf=\"obs.selectedObjectTypeUrl\"\n [loading]=\"!obs.objects\"\n [items]=\"obs.objects\"\n [columns]=\"obs.columns\"\n [showEditButtons]=\"true\"\n [amountOfLoadingRows]=\"2\"\n [itemsTranslationKey]=\"'pluginManagement.tableItemsText'\"\n [showPagination]=\"false\"\n editButtonTranslationKey=\"case.zaakobjecten.objectType.viewObject\"\n (editButtonClicked)=\"rowClicked($event, obs.objecttypeSelectItems)\"\n ></v-table>\n</ng-container>\n\n<v-modal #viewZaakobjectModal (closeEvent)=\"hide()\" [hideFooter]=\"true\" [maxWidthPx]=\"750\">\n <div role=\"header\">\n <h4>{{ objectName$ | async }}</h4>\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 'case.zaakobjecten.noFormDefinitionComponent' | translate\n }}</v-paragraph>\n </div>\n</v-modal>\n", styles: ["/*!\n * Copyright 2015-2025 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"] }]
3638
+ }], ctorParameters: () => [{ type: i1$2.ActivatedRoute }, { type: ZaakobjectenService }, { type: i3.ModalService }], propDecorators: { viewZaakobjectModal: [{
3597
3639
  type: ViewChild,
3598
3640
  args: ['viewZaakobjectModal']
3599
3641
  }] } });
3600
3642
 
3601
3643
  /*
3602
- * Copyright 2015-2024 Ritense BV, the Netherlands.
3644
+ * Copyright 2015-2025 Ritense BV, the Netherlands.
3603
3645
  *
3604
3646
  * Licensed under EUPL, Version 1.2 (the "License");
3605
3647
  * you may not use this file except in compliance with the License.
@@ -3613,7 +3655,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
3613
3655
  * See the License for the specific language governing permissions and
3614
3656
  * limitations under the License.
3615
3657
  */
3616
- class DossierDetailTabObjectTypeComponent {
3658
+ class CaseDetailTabObjectTypeComponent {
3617
3659
  constructor(route, zaakobjectenService, modalService) {
3618
3660
  this.route = route;
3619
3661
  this.zaakobjectenService = zaakobjectenService;
@@ -3652,15 +3694,15 @@ class DossierDetailTabObjectTypeComponent {
3652
3694
  }))));
3653
3695
  this.columns$ = new BehaviorSubject([
3654
3696
  {
3655
- labelTranslationKey: 'dossier.zaakobjecten.index',
3697
+ labelTranslationKey: 'case.zaakobjecten.index',
3656
3698
  dataKey: 'index',
3657
3699
  },
3658
3700
  {
3659
- labelTranslationKey: 'dossier.zaakobjecten.registrationAt',
3701
+ labelTranslationKey: 'case.zaakobjecten.registrationAt',
3660
3702
  dataKey: 'registrationAt',
3661
3703
  },
3662
3704
  {
3663
- labelTranslationKey: 'dossier.zaakobjecten.title',
3705
+ labelTranslationKey: 'case.zaakobjecten.title',
3664
3706
  dataKey: 'title',
3665
3707
  },
3666
3708
  ]);
@@ -3668,7 +3710,7 @@ class DossierDetailTabObjectTypeComponent {
3668
3710
  this.noFormDefinitionComponent$ = new BehaviorSubject(false);
3669
3711
  }
3670
3712
  rowClicked(object) {
3671
- this.documentId$.pipe(take$1(1)).subscribe(documentId => {
3713
+ this.documentId$.pipe(take(1)).subscribe(documentId => {
3672
3714
  this.zaakobjectenService.getObjectTypeForm(documentId, object.url).subscribe(res => {
3673
3715
  const definition = res.formDefinition;
3674
3716
  definition.components = definition.components.map(component => ({
@@ -3699,51 +3741,19 @@ class DossierDetailTabObjectTypeComponent {
3699
3741
  }
3700
3742
  this.show();
3701
3743
  }
3702
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DossierDetailTabObjectTypeComponent, deps: [{ token: i1$2.ActivatedRoute }, { token: ZaakobjectenService }, { token: i3$1.ModalService }], target: i0.ɵɵFactoryTarget.Component }); }
3703
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: DossierDetailTabObjectTypeComponent, isStandalone: true, selector: "valtimo-object-type", viewQueries: [{ propertyName: "viewObjectModal", first: true, predicate: ["viewObjectModal"], descendants: true }], ngImport: i0, template: "<!--\n ~ Copyright 2015-2024 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-2024 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: "ngmodule", type: CommonModule }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }, { kind: "ngmodule", type: TableModule }, { kind: "component", type: i3$1.TableComponent, selector: "v-table", inputs: ["items", "columns", "loading", "showEditButtons", "showPagination", "editButtonTranslationKey", "itemsTranslationKey", "noResultsTranslationKey", "mobileBreakpointPx", "amountOfLoadingRows", "collectionSize", "page", "size"], outputs: ["editButtonClicked", "paginationSizeSet", "paginationPageSet"] }, { kind: "ngmodule", type: ParagraphModule }, { kind: "component", type: i3$1.ParagraphComponent, selector: "v-paragraph", inputs: ["center", "fullWidth", "margin", "italic", "loading", "dataTestId"] }, { kind: "ngmodule", type: VModalModule }, { kind: "component", type: i3$1.VModalComponent, selector: "v-modal", inputs: ["appearingDelayMs", "maxWidthPx", "hideFooter", "parentId"], outputs: ["closeEvent"] }, { kind: "ngmodule", type: TitleModule }, { kind: "component", type: i3$1.TitleComponent, selector: "v-title", inputs: ["type", "margin", "fullWidth", "center"] }, { kind: "ngmodule", type: FormIoModule }, { kind: "component", type: i3$1.FormioComponent, selector: "valtimo-form-io", inputs: ["options", "submission", "form", "readOnly", "formRefresh$"], outputs: ["submit", "change", "event"] }] }); }
3744
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: CaseDetailTabObjectTypeComponent, deps: [{ token: i1$2.ActivatedRoute }, { token: ZaakobjectenService }, { token: i3.ModalService }], target: i0.ɵɵFactoryTarget.Component }); }
3745
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.14", type: CaseDetailTabObjectTypeComponent, isStandalone: true, selector: "valtimo-object-type", viewQueries: [{ propertyName: "viewObjectModal", first: true, predicate: ["viewObjectModal"], descendants: true }], ngImport: i0, template: "<!--\n ~ Copyright 2015-2025 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=\"case.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 'case.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 <h4>{{ objectName$ | async }}</h4>\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 'case.zaakobjecten.noFormDefinitionComponent' | translate\n }}</v-paragraph>\n </div>\n</v-modal>\n", styles: ["/*!\n * Copyright 2015-2025 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: "ngmodule", type: CommonModule }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }, { kind: "ngmodule", type: TableModule }, { 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: "ngmodule", type: ParagraphModule }, { kind: "component", type: i3.ParagraphComponent, selector: "v-paragraph", inputs: ["center", "fullWidth", "margin", "italic", "loading", "dataTestId"] }, { kind: "ngmodule", type: VModalModule }, { kind: "component", type: i3.VModalComponent, selector: "v-modal", inputs: ["appearingDelayMs", "maxWidthPx", "hideFooter", "parentId"], outputs: ["closeEvent"] }, { kind: "ngmodule", type: FormIoModule }, { kind: "component", type: i3.FormioComponent, selector: "valtimo-form-io", inputs: ["options", "submission", "form", "readOnly", "formRefresh$"], outputs: ["submit", "change", "event"] }] }); }
3704
3746
  }
3705
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DossierDetailTabObjectTypeComponent, decorators: [{
3747
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: CaseDetailTabObjectTypeComponent, decorators: [{
3706
3748
  type: Component,
3707
- args: [{ selector: 'valtimo-object-type', standalone: true, imports: [CommonModule, TableModule, ParagraphModule, VModalModule, TitleModule, FormIoModule], template: "<!--\n ~ Copyright 2015-2024 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-2024 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"] }]
3708
- }], ctorParameters: () => [{ type: i1$2.ActivatedRoute }, { type: ZaakobjectenService }, { type: i3$1.ModalService }], propDecorators: { viewObjectModal: [{
3749
+ args: [{ selector: 'valtimo-object-type', standalone: true, imports: [CommonModule, TableModule, ParagraphModule, VModalModule, FormIoModule], template: "<!--\n ~ Copyright 2015-2025 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=\"case.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 'case.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 <h4>{{ objectName$ | async }}</h4>\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 'case.zaakobjecten.noFormDefinitionComponent' | translate\n }}</v-paragraph>\n </div>\n</v-modal>\n", styles: ["/*!\n * Copyright 2015-2025 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"] }]
3750
+ }], ctorParameters: () => [{ type: i1$2.ActivatedRoute }, { type: ZaakobjectenService }, { type: i3.ModalService }], propDecorators: { viewObjectModal: [{
3709
3751
  type: ViewChild,
3710
3752
  args: ['viewObjectModal']
3711
3753
  }] } });
3712
3754
 
3713
3755
  /*
3714
- * Copyright 2015-2024 Ritense BV, the Netherlands.
3715
- *
3716
- * Licensed under EUPL, Version 1.2 (the "License");
3717
- * you may not use this file except in compliance with the License.
3718
- * You may obtain a copy of the License at
3719
- *
3720
- * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
3721
- *
3722
- * Unless required by applicable law or agreed to in writing, software
3723
- * distributed under the License is distributed on an "AS IS" basis,
3724
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
3725
- * See the License for the specific language governing permissions and
3726
- * limitations under the License.
3727
- */
3728
-
3729
- /*
3730
- * Copyright 2015-2024 Ritense BV, the Netherlands.
3731
- *
3732
- * Licensed under EUPL, Version 1.2 (the "License");
3733
- * you may not use this file except in compliance with the License.
3734
- * You may obtain a copy of the License at
3735
- *
3736
- * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
3737
- *
3738
- * Unless required by applicable law or agreed to in writing, software
3739
- * distributed under the License is distributed on an "AS IS" basis,
3740
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
3741
- * See the License for the specific language governing permissions and
3742
- * limitations under the License.
3743
- */
3744
-
3745
- /*
3746
- * Copyright 2015-2024 Ritense BV, the Netherlands.
3756
+ * Copyright 2015-2025 Ritense BV, the Netherlands.
3747
3757
  *
3748
3758
  * Licensed under EUPL, Version 1.2 (the "License");
3749
3759
  * you may not use this file except in compliance with the License.
@@ -3759,7 +3769,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
3759
3769
  */
3760
3770
 
3761
3771
  /*
3762
- * Copyright 2015-2024 Ritense BV, the Netherlands.
3772
+ * Copyright 2015-2025 Ritense BV, the Netherlands.
3763
3773
  *
3764
3774
  * Licensed under EUPL, Version 1.2 (the "License");
3765
3775
  * you may not use this file except in compliance with the License.
@@ -3775,7 +3785,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
3775
3785
  */
3776
3786
 
3777
3787
  /*
3778
- * Copyright 2015-2024 Ritense BV, the Netherlands.
3788
+ * Copyright 2015-2025 Ritense BV, the Netherlands.
3779
3789
  *
3780
3790
  * Licensed under EUPL, Version 1.2 (the "License");
3781
3791
  * you may not use this file except in compliance with the License.
@@ -3789,24 +3799,28 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
3789
3799
  * See the License for the specific language governing permissions and
3790
3800
  * limitations under the License.
3791
3801
  */
3792
- /**
3793
- * @deprecated Will be replace by new plugins
3794
- */
3795
- class ContactMomentService {
3796
- constructor(http, configService) {
3797
- this.http = http;
3798
- this.valtimoEndpointUri = configService.config.valtimoApi.endpointUri;
3802
+ class DocumentObjectenApiSyncService extends BaseApiService {
3803
+ constructor(httpClient, configService) {
3804
+ super(httpClient, configService);
3805
+ this.httpClient = httpClient;
3806
+ this.configService = configService;
3807
+ }
3808
+ getObjectManagementConfigurations() {
3809
+ return this.httpClient.get(this.getApiUrl(`/management/v1/object/management/configuration`));
3810
+ }
3811
+ getDocumentObjectenApiSync(caseDefinitionKey, caseDefinitionVersionTag) {
3812
+ return this.httpClient.get(this.getApiUrl(`/management/v1/case-definition/${caseDefinitionKey}/version/${caseDefinitionVersionTag}/objecten-api-sync`));
3799
3813
  }
3800
- getContactMoments() {
3801
- return this.http.get(`${this.valtimoEndpointUri}v1/contactmoment`);
3814
+ updateDocumentObjectenApiSync(caseDefinitionKey, caseDefinitionVersionTag, request) {
3815
+ return this.httpClient.put(this.getApiUrl(`/management/v1/case-definition/${caseDefinitionKey}/version/${caseDefinitionVersionTag}/objecten-api-sync`), request);
3802
3816
  }
3803
- saveContactMoment(contactMomentRequest) {
3804
- return this.http.post(`${this.valtimoEndpointUri}v1/contactmoment`, contactMomentRequest);
3817
+ deleteDocumentObjectenApiSync(caseDefinitionKey, caseDefinitionVersionTag) {
3818
+ return this.httpClient.delete(this.getApiUrl(`/management/v1/case-definition/${caseDefinitionKey}/version/${caseDefinitionVersionTag}/objecten-api-sync`));
3805
3819
  }
3806
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ContactMomentService, deps: [{ token: i1.HttpClient }, { token: i2.ConfigService }], target: i0.ɵɵFactoryTarget.Injectable }); }
3807
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ContactMomentService, providedIn: 'root' }); }
3820
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: DocumentObjectenApiSyncService, deps: [{ token: i1.HttpClient }, { token: i2.ConfigService }], target: i0.ɵɵFactoryTarget.Injectable }); }
3821
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: DocumentObjectenApiSyncService, providedIn: 'root' }); }
3808
3822
  }
3809
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ContactMomentService, decorators: [{
3823
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: DocumentObjectenApiSyncService, decorators: [{
3810
3824
  type: Injectable,
3811
3825
  args: [{
3812
3826
  providedIn: 'root',
@@ -3814,7 +3828,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
3814
3828
  }], ctorParameters: () => [{ type: i1.HttpClient }, { type: i2.ConfigService }] });
3815
3829
 
3816
3830
  /*
3817
- * Copyright 2015-2024 Ritense BV, the Netherlands.
3831
+ * Copyright 2015-2025 Ritense BV, the Netherlands.
3818
3832
  *
3819
3833
  * Licensed under EUPL, Version 1.2 (the "License");
3820
3834
  * you may not use this file except in compliance with the License.
@@ -3830,7 +3844,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
3830
3844
  */
3831
3845
 
3832
3846
  /*
3833
- * Copyright 2015-2024 Ritense BV, the Netherlands.
3847
+ * Copyright 2015-2025 Ritense BV, the Netherlands.
3834
3848
  *
3835
3849
  * Licensed under EUPL, Version 1.2 (the "License");
3836
3850
  * you may not use this file except in compliance with the License.
@@ -3844,68 +3858,119 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
3844
3858
  * See the License for the specific language governing permissions and
3845
3859
  * limitations under the License.
3846
3860
  */
3847
- moment.locale(localStorage.getItem('langKey') || '');
3848
- class DossierDetailTabContactMomentsComponent {
3849
- constructor(contactMomentService, alertService, translateService) {
3850
- this.contactMomentService = contactMomentService;
3851
- this.alertService = alertService;
3852
- this.translateService = translateService;
3853
- this.refetchContactMoments$ = new BehaviorSubject('');
3854
- this.contactMoments$ = this.refetchContactMoments$.pipe(switchMap$1(() => this.contactMomentService.getContactMoments()), map$1(contactMoments => contactMoments.map(contactMoment => {
3855
- const registratieDatum = moment(contactMoment.registratiedatum);
3856
- return new TimelineItemImpl(registratieDatum.format('DD MMM YYYY'), registratieDatum.format('HH:mm'), contactMoment.medewerkerIdentificatie.achternaam, contactMoment.kanaal, contactMoment.tekst, null);
3857
- })));
3858
- this.text$ = new BehaviorSubject('');
3859
- this.channel$ = new BehaviorSubject('MAIL');
3860
- this.requestData$ = combineLatest([this.text$, this.channel$]);
3861
- this.valid$ = this.requestData$.pipe(map$1(([text, channel]) => !!(text && channel)));
3862
- this.disabled$ = new BehaviorSubject(false);
3861
+ class DocumentObjectenApiSyncComponent {
3862
+ get objectManagementConfigurationId() {
3863
+ return this.formGroup.get('objectManagementConfigurationId') ?? null;
3863
3864
  }
3864
- textChange(text) {
3865
- this.text$.next(text);
3865
+ get enabled() {
3866
+ return this.formGroup.get('enabled') ?? null;
3866
3867
  }
3867
- buttonClick() {
3868
- this.modal.show();
3868
+ constructor(route, documentObjectenApiSyncService, documentService, cdsThemeService, iconService, draftVersionService) {
3869
+ this.route = route;
3870
+ this.documentObjectenApiSyncService = documentObjectenApiSyncService;
3871
+ this.documentService = documentService;
3872
+ this.cdsThemeService = cdsThemeService;
3873
+ this.iconService = iconService;
3874
+ this.draftVersionService = draftVersionService;
3875
+ this.loading$ = new BehaviorSubject(true);
3876
+ this._params$ = getCaseManagementRouteParams(this.route);
3877
+ this._documentDefinition$ = this._params$.pipe(switchMap(params => this.documentService.getDocumentDefinitionByVersion(params?.caseDefinitionKey ?? '', params?.caseDefinitionVersionTag ?? '')));
3878
+ this.isDraftVersion$ = this._params$.pipe(switchMap((params) => !params
3879
+ ? of(false)
3880
+ : this.draftVersionService.isDraftVersion(params.caseDefinitionKey, params.caseDefinitionVersionTag)));
3881
+ this.documentObjectenApiSync$ = new BehaviorSubject(null);
3882
+ this.objectManagementConfigurationItems$ = this.documentObjectenApiSyncService.getObjectManagementConfigurations().pipe(map(results => results?.map(configuration => ({
3883
+ id: configuration.id,
3884
+ text: configuration.title,
3885
+ }))));
3886
+ this.modalShowing$ = new BehaviorSubject(false);
3887
+ this.currentTheme$ = this.cdsThemeService.currentTheme$;
3888
+ this.formGroup = new FormGroup({
3889
+ objectManagementConfigurationId: new FormControl('', Validators.required),
3890
+ enabled: new FormControl(true),
3891
+ });
3892
+ this.valid$ = new BehaviorSubject(false);
3893
+ this.iconService.registerAll([TrashCan16, Edit16]);
3869
3894
  }
3870
- saveNote() {
3871
- this.disable();
3872
- this.requestData$.pipe(take$1(1)).subscribe(([text, channel]) => {
3873
- this.contactMomentService.saveContactMoment({ kanaal: channel, tekst: text }).subscribe(() => {
3874
- this.alertService.success(this.translateService.instant('dossier.contactMoments.saveSuccess'));
3875
- this.enable();
3876
- this.clear();
3877
- this.modal.hide();
3878
- this.refetchContactMoments();
3879
- }, () => {
3880
- this.enable();
3881
- });
3895
+ ngOnInit() {
3896
+ this.loadDocumentenObjectenApiSync();
3897
+ }
3898
+ loadDocumentenObjectenApiSync() {
3899
+ this._documentDefinition$
3900
+ .pipe(switchMap((documentDefinition) => this.documentObjectenApiSyncService.getDocumentObjectenApiSync(documentDefinition.id.caseDefinitionId.key, documentDefinition.id.caseDefinitionId.versionTag)))
3901
+ .subscribe(documentObjectenApiSync => {
3902
+ this.loading$.next(false);
3903
+ this.configSelected(documentObjectenApiSync?.objectManagementConfigurationId);
3904
+ this.enabled?.patchValue(documentObjectenApiSync?.enabled);
3905
+ this.documentObjectenApiSync$.next(documentObjectenApiSync);
3882
3906
  });
3883
3907
  }
3884
- disable() {
3885
- this.disabled$.next(true);
3908
+ remove() {
3909
+ this._documentDefinition$
3910
+ .pipe(switchMap(documentDefinition => this.documentObjectenApiSyncService.deleteDocumentObjectenApiSync(documentDefinition.id.caseDefinitionId.key, documentDefinition.id.caseDefinitionId.versionTag)), tap(() => {
3911
+ this.documentObjectenApiSync$.next(null);
3912
+ }))
3913
+ .subscribe();
3914
+ }
3915
+ submit() {
3916
+ const formValues = this.formGroup.getRawValue();
3917
+ this._documentDefinition$
3918
+ .pipe(switchMap(documentDefinition => this.documentObjectenApiSyncService.updateDocumentObjectenApiSync(documentDefinition.id.caseDefinitionId.key, documentDefinition.id.caseDefinitionId.versionTag, {
3919
+ objectManagementConfigurationId: formValues.objectManagementConfigurationId ?? '',
3920
+ enabled: !!formValues.enabled,
3921
+ })))
3922
+ .subscribe(() => {
3923
+ this.loadDocumentenObjectenApiSync();
3924
+ this.hideModal();
3925
+ });
3886
3926
  }
3887
- enable() {
3888
- this.disabled$.next(false);
3927
+ onModalClose() {
3928
+ this.hideModal();
3889
3929
  }
3890
- clear() {
3891
- this.text$.next('');
3930
+ showModal() {
3931
+ this.modalShowing$.next(true);
3932
+ }
3933
+ configSelected(selectedId) {
3934
+ if (!this.objectManagementConfigurationId)
3935
+ return;
3936
+ if (!selectedId) {
3937
+ this.objectManagementConfigurationId.patchValue('');
3938
+ }
3939
+ else {
3940
+ this.objectManagementConfigurationId.patchValue(selectedId);
3941
+ }
3892
3942
  }
3893
- refetchContactMoments() {
3894
- this.refetchContactMoments$.next('');
3943
+ hideModal() {
3944
+ this.modalShowing$.next(false);
3895
3945
  }
3896
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DossierDetailTabContactMomentsComponent, deps: [{ token: ContactMomentService }, { token: i3$1.AlertService }, { token: i3.TranslateService }], target: i0.ɵɵFactoryTarget.Component }); }
3897
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: DossierDetailTabContactMomentsComponent, isStandalone: true, selector: "valtimo-dossier-detail-tab-contact-moments", viewQueries: [{ propertyName: "modal", first: true, predicate: ["contactMomentsNoteModal"], descendants: true }], ngImport: i0, template: "<!--\n ~ Copyright 2015-2024 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 class=\"contact-moments-container\">\n <ng-container *ngTemplateOutlet=\"buttons\"></ng-container>\n <ng-container *ngTemplateOutlet=\"moments\"></ng-container>\n</div>\n\n<valtimo-modal\n #contactMomentsNoteModal\n [title]=\"'dossier.contactMoments.popupTitle' | translate\"\n [showFooter]=\"true\"\n [elementId]=\"'contact-moments-modal'\"\n>\n <div class=\"mt-2\" body>\n <ng-container *ngTemplateOutlet=\"body\"></ng-container>\n </div>\n <div footer>\n <ng-container *ngTemplateOutlet=\"footer\"></ng-container>\n </div>\n</valtimo-modal>\n\n<ng-template #body>\n <form>\n <div class=\"form-group row\">\n <label class=\"col-12 col-sm-3 col-form-label text-sm-right\" for=\"body\">\n {{ 'dossier.contactMoments.noteText' | translate }}\n </label>\n <div class=\"col-12 col-sm-8 col-lg-6\">\n <textarea\n [disabled]=\"disabled$ | async\"\n class=\"form-control\"\n id=\"body\"\n name=\"body\"\n [ngModel]=\"text$ | async\"\n (ngModelChange)=\"textChange($event)\"\n ></textarea>\n </div>\n </div>\n </form>\n</ng-template>\n\n<ng-template #footer>\n <button\n *ngIf=\"(disabled$ | async) === false; else loading\"\n class=\"btn btn-primary\"\n [disabled]=\"(valid$ | async) === false || (disabled$ | async)\"\n (click)=\"saveNote()\"\n >\n {{ 'dossier.contactMoments.saveButtonText' | translate }}\n </button>\n</ng-template>\n\n<ng-template #loading>\n <valtimo-spinner [noMarginTop]=\"true\"></valtimo-spinner>\n</ng-template>\n\n<ng-template #buttons>\n <div class=\"btn-group mt-m3px mb-3 button-container\">\n <button class=\"btn btn-primary btn-space\" (click)=\"buttonClick()\">\n <i class=\"icon mdi mdi-note-plus\"></i>\n &nbsp;{{ 'dossier.contactMoments.makeNoteButton' | translate }}\n </button>\n </div>\n</ng-template>\n\n<ng-template #moments>\n <div *ngIf=\"contactMoments$ | async as contactMoments; else loading\">\n <valtimo-timeline [items]=\"contactMoments\"></valtimo-timeline>\n </div>\n</ng-template>\n", styles: [".contact-moments-container{display:flex;flex-direction:column}.button-container{display:inline;align-self:flex-end}\n/*!\n * Copyright 2015-2024 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: "ngmodule", type: CommonModule }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }, { kind: "ngmodule", type: ModalModule$1 }, { kind: "component", type: i3$1.ModalComponent, selector: "valtimo-modal", inputs: ["elementId", "title", "subtitle", "templateBelowSubtitle", "showFooter"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i1$1.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: SpinnerModule }, { kind: "component", type: i3$1.SpinnerComponent, selector: "valtimo-spinner", inputs: ["useBootstrapSpinner", "name", "type", "size", "color", "bdColor", "fullScreen", "noMarginTop"] }, { kind: "ngmodule", type: TimelineModule }, { kind: "component", type: i3$1.TimelineComponent, selector: "valtimo-timeline", inputs: ["items", "actions"] }] }); }
3946
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: DocumentObjectenApiSyncComponent, deps: [{ token: i1$2.ActivatedRoute }, { token: DocumentObjectenApiSyncService }, { token: i4$1.DocumentService }, { token: i3.CdsThemeService }, { token: i5$1.IconService }, { token: i2.DraftVersionService }], target: i0.ɵɵFactoryTarget.Component }); }
3947
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.14", type: DocumentObjectenApiSyncComponent, isStandalone: true, selector: "valtimo-document-objecten-api-sync", ngImport: i0, template: "<!--\n ~ Copyright 2015-2025 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<cds-tile>\n <valtimo-case-management-draft-warning\n *ngIf=\"isDraftVersion$ | async\"\n [name]=\"'zaakdetails.title' | translate | lowercase\"\n ></valtimo-case-management-draft-warning>\n\n <h2 class=\"valtimo-objecten-sync__title\">{{ 'zaakdetails.title' | translate }}</h2>\n\n @if (loading$ | async) {\n <valtimo-spinner></valtimo-spinner>\n } @else {\n @if (documentObjectenApiSync$ | async; as documentObjectenApiSync) {\n <section class=\"valtimo-objecten-sync__card-header\">\n <span class=\"valtimo-objecten-sync__card-title\">\n {{ documentObjectenApiSync.objectManagementConfigurationTitle || '-' }}\n </span>\n\n <div class=\"valtimo-objecten-sync__card-controls\">\n <button cdsButton=\"tertiary\" (click)=\"showModal()\">\n {{ 'interface.edit' | translate }}\n\n <svg class=\"cds--btn__icon\" cdsIcon=\"edit\" size=\"16\"></svg>\n </button>\n\n <button cdsButton=\"danger\" (click)=\"remove()\">\n {{ 'interface.delete' | translate }}\n\n <svg class=\"cds--btn__icon\" cdsIcon=\"trash-can\" size=\"16\"></svg>\n </button>\n </div>\n </section>\n\n <section class=\"valtimo-objecten-sync__card-body\">\n <div>\n <strong>{{ 'zaakdetails.enabled' | translate }}</strong>\n\n {{\n documentObjectenApiSync.enabled\n ? ('zaakdetails.yes' | translate)\n : ('zaakdetails.no' | translate)\n }}\n </div>\n\n <div>\n <strong>{{ 'zaakdetails.objectManagementConfigurationTitle' | translate }}</strong>\n\n {{ documentObjectenApiSync.objectManagementConfigurationTitle || '-' }}\n </div>\n </section>\n } @else {\n <button cdsButton=\"primary\" (click)=\"showModal()\">\n {{ 'zaakdetails.submitButton' | translate }}\n\n <svg class=\"cds--btn__icon\" cdsIcon=\"add\" size=\"16\"></svg>\n </button>\n }\n }\n</cds-tile>\n\n<valtimo-render-in-body>\n <cds-modal\n valtimoCdsModal\n [title]=\"'zaakdetails.editModal.title' | translate\"\n [open]=\"modalShowing$ | async\"\n showFooter=\"true\"\n (close)=\"onModalClose()\"\n >\n <cds-modal-header [showCloseButton]=\"true\" (closeSelect)=\"onModalClose()\">\n <h3 cdsModalHeaderHeading>\n {{ 'zaakdetails.editModal.title' | translate }}\n </h3>\n </cds-modal-header>\n\n <section cdsModalContent [cdsLayer]=\"1\">\n <form [formGroup]=\"formGroup\">\n <v-select\n *ngIf=\"objectManagementConfigurationItems$ | async as objectManagementConfigurations\"\n [appendInline]=\"false\"\n [dropUp]=\"false\"\n [items]=\"objectManagementConfigurations\"\n [defaultSelectionId]=\"objectManagementConfigurationId.getRawValue()\"\n [placeholder]=\"\n 'zaakdetails.editModal.objectManagementConfigurationPlaceholder' | translate\n \"\n [title]=\"'zaakdetails.editModal.objectManagementConfiguration' | translate\"\n [disabled]=\"false\"\n [margin]=\"true\"\n [required]=\"true\"\n name=\"objectManagementConfigurationId\"\n [carbonTheme]=\"currentTheme$ | async\"\n (selectedChange)=\"configSelected($event)\"\n ></v-select>\n\n <cds-checkbox formControlName=\"enabled\"\n >{{ 'zaakdetails.editModal.enabled' | translate }}\n </cds-checkbox>\n </form>\n </section>\n\n <cds-modal-footer>\n <button cdsButton=\"secondary\" (click)=\"onModalClose()\" [disabled]=\"false\">\n {{ 'interface.cancel' | translate }}\n </button>\n\n <button cdsButton=\"primary\" [disabled]=\"!formGroup.valid\" (click)=\"submit()\">\n {{ 'searchFieldsOverview.submit' | translate }}\n </button>\n </cds-modal-footer>\n </cds-modal>\n</valtimo-render-in-body>\n", styles: ["cds-tile{background:var(--cds-layer-02);width:100%}.valtimo-objecten-sync__title{font-size:16px;line-height:24px;font-weight:600;margin-bottom:16px}.valtimo-objecten-sync__card-header{display:flex;flex-direction:row;justify-content:space-between;align-items:center;padding-bottom:20px}.valtimo-objecten-sync__card-title{font-size:18px}.valtimo-objecten-sync__card-controls{display:flex;align-items:center;gap:16px}.valtimo-objecten-sync__card-body{display:flex;flex-direction:column;gap:16px}.valtimo-objecten-sync__card-body>div{display:grid;grid-template-columns:repeat(3,1fr);font-size:16px}\n/*!\n * Copyright 2015-2025 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: "ngmodule", type: ButtonModule }, { kind: "directive", type: i5$1.Button, selector: "[cdsButton], [ibmButton]", inputs: ["ibmButton", "cdsButton", "size", "skeleton", "iconOnly", "isExpressive"] }, { kind: "ngmodule", type: CheckboxModule }, { kind: "component", type: i5$1.Checkbox, selector: "cds-checkbox, ibm-checkbox", inputs: ["disabled", "skeleton", "hideLabel", "name", "id", "required", "value", "ariaLabel", "ariaLabelledby", "indeterminate", "checked"], outputs: ["click", "checkedChange", "indeterminateChange"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }, { kind: "pipe", type: i4.LowerCasePipe, name: "lowercase" }, { kind: "ngmodule", type: FormModule }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "ngmodule", type: IconModule }, { kind: "directive", type: i5$1.IconDirective, selector: "[cdsIcon], [ibmIcon]", inputs: ["ibmIcon", "cdsIcon", "size", "title", "ariaLabel", "ariaLabelledBy", "ariaHidden", "isFocusable"] }, { kind: "ngmodule", type: InputModule$1 }, { kind: "ngmodule", type: LayerModule }, { kind: "directive", type: i5$1.LayerDirective, selector: "[cdsLayer], [ibmLayer]", inputs: ["ibmLayer", "cdsLayer"], exportAs: ["layer"] }, { kind: "ngmodule", type: ModalModule }, { kind: "component", type: i5$1.Modal, selector: "cds-modal, ibm-modal", inputs: ["size", "theme", "ariaLabel", "open", "trigger", "hasScrollingContent"], outputs: ["overlaySelected", "close"] }, { kind: "component", type: i5$1.ModalHeader, selector: "cds-modal-header, ibm-modal-header", inputs: ["theme", "closeLabel", "showCloseButton"], outputs: ["closeSelect"] }, { kind: "component", type: i5$1.ModalFooter, selector: "cds-modal-footer, ibm-modal-footer" }, { kind: "directive", type: i5$1.ModalContent, selector: "[cdsModalContent], [ibmModalContent]", inputs: ["hasForm"] }, { kind: "directive", type: i5$1.ModalHeaderHeading, selector: "[cdsModalHeaderHeading], [ibmModalHeaderHeading]" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "ngmodule", type: SelectModule }, { kind: "component", type: i3.SelectComponent, selector: "v-select", inputs: ["items", "defaultSelection", "defaultSelectionId", "defaultSelectionIds", "disabled", "dropUp", "multiple", "margin", "widthInPx", "notFoundText", "clearAllText", "clearText", "name", "title", "titleTranslationKey", "clearSelectionSubject$", "tooltip", "required", "loading", "loadingText", "placeholder", "smallMargin", "carbonTheme", "appendInline", "dataTestId"], outputs: ["selectedChange"] }, { kind: "ngmodule", type: SpinnerModule }, { kind: "component", type: i3.SpinnerComponent, selector: "valtimo-spinner", inputs: ["useBootstrapSpinner", "name", "type", "size", "color", "bdColor", "fullScreen", "noMarginTop"] }, { kind: "ngmodule", type: TilesModule }, { kind: "component", type: i5$1.Tile, selector: "cds-tile, ibm-tile", inputs: ["theme"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i5.TranslatePipe, name: "translate" }, { kind: "directive", type: ValtimoCdsModalDirective, selector: "[valtimoCdsModal]", inputs: ["enableOverflow"] }, { kind: "component", type: RenderInBodyComponent, selector: "valtimo-render-in-body" }, { kind: "component", type: CaseManagementDraftWarningComponent, selector: "valtimo-case-management-draft-warning", inputs: ["name"] }] }); }
3898
3948
  }
3899
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DossierDetailTabContactMomentsComponent, decorators: [{
3949
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: DocumentObjectenApiSyncComponent, decorators: [{
3900
3950
  type: Component,
3901
- args: [{ selector: 'valtimo-dossier-detail-tab-contact-moments', standalone: true, imports: [CommonModule, ModalModule$1, TranslateModule, FormsModule, SpinnerModule, TimelineModule], template: "<!--\n ~ Copyright 2015-2024 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 class=\"contact-moments-container\">\n <ng-container *ngTemplateOutlet=\"buttons\"></ng-container>\n <ng-container *ngTemplateOutlet=\"moments\"></ng-container>\n</div>\n\n<valtimo-modal\n #contactMomentsNoteModal\n [title]=\"'dossier.contactMoments.popupTitle' | translate\"\n [showFooter]=\"true\"\n [elementId]=\"'contact-moments-modal'\"\n>\n <div class=\"mt-2\" body>\n <ng-container *ngTemplateOutlet=\"body\"></ng-container>\n </div>\n <div footer>\n <ng-container *ngTemplateOutlet=\"footer\"></ng-container>\n </div>\n</valtimo-modal>\n\n<ng-template #body>\n <form>\n <div class=\"form-group row\">\n <label class=\"col-12 col-sm-3 col-form-label text-sm-right\" for=\"body\">\n {{ 'dossier.contactMoments.noteText' | translate }}\n </label>\n <div class=\"col-12 col-sm-8 col-lg-6\">\n <textarea\n [disabled]=\"disabled$ | async\"\n class=\"form-control\"\n id=\"body\"\n name=\"body\"\n [ngModel]=\"text$ | async\"\n (ngModelChange)=\"textChange($event)\"\n ></textarea>\n </div>\n </div>\n </form>\n</ng-template>\n\n<ng-template #footer>\n <button\n *ngIf=\"(disabled$ | async) === false; else loading\"\n class=\"btn btn-primary\"\n [disabled]=\"(valid$ | async) === false || (disabled$ | async)\"\n (click)=\"saveNote()\"\n >\n {{ 'dossier.contactMoments.saveButtonText' | translate }}\n </button>\n</ng-template>\n\n<ng-template #loading>\n <valtimo-spinner [noMarginTop]=\"true\"></valtimo-spinner>\n</ng-template>\n\n<ng-template #buttons>\n <div class=\"btn-group mt-m3px mb-3 button-container\">\n <button class=\"btn btn-primary btn-space\" (click)=\"buttonClick()\">\n <i class=\"icon mdi mdi-note-plus\"></i>\n &nbsp;{{ 'dossier.contactMoments.makeNoteButton' | translate }}\n </button>\n </div>\n</ng-template>\n\n<ng-template #moments>\n <div *ngIf=\"contactMoments$ | async as contactMoments; else loading\">\n <valtimo-timeline [items]=\"contactMoments\"></valtimo-timeline>\n </div>\n</ng-template>\n", styles: [".contact-moments-container{display:flex;flex-direction:column}.button-container{display:inline;align-self:flex-end}\n/*!\n * Copyright 2015-2024 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"] }]
3902
- }], ctorParameters: () => [{ type: ContactMomentService }, { type: i3$1.AlertService }, { type: i3.TranslateService }], propDecorators: { modal: [{
3903
- type: ViewChild,
3904
- args: ['contactMomentsNoteModal']
3905
- }] } });
3951
+ args: [{ selector: 'valtimo-document-objecten-api-sync', standalone: true, imports: [
3952
+ ButtonModule,
3953
+ CheckboxModule,
3954
+ CommonModule,
3955
+ FormModule,
3956
+ FormsModule,
3957
+ IconModule,
3958
+ InputModule$1,
3959
+ LayerModule,
3960
+ ModalModule,
3961
+ ReactiveFormsModule,
3962
+ SelectModule,
3963
+ SpinnerModule,
3964
+ TilesModule,
3965
+ TranslateModule,
3966
+ ValtimoCdsModalDirective,
3967
+ RenderInBodyComponent,
3968
+ CaseManagementDraftWarningComponent,
3969
+ ], template: "<!--\n ~ Copyright 2015-2025 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<cds-tile>\n <valtimo-case-management-draft-warning\n *ngIf=\"isDraftVersion$ | async\"\n [name]=\"'zaakdetails.title' | translate | lowercase\"\n ></valtimo-case-management-draft-warning>\n\n <h2 class=\"valtimo-objecten-sync__title\">{{ 'zaakdetails.title' | translate }}</h2>\n\n @if (loading$ | async) {\n <valtimo-spinner></valtimo-spinner>\n } @else {\n @if (documentObjectenApiSync$ | async; as documentObjectenApiSync) {\n <section class=\"valtimo-objecten-sync__card-header\">\n <span class=\"valtimo-objecten-sync__card-title\">\n {{ documentObjectenApiSync.objectManagementConfigurationTitle || '-' }}\n </span>\n\n <div class=\"valtimo-objecten-sync__card-controls\">\n <button cdsButton=\"tertiary\" (click)=\"showModal()\">\n {{ 'interface.edit' | translate }}\n\n <svg class=\"cds--btn__icon\" cdsIcon=\"edit\" size=\"16\"></svg>\n </button>\n\n <button cdsButton=\"danger\" (click)=\"remove()\">\n {{ 'interface.delete' | translate }}\n\n <svg class=\"cds--btn__icon\" cdsIcon=\"trash-can\" size=\"16\"></svg>\n </button>\n </div>\n </section>\n\n <section class=\"valtimo-objecten-sync__card-body\">\n <div>\n <strong>{{ 'zaakdetails.enabled' | translate }}</strong>\n\n {{\n documentObjectenApiSync.enabled\n ? ('zaakdetails.yes' | translate)\n : ('zaakdetails.no' | translate)\n }}\n </div>\n\n <div>\n <strong>{{ 'zaakdetails.objectManagementConfigurationTitle' | translate }}</strong>\n\n {{ documentObjectenApiSync.objectManagementConfigurationTitle || '-' }}\n </div>\n </section>\n } @else {\n <button cdsButton=\"primary\" (click)=\"showModal()\">\n {{ 'zaakdetails.submitButton' | translate }}\n\n <svg class=\"cds--btn__icon\" cdsIcon=\"add\" size=\"16\"></svg>\n </button>\n }\n }\n</cds-tile>\n\n<valtimo-render-in-body>\n <cds-modal\n valtimoCdsModal\n [title]=\"'zaakdetails.editModal.title' | translate\"\n [open]=\"modalShowing$ | async\"\n showFooter=\"true\"\n (close)=\"onModalClose()\"\n >\n <cds-modal-header [showCloseButton]=\"true\" (closeSelect)=\"onModalClose()\">\n <h3 cdsModalHeaderHeading>\n {{ 'zaakdetails.editModal.title' | translate }}\n </h3>\n </cds-modal-header>\n\n <section cdsModalContent [cdsLayer]=\"1\">\n <form [formGroup]=\"formGroup\">\n <v-select\n *ngIf=\"objectManagementConfigurationItems$ | async as objectManagementConfigurations\"\n [appendInline]=\"false\"\n [dropUp]=\"false\"\n [items]=\"objectManagementConfigurations\"\n [defaultSelectionId]=\"objectManagementConfigurationId.getRawValue()\"\n [placeholder]=\"\n 'zaakdetails.editModal.objectManagementConfigurationPlaceholder' | translate\n \"\n [title]=\"'zaakdetails.editModal.objectManagementConfiguration' | translate\"\n [disabled]=\"false\"\n [margin]=\"true\"\n [required]=\"true\"\n name=\"objectManagementConfigurationId\"\n [carbonTheme]=\"currentTheme$ | async\"\n (selectedChange)=\"configSelected($event)\"\n ></v-select>\n\n <cds-checkbox formControlName=\"enabled\"\n >{{ 'zaakdetails.editModal.enabled' | translate }}\n </cds-checkbox>\n </form>\n </section>\n\n <cds-modal-footer>\n <button cdsButton=\"secondary\" (click)=\"onModalClose()\" [disabled]=\"false\">\n {{ 'interface.cancel' | translate }}\n </button>\n\n <button cdsButton=\"primary\" [disabled]=\"!formGroup.valid\" (click)=\"submit()\">\n {{ 'searchFieldsOverview.submit' | translate }}\n </button>\n </cds-modal-footer>\n </cds-modal>\n</valtimo-render-in-body>\n", styles: ["cds-tile{background:var(--cds-layer-02);width:100%}.valtimo-objecten-sync__title{font-size:16px;line-height:24px;font-weight:600;margin-bottom:16px}.valtimo-objecten-sync__card-header{display:flex;flex-direction:row;justify-content:space-between;align-items:center;padding-bottom:20px}.valtimo-objecten-sync__card-title{font-size:18px}.valtimo-objecten-sync__card-controls{display:flex;align-items:center;gap:16px}.valtimo-objecten-sync__card-body{display:flex;flex-direction:column;gap:16px}.valtimo-objecten-sync__card-body>div{display:grid;grid-template-columns:repeat(3,1fr);font-size:16px}\n/*!\n * Copyright 2015-2025 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"] }]
3970
+ }], ctorParameters: () => [{ type: i1$2.ActivatedRoute }, { type: DocumentObjectenApiSyncService }, { type: i4$1.DocumentService }, { type: i3.CdsThemeService }, { type: i5$1.IconService }, { type: i2.DraftVersionService }] });
3906
3971
 
3907
3972
  /*
3908
- * Copyright 2015-2024 Ritense BV, the Netherlands.
3973
+ * Copyright 2015-2025 Ritense BV, the Netherlands.
3909
3974
  *
3910
3975
  * Licensed under EUPL, Version 1.2 (the "License");
3911
3976
  * you may not use this file except in compliance with the License.
@@ -3921,7 +3986,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
3921
3986
  */
3922
3987
 
3923
3988
  /*
3924
- * Copyright 2015-2024 Ritense BV, the Netherlands.
3989
+ * Copyright 2015-2025 Ritense BV, the Netherlands.
3925
3990
  *
3926
3991
  * Licensed under EUPL, Version 1.2 (the "License");
3927
3992
  * you may not use this file except in compliance with the License.
@@ -3937,7 +4002,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
3937
4002
  */
3938
4003
 
3939
4004
  /*
3940
- * Copyright 2015-2024 Ritense BV, the Netherlands.
4005
+ * Copyright 2015-2025 Ritense BV, the Netherlands.
3941
4006
  *
3942
4007
  * Licensed under EUPL, Version 1.2 (the "License");
3943
4008
  * you may not use this file except in compliance with the License.
@@ -3951,32 +4016,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
3951
4016
  * See the License for the specific language governing permissions and
3952
4017
  * limitations under the License.
3953
4018
  */
3954
- /**
3955
- * @deprecated Will be replace by new plugins
3956
- */
3957
- class CustomerService {
3958
- constructor(http, configService) {
3959
- this.http = http;
3960
- this.valtimoEndpointUri = configService.config.valtimoApi.endpointUri;
3961
- }
3962
- getCustomers(request) {
3963
- return this.http.post(`${this.valtimoEndpointUri}v1/haalcentraal/personen`, request);
3964
- }
3965
- getCustomerCases(bsn) {
3966
- return this.http.get(`${this.valtimoEndpointUri}v1/zaken/${bsn}`);
3967
- }
3968
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CustomerService, deps: [{ token: i1.HttpClient }, { token: i2.ConfigService }], target: i0.ɵɵFactoryTarget.Injectable }); }
3969
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CustomerService, providedIn: 'root' }); }
3970
- }
3971
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CustomerService, decorators: [{
3972
- type: Injectable,
3973
- args: [{
3974
- providedIn: 'root',
3975
- }]
3976
- }], ctorParameters: () => [{ type: i1.HttpClient }, { type: i2.ConfigService }] });
3977
4019
 
3978
4020
  /*
3979
- * Copyright 2015-2024 Ritense BV, the Netherlands.
4021
+ * Copyright 2015-2025 Ritense BV, the Netherlands.
3980
4022
  *
3981
4023
  * Licensed under EUPL, Version 1.2 (the "License");
3982
4024
  * you may not use this file except in compliance with the License.
@@ -3990,9 +4032,27 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
3990
4032
  * See the License for the specific language governing permissions and
3991
4033
  * limitations under the License.
3992
4034
  */
4035
+ class ZakenApiZaaktypeLinkService extends BaseApiService {
4036
+ constructor(httpClient, configService) {
4037
+ super(httpClient, configService);
4038
+ this.httpClient = httpClient;
4039
+ this.configService = configService;
4040
+ }
4041
+ getPluginConfigurationsByPluginDefinitionKey(pluginDefinitionKey) {
4042
+ return this.httpClient.get(this.getApiUrl(`/v1/plugin/configuration?pluginDefinitionKey=${pluginDefinitionKey}`));
4043
+ }
4044
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: ZakenApiZaaktypeLinkService, deps: [{ token: i1.HttpClient }, { token: i2.ConfigService }], target: i0.ɵɵFactoryTarget.Injectable }); }
4045
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: ZakenApiZaaktypeLinkService, providedIn: 'root' }); }
4046
+ }
4047
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: ZakenApiZaaktypeLinkService, decorators: [{
4048
+ type: Injectable,
4049
+ args: [{
4050
+ providedIn: 'root',
4051
+ }]
4052
+ }], ctorParameters: () => [{ type: i1.HttpClient }, { type: i2.ConfigService }] });
3993
4053
 
3994
4054
  /*
3995
- * Copyright 2015-2024 Ritense BV, the Netherlands.
4055
+ * Copyright 2015-2025 Ritense BV, the Netherlands.
3996
4056
  *
3997
4057
  * Licensed under EUPL, Version 1.2 (the "License");
3998
4058
  * you may not use this file except in compliance with the License.
@@ -4008,605 +4068,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
4008
4068
  */
4009
4069
 
4010
4070
  /*
4011
- * Copyright 2015-2024 Ritense BV, the Netherlands.
4012
- *
4013
- * Licensed under EUPL, Version 1.2 (the "License");
4014
- * you may not use this file except in compliance with the License.
4015
- * You may obtain a copy of the License at
4016
- *
4017
- * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
4018
- *
4019
- * Unless required by applicable law or agreed to in writing, software
4020
- * distributed under the License is distributed on an "AS IS" basis,
4021
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
4022
- * See the License for the specific language governing permissions and
4023
- * limitations under the License.
4024
- */
4025
-
4026
- /*
4027
- * Copyright 2015-2024 Ritense BV, the Netherlands.
4028
- *
4029
- * Licensed under EUPL, Version 1.2 (the "License");
4030
- * you may not use this file except in compliance with the License.
4031
- * You may obtain a copy of the License at
4032
- *
4033
- * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
4034
- *
4035
- * Unless required by applicable law or agreed to in writing, software
4036
- * distributed under the License is distributed on an "AS IS" basis,
4037
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
4038
- * See the License for the specific language governing permissions and
4039
- * limitations under the License.
4040
- */
4041
-
4042
- /*
4043
- * Copyright 2015-2024 Ritense BV, the Netherlands.
4044
- *
4045
- * Licensed under EUPL, Version 1.2 (the "License");
4046
- * you may not use this file except in compliance with the License.
4047
- * You may obtain a copy of the License at
4048
- *
4049
- * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
4050
- *
4051
- * Unless required by applicable law or agreed to in writing, software
4052
- * distributed under the License is distributed on an "AS IS" basis,
4053
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
4054
- * See the License for the specific language governing permissions and
4055
- * limitations under the License.
4056
- */
4057
- /**
4058
- * @deprecated Will be replace by new plugins
4059
- */
4060
- class CustomerListComponent {
4061
- constructor(customerService, translateService, configService, router) {
4062
- this.customerService = customerService;
4063
- this.translateService = translateService;
4064
- this.configService = configService;
4065
- this.router = router;
4066
- this.fields$ = combineLatest([
4067
- this.translateService.stream('customers.name'),
4068
- this.translateService.stream('customers.citizenServiceNumber'),
4069
- this.translateService.stream('customers.dateOfBirth'),
4070
- ]).pipe(map$1(([nameLabel, numberLabel, dateOfBirthLabel]) => [
4071
- {
4072
- label: numberLabel,
4073
- key: 'citizenServiceNumber',
4074
- },
4075
- {
4076
- label: nameLabel,
4077
- key: 'name',
4078
- },
4079
- {
4080
- label: dateOfBirthLabel,
4081
- key: 'dateOfBirth',
4082
- },
4083
- ]));
4084
- this.bsn$ = new BehaviorSubject('');
4085
- this.bsnValid$ = this.bsn$.pipe(map$1(bsn => {
4086
- const regex = new RegExp(/^[0-9]{9}$/gm);
4087
- return regex.test(bsn);
4088
- }));
4089
- this.dateOfBirth$ = new BehaviorSubject('');
4090
- this.dateOfBirthValid$ = this.dateOfBirth$.pipe(map$1(dateOfBirth => {
4091
- const regex = new RegExp(/^[0-9]{4}-[0-9]{2}-[0-9]{2}$/gm);
4092
- return regex.test(dateOfBirth);
4093
- }));
4094
- this.familyName$ = new BehaviorSubject('');
4095
- this.searchParameters$ = combineLatest([this.bsn$, this.dateOfBirth$, this.familyName$, this.bsnValid$, this.dateOfBirthValid$]).pipe(map$1(([bsn, dateOfBirth, familyName, bsnValid, dateOfBirthValid]) => {
4096
- if (bsn && bsnValid) {
4097
- this.loading$.next(true);
4098
- return { bsn };
4099
- }
4100
- else if (dateOfBirth && familyName && dateOfBirthValid) {
4101
- this.loading$.next(true);
4102
- return {
4103
- geslachtsnaam: familyName,
4104
- geboortedatum: dateOfBirth,
4105
- };
4106
- }
4107
- return undefined;
4108
- }));
4109
- this.customers$ = this.searchParameters$.pipe(debounceTime$1(500), switchMap$1(searchParameters => {
4110
- if (searchParameters?.bsn ||
4111
- (searchParameters?.geslachtsnaam &&
4112
- searchParameters?.geboortedatum)) {
4113
- return this.customerService
4114
- .getCustomers(searchParameters)
4115
- .pipe(catchError(() => of([])));
4116
- }
4117
- return of([]);
4118
- }), map$1(customers => customers.map(customer => ({
4119
- citizenServiceNumber: customer.burgerservicenummer,
4120
- dateOfBirth: customer.geboorteDatum,
4121
- name: `${customer.geslachtsnaam}, ${customer.voornamen} ${customer.voorletters}`,
4122
- }))), tap$1(() => {
4123
- this.loading$.next(false);
4124
- }));
4125
- this.loading$ = new BehaviorSubject(true);
4126
- }
4127
- bsnChange(bsn) {
4128
- this.clearDateOfBirth();
4129
- this.clearFamilyName();
4130
- this.bsn$.next(bsn);
4131
- }
4132
- dateOfBirthChange(dateOfBirth) {
4133
- this.clearBsn();
4134
- this.dateOfBirth$.next(dateOfBirth);
4135
- }
4136
- familyNameChange(familyName) {
4137
- this.clearBsn();
4138
- this.familyName$.next(familyName);
4139
- }
4140
- rowClick(customer) {
4141
- const config = this.configService.config;
4142
- const bsn = customer?.citizenServiceNumber;
4143
- if (bsn && config?.featureToggles?.enableHackathonCasesPage) {
4144
- this.router.navigate([`/klanten/klant/${bsn}`]);
4145
- }
4146
- }
4147
- clearBsn() {
4148
- this.bsn$.next('');
4149
- }
4150
- clearDateOfBirth() {
4151
- this.dateOfBirth$.next('');
4152
- }
4153
- clearFamilyName() {
4154
- this.familyName$.next('');
4155
- }
4156
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CustomerListComponent, deps: [{ token: CustomerService }, { token: i3.TranslateService }, { token: i2.ConfigService }, { token: i1$2.Router }], target: i0.ɵɵFactoryTarget.Component }); }
4157
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: CustomerListComponent, selector: "valtimo-customer-list", ngImport: i0, template: "<!--\n ~ Copyright 2015-2024 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 *ngTemplateOutlet=\"sidebar\"></ng-container>\n\n<div\n class=\"main-content pt-0\"\n *ngIf=\"{customers: customers$ | async, fields: fields$ | async} as obs\"\n>\n <div class=\"container-fluid\">\n <div class=\"col-12 px-0 mb-5\">\n <ng-container *ngIf=\"(loading$ | async) === false; else loading\">\n <ng-container\n *ngTemplateOutlet=\"list; context: {customers: obs.customers, fields: obs.fields}\"\n ></ng-container>\n </ng-container>\n </div>\n </div>\n</div>\n\n<ng-template #list let-customers=\"customers\" let-fields=\"fields\">\n <valtimo-widget>\n <valtimo-list\n [items]=\"customers\"\n [fields]=\"fields\"\n [header]=\"true\"\n (rowClicked)=\"rowClick($event)\"\n >\n <div header>\n <h3 class=\"list-header-title\">{{ 'customers.title' | translate }}</h3>\n <h5 class=\"list-header-description\">{{ 'customers.subtitle' | translate }}</h5>\n </div>\n </valtimo-list>\n </valtimo-widget>\n</ng-template>\n\n<ng-template #loading>\n <valtimo-spinner></valtimo-spinner>\n</ng-template>\n\n<ng-template #sidebar>\n <valtimo-filter-sidebar>\n <h4 class=\"title\">{{ 'customers.searchBasedOn' | translate }}</h4>\n <div class=\"tab-container\">\n <ul class=\"nav nav-tabs nav-tabs-classic\" role=\"tablist\">\n <li class=\"nav-item\">\n <a\n class=\"nav-link active\"\n href=\"#search_bsn\"\n data-toggle=\"tab\"\n role=\"tab\"\n aria-selected=\"true\"\n ><b>{{ 'customers.citizenServiceNumber' | translate }}</b></a\n >\n </li>\n <li class=\"nav-item\">\n <a\n class=\"nav-link\"\n href=\"#search_birth_data\"\n data-toggle=\"tab\"\n role=\"tab\"\n aria-selected=\"false\"\n ><b>{{ 'customers.lastNameAndDateOfBirth' | translate }}</b></a\n >\n </li>\n </ul>\n <div class=\"tab-content\">\n <div class=\"tab-pane active\" id=\"search_bsn\" role=\"tabpanel\">\n <ng-container *ngTemplateOutlet=\"bsnTab\"></ng-container>\n </div>\n <div class=\"tab-pane\" id=\"search_birth_data\" role=\"tabpanel\">\n <ng-container *ngTemplateOutlet=\"birthDataTab\"></ng-container>\n </div>\n </div>\n </div>\n </valtimo-filter-sidebar>\n</ng-template>\n\n<ng-template #bsnTab>\n <form>\n <div class=\"form-group pt-2\">\n <label for=\"inputBsn\">{{ 'customers.citizenServiceNumber' | translate }}</label>\n <input\n class=\"form-control\"\n id=\"inputBsn\"\n type=\"text\"\n name=\"bsn\"\n [placeholder]=\"'customers.citizenServiceNumberPlaceholder' | translate\"\n [ngModel]=\"bsn$ | async\"\n (ngModelChange)=\"bsnChange($event)\"\n [ngClass]=\"{'is-valid': bsnValid$ | async}\"\n />\n </div>\n </form>\n</ng-template>\n\n<ng-template #birthDataTab>\n <form>\n <div class=\"form-group pt-2\">\n <label for=\"inputDateOfBirth\">{{ 'customers.dateOfBirth' | translate }}</label>\n <input\n class=\"form-control\"\n id=\"inputDateOfBirth\"\n type=\"text\"\n name=\"dateOfBirth\"\n [placeholder]=\"'customers.dateOfBirthPlaceholder' | translate\"\n [ngModel]=\"dateOfBirth$ | async\"\n (ngModelChange)=\"dateOfBirthChange($event)\"\n [ngClass]=\"{'is-valid': dateOfBirthValid$ | async}\"\n />\n </div>\n <div class=\"form-group\">\n <label for=\"inputFamilyName\">{{ 'customers.familyName' | translate }}</label>\n <input\n class=\"form-control\"\n id=\"inputFamilyName\"\n type=\"text\"\n name=\"familyName\"\n [placeholder]=\"'customers.familyNamePlaceholder' | translate\"\n [ngModel]=\"familyName$ | async\"\n (ngModelChange)=\"familyNameChange($event)\"\n [ngClass]=\"{'is-valid': familyName$ | async}\"\n />\n </div>\n </form>\n</ng-template>\n", styles: ["/*!\n * Copyright 2015-2024 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.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i3$1.WidgetComponent, selector: "valtimo-widget", inputs: ["type", "name", "icon", "contrast", "divider", "title", "subtitle", "collapseAble", "collapse", "additionalClasses"] }, { kind: "component", type: i3$1.ListComponent, selector: "valtimo-list", inputs: ["items", "fields", "pagination", "viewMode", "isSearchable", "header", "actions", "paginationIdentifier", "initialSortState", "lastColumnTemplate"], outputs: ["rowClicked", "paginationClicked", "paginationSet", "search", "sortChanged"] }, { kind: "component", type: i3$1.SpinnerComponent, selector: "valtimo-spinner", inputs: ["useBootstrapSpinner", "name", "type", "size", "color", "bdColor", "fullScreen", "noMarginTop"] }, { kind: "component", type: i3$1.FilterSidebarComponent, selector: "valtimo-filter-sidebar" }, { kind: "directive", type: i1$1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i1$1.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }] }); }
4158
- }
4159
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CustomerListComponent, decorators: [{
4160
- type: Component,
4161
- args: [{ selector: 'valtimo-customer-list', template: "<!--\n ~ Copyright 2015-2024 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 *ngTemplateOutlet=\"sidebar\"></ng-container>\n\n<div\n class=\"main-content pt-0\"\n *ngIf=\"{customers: customers$ | async, fields: fields$ | async} as obs\"\n>\n <div class=\"container-fluid\">\n <div class=\"col-12 px-0 mb-5\">\n <ng-container *ngIf=\"(loading$ | async) === false; else loading\">\n <ng-container\n *ngTemplateOutlet=\"list; context: {customers: obs.customers, fields: obs.fields}\"\n ></ng-container>\n </ng-container>\n </div>\n </div>\n</div>\n\n<ng-template #list let-customers=\"customers\" let-fields=\"fields\">\n <valtimo-widget>\n <valtimo-list\n [items]=\"customers\"\n [fields]=\"fields\"\n [header]=\"true\"\n (rowClicked)=\"rowClick($event)\"\n >\n <div header>\n <h3 class=\"list-header-title\">{{ 'customers.title' | translate }}</h3>\n <h5 class=\"list-header-description\">{{ 'customers.subtitle' | translate }}</h5>\n </div>\n </valtimo-list>\n </valtimo-widget>\n</ng-template>\n\n<ng-template #loading>\n <valtimo-spinner></valtimo-spinner>\n</ng-template>\n\n<ng-template #sidebar>\n <valtimo-filter-sidebar>\n <h4 class=\"title\">{{ 'customers.searchBasedOn' | translate }}</h4>\n <div class=\"tab-container\">\n <ul class=\"nav nav-tabs nav-tabs-classic\" role=\"tablist\">\n <li class=\"nav-item\">\n <a\n class=\"nav-link active\"\n href=\"#search_bsn\"\n data-toggle=\"tab\"\n role=\"tab\"\n aria-selected=\"true\"\n ><b>{{ 'customers.citizenServiceNumber' | translate }}</b></a\n >\n </li>\n <li class=\"nav-item\">\n <a\n class=\"nav-link\"\n href=\"#search_birth_data\"\n data-toggle=\"tab\"\n role=\"tab\"\n aria-selected=\"false\"\n ><b>{{ 'customers.lastNameAndDateOfBirth' | translate }}</b></a\n >\n </li>\n </ul>\n <div class=\"tab-content\">\n <div class=\"tab-pane active\" id=\"search_bsn\" role=\"tabpanel\">\n <ng-container *ngTemplateOutlet=\"bsnTab\"></ng-container>\n </div>\n <div class=\"tab-pane\" id=\"search_birth_data\" role=\"tabpanel\">\n <ng-container *ngTemplateOutlet=\"birthDataTab\"></ng-container>\n </div>\n </div>\n </div>\n </valtimo-filter-sidebar>\n</ng-template>\n\n<ng-template #bsnTab>\n <form>\n <div class=\"form-group pt-2\">\n <label for=\"inputBsn\">{{ 'customers.citizenServiceNumber' | translate }}</label>\n <input\n class=\"form-control\"\n id=\"inputBsn\"\n type=\"text\"\n name=\"bsn\"\n [placeholder]=\"'customers.citizenServiceNumberPlaceholder' | translate\"\n [ngModel]=\"bsn$ | async\"\n (ngModelChange)=\"bsnChange($event)\"\n [ngClass]=\"{'is-valid': bsnValid$ | async}\"\n />\n </div>\n </form>\n</ng-template>\n\n<ng-template #birthDataTab>\n <form>\n <div class=\"form-group pt-2\">\n <label for=\"inputDateOfBirth\">{{ 'customers.dateOfBirth' | translate }}</label>\n <input\n class=\"form-control\"\n id=\"inputDateOfBirth\"\n type=\"text\"\n name=\"dateOfBirth\"\n [placeholder]=\"'customers.dateOfBirthPlaceholder' | translate\"\n [ngModel]=\"dateOfBirth$ | async\"\n (ngModelChange)=\"dateOfBirthChange($event)\"\n [ngClass]=\"{'is-valid': dateOfBirthValid$ | async}\"\n />\n </div>\n <div class=\"form-group\">\n <label for=\"inputFamilyName\">{{ 'customers.familyName' | translate }}</label>\n <input\n class=\"form-control\"\n id=\"inputFamilyName\"\n type=\"text\"\n name=\"familyName\"\n [placeholder]=\"'customers.familyNamePlaceholder' | translate\"\n [ngModel]=\"familyName$ | async\"\n (ngModelChange)=\"familyNameChange($event)\"\n [ngClass]=\"{'is-valid': familyName$ | async}\"\n />\n </div>\n </form>\n</ng-template>\n", styles: ["/*!\n * Copyright 2015-2024 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"] }]
4162
- }], ctorParameters: () => [{ type: CustomerService }, { type: i3.TranslateService }, { type: i2.ConfigService }, { type: i1$2.Router }] });
4163
-
4164
- /*
4165
- * Copyright 2015-2024 Ritense BV, the Netherlands.
4166
- *
4167
- * Licensed under EUPL, Version 1.2 (the "License");
4168
- * you may not use this file except in compliance with the License.
4169
- * You may obtain a copy of the License at
4170
- *
4171
- * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
4172
- *
4173
- * Unless required by applicable law or agreed to in writing, software
4174
- * distributed under the License is distributed on an "AS IS" basis,
4175
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
4176
- * See the License for the specific language governing permissions and
4177
- * limitations under the License.
4178
- */
4179
- /**
4180
- * @deprecated Will be replace by new plugins
4181
- */
4182
- class CasesListComponent {
4183
- constructor(route, customerService) {
4184
- this.route = route;
4185
- this.customerService = customerService;
4186
- this.customerCases$ = this.route.params.pipe(switchMap$1(params => (params?.bsn ? this.customerService.getCustomerCases(params.bsn) : of([]))), tap$1(() => this.loading$.next(false)));
4187
- this.loading$ = new BehaviorSubject(true);
4188
- this.columns$ = new BehaviorSubject([
4189
- {
4190
- labelTranslationKey: 'customerCases.labels.zaakNummer',
4191
- dataKey: 'zaakNummer',
4192
- },
4193
- {
4194
- labelTranslationKey: 'customerCases.labels.zaakStatus',
4195
- dataKey: 'zaakStatus',
4196
- },
4197
- {
4198
- labelTranslationKey: 'customerCases.labels.zaakType',
4199
- dataKey: 'zaakType',
4200
- },
4201
- ]);
4202
- }
4203
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CasesListComponent, deps: [{ token: i1$2.ActivatedRoute }, { token: CustomerService }], target: i0.ɵɵFactoryTarget.Component }); }
4204
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: CasesListComponent, selector: "valtimo-cases-list", ngImport: i0, template: "<!--\n ~ Copyright 2015-2024 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<v-page-container\n *ngIf=\"{\n customerCases: customerCases$ | async,\n columns: columns$ | async,\n loading: loading$ | async,\n } as obs\"\n>\n <v-page-header>\n <v-page-header-introduction>\n <v-title>{{ 'pages.customercases.title' | translate }}</v-title>\n <v-paragraph>{{ 'pages.customercases.description' | translate }}</v-paragraph>\n </v-page-header-introduction>\n </v-page-header>\n <v-page-content>\n <v-table\n [loading]=\"obs.loading\"\n [items]=\"obs.customerCases\"\n [columns]=\"obs.columns\"\n [showEditButtons]=\"false\"\n [amountOfLoadingRows]=\"2\"\n [itemsTranslationKey]=\"'customerCases.tableItemsText'\"\n [showPagination]=\"false\"\n ></v-table>\n </v-page-content>\n</v-page-container>\n", styles: ["/*!\n * Copyright 2015-2024 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$1.PageContainerComponent, selector: "v-page-container" }, { kind: "component", type: i3$1.PageContentComponent, selector: "v-page-content" }, { kind: "component", type: i3$1.VPageHeaderComponent, selector: "v-page-header" }, { kind: "component", type: i3$1.PageHeaderIntroductionComponent, selector: "v-page-header-introduction" }, { kind: "component", type: i3$1.TitleComponent, selector: "v-title", inputs: ["type", "margin", "fullWidth", "center"] }, { kind: "component", type: i3$1.ParagraphComponent, selector: "v-paragraph", inputs: ["center", "fullWidth", "margin", "italic", "loading", "dataTestId"] }, { kind: "component", type: i3$1.TableComponent, selector: "v-table", inputs: ["items", "columns", "loading", "showEditButtons", "showPagination", "editButtonTranslationKey", "itemsTranslationKey", "noResultsTranslationKey", "mobileBreakpointPx", "amountOfLoadingRows", "collectionSize", "page", "size"], outputs: ["editButtonClicked", "paginationSizeSet", "paginationPageSet"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }] }); }
4205
- }
4206
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CasesListComponent, decorators: [{
4207
- type: Component,
4208
- args: [{ selector: 'valtimo-cases-list', template: "<!--\n ~ Copyright 2015-2024 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<v-page-container\n *ngIf=\"{\n customerCases: customerCases$ | async,\n columns: columns$ | async,\n loading: loading$ | async,\n } as obs\"\n>\n <v-page-header>\n <v-page-header-introduction>\n <v-title>{{ 'pages.customercases.title' | translate }}</v-title>\n <v-paragraph>{{ 'pages.customercases.description' | translate }}</v-paragraph>\n </v-page-header-introduction>\n </v-page-header>\n <v-page-content>\n <v-table\n [loading]=\"obs.loading\"\n [items]=\"obs.customerCases\"\n [columns]=\"obs.columns\"\n [showEditButtons]=\"false\"\n [amountOfLoadingRows]=\"2\"\n [itemsTranslationKey]=\"'customerCases.tableItemsText'\"\n [showPagination]=\"false\"\n ></v-table>\n </v-page-content>\n</v-page-container>\n", styles: ["/*!\n * Copyright 2015-2024 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"] }]
4209
- }], ctorParameters: () => [{ type: i1$2.ActivatedRoute }, { type: CustomerService }] });
4210
-
4211
- /*
4212
- * Copyright 2015-2024 Ritense BV, the Netherlands.
4213
- *
4214
- * Licensed under EUPL, Version 1.2 (the "License");
4215
- * you may not use this file except in compliance with the License.
4216
- * You may obtain a copy of the License at
4217
- *
4218
- * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
4219
- *
4220
- * Unless required by applicable law or agreed to in writing, software
4221
- * distributed under the License is distributed on an "AS IS" basis,
4222
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
4223
- * See the License for the specific language governing permissions and
4224
- * limitations under the License.
4225
- */
4226
- const routes = [
4227
- {
4228
- path: 'klanten',
4229
- component: CustomerListComponent,
4230
- canActivate: [AuthGuardService],
4231
- data: { title: 'Customers', roles: [ROLE_USER] },
4232
- },
4233
- {
4234
- path: 'klanten/klant/:bsn',
4235
- component: CasesListComponent,
4236
- canActivate: [AuthGuardService],
4237
- data: { title: 'customerCases', roles: [ROLE_USER] },
4238
- },
4239
- ];
4240
- class CustomerRoutingModule {
4241
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CustomerRoutingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
4242
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.12", ngImport: i0, type: CustomerRoutingModule, imports: [CommonModule, i1$2.RouterModule], exports: [RouterModule] }); }
4243
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CustomerRoutingModule, imports: [CommonModule, RouterModule.forChild(routes), RouterModule] }); }
4244
- }
4245
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CustomerRoutingModule, decorators: [{
4246
- type: NgModule,
4247
- args: [{
4248
- imports: [CommonModule, RouterModule.forChild(routes)],
4249
- exports: [RouterModule],
4250
- }]
4251
- }] });
4252
-
4253
- /*
4254
- * Copyright 2015-2024 Ritense BV, the Netherlands.
4255
- *
4256
- * Licensed under EUPL, Version 1.2 (the "License");
4257
- * you may not use this file except in compliance with the License.
4258
- * You may obtain a copy of the License at
4259
- *
4260
- * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
4261
- *
4262
- * Unless required by applicable law or agreed to in writing, software
4263
- * distributed under the License is distributed on an "AS IS" basis,
4264
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
4265
- * See the License for the specific language governing permissions and
4266
- * limitations under the License.
4267
- */
4268
- /**
4269
- * @deprecated Will be replace by new plugins
4270
- */
4271
- class CustomerModule {
4272
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CustomerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
4273
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.12", ngImport: i0, type: CustomerModule, declarations: [CustomerListComponent, CasesListComponent], imports: [CommonModule,
4274
- WidgetModule,
4275
- CustomerRoutingModule,
4276
- ListModule,
4277
- SpinnerModule,
4278
- TranslateModule,
4279
- FilterSidebarModule,
4280
- FormsModule,
4281
- PageModule,
4282
- TitleModule,
4283
- ParagraphModule,
4284
- TableModule], exports: [CustomerListComponent, CasesListComponent] }); }
4285
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CustomerModule, imports: [CommonModule,
4286
- WidgetModule,
4287
- CustomerRoutingModule,
4288
- ListModule,
4289
- SpinnerModule,
4290
- TranslateModule,
4291
- FilterSidebarModule,
4292
- FormsModule,
4293
- PageModule,
4294
- TitleModule,
4295
- ParagraphModule,
4296
- TableModule] }); }
4297
- }
4298
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CustomerModule, decorators: [{
4299
- type: NgModule,
4300
- args: [{
4301
- imports: [
4302
- CommonModule,
4303
- WidgetModule,
4304
- CustomerRoutingModule,
4305
- ListModule,
4306
- SpinnerModule,
4307
- TranslateModule,
4308
- FilterSidebarModule,
4309
- FormsModule,
4310
- PageModule,
4311
- TitleModule,
4312
- ParagraphModule,
4313
- TableModule,
4314
- ],
4315
- declarations: [CustomerListComponent, CasesListComponent],
4316
- exports: [CustomerListComponent, CasesListComponent],
4317
- }]
4318
- }] });
4319
-
4320
- /*
4321
- * Copyright 2015-2024 Ritense BV, the Netherlands.
4322
- *
4323
- * Licensed under EUPL, Version 1.2 (the "License");
4324
- * you may not use this file except in compliance with the License.
4325
- * You may obtain a copy of the License at
4326
- *
4327
- * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
4328
- *
4329
- * Unless required by applicable law or agreed to in writing, software
4330
- * distributed under the License is distributed on an "AS IS" basis,
4331
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
4332
- * See the License for the specific language governing permissions and
4333
- * limitations under the License.
4334
- */
4335
-
4336
- /*
4337
- * Copyright 2015-2024 Ritense BV, the Netherlands.
4338
- *
4339
- * Licensed under EUPL, Version 1.2 (the "License");
4340
- * you may not use this file except in compliance with the License.
4341
- * You may obtain a copy of the License at
4342
- *
4343
- * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
4344
- *
4345
- * Unless required by applicable law or agreed to in writing, software
4346
- * distributed under the License is distributed on an "AS IS" basis,
4347
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
4348
- * See the License for the specific language governing permissions and
4349
- * limitations under the License.
4350
- */
4351
- class DocumentObjectenApiSyncService extends BaseApiService {
4352
- constructor(httpClient, configService) {
4353
- super(httpClient, configService);
4354
- this.httpClient = httpClient;
4355
- this.configService = configService;
4356
- }
4357
- getDocumentDefinition(documentDefinitionName) {
4358
- return this.httpClient.get(this.getApiUrl(`/v1/document-definition/${documentDefinitionName}`));
4359
- }
4360
- getObjectManagementConfigurations() {
4361
- return this.httpClient.get(this.getApiUrl(`/management/v1/object/management/configuration`));
4362
- }
4363
- getDocumentObjectenApiSync(documentDefinitionName, documentDefinitionVersion) {
4364
- return this.httpClient.get(this.getApiUrl(`/management/v1/document-definition/${documentDefinitionName}/version/${documentDefinitionVersion}/objecten-api-sync`));
4365
- }
4366
- updateDocumentObjectenApiSync(documentDefinitionName, documentDefinitionVersion, request) {
4367
- return this.httpClient.put(this.getApiUrl(`/management/v1/document-definition/${documentDefinitionName}/version/${documentDefinitionVersion}/objecten-api-sync`), request);
4368
- }
4369
- deleteDocumentObjectenApiSync(documentDefinitionName, documentDefinitionVersion) {
4370
- return this.httpClient.delete(this.getApiUrl(`/management/v1/document-definition/${documentDefinitionName}/version/${documentDefinitionVersion}/objecten-api-sync`));
4371
- }
4372
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DocumentObjectenApiSyncService, deps: [{ token: i1.HttpClient }, { token: i2.ConfigService }], target: i0.ɵɵFactoryTarget.Injectable }); }
4373
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DocumentObjectenApiSyncService, providedIn: 'root' }); }
4374
- }
4375
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DocumentObjectenApiSyncService, decorators: [{
4376
- type: Injectable,
4377
- args: [{
4378
- providedIn: 'root',
4379
- }]
4380
- }], ctorParameters: () => [{ type: i1.HttpClient }, { type: i2.ConfigService }] });
4381
-
4382
- /*
4383
- * Copyright 2015-2024 Ritense BV, the Netherlands.
4384
- *
4385
- * Licensed under EUPL, Version 1.2 (the "License");
4386
- * you may not use this file except in compliance with the License.
4387
- * You may obtain a copy of the License at
4388
- *
4389
- * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
4390
- *
4391
- * Unless required by applicable law or agreed to in writing, software
4392
- * distributed under the License is distributed on an "AS IS" basis,
4393
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
4394
- * See the License for the specific language governing permissions and
4395
- * limitations under the License.
4396
- */
4397
-
4398
- /*
4399
- * Copyright 2015-2024 Ritense BV, the Netherlands.
4400
- *
4401
- * Licensed under EUPL, Version 1.2 (the "License");
4402
- * you may not use this file except in compliance with the License.
4403
- * You may obtain a copy of the License at
4404
- *
4405
- * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
4406
- *
4407
- * Unless required by applicable law or agreed to in writing, software
4408
- * distributed under the License is distributed on an "AS IS" basis,
4409
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
4410
- * See the License for the specific language governing permissions and
4411
- * limitations under the License.
4412
- */
4413
- class DocumentObjectenApiSyncComponent {
4414
- get objectManagementConfigurationId() {
4415
- return this.formGroup.get('objectManagementConfigurationId');
4416
- }
4417
- get enabled() {
4418
- return this.formGroup.get('enabled');
4419
- }
4420
- constructor(route, documentObjectenApiSyncService, cdsThemeService) {
4421
- this.route = route;
4422
- this.documentObjectenApiSyncService = documentObjectenApiSyncService;
4423
- this.cdsThemeService = cdsThemeService;
4424
- this.loading$ = new BehaviorSubject(true);
4425
- this.documentDefinitionName$ = this.route.params.pipe(map(params => params.name || ''));
4426
- this.documentDefinition$ = this.documentDefinitionName$.pipe(switchMap(documentDefinitionName => this.documentObjectenApiSyncService.getDocumentDefinition(documentDefinitionName)));
4427
- this.documentObjectenApiSync$ = new BehaviorSubject(null);
4428
- this.objectManagementConfigurationItems$ = this.documentObjectenApiSyncService.getObjectManagementConfigurations().pipe(map(results => results?.map(configuration => ({
4429
- id: configuration.id,
4430
- text: configuration.title,
4431
- }))));
4432
- this.modalShowing$ = new BehaviorSubject(false);
4433
- this.currentTheme$ = this.cdsThemeService.currentTheme$;
4434
- this.formGroup = new FormGroup({
4435
- objectManagementConfigurationId: new FormControl('', Validators.required),
4436
- enabled: new FormControl(true),
4437
- });
4438
- this.valid$ = new BehaviorSubject(false);
4439
- }
4440
- ngOnInit() {
4441
- this.loadDocumentenObjectenApiSync();
4442
- }
4443
- loadDocumentenObjectenApiSync() {
4444
- this.documentDefinition$
4445
- .pipe(switchMap(documentDefinition => this.documentObjectenApiSyncService.getDocumentObjectenApiSync(documentDefinition.id.name, documentDefinition.id.version)))
4446
- .subscribe(documentObjectenApiSync => {
4447
- this.loading$.next(false);
4448
- this.configSelected(documentObjectenApiSync?.objectManagementConfigurationId);
4449
- this.enabled.patchValue(documentObjectenApiSync?.enabled);
4450
- this.documentObjectenApiSync$.next(documentObjectenApiSync);
4451
- });
4452
- }
4453
- remove() {
4454
- this.documentDefinition$
4455
- .pipe(switchMap(documentDefinition => this.documentObjectenApiSyncService.deleteDocumentObjectenApiSync(documentDefinition.id.name, documentDefinition.id.version)), tap(() => {
4456
- this.documentObjectenApiSync$.next(null);
4457
- }))
4458
- .subscribe();
4459
- }
4460
- submit() {
4461
- const formValues = this.formGroup.getRawValue();
4462
- this.documentDefinition$
4463
- .pipe(switchMap(documentDefinition => this.documentObjectenApiSyncService.updateDocumentObjectenApiSync(documentDefinition.id.name, documentDefinition.id.version, {
4464
- objectManagementConfigurationId: formValues.objectManagementConfigurationId,
4465
- enabled: formValues.enabled,
4466
- })))
4467
- .subscribe(() => {
4468
- this.loadDocumentenObjectenApiSync();
4469
- this.hideModal();
4470
- });
4471
- }
4472
- onModalClose() {
4473
- this.hideModal();
4474
- }
4475
- showModal() {
4476
- this.modalShowing$.next(true);
4477
- }
4478
- configSelected(selectedId) {
4479
- if (!selectedId) {
4480
- this.objectManagementConfigurationId.patchValue('');
4481
- }
4482
- else {
4483
- this.objectManagementConfigurationId.patchValue(selectedId);
4484
- }
4485
- }
4486
- hideModal() {
4487
- this.modalShowing$.next(false);
4488
- }
4489
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DocumentObjectenApiSyncComponent, deps: [{ token: i1$2.ActivatedRoute }, { token: DocumentObjectenApiSyncService }, { token: i3$1.CdsThemeService }], target: i0.ɵɵFactoryTarget.Component }); }
4490
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: DocumentObjectenApiSyncComponent, isStandalone: true, selector: "valtimo-document-objecten-api-sync", ngImport: i0, template: "<!--\n ~ Copyright 2015-2024 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 class=\"input-group mt-4 mb-2 align-items-center\">\n <div>\n <h2>{{ 'zaakdetails.title' | translate }}</h2>\n </div>\n</div>\n\n<ng-container\n *ngIf=\"{\n loading: loading$ | async,\n documentObjectenApiSync: documentObjectenApiSync$ | async,\n } as obs\"\n>\n <ng-container *ngIf=\"obs.loading === false; else loading\">\n <ng-container *ngIf=\"obs.documentObjectenApiSync; else addSync\">\n <div class=\"card card-border card-contrast\">\n <div class=\"card-header card-header-contrast card-header-featured\">\n <div>\n {{ obs.documentObjectenApiSync.objectManagementConfigurationTitle || '-' }}\n </div>\n <div class=\"controls\">\n <button class=\"btn btn-danger ml-3\" (click)=\"showModal()\">\n <i class=\"icon mdi mdi-pencil\"></i>\n </button>\n <button class=\"btn btn-danger ml-3\" (click)=\"remove()\">\n <i class=\"icon mdi mdi-delete\"></i>\n </button>\n </div>\n </div>\n <div class=\"card-body\">\n <div class=\"row pt-3 mt-1\">\n <div class=\"col-3\">\n <strong>{{ 'zaakdetails.enabled' | translate }}</strong>\n </div>\n <div class=\"col-3\">\n {{\n obs.documentObjectenApiSync?.enabled\n ? ('zaakdetails.yes' | translate)\n : ('zaakdetails.no' | translate)\n }}\n </div>\n </div>\n <div class=\"row pt-3 mt-1\">\n <div class=\"col-3\">\n <strong>{{ 'zaakdetails.objectManagementConfigurationTitle' | translate }}</strong>\n </div>\n <div class=\"col-3\">\n {{ obs.documentObjectenApiSync.objectManagementConfigurationTitle || '-' }}\n </div>\n </div>\n </div>\n </div>\n </ng-container>\n </ng-container>\n <ng-container *ngTemplateOutlet=\"modal; context: {obs: obs}\"></ng-container>\n</ng-container>\n\n<ng-template #addSync>\n <div class=\"text-right mt-5\">\n <button class=\"btn btn-primary\" (click)=\"showModal()\">\n <i class=\"icon mdi mdi-plus mr-1\"></i>{{ 'zaakdetails.submitButton' | translate }}\n </button>\n </div>\n</ng-template>\n\n<ng-template #modal let-obs=\"obs\">\n <cds-modal\n valtimoCdsModal\n [title]=\"'zaakdetails.editModal.title' | translate\"\n [open]=\"modalShowing$ | async\"\n [showFooter]=\"true\"\n >\n <cds-modal-header [showCloseButton]=\"true\" (closeSelect)=\"onModalClose()\">\n <h3 cdsModalHeaderHeading>\n {{ 'zaakdetails.editModal.title' | translate }}\n </h3>\n </cds-modal-header>\n\n <section cdsModalContent>\n <form [formGroup]=\"formGroup\">\n <v-select\n *ngIf=\"objectManagementConfigurationItems$ | async as objectManagementConfigurations\"\n [appendInline]=\"false\"\n [dropUp]=\"false\"\n [items]=\"objectManagementConfigurations\"\n [defaultSelectionId]=\"objectManagementConfigurationId.getRawValue()\"\n [placeholder]=\"\n 'zaakdetails.editModal.objectManagementConfigurationPlaceholder' | translate\n \"\n [title]=\"'zaakdetails.editModal.objectManagementConfiguration' | translate\"\n [disabled]=\"false\"\n [margin]=\"true\"\n [required]=\"true\"\n name=\"objectManagementConfigurationId\"\n [carbonTheme]=\"currentTheme$ | async\"\n (selectedChange)=\"configSelected($event)\"\n ></v-select>\n\n <cds-checkbox formControlName=\"enabled\"\n >{{ 'zaakdetails.editModal.enabled' | translate }}\n </cds-checkbox>\n </form>\n </section>\n\n <cds-modal-footer>\n <ng-container *ngTemplateOutlet=\"buttonsFooterModal; context: {obs: obs}\"></ng-container>\n </cds-modal-footer>\n </cds-modal>\n</ng-template>\n\n<ng-template #buttonsFooterModal let-obs=\"obs\">\n <button cdsButton=\"secondary\" (click)=\"onModalClose()\" [disabled]=\"false\">\n {{ 'interface.cancel' | translate }}\n </button>\n\n <button cdsButton=\"primary\" [disabled]=\"!formGroup.valid\" (click)=\"submit()\">\n {{ 'searchFieldsOverview.submit' | translate }}\n </button>\n</ng-template>\n\n<ng-template #loading>\n <div class=\"mb-8\">\n <valtimo-spinner></valtimo-spinner>\n </div>\n</ng-template>\n\n<ng-template #noConfigAvailable>\n <div class=\"mb-8\">\n <h4>{{ 'zaakdetails.error.configNotFound' | translate }}</h4>\n </div>\n</ng-template>\n", styles: [".card-header,.setting-row{display:flex;flex-direction:row;justify-content:space-between;align-items:center}.controls{display:flex;align-items:center}\n/*!\n * Copyright 2015-2024 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: "ngmodule", type: CommonModule }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }, { kind: "ngmodule", type: SpinnerModule }, { kind: "component", type: i3$1.SpinnerComponent, selector: "valtimo-spinner", inputs: ["useBootstrapSpinner", "name", "type", "size", "color", "bdColor", "fullScreen", "noMarginTop"] }, { kind: "ngmodule", type: FormModule }, { kind: "ngmodule", type: InputModule$1 }, { kind: "ngmodule", type: SelectModule }, { kind: "component", type: i3$1.SelectComponent, selector: "v-select", inputs: ["items", "defaultSelection", "defaultSelectionId", "defaultSelectionIds", "disabled", "dropUp", "multiple", "margin", "widthInPx", "notFoundText", "clearAllText", "clearText", "name", "title", "titleTranslationKey", "clearSelectionSubject$", "tooltip", "required", "loading", "loadingText", "placeholder", "smallMargin", "carbonTheme", "appendInline", "dataTestId"], outputs: ["selectedChange"] }, { kind: "ngmodule", type: ValtimoCdsModalDirectiveModule }, { kind: "directive", type: i3$1.ValtimoCdsModalDirective, selector: "[valtimoCdsModal]", inputs: ["enableOverflow"] }, { kind: "ngmodule", type: CheckboxModule }, { kind: "component", type: i6.Checkbox, selector: "cds-checkbox, ibm-checkbox", inputs: ["disabled", "skeleton", "hideLabel", "name", "id", "required", "value", "ariaLabel", "ariaLabelledby", "indeterminate", "checked"], outputs: ["click", "checkedChange", "indeterminateChange"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "ngmodule", type: ButtonModule }, { kind: "directive", type: i6.Button, selector: "[cdsButton], [ibmButton]", inputs: ["ibmButton", "cdsButton", "size", "skeleton", "iconOnly", "isExpressive"] }, { kind: "ngmodule", type: ModalModule }, { kind: "component", type: i6.Modal, selector: "cds-modal, ibm-modal", inputs: ["size", "theme", "ariaLabel", "open", "trigger", "hasScrollingContent"], outputs: ["overlaySelected", "close"] }, { kind: "component", type: i6.ModalHeader, selector: "cds-modal-header, ibm-modal-header", inputs: ["theme", "closeLabel", "showCloseButton"], outputs: ["closeSelect"] }, { kind: "component", type: i6.ModalFooter, selector: "cds-modal-footer, ibm-modal-footer" }, { kind: "directive", type: i6.ModalContent, selector: "[cdsModalContent], [ibmModalContent]", inputs: ["hasForm"] }, { kind: "directive", type: i6.ModalHeaderHeading, selector: "[cdsModalHeaderHeading], [ibmModalHeaderHeading]" }] }); }
4491
- }
4492
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DocumentObjectenApiSyncComponent, decorators: [{
4493
- type: Component,
4494
- args: [{ selector: 'valtimo-document-objecten-api-sync', standalone: true, imports: [
4495
- CommonModule,
4496
- FormsModule,
4497
- TranslateModule,
4498
- SpinnerModule,
4499
- FormModule,
4500
- InputModule$1,
4501
- SelectModule,
4502
- ValtimoCdsModalDirectiveModule,
4503
- CheckboxModule,
4504
- ReactiveFormsModule,
4505
- ButtonModule,
4506
- ModalModule,
4507
- ], template: "<!--\n ~ Copyright 2015-2024 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 class=\"input-group mt-4 mb-2 align-items-center\">\n <div>\n <h2>{{ 'zaakdetails.title' | translate }}</h2>\n </div>\n</div>\n\n<ng-container\n *ngIf=\"{\n loading: loading$ | async,\n documentObjectenApiSync: documentObjectenApiSync$ | async,\n } as obs\"\n>\n <ng-container *ngIf=\"obs.loading === false; else loading\">\n <ng-container *ngIf=\"obs.documentObjectenApiSync; else addSync\">\n <div class=\"card card-border card-contrast\">\n <div class=\"card-header card-header-contrast card-header-featured\">\n <div>\n {{ obs.documentObjectenApiSync.objectManagementConfigurationTitle || '-' }}\n </div>\n <div class=\"controls\">\n <button class=\"btn btn-danger ml-3\" (click)=\"showModal()\">\n <i class=\"icon mdi mdi-pencil\"></i>\n </button>\n <button class=\"btn btn-danger ml-3\" (click)=\"remove()\">\n <i class=\"icon mdi mdi-delete\"></i>\n </button>\n </div>\n </div>\n <div class=\"card-body\">\n <div class=\"row pt-3 mt-1\">\n <div class=\"col-3\">\n <strong>{{ 'zaakdetails.enabled' | translate }}</strong>\n </div>\n <div class=\"col-3\">\n {{\n obs.documentObjectenApiSync?.enabled\n ? ('zaakdetails.yes' | translate)\n : ('zaakdetails.no' | translate)\n }}\n </div>\n </div>\n <div class=\"row pt-3 mt-1\">\n <div class=\"col-3\">\n <strong>{{ 'zaakdetails.objectManagementConfigurationTitle' | translate }}</strong>\n </div>\n <div class=\"col-3\">\n {{ obs.documentObjectenApiSync.objectManagementConfigurationTitle || '-' }}\n </div>\n </div>\n </div>\n </div>\n </ng-container>\n </ng-container>\n <ng-container *ngTemplateOutlet=\"modal; context: {obs: obs}\"></ng-container>\n</ng-container>\n\n<ng-template #addSync>\n <div class=\"text-right mt-5\">\n <button class=\"btn btn-primary\" (click)=\"showModal()\">\n <i class=\"icon mdi mdi-plus mr-1\"></i>{{ 'zaakdetails.submitButton' | translate }}\n </button>\n </div>\n</ng-template>\n\n<ng-template #modal let-obs=\"obs\">\n <cds-modal\n valtimoCdsModal\n [title]=\"'zaakdetails.editModal.title' | translate\"\n [open]=\"modalShowing$ | async\"\n [showFooter]=\"true\"\n >\n <cds-modal-header [showCloseButton]=\"true\" (closeSelect)=\"onModalClose()\">\n <h3 cdsModalHeaderHeading>\n {{ 'zaakdetails.editModal.title' | translate }}\n </h3>\n </cds-modal-header>\n\n <section cdsModalContent>\n <form [formGroup]=\"formGroup\">\n <v-select\n *ngIf=\"objectManagementConfigurationItems$ | async as objectManagementConfigurations\"\n [appendInline]=\"false\"\n [dropUp]=\"false\"\n [items]=\"objectManagementConfigurations\"\n [defaultSelectionId]=\"objectManagementConfigurationId.getRawValue()\"\n [placeholder]=\"\n 'zaakdetails.editModal.objectManagementConfigurationPlaceholder' | translate\n \"\n [title]=\"'zaakdetails.editModal.objectManagementConfiguration' | translate\"\n [disabled]=\"false\"\n [margin]=\"true\"\n [required]=\"true\"\n name=\"objectManagementConfigurationId\"\n [carbonTheme]=\"currentTheme$ | async\"\n (selectedChange)=\"configSelected($event)\"\n ></v-select>\n\n <cds-checkbox formControlName=\"enabled\"\n >{{ 'zaakdetails.editModal.enabled' | translate }}\n </cds-checkbox>\n </form>\n </section>\n\n <cds-modal-footer>\n <ng-container *ngTemplateOutlet=\"buttonsFooterModal; context: {obs: obs}\"></ng-container>\n </cds-modal-footer>\n </cds-modal>\n</ng-template>\n\n<ng-template #buttonsFooterModal let-obs=\"obs\">\n <button cdsButton=\"secondary\" (click)=\"onModalClose()\" [disabled]=\"false\">\n {{ 'interface.cancel' | translate }}\n </button>\n\n <button cdsButton=\"primary\" [disabled]=\"!formGroup.valid\" (click)=\"submit()\">\n {{ 'searchFieldsOverview.submit' | translate }}\n </button>\n</ng-template>\n\n<ng-template #loading>\n <div class=\"mb-8\">\n <valtimo-spinner></valtimo-spinner>\n </div>\n</ng-template>\n\n<ng-template #noConfigAvailable>\n <div class=\"mb-8\">\n <h4>{{ 'zaakdetails.error.configNotFound' | translate }}</h4>\n </div>\n</ng-template>\n", styles: [".card-header,.setting-row{display:flex;flex-direction:row;justify-content:space-between;align-items:center}.controls{display:flex;align-items:center}\n/*!\n * Copyright 2015-2024 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"] }]
4508
- }], ctorParameters: () => [{ type: i1$2.ActivatedRoute }, { type: DocumentObjectenApiSyncService }, { type: i3$1.CdsThemeService }] });
4509
-
4510
- /*
4511
- * Copyright 2015-2024 Ritense BV, the Netherlands.
4512
- *
4513
- * Licensed under EUPL, Version 1.2 (the "License");
4514
- * you may not use this file except in compliance with the License.
4515
- * You may obtain a copy of the License at
4516
- *
4517
- * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
4518
- *
4519
- * Unless required by applicable law or agreed to in writing, software
4520
- * distributed under the License is distributed on an "AS IS" basis,
4521
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
4522
- * See the License for the specific language governing permissions and
4523
- * limitations under the License.
4524
- */
4525
-
4526
- /*
4527
- * Copyright 2015-2024 Ritense BV, the Netherlands.
4528
- *
4529
- * Licensed under EUPL, Version 1.2 (the "License");
4530
- * you may not use this file except in compliance with the License.
4531
- * You may obtain a copy of the License at
4532
- *
4533
- * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
4534
- *
4535
- * Unless required by applicable law or agreed to in writing, software
4536
- * distributed under the License is distributed on an "AS IS" basis,
4537
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
4538
- * See the License for the specific language governing permissions and
4539
- * limitations under the License.
4540
- */
4541
-
4542
- /*
4543
- * Copyright 2015-2024 Ritense BV, the Netherlands.
4544
- *
4545
- * Licensed under EUPL, Version 1.2 (the "License");
4546
- * you may not use this file except in compliance with the License.
4547
- * You may obtain a copy of the License at
4548
- *
4549
- * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
4550
- *
4551
- * Unless required by applicable law or agreed to in writing, software
4552
- * distributed under the License is distributed on an "AS IS" basis,
4553
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
4554
- * See the License for the specific language governing permissions and
4555
- * limitations under the License.
4556
- */
4557
-
4558
- /*
4559
- * Copyright 2015-2024 Ritense BV, the Netherlands.
4560
- *
4561
- * Licensed under EUPL, Version 1.2 (the "License");
4562
- * you may not use this file except in compliance with the License.
4563
- * You may obtain a copy of the License at
4564
- *
4565
- * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
4566
- *
4567
- * Unless required by applicable law or agreed to in writing, software
4568
- * distributed under the License is distributed on an "AS IS" basis,
4569
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
4570
- * See the License for the specific language governing permissions and
4571
- * limitations under the License.
4572
- */
4573
- class ZakenApiZaaktypeLinkService extends BaseApiService {
4574
- constructor(httpClient, configService) {
4575
- super(httpClient, configService);
4576
- this.httpClient = httpClient;
4577
- this.configService = configService;
4578
- }
4579
- getPluginConfigurationsByPluginDefinitionKey(pluginDefinitionKey) {
4580
- return this.httpClient.get(this.getApiUrl(`/v1/plugin/configuration?pluginDefinitionKey=${pluginDefinitionKey}`));
4581
- }
4582
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ZakenApiZaaktypeLinkService, deps: [{ token: i1.HttpClient }, { token: i2.ConfigService }], target: i0.ɵɵFactoryTarget.Injectable }); }
4583
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ZakenApiZaaktypeLinkService, providedIn: 'root' }); }
4584
- }
4585
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ZakenApiZaaktypeLinkService, decorators: [{
4586
- type: Injectable,
4587
- args: [{
4588
- providedIn: 'root',
4589
- }]
4590
- }], ctorParameters: () => [{ type: i1.HttpClient }, { type: i2.ConfigService }] });
4591
-
4592
- /*
4593
- * Copyright 2015-2024 Ritense BV, the Netherlands.
4594
- *
4595
- * Licensed under EUPL, Version 1.2 (the "License");
4596
- * you may not use this file except in compliance with the License.
4597
- * You may obtain a copy of the License at
4598
- *
4599
- * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
4600
- *
4601
- * Unless required by applicable law or agreed to in writing, software
4602
- * distributed under the License is distributed on an "AS IS" basis,
4603
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
4604
- * See the License for the specific language governing permissions and
4605
- * limitations under the License.
4606
- */
4607
-
4608
- /*
4609
- * Copyright 2015-2024 Ritense BV, the Netherlands.
4071
+ * Copyright 2015-2025 Ritense BV, the Netherlands.
4610
4072
  *
4611
4073
  * Licensed under EUPL, Version 1.2 (the "License");
4612
4074
  * you may not use this file except in compliance with the License.
@@ -4621,33 +4083,38 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
4621
4083
  * limitations under the License.
4622
4084
  */
4623
4085
  class ZakenApiZaaktypeLinkComponent {
4624
- constructor(route, openZaakService, alertService, toasterService, translateService, zakenApiZaaktypeLinkService, configService) {
4625
- this.route = route;
4086
+ constructor(globalNotificationService, iconService, openZaakService, route, translateService, zakenApiZaaktypeLinkService) {
4087
+ this.globalNotificationService = globalNotificationService;
4088
+ this.iconService = iconService;
4626
4089
  this.openZaakService = openZaakService;
4627
- this.alertService = alertService;
4628
- this.toasterService = toasterService;
4090
+ this.route = route;
4629
4091
  this.translateService = translateService;
4630
4092
  this.zakenApiZaaktypeLinkService = zakenApiZaaktypeLinkService;
4631
- this.configService = configService;
4632
4093
  this.selectedZaakType = null;
4633
4094
  this.selectedPluginConfiguration = null;
4634
4095
  this.selectedInformatieObjectTypeUrl = null;
4635
4096
  this.loading$ = new BehaviorSubject(true);
4636
4097
  this.zaakTypeLink$ = new BehaviorSubject(null);
4637
- this.documentDefinitionName$ = this.route.params.pipe(map(params => params.name || ''));
4638
- this.documentDefinitionName = this.route.snapshot.paramMap.get('name');
4639
- this.informatieObjectTypeSelectionEnabled =
4640
- this.configService.config.uploadProvider === UploadProvider.OPEN_ZAAK;
4098
+ this.modalOpen$ = new BehaviorSubject(false);
4099
+ this.iconService.registerAll([Edit16, TrashCan16, Save16]);
4641
4100
  }
4642
4101
  ngOnInit() {
4643
- this.zaakTypeLinkRequest = {
4644
- documentDefinitionName: this.documentDefinitionName,
4645
- createWithDossier: false,
4646
- };
4647
- this.openZaakService.getZaakTypeLink(this.documentDefinitionName).subscribe(zaakTypeLink => {
4102
+ getCaseManagementRouteParams(this.route)
4103
+ .pipe(switchMap((params) => {
4104
+ this._caseDefinitionKey = params?.caseDefinitionKey ?? '';
4105
+ this._caseVersionTag = params?.caseDefinitionVersionTag ?? '';
4106
+ this.zaakTypeLinkRequest = {
4107
+ caseDefinitionKey: this._caseDefinitionKey,
4108
+ caseVersionTag: this._caseVersionTag,
4109
+ createWithDossier: false,
4110
+ };
4111
+ return this.openZaakService.getZaakTypeLink(this._caseDefinitionKey, this._caseVersionTag);
4112
+ }))
4113
+ .subscribe(zaakTypeLink => {
4648
4114
  if (zaakTypeLink !== null) {
4649
4115
  this.zaakTypeLinkRequest = {
4650
- documentDefinitionName: this.documentDefinitionName,
4116
+ caseDefinitionKey: this._caseDefinitionKey,
4117
+ caseVersionTag: this._caseVersionTag,
4651
4118
  createWithDossier: zaakTypeLink?.createWithDossier,
4652
4119
  rsin: zaakTypeLink?.rsin,
4653
4120
  zakenApiPluginConfigurationId: zaakTypeLink?.zakenApiPluginConfigurationId,
@@ -4657,28 +4124,22 @@ class ZakenApiZaaktypeLinkComponent {
4657
4124
  this.zaakTypeLink$.next(zaakTypeLink);
4658
4125
  this.loadZaakTypes();
4659
4126
  this.loadZakenApiPluginConfigurations();
4127
+ this.loading$.next(false);
4660
4128
  });
4661
- this.loading$.next(false);
4662
- }
4663
- findZaakType(zaakTypeUrl) {
4664
- this.selectedZaakType = this.zaakTypes.find(zaakType => zaakType.url === zaakTypeUrl);
4665
- }
4666
- findPluginConfiguration(pluginConfigurationId) {
4667
- this.selectedPluginConfiguration = this.pluginConfigurations.find(pluginConfiguration => pluginConfiguration.id === pluginConfigurationId);
4668
4129
  }
4669
4130
  loadZaakTypes() {
4670
- return this.openZaakService.getZaakTypes().subscribe((zaakTypes) => {
4131
+ this.openZaakService.getZaakTypes().subscribe((zaakTypes) => {
4671
4132
  this.zaakTypes = zaakTypes;
4672
- this.findZaakType(this.zaakTypeLink$.getValue()?.zaakTypeUrl);
4133
+ this.findZaakType(this.zaakTypeLink$.getValue()?.zaakTypeUrl ?? '');
4673
4134
  this.loading$.next(false);
4674
4135
  });
4675
4136
  }
4676
4137
  loadZakenApiPluginConfigurations() {
4677
- return this.zakenApiZaaktypeLinkService
4138
+ this.zakenApiZaaktypeLinkService
4678
4139
  .getPluginConfigurationsByPluginDefinitionKey('zakenapi')
4679
4140
  .subscribe((plugins) => {
4680
4141
  this.pluginConfigurations = plugins;
4681
- this.findPluginConfiguration(this.zaakTypeLink$.getValue()?.zakenApiPluginConfigurationId);
4142
+ this.findPluginConfiguration(this.zaakTypeLink$.getValue()?.zakenApiPluginConfigurationId ?? '');
4682
4143
  });
4683
4144
  }
4684
4145
  loadInformatieObjectTypeUrls() {
@@ -4688,90 +4149,120 @@ class ZakenApiZaaktypeLinkComponent {
4688
4149
  this.informatieObjectTypes = informatieObjectTypes;
4689
4150
  });
4690
4151
  }
4152
+ closeModal() {
4153
+ this.modalOpen$.next(false);
4154
+ }
4691
4155
  openModal(zaakTypeLink) {
4692
4156
  this.zaakTypeLinkRequest = {
4693
- documentDefinitionName: this.documentDefinitionName,
4157
+ caseDefinitionKey: this._caseDefinitionKey,
4158
+ caseVersionTag: this._caseVersionTag,
4694
4159
  createWithDossier: zaakTypeLink?.createWithDossier,
4695
4160
  rsin: zaakTypeLink?.rsin,
4696
4161
  zakenApiPluginConfigurationId: zaakTypeLink?.zakenApiPluginConfigurationId,
4697
4162
  zaakTypeUrl: zaakTypeLink?.zaakTypeUrl,
4698
4163
  };
4699
- if (this.informatieObjectTypeSelectionEnabled) {
4700
- this.openZaakService.getOpenZaakConfig().subscribe(config => {
4701
- if (config === null) {
4702
- this.alertService.error(this.translateService.instant('openZaak.error.configNotFound'));
4703
- }
4704
- else {
4705
- this.loadInformatieObjectTypeUrls();
4706
- this.openZaakService
4707
- .getInformatieObjectTypeLink(this.documentDefinitionName)
4708
- .subscribe(informatieObjectTypeLink => {
4709
- if (informatieObjectTypeLink !== null) {
4710
- this.selectedInformatieObjectTypeUrl =
4711
- informatieObjectTypeLink.informatieObjectType;
4712
- }
4713
- });
4714
- }
4715
- this.modal.show();
4716
- });
4717
- }
4718
- else {
4719
- this.modal.show();
4720
- }
4164
+ this.modalOpen$.next(true);
4165
+ }
4166
+ onCheckedChange(checked) {
4167
+ this.zaakTypeLinkRequest.createWithDossier = checked;
4721
4168
  }
4722
4169
  removeZaakTypeLink() {
4723
- this.openZaakService.deleteZaakTypeLink(this.documentDefinitionName).subscribe(() => {
4724
- if (this.selectedInformatieObjectTypeUrl !== null) {
4725
- this.openZaakService.deleteInformatieObjectTypeLink(this.documentDefinitionName);
4726
- }
4727
- this.toasterService.success('Successfully de-linked zaaktype');
4728
- this.zaakTypeLink$.next(null);
4729
- }, () => {
4730
- this.toasterService.error('Failed to de-link zaaktype');
4170
+ this.openZaakService
4171
+ .deleteZaakTypeLink(this._caseDefinitionKey, this._caseVersionTag)
4172
+ .subscribe({
4173
+ next: () => {
4174
+ this.globalNotificationService.showToast({
4175
+ title: this.translateService.instant('openZaak.delinkSuccessful'),
4176
+ type: 'success',
4177
+ });
4178
+ this.zaakTypeLink$.next(null);
4179
+ },
4180
+ error: () => {
4181
+ this.globalNotificationService.showToast({
4182
+ title: this.translateService.instant('openZaak.delinkFailed'),
4183
+ type: 'error',
4184
+ });
4185
+ },
4731
4186
  });
4732
4187
  }
4733
4188
  submit() {
4734
- const requestInformatieObjectTypeLink = {
4735
- documentDefinitionName: this.documentDefinitionName,
4736
- zaakType: this.zaakTypeLinkRequest.zaakTypeUrl,
4737
- informatieObjectType: this.selectedInformatieObjectTypeUrl,
4738
- };
4739
- this.openZaakService.createZaakTypeLink(this.zaakTypeLinkRequest).subscribe(linkResult => {
4740
- this.zaakTypeLink$.next(linkResult);
4741
- this.zaakTypeLinkRequest = {
4742
- documentDefinitionName: this.documentDefinitionName,
4743
- createWithDossier: linkResult?.createWithDossier,
4744
- rsin: linkResult?.rsin,
4745
- zakenApiPluginConfigurationId: linkResult?.zakenApiPluginConfigurationId,
4746
- zaakTypeUrl: linkResult?.zaakTypeUrl,
4747
- };
4748
- this.findZaakType(linkResult.zaakTypeUrl);
4749
- this.findPluginConfiguration(linkResult.zakenApiPluginConfigurationId);
4750
- if (requestInformatieObjectTypeLink.informatieObjectType !== null) {
4751
- this.openZaakService
4752
- .createInformatieObjectTypeLink(requestInformatieObjectTypeLink)
4753
- .subscribe(() => {
4754
- this.toasterService.success('Successfully linked object informatie type to dossier');
4189
+ this.openZaakService
4190
+ .createZaakTypeLink(this.zaakTypeLinkRequest)
4191
+ .pipe(finalize(() => this.modalOpen$.next(false)))
4192
+ .subscribe({
4193
+ next: linkResult => {
4194
+ this.zaakTypeLink$.next(linkResult);
4195
+ this.zaakTypeLinkRequest = {
4196
+ caseDefinitionKey: this._caseDefinitionKey,
4197
+ caseVersionTag: this._caseVersionTag,
4198
+ createWithDossier: linkResult?.createWithDossier,
4199
+ rsin: linkResult?.rsin,
4200
+ zakenApiPluginConfigurationId: linkResult?.zakenApiPluginConfigurationId,
4201
+ zaakTypeUrl: linkResult?.zaakTypeUrl,
4202
+ };
4203
+ this.findZaakType(linkResult.zaakTypeUrl);
4204
+ this.findPluginConfiguration(linkResult.zakenApiPluginConfigurationId);
4205
+ this.globalNotificationService.showToast({
4206
+ title: this.translateService.instant('openZaak.linkSuccessful'),
4207
+ type: 'success',
4755
4208
  });
4756
- }
4757
- this.toasterService.success('Successfully linked zaaktype to dossier');
4758
- }, err => {
4759
- this.toasterService.error('Failed to link zaaktype to dossier');
4209
+ },
4210
+ error: () => {
4211
+ this.globalNotificationService.showToast({
4212
+ title: this.translateService.instant('openZaak.linkFailed'),
4213
+ type: 'error',
4214
+ });
4215
+ },
4760
4216
  });
4761
4217
  }
4762
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ZakenApiZaaktypeLinkComponent, deps: [{ token: i1$2.ActivatedRoute }, { token: i2$1.OpenZaakService }, { token: i3$1.AlertService }, { token: i4$1.ToastrService }, { token: i3.TranslateService }, { token: ZakenApiZaaktypeLinkService }, { token: i2.ConfigService }], target: i0.ɵɵFactoryTarget.Component }); }
4763
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: ZakenApiZaaktypeLinkComponent, isStandalone: true, selector: "valtimo-zaken-api-zaaktype-link", viewQueries: [{ propertyName: "modal", first: true, predicate: ["openZaakTypeLinkModal"], descendants: true }], ngImport: i0, template: "<!--\n ~ Copyright 2015-2024 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 class=\"input-group mt-4 mb-2 align-items-center\">\n <div>\n <h2>{{ 'openZaak.links' | translate }}</h2>\n </div>\n</div>\n\n<ng-container\n *ngIf=\"{\n loading: loading$ | async,\n zaakTypeLink: zaakTypeLink$ | async,\n } as obs\"\n>\n <ng-container *ngIf=\"obs.loading === false; else loading\">\n <ng-container *ngIf=\"obs.zaakTypeLink; else addSync\">\n <div class=\"card card-border card-contrast\">\n <div class=\"card-header card-header-contrast card-header-featured\">\n <div>\n {{ this.selectedZaakType?.omschrijving || '-' }}\n </div>\n <div class=\"controls\">\n <button class=\"btn btn-danger ml-3\" (click)=\"openModal(obs.zaakTypeLink)\">\n <i class=\"icon mdi mdi-pencil\"></i>\n </button>\n <button class=\"btn btn-danger ml-3\" (click)=\"removeZaakTypeLink()\">\n <i class=\"icon mdi mdi-delete\"></i>\n </button>\n </div>\n </div>\n <div class=\"card-body\">\n <div class=\"row pt-3 mt-1\">\n <div class=\"col-3\">\n <strong>{{ 'openZaak.autoCreateForCase' | translate }}</strong>\n </div>\n <div class=\"col-3\">\n {{\n obs.zaakTypeLink?.createWithDossier\n ? ('viewTypeConverter.Yes' | translate)\n : ('viewTypeConverter.No' | translate)\n }}\n </div>\n </div>\n <div class=\"row pt-3 mt-1\">\n <div class=\"col-3\">\n <strong>{{ 'openZaak.zakenApiPlugin' | translate }}</strong>\n </div>\n <div class=\"col-3\">\n {{ this.selectedPluginConfiguration?.title || '-' }}\n </div>\n </div>\n <div class=\"row pt-3 mt-1\">\n <div class=\"col-3\">\n <strong>{{ 'openZaak.rsin' | translate }}</strong>\n </div>\n <div class=\"col-3\">\n {{ obs.zaakTypeLink?.rsin || '-' }}\n </div>\n </div>\n </div>\n </div>\n </ng-container>\n </ng-container>\n</ng-container>\n\n<ng-template #addSync>\n <div class=\"text-right mt-5\">\n <button class=\"btn btn-primary\" (click)=\"openModal(null)\">\n <i class=\"icon mdi mdi-plus mr-1\"></i>{{ 'openZaak.linkZaakType' | translate }}\n </button>\n </div>\n</ng-template>\n\n<valtimo-modal\n #openZaakTypeLinkModal\n elementId=\"openZaakTypeLinkModal\"\n [title]=\"'Zaak types'\"\n subtitle=\"Connect Zaak type to Dossier\"\n showFooter=\"true\"\n>\n <div body>\n <p>{{ 'openZaak.selectZaakTypeForCase' | translate }}</p>\n <div class=\"input-group mb-3 mr-3 align-items-center\">\n <select class=\"form-control\" [(ngModel)]=\"this.zaakTypeLinkRequest.zaakTypeUrl\">\n <option [ngValue]=\"null\">{{ 'openZaak.selectZaakType' | translate }}</option>\n <option *ngFor=\"let zaakType of zaakTypes\" [ngValue]=\"zaakType.url\">\n {{ zaakType?.omschrijving || '-' }}\n </option>\n </select>\n </div>\n\n <p>{{ 'openZaak.selectZakenApiPluginForCase' | translate }}</p>\n <div class=\"input-group mb-3 mr-3 align-items-center\">\n <select\n class=\"form-control\"\n [(ngModel)]=\"this.zaakTypeLinkRequest.zakenApiPluginConfigurationId\"\n >\n <option [ngValue]=\"null\">{{ 'openZaak.selectZakenApiPlugin' | translate }}</option>\n <option\n *ngFor=\"let pluginConfiguration of pluginConfigurations\"\n [ngValue]=\"pluginConfiguration.id\"\n >\n {{ pluginConfiguration?.title || '-' }}\n </option>\n </select>\n </div>\n\n <p>{{ 'openZaak.rsin' | translate }}</p>\n <div class=\"input-group mb-3 mr-3 align-items-center\">\n <input\n type=\"text\"\n id=\"name\"\n class=\"form-control\"\n placeholder=\"RSIN\"\n [(ngModel)]=\"this.zaakTypeLinkRequest.rsin\"\n />\n </div>\n\n <div class=\"setting-row\">\n <p>{{ 'openZaak.autoCreateForCase' | translate }}</p>\n <div class=\"controls\">\n <div class=\"switch-button switch-button-success\">\n <input\n type=\"checkbox\"\n [checked]=\"this.zaakTypeLinkRequest.createWithDossier\"\n name=\"createWithDossier\"\n id=\"createWithDossier\"\n (change)=\"\n this.zaakTypeLinkRequest.createWithDossier =\n !this.zaakTypeLinkRequest.createWithDossier\n \"\n />\n <span><label for=\"createWithDossier\"></label></span>\n </div>\n </div>\n </div>\n\n <div\n *ngIf=\"informatieObjectTypeSelectionEnabled && selectedZaakType\"\n class=\"input-group mb-3 align-items-center\"\n >\n <select class=\"form-control\" [(ngModel)]=\"selectedInformatieObjectTypeUrl\">\n <option [ngValue]=\"null\" selected>{{ 'openZaak.selectInfoObjectType' | translate }}</option>\n <option\n *ngFor=\"let informatieObjectType of informatieObjectTypes\"\n [ngValue]=\"informatieObjectType.url\"\n >\n {{ informatieObjectType?.omschrijving || '-' }}\n </option>\n </select>\n </div>\n </div>\n <div footer>\n <button\n (click)=\"submit()\"\n class=\"btn btn-primary\"\n data-dismiss=\"modal\"\n [disabled]=\"!this.zaakTypeLinkRequest.zaakTypeUrl\"\n >\n <i class=\"icon mdi mdi-save\"></i>\n {{ 'openZaak.save' | translate }}\n </button>\n </div>\n</valtimo-modal>\n\n<ng-template #loading>\n <div class=\"mb-8\">\n <valtimo-spinner></valtimo-spinner>\n </div>\n</ng-template>\n\n<ng-template #noConfigAvailable>\n <div class=\"mb-8\">\n <h4>{{ 'openZaak.error.configNotFound' | translate }}</h4>\n </div>\n</ng-template>\n", styles: [".card-header,.setting-row{display:flex;flex-direction:row;justify-content:space-between;align-items:center}.controls{display:flex;align-items:center}.full-width-notification{max-inline-size:100%;min-inline-size:100%}\n/*!\n * Copyright 2015-2024 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: "ngmodule", type: CommonModule }, { kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$1.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1$1.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$1.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: ModalModule$1 }, { kind: "component", type: i3$1.ModalComponent, selector: "valtimo-modal", inputs: ["elementId", "title", "subtitle", "templateBelowSubtitle", "showFooter"] }, { kind: "ngmodule", type: NotificationModule }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }] }); }
4218
+ findZaakType(zaakTypeUrl) {
4219
+ this.selectedZaakType = this.zaakTypes.find(zaakType => zaakType.url === zaakTypeUrl) ?? null;
4220
+ }
4221
+ findPluginConfiguration(pluginConfigurationId) {
4222
+ this.selectedPluginConfiguration =
4223
+ this.pluginConfigurations.find(pluginConfiguration => pluginConfiguration.id === pluginConfigurationId) ?? null;
4224
+ }
4225
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: ZakenApiZaaktypeLinkComponent, deps: [{ token: i2.GlobalNotificationService }, { token: i5$1.IconService }, { token: i5$3.OpenZaakService }, { token: i1$2.ActivatedRoute }, { token: i5.TranslateService }, { token: ZakenApiZaaktypeLinkService }], target: i0.ɵɵFactoryTarget.Component }); }
4226
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.14", type: ZakenApiZaaktypeLinkComponent, isStandalone: true, selector: "valtimo-zaken-api-zaaktype-link", ngImport: i0, template: "<!--\n ~ Copyright 2015-2025 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<cds-tile>\n <h2 class=\"valtimo-zaak-type-link__title\">{{ 'openZaak.links' | translate }}</h2>\n\n @if (loading$ | async) {\n <valtimo-spinner></valtimo-spinner>\n } @else {\n @if (zaakTypeLink$ | async; as zaakTypeLink) {\n <section class=\"valtimo-zaak-type-link__card-header\">\n <span class=\"valtimo-zaak-type-link__card-title\">\n {{ this.selectedZaakType?.omschrijving || '-' }}\n </span>\n\n <div class=\"valtimo-zaak-type-link__card-controls\">\n <button cdsButton=\"tertiary\" (click)=\"openModal(zaakTypeLink)\">\n {{ 'interface.edit' | translate }}\n\n <svg cdsIcon=\"edit\" size=\"16\" class=\"cds--btn__icon\"></svg>\n </button>\n\n <button cdsButton=\"danger\" (click)=\"removeZaakTypeLink()\">\n {{ 'interface.delete' | translate }}\n\n <svg cdsIcon=\"trash-can\" size=\"16\" class=\"cds--btn__icon\"></svg>\n </button>\n </div>\n </section>\n\n <section class=\"valtimo-zaak-type-link__card-body\">\n <div>\n <strong>{{ 'openZaak.autoCreateForCase' | translate }}</strong>\n\n {{\n zaakTypeLink?.createWithDossier\n ? ('viewTypeConverter.Yes' | translate)\n : ('viewTypeConverter.No' | translate)\n }}\n </div>\n\n <div>\n <strong>{{ 'openZaak.zakenApiPlugin' | translate }}</strong>\n\n {{ this.selectedPluginConfiguration?.title || '-' }}\n </div>\n\n <div>\n <strong>{{ 'openZaak.rsin' | translate }}</strong>\n\n {{ zaakTypeLink?.rsin || '-' }}\n </div>\n </section>\n } @else {\n <button\n cdsButton=\"primary\"\n class=\"valtimo-zaak-type-link__link-button\"\n (click)=\"openModal(null)\"\n >\n {{ 'openZaak.linkZaakType' | translate }}\n\n <svg class=\"cds--btn__icon\" cdsIcon=\"add\" size=\"16\"></svg>\n </button>\n }\n }\n</cds-tile>\n\n<valtimo-render-in-body>\n <cds-modal showFooter=\"true\" valtimoCdsModal [open]=\"modalOpen$ | async\" (close)=\"closeModal()\">\n <cds-modal-header showCloseButton=\"true\" (closeSelect)=\"closeModal()\">\n <h3 cdsModalHeaderHeading>Zaak types</h3>\n\n <span> Connect Zaak type to Dossier</span>\n </cds-modal-header>\n\n <section cdsModalContent class=\"valtimo-zaak-type-link-modal__content\">\n <cds-select\n [label]=\"'openZaak.selectZaakTypeForCase' | translate\"\n [(ngModel)]=\"this.zaakTypeLinkRequest.zaakTypeUrl\"\n >\n <option value=\"default\">{{ 'openZaak.selectZaakType' | translate }}</option>\n\n @for (zaakType of zaakTypes; track zaakType.url) {\n <option [value]=\"zaakType.url\">\n {{ zaakType.omschrijving || '-' }}\n </option>\n }\n </cds-select>\n\n <cds-select\n [label]=\"'openZaak.selectZakenApiPluginForCase' | translate\"\n [(ngModel)]=\"this.zaakTypeLinkRequest.zakenApiPluginConfigurationId\"\n >\n <option value=\"default\">{{ 'openZaak.selectZakenApiPlugin' | translate }}</option>\n\n @for (pluginConfiguration of pluginConfigurations; track pluginConfiguration.id) {\n <option [value]=\"pluginConfiguration.id\">\n {{ pluginConfiguration?.title || '-' }}\n </option>\n }\n </cds-select>\n\n <cds-text-label>\n {{ 'openZaak.rsin' | translate }}\n\n <input\n cdsText\n cdsLayer=\"1\"\n placeholder=\"RSIN\"\n type=\"text\"\n [(ngModel)]=\"this.zaakTypeLinkRequest.rsin\"\n />\n </cds-text-label>\n\n <cds-toggle\n [label]=\"'openZaak.autoCreateForCase' | translate\"\n [checked]=\"this.zaakTypeLinkRequest.createWithDossier\"\n (checkedChange)=\"onCheckedChange($event)\"\n >\n </cds-toggle>\n </section>\n\n <cds-modal-footer>\n <button cdsButton=\"ghost\" (click)=\"closeModal()\">\n {{ 'interface.cancel' | translate }}\n </button>\n\n <button\n cdsButton=\"primary\"\n [disabled]=\"!this.zaakTypeLinkRequest.zaakTypeUrl\"\n (click)=\"submit()\"\n >\n {{ 'interface.save' | translate }}\n </button>\n </cds-modal-footer>\n </cds-modal>\n</valtimo-render-in-body>\n", styles: ["cds-tile{background:var(--cds-layer-02);width:100%}.valtimo-zaak-type-link__title{font-size:16px;line-height:24px;font-weight:600;margin-bottom:16px}.valtimo-zaak-type-link__link-button{align-self:flex-end}.valtimo-zaak-type-link__card-title{font-size:18px}.valtimo-zaak-type-link__card-header{display:flex;flex-direction:row;justify-content:space-between;align-items:center;padding-bottom:20px}.valtimo-zaak-type-link__card-controls{display:flex;align-items:center;gap:16px}.valtimo-zaak-type-link__card-body{display:flex;flex-direction:column;gap:16px}.valtimo-zaak-type-link__card-body>div{display:grid;grid-template-columns:repeat(3,1fr);font-size:16px}.valtimo-zaak-type-link-modal__content{display:flex;flex-direction:column;gap:16px}\n/*!\n * Copyright 2015-2025 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: "ngmodule", type: CommonModule }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$1.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1$1.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: NotificationModule }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i5.TranslatePipe, name: "translate" }, { kind: "ngmodule", type: ButtonModule }, { kind: "directive", type: i5$1.Button, selector: "[cdsButton], [ibmButton]", inputs: ["ibmButton", "cdsButton", "size", "skeleton", "iconOnly", "isExpressive"] }, { kind: "ngmodule", type: IconModule }, { kind: "directive", type: i5$1.IconDirective, selector: "[cdsIcon], [ibmIcon]", inputs: ["ibmIcon", "cdsIcon", "size", "title", "ariaLabel", "ariaLabelledBy", "ariaHidden", "isFocusable"] }, { kind: "ngmodule", type: TilesModule }, { kind: "component", type: i5$1.Tile, selector: "cds-tile, ibm-tile", inputs: ["theme"] }, { kind: "ngmodule", type: LayerModule }, { kind: "directive", type: i5$1.LayerDirective, selector: "[cdsLayer], [ibmLayer]", inputs: ["ibmLayer", "cdsLayer"], exportAs: ["layer"] }, { kind: "ngmodule", type: SpinnerModule }, { kind: "component", type: i3.SpinnerComponent, selector: "valtimo-spinner", inputs: ["useBootstrapSpinner", "name", "type", "size", "color", "bdColor", "fullScreen", "noMarginTop"] }, { kind: "ngmodule", type: ModalModule }, { kind: "component", type: i5$1.Modal, selector: "cds-modal, ibm-modal", inputs: ["size", "theme", "ariaLabel", "open", "trigger", "hasScrollingContent"], outputs: ["overlaySelected", "close"] }, { kind: "component", type: i5$1.ModalHeader, selector: "cds-modal-header, ibm-modal-header", inputs: ["theme", "closeLabel", "showCloseButton"], outputs: ["closeSelect"] }, { kind: "component", type: i5$1.ModalFooter, selector: "cds-modal-footer, ibm-modal-footer" }, { kind: "directive", type: i5$1.ModalContent, selector: "[cdsModalContent], [ibmModalContent]", inputs: ["hasForm"] }, { kind: "directive", type: i5$1.ModalHeaderHeading, selector: "[cdsModalHeaderHeading], [ibmModalHeaderHeading]" }, { kind: "ngmodule", type: SelectModule$1 }, { kind: "component", type: i5$1.Select, selector: "cds-select, ibm-select", inputs: ["value", "display", "label", "helperText", "invalidText", "warn", "warnText", "id", "size", "disabled", "skeleton", "invalid", "readonly", "theme", "ariaLabel", "fluid"], outputs: ["valueChange"] }, { kind: "directive", type: i5$1.Option, selector: "option" }, { kind: "ngmodule", type: InputModule }, { kind: "component", type: i5$1.TextInputLabelComponent, selector: "cds-text-label, ibm-text-label", inputs: ["labelInputID", "disabled", "skeleton", "labelTemplate", "textInputTemplate", "helperText", "invalidText", "invalid", "warn", "warnText", "ariaLabel", "fluid"] }, { kind: "directive", type: i5$1.TextInput, selector: "[cdsText], [ibmText]", inputs: ["theme", "size", "invalid", "warn", "skeleton"] }, { kind: "ngmodule", type: ToggleModule }, { kind: "component", type: i5$1.Toggle, selector: "cds-toggle, ibm-toggle", inputs: ["offText", "onText", "label", "size", "hideLabel", "ariaLabel", "skeleton"] }, { kind: "component", type: RenderInBodyComponent, selector: "valtimo-render-in-body" }] }); }
4764
4227
  }
4765
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ZakenApiZaaktypeLinkComponent, decorators: [{
4228
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: ZakenApiZaaktypeLinkComponent, decorators: [{
4766
4229
  type: Component,
4767
- args: [{ selector: 'valtimo-zaken-api-zaaktype-link', standalone: true, imports: [CommonModule, FormsModule, ModalModule$1, NotificationModule, TranslateModule], template: "<!--\n ~ Copyright 2015-2024 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 class=\"input-group mt-4 mb-2 align-items-center\">\n <div>\n <h2>{{ 'openZaak.links' | translate }}</h2>\n </div>\n</div>\n\n<ng-container\n *ngIf=\"{\n loading: loading$ | async,\n zaakTypeLink: zaakTypeLink$ | async,\n } as obs\"\n>\n <ng-container *ngIf=\"obs.loading === false; else loading\">\n <ng-container *ngIf=\"obs.zaakTypeLink; else addSync\">\n <div class=\"card card-border card-contrast\">\n <div class=\"card-header card-header-contrast card-header-featured\">\n <div>\n {{ this.selectedZaakType?.omschrijving || '-' }}\n </div>\n <div class=\"controls\">\n <button class=\"btn btn-danger ml-3\" (click)=\"openModal(obs.zaakTypeLink)\">\n <i class=\"icon mdi mdi-pencil\"></i>\n </button>\n <button class=\"btn btn-danger ml-3\" (click)=\"removeZaakTypeLink()\">\n <i class=\"icon mdi mdi-delete\"></i>\n </button>\n </div>\n </div>\n <div class=\"card-body\">\n <div class=\"row pt-3 mt-1\">\n <div class=\"col-3\">\n <strong>{{ 'openZaak.autoCreateForCase' | translate }}</strong>\n </div>\n <div class=\"col-3\">\n {{\n obs.zaakTypeLink?.createWithDossier\n ? ('viewTypeConverter.Yes' | translate)\n : ('viewTypeConverter.No' | translate)\n }}\n </div>\n </div>\n <div class=\"row pt-3 mt-1\">\n <div class=\"col-3\">\n <strong>{{ 'openZaak.zakenApiPlugin' | translate }}</strong>\n </div>\n <div class=\"col-3\">\n {{ this.selectedPluginConfiguration?.title || '-' }}\n </div>\n </div>\n <div class=\"row pt-3 mt-1\">\n <div class=\"col-3\">\n <strong>{{ 'openZaak.rsin' | translate }}</strong>\n </div>\n <div class=\"col-3\">\n {{ obs.zaakTypeLink?.rsin || '-' }}\n </div>\n </div>\n </div>\n </div>\n </ng-container>\n </ng-container>\n</ng-container>\n\n<ng-template #addSync>\n <div class=\"text-right mt-5\">\n <button class=\"btn btn-primary\" (click)=\"openModal(null)\">\n <i class=\"icon mdi mdi-plus mr-1\"></i>{{ 'openZaak.linkZaakType' | translate }}\n </button>\n </div>\n</ng-template>\n\n<valtimo-modal\n #openZaakTypeLinkModal\n elementId=\"openZaakTypeLinkModal\"\n [title]=\"'Zaak types'\"\n subtitle=\"Connect Zaak type to Dossier\"\n showFooter=\"true\"\n>\n <div body>\n <p>{{ 'openZaak.selectZaakTypeForCase' | translate }}</p>\n <div class=\"input-group mb-3 mr-3 align-items-center\">\n <select class=\"form-control\" [(ngModel)]=\"this.zaakTypeLinkRequest.zaakTypeUrl\">\n <option [ngValue]=\"null\">{{ 'openZaak.selectZaakType' | translate }}</option>\n <option *ngFor=\"let zaakType of zaakTypes\" [ngValue]=\"zaakType.url\">\n {{ zaakType?.omschrijving || '-' }}\n </option>\n </select>\n </div>\n\n <p>{{ 'openZaak.selectZakenApiPluginForCase' | translate }}</p>\n <div class=\"input-group mb-3 mr-3 align-items-center\">\n <select\n class=\"form-control\"\n [(ngModel)]=\"this.zaakTypeLinkRequest.zakenApiPluginConfigurationId\"\n >\n <option [ngValue]=\"null\">{{ 'openZaak.selectZakenApiPlugin' | translate }}</option>\n <option\n *ngFor=\"let pluginConfiguration of pluginConfigurations\"\n [ngValue]=\"pluginConfiguration.id\"\n >\n {{ pluginConfiguration?.title || '-' }}\n </option>\n </select>\n </div>\n\n <p>{{ 'openZaak.rsin' | translate }}</p>\n <div class=\"input-group mb-3 mr-3 align-items-center\">\n <input\n type=\"text\"\n id=\"name\"\n class=\"form-control\"\n placeholder=\"RSIN\"\n [(ngModel)]=\"this.zaakTypeLinkRequest.rsin\"\n />\n </div>\n\n <div class=\"setting-row\">\n <p>{{ 'openZaak.autoCreateForCase' | translate }}</p>\n <div class=\"controls\">\n <div class=\"switch-button switch-button-success\">\n <input\n type=\"checkbox\"\n [checked]=\"this.zaakTypeLinkRequest.createWithDossier\"\n name=\"createWithDossier\"\n id=\"createWithDossier\"\n (change)=\"\n this.zaakTypeLinkRequest.createWithDossier =\n !this.zaakTypeLinkRequest.createWithDossier\n \"\n />\n <span><label for=\"createWithDossier\"></label></span>\n </div>\n </div>\n </div>\n\n <div\n *ngIf=\"informatieObjectTypeSelectionEnabled && selectedZaakType\"\n class=\"input-group mb-3 align-items-center\"\n >\n <select class=\"form-control\" [(ngModel)]=\"selectedInformatieObjectTypeUrl\">\n <option [ngValue]=\"null\" selected>{{ 'openZaak.selectInfoObjectType' | translate }}</option>\n <option\n *ngFor=\"let informatieObjectType of informatieObjectTypes\"\n [ngValue]=\"informatieObjectType.url\"\n >\n {{ informatieObjectType?.omschrijving || '-' }}\n </option>\n </select>\n </div>\n </div>\n <div footer>\n <button\n (click)=\"submit()\"\n class=\"btn btn-primary\"\n data-dismiss=\"modal\"\n [disabled]=\"!this.zaakTypeLinkRequest.zaakTypeUrl\"\n >\n <i class=\"icon mdi mdi-save\"></i>\n {{ 'openZaak.save' | translate }}\n </button>\n </div>\n</valtimo-modal>\n\n<ng-template #loading>\n <div class=\"mb-8\">\n <valtimo-spinner></valtimo-spinner>\n </div>\n</ng-template>\n\n<ng-template #noConfigAvailable>\n <div class=\"mb-8\">\n <h4>{{ 'openZaak.error.configNotFound' | translate }}</h4>\n </div>\n</ng-template>\n", styles: [".card-header,.setting-row{display:flex;flex-direction:row;justify-content:space-between;align-items:center}.controls{display:flex;align-items:center}.full-width-notification{max-inline-size:100%;min-inline-size:100%}\n/*!\n * Copyright 2015-2024 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"] }]
4768
- }], ctorParameters: () => [{ type: i1$2.ActivatedRoute }, { type: i2$1.OpenZaakService }, { type: i3$1.AlertService }, { type: i4$1.ToastrService }, { type: i3.TranslateService }, { type: ZakenApiZaaktypeLinkService }, { type: i2.ConfigService }], propDecorators: { modal: [{
4769
- type: ViewChild,
4770
- args: ['openZaakTypeLinkModal']
4771
- }] } });
4230
+ args: [{ selector: 'valtimo-zaken-api-zaaktype-link', standalone: true, imports: [
4231
+ CommonModule,
4232
+ FormsModule,
4233
+ NotificationModule,
4234
+ TranslateModule,
4235
+ ButtonModule,
4236
+ IconModule,
4237
+ TilesModule,
4238
+ LayerModule,
4239
+ SpinnerModule,
4240
+ ModalModule,
4241
+ SelectModule$1,
4242
+ InputModule,
4243
+ ToggleModule,
4244
+ RenderInBodyComponent,
4245
+ ], template: "<!--\n ~ Copyright 2015-2025 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<cds-tile>\n <h2 class=\"valtimo-zaak-type-link__title\">{{ 'openZaak.links' | translate }}</h2>\n\n @if (loading$ | async) {\n <valtimo-spinner></valtimo-spinner>\n } @else {\n @if (zaakTypeLink$ | async; as zaakTypeLink) {\n <section class=\"valtimo-zaak-type-link__card-header\">\n <span class=\"valtimo-zaak-type-link__card-title\">\n {{ this.selectedZaakType?.omschrijving || '-' }}\n </span>\n\n <div class=\"valtimo-zaak-type-link__card-controls\">\n <button cdsButton=\"tertiary\" (click)=\"openModal(zaakTypeLink)\">\n {{ 'interface.edit' | translate }}\n\n <svg cdsIcon=\"edit\" size=\"16\" class=\"cds--btn__icon\"></svg>\n </button>\n\n <button cdsButton=\"danger\" (click)=\"removeZaakTypeLink()\">\n {{ 'interface.delete' | translate }}\n\n <svg cdsIcon=\"trash-can\" size=\"16\" class=\"cds--btn__icon\"></svg>\n </button>\n </div>\n </section>\n\n <section class=\"valtimo-zaak-type-link__card-body\">\n <div>\n <strong>{{ 'openZaak.autoCreateForCase' | translate }}</strong>\n\n {{\n zaakTypeLink?.createWithDossier\n ? ('viewTypeConverter.Yes' | translate)\n : ('viewTypeConverter.No' | translate)\n }}\n </div>\n\n <div>\n <strong>{{ 'openZaak.zakenApiPlugin' | translate }}</strong>\n\n {{ this.selectedPluginConfiguration?.title || '-' }}\n </div>\n\n <div>\n <strong>{{ 'openZaak.rsin' | translate }}</strong>\n\n {{ zaakTypeLink?.rsin || '-' }}\n </div>\n </section>\n } @else {\n <button\n cdsButton=\"primary\"\n class=\"valtimo-zaak-type-link__link-button\"\n (click)=\"openModal(null)\"\n >\n {{ 'openZaak.linkZaakType' | translate }}\n\n <svg class=\"cds--btn__icon\" cdsIcon=\"add\" size=\"16\"></svg>\n </button>\n }\n }\n</cds-tile>\n\n<valtimo-render-in-body>\n <cds-modal showFooter=\"true\" valtimoCdsModal [open]=\"modalOpen$ | async\" (close)=\"closeModal()\">\n <cds-modal-header showCloseButton=\"true\" (closeSelect)=\"closeModal()\">\n <h3 cdsModalHeaderHeading>Zaak types</h3>\n\n <span> Connect Zaak type to Dossier</span>\n </cds-modal-header>\n\n <section cdsModalContent class=\"valtimo-zaak-type-link-modal__content\">\n <cds-select\n [label]=\"'openZaak.selectZaakTypeForCase' | translate\"\n [(ngModel)]=\"this.zaakTypeLinkRequest.zaakTypeUrl\"\n >\n <option value=\"default\">{{ 'openZaak.selectZaakType' | translate }}</option>\n\n @for (zaakType of zaakTypes; track zaakType.url) {\n <option [value]=\"zaakType.url\">\n {{ zaakType.omschrijving || '-' }}\n </option>\n }\n </cds-select>\n\n <cds-select\n [label]=\"'openZaak.selectZakenApiPluginForCase' | translate\"\n [(ngModel)]=\"this.zaakTypeLinkRequest.zakenApiPluginConfigurationId\"\n >\n <option value=\"default\">{{ 'openZaak.selectZakenApiPlugin' | translate }}</option>\n\n @for (pluginConfiguration of pluginConfigurations; track pluginConfiguration.id) {\n <option [value]=\"pluginConfiguration.id\">\n {{ pluginConfiguration?.title || '-' }}\n </option>\n }\n </cds-select>\n\n <cds-text-label>\n {{ 'openZaak.rsin' | translate }}\n\n <input\n cdsText\n cdsLayer=\"1\"\n placeholder=\"RSIN\"\n type=\"text\"\n [(ngModel)]=\"this.zaakTypeLinkRequest.rsin\"\n />\n </cds-text-label>\n\n <cds-toggle\n [label]=\"'openZaak.autoCreateForCase' | translate\"\n [checked]=\"this.zaakTypeLinkRequest.createWithDossier\"\n (checkedChange)=\"onCheckedChange($event)\"\n >\n </cds-toggle>\n </section>\n\n <cds-modal-footer>\n <button cdsButton=\"ghost\" (click)=\"closeModal()\">\n {{ 'interface.cancel' | translate }}\n </button>\n\n <button\n cdsButton=\"primary\"\n [disabled]=\"!this.zaakTypeLinkRequest.zaakTypeUrl\"\n (click)=\"submit()\"\n >\n {{ 'interface.save' | translate }}\n </button>\n </cds-modal-footer>\n </cds-modal>\n</valtimo-render-in-body>\n", styles: ["cds-tile{background:var(--cds-layer-02);width:100%}.valtimo-zaak-type-link__title{font-size:16px;line-height:24px;font-weight:600;margin-bottom:16px}.valtimo-zaak-type-link__link-button{align-self:flex-end}.valtimo-zaak-type-link__card-title{font-size:18px}.valtimo-zaak-type-link__card-header{display:flex;flex-direction:row;justify-content:space-between;align-items:center;padding-bottom:20px}.valtimo-zaak-type-link__card-controls{display:flex;align-items:center;gap:16px}.valtimo-zaak-type-link__card-body{display:flex;flex-direction:column;gap:16px}.valtimo-zaak-type-link__card-body>div{display:grid;grid-template-columns:repeat(3,1fr);font-size:16px}.valtimo-zaak-type-link-modal__content{display:flex;flex-direction:column;gap:16px}\n/*!\n * Copyright 2015-2025 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"] }]
4246
+ }], ctorParameters: () => [{ type: i2.GlobalNotificationService }, { type: i5$1.IconService }, { type: i5$3.OpenZaakService }, { type: i1$2.ActivatedRoute }, { type: i5.TranslateService }, { type: ZakenApiZaaktypeLinkService }] });
4247
+
4248
+ /*
4249
+ * Copyright 2015-2025 Ritense BV, the Netherlands.
4250
+ *
4251
+ * Licensed under EUPL, Version 1.2 (the "License");
4252
+ * you may not use this file except in compliance with the License.
4253
+ * You may obtain a copy of the License at
4254
+ *
4255
+ * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
4256
+ *
4257
+ * Unless required by applicable law or agreed to in writing, software
4258
+ * distributed under the License is distributed on an "AS IS" basis,
4259
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
4260
+ * See the License for the specific language governing permissions and
4261
+ * limitations under the License.
4262
+ */
4772
4263
 
4773
4264
  /*
4774
- * Copyright 2015-2024 Ritense BV, the Netherlands.
4265
+ * Copyright 2015-2025 Ritense BV, the Netherlands.
4775
4266
  *
4776
4267
  * Licensed under EUPL, Version 1.2 (the "License");
4777
4268
  * you may not use this file except in compliance with the License.
@@ -4787,7 +4278,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
4787
4278
  */
4788
4279
 
4789
4280
  /*
4790
- * Copyright 2015-2024 Ritense BV, the Netherlands.
4281
+ * Copyright 2015-2025 Ritense BV, the Netherlands.
4791
4282
  *
4792
4283
  * Licensed under EUPL, Version 1.2 (the "License");
4793
4284
  * you may not use this file except in compliance with the License.
@@ -4803,7 +4294,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
4803
4294
  */
4804
4295
 
4805
4296
  /*
4806
- * Copyright 2015-2024 Ritense BV, the Netherlands.
4297
+ * Copyright 2015-2025 Ritense BV, the Netherlands.
4807
4298
  *
4808
4299
  * Licensed under EUPL, Version 1.2 (the "License");
4809
4300
  * you may not use this file except in compliance with the License.
@@ -4819,7 +4310,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
4819
4310
  */
4820
4311
 
4821
4312
  /*
4822
- * Copyright 2015-2024 Ritense BV, the Netherlands.
4313
+ * Copyright 2015-2025 Ritense BV, the Netherlands.
4823
4314
  *
4824
4315
  * Licensed under EUPL, Version 1.2 (the "License");
4825
4316
  * you may not use this file except in compliance with the License.
@@ -4835,7 +4326,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
4835
4326
  */
4836
4327
 
4837
4328
  /*
4838
- * Copyright 2015-2024 Ritense BV, the Netherlands.
4329
+ * Copyright 2015-2025 Ritense BV, the Netherlands.
4839
4330
  *
4840
4331
  * Licensed under EUPL, Version 1.2 (the "License");
4841
4332
  * you may not use this file except in compliance with the License.
@@ -4849,9 +4340,39 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
4849
4340
  * See the License for the specific language governing permissions and
4850
4341
  * limitations under the License.
4851
4342
  */
4852
- class DossierManagementZgwService {
4343
+ class CaseManagementZgwGeneralComponent {
4344
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: CaseManagementZgwGeneralComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
4345
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.14", type: CaseManagementZgwGeneralComponent, isStandalone: true, selector: "ng-component", ngImport: i0, template: "<!--\n ~ Copyright 2015-2025 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 class=\"muuri-container\">\n <div muuri [columnMinWidth]=\"450\">\n <valtimo-muuri-item>\n <valtimo-document-objecten-api-sync></valtimo-document-objecten-api-sync>\n </valtimo-muuri-item>\n\n <valtimo-muuri-item>\n <valtimo-documenten-api-version></valtimo-documenten-api-version\n ></valtimo-muuri-item>\n\n <valtimo-muuri-item>\n <valtimo-zaken-api-zaaktype-link></valtimo-zaken-api-zaaktype-link>\n </valtimo-muuri-item>\n </div>\n</div>\n", styles: [".muuri-container{margin-bottom:-16px;padding:16px;background-color:var(--cds-layer-01)}\n/*!\n * Copyright 2015-2025 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: "ngmodule", type: CommonModule }, { kind: "component", type: ZakenApiZaaktypeLinkComponent, selector: "valtimo-zaken-api-zaaktype-link" }, { kind: "component", type: DocumentObjectenApiSyncComponent, selector: "valtimo-document-objecten-api-sync" }, { kind: "ngmodule", type: MuuriDirectiveModule }, { kind: "directive", type: i3.MuuriDirective, selector: "[muuri]", inputs: ["columnMinWidth"] }, { kind: "component", type: i3.MuuriItemComponent, selector: "valtimo-muuri-item" }, { kind: "component", type: DocumentenApiVersionComponent, selector: "valtimo-documenten-api-version" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
4346
+ }
4347
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: CaseManagementZgwGeneralComponent, decorators: [{
4348
+ type: Component,
4349
+ args: [{ changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [
4350
+ CommonModule,
4351
+ ZakenApiZaaktypeLinkComponent,
4352
+ DocumentObjectenApiSyncComponent,
4353
+ MuuriDirectiveModule,
4354
+ DocumentenApiVersionComponent,
4355
+ ], template: "<!--\n ~ Copyright 2015-2025 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 class=\"muuri-container\">\n <div muuri [columnMinWidth]=\"450\">\n <valtimo-muuri-item>\n <valtimo-document-objecten-api-sync></valtimo-document-objecten-api-sync>\n </valtimo-muuri-item>\n\n <valtimo-muuri-item>\n <valtimo-documenten-api-version></valtimo-documenten-api-version\n ></valtimo-muuri-item>\n\n <valtimo-muuri-item>\n <valtimo-zaken-api-zaaktype-link></valtimo-zaken-api-zaaktype-link>\n </valtimo-muuri-item>\n </div>\n</div>\n", styles: [".muuri-container{margin-bottom:-16px;padding:16px;background-color:var(--cds-layer-01)}\n/*!\n * Copyright 2015-2025 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"] }]
4356
+ }] });
4357
+
4358
+ /*
4359
+ * Copyright 2015-2025 Ritense BV, the Netherlands.
4360
+ *
4361
+ * Licensed under EUPL, Version 1.2 (the "License");
4362
+ * you may not use this file except in compliance with the License.
4363
+ * You may obtain a copy of the License at
4364
+ *
4365
+ * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
4366
+ *
4367
+ * Unless required by applicable law or agreed to in writing, software
4368
+ * distributed under the License is distributed on an "AS IS" basis,
4369
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
4370
+ * See the License for the specific language governing permissions and
4371
+ * limitations under the License.
4372
+ */
4373
+ class CaseManagementZgwService {
4853
4374
  constructor() {
4854
- this._DEFAULT_TAB = ZgwTabEnum.DOCUMENTEN_API_COLUMNS;
4375
+ this._DEFAULT_TAB = ZgwTabEnum.GENERAL;
4855
4376
  this._currentTab$ = new BehaviorSubject(this._DEFAULT_TAB);
4856
4377
  }
4857
4378
  get currentTab$() {
@@ -4863,10 +4384,10 @@ class DossierManagementZgwService {
4863
4384
  resetToDefaultTab() {
4864
4385
  this._currentTab$.next(this._DEFAULT_TAB);
4865
4386
  }
4866
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DossierManagementZgwService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
4867
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DossierManagementZgwService, providedIn: 'root' }); }
4387
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: CaseManagementZgwService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
4388
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: CaseManagementZgwService, providedIn: 'root' }); }
4868
4389
  }
4869
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DossierManagementZgwService, decorators: [{
4390
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: CaseManagementZgwService, decorators: [{
4870
4391
  type: Injectable,
4871
4392
  args: [{
4872
4393
  providedIn: 'root',
@@ -4874,7 +4395,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
4874
4395
  }] });
4875
4396
 
4876
4397
  /*
4877
- * Copyright 2015-2024 Ritense BV, the Netherlands.
4398
+ * Copyright 2015-2025 Ritense BV, the Netherlands.
4878
4399
  *
4879
4400
  * Licensed under EUPL, Version 1.2 (the "License");
4880
4401
  * you may not use this file except in compliance with the License.
@@ -4890,7 +4411,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
4890
4411
  */
4891
4412
 
4892
4413
  /*
4893
- * Copyright 2015-2024 Ritense BV, the Netherlands.
4414
+ * Copyright 2015-2025 Ritense BV, the Netherlands.
4894
4415
  *
4895
4416
  * Licensed under EUPL, Version 1.2 (the "License");
4896
4417
  * you may not use this file except in compliance with the License.
@@ -4904,19 +4425,31 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
4904
4425
  * See the License for the specific language governing permissions and
4905
4426
  * limitations under the License.
4906
4427
  */
4907
- class DossierManagementZgwComponent {
4908
- constructor(dossierManagementZgwService, cdr, documentenApiVersionService, route) {
4909
- this.dossierManagementZgwService = dossierManagementZgwService;
4428
+ class CaseManagementZgwComponent {
4429
+ constructor(caseManagementZgwService, cdr, documentenApiVersionService, draftVersionService, route) {
4430
+ this.caseManagementZgwService = caseManagementZgwService;
4910
4431
  this.cdr = cdr;
4911
4432
  this.documentenApiVersionService = documentenApiVersionService;
4433
+ this.draftVersionService = draftVersionService;
4912
4434
  this.route = route;
4913
4435
  this._viewInitialized$ = new BehaviorSubject(false);
4914
- this._supportedDocumentenApiFeatures$ = this.route.params.pipe(map(params => params?.name), filter(caseDefinitionName => !!caseDefinitionName), switchMap(caseDefinitionName => this.documentenApiVersionService.getSupportedApiFeatures(caseDefinitionName)));
4436
+ this._params$ = getCaseManagementRouteParams(this.route);
4437
+ this._supportedDocumentenApiFeatures$ = this._params$.pipe(map((params) => params?.caseDefinitionKey ?? ''), filter((caseDefinitionKey) => !!caseDefinitionKey), switchMap((caseDefinitionKey) => this.documentenApiVersionService.getSupportedApiFeatures(caseDefinitionKey ?? '')));
4438
+ this.isDraftVersion$ = this._params$.pipe(switchMap((params) => !params
4439
+ ? of(false)
4440
+ : this.draftVersionService.isDraftVersion(params.caseDefinitionKey, params.caseDefinitionVersionTag)));
4441
+ this.currentTab$ = this.caseManagementZgwService.currentTab$;
4915
4442
  this.zgwTabs$ = combineLatest([
4916
4443
  this._viewInitialized$,
4917
- this.dossierManagementZgwService.currentTab$,
4444
+ this.currentTab$,
4918
4445
  this._supportedDocumentenApiFeatures$,
4919
4446
  ]).pipe(filter(([viewInitialized]) => viewInitialized), map(([_, currentTab, supportedDocumentenApiFeatures]) => [
4447
+ {
4448
+ class: 'no-padding-left-right no-padding-top-bottom',
4449
+ headingTranslationKey: 'caseManagement.tabs.general',
4450
+ tab: ZgwTabEnum.GENERAL,
4451
+ component: CaseManagementZgwGeneralComponent,
4452
+ },
4920
4453
  {
4921
4454
  class: 'no-padding-left-right no-padding-top-bottom',
4922
4455
  headingTranslationKey: 'zgw.tabs.documentColumns',
@@ -4941,33 +4474,41 @@ class DossierManagementZgwComponent {
4941
4474
  : []),
4942
4475
  ].map(zgwTab => ({ ...zgwTab, active: currentTab === zgwTab.tab }))), tap(zgwTabs => {
4943
4476
  const activeTab = zgwTabs.length > 1 ? zgwTabs.find(tab => tab.active) : zgwTabs[0];
4477
+ if (!activeTab)
4478
+ return;
4944
4479
  this._zgwTabContent.clear();
4945
4480
  this._zgwTabContent.createComponent(activeTab.component);
4946
4481
  this.cdr.detectChanges();
4947
4482
  }));
4483
+ this.ZgwTabEnum = ZgwTabEnum;
4484
+ this.DRAFT_WARNING_MESSAGE = {
4485
+ [ZgwTabEnum.DOCUMENTEN_API_COLUMNS]: 'zgw.tabs.documentColumns',
4486
+ [ZgwTabEnum.DOCUMENTEN_API_UPLOAD_FIELDS]: 'zgw.tabs.documentUploadFields',
4487
+ [ZgwTabEnum.DOCUMENTEN_API_TAGS]: 'zgw.tabs.documentUploadFields',
4488
+ };
4948
4489
  }
4949
4490
  ngAfterViewInit() {
4950
4491
  this._viewInitialized$.next(true);
4951
4492
  }
4952
4493
  ngOnDestroy() {
4953
- this.dossierManagementZgwService.resetToDefaultTab();
4494
+ this.caseManagementZgwService.resetToDefaultTab();
4954
4495
  }
4955
4496
  displayTab(tab) {
4956
- this.dossierManagementZgwService.currentTab = tab;
4497
+ this.caseManagementZgwService.currentTab = tab;
4957
4498
  }
4958
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DossierManagementZgwComponent, deps: [{ token: DossierManagementZgwService }, { token: i0.ChangeDetectorRef }, { token: DocumentenApiVersionService }, { token: i1$2.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Component }); }
4959
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: DossierManagementZgwComponent, isStandalone: true, selector: "ng-component", viewQueries: [{ propertyName: "_zgwTabContent", first: true, predicate: ["zgwTabContent"], descendants: true, read: ViewContainerRef }], ngImport: i0, template: "<!--\n ~ Copyright 2015-2024 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<cds-tabs class=\"dossier-management-tabs\">\n @for (zgwTab of (zgwTabs$ | async) || []; track zgwTab.tab) {\n <cds-tab\n [class]=\"zgwTab.class\"\n [active]=\"zgwTab.active\"\n [heading]=\"zgwTab.headingTranslationKey | translate\"\n (selected)=\"displayTab(zgwTab.tab)\"\n ></cds-tab>\n }\n</cds-tabs>\n\n<div class=\"dossier-management-zgw__content\">\n <ng-template #zgwTabContent></ng-template>\n</div>\n", styles: ["/*!\n * Copyright 2015-2024 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: "ngmodule", type: CommonModule }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }, { kind: "ngmodule", type: TabsModule }, { kind: "component", type: i6.Tabs, selector: "cds-tabs, ibm-tabs", inputs: ["position", "cacheActive", "followFocus", "isNavigation", "ariaLabel", "ariaLabelledby", "type", "theme", "skeleton"] }, { kind: "component", type: i6.Tab, selector: "cds-tab, ibm-tab", inputs: ["heading", "title", "context", "active", "disabled", "tabIndex", "id", "cacheActive", "tabContent", "templateContext"], outputs: ["selected"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
4499
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: CaseManagementZgwComponent, deps: [{ token: CaseManagementZgwService }, { token: i0.ChangeDetectorRef }, { token: DocumentenApiVersionService }, { token: i2.DraftVersionService }, { token: i1$2.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Component }); }
4500
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.14", type: CaseManagementZgwComponent, isStandalone: true, selector: "ng-component", viewQueries: [{ propertyName: "_zgwTabContent", first: true, predicate: ["zgwTabContent"], descendants: true, read: ViewContainerRef }], ngImport: i0, template: "<!--\n ~ Copyright 2015-2025 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@if (currentTab$ | async; as currentTab) {\n <valtimo-case-management-draft-warning\n *ngIf=\"(isDraftVersion$ | async) === true && currentTab !== ZgwTabEnum.GENERAL\"\n [name]=\"DRAFT_WARNING_MESSAGE[currentTab] | translate | lowercase\"\n ></valtimo-case-management-draft-warning>\n}\n\n<cds-tabs class=\"case-management-tabs\" type=\"contained\">\n @for (zgwTab of (zgwTabs$ | async) || []; track zgwTab.tab) {\n <cds-tab\n [class]=\"zgwTab.class\"\n [active]=\"zgwTab.active\"\n [heading]=\"zgwTab.headingTranslationKey | translate\"\n (selected)=\"displayTab(zgwTab.tab)\"\n ></cds-tab>\n }\n</cds-tabs>\n\n<ng-template #zgwTabContent></ng-template>\n", styles: [".case-management-tabs ::ng-deep .cds--tab-content{margin-top:0}\n/*!\n * Copyright 2015-2025 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: "ngmodule", type: CommonModule }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }, { kind: "pipe", type: i4.LowerCasePipe, name: "lowercase" }, { kind: "ngmodule", type: TabsModule }, { kind: "component", type: i5$1.Tabs, selector: "cds-tabs, ibm-tabs", inputs: ["position", "cacheActive", "followFocus", "isNavigation", "ariaLabel", "ariaLabelledby", "type", "theme", "skeleton"] }, { kind: "component", type: i5$1.Tab, selector: "cds-tab, ibm-tab", inputs: ["heading", "title", "context", "active", "disabled", "tabIndex", "id", "cacheActive", "tabContent", "templateContext"], outputs: ["selected"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i5.TranslatePipe, name: "translate" }, { kind: "component", type: CaseManagementDraftWarningComponent, selector: "valtimo-case-management-draft-warning", inputs: ["name"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
4960
4501
  }
4961
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DossierManagementZgwComponent, decorators: [{
4502
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: CaseManagementZgwComponent, decorators: [{
4962
4503
  type: Component,
4963
- args: [{ changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [CommonModule, TabsModule, TranslateModule], template: "<!--\n ~ Copyright 2015-2024 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<cds-tabs class=\"dossier-management-tabs\">\n @for (zgwTab of (zgwTabs$ | async) || []; track zgwTab.tab) {\n <cds-tab\n [class]=\"zgwTab.class\"\n [active]=\"zgwTab.active\"\n [heading]=\"zgwTab.headingTranslationKey | translate\"\n (selected)=\"displayTab(zgwTab.tab)\"\n ></cds-tab>\n }\n</cds-tabs>\n\n<div class=\"dossier-management-zgw__content\">\n <ng-template #zgwTabContent></ng-template>\n</div>\n", styles: ["/*!\n * Copyright 2015-2024 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"] }]
4964
- }], ctorParameters: () => [{ type: DossierManagementZgwService }, { type: i0.ChangeDetectorRef }, { type: DocumentenApiVersionService }, { type: i1$2.ActivatedRoute }], propDecorators: { _zgwTabContent: [{
4504
+ args: [{ changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [CommonModule, TabsModule, TranslateModule, CaseManagementDraftWarningComponent], template: "<!--\n ~ Copyright 2015-2025 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@if (currentTab$ | async; as currentTab) {\n <valtimo-case-management-draft-warning\n *ngIf=\"(isDraftVersion$ | async) === true && currentTab !== ZgwTabEnum.GENERAL\"\n [name]=\"DRAFT_WARNING_MESSAGE[currentTab] | translate | lowercase\"\n ></valtimo-case-management-draft-warning>\n}\n\n<cds-tabs class=\"case-management-tabs\" type=\"contained\">\n @for (zgwTab of (zgwTabs$ | async) || []; track zgwTab.tab) {\n <cds-tab\n [class]=\"zgwTab.class\"\n [active]=\"zgwTab.active\"\n [heading]=\"zgwTab.headingTranslationKey | translate\"\n (selected)=\"displayTab(zgwTab.tab)\"\n ></cds-tab>\n }\n</cds-tabs>\n\n<ng-template #zgwTabContent></ng-template>\n", styles: [".case-management-tabs ::ng-deep .cds--tab-content{margin-top:0}\n/*!\n * Copyright 2015-2025 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"] }]
4505
+ }], ctorParameters: () => [{ type: CaseManagementZgwService }, { type: i0.ChangeDetectorRef }, { type: DocumentenApiVersionService }, { type: i2.DraftVersionService }, { type: i1$2.ActivatedRoute }], propDecorators: { _zgwTabContent: [{
4965
4506
  type: ViewChild,
4966
4507
  args: ['zgwTabContent', { read: ViewContainerRef }]
4967
4508
  }] } });
4968
4509
 
4969
4510
  /*
4970
- * Copyright 2015-2024 Ritense BV, the Netherlands.
4511
+ * Copyright 2015-2025 Ritense BV, the Netherlands.
4971
4512
  *
4972
4513
  * Licensed under EUPL, Version 1.2 (the "License");
4973
4514
  * you may not use this file except in compliance with the License.
@@ -4983,7 +4524,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
4983
4524
  */
4984
4525
 
4985
4526
  /*
4986
- * Copyright 2015-2024 Ritense BV, the Netherlands.
4527
+ * Copyright 2015-2025 Ritense BV, the Netherlands.
4987
4528
  *
4988
4529
  * Licensed under EUPL, Version 1.2 (the "License");
4989
4530
  * you may not use this file except in compliance with the License.
@@ -4998,8 +4539,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
4998
4539
  * limitations under the License.
4999
4540
  */
5000
4541
  class ZgwModule {
5001
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ZgwModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
5002
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.12", ngImport: i0, type: ZgwModule, declarations: [DocumentenApiUploaderComponent], imports: [CommonModule,
4542
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: ZgwModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
4543
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.14", ngImport: i0, type: ZgwModule, declarations: [DocumentenApiUploaderComponent], imports: [CommonModule,
5003
4544
  FormioModule,
5004
4545
  DropzoneModule,
5005
4546
  TranslateModule,
@@ -5007,33 +4548,28 @@ class ZgwModule {
5007
4548
  FileSizeModule,
5008
4549
  ResourceModule,
5009
4550
  RouterModule,
5010
- DocumentenApiMetadataModalComponent,
5011
- CustomerModule], exports: [DocumentenApiUploaderComponent] }); }
5012
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ZgwModule, providers: [
4551
+ DocumentenApiMetadataModalComponent], exports: [DocumentenApiUploaderComponent] }); }
4552
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: ZgwModule, providers: [
5013
4553
  {
5014
4554
  provide: CASE_MANAGEMENT_TAB_TOKEN,
5015
4555
  useValue: {
5016
- translationKey: 'dossierManagement.tabs.zgw',
5017
- component: DossierManagementZgwComponent,
4556
+ translationKey: 'caseManagement.tabs.zgw',
4557
+ component: CaseManagementZgwComponent,
4558
+ tabRoute: 'zgw',
5018
4559
  },
5019
4560
  multi: true,
5020
4561
  },
5021
4562
  {
5022
4563
  provide: ZGW_OBJECT_TYPE_COMPONENT_TOKEN,
5023
- useValue: DossierDetailTabObjectTypeComponent,
4564
+ useValue: CaseDetailTabObjectTypeComponent,
5024
4565
  },
5025
4566
  {
5026
4567
  provide: ZGW_DOCUMENTEN_API_DOCUMENTS_COMPONENT_TOKEN,
5027
- useValue: DossierDetailTabDocumentenApiDocumentsComponent,
4568
+ useValue: CaseDetailTabDocumentenApiDocumentsComponent,
5028
4569
  },
5029
4570
  {
5030
- provide: ZGW_CASE_CONFIGURATION_EXTENSIONS_TOKEN,
5031
- useValue: [
5032
- DossierManagementLinkProcessComponent,
5033
- DocumentenApiVersionComponent,
5034
- DocumentObjectenApiSyncComponent,
5035
- ZakenApiZaaktypeLinkComponent,
5036
- ],
4571
+ provide: CASE_CONFIGURATION_EXTENSIONS_TOKEN,
4572
+ useValue: [CaseManagementLinkProcessComponent],
5037
4573
  },
5038
4574
  ], imports: [CommonModule,
5039
4575
  FormioModule,
@@ -5043,10 +4579,9 @@ class ZgwModule {
5043
4579
  FileSizeModule,
5044
4580
  ResourceModule,
5045
4581
  RouterModule,
5046
- DocumentenApiMetadataModalComponent,
5047
- CustomerModule] }); }
4582
+ DocumentenApiMetadataModalComponent] }); }
5048
4583
  }
5049
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ZgwModule, decorators: [{
4584
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: ZgwModule, decorators: [{
5050
4585
  type: NgModule,
5051
4586
  args: [{
5052
4587
  imports: [
@@ -5059,7 +4594,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
5059
4594
  ResourceModule,
5060
4595
  RouterModule,
5061
4596
  DocumentenApiMetadataModalComponent,
5062
- CustomerModule,
5063
4597
  ],
5064
4598
  declarations: [DocumentenApiUploaderComponent],
5065
4599
  exports: [DocumentenApiUploaderComponent],
@@ -5067,34 +4601,30 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
5067
4601
  {
5068
4602
  provide: CASE_MANAGEMENT_TAB_TOKEN,
5069
4603
  useValue: {
5070
- translationKey: 'dossierManagement.tabs.zgw',
5071
- component: DossierManagementZgwComponent,
4604
+ translationKey: 'caseManagement.tabs.zgw',
4605
+ component: CaseManagementZgwComponent,
4606
+ tabRoute: 'zgw',
5072
4607
  },
5073
4608
  multi: true,
5074
4609
  },
5075
4610
  {
5076
4611
  provide: ZGW_OBJECT_TYPE_COMPONENT_TOKEN,
5077
- useValue: DossierDetailTabObjectTypeComponent,
4612
+ useValue: CaseDetailTabObjectTypeComponent,
5078
4613
  },
5079
4614
  {
5080
4615
  provide: ZGW_DOCUMENTEN_API_DOCUMENTS_COMPONENT_TOKEN,
5081
- useValue: DossierDetailTabDocumentenApiDocumentsComponent,
4616
+ useValue: CaseDetailTabDocumentenApiDocumentsComponent,
5082
4617
  },
5083
4618
  {
5084
- provide: ZGW_CASE_CONFIGURATION_EXTENSIONS_TOKEN,
5085
- useValue: [
5086
- DossierManagementLinkProcessComponent,
5087
- DocumentenApiVersionComponent,
5088
- DocumentObjectenApiSyncComponent,
5089
- ZakenApiZaaktypeLinkComponent,
5090
- ],
4619
+ provide: CASE_CONFIGURATION_EXTENSIONS_TOKEN,
4620
+ useValue: [CaseManagementLinkProcessComponent],
5091
4621
  },
5092
4622
  ],
5093
4623
  }]
5094
4624
  }] });
5095
4625
 
5096
4626
  /*
5097
- * Copyright 2015-2024 Ritense BV, the Netherlands.
4627
+ * Copyright 2015-2025 Ritense BV, the Netherlands.
5098
4628
  *
5099
4629
  * Licensed under EUPL, Version 1.2 (the "License");
5100
4630
  * you may not use this file except in compliance with the License.
@@ -5116,5 +4646,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
5116
4646
  * Generated bundle index. Do not edit.
5117
4647
  */
5118
4648
 
5119
- export { COLUMN_VIEW_TYPES, CONFIDENTIALITY_LEVELS, CasesListComponent, ContactMomentService, CustomerListComponent, CustomerModule, CustomerService, DOCUMENTEN_COLUMN_KEYS, DocumentObjectenApiSyncComponent, DocumentObjectenApiSyncService, DocumentenApiColumnModalComponent, DocumentenApiColumnService, DocumentenApiColumnsComponent, DocumentenApiDocumentService, DocumentenApiFilterComponent, DocumentenApiLinkProcessService, DocumentenApiMetadataModalComponent, DocumentenApiTagModalComponent, DocumentenApiTagService, DocumentenApiTagsComponent, DocumentenApiUploadFieldModalComponent, DocumentenApiUploadFieldsComponent, DocumentenApiUploaderComponent, DocumentenApiVersionComponent, DocumentenApiVersionService, DossierDetailTabContactMomentsComponent, DossierDetailTabDocumentenApiDocumentsComponent, DossierDetailTabObjectTypeComponent, DossierDetailTabZaakobjectenComponent, DossierManagementLinkProcessComponent, DossierManagementZgwComponent, DossierManagementZgwService, LANGUAGE_ITEMS, STATUS_ITEMS, ZaakobjectenService, ZakenApiZaaktypeLinkComponent, ZakenApiZaaktypeLinkService, ZgwModule, ZgwTabEnum, customDocumentApiUploaderType, documentenApiUploaderEditForm, registerDocumentenApiFormioUploadComponent };
4649
+ export { COLUMN_VIEW_TYPES, CONFIDENTIALITY_LEVELS, CaseDetailTabDocumentenApiDocumentsComponent, CaseDetailTabObjectTypeComponent, CaseDetailTabZaakobjectenComponent, CaseManagementLinkProcessComponent, CaseManagementZgwComponent, CaseManagementZgwService, DOCUMENTEN_COLUMN_KEYS, DocumentObjectenApiSyncComponent, DocumentObjectenApiSyncService, DocumentenApiColumnModalComponent, DocumentenApiColumnService, DocumentenApiColumnsComponent, DocumentenApiDocumentService, DocumentenApiFilterComponent, DocumentenApiLinkProcessService, DocumentenApiMetadataModalComponent, DocumentenApiTagModalComponent, DocumentenApiTagService, DocumentenApiTagsComponent, DocumentenApiUploadFieldModalComponent, DocumentenApiUploadFieldsComponent, DocumentenApiUploaderComponent, DocumentenApiVersionComponent, DocumentenApiVersionService, LANGUAGE_ITEMS, STATUS_ITEMS, ZaakobjectenService, ZakenApiZaaktypeLinkComponent, ZakenApiZaaktypeLinkService, ZgwModule, ZgwTabEnum, customDocumentApiUploaderType, documentenApiUploaderEditForm, registerDocumentenApiFormioUploadComponent };
5120
4650
  //# sourceMappingURL=valtimo-zgw.mjs.map