@valtimo/zgw 12.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 (225) hide show
  1. package/esm2022/lib/components/dossier-management-zgw/dossier-management-zgw.component.mjs +43 -0
  2. package/esm2022/lib/components/index.mjs +17 -0
  3. package/esm2022/lib/models/dossier-management-zgw.model.mjs +20 -0
  4. package/esm2022/lib/models/index.mjs +17 -0
  5. package/esm2022/lib/modules/contactmomenten/components/contact-moments/contact-moments.component.mjs +89 -0
  6. package/esm2022/lib/modules/contactmomenten/components/index.mjs +17 -0
  7. package/esm2022/lib/modules/contactmomenten/index.mjs +19 -0
  8. package/esm2022/lib/modules/contactmomenten/models/contact-moment.model.mjs +17 -0
  9. package/esm2022/lib/modules/contactmomenten/models/index.mjs +17 -0
  10. package/esm2022/lib/modules/contactmomenten/services/contact-moment.service.mjs +43 -0
  11. package/esm2022/lib/modules/contactmomenten/services/index.mjs +17 -0
  12. package/esm2022/lib/modules/documenten-api/components/documenten-api-column-modal/documenten-api-column-modal.component.mjs +301 -0
  13. package/esm2022/lib/modules/documenten-api/components/documenten-api-columns/documenten-api-columns.component.mjs +170 -0
  14. package/esm2022/lib/modules/documenten-api/components/documenten-api-documents/documenten-api-documents.component.mjs +256 -0
  15. package/esm2022/lib/modules/documenten-api/components/documenten-api-link-upload-process/dossier-management-link-process.component.mjs +100 -0
  16. package/esm2022/lib/modules/documenten-api/components/documenten-api-metadata-modal/documenten-api-metadata-modal.component.mjs +233 -0
  17. package/esm2022/lib/modules/documenten-api/components/documenten-api-version/documenten-api-version.component.mjs +43 -0
  18. package/esm2022/lib/modules/documenten-api/components/index.mjs +22 -0
  19. package/esm2022/lib/modules/documenten-api/formio/documenten-api-uploader/documenten-api-uploader-edit-form.mjs +305 -0
  20. package/esm2022/lib/modules/documenten-api/formio/documenten-api-uploader/documenten-api-uploader.component.mjs +143 -0
  21. package/esm2022/lib/modules/documenten-api/formio/documenten-api-uploader/documenten-api-uploader.formio.mjs +46 -0
  22. package/esm2022/lib/modules/documenten-api/formio/documenten-api-uploader/index.mjs +19 -0
  23. package/esm2022/lib/modules/documenten-api/formio/index.mjs +17 -0
  24. package/esm2022/lib/modules/documenten-api/index.mjs +20 -0
  25. package/esm2022/lib/modules/documenten-api/models/configured-column.model.mjs +17 -0
  26. package/esm2022/lib/modules/documenten-api/models/documenten-api-column-modal.model.mjs +17 -0
  27. package/esm2022/lib/modules/documenten-api/models/documenten-api-link-process.model.mjs +17 -0
  28. package/esm2022/lib/modules/documenten-api/models/documenten-api-metadata.model.mjs +17 -0
  29. package/esm2022/lib/modules/documenten-api/models/documenten-api-version.model.mjs +17 -0
  30. package/esm2022/lib/modules/documenten-api/models/documenten-api.model.mjs +17 -0
  31. package/esm2022/lib/modules/documenten-api/models/index.mjs +22 -0
  32. package/esm2022/lib/modules/documenten-api/services/documenten-api-column.service.mjs +37 -0
  33. package/esm2022/lib/modules/documenten-api/services/documenten-api-document.service.mjs +42 -0
  34. package/esm2022/lib/modules/documenten-api/services/documenten-api-link-process.service.mjs +66 -0
  35. package/esm2022/lib/modules/documenten-api/services/documenten-api-version.service.mjs +47 -0
  36. package/esm2022/lib/modules/documenten-api/services/index.mjs +20 -0
  37. package/esm2022/lib/modules/haalcentraal-brp/components/cases-list/cases-list.component.mjs +56 -0
  38. package/esm2022/lib/modules/haalcentraal-brp/components/customer-list/customer-list.component.mjs +133 -0
  39. package/esm2022/lib/modules/haalcentraal-brp/customer-routing.module.mjs +51 -0
  40. package/esm2022/lib/modules/haalcentraal-brp/customer.module.mjs +76 -0
  41. package/esm2022/lib/modules/haalcentraal-brp/index.mjs +19 -0
  42. package/esm2022/lib/modules/haalcentraal-brp/models/case.mjs +17 -0
  43. package/esm2022/lib/modules/haalcentraal-brp/models/customer.mjs +17 -0
  44. package/esm2022/lib/modules/haalcentraal-brp/models/index.mjs +18 -0
  45. package/esm2022/lib/modules/haalcentraal-brp/services/customer.service.mjs +43 -0
  46. package/esm2022/lib/modules/haalcentraal-brp/services/index.mjs +17 -0
  47. package/esm2022/lib/modules/index.mjs +22 -0
  48. package/esm2022/lib/modules/objecten-api/components/index.mjs +18 -0
  49. package/esm2022/lib/modules/objecten-api/components/object-type/object-type.component.mjs +122 -0
  50. package/esm2022/lib/modules/objecten-api/components/zaakobjecten/zaakobjecten.component.mjs +125 -0
  51. package/esm2022/lib/modules/objecten-api/index.mjs +19 -0
  52. package/esm2022/lib/modules/objecten-api/models/index.mjs +17 -0
  53. package/esm2022/lib/modules/objecten-api/models/zaakobjecten.model.mjs +17 -0
  54. package/esm2022/lib/modules/objecten-api/services/index.mjs +17 -0
  55. package/esm2022/lib/modules/objecten-api/services/zaakobjecten.service.mjs +44 -0
  56. package/esm2022/lib/modules/zaakdetails/components/document-objecten-api-sync/document-objecten-api-sync.component.mjs +127 -0
  57. package/esm2022/lib/modules/zaakdetails/components/index.mjs +17 -0
  58. package/esm2022/lib/modules/zaakdetails/index.mjs +19 -0
  59. package/esm2022/lib/modules/zaakdetails/models/document-objecten-api-sync.model.mjs +2 -0
  60. package/esm2022/lib/modules/zaakdetails/models/index.mjs +17 -0
  61. package/esm2022/lib/modules/zaakdetails/services/document-objecten-api-sync.service.mjs +51 -0
  62. package/esm2022/lib/modules/zaakdetails/services/index.mjs +17 -0
  63. package/esm2022/lib/modules/zaken-api/components/index.mjs +17 -0
  64. package/esm2022/lib/modules/zaken-api/components/zaken-api-zaaktype-link/zaken-api-zaaktype-link.component.mjs +183 -0
  65. package/esm2022/lib/modules/zaken-api/index.mjs +19 -0
  66. package/esm2022/lib/modules/zaken-api/models/index.mjs +17 -0
  67. package/esm2022/lib/modules/zaken-api/models/zaken-api-zaaktype-link.model.mjs +2 -0
  68. package/esm2022/lib/modules/zaken-api/services/index.mjs +17 -0
  69. package/esm2022/lib/modules/zaken-api/services/zaken-api-zaaktype-link.service.mjs +39 -0
  70. package/esm2022/lib/services/dossier-management-zgw.service.mjs +39 -0
  71. package/esm2022/lib/services/index.mjs +17 -0
  72. package/esm2022/lib/zgw.module.mjs +106 -0
  73. package/esm2022/public_api.mjs +27 -0
  74. package/esm2022/valtimo-zgw.mjs +5 -0
  75. package/fesm2022/valtimo-zgw.mjs +3577 -0
  76. package/fesm2022/valtimo-zgw.mjs.map +1 -0
  77. package/index.d.ts +6 -0
  78. package/lib/components/dossier-management-zgw/dossier-management-zgw.component.d.ts +13 -0
  79. package/lib/components/dossier-management-zgw/dossier-management-zgw.component.d.ts.map +1 -0
  80. package/lib/components/index.d.ts +2 -0
  81. package/lib/components/index.d.ts.map +1 -0
  82. package/lib/models/dossier-management-zgw.model.d.ts +4 -0
  83. package/lib/models/dossier-management-zgw.model.d.ts.map +1 -0
  84. package/lib/models/index.d.ts +2 -0
  85. package/lib/models/index.d.ts.map +1 -0
  86. package/lib/modules/contactmomenten/components/contact-moments/contact-moments.component.d.ts +29 -0
  87. package/lib/modules/contactmomenten/components/contact-moments/contact-moments.component.d.ts.map +1 -0
  88. package/lib/modules/contactmomenten/components/index.d.ts +2 -0
  89. package/lib/modules/contactmomenten/components/index.d.ts.map +1 -0
  90. package/lib/modules/contactmomenten/index.d.ts +4 -0
  91. package/lib/modules/contactmomenten/index.d.ts.map +1 -0
  92. package/lib/modules/contactmomenten/models/contact-moment.model.d.ts +14 -0
  93. package/lib/modules/contactmomenten/models/contact-moment.model.d.ts.map +1 -0
  94. package/lib/modules/contactmomenten/models/index.d.ts +2 -0
  95. package/lib/modules/contactmomenten/models/index.d.ts.map +1 -0
  96. package/lib/modules/contactmomenten/services/contact-moment.service.d.ts +18 -0
  97. package/lib/modules/contactmomenten/services/contact-moment.service.d.ts.map +1 -0
  98. package/lib/modules/contactmomenten/services/index.d.ts +2 -0
  99. package/lib/modules/contactmomenten/services/index.d.ts.map +1 -0
  100. package/lib/modules/documenten-api/components/documenten-api-column-modal/documenten-api-column-modal.component.d.ts +77 -0
  101. package/lib/modules/documenten-api/components/documenten-api-column-modal/documenten-api-column-modal.component.d.ts.map +1 -0
  102. package/lib/modules/documenten-api/components/documenten-api-columns/documenten-api-columns.component.d.ts +40 -0
  103. package/lib/modules/documenten-api/components/documenten-api-columns/documenten-api-columns.component.d.ts.map +1 -0
  104. package/lib/modules/documenten-api/components/documenten-api-documents/documenten-api-documents.component.d.ts +66 -0
  105. package/lib/modules/documenten-api/components/documenten-api-documents/documenten-api-documents.component.d.ts.map +1 -0
  106. package/lib/modules/documenten-api/components/documenten-api-link-upload-process/dossier-management-link-process.component.d.ts +28 -0
  107. package/lib/modules/documenten-api/components/documenten-api-link-upload-process/dossier-management-link-process.component.d.ts.map +1 -0
  108. package/lib/modules/documenten-api/components/documenten-api-metadata-modal/documenten-api-metadata-modal.component.d.ts +75 -0
  109. package/lib/modules/documenten-api/components/documenten-api-metadata-modal/documenten-api-metadata-modal.component.d.ts.map +1 -0
  110. package/lib/modules/documenten-api/components/documenten-api-version/documenten-api-version.component.d.ts +16 -0
  111. package/lib/modules/documenten-api/components/documenten-api-version/documenten-api-version.component.d.ts.map +1 -0
  112. package/lib/modules/documenten-api/components/index.d.ts +7 -0
  113. package/lib/modules/documenten-api/components/index.d.ts.map +1 -0
  114. package/lib/modules/documenten-api/formio/documenten-api-uploader/documenten-api-uploader-edit-form.d.ts +105 -0
  115. package/lib/modules/documenten-api/formio/documenten-api-uploader/documenten-api-uploader-edit-form.d.ts.map +1 -0
  116. package/lib/modules/documenten-api/formio/documenten-api-uploader/documenten-api-uploader.component.d.ts +58 -0
  117. package/lib/modules/documenten-api/formio/documenten-api-uploader/documenten-api-uploader.component.d.ts.map +1 -0
  118. package/lib/modules/documenten-api/formio/documenten-api-uploader/documenten-api-uploader.formio.d.ts +4 -0
  119. package/lib/modules/documenten-api/formio/documenten-api-uploader/documenten-api-uploader.formio.d.ts.map +1 -0
  120. package/lib/modules/documenten-api/formio/documenten-api-uploader/index.d.ts +4 -0
  121. package/lib/modules/documenten-api/formio/documenten-api-uploader/index.d.ts.map +1 -0
  122. package/lib/modules/documenten-api/formio/index.d.ts +2 -0
  123. package/lib/modules/documenten-api/formio/index.d.ts.map +1 -0
  124. package/lib/modules/documenten-api/index.d.ts +5 -0
  125. package/lib/modules/documenten-api/index.d.ts.map +1 -0
  126. package/lib/modules/documenten-api/models/configured-column.model.d.ts +6 -0
  127. package/lib/modules/documenten-api/models/configured-column.model.d.ts.map +1 -0
  128. package/lib/modules/documenten-api/models/documenten-api-column-modal.model.d.ts +4 -0
  129. package/lib/modules/documenten-api/models/documenten-api-column-modal.model.d.ts.map +1 -0
  130. package/lib/modules/documenten-api/models/documenten-api-link-process.model.d.ts +23 -0
  131. package/lib/modules/documenten-api/models/documenten-api-link-process.model.d.ts.map +1 -0
  132. package/lib/modules/documenten-api/models/documenten-api-metadata.model.d.ts +19 -0
  133. package/lib/modules/documenten-api/models/documenten-api-metadata.model.d.ts.map +1 -0
  134. package/lib/modules/documenten-api/models/documenten-api-version.model.d.ts +6 -0
  135. package/lib/modules/documenten-api/models/documenten-api-version.model.d.ts.map +1 -0
  136. package/lib/modules/documenten-api/models/documenten-api.model.d.ts +18 -0
  137. package/lib/modules/documenten-api/models/documenten-api.model.d.ts.map +1 -0
  138. package/lib/modules/documenten-api/models/index.d.ts +7 -0
  139. package/lib/modules/documenten-api/models/index.d.ts.map +1 -0
  140. package/lib/modules/documenten-api/services/documenten-api-column.service.d.ts +17 -0
  141. package/lib/modules/documenten-api/services/documenten-api-column.service.d.ts.map +1 -0
  142. package/lib/modules/documenten-api/services/documenten-api-document.service.d.ts +15 -0
  143. package/lib/modules/documenten-api/services/documenten-api-document.service.d.ts.map +1 -0
  144. package/lib/modules/documenten-api/services/documenten-api-link-process.service.d.ts +17 -0
  145. package/lib/modules/documenten-api/services/documenten-api-link-process.service.d.ts.map +1 -0
  146. package/lib/modules/documenten-api/services/documenten-api-version.service.d.ts +17 -0
  147. package/lib/modules/documenten-api/services/documenten-api-version.service.d.ts.map +1 -0
  148. package/lib/modules/documenten-api/services/index.d.ts +5 -0
  149. package/lib/modules/documenten-api/services/index.d.ts.map +1 -0
  150. package/lib/modules/haalcentraal-brp/components/cases-list/cases-list.component.d.ts +20 -0
  151. package/lib/modules/haalcentraal-brp/components/cases-list/cases-list.component.d.ts.map +1 -0
  152. package/lib/modules/haalcentraal-brp/components/customer-list/customer-list.component.d.ts +39 -0
  153. package/lib/modules/haalcentraal-brp/components/customer-list/customer-list.component.d.ts.map +1 -0
  154. package/lib/modules/haalcentraal-brp/customer-routing.module.d.ts +9 -0
  155. package/lib/modules/haalcentraal-brp/customer-routing.module.d.ts.map +1 -0
  156. package/lib/modules/haalcentraal-brp/customer.module.d.ts +17 -0
  157. package/lib/modules/haalcentraal-brp/customer.module.d.ts.map +1 -0
  158. package/lib/modules/haalcentraal-brp/index.d.ts +4 -0
  159. package/lib/modules/haalcentraal-brp/index.d.ts.map +1 -0
  160. package/lib/modules/haalcentraal-brp/models/case.d.ts +8 -0
  161. package/lib/modules/haalcentraal-brp/models/case.d.ts.map +1 -0
  162. package/lib/modules/haalcentraal-brp/models/customer.d.ts +22 -0
  163. package/lib/modules/haalcentraal-brp/models/customer.d.ts.map +1 -0
  164. package/lib/modules/haalcentraal-brp/models/index.d.ts +3 -0
  165. package/lib/modules/haalcentraal-brp/models/index.d.ts.map +1 -0
  166. package/lib/modules/haalcentraal-brp/services/customer.service.d.ts +18 -0
  167. package/lib/modules/haalcentraal-brp/services/customer.service.d.ts.map +1 -0
  168. package/lib/modules/haalcentraal-brp/services/index.d.ts +2 -0
  169. package/lib/modules/haalcentraal-brp/services/index.d.ts.map +1 -0
  170. package/lib/modules/index.d.ts +7 -0
  171. package/lib/modules/index.d.ts.map +1 -0
  172. package/lib/modules/objecten-api/components/index.d.ts +3 -0
  173. package/lib/modules/objecten-api/components/index.d.ts.map +1 -0
  174. package/lib/modules/objecten-api/components/object-type/object-type.component.d.ts +32 -0
  175. package/lib/modules/objecten-api/components/object-type/object-type.component.d.ts.map +1 -0
  176. package/lib/modules/objecten-api/components/zaakobjecten/zaakobjecten.component.d.ts +32 -0
  177. package/lib/modules/objecten-api/components/zaakobjecten/zaakobjecten.component.d.ts.map +1 -0
  178. package/lib/modules/objecten-api/index.d.ts +4 -0
  179. package/lib/modules/objecten-api/index.d.ts.map +1 -0
  180. package/lib/modules/objecten-api/models/index.d.ts +2 -0
  181. package/lib/modules/objecten-api/models/index.d.ts.map +1 -0
  182. package/lib/modules/objecten-api/models/zaakobjecten.model.d.ts +26 -0
  183. package/lib/modules/objecten-api/models/zaakobjecten.model.d.ts.map +1 -0
  184. package/lib/modules/objecten-api/services/index.d.ts +2 -0
  185. package/lib/modules/objecten-api/services/index.d.ts.map +1 -0
  186. package/lib/modules/objecten-api/services/zaakobjecten.service.d.ts +17 -0
  187. package/lib/modules/objecten-api/services/zaakobjecten.service.d.ts.map +1 -0
  188. package/lib/modules/zaakdetails/components/document-objecten-api-sync/document-objecten-api-sync.component.d.ts +39 -0
  189. package/lib/modules/zaakdetails/components/document-objecten-api-sync/document-objecten-api-sync.component.d.ts.map +1 -0
  190. package/lib/modules/zaakdetails/components/index.d.ts +2 -0
  191. package/lib/modules/zaakdetails/components/index.d.ts.map +1 -0
  192. package/lib/modules/zaakdetails/index.d.ts +4 -0
  193. package/lib/modules/zaakdetails/index.d.ts.map +1 -0
  194. package/lib/modules/zaakdetails/models/document-objecten-api-sync.model.d.ts +21 -0
  195. package/lib/modules/zaakdetails/models/document-objecten-api-sync.model.d.ts.map +1 -0
  196. package/lib/modules/zaakdetails/models/index.d.ts +2 -0
  197. package/lib/modules/zaakdetails/models/index.d.ts.map +1 -0
  198. package/lib/modules/zaakdetails/services/document-objecten-api-sync.service.d.ts +22 -0
  199. package/lib/modules/zaakdetails/services/document-objecten-api-sync.service.d.ts.map +1 -0
  200. package/lib/modules/zaakdetails/services/index.d.ts +2 -0
  201. package/lib/modules/zaakdetails/services/index.d.ts.map +1 -0
  202. package/lib/modules/zaken-api/components/index.d.ts +2 -0
  203. package/lib/modules/zaken-api/components/index.d.ts.map +1 -0
  204. package/lib/modules/zaken-api/components/zaken-api-zaaktype-link/zaken-api-zaaktype-link.component.d.ts +46 -0
  205. package/lib/modules/zaken-api/components/zaken-api-zaaktype-link/zaken-api-zaaktype-link.component.d.ts.map +1 -0
  206. package/lib/modules/zaken-api/index.d.ts +4 -0
  207. package/lib/modules/zaken-api/index.d.ts.map +1 -0
  208. package/lib/modules/zaken-api/models/index.d.ts +2 -0
  209. package/lib/modules/zaken-api/models/index.d.ts.map +1 -0
  210. package/lib/modules/zaken-api/models/zaken-api-zaaktype-link.model.d.ts +15 -0
  211. package/lib/modules/zaken-api/models/zaken-api-zaaktype-link.model.d.ts.map +1 -0
  212. package/lib/modules/zaken-api/services/index.d.ts +2 -0
  213. package/lib/modules/zaken-api/services/index.d.ts.map +1 -0
  214. package/lib/modules/zaken-api/services/zaken-api-zaaktype-link.service.d.ts +14 -0
  215. package/lib/modules/zaken-api/services/zaken-api-zaaktype-link.service.d.ts.map +1 -0
  216. package/lib/services/dossier-management-zgw.service.d.ts +12 -0
  217. package/lib/services/dossier-management-zgw.service.d.ts.map +1 -0
  218. package/lib/services/index.d.ts +2 -0
  219. package/lib/services/index.d.ts.map +1 -0
  220. package/lib/zgw.module.d.ts +17 -0
  221. package/lib/zgw.module.d.ts.map +1 -0
  222. package/package.json +29 -0
  223. package/public_api.d.ts +8 -0
  224. package/public_api.d.ts.map +1 -0
  225. package/valtimo-zgw.d.ts.map +1 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"valtimo-zgw.mjs","sources":["../../../../projects/valtimo/zgw/src/lib/models/dossier-management-zgw.model.ts","../../../../projects/valtimo/zgw/src/lib/models/index.ts","../../../../projects/valtimo/zgw/src/lib/modules/documenten-api/components/documenten-api-column-modal/documenten-api-column-modal.component.ts","../../../../projects/valtimo/zgw/src/lib/modules/documenten-api/components/documenten-api-column-modal/documenten-api-column-modal.component.html","../../../../projects/valtimo/zgw/src/lib/modules/documenten-api/services/documenten-api-column.service.ts","../../../../projects/valtimo/zgw/src/lib/modules/documenten-api/services/documenten-api-link-process.service.ts","../../../../projects/valtimo/zgw/src/lib/modules/documenten-api/services/documenten-api-document.service.ts","../../../../projects/valtimo/zgw/src/lib/modules/documenten-api/services/documenten-api-version.service.ts","../../../../projects/valtimo/zgw/src/lib/modules/documenten-api/services/index.ts","../../../../projects/valtimo/zgw/src/lib/modules/documenten-api/components/documenten-api-columns/documenten-api-columns.component.ts","../../../../projects/valtimo/zgw/src/lib/modules/documenten-api/components/documenten-api-columns/documenten-api-columns.component.html","../../../../projects/valtimo/zgw/src/lib/modules/documenten-api/components/documenten-api-metadata-modal/documenten-api-metadata-modal.component.ts","../../../../projects/valtimo/zgw/src/lib/modules/documenten-api/components/documenten-api-metadata-modal/documenten-api-metadata-modal.component.html","../../../../projects/valtimo/zgw/src/lib/modules/documenten-api/components/documenten-api-documents/documenten-api-documents.component.ts","../../../../projects/valtimo/zgw/src/lib/modules/documenten-api/components/documenten-api-documents/documenten-api-documents.component.html","../../../../projects/valtimo/zgw/src/lib/modules/documenten-api/components/documenten-api-link-upload-process/dossier-management-link-process.component.ts","../../../../projects/valtimo/zgw/src/lib/modules/documenten-api/components/documenten-api-link-upload-process/dossier-management-link-process.component.html","../../../../projects/valtimo/zgw/src/lib/modules/documenten-api/components/documenten-api-version/documenten-api-version.component.ts","../../../../projects/valtimo/zgw/src/lib/modules/documenten-api/components/documenten-api-version/documenten-api-version.component.html","../../../../projects/valtimo/zgw/src/lib/modules/documenten-api/components/index.ts","../../../../projects/valtimo/zgw/src/lib/modules/documenten-api/models/documenten-api-metadata.model.ts","../../../../projects/valtimo/zgw/src/lib/modules/documenten-api/models/configured-column.model.ts","../../../../projects/valtimo/zgw/src/lib/modules/documenten-api/models/documenten-api-column-modal.model.ts","../../../../projects/valtimo/zgw/src/lib/modules/documenten-api/models/documenten-api.model.ts","../../../../projects/valtimo/zgw/src/lib/modules/documenten-api/models/documenten-api-link-process.model.ts","../../../../projects/valtimo/zgw/src/lib/modules/documenten-api/models/documenten-api-version.model.ts","../../../../projects/valtimo/zgw/src/lib/modules/documenten-api/models/index.ts","../../../../projects/valtimo/zgw/src/lib/modules/documenten-api/formio/documenten-api-uploader/documenten-api-uploader-edit-form.ts","../../../../projects/valtimo/zgw/src/lib/modules/documenten-api/formio/documenten-api-uploader/documenten-api-uploader.component.ts","../../../../projects/valtimo/zgw/src/lib/modules/documenten-api/formio/documenten-api-uploader/documenten-api-uploader.component.html","../../../../projects/valtimo/zgw/src/lib/modules/documenten-api/formio/documenten-api-uploader/documenten-api-uploader.formio.ts","../../../../projects/valtimo/zgw/src/lib/modules/documenten-api/formio/documenten-api-uploader/index.ts","../../../../projects/valtimo/zgw/src/lib/modules/documenten-api/formio/index.ts","../../../../projects/valtimo/zgw/src/lib/modules/documenten-api/index.ts","../../../../projects/valtimo/zgw/src/lib/modules/objecten-api/models/zaakobjecten.model.ts","../../../../projects/valtimo/zgw/src/lib/modules/objecten-api/models/index.ts","../../../../projects/valtimo/zgw/src/lib/modules/objecten-api/services/zaakobjecten.service.ts","../../../../projects/valtimo/zgw/src/lib/modules/objecten-api/services/index.ts","../../../../projects/valtimo/zgw/src/lib/modules/objecten-api/components/zaakobjecten/zaakobjecten.component.ts","../../../../projects/valtimo/zgw/src/lib/modules/objecten-api/components/zaakobjecten/zaakobjecten.component.html","../../../../projects/valtimo/zgw/src/lib/modules/objecten-api/components/object-type/object-type.component.ts","../../../../projects/valtimo/zgw/src/lib/modules/objecten-api/components/object-type/object-type.component.html","../../../../projects/valtimo/zgw/src/lib/modules/objecten-api/components/index.ts","../../../../projects/valtimo/zgw/src/lib/modules/objecten-api/index.ts","../../../../projects/valtimo/zgw/src/lib/modules/contactmomenten/models/contact-moment.model.ts","../../../../projects/valtimo/zgw/src/lib/modules/contactmomenten/models/index.ts","../../../../projects/valtimo/zgw/src/lib/modules/contactmomenten/services/contact-moment.service.ts","../../../../projects/valtimo/zgw/src/lib/modules/contactmomenten/services/index.ts","../../../../projects/valtimo/zgw/src/lib/modules/contactmomenten/components/contact-moments/contact-moments.component.ts","../../../../projects/valtimo/zgw/src/lib/modules/contactmomenten/components/contact-moments/contact-moments.component.html","../../../../projects/valtimo/zgw/src/lib/modules/contactmomenten/components/index.ts","../../../../projects/valtimo/zgw/src/lib/modules/contactmomenten/index.ts","../../../../projects/valtimo/zgw/src/lib/modules/haalcentraal-brp/services/customer.service.ts","../../../../projects/valtimo/zgw/src/lib/modules/haalcentraal-brp/services/index.ts","../../../../projects/valtimo/zgw/src/lib/modules/haalcentraal-brp/models/customer.ts","../../../../projects/valtimo/zgw/src/lib/modules/haalcentraal-brp/models/case.ts","../../../../projects/valtimo/zgw/src/lib/modules/haalcentraal-brp/models/index.ts","../../../../projects/valtimo/zgw/src/lib/modules/haalcentraal-brp/components/customer-list/customer-list.component.ts","../../../../projects/valtimo/zgw/src/lib/modules/haalcentraal-brp/components/customer-list/customer-list.component.html","../../../../projects/valtimo/zgw/src/lib/modules/haalcentraal-brp/components/cases-list/cases-list.component.ts","../../../../projects/valtimo/zgw/src/lib/modules/haalcentraal-brp/components/cases-list/cases-list.component.html","../../../../projects/valtimo/zgw/src/lib/modules/haalcentraal-brp/customer-routing.module.ts","../../../../projects/valtimo/zgw/src/lib/modules/haalcentraal-brp/customer.module.ts","../../../../projects/valtimo/zgw/src/lib/modules/haalcentraal-brp/index.ts","../../../../projects/valtimo/zgw/src/lib/modules/zaakdetails/services/document-objecten-api-sync.service.ts","../../../../projects/valtimo/zgw/src/lib/modules/zaakdetails/services/index.ts","../../../../projects/valtimo/zgw/src/lib/modules/zaakdetails/components/document-objecten-api-sync/document-objecten-api-sync.component.ts","../../../../projects/valtimo/zgw/src/lib/modules/zaakdetails/components/document-objecten-api-sync/document-objecten-api-sync.component.html","../../../../projects/valtimo/zgw/src/lib/modules/zaakdetails/components/index.ts","../../../../projects/valtimo/zgw/src/lib/modules/zaakdetails/models/index.ts","../../../../projects/valtimo/zgw/src/lib/modules/zaakdetails/index.ts","../../../../projects/valtimo/zgw/src/lib/modules/zaken-api/services/zaken-api-zaaktype-link.service.ts","../../../../projects/valtimo/zgw/src/lib/modules/zaken-api/services/index.ts","../../../../projects/valtimo/zgw/src/lib/modules/zaken-api/components/zaken-api-zaaktype-link/zaken-api-zaaktype-link.component.ts","../../../../projects/valtimo/zgw/src/lib/modules/zaken-api/components/zaken-api-zaaktype-link/zaken-api-zaaktype-link.component.html","../../../../projects/valtimo/zgw/src/lib/modules/zaken-api/components/index.ts","../../../../projects/valtimo/zgw/src/lib/modules/zaken-api/models/index.ts","../../../../projects/valtimo/zgw/src/lib/modules/zaken-api/index.ts","../../../../projects/valtimo/zgw/src/lib/modules/index.ts","../../../../projects/valtimo/zgw/src/lib/services/dossier-management-zgw.service.ts","../../../../projects/valtimo/zgw/src/lib/services/index.ts","../../../../projects/valtimo/zgw/src/lib/components/dossier-management-zgw/dossier-management-zgw.component.ts","../../../../projects/valtimo/zgw/src/lib/components/dossier-management-zgw/dossier-management-zgw.component.html","../../../../projects/valtimo/zgw/src/lib/components/index.ts","../../../../projects/valtimo/zgw/src/lib/zgw.module.ts","../../../../projects/valtimo/zgw/src/public_api.ts","../../../../projects/valtimo/zgw/src/valtimo-zgw.ts"],"sourcesContent":["/*\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\nexport enum ZgwTabEnum {\n DOCUMENTEN_API_COLUMNS,\n}\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\nexport * from './dossier-management-zgw.model';\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\nimport {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n Input,\n OnDestroy,\n OnInit,\n Output,\n} from '@angular/core';\nimport {DocumentenApiColumnModalType, DocumentenApiColumnModalTypeCloseEvent} from '../../models';\nimport {\n BehaviorSubject,\n combineLatest,\n map,\n Observable,\n Subscription,\n switchMap,\n take,\n tap,\n} from 'rxjs';\nimport {CARBON_CONSTANTS} from '@valtimo/components';\nimport {\n AbstractControl,\n FormBuilder,\n ReactiveFormsModule,\n ValidationErrors,\n ValidatorFn,\n Validators,\n} from '@angular/forms';\nimport {\n CaseStatusService,\n InternalCaseStatus,\n InternalCaseStatusColor,\n InternalCaseStatusUtils,\n} from '@valtimo/document';\nimport {\n ButtonModule,\n DropdownModule,\n IconService,\n InputModule,\n ListItem,\n ModalModule,\n TagModule,\n ToggleModule,\n} from 'carbon-components-angular';\nimport {Edit16} from '@carbon/icons';\nimport {TranslateModule, TranslateService} from '@ngx-translate/core';\nimport {CommonModule} from '@angular/common';\n\n@Component({\n selector: 'valtimo-documenten-api-column-modal',\n templateUrl: './documenten-api-column-modal.component.html',\n styleUrls: ['./documenten-api-column-modal.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true,\n imports: [\n CommonModule,\n ModalModule,\n TagModule,\n TranslateModule,\n InputModule,\n ReactiveFormsModule,\n ButtonModule,\n DropdownModule,\n ToggleModule,\n ],\n})\nexport class DocumentenApiColumnModalComponent implements OnInit, OnDestroy {\n @Input() public set type(value: DocumentenApiColumnModalType) {\n this._type.next(value);\n\n if (value === 'closed') {\n setTimeout(() => {\n this._typeAnimationDelay$.next(value);\n }, CARBON_CONSTANTS.modalAnimationMs);\n } else {\n this._typeAnimationDelay$.next(value);\n }\n }\n\n @Input() public set prefill(value: InternalCaseStatus) {\n this._prefillStatus.next(value);\n }\n\n @Input() public usedKeys!: string[];\n @Input() public documentDefinitionName!: string;\n\n @Output() public closeModalEvent = new EventEmitter<DocumentenApiColumnModalTypeCloseEvent>();\n\n private readonly _type = new BehaviorSubject<DocumentenApiColumnModalType>(undefined);\n private readonly _typeAnimationDelay$ = new BehaviorSubject<DocumentenApiColumnModalType>(\n undefined\n );\n private readonly _prefillStatus = new BehaviorSubject<InternalCaseStatus>(undefined);\n\n public readonly isClosed$ = this._type.pipe(map(type => type === 'closed'));\n\n public readonly statusFormGroup = this.fb.group({\n title: this.fb.control('', Validators.required),\n key: this.fb.control('', [Validators.required, this.uniqueKeyValidator()]),\n visibleInCaseListByDefault: this.fb.control(true, Validators.required),\n color: this.fb.control('', Validators.required),\n });\n\n public readonly isEdit$ = combineLatest([this._typeAnimationDelay$, this._prefillStatus]).pipe(\n tap(([type, prefillStatus]) => {\n if (type === 'edit' && prefillStatus) this.prefillForm(prefillStatus);\n }),\n map(([type]) => type === 'edit')\n );\n\n public readonly isAdd$ = this._typeAnimationDelay$.pipe(\n map(type => type === 'add'),\n tap(isAdd => {\n if (isAdd) this.resetForm();\n })\n );\n\n public readonly disabled$ = new BehaviorSubject<boolean>(false);\n\n private readonly COLORS: InternalCaseStatusColor[] = [\n InternalCaseStatusColor.Red,\n InternalCaseStatusColor.Magenta,\n InternalCaseStatusColor.Purple,\n InternalCaseStatusColor.Blue,\n InternalCaseStatusColor.Teal,\n InternalCaseStatusColor.Green,\n InternalCaseStatusColor.Cyan,\n InternalCaseStatusColor.Gray,\n InternalCaseStatusColor.CoolGray,\n InternalCaseStatusColor.WarmGray,\n InternalCaseStatusColor.HighContrast,\n InternalCaseStatusColor.Outline,\n ];\n\n private readonly _selectedColor$ = new BehaviorSubject<InternalCaseStatusColor>(undefined);\n\n public readonly colorListItems$: Observable<ListItem[]> = combineLatest([\n this._selectedColor$,\n this.translateService.stream('key'),\n ]).pipe(\n map(([selectedColor]) =>\n this.COLORS.map(color => ({\n selected: color === selectedColor,\n content: this.translateService.instant(\n 'interface.tagType.' +\n InternalCaseStatusUtils.getTagTypeFromInternalCaseStatusColor(color)\n ),\n color,\n tagType: InternalCaseStatusUtils.getTagTypeFromInternalCaseStatusColor(color),\n }))\n )\n );\n\n public get visibleInCaseListByDefault(): AbstractControl<boolean, boolean> {\n return this.statusFormGroup?.get('visibleInCaseListByDefault');\n }\n\n public get key(): AbstractControl<string, string> {\n return this.statusFormGroup?.get('key');\n }\n\n public get title(): AbstractControl<string, string> {\n return this.statusFormGroup?.get('title');\n }\n\n public get color(): AbstractControl<string, string> {\n return this.statusFormGroup?.get('color');\n }\n\n public get invalid(): boolean {\n return !!this.statusFormGroup?.invalid;\n }\n\n public get pristine(): boolean {\n return !!this.statusFormGroup?.pristine;\n }\n\n private readonly _editingKey$ = new BehaviorSubject<boolean>(false);\n\n public readonly editingKey$ = this._editingKey$.pipe(\n tap(editing => {\n if (editing) {\n this.key?.enable();\n } else {\n this.key?.disable();\n }\n })\n );\n\n private readonly _originalStatusKey$ = new BehaviorSubject<string>('');\n\n private readonly _subscriptions = new Subscription();\n\n constructor(\n private readonly fb: FormBuilder,\n private readonly iconService: IconService,\n private readonly caseStatusService: CaseStatusService,\n private readonly translateService: TranslateService\n ) {\n this.iconService.registerAll([Edit16]);\n }\n\n public ngOnInit(): void {\n this.openAutoKeySubscription();\n }\n\n public ngOnDestroy(): void {\n this._subscriptions.unsubscribe();\n }\n\n public onClose(): void {\n this.close();\n }\n\n public toggleCheckedChange(checked: boolean): void {\n this.statusFormGroup.patchValue({\n visibleInCaseListByDefault: checked,\n });\n this.statusFormGroup.markAsDirty();\n }\n\n public addStatus(): void {\n this.disable();\n\n this.caseStatusService\n .saveInternalCaseStatus(this.documentDefinitionName, this.getFormValue())\n .subscribe({\n next: () => {\n this.enable();\n this.closeAndRefresh();\n },\n error: () => {\n this.enable(false);\n },\n });\n }\n\n public editStatus(): void {\n this.disable();\n\n this._originalStatusKey$\n .pipe(\n take(1),\n switchMap(originalStatusKey =>\n this.caseStatusService.updateInternalCaseStatus(\n this.documentDefinitionName,\n originalStatusKey,\n this.getFormValue()\n )\n )\n )\n .subscribe({\n next: () => {\n this.enable();\n this.closeAndRefresh();\n },\n error: () => {\n this.enable(false);\n },\n });\n }\n\n public editKeyButtonClick(): void {\n this._editingKey$.next(true);\n }\n\n public colorDropdownChange(event: {\n item: {color: string; content: string; selected: boolean};\n isUpdate: boolean;\n }): void {\n const newColor = event?.item?.color as InternalCaseStatusColor;\n\n if (newColor) {\n this._selectedColor$.next(newColor);\n this.statusFormGroup.patchValue({color: newColor});\n this.statusFormGroup.markAsDirty();\n }\n }\n\n private prefillForm(prefillStatus: InternalCaseStatus): void {\n this._originalStatusKey$.next(prefillStatus.key);\n this.statusFormGroup.patchValue({\n key: prefillStatus.key,\n title: prefillStatus.title,\n visibleInCaseListByDefault: prefillStatus.visibleInCaseListByDefault,\n color: prefillStatus.color,\n });\n this._selectedColor$.next(prefillStatus.color);\n this.statusFormGroup.markAsPristine();\n this.resetEditingKey();\n }\n\n private resetForm(): void {\n this.statusFormGroup.patchValue({\n key: '',\n title: '',\n visibleInCaseListByDefault: true,\n color: InternalCaseStatusColor.Blue,\n });\n this._selectedColor$.next(InternalCaseStatusColor.Blue);\n this.statusFormGroup.markAsPristine();\n this.resetEditingKey();\n }\n\n private resetEditingKey(): void {\n this._editingKey$.next(false);\n }\n\n private openAutoKeySubscription(): void {\n this._subscriptions.add(\n combineLatest([this.isAdd$, this.title.valueChanges, this.editingKey$]).subscribe(\n ([isAdd, titleValue, editingKey]) => {\n if (isAdd && !editingKey) {\n if (titleValue) {\n this.statusFormGroup.patchValue({key: this.getUniqueKey(titleValue)});\n } else {\n this.clearKey();\n }\n }\n }\n )\n );\n }\n\n private getUniqueKey(title: string): string {\n const dashCaseKey = `${title}`\n .toLowerCase()\n .replace(/[^a-z0-9-_]+|-[^a-z0-9]+/g, '-')\n .replace(/_[-_]+/g, '_')\n .replace(/^[^a-z]+/g, '');\n const usedKeys = this.usedKeys;\n\n if (!usedKeys.includes(dashCaseKey)) {\n return dashCaseKey;\n }\n\n return this.getUniqueKeyWithNumber(dashCaseKey, usedKeys);\n }\n\n private getUniqueKeyWithNumber(dashCaseKey: string, usedKeys: string[]): string {\n const numbersFromCurrentKey = (dashCaseKey.match(/^\\d+|\\d+\\b|\\d+(?=\\w)/g) || []).map(\n (numberValue: string) => +numberValue\n );\n const lastNumberFromCurrentKey =\n numbersFromCurrentKey.length > 0 && numbersFromCurrentKey[numbersFromCurrentKey.length - 1];\n const newKey = lastNumberFromCurrentKey\n ? `${dashCaseKey.replace(`${lastNumberFromCurrentKey}`, `${lastNumberFromCurrentKey + 1}`)}`\n : `${dashCaseKey}-1`;\n\n if (usedKeys.includes(newKey)) {\n return this.getUniqueKeyWithNumber(newKey, usedKeys);\n }\n\n return newKey;\n }\n\n private clearKey(): void {\n this.statusFormGroup.patchValue({key: ''});\n }\n\n private uniqueKeyValidator(): ValidatorFn {\n return (control: AbstractControl): ValidationErrors | null =>\n this.usedKeys?.every((key: string) => key !== control.value)\n ? null\n : {uniqueKey: {value: control.value}};\n }\n\n private disable(): void {\n this.disabled$.next(true);\n this.statusFormGroup.disable();\n }\n\n private enable(delay = true): void {\n setTimeout(\n () => {\n this.disabled$.next(false);\n this.statusFormGroup.enable();\n },\n delay ? CARBON_CONSTANTS.modalAnimationMs : 0\n );\n }\n\n private close(): void {\n this.closeModalEvent.emit('close');\n }\n\n private closeAndRefresh(): void {\n this.closeModalEvent.emit('closeAndRefresh');\n }\n\n private getFormValue(): InternalCaseStatus {\n return {\n key: this.key.value,\n title: this.title.value,\n visibleInCaseListByDefault: this.visibleInCaseListByDefault.value,\n color: this.color.value as InternalCaseStatusColor,\n };\n }\n}\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\n<cds-modal\n valtimoCdsModal\n *ngIf=\"{\n isAdd: isAdd$ | async,\n isEdit: isEdit$ | async,\n isClosed: isClosed$ | async,\n editingKey: editingKey$ | async,\n disabled: disabled$ | async\n } as obs\"\n [open]=\"!obs.isClosed\"\n size=\"sm\"\n>\n <cds-modal-header showCloseButton=\"true\" (closeSelect)=\"onClose()\">\n <h3 cdsModalHeaderHeading>\n {{ obs.isAdd ? ('dossierManagement.statuses.add' | translate) : '' }}\n {{ obs.isEdit ? ('dossierManagement.statuses.edit' | translate) : '' }}\n </h3>\n </cds-modal-header>\n\n <section cdsModalContent>\n <ng-container *ngTemplateOutlet=\"statusForm; context: {obs: obs}\"></ng-container>\n </section>\n\n <cds-modal-footer>\n <ng-container *ngTemplateOutlet=\"buttons; context: {obs: obs}\"></ng-container>\n </cds-modal-footer>\n</cds-modal>\n\n<ng-template #colorDropdownItemTemplate let-item=\"item\">\n <div class=\"dropdown-color-tag\">\n <cds-tag *ngIf=\"item && item.content\" class=\"cds-tag--no-margin\" [type]=\"item?.tagType\">\n {{ 'interface.tagType.' + item?.tagType | translate }}\n </cds-tag>\n </div>\n</ng-template>\n\n<ng-template #statusForm let-obs=\"obs\">\n <form [formGroup]=\"statusFormGroup\" class=\"status-form\">\n <cds-label>\n {{ 'dossierManagement.statuses.columns.title' | translate }}\n\n <input cdsText formControlName=\"title\" [attr.modal-primary-focus]=\"true\" />\n </cds-label>\n\n <cds-label>\n {{ 'dossierManagement.statuses.columns.key' | translate }}\n\n <div class=\"edit-key-input\">\n <input\n cdsText\n formControlName=\"key\"\n [disabled]=\"!obs.editingKey\"\n [placeholder]=\"\n obs.isAdd && !obs.editingKey\n ? ('dossierManagement.statuses.keyAutoGenerated' | translate)\n : ''\n \"\n />\n\n <cds-icon-button\n *ngIf=\"!obs.editingKey && obs.isAdd\"\n [disabled]=\"obs.disabled\"\n (click)=\"editKeyButtonClick()\"\n kind=\"secondary\"\n >\n <svg class=\"cds--btn__icon\" cdsIcon=\"edit\" size=\"16\"></svg>\n </cds-icon-button>\n </div>\n </cds-label>\n\n <div class=\"horizontal-inputs\">\n <cds-label>\n {{ 'dossierManagement.statuses.columns.color' | translate }}\n\n <cds-dropdown\n [appendInline]=\"false\"\n [placeholder]=\"'dossierManagement.statuses.colorPlaceholder' | translate\"\n (selected)=\"colorDropdownChange($event)\"\n >\n <cds-dropdown-list [items]=\"colorListItems$\" [listTpl]=\"colorDropdownItemTemplate\">\n </cds-dropdown-list>\n </cds-dropdown>\n </cds-label>\n\n <cds-toggle\n [label]=\"'dossierManagement.statuses.visibleTitle' | translate\"\n [onText]=\"'dossierManagement.statuses.visible' | translate\"\n [offText]=\"'dossierManagement.statuses.invisible' | translate\"\n [disabled]=\"obs.disabled\"\n [checked]=\"visibleInCaseListByDefault?.value\"\n (checkedChange)=\"toggleCheckedChange($event)\"\n ></cds-toggle>\n </div>\n </form>\n</ng-template>\n\n<ng-template #buttons let-obs=\"obs\">\n <button cdsButton=\"secondary\" (click)=\"onClose()\" [disabled]=\"obs.disabled\">\n {{ 'interface.cancel' | translate }}\n </button>\n\n <button\n *ngIf=\"obs.isAdd\"\n cdsButton=\"primary\"\n [disabled]=\"invalid || pristine || obs.disabled\"\n (click)=\"addStatus()\"\n >\n {{ 'interface.add' | translate }}\n </button>\n\n <button\n *ngIf=\"obs.isEdit\"\n cdsButton=\"primary\"\n [disabled]=\"invalid || pristine || obs.disabled\"\n (click)=\"editStatus()\"\n >\n {{ 'interface.save' | translate }}\n </button>\n</ng-template>\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 */\nimport {HttpClient} from '@angular/common/http';\nimport {Injectable} from '@angular/core';\nimport {BaseApiService, ConfigService} from '@valtimo/config';\nimport {Observable, of} from 'rxjs';\nimport {ConfiguredColumn} from '../models';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class DocumentenApiColumnService extends BaseApiService {\n constructor(\n private http: HttpClient,\n configService: ConfigService\n ) {\n super(http, configService);\n }\n\n public getConfiguredColumns(caseDefinitionName: string): Observable<ConfiguredColumn[]> {\n return this.http.get<ConfiguredColumn[]>(\n this.getApiUrl(`/management/v1/case-definition/${caseDefinitionName}/zgw-document-column`)\n );\n }\n\n public updateColumnOrder(\n caseDefinitionName: string,\n columns: ConfiguredColumn[]\n ): Observable<void> {\n return this.http.put<void>(\n this.getApiUrl(`/management/v1/case-definition/${caseDefinitionName}/zgw-document-column`),\n columns\n );\n }\n\n public updateColumn(caseDefinitionName: string, column: ConfiguredColumn): Observable<void> {\n delete column.key;\n return this.http.put<void>(\n this.getApiUrl(\n `/management/v1/case-definition/${caseDefinitionName}/zgw-document-column/${column.key}`\n ),\n column\n );\n }\n\n public deleteConfiguredColumn(caseDefinitionKey: string, statusKey: string): Observable<null> {\n return of(null);\n }\n\n public updateConfiguredColumns(\n caseDefinitionKey: string,\n orderColumns: ConfiguredColumn[]\n ): Observable<null> {\n return of(null);\n }\n}\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\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\nimport {Injectable} from '@angular/core';\nimport {BaseApiService, ConfigService} from '@valtimo/config';\nimport {HttpClient} from '@angular/common/http';\nimport {Observable} from 'rxjs';\nimport {ProcessDefinition, UploadProcessLink} from '../models';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class DocumentenApiLinkProcessService extends BaseApiService {\n constructor(\n protected readonly httpClient: HttpClient,\n protected readonly configService: ConfigService\n ) {\n super(httpClient, configService);\n }\n\n public getProcessDefinitions(): Observable<ProcessDefinition[]> {\n return this.httpClient.get<ProcessDefinition[]>(this.getApiUrl('/v1/process/definition'));\n }\n\n public getLinkedUploadProcess(documentDefinitionName: string): Observable<UploadProcessLink> {\n return this.httpClient.get<UploadProcessLink>(\n this.getApiUrl(`/v1/process-document/demo/${documentDefinitionName}/process`)\n );\n }\n\n public updateLinkedUploadProcess(\n documentDefinitionName: string,\n processDefinitionKey: string\n ): Observable<UploadProcessLink> {\n return this.httpClient.put<UploadProcessLink>(\n this.getApiUrl(`/v1/process-document/demo/${documentDefinitionName}/process`),\n {\n processDefinitionKey,\n linkType: 'DOCUMENT_UPLOAD',\n }\n );\n }\n\n public deleteLinkedUploadProcess(documentDefinitionName: string): Observable<void> {\n return this.httpClient.delete<void>(\n this.getApiUrl(`/v1/process-document/demo/${documentDefinitionName}/process`)\n );\n }\n}\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\nimport {Injectable} from '@angular/core';\nimport {BaseApiService, ConfigService} from '@valtimo/config';\nimport {HttpClient} from '@angular/common/http';\nimport {Observable} from 'rxjs';\nimport {DocumentenApiRelatedFile} from '../models';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class DocumentenApiDocumentService extends BaseApiService {\n constructor(\n protected readonly httpClient: HttpClient,\n protected readonly configService: ConfigService\n ) {\n super(httpClient, configService);\n }\n\n public getZakenApiDocuments(documentId: string): Observable<Array<DocumentenApiRelatedFile>> {\n return this.httpClient.get<Array<DocumentenApiRelatedFile>>(\n this.getApiUrl(`/v1/zaken-api/document/${documentId}/files`)\n );\n }\n\n public deleteDocument(file: DocumentenApiRelatedFile): Observable<DocumentenApiRelatedFile[]> {\n return this.httpClient.delete<DocumentenApiRelatedFile[]>(\n this.getApiUrl(`/v1/documenten-api/${file.pluginConfigurationId}/files/${file.fileId}`)\n );\n }\n}\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\nimport {Injectable} from '@angular/core';\nimport {BaseApiService, ConfigService} from '@valtimo/config';\nimport {HttpClient} from '@angular/common/http';\nimport {BehaviorSubject, Observable} from 'rxjs';\nimport {DocumentenApiManagementVersion} from '../models';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class DocumentenApiVersionService extends BaseApiService {\n private readonly _refresh$ = new BehaviorSubject<null>(null);\n\n public get refresh$(): Observable<null> {\n return this._refresh$.asObservable();\n }\n\n constructor(\n protected readonly httpClient: HttpClient,\n protected readonly configService: ConfigService\n ) {\n super(httpClient, configService);\n }\n\n public getManagementApiVersion(\n caseDefinitionName: string\n ): Observable<DocumentenApiManagementVersion> {\n return this.httpClient.get<DocumentenApiManagementVersion>(\n this.getApiUrl(`/management/v1/case-definition/${caseDefinitionName}/documenten-api/version`)\n );\n }\n\n public refresh(): void {\n this._refresh$.next(null);\n }\n}\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\nexport * from './documenten-api-column.service';\nexport * from './documenten-api-link-process.service';\nexport * from './documenten-api-document.service';\nexport * from './documenten-api-version.service';\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\nimport {\n AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n TemplateRef,\n ViewChild,\n} from '@angular/core';\nimport {DocumentenApiColumnService} from '../../services';\nimport {\n ConfiguredColumn,\n DocumentenApiColumnModalType,\n DocumentenApiColumnModalTypeCloseEvent,\n} from '../../models';\nimport {\n BehaviorSubject,\n combineLatest,\n filter,\n map,\n Observable,\n Subject,\n switchMap,\n tap,\n} from 'rxjs';\nimport {ActivatedRoute} from '@angular/router';\nimport {\n ActionItem,\n CarbonListModule,\n ColumnConfig,\n ConfirmationModalModule,\n MoveRowDirection,\n MoveRowEvent,\n PendingChangesComponent,\n ViewType,\n} from '@valtimo/components';\nimport {DocumentenApiColumnModalComponent} from '../documenten-api-column-modal/documenten-api-column-modal.component';\nimport {CommonModule} from '@angular/common';\nimport {TranslateModule} from '@ngx-translate/core';\nimport {ButtonModule, TagModule} from 'carbon-components-angular';\n\n@Component({\n selector: 'valtimo-documenten-api-columns',\n templateUrl: './documenten-api-columns.component.html',\n styleUrls: ['./documenten-api-columns.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true,\n imports: [\n CommonModule,\n DocumentenApiColumnModalComponent,\n CarbonListModule,\n TranslateModule,\n ConfirmationModalModule,\n TagModule,\n ButtonModule,\n ],\n})\nexport class DocumentenApiColumnsComponent\n extends PendingChangesComponent\n implements AfterViewInit\n{\n @ViewChild('colorColumnTemplate') colorColumnTemplate: TemplateRef<any>;\n\n private readonly _reload$ = new BehaviorSubject<null | 'noAnimation'>(null);\n\n private readonly _documentDefinitionName$: Observable<string> = this.route.params.pipe(\n map(params => params?.name),\n filter(docDefName => !!docDefName)\n );\n\n public get documentDefinitionName$(): Observable<string> {\n return this._documentDefinitionName$;\n }\n\n public readonly loading$ = new BehaviorSubject<boolean>(true);\n\n public readonly usedKeys$ = new BehaviorSubject<string[]>([]);\n\n private _documentStatuses: ConfiguredColumn[] = [];\n\n public readonly documentStatuses$: Observable<ConfiguredColumn[]> = combineLatest([\n this._documentDefinitionName$,\n this._reload$,\n ]).pipe(\n tap(([_, reload]) => {\n if (reload === null) {\n this.loading$.next(true);\n }\n }),\n switchMap(([documentDefinitionName]) =>\n this.zgwDocumentColumnService.getConfiguredColumns(documentDefinitionName)\n ),\n tap(statuses => {\n this._documentStatuses = statuses;\n this.usedKeys$.next(statuses.map(status => status.key));\n this.loading$.next(false);\n })\n );\n\n public readonly fields$ = new BehaviorSubject<ColumnConfig[]>([]);\n\n public readonly ACTION_ITEMS: ActionItem[] = [\n {\n label: 'interface.edit',\n callback: this.openEditModal.bind(this),\n type: 'normal',\n },\n {\n label: 'interface.delete',\n callback: this.openDeleteModal.bind(this),\n type: 'danger',\n },\n ];\n\n public readonly CARBON_THEME = 'g10';\n\n public readonly statusModalType$ = new BehaviorSubject<DocumentenApiColumnModalType>('closed');\n public readonly prefillStatus$ = new BehaviorSubject<ConfiguredColumn>(undefined);\n\n public readonly columnToUpdate$ = new BehaviorSubject<ConfiguredColumn>(undefined);\n public readonly showDisableModal$ = new Subject<boolean>();\n\n constructor(\n private readonly route: ActivatedRoute,\n private readonly zgwDocumentColumnService: DocumentenApiColumnService\n ) {\n super();\n\n this._documentDefinitionName$.subscribe(documentDefinitionName => {\n zgwDocumentColumnService.getConfiguredColumns(documentDefinitionName).subscribe(\n configuredColumns => {\n console.log(configuredColumns);\n },\n error => {\n console.error(error);\n }\n );\n });\n }\n\n public ngAfterViewInit(): void {\n this.initFields();\n }\n\n public openDeleteModal(status: ConfiguredColumn): void {\n this.columnToUpdate$.next(status);\n this.showDisableModal$.next(true);\n }\n\n public openEditModal(status: ConfiguredColumn): void {\n this.prefillStatus$.next(status);\n this.statusModalType$.next('edit');\n }\n\n public openAddModal(): void {\n this.statusModalType$.next('add');\n }\n\n public closeModal(closeModalEvent: DocumentenApiColumnModalTypeCloseEvent): void {\n if (closeModalEvent === 'closeAndRefresh') {\n this.reload();\n }\n\n this.statusModalType$.next('closed');\n }\n\n public confirmDeleteStatus(status: ConfiguredColumn): void {\n this.documentDefinitionName$\n .pipe(\n switchMap(documentDefinitionName =>\n this.zgwDocumentColumnService.deleteConfiguredColumn(documentDefinitionName, status.key)\n )\n )\n .subscribe(() => {\n this.reload();\n });\n }\n\n public onMoveRowClick(event: MoveRowEvent): void {\n const {direction, index} = event;\n\n const orderedStatuses: ConfiguredColumn[] =\n direction === MoveRowDirection.UP\n ? this.swapStatuses(this._documentStatuses, index - 1, index)\n : this.swapStatuses(this._documentStatuses, index, index + 1);\n\n this.documentDefinitionName$\n .pipe(\n switchMap(documentDefinitionName =>\n this.zgwDocumentColumnService.updateConfiguredColumns(\n documentDefinitionName,\n orderedStatuses\n )\n )\n )\n .subscribe(() => {\n this.reload(true);\n });\n }\n\n private reload(noAnimation = false): void {\n this._reload$.next(noAnimation ? 'noAnimation' : null);\n }\n\n private swapStatuses(\n statuses: ConfiguredColumn[],\n index1: number,\n index2: number\n ): ConfiguredColumn[] {\n const temp = [...statuses];\n temp[index1] = temp.splice(index2, 1, temp[index1])[0];\n\n return temp;\n }\n\n private initFields(): void {\n this.fields$.next([\n {\n key: 'title',\n label: 'dossierManagement.statuses.columns.title',\n viewType: ViewType.TEXT,\n },\n {\n key: 'key',\n label: 'dossierManagement.statuses.columns.key',\n viewType: ViewType.TEXT,\n },\n {\n key: 'visibleInCaseListByDefault',\n label: 'dossierManagement.statuses.columns.visible',\n viewType: ViewType.BOOLEAN,\n },\n {\n viewType: ViewType.TEMPLATE,\n template: this.colorColumnTemplate,\n key: 'color',\n label: 'dossierManagement.statuses.columns.color',\n },\n ]);\n }\n}\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\n<valtimo-carbon-list\n *ngIf=\"{\n loading: loading$ | async,\n documentStatuses: documentStatuses$ | async\n } as obs\"\n [fields]=\"fields$ | async\"\n [header]=\"false\"\n [loading]=\"obs.loading\"\n [movingRowsEnabled]=\"true\"\n [actionItems]=\"ACTION_ITEMS\"\n (rowClicked)=\"openEditModal($event)\"\n (moveRow)=\"onMoveRowClick($event)\"\n>\n <ng-container\n carbonToolbarContent\n *ngTemplateOutlet=\"buttons; context: {obs: obs}\"\n ></ng-container>\n</valtimo-carbon-list>\n\n<valtimo-documenten-api-column-modal\n [type]=\"statusModalType$ | async\"\n [usedKeys]=\"usedKeys$ | async\"\n [documentDefinitionName]=\"documentDefinitionName$ | async\"\n (closeModalEvent)=\"closeModal($event)\"\n></valtimo-documenten-api-column-modal>\n\n<valtimo-confirmation-modal\n confirmButtonTextTranslationKey=\"interface.delete\"\n confirmButtonType=\"danger\"\n contentTranslationKey=\"dossierManagement.statuses.deleteText\"\n [outputOnConfirm]=\"columnToUpdate$ | async\"\n [showModalSubject$]=\"showDisableModal$\"\n titleTranslationKey=\"interface.delete\"\n (confirmEvent)=\"confirmDeleteStatus($event)\"\n></valtimo-confirmation-modal>\n\n<ng-template #buttons let-obs=\"obs\">\n <div class=\"dossier-management-search-fields__buttons\">\n <button cdsButton=\"primary\" [disabled]=\"obs.loading\" (click)=\"openAddModal()\">\n <svg cdsIcon=\"add\" size=\"16\" class=\"cds--btn__icon\"></svg>\n\n {{ 'dossierManagement.statuses.add' | translate }}\n </button>\n </div>\n</ng-template>\n\n<ng-template #colorColumnTemplate let-data=\"data\">\n <cds-tag class=\"cds-tag--no-margin\" [type]=\"data?.item?.tagType\">\n {{ 'interface.tagType.' + data?.item?.tagType | translate }}\n </cds-tag>\n</ng-template>\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\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output, ViewChild} from '@angular/core';\n\nimport {\n AdditionalDocumentDate,\n ConfidentialityLevel,\n DocumentenApiMetadata,\n DocumentLanguage,\n DocumentStatus,\n} from '../../models';\nimport {\n BehaviorSubject,\n combineLatest,\n filter,\n from,\n map,\n Observable,\n of,\n Subject,\n Subscription,\n switchMap,\n take,\n} from 'rxjs';\nimport {TranslateModule, TranslateService} from '@ngx-translate/core';\nimport {ActivatedRoute} from '@angular/router';\nimport {DocumentService} from '@valtimo/document';\nimport {KeycloakService} from 'keycloak-angular';\nimport {tap} from 'rxjs/operators';\nimport {CommonModule} from '@angular/common';\nimport {\n ButtonModule,\n DatePickerModule,\n FormModule,\n InputLabelModule,\n InputModule,\n ModalService,\n SelectItem,\n SelectModule,\n TitleModule,\n ValtimoModalService,\n VModalComponent,\n VModalModule,\n} from '@valtimo/components';\n\n@Component({\n selector: 'valtimo-documenten-api-metadata-modal',\n templateUrl: './documenten-api-metadata-modal.component.html',\n styleUrls: ['./documenten-api-metadata-modal.component.scss'],\n standalone: true,\n imports: [\n CommonModule,\n TranslateModule,\n VModalModule,\n TitleModule,\n ButtonModule,\n TranslateModule,\n FormModule,\n InputModule,\n SelectModule,\n DatePickerModule,\n InputLabelModule,\n ],\n})\nexport class DocumentenApiMetadataModalComponent implements OnInit, OnDestroy {\n @ViewChild('documentenApiMetadataModal') documentenApiMetadataModal: VModalComponent;\n\n @Input() show$!: Observable<null>;\n @Input() hide$!: Observable<null>;\n @Input() disabled$!: Observable<boolean>;\n @Input() file$!: Observable<File>;\n\n @Input() documentTitle = '';\n @Input() disableDocumentTitle: boolean;\n @Input() filename: string;\n @Input() disableFilename: boolean;\n @Input() author: string;\n @Input() disableAuthor: boolean;\n @Input() status: string;\n @Input() disableStatus: boolean;\n @Input() language: string;\n @Input() disableLanguage: boolean;\n @Input() documentType: string;\n @Input() disableDocumentType: boolean;\n @Input() description: string;\n @Input() disableDescription: boolean;\n @Input() confidentialityLevel: string;\n @Input() disableConfidentialityLevel: boolean;\n @Input() trefwoorden: boolean;\n @Input() disableTrefwoorden: boolean;\n\n @Output() metadata: EventEmitter<DocumentenApiMetadata> = new EventEmitter();\n\n readonly CONFIDENTIALITY_LEVELS: Array<ConfidentialityLevel> = [\n 'openbaar',\n 'beperkt_openbaar',\n 'intern',\n 'zaakvertrouwelijk',\n 'vertrouwelijk',\n 'confidentieel',\n 'geheim',\n 'zeer_geheim',\n ];\n readonly confidentialityLevelItems$: Observable<Array<SelectItem>> = this.translateService\n .stream('key')\n .pipe(\n map(() =>\n this.CONFIDENTIALITY_LEVELS.map(confidentialityLevel => ({\n id: confidentialityLevel,\n text: this.translateService.instant(`document.${confidentialityLevel}`),\n }))\n )\n );\n readonly ADDITONAL_DOCUMENT_DATE_OPTIONS: Array<{\n value: AdditionalDocumentDate;\n translationKey: string;\n }> = [\n {\n value: 'neither',\n translationKey: 'document.noAdditionalDate',\n },\n {\n value: 'sent',\n translationKey: 'document.sendDate',\n },\n {\n value: 'received',\n translationKey: 'document.receiptDate',\n },\n ];\n readonly clearStatusSelection$ = new Subject<null>();\n readonly additionalDocumentDate$ = new BehaviorSubject<AdditionalDocumentDate>('neither');\n readonly STATUSES: Array<DocumentStatus> = [\n 'in_bewerking',\n 'ter_vaststelling',\n 'definitief',\n 'gearchiveerd',\n ];\n readonly RECEIPT_STATUSES: Array<DocumentStatus> = ['definitief', 'gearchiveerd'];\n readonly formData$ = new BehaviorSubject<DocumentenApiMetadata>(null);\n readonly statusItems$: Observable<Array<SelectItem>> = combineLatest([\n this.additionalDocumentDate$,\n this.translateService.stream('key'),\n ]).pipe(\n tap(([additionalDocumentDate]) => {\n this.formData$.pipe(take(1)).subscribe(formData => {\n if (\n additionalDocumentDate === 'received' &&\n (formData.status === 'in_bewerking' || formData.status === 'ter_vaststelling')\n ) {\n this.clearStatusSelection$.next(null);\n }\n });\n }),\n map(([additionalDocumentDate]) =>\n (additionalDocumentDate === 'received' ? this.RECEIPT_STATUSES : this.STATUSES).map(\n status => ({\n id: status,\n text: this.translateService.instant(`document.${status}`),\n })\n )\n )\n );\n readonly LANGUAGES: Array<DocumentLanguage> = ['nld', 'eng', 'deu'];\n readonly languageItems$: Observable<Array<SelectItem>> = this.translateService.stream('key').pipe(\n map(() =>\n this.LANGUAGES.map(language => ({\n id: language,\n text: this.translateService.instant(`document.${language}`),\n }))\n )\n );\n readonly documentTypeItems$: Observable<Array<SelectItem>> = combineLatest([\n this.route?.params || of(null),\n this.route?.firstChild?.params || of(null),\n this.valtimoModalService.documentDefinitionName$,\n ]).pipe(\n filter(\n ([params, firstChildParams, documentDefinitionName]) =>\n !!(\n params?.documentDefinitionName ||\n firstChildParams?.documentDefinitionName ||\n documentDefinitionName\n )\n ),\n switchMap(([params, firstChildParams, documentDefinitionName]) =>\n this.documentService.getDocumentTypes(\n params?.documentDefinitionName ||\n firstChildParams?.documentDefinitionName ||\n documentDefinitionName\n )\n ),\n map(documentTypes => documentTypes.map(type => ({id: type.url, text: type.name})))\n );\n readonly showForm$: Observable<boolean> = this.modalService.modalVisible$;\n readonly valid$ = new BehaviorSubject<boolean>(false);\n readonly userEmail$ = from(this.keycloakService.loadUserProfile()).pipe(\n map(userProfile => userProfile?.email || '')\n );\n\n private showSubscription!: Subscription;\n private hideSubscription!: Subscription;\n\n constructor(\n private readonly modalService: ModalService,\n private readonly translateService: TranslateService,\n private readonly route: ActivatedRoute,\n private readonly documentService: DocumentService,\n private readonly keycloakService: KeycloakService,\n private readonly valtimoModalService: ValtimoModalService\n ) {}\n\n ngOnInit(): void {\n this.openShowSubscription();\n this.openHideSubscription();\n }\n\n ngOnDestroy(): void {\n this.showSubscription?.unsubscribe();\n this.hideSubscription?.unsubscribe();\n }\n\n hide(): void {\n this.formData$.next(null);\n this.valid$.next(false);\n this.additionalDocumentDate$.next('neither');\n this.modalService.closeModal();\n }\n\n cancel(): void {\n this.hide();\n }\n\n save(): void {\n combineLatest([this.valid$, this.formData$])\n .pipe(take(1))\n .subscribe(([valid, formData]) => {\n if (valid) {\n this.metadata.emit(formData);\n }\n });\n }\n\n formValueChange(data: DocumentenApiMetadata): void {\n this.formData$.next(data);\n this.setValid(data);\n }\n\n setAdditionalDate(value: AdditionalDocumentDate): void {\n this.additionalDocumentDate$.next(value);\n }\n\n private setValid(data: DocumentenApiMetadata): void {\n this.valid$.next(\n !!(\n data.filename &&\n data.title &&\n data.author &&\n data.creationDate &&\n data.status &&\n data.language &&\n data.informatieobjecttype &&\n data.description &&\n data.confidentialityLevel\n )\n );\n }\n\n private openShowSubscription(): void {\n this.showSubscription = this.show$.subscribe(() => {\n this.modalService.openModal(this.documentenApiMetadataModal);\n });\n }\n\n private openHideSubscription(): void {\n this.hideSubscription = this.hide$.subscribe(() => {\n this.hide();\n });\n }\n}\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\n<v-modal\n #documentenApiMetadataModal\n (closeEvent)=\"hide()\"\n *ngIf=\"{file: file$ | async, disabled: disabled$ | async, valid: valid$ | async} as obs\"\n>\n <div role=\"header\">\n <div class=\"edit-configuration-title\">\n <v-title [center]=\"true\" [fullWidth]=\"true\" [margin]=\"false\" type=\"h2\">{{\n 'document.fillInMetadata' | translate\n }}</v-title>\n </div>\n </div>\n <div role=\"content\">\n <ng-container *ngTemplateOutlet=\"metadataForm; context: {obs: obs}\"></ng-container>\n </div>\n <div role=\"footer\">\n <div class=\"buttons\">\n <v-button (clickEvent)=\"cancel()\" [disabled]=\"obs.disabled\" type=\"secondary\">{{\n 'document.cancel' | translate\n }}</v-button>\n <v-button\n (clickEvent)=\"save()\"\n [disabled]=\"obs.disabled || !obs.valid\"\n mdiIcon=\"upload\"\n type=\"success\"\n >{{ 'document.upload' | translate }}</v-button\n >\n </div>\n </div>\n</v-modal>\n\n<ng-template #metadataForm let-obs=\"obs\">\n <ng-container *ngIf=\"showForm$ | async\">\n <v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"additionalDocumentDate$ | async as additionalDate\"\n >\n <v-input\n [defaultValue]=\"filename || obs.file?.name\"\n [disabled]=\"obs.disabled || disableFilename\"\n [fullWidth]=\"true\"\n [margin]=\"true\"\n [required]=\"true\"\n [title]=\"'document.filename' | translate\"\n [tooltip]=\"'document.filenameTooltip' | translate\"\n name=\"filename\"\n >\n </v-input>\n <v-input\n [defaultValue]=\"documentTitle\"\n [disabled]=\"obs.disabled || disableDocumentTitle\"\n [margin]=\"true\"\n [required]=\"true\"\n [title]=\"'document.inputTitle' | translate\"\n [tooltip]=\"'document.inputTitleTooltip' | translate\"\n [widthPx]=\"400\"\n name=\"title\"\n >\n </v-input>\n <v-input\n [defaultValue]=\"author || (userEmail$ | async)\"\n [disabled]=\"obs.disabled || disableAuthor\"\n [margin]=\"true\"\n [required]=\"true\"\n [title]=\"'document.author' | translate\"\n [tooltip]=\"'document.authorTooltip' | translate\"\n [widthPx]=\"300\"\n name=\"author\"\n >\n </v-input>\n <v-select\n *ngIf=\"languageItems$ | async as languageItems\"\n [defaultSelectionId]=\"language || languageItems[0].id\"\n [disabled]=\"obs.disabled || disableLanguage\"\n [items]=\"languageItems\"\n [margin]=\"true\"\n [required]=\"true\"\n [title]=\"'document.language' | translate\"\n [tooltip]=\"'document.languageTooltip' | translate\"\n [widthInPx]=\"200\"\n name=\"language\"\n ></v-select>\n <ng-container *ngIf=\"{documentTypeItems: documentTypeItems$ | async} as obs\">\n <v-select\n [defaultSelectionId]=\"documentType\"\n [disabled]=\"obs.disabled || disableDocumentType\"\n [items]=\"obs.documentTypeItems\"\n [loading]=\"!obs.documentTypeItems\"\n [margin]=\"true\"\n [required]=\"true\"\n [title]=\"'document.informatieobjecttype' | translate\"\n [tooltip]=\"'document.informatieobjecttypeTooltip' | translate\"\n [widthInPx]=\"200\"\n name=\"informatieobjecttype\"\n ></v-select>\n </ng-container>\n <v-date-picker\n [defaultDateIsToday]=\"true\"\n [disabled]=\"obs.disabled\"\n [margin]=\"true\"\n [required]=\"true\"\n [title]=\"'document.creationDate' | translate\"\n [tooltip]=\"'document.creationDateTooltip' | translate\"\n [widthPx]=\"100\"\n name=\"creationDate\"\n ></v-date-picker>\n <ng-container\n *ngTemplateOutlet=\"additionalDatePicker; context: {additionalDate: additionalDate}\"\n ></ng-container>\n <v-date-picker\n *ngIf=\"additionalDate === 'received'\"\n [defaultDateIsToday]=\"true\"\n [disabled]=\"obs.disabled\"\n [margin]=\"true\"\n [title]=\"'document.receiptDate' | translate\"\n [tooltip]=\"'document.receiptDateTooltip' | translate\"\n [widthPx]=\"100\"\n name=\"receiptDate\"\n ></v-date-picker>\n <v-date-picker\n *ngIf=\"additionalDate === 'sent'\"\n [defaultDateIsToday]=\"true\"\n [disabled]=\"obs.disabled\"\n [margin]=\"true\"\n [title]=\"'document.sendDate' | translate\"\n [tooltip]=\"'document.sendDateTooltip' | translate\"\n [widthPx]=\"100\"\n name=\"sendDate\"\n ></v-date-picker>\n <v-select\n [defaultSelectionId]=\"status\"\n [disabled]=\"obs.disabled || disableStatus\"\n [items]=\"statusItems$ | async\"\n [margin]=\"true\"\n [required]=\"true\"\n [title]=\"'document.status' | translate\"\n [tooltip]=\"'document.statusTooltip' | translate\"\n [widthInPx]=\"200\"\n [clearSelectionSubject$]=\"clearStatusSelection$\"\n name=\"status\"\n ></v-select>\n <v-input\n [defaultValue]=\"description\"\n [disabled]=\"obs.disabled || disableDescription\"\n [fullWidth]=\"true\"\n [margin]=\"true\"\n [title]=\"'document.inputDescription' | translate\"\n [tooltip]=\"'document.inputDescriptionTooltip' | translate\"\n [required]=\"true\"\n name=\"description\"\n >\n </v-input>\n <v-select\n [defaultSelectionId]=\"confidentialityLevel\"\n [disabled]=\"obs.disabled || disableConfidentialityLevel\"\n [items]=\"confidentialityLevelItems$ | async\"\n [margin]=\"true\"\n [title]=\"'document.confidentialityLevel' | translate\"\n [tooltip]=\"'document.confidentialityLevelTooltip' | translate\"\n [widthInPx]=\"200\"\n [required]=\"true\"\n name=\"confidentialityLevel\"\n ></v-select>\n </v-form>\n </ng-container>\n</ng-template>\n\n<ng-template #additionalDatePicker let-additionalDate=\"additionalDate\">\n <v-input-label\n [title]=\"'document.additionalDate' | translate\"\n [name]=\"'additionalDate'\"\n [tooltip]=\"'document.additionalDateTooltip' | translate\"\n [required]=\"true\"\n >\n </v-input-label>\n <div class=\"col-12 col-sm-8 col-lg-6 form-check mt-1 additional-date\">\n <label\n class=\"custom-control custom-radio custom-control-inline\"\n *ngFor=\"let option of ADDITONAL_DOCUMENT_DATE_OPTIONS\"\n (click)=\"setAdditionalDate(option.value)\"\n >\n <input\n class=\"custom-control-input\"\n type=\"radio\"\n name=\"radio-inline\"\n [checked]=\"additionalDate === option.value\"\n /><span class=\"custom-control-label\">{{ option.translationKey | translate }}</span>\n </label>\n </div>\n</ng-template>\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 */\nimport {AfterViewInit, Component, ElementRef, OnInit, TemplateRef, ViewChild} from '@angular/core';\nimport {ActivatedRoute, Router} from '@angular/router';\nimport {Filter16, TagGroup16, Upload16} from '@carbon/icons';\nimport {TranslateModule, TranslateService} from '@ngx-translate/core';\nimport {\n ActionItem,\n CarbonListModule,\n ColumnConfig,\n DocumentenApiMetadata,\n ViewType,\n} from '@valtimo/components';\nimport {ConfigService} from '@valtimo/config';\nimport {FileSortService} from '@valtimo/document';\nimport {DownloadService, UploadProviderService} from '@valtimo/resource';\nimport {UserProviderService} from '@valtimo/security';\nimport {ButtonModule, IconModule, IconService} from 'carbon-components-angular';\nimport moment from 'moment';\nimport {BehaviorSubject, combineLatest, Observable, of, Subject} from 'rxjs';\nimport {catchError, filter, map, switchMap, take, tap} from 'rxjs/operators';\nimport {DocumentenApiRelatedFile, DocumentenApiRelatedFileListItem} from '../../models';\nimport {DocumentenApiDocumentService} from '../../services/documenten-api-document.service';\nimport {DocumentenApiMetadataModalComponent} from '../documenten-api-metadata-modal/documenten-api-metadata-modal.component';\nimport {CommonModule} from '@angular/common';\n\n@Component({\n selector: 'valtimo-dossier-detail-tab-documenten-api-documents',\n templateUrl: './documenten-api-documents.component.html',\n styleUrls: ['./documenten-api-documents.component.scss'],\n standalone: true,\n imports: [\n CommonModule,\n CarbonListModule,\n DocumentenApiMetadataModalComponent,\n ButtonModule,\n IconModule,\n TranslateModule,\n ],\n})\nexport class DossierDetailTabDocumentenApiDocumentsComponent implements OnInit, AfterViewInit {\n @ViewChild('fileInput') fileInput: ElementRef;\n @ViewChild('sizeTemplate') public sizeTemplate: TemplateRef<any>;\n\n public fields: ColumnConfig[];\n public actionItems: ActionItem[] = [\n {\n label: 'document.download',\n callback: this.onDownloadActionClick.bind(this),\n type: 'normal',\n },\n {\n label: 'document.delete',\n callback: this.onDeleteActionClick.bind(this),\n type: 'danger',\n },\n ];\n public fieldsConfig = [\n // TODO: Refactor this once admin page config is implemented\n 'title',\n 'fileName',\n 'format',\n 'size',\n 'description',\n 'createdOn',\n 'createdBy',\n 'author',\n 'informatieobjecttype',\n 'actions',\n ];\n\n private readonly _documentDefinitionName$: Observable<string> = this.route.params.pipe(\n map(params => params?.documentDefinitionName),\n filter(documentDefinitionName => !!documentDefinitionName)\n );\n\n private readonly _documentId$: Observable<string> = this.route.params.pipe(\n map(params => params?.documentId),\n filter(documentId => !!documentId)\n );\n\n public isAdmin: boolean;\n public showZaakLinkWarning: boolean;\n public uploadProcessLinkedSet = false;\n public uploadProcessLinked!: boolean;\n\n public readonly acceptedFiles: string | null =\n this.configService?.config?.caseFileUploadAcceptedFiles || null;\n public readonly maxFileSize: number = this.configService?.config?.caseFileSizeUploadLimitMB || 5;\n\n public readonly fileToBeUploaded$ = new BehaviorSubject<File | null>(null);\n public readonly hideModal$ = new Subject<null>();\n public readonly modalDisabled$ = new BehaviorSubject<boolean>(false);\n public readonly showModal$ = new Subject<null>();\n\n public readonly uploading$ = new BehaviorSubject<boolean>(false);\n public readonly loading$ = new BehaviorSubject<boolean>(true);\n\n private readonly _refetch$ = new BehaviorSubject<null>(null);\n\n public relatedFiles$: Observable<Array<DocumentenApiRelatedFileListItem>> = combineLatest([\n this._documentId$,\n this._refetch$,\n ]).pipe(\n tap(() => this.loading$.next(true)),\n switchMap(([documentId]) =>\n combineLatest([\n this.documentenApiDocumentService.getZakenApiDocuments(documentId),\n this.translateService.stream('key'),\n ])\n ),\n map(([relatedFiles]) => {\n const translatedFiles = relatedFiles?.map(file => ({\n ...file,\n createdBy: file.createdBy || this.translateService.instant('list.automaticallyGenerated'),\n language: this.translateService.instant(`document.${file.language}`),\n confidentialityLevel: this.translateService.instant(\n `document.${file.confidentialityLevel}`\n ),\n status: this.translateService.instant(`document.${file.status}`),\n format: this.translateService.instant(`document.${file.format}`),\n }));\n return translatedFiles || [];\n }),\n map(relatedFiles => this.fileSortService.sortRelatedFilesByDateDescending(relatedFiles)),\n map(relatedFiles => {\n moment.locale(this.translateService.currentLang);\n return relatedFiles.map(file => ({\n ...file,\n createdOn: moment(new Date(file.createdOn)).format('L'),\n size: `${this.bytesToMegabytes(file.sizeInBytes)}`,\n }));\n }),\n tap(() => {\n this.loading$.next(false);\n }),\n catchError(() => {\n this.showZaakLinkWarning = true;\n this.loading$.next(false);\n return of([]);\n })\n );\n\n constructor(\n private readonly route: ActivatedRoute,\n private readonly router: Router,\n private readonly uploadProviderService: UploadProviderService,\n private readonly downloadService: DownloadService,\n private readonly translateService: TranslateService,\n private readonly configService: ConfigService,\n private readonly userProviderService: UserProviderService,\n private readonly fileSortService: FileSortService,\n private readonly iconService: IconService,\n private readonly documentenApiDocumentService: DocumentenApiDocumentService\n ) {}\n\n ngOnInit(): void {\n this.refetchDocuments();\n this.setUploadProcessLinked();\n this.isUserAdmin();\n this.iconService.registerAll([Filter16, TagGroup16, Upload16]);\n }\n\n public ngAfterViewInit(): void {\n const fieldOptions = [\n {key: 'title', label: 'document.inputTitle'},\n {key: 'description', label: 'document.inputDescription'},\n {key: 'fileName', label: 'document.filename'},\n {\n viewType: ViewType.TEMPLATE,\n label: 'document.size',\n key: 'size',\n template: this.sizeTemplate,\n },\n {key: 'format', label: 'document.format'},\n {key: 'createdOn', label: 'document.createdOn'},\n {key: 'createdBy', label: 'document.createdBy'},\n {key: 'author', label: 'document.author'},\n {key: 'keywords', label: 'document.trefwoorden'},\n {key: 'informatieobjecttype', label: 'document.informatieobjecttype'},\n {key: 'language', label: 'document.language'},\n {key: 'identification', label: 'document.id'},\n {key: 'confidentialityLevel', label: 'document.confidentialityLevel'},\n {key: 'receiptDate', label: 'document.receiptDate'},\n {key: 'sendDate', label: 'document.sendDate'},\n {key: 'status', label: 'document.status'},\n ];\n\n this.fields = [...this.getFields(fieldOptions, this.fieldsConfig)];\n }\n\n public bytesToMegabytes(bytes: number): string {\n const megabytes = bytes / (1024 * 1024);\n if (megabytes < 1) {\n return `${Math.ceil(megabytes * 1000)} KB`;\n } else if (megabytes < 1000) {\n return megabytes.toFixed(2) + ' MB';\n }\n\n return (megabytes / 1000).toFixed(2) + ' GB';\n }\n\n public getUploadButtonTooltip(): string {\n if (this.uploadProcessLinkedSet && this.uploadProcessLinked) {\n return 'Upload';\n } else if (this.isAdmin) {\n return 'dossier.documenten.noProcessLinked.adminRole';\n }\n\n return 'dossier.documenten.noProcessLinked.regularUser';\n }\n\n public isUserAdmin() {\n this.userProviderService.getUserSubject().subscribe(\n userIdentity => {\n this.isAdmin = userIdentity.roles.includes('ROLE_ADMIN');\n },\n error => {\n this.isAdmin = false;\n }\n );\n }\n\n public metadataSet(metadata: DocumentenApiMetadata): void {\n this.uploading$.next(true);\n this.hideModal$.next(null);\n\n combineLatest([this.fileToBeUploaded$, this._documentId$])\n .pipe(take(1))\n .pipe(\n tap(([file, documentId]) => {\n if (!file) return;\n\n this.uploadProviderService\n .uploadFileWithMetadata(file, documentId, metadata)\n .subscribe(() => {\n this.refetchDocuments();\n this.uploading$.next(false);\n this.fileToBeUploaded$.next(null);\n });\n })\n )\n .subscribe();\n }\n\n public onDeleteActionClick(item: DocumentenApiRelatedFile): void {\n this.loading$.next(true);\n this.documentenApiDocumentService.deleteDocument(item).subscribe(() => {\n // TODO: Use refetchDocuments() or should we just remove the document from relatedFiles$?\n this.refetchDocuments();\n });\n }\n\n public onDownloadActionClick(file: DocumentenApiRelatedFile): void {\n this.downloadDocument(file, true);\n }\n\n public onFileSelected(event: any): void {\n this.fileToBeUploaded$.next(event.target.files[0]);\n this.showModal$.next(null);\n }\n\n public onNavigateToCaseAdminClick(): void {\n this._documentDefinitionName$.pipe(take(1)).subscribe(documentDefinitionName => {\n this.router.navigate([`/dossier-management/dossier/${documentDefinitionName}`]);\n });\n }\n\n public onRowClick(event: any): void {\n this.downloadDocument(event, false);\n }\n\n public onUploadButtonClick(): void {\n this.fileInput.nativeElement.click();\n }\n\n public refetchDocuments(): void {\n this._refetch$.next(null);\n }\n\n private downloadDocument(relatedFile: DocumentenApiRelatedFile, forceDownload: boolean): void {\n this.downloadService.downloadFile(\n `/api/v1/documenten-api/${relatedFile.pluginConfigurationId}/files/${relatedFile.fileId}/download`,\n relatedFile.fileName,\n forceDownload\n );\n }\n\n private getFields(fieldOptions, fieldsConfig) {\n return fieldOptions.filter(fieldOption => fieldsConfig.includes(fieldOption.key));\n }\n\n private setUploadProcessLinked(): void {\n this._documentDefinitionName$\n .pipe(\n switchMap(documentDefinitionName =>\n this.uploadProviderService.checkUploadProcessLink(documentDefinitionName)\n ),\n take(1),\n tap(() => {\n this.uploadProcessLinkedSet = true;\n })\n )\n .subscribe((linked: boolean) => {\n this.uploadProcessLinked = linked;\n });\n }\n}\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\n<div\n class=\"carbon-document-table-wrapper\"\n *ngIf=\"{\n loading: loading$ | async,\n uploading: uploading$ | async,\n relatedFiles: relatedFiles$ | async\n } as obs\"\n>\n @if (!obs.loading && !obs.uploading && obs.relatedFiles) {\n <ng-container\n *ngTemplateOutlet=\"list; context: {relatedFiles: obs.relatedFiles}\"\n ></ng-container>\n } @else {\n <ng-container *ngTemplateOutlet=\"listLoading\"></ng-container>\n }\n</div>\n\n<valtimo-documenten-api-metadata-modal\n [disabled$]=\"modalDisabled$\"\n [file$]=\"fileToBeUploaded$\"\n [hide$]=\"hideModal$\"\n [show$]=\"showModal$\"\n (metadata)=\"metadataSet($event)\"\n></valtimo-documenten-api-metadata-modal>\n\n<ng-template #list let-relatedFiles=\"relatedFiles\">\n <valtimo-carbon-list\n [actionItems]=\"actionItems\"\n [items]=\"relatedFiles\"\n [fields]=\"fields\"\n (rowClicked)=\"onRowClick($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 <ng-container *ngTemplateOutlet=\"uploadButton\"></ng-container>\n </div>\n\n @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 </valtimo-carbon-list>\n</ng-template>\n\n<ng-template #listLoading>\n <valtimo-carbon-list [items]=\"[]\" [fields]=\"fields\" [loading]=\"true\" hideColumnHeader>\n <div carbonToolbarContent>\n <ng-container *ngTemplateOutlet=\"uploadButton; context: {disabled: true}\"></ng-container>\n </div>\n </valtimo-carbon-list>\n</ng-template>\n\n<ng-template #downloadButton let-index=\"index\" let-item=\"item\">\n <div\n *ngIf=\"{isDownloading: indexesIncludeIndex(downloadingFileIndexes$ | async, index)} as vars\"\n class=\"download-button-container\"\n >\n <button\n *ngIf=\"!vars.isDownloading\"\n cdsButton=\"primary\"\n size=\"sm\"\n (click)=\"downloadDocument(item, index)\"\n >\n {{ 'interface.download' | translate }}\n\n <svg class=\"cds--btn__icon\" cdsIcon=\"download\" size=\"16\"></svg>\n </button>\n\n <cds-loading size=\"sm\" *ngIf=\"vars.isDownloading\"></cds-loading>\n </div>\n</ng-template>\n\n<ng-template #dossierListActions>\n <input [accept]=\"acceptedFiles\" (change)=\"onFileSelected($event)\" hidden type=\"file\" #fileInput />\n <ng-container *ngTemplateOutlet=\"uploadButton\"></ng-container>\n</ng-template>\n\n<ng-template #uploadButton let-disabled=\"disabled\">\n <button\n [disabled]=\"(uploadProcessLinkedSet && !uploadProcessLinked) || showZaakLinkWarning || disabled\"\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 #navigateToCaseAdminButton>\n <button (click)=\"onNavigateToCaseAdminClick()\" cdsButton=\"primary\">\n {{ 'dossier.documenten.navigateToCaseAdmin' | translate }}\n <svg class=\"cds--btn__icon\" cdsIcon=\"settings\" size=\"16\"></svg>\n </button>\n</ng-template>\n\n<ng-template #sizeTemplate let-data=\"data\">\n <div class=\"documenten-api-documents-filesize-template\">\n {{ bytesToMegabytes(data.item.sizeInBytes) }}\n </div>\n</ng-template>\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 */\nimport {Component, OnInit} from '@angular/core';\nimport {ConfigService, UploadProvider, ValtimoConfig} from '@valtimo/config';\nimport {BehaviorSubject, combineLatest, map, Observable, switchMap, tap} from 'rxjs';\nimport {ParagraphModule} from '@valtimo/components';\nimport {ActivatedRoute} from '@angular/router';\nimport {CommonModule} from '@angular/common';\nimport {filter} from 'rxjs/operators';\nimport {DocumentenApiLinkProcessService, DocumentenApiVersionService} from '../../services';\nimport {TranslateModule} from '@ngx-translate/core';\nimport {ComboBoxModule, ListItem} from 'carbon-components-angular';\n\n@Component({\n selector: 'valtimo-dossier-management-link-process',\n templateUrl: './dossier-management-link-process.component.html',\n standalone: true,\n imports: [CommonModule, ParagraphModule, TranslateModule, ComboBoxModule],\n})\nexport class DossierManagementLinkProcessComponent implements OnInit {\n public readonly documentenApiUploadProviders$ = new BehaviorSubject<boolean>(false);\n\n private readonly _documentDefinitionName$: Observable<string> = this.route.params.pipe(\n map(params => params?.name),\n filter(name => !!name)\n );\n\n public readonly selectedProcessKey$ = new BehaviorSubject<string>('');\n public readonly processItems$: Observable<Array<ListItem>> = combineLatest([\n this.documentenApiLinkProcessService.getProcessDefinitions(),\n this.selectedProcessKey$,\n ]).pipe(\n map(([definitions, selectedProcessKey]) =>\n (definitions || [])\n .filter(definition => !!definition?.key)\n .map(process => ({\n content: process?.name || '-',\n id: process.key,\n selected: selectedProcessKey === process.key,\n }))\n ),\n tap(() => this.documentenApiVersionService.refresh())\n );\n\n public readonly disabled$ = new BehaviorSubject<boolean>(false);\n\n constructor(\n private readonly configService: ConfigService,\n private readonly route: ActivatedRoute,\n private readonly documentenApiLinkProcessService: DocumentenApiLinkProcessService,\n private readonly documentenApiVersionService: DocumentenApiVersionService\n ) {}\n\n public ngOnInit(): void {\n this.setDocumentenApiUploaderProvider(this.configService.config);\n }\n\n public selectProcess(item: {id: string}): void {\n const processDefinitionKey = item?.id;\n this.disabled$.next(true);\n const currentSelectionId = this.selectedProcessKey$.getValue();\n\n if (processDefinitionKey && processDefinitionKey !== currentSelectionId) {\n this.disabled$.next(true);\n this._documentDefinitionName$\n .pipe(\n switchMap(documentDefinitionName =>\n this.documentenApiLinkProcessService.updateLinkedUploadProcess(\n documentDefinitionName,\n processDefinitionKey\n )\n )\n )\n .subscribe(processLink => {\n this.selectedProcessKey$.next(processLink.processDefinitionKey);\n this.disabled$.next(false);\n });\n } else if (!processDefinitionKey) {\n this._documentDefinitionName$\n .pipe(\n switchMap(documentDefinitionName =>\n this.documentenApiLinkProcessService.deleteLinkedUploadProcess(documentDefinitionName)\n )\n )\n .subscribe(() => {\n this.selectedProcessKey$.next('');\n this.disabled$.next(false);\n });\n }\n }\n\n private setDocumentenApiUploaderProvider(config: ValtimoConfig): void {\n const hasDocumentenApiUploadProvider = config.uploadProvider === UploadProvider.DOCUMENTEN_API;\n\n this.documentenApiUploadProviders$.next(hasDocumentenApiUploadProvider);\n if (hasDocumentenApiUploadProvider) this.getDefaultSelection();\n }\n\n private getDefaultSelection(): void {\n this._documentDefinitionName$\n .pipe(\n switchMap(documentDefinitionName =>\n this.documentenApiLinkProcessService.getLinkedUploadProcess(documentDefinitionName)\n )\n )\n .subscribe(linkedUploadProcess => {\n if (linkedUploadProcess) {\n this.selectedProcessKey$.next(linkedUploadProcess.processDefinitionKey);\n }\n });\n }\n}\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\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","/*\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\nimport {Component} from '@angular/core';\nimport {CommonModule} from '@angular/common';\nimport {TranslateModule} from '@ngx-translate/core';\nimport {LoadingModule, NotificationModule} from 'carbon-components-angular';\nimport {BehaviorSubject, combineLatest, map, Observable, switchMap, tap} from 'rxjs';\nimport {ActivatedRoute} from '@angular/router';\nimport {filter} from 'rxjs/operators';\n\nimport {DocumentenApiManagementVersion} from '../../models';\nimport {DocumentenApiVersionService} from '../../services';\n\n@Component({\n selector: 'valtimo-documenten-api-version',\n templateUrl: './documenten-api-version.component.html',\n styleUrls: ['./documenten-api-version.component.scss'],\n standalone: true,\n imports: [CommonModule, TranslateModule, LoadingModule, NotificationModule],\n})\nexport class DocumentenApiVersionComponent {\n public readonly loading$ = new BehaviorSubject<boolean>(true);\n\n public readonly documentDefinitionName$: Observable<string> = this.route.params.pipe(\n map(params => params.name || ''),\n filter(documentDefinitionName => !!documentDefinitionName)\n );\n\n public readonly documentenApiVersion$: Observable<DocumentenApiManagementVersion> = combineLatest(\n [this.documentDefinitionName$, this.documentenApiVersionService.refresh$]\n ).pipe(\n tap(() => this.loading$.next(true)),\n switchMap(([documentDefinitionName]) =>\n this.documentenApiVersionService.getManagementApiVersion(documentDefinitionName)\n ),\n tap(() => this.loading$.next(false))\n );\n\n constructor(\n private readonly route: ActivatedRoute,\n private readonly documentenApiVersionService: DocumentenApiVersionService\n ) {}\n}\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<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","/*\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\nexport * from './documenten-api-column-modal/documenten-api-column-modal.component';\nexport * from './documenten-api-columns/documenten-api-columns.component';\nexport * from './documenten-api-metadata-modal/documenten-api-metadata-modal.component';\nexport * from './documenten-api-documents/documenten-api-documents.component';\nexport * from './documenten-api-link-upload-process/dossier-management-link-process.component';\nexport * from './documenten-api-version/documenten-api-version.component';\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\ntype ConfidentialityLevel =\n | 'openbaar'\n | 'beperkt_openbaar'\n | 'intern'\n | 'zaakvertrouwelijk'\n | 'vertrouwelijk'\n | 'confidentieel'\n | 'geheim'\n | 'zeer_geheim';\n\ntype DocumentStatus = 'in_bewerking' | 'ter_vaststelling' | 'definitief' | 'gearchiveerd';\n\ntype DocumentLanguage = 'nld' | 'eng' | 'deu';\n\ninterface DocumentenApiMetadata {\n title: string;\n description: string;\n filename: string;\n confidentialityLevel: ConfidentialityLevel;\n author: string;\n status: DocumentStatus;\n creationDate: string;\n receiptDate: string;\n sendDate: string;\n language: DocumentLanguage;\n informatieobjecttype: string;\n}\n\ntype AdditionalDocumentDate = 'sent' | 'received' | 'neither';\n\nexport {\n DocumentenApiMetadata,\n ConfidentialityLevel,\n DocumentStatus,\n DocumentLanguage,\n AdditionalDocumentDate,\n};\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\ninterface ConfiguredColumn {\n key: string;\n enabled: boolean;\n}\n\nexport {ConfiguredColumn};\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\ntype DocumentenApiColumnModalType = 'edit' | 'add' | 'closed';\n\ntype DocumentenApiColumnModalTypeCloseEvent = 'close' | 'closeAndRefresh';\n\nexport {DocumentenApiColumnModalType, DocumentenApiColumnModalTypeCloseEvent};\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\nimport {RelatedFile} from '@valtimo/document';\n\ninterface DocumentenApiRelatedFile extends RelatedFile {\n size?: string;\n title?: string;\n language?: string;\n identification?: string;\n description?: string;\n informatieobjecttype?: string;\n trefwoorden?: Array<String>;\n format?: string;\n status?: string;\n confidentialityLevel?: string;\n}\n\ntype DocumentenApiRelatedFileListItem = Omit<DocumentenApiRelatedFile, 'createdOn'> & {\n createdOn: string;\n};\n\nexport {DocumentenApiRelatedFile, DocumentenApiRelatedFileListItem};\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\ninterface ProcessDefinition {\n visibleInMenu: any;\n category: string;\n deploymentId: string;\n description: string;\n diagram: string;\n historyTimeToLive: string;\n id: string;\n key: string;\n name: string;\n resource: string;\n startableInTasklist: boolean;\n suspended: false;\n tenantId: string;\n version: number;\n versionTag: string;\n}\n\ninterface UploadProcessLink {\n processDefinitionKey: string;\n processName: string;\n}\n\nexport {UploadProcessLink, ProcessDefinition};\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\ninterface DocumentenApiManagementVersion {\n selectedVersion: string;\n detectedVersions: string;\n}\n\nexport {DocumentenApiManagementVersion};\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\nexport * from './documenten-api-metadata.model';\nexport * from './configured-column.model';\nexport * from './documenten-api-column-modal.model';\nexport * from './documenten-api.model';\nexport * from './documenten-api-link-process.model';\nexport * from './documenten-api-version.model';\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\nexport const documentenApiUploaderEditForm = () => ({\n components: [\n {key: 'type', type: 'hidden'},\n {\n type: 'textfield',\n input: true,\n key: 'label',\n label: 'Label',\n placeholder: 'Label',\n validate: {\n required: true,\n },\n },\n {\n type: 'checkbox',\n input: true,\n inputType: 'checkbox',\n key: 'validate.required',\n label: 'Required',\n validate: {\n required: false,\n },\n },\n {\n type: 'textfield',\n input: true,\n key: 'key',\n label: 'Property Name',\n placeholder: 'Property Name',\n tooltip: 'The name of this field in the API endpoint.',\n validate: {\n required: true,\n },\n },\n {\n type: 'textfield',\n input: true,\n key: 'customOptions.title',\n label: 'Title',\n placeholder: 'Title',\n tooltip: 'Leave empty to use the default title',\n validate: {\n required: false,\n },\n },\n {\n type: 'checkbox',\n input: true,\n inputType: 'checkbox',\n key: 'customOptions.hideTitle',\n label: 'Hide title',\n validate: {\n required: false,\n },\n },\n {\n type: 'textfield',\n input: true,\n key: 'customOptions.subtitle',\n label: 'Subtitle',\n placeholder: 'Title',\n tooltip: 'Leave empty to hide subtitle',\n validate: {\n required: false,\n },\n },\n {\n type: 'number',\n input: true,\n key: 'customOptions.maxFileSize',\n label: 'Maximum file size',\n placeholder: 'Maximum file size',\n defaultValue: 5,\n validate: {\n required: true,\n },\n },\n {\n type: 'checkbox',\n input: true,\n inputType: 'checkbox',\n key: 'customOptions.hideMaxFileSize',\n label: 'Hide maximum file size',\n validate: {\n required: false,\n },\n },\n {\n type: 'checkbox',\n input: true,\n inputType: 'checkbox',\n key: 'customOptions.camera',\n label: 'Allow camera uploads',\n validate: {\n required: false,\n },\n },\n {\n type: 'textfield',\n input: true,\n key: 'customOptions.documentTitle',\n label: 'Default document title',\n tooltip: 'Leave empty to let the user input their own title',\n validate: {\n required: false,\n },\n },\n {\n type: 'checkbox',\n input: true,\n inputType: 'checkbox',\n key: 'customOptions.disableDocumentTitle',\n label: 'Disable document title input',\n validate: {\n required: false,\n },\n },\n {\n type: 'textfield',\n input: true,\n key: 'customOptions.filename',\n label: 'Default filename',\n tooltip: 'Leave empty to let the user input their own filename',\n validate: {\n required: false,\n },\n },\n {\n type: 'checkbox',\n input: true,\n inputType: 'checkbox',\n key: 'customOptions.disableFilename',\n label: 'Disable filename input',\n validate: {\n required: false,\n },\n },\n {\n type: 'textfield',\n input: true,\n key: 'customOptions.author',\n label: 'Default author',\n tooltip: 'Leave empty to let the user input their own author',\n validate: {\n required: false,\n },\n },\n {\n type: 'checkbox',\n input: true,\n inputType: 'checkbox',\n key: 'customOptions.disableAuthor',\n label: 'Disable author input',\n validate: {\n required: false,\n },\n },\n {\n type: 'select',\n label: 'Default status',\n key: 'customOptions.status',\n placeholder: 'Select a default status',\n data: {\n values: [\n {value: 'in_bewerking', label: 'In editing'},\n {value: 'ter_vaststelling', label: 'To be confirmed'},\n {value: 'definitief', label: 'Definitive'},\n {value: 'gearchiveerd', label: 'Archived'},\n ],\n },\n dataSrc: 'values',\n input: true,\n validate: {\n required: false,\n },\n },\n {\n type: 'checkbox',\n input: true,\n inputType: 'checkbox',\n key: 'customOptions.disableStatus',\n label: 'Disable status input',\n validate: {\n required: false,\n },\n },\n {\n type: 'select',\n label: 'Default language',\n key: 'customOptions.language',\n placeholder: 'Select a default language',\n data: {\n values: [\n {value: 'nld', label: 'Dutch'},\n {value: 'eng', label: 'English'},\n {value: 'deu', label: 'German'},\n ],\n },\n dataSrc: 'values',\n input: true,\n validate: {\n required: false,\n },\n },\n {\n type: 'checkbox',\n input: true,\n inputType: 'checkbox',\n key: 'customOptions.disableLanguage',\n label: 'Disable language input',\n validate: {\n required: false,\n },\n },\n {\n type: 'textfield',\n input: true,\n key: 'customOptions.documentType',\n label: 'Default document type url',\n tooltip:\n 'Must match the document type url exactly. Leave empty to let the user input their own document type',\n validate: {\n required: false,\n },\n },\n {\n type: 'checkbox',\n input: true,\n inputType: 'checkbox',\n key: 'customOptions.disableDocumentType',\n label: 'Disable document type input',\n validate: {\n required: false,\n },\n },\n {\n type: 'textfield',\n input: true,\n key: 'customOptions.description',\n label: 'Default description',\n tooltip: 'Leave empty to let the user input their own description',\n validate: {\n required: false,\n },\n },\n {\n type: 'checkbox',\n input: true,\n inputType: 'checkbox',\n key: 'customOptions.disableDescription',\n label: 'Disable description input',\n validate: {\n required: false,\n },\n },\n {\n type: 'select',\n label: 'Default confidentiality level',\n key: 'customOptions.confidentialityLevel',\n placeholder: 'Select a default confidentiality level',\n data: {\n values: [\n {value: 'openbaar', label: 'Public'},\n {value: 'beperkt_openbaar', label: 'Restricted public'},\n {value: 'intern', label: 'Internal'},\n {value: 'zaakvertrouwelijk', label: 'Case confidential'},\n {value: 'vertrouwelijk', label: 'Private'},\n {value: 'confidentieel', label: 'Confidential'},\n {value: 'geheim', label: 'Secret'},\n {value: 'zeer_geheim', label: 'Very secret'},\n ],\n },\n dataSrc: 'values',\n input: true,\n validate: {\n required: false,\n },\n },\n {\n type: 'checkbox',\n input: true,\n inputType: 'checkbox',\n key: 'customOptions.disableConfidentialityLevel',\n label: 'Disable confidentiality level input',\n validate: {\n required: false,\n },\n },\n ],\n});\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\nimport {Component, EventEmitter, Input, Output} from '@angular/core';\nimport {\n FormioCustomComponent,\n FormIoDomService,\n FormIoStateService,\n ValtimoModalService,\n} from '@valtimo/components';\nimport {BehaviorSubject, combineLatest, Observable, of, startWith, Subject, switchMap} from 'rxjs';\nimport {\n DocumentenApiFileReference,\n DownloadService,\n UploadProviderService,\n} from '@valtimo/resource';\nimport {DocumentenApiMetadata} from '../../models';\nimport {filter, map, take, tap} from 'rxjs/operators';\nimport {UserProviderService} from '@valtimo/security';\nimport {ActivatedRoute} from '@angular/router';\n\n@Component({\n selector: 'valtimo-documenten-api-formio-uploader',\n templateUrl: './documenten-api-uploader.component.html',\n styleUrls: ['./documenten-api-uploader.component.scss'],\n})\nexport class DocumentenApiUploaderComponent\n implements FormioCustomComponent<Array<DocumentenApiFileReference>>\n{\n @Input() disabled: boolean;\n @Input() title: string;\n @Input() hideTitle: boolean;\n @Input() subtitle: string;\n @Input() maxFileSize: number;\n @Input() hideMaxFileSize: boolean;\n @Input() camera: boolean;\n\n @Input() documentTitle: string;\n @Input() disableDocumentTitle: boolean;\n @Input() filename: string;\n @Input() disableFilename: boolean;\n @Input() author: string;\n @Input() disableAuthor: boolean;\n @Input() status: string;\n @Input() disableStatus: boolean;\n @Input() language: string;\n @Input() disableLanguage: boolean;\n @Input() documentType: string;\n @Input() disableDocumentType: boolean;\n @Input() description: string;\n @Input() disableDescription: boolean;\n @Input() confidentialityLevel: string;\n @Input() disableConfidentialityLevel: boolean;\n\n @Output() valueChange = new EventEmitter<Array<DocumentenApiFileReference>>();\n\n readonly uploading$ = new BehaviorSubject<boolean>(false);\n readonly fileToBeUploaded$ = new BehaviorSubject<File | null>(null);\n readonly modalDisabled$ = new BehaviorSubject<boolean>(false);\n readonly showModal$ = new Subject<null>();\n readonly hideModal$ = new Subject<null>();\n readonly uploadProcessLinked$: Observable<boolean | string> = combineLatest([\n this.route?.params || of(null),\n this.route?.firstChild?.params || of(null),\n this.modalService.documentDefinitionName$,\n ]).pipe(\n filter(\n ([params, firstChildParams, documentDefinitionName]) =>\n !!(\n params?.documentDefinitionName ||\n firstChildParams?.documentDefinitionName ||\n documentDefinitionName\n )\n ),\n switchMap(([params, firstChildParams, documentDefinitionName]) =>\n this.uploadProviderService.checkUploadProcessLink(\n params?.documentDefinitionName ||\n firstChildParams?.documentDefinitionName ||\n documentDefinitionName\n )\n ),\n startWith('loading')\n );\n readonly isAdmin$: Observable<boolean> = this.userProviderService\n .getUserSubject()\n .pipe(map(userIdentity => userIdentity?.roles.includes('ROLE_ADMIN')));\n\n constructor(\n private readonly uploadProviderService: UploadProviderService,\n private readonly stateService: FormIoStateService,\n private readonly domService: FormIoDomService,\n private readonly downloadService: DownloadService,\n private readonly modalService: ValtimoModalService,\n private readonly userProviderService: UserProviderService,\n private readonly route: ActivatedRoute\n ) {}\n\n _value: Array<DocumentenApiFileReference> = [];\n\n public get value(): Array<DocumentenApiFileReference> {\n return this._value;\n }\n\n @Input()\n public set value(value: Array<DocumentenApiFileReference>) {\n if (Array.isArray(value)) {\n this._value = value;\n }\n }\n\n fileSelected(file: File): void {\n this.fileToBeUploaded$.next(file);\n this.showModal$.next(null);\n }\n\n deleteFile(id: string): void {\n this.domService.toggleSubmitButton(true);\n this._value = this._value.filter((file: DocumentenApiFileReference) =>\n file?.id ? file?.id !== id : true\n );\n this.valueChange.emit(this._value);\n }\n\n metadataSet(metadata: DocumentenApiMetadata): void {\n this.uploading$.next(true);\n this.hideModal$.next(null);\n this.domService.toggleSubmitButton(true);\n\n this.fileToBeUploaded$\n .pipe(\n take(1),\n switchMap(file => this.uploadProviderService.uploadTempFileWithMetadata(file, metadata)),\n tap(result => {\n this.domService.toggleSubmitButton(false);\n this.uploading$.next(false);\n this._value.push(result);\n this.valueChange.emit(this._value);\n })\n )\n .subscribe();\n }\n}\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\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 (metadata)=\"metadataSet($event)\"\n [author]=\"author\"\n [confidentialityLevel]=\"confidentialityLevel\"\n [description]=\"description\"\n [disableAuthor]=\"disableAuthor\"\n [disableConfidentialityLevel]=\"disableConfidentialityLevel\"\n [disableDescription]=\"disableDescription\"\n [disableDocumentTitle]=\"disableDocumentTitle\"\n [disableDocumentType]=\"disableDocumentType\"\n [disableFilename]=\"disableFilename\"\n [disableLanguage]=\"disableLanguage\"\n [disableStatus]=\"disableStatus\"\n [disabled$]=\"modalDisabled$\"\n [documentTitle]=\"documentTitle\"\n [documentType]=\"documentType\"\n [file$]=\"fileToBeUploaded$\"\n [filename]=\"filename\"\n [hide$]=\"hideModal$\"\n [language]=\"language\"\n [show$]=\"showModal$\"\n [status]=\"status\"\n></valtimo-documenten-api-metadata-modal>\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\nimport {Injector} from '@angular/core';\nimport {\n createCustomFormioComponent,\n FormioCustomComponentInfo,\n registerCustomFormioComponentWithClass,\n} from '@valtimo/components';\nimport {DocumentenApiUploaderComponent} from './documenten-api-uploader.component';\nimport {documentenApiUploaderEditForm} from './documenten-api-uploader-edit-form';\n\nexport const customDocumentApiUploaderType = 'documenten-api-file';\n\nconst COMPONENT_OPTIONS: FormioCustomComponentInfo = {\n type: customDocumentApiUploaderType,\n selector: 'documenten-api-form-io-uploader',\n title: 'Documenten API File Upload',\n group: 'advanced',\n icon: 'upload',\n // set empty value to force formio to accept arrays as valid input value for this field type\n emptyValue: [],\n editForm: documentenApiUploaderEditForm,\n};\n\nexport function registerDocumentenApiFormioUploadComponent(injector: Injector) {\n const originalUploadComponent = createCustomFormioComponent(COMPONENT_OPTIONS);\n\n // override setValue function to allow for setting an array value\n class UploaderComponent extends originalUploadComponent {\n setValue(value): boolean {\n if (!this._customAngularElement) {\n return false;\n }\n\n this._customAngularElement.value = value;\n return true;\n }\n }\n\n if (!customElements.get(COMPONENT_OPTIONS.selector)) {\n registerCustomFormioComponentWithClass(\n COMPONENT_OPTIONS,\n DocumentenApiUploaderComponent,\n UploaderComponent,\n injector\n );\n }\n}\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\nexport * from './documenten-api-uploader-edit-form';\nexport * from './documenten-api-uploader.component';\nexport * from './documenten-api-uploader.formio';\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\nexport * from './documenten-api-uploader';\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\nexport * from './components';\nexport * from './models';\nexport * from './formio';\nexport * from './services';\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\nimport {FormioForm} from '@formio/angular';\n\ninterface ZaakObjectType {\n name: string;\n url: string;\n}\n\ninterface ZaakObject {\n index: number;\n registrationAt: string;\n title: string | null;\n url: string;\n}\n\ninterface ZaakobjectFormResponse {\n documentMappedFields: Array<{\n defaultValue: string;\n input: boolean;\n key: string;\n label: string;\n type: string;\n }>;\n formDefinition: FormioForm;\n id: string;\n name: string;\n readOnly: boolean;\n}\n\nexport {ZaakObjectType, ZaakObject, ZaakobjectFormResponse};\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\nexport * from './zaakobjecten.model';\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\nimport {Injectable} from '@angular/core';\nimport {ConfigService} from '@valtimo/config';\nimport {HttpClient} from '@angular/common/http';\nimport {Observable} from 'rxjs';\nimport {ZaakObject, ZaakobjectFormResponse, ZaakObjectType} from '../models';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ZaakobjectenService {\n private readonly VALTIMO_API_ENDPOINT_URI = this.configService.config.valtimoApi.endpointUri;\n\n constructor(\n private readonly configService: ConfigService,\n private readonly http: HttpClient\n ) {}\n\n getDocumentObjectTypes(documentId: string): Observable<Array<ZaakObjectType>> {\n return this.http.get<Array<ZaakObjectType>>(\n `${this.VALTIMO_API_ENDPOINT_URI}v1/document/${documentId}/zaak/objecttype`\n );\n }\n\n getDocumentObjectsOfType(documentId: string, typeUrl: string): Observable<Array<ZaakObject>> {\n return this.http.get<Array<ZaakObject>>(\n `${this.VALTIMO_API_ENDPOINT_URI}v1/document/${documentId}/zaak/object?typeUrl=${typeUrl}`\n );\n }\n\n getObjectTypeForm(documentId: string, objectUrl: string): Observable<ZaakobjectFormResponse> {\n return this.http.get<ZaakobjectFormResponse>(\n `${this.VALTIMO_API_ENDPOINT_URI}v1/document/${documentId}/zaak/object/form?objectUrl=${objectUrl}`\n );\n }\n}\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\nexport * from './zaakobjecten.service';\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\nimport {Component, ViewChild} from '@angular/core';\nimport {ActivatedRoute} from '@angular/router';\nimport {ZaakobjectenService} from '../../services';\nimport {BehaviorSubject, combineLatest, map, Observable, of, switchMap} from 'rxjs';\nimport {ZaakObject, ZaakObjectType} from '../../models';\nimport {\n FormIoModule,\n InputLabelModule,\n ModalService,\n ParagraphModule,\n SelectItem,\n SelectModule,\n TableColumn,\n TableModule,\n TitleModule,\n VModalComponent,\n VModalModule,\n} from '@valtimo/components';\nimport {take} from 'rxjs/operators';\nimport {FormioForm} from '@formio/angular';\nimport {CommonModule} from '@angular/common';\nimport {TranslateModule} from '@ngx-translate/core';\n\n@Component({\n selector: 'valtimo-dossier-detail-tab-zaakobjecten',\n templateUrl: './zaakobjecten.component.html',\n styleUrls: ['./zaakobjecten.component.scss'],\n standalone: true,\n imports: [\n CommonModule,\n SelectModule,\n InputLabelModule,\n ParagraphModule,\n TableModule,\n VModalModule,\n TitleModule,\n FormIoModule,\n TranslateModule,\n ],\n})\nexport class DossierDetailTabZaakobjectenComponent {\n @ViewChild('viewZaakobjectModal') viewZaakobjectModal: VModalComponent;\n\n private readonly documentId$ = this.route.params.pipe(map(params => params.documentId));\n\n private readonly objecttypes$: Observable<Array<ZaakObjectType>> = this.documentId$.pipe(\n switchMap(documentId => this.zaakobjectenService.getDocumentObjectTypes(documentId))\n );\n\n readonly objecttypeSelectItems$: Observable<Array<SelectItem>> = this.objecttypes$.pipe(\n map(objecttypes => objecttypes.map(type => ({id: type.url, text: type.name || '-'})))\n );\n\n readonly selectedObjecttypeUrl$ = new BehaviorSubject<string | null>(null);\n\n readonly objects$: Observable<Array<ZaakObject> | null> = combineLatest([\n this.documentId$,\n this.selectedObjecttypeUrl$,\n ]).pipe(\n switchMap(([documentId, selectedObjecttypeUrl]) =>\n documentId && selectedObjecttypeUrl\n ? this.zaakobjectenService\n .getDocumentObjectsOfType(documentId, selectedObjecttypeUrl)\n .pipe(map(objects => objects.map(object => ({...object, title: object.title || '-'}))))\n : of(null)\n )\n );\n\n readonly columns$ = new BehaviorSubject<Array<TableColumn>>([\n {\n labelTranslationKey: 'dossier.zaakobjecten.index',\n dataKey: 'index',\n },\n {\n labelTranslationKey: 'dossier.zaakobjecten.registrationAt',\n dataKey: 'registrationAt',\n },\n {\n labelTranslationKey: 'dossier.zaakobjecten.title',\n dataKey: 'title',\n },\n ]);\n\n readonly objectForm$ = new BehaviorSubject<FormioForm | null>(null);\n\n readonly objectName$ = new BehaviorSubject<string>('');\n\n readonly noFormDefinitionComponent$ = new BehaviorSubject<boolean>(false);\n\n constructor(\n private readonly route: ActivatedRoute,\n private readonly zaakobjectenService: ZaakobjectenService,\n private readonly modalService: ModalService\n ) {}\n\n selectObjectType(objectTypeUrl: string): void {\n this.selectedObjecttypeUrl$.next(objectTypeUrl);\n }\n\n rowClicked(object: ZaakObject, objectTypeSelectItems: Array<SelectItem>): void {\n this.documentId$.pipe(take(1)).subscribe(documentId => {\n this.zaakobjectenService.getObjectTypeForm(documentId, object.url).subscribe(\n res => {\n const definition = res.formDefinition;\n\n definition.components = definition.components.map(component => ({\n ...component,\n disabled: true,\n }));\n\n this.setModalData(objectTypeSelectItems, definition);\n },\n () => {\n this.setModalData(objectTypeSelectItems);\n }\n );\n });\n }\n\n hide(): void {\n this.modalService.closeModal(() => {\n this.objectName$.next('');\n this.objectForm$.next(null);\n });\n }\n\n private show(): void {\n this.modalService.openModal(this.viewZaakobjectModal);\n }\n\n private getObjectTypeName(objectTypeSelectItems: Array<SelectItem>): string {\n const selectedObjectTypeUrl = this.selectedObjecttypeUrl$.getValue();\n const currentTypeSelectItem = objectTypeSelectItems.find(\n selectItem => selectItem.id === selectedObjectTypeUrl\n );\n\n return currentTypeSelectItem.text;\n }\n\n private setModalData(objectTypeSelectItems: Array<SelectItem>, definition?: FormioForm): void {\n if (definition) {\n this.objectForm$.next(definition);\n this.noFormDefinitionComponent$.next(false);\n } else {\n this.noFormDefinitionComponent$.next(true);\n }\n\n this.objectName$.next(this.getObjectTypeName(objectTypeSelectItems));\n this.show();\n }\n}\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\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","/*\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\nimport {Component, ViewChild} from '@angular/core';\nimport {ActivatedRoute} from '@angular/router';\nimport {ZaakobjectenService} from '../../services';\nimport {BehaviorSubject, combineLatest, map, Observable, of, switchMap, tap} from 'rxjs';\nimport {ZaakObject, ZaakObjectType} from '../../models';\nimport {\n FormIoModule,\n ModalService,\n ParagraphModule,\n TableColumn,\n TableModule,\n TitleModule,\n VModalComponent,\n VModalModule,\n} from '@valtimo/components';\nimport {take} from 'rxjs/operators';\nimport {FormioForm} from '@formio/angular';\nimport {CommonModule} from '@angular/common';\n\n@Component({\n selector: 'valtimo-object-type',\n templateUrl: './object-type.component.html',\n styleUrls: ['./object-type.component.scss'],\n standalone: true,\n imports: [CommonModule, TableModule, ParagraphModule, VModalModule, TitleModule, FormIoModule],\n})\nexport class DossierDetailTabObjectTypeComponent {\n @ViewChild('viewObjectModal') viewObjectModal: VModalComponent;\n\n private readonly documentId$ = this.route.params.pipe(map(params => params.documentId));\n\n private readonly objecttypes$: Observable<Array<ZaakObjectType>> = this.documentId$.pipe(\n switchMap(documentId => this.zaakobjectenService.getDocumentObjectTypes(documentId))\n );\n\n readonly objectName$ = this.route.params.pipe(\n map(() => {\n const currentUrl = window.location.href;\n const splitUrl = currentUrl.split('/');\n const lastUrlPart = splitUrl[splitUrl.length - 1];\n\n return lastUrlPart;\n })\n );\n\n readonly selectedObjecttypeUrl$: Observable<string> = combineLatest([\n this.objecttypes$,\n this.objectName$,\n ]).pipe(\n map(([objectTypes, objectName]) => {\n const currentType = objectTypes?.find(\n type => type?.name.toLowerCase() === objectName?.toLowerCase()\n );\n\n const currentTypeUrl = currentType?.url;\n\n if (objectTypes && objectName && currentTypeUrl) return currentTypeUrl;\n\n return '';\n })\n );\n\n readonly loading$ = new BehaviorSubject<boolean>(true);\n\n readonly hasData$ = new BehaviorSubject<boolean>(false);\n\n readonly objects$: Observable<Array<ZaakObject> | null> = combineLatest([\n this.documentId$,\n this.selectedObjecttypeUrl$,\n ]).pipe(\n switchMap(([documentId, selectedObjecttypeUrl]) =>\n documentId && selectedObjecttypeUrl\n ? this.zaakobjectenService.getDocumentObjectsOfType(documentId, selectedObjecttypeUrl).pipe(\n map(objects => objects.map(object => ({...object, title: object.title || '-'}))),\n tap(() => {\n this.loading$.next(false);\n this.hasData$.next(true);\n })\n )\n : of(null).pipe(\n tap(() => {\n this.loading$.next(false);\n this.hasData$.next(false);\n })\n )\n )\n );\n\n readonly columns$ = new BehaviorSubject<Array<TableColumn>>([\n {\n labelTranslationKey: 'dossier.zaakobjecten.index',\n dataKey: 'index',\n },\n {\n labelTranslationKey: 'dossier.zaakobjecten.registrationAt',\n dataKey: 'registrationAt',\n },\n {\n labelTranslationKey: 'dossier.zaakobjecten.title',\n dataKey: 'title',\n },\n ]);\n\n readonly objectForm$ = new BehaviorSubject<FormioForm | null>(null);\n\n readonly noFormDefinitionComponent$ = new BehaviorSubject<boolean>(false);\n\n hasData: boolean;\n\n constructor(\n private readonly route: ActivatedRoute,\n private readonly zaakobjectenService: ZaakobjectenService,\n private readonly modalService: ModalService\n ) {}\n\n rowClicked(object: ZaakObject): void {\n this.documentId$.pipe(take(1)).subscribe(documentId => {\n this.zaakobjectenService.getObjectTypeForm(documentId, object.url).subscribe(\n res => {\n const definition = res.formDefinition;\n definition.components = definition.components.map(component => ({\n ...component,\n disabled: true,\n }));\n this.setModalData(definition);\n },\n () => {\n this.setModalData();\n }\n );\n });\n }\n\n hide(): void {\n this.modalService.closeModal(() => {\n this.objectForm$.next(null);\n });\n }\n\n private show(): void {\n this.modalService.openModal(this.viewObjectModal);\n }\n\n private setModalData(definition?: FormioForm): void {\n if (definition) {\n this.objectForm$.next(definition);\n this.noFormDefinitionComponent$.next(false);\n } else {\n this.noFormDefinitionComponent$.next(true);\n }\n\n this.show();\n }\n}\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\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","/*\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\nexport * from './zaakobjecten/zaakobjecten.component';\nexport * from './object-type/object-type.component';\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\nexport * from './models';\nexport * from './services';\nexport * from './components';\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\nexport interface Contactmoment {\n registratiedatum?: string;\n kanaal?: string;\n tekst?: string;\n medewerkerIdentificatie?: MedewerkerIdentificatie;\n}\n\nexport interface MedewerkerIdentificatie {\n achternaam?: string;\n}\n\nexport interface CreateContactMomentRequest {\n kanaal: string;\n tekst: string;\n}\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\nexport * from './contact-moment.model';\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\nimport {Injectable} from '@angular/core';\nimport {HttpClient} from '@angular/common/http';\nimport {Observable} from 'rxjs';\nimport {ConfigService} from '@valtimo/config';\nimport {Contactmoment, CreateContactMomentRequest} from '../models';\n\n/**\n * @deprecated Will be replace by new plugins\n */\n@Injectable({\n providedIn: 'root',\n})\nexport class ContactMomentService {\n private valtimoEndpointUri: string;\n\n constructor(\n private http: HttpClient,\n configService: ConfigService\n ) {\n this.valtimoEndpointUri = configService.config.valtimoApi.endpointUri;\n }\n\n getContactMoments(): Observable<Contactmoment[]> {\n return this.http.get<Contactmoment[]>(`${this.valtimoEndpointUri}v1/contactmoment`);\n }\n\n saveContactMoment(contactMomentRequest: CreateContactMomentRequest): Observable<Contactmoment> {\n return this.http.post(`${this.valtimoEndpointUri}v1/contactmoment`, contactMomentRequest);\n }\n}\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\nexport * from './contact-moment.service';\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\nimport {Component, ViewChild} from '@angular/core';\nimport {ContactMomentService} from '../../services';\nimport moment from 'moment';\nimport {BehaviorSubject, combineLatest, Observable} from 'rxjs';\nimport {\n AlertService,\n ModalComponent,\n ModalModule,\n SpinnerModule,\n TimelineItem,\n TimelineItemImpl,\n TimelineModule,\n} from '@valtimo/components';\nimport {map, switchMap, take} from 'rxjs/operators';\nimport {TranslateModule, TranslateService} from '@ngx-translate/core';\nimport {CommonModule} from '@angular/common';\nimport {FormsModule} from '@angular/forms';\n\nmoment.locale(localStorage.getItem('langKey') || '');\n\n@Component({\n selector: 'valtimo-dossier-detail-tab-contact-moments',\n templateUrl: './contact-moments.component.html',\n styleUrls: ['./contact-moments.component.scss'],\n standalone: true,\n imports: [CommonModule, ModalModule, TranslateModule, FormsModule, SpinnerModule, TimelineModule],\n})\nexport class DossierDetailTabContactMomentsComponent {\n @ViewChild('contactMomentsNoteModal') modal: ModalComponent;\n\n readonly refetchContactMoments$ = new BehaviorSubject('');\n readonly contactMoments$: Observable<Array<TimelineItem>> = this.refetchContactMoments$.pipe(\n switchMap(() => this.contactMomentService.getContactMoments()),\n map(contactMoments =>\n contactMoments.map(contactMoment => {\n const registratieDatum = moment(contactMoment.registratiedatum);\n return new TimelineItemImpl(\n registratieDatum.format('DD MMM YYYY'),\n registratieDatum.format('HH:mm'),\n contactMoment.medewerkerIdentificatie.achternaam,\n contactMoment.kanaal,\n contactMoment.tekst,\n null\n );\n })\n )\n );\n\n readonly text$ = new BehaviorSubject<string>('');\n readonly channel$ = new BehaviorSubject<string>('MAIL');\n readonly requestData$: Observable<Array<string>> = combineLatest([this.text$, this.channel$]);\n readonly valid$: Observable<boolean> = this.requestData$.pipe(\n map(([text, channel]) => !!(text && channel))\n );\n readonly disabled$ = new BehaviorSubject<boolean>(false);\n\n constructor(\n private readonly contactMomentService: ContactMomentService,\n private readonly alertService: AlertService,\n private readonly translateService: TranslateService\n ) {}\n\n textChange(text: string): void {\n this.text$.next(text);\n }\n\n buttonClick(): void {\n this.modal.show();\n }\n\n saveNote(): void {\n this.disable();\n\n this.requestData$.pipe(take(1)).subscribe(([text, channel]) => {\n this.contactMomentService.saveContactMoment({kanaal: channel, tekst: text}).subscribe(\n () => {\n this.alertService.success(\n this.translateService.instant('dossier.contactMoments.saveSuccess')\n );\n this.enable();\n this.clear();\n this.modal.hide();\n this.refetchContactMoments();\n },\n () => {\n this.enable();\n }\n );\n });\n }\n\n private disable(): void {\n this.disabled$.next(true);\n }\n\n private enable(): void {\n this.disabled$.next(false);\n }\n\n private clear(): void {\n this.text$.next('');\n }\n\n private refetchContactMoments(): void {\n this.refetchContactMoments$.next('');\n }\n}\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\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","/*\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\nexport * from './contact-moments/contact-moments.component';\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\nexport * from './models';\nexport * from './components';\nexport * from './services';\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\nimport {Injectable} from '@angular/core';\nimport {HttpClient} from '@angular/common/http';\nimport {Observable} from 'rxjs';\nimport {ConfigService} from '@valtimo/config';\nimport {Customer, CustomerCase, CustomerSearchRequest} from '../models';\n\n/**\n * @deprecated Will be replace by new plugins\n */\n@Injectable({\n providedIn: 'root',\n})\nexport class CustomerService {\n private valtimoEndpointUri: string;\n\n constructor(\n private http: HttpClient,\n configService: ConfigService\n ) {\n this.valtimoEndpointUri = configService.config.valtimoApi.endpointUri;\n }\n\n getCustomers(request: CustomerSearchRequest): Observable<Array<Customer>> {\n return this.http.post<Array<Customer>>(\n `${this.valtimoEndpointUri}v1/haalcentraal/personen`,\n request\n );\n }\n\n getCustomerCases(bsn: string): Observable<Array<CustomerCase>> {\n return this.http.get<Array<CustomerCase>>(`${this.valtimoEndpointUri}v1/zaken/${bsn}`);\n }\n}\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\nexport * from './customer.service';\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\ninterface Customer {\n burgerservicenummer: string;\n geboorteDatum: string;\n geslachtsnaam: string;\n voorletters: string;\n voornamen: string;\n}\n\ninterface MappedCustomer {\n citizenServiceNumber: string;\n name: string;\n dateOfBirth: string;\n}\n\ninterface CustomerBsnSearchRequest {\n bsn: string;\n}\n\ninterface CustomerDataSearchRequest {\n geslachtsnaam: string;\n geboortedatum: string;\n}\n\ntype CustomerSearchRequest = CustomerBsnSearchRequest | CustomerDataSearchRequest;\n\nexport {\n CustomerBsnSearchRequest,\n CustomerDataSearchRequest,\n CustomerSearchRequest,\n Customer,\n MappedCustomer,\n};\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\ninterface CustomerCase {\n zaakNummer: string;\n zaakStatus: string;\n zaakType: string;\n zaakId: string;\n}\n\nexport {CustomerCase};\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\nexport * from './customer';\nexport * from './case';\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\nimport {Component} from '@angular/core';\nimport {CustomerService} from '../../services/customer.service';\nimport {BehaviorSubject, combineLatest, Observable, of} from 'rxjs';\nimport {catchError, debounceTime, map, switchMap, tap} from 'rxjs/operators';\nimport {TranslateService} from '@ngx-translate/core';\nimport {\n Customer,\n CustomerBsnSearchRequest,\n CustomerDataSearchRequest,\n CustomerSearchRequest,\n MappedCustomer,\n} from '../../models';\nimport {ConfigService} from '@valtimo/config';\nimport {Router} from '@angular/router';\n\n/**\n * @deprecated Will be replace by new plugins\n */\n@Component({\n selector: 'valtimo-customer-list',\n templateUrl: './customer-list.component.html',\n styleUrls: ['./customer-list.component.scss'],\n})\nexport class CustomerListComponent {\n fields$: Observable<Array<{key: string; label: string}>> = combineLatest([\n this.translateService.stream('customers.name'),\n this.translateService.stream('customers.citizenServiceNumber'),\n this.translateService.stream('customers.dateOfBirth'),\n ]).pipe(\n map(([nameLabel, numberLabel, dateOfBirthLabel]) => [\n {\n label: numberLabel,\n key: 'citizenServiceNumber',\n },\n {\n label: nameLabel,\n key: 'name',\n },\n {\n label: dateOfBirthLabel,\n key: 'dateOfBirth',\n },\n ])\n );\n\n readonly bsn$ = new BehaviorSubject<string>('');\n readonly bsnValid$: Observable<boolean> = this.bsn$.pipe(\n map(bsn => {\n const regex = new RegExp(/^[0-9]{9}$/gm);\n return regex.test(bsn);\n })\n );\n readonly dateOfBirth$ = new BehaviorSubject<string>('');\n readonly dateOfBirthValid$: Observable<boolean> = this.dateOfBirth$.pipe(\n map(dateOfBirth => {\n const regex = new RegExp(/^[0-9]{4}-[0-9]{2}-[0-9]{2}$/gm);\n return regex.test(dateOfBirth);\n })\n );\n readonly familyName$ = new BehaviorSubject<string>('');\n\n private readonly searchParameters$: Observable<CustomerSearchRequest | undefined> = combineLatest(\n [this.bsn$, this.dateOfBirth$, this.familyName$, this.bsnValid$, this.dateOfBirthValid$]\n ).pipe(\n map(([bsn, dateOfBirth, familyName, bsnValid, dateOfBirthValid]) => {\n if (bsn && bsnValid) {\n this.loading$.next(true);\n\n return {bsn};\n } else if (dateOfBirth && familyName && dateOfBirthValid) {\n this.loading$.next(true);\n\n return {\n geslachtsnaam: familyName,\n geboortedatum: dateOfBirth,\n };\n }\n\n return undefined;\n })\n );\n\n customers$: Observable<Array<MappedCustomer>> = this.searchParameters$.pipe(\n debounceTime(500),\n switchMap(searchParameters => {\n if (\n (searchParameters as CustomerBsnSearchRequest)?.bsn ||\n ((searchParameters as CustomerDataSearchRequest)?.geslachtsnaam &&\n (searchParameters as CustomerDataSearchRequest)?.geboortedatum)\n ) {\n return this.customerService\n .getCustomers(searchParameters as CustomerSearchRequest)\n .pipe(catchError(() => of([])));\n }\n\n return of([]);\n }),\n map(customers =>\n (customers as Array<Customer>).map(customer => ({\n citizenServiceNumber: customer.burgerservicenummer,\n dateOfBirth: customer.geboorteDatum,\n name: `${customer.geslachtsnaam}, ${customer.voornamen} ${customer.voorletters}`,\n }))\n ),\n tap(() => {\n this.loading$.next(false);\n })\n );\n\n readonly loading$ = new BehaviorSubject<boolean>(true);\n\n constructor(\n private readonly customerService: CustomerService,\n private readonly translateService: TranslateService,\n private readonly configService: ConfigService,\n private readonly router: Router\n ) {}\n\n bsnChange(bsn: string): void {\n this.clearDateOfBirth();\n this.clearFamilyName();\n this.bsn$.next(bsn);\n }\n\n dateOfBirthChange(dateOfBirth: string): void {\n this.clearBsn();\n this.dateOfBirth$.next(dateOfBirth);\n }\n\n familyNameChange(familyName: string): void {\n this.clearBsn();\n this.familyName$.next(familyName);\n }\n\n public rowClick(customer: MappedCustomer) {\n const config = this.configService.config;\n const bsn = customer?.citizenServiceNumber;\n\n if (bsn && config?.featureToggles?.enableHackathonCasesPage) {\n this.router.navigate([`/klanten/klant/${bsn}`]);\n }\n }\n\n private clearBsn(): void {\n this.bsn$.next('');\n }\n\n private clearDateOfBirth(): void {\n this.dateOfBirth$.next('');\n }\n\n private clearFamilyName(): void {\n this.familyName$.next('');\n }\n}\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\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","/*\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\nimport {Component} from '@angular/core';\nimport {ActivatedRoute} from '@angular/router';\nimport {BehaviorSubject, Observable, of} from 'rxjs';\nimport {switchMap, tap} from 'rxjs/operators';\nimport {CustomerCase} from '../../models';\nimport {CustomerService} from '../../services/customer.service';\nimport {TableColumn} from '@valtimo/components';\n\n/**\n * @deprecated Will be replace by new plugins\n */\n@Component({\n selector: 'valtimo-cases-list',\n templateUrl: './cases-list.component.html',\n styleUrls: ['./cases-list.component.scss'],\n})\nexport class CasesListComponent {\n readonly customerCases$: Observable<Array<CustomerCase>> = this.route.params.pipe(\n switchMap(params => (params?.bsn ? this.customerService.getCustomerCases(params.bsn) : of([]))),\n tap(() => this.loading$.next(false))\n );\n\n readonly loading$ = new BehaviorSubject<boolean>(true);\n\n readonly columns$ = new BehaviorSubject<Array<TableColumn>>([\n {\n labelTranslationKey: 'customerCases.labels.zaakNummer',\n dataKey: 'zaakNummer',\n },\n {\n labelTranslationKey: 'customerCases.labels.zaakStatus',\n dataKey: 'zaakStatus',\n },\n {\n labelTranslationKey: 'customerCases.labels.zaakType',\n dataKey: 'zaakType',\n },\n ]);\n\n constructor(\n private readonly route: ActivatedRoute,\n private readonly customerService: CustomerService\n ) {}\n}\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\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","/*\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\nimport {NgModule} from '@angular/core';\nimport {RouterModule, Routes} from '@angular/router';\nimport {CommonModule} from '@angular/common';\nimport {AuthGuardService} from '@valtimo/security';\nimport {ROLE_USER} from '@valtimo/config';\nimport {CustomerListComponent} from './components/customer-list/customer-list.component';\nimport {CasesListComponent} from './components/cases-list/cases-list.component';\n\nconst routes: Routes = [\n {\n path: 'klanten',\n component: CustomerListComponent,\n canActivate: [AuthGuardService],\n data: {title: 'Customers', roles: [ROLE_USER]},\n },\n {\n path: 'klanten/klant/:bsn',\n component: CasesListComponent,\n canActivate: [AuthGuardService],\n data: {title: 'customerCases', roles: [ROLE_USER]},\n },\n];\n\n@NgModule({\n imports: [CommonModule, RouterModule.forChild(routes)],\n exports: [RouterModule],\n})\nexport class CustomerRoutingModule {}\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\nimport {NgModule} from '@angular/core';\nimport {CustomerListComponent} from './components/customer-list/customer-list.component';\nimport {\n WidgetModule,\n ListModule,\n SpinnerModule,\n FilterSidebarModule,\n PageModule,\n ParagraphModule,\n TableModule,\n TitleModule,\n} from '@valtimo/components';\nimport {CustomerRoutingModule} from './customer-routing.module';\nimport {CommonModule} from '@angular/common';\nimport {TranslateModule} from '@ngx-translate/core';\nimport {FormsModule} from '@angular/forms';\nimport {CasesListComponent} from './components/cases-list/cases-list.component';\n\n/**\n * @deprecated Will be replace by new plugins\n */\n@NgModule({\n imports: [\n CommonModule,\n WidgetModule,\n CustomerRoutingModule,\n ListModule,\n SpinnerModule,\n TranslateModule,\n FilterSidebarModule,\n FormsModule,\n PageModule,\n TitleModule,\n ParagraphModule,\n TableModule,\n ],\n declarations: [CustomerListComponent, CasesListComponent],\n exports: [CustomerListComponent, CasesListComponent],\n})\nexport class CustomerModule {}\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\nexport * from './services';\nexport * from './models';\nexport * from './customer.module';\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\nimport {Injectable} from '@angular/core';\nimport {BaseApiService, ConfigService} from '@valtimo/config';\nimport {HttpClient} from '@angular/common/http';\nimport {Observable} from 'rxjs';\nimport {\n DocumentObjectenApiSync,\n DocumentObjectenApiSyncRequest,\n ObjectManagementConfiguration,\n} from '../models';\nimport {DocumentDefinition} from '@valtimo/document/public_api';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class DocumentObjectenApiSyncService extends BaseApiService {\n constructor(\n protected readonly httpClient: HttpClient,\n protected readonly configService: ConfigService\n ) {\n super(httpClient, configService);\n }\n\n public getDocumentDefinition(documentDefinitionName: string): Observable<DocumentDefinition> {\n return this.httpClient.get<DocumentDefinition>(\n this.getApiUrl(`/v1/document-definition/${documentDefinitionName}`)\n );\n }\n\n public getObjectManagementConfigurations(): Observable<Array<ObjectManagementConfiguration>> {\n return this.httpClient.get<Array<ObjectManagementConfiguration>>(\n this.getApiUrl(`/management/v1/object/management/configuration`)\n );\n }\n\n public getDocumentObjectenApiSync(\n documentDefinitionName: string,\n documentDefinitionVersion: number\n ): Observable<DocumentObjectenApiSync> {\n return this.httpClient.get<DocumentObjectenApiSync>(\n this.getApiUrl(\n `/management/v1/document-definition/${documentDefinitionName}/version/${documentDefinitionVersion}/objecten-api-sync`\n )\n );\n }\n\n public updateDocumentObjectenApiSync(\n documentDefinitionName: string,\n documentDefinitionVersion: number,\n request: {\n objectManagementConfigurationId: string;\n enabled: boolean;\n }\n ): Observable<void> {\n return this.httpClient.put<void>(\n this.getApiUrl(\n `/management/v1/document-definition/${documentDefinitionName}/version/${documentDefinitionVersion}/objecten-api-sync`\n ),\n request\n );\n }\n\n public deleteDocumentObjectenApiSync(\n documentDefinitionName: string,\n documentDefinitionVersion: number\n ): Observable<void> {\n return this.httpClient.delete<void>(\n this.getApiUrl(\n `/management/v1/document-definition/${documentDefinitionName}/version/${documentDefinitionVersion}/objecten-api-sync`\n )\n );\n }\n}\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\nexport * from './document-objecten-api-sync.service';\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\nimport {Component, OnInit} from '@angular/core';\nimport {\n AbstractControl,\n FormControl,\n FormGroup,\n FormsModule,\n ReactiveFormsModule,\n Validators,\n} from '@angular/forms';\nimport {ActivatedRoute} from '@angular/router';\nimport {\n CdsThemeService,\n FormModule,\n InputModule,\n SelectItem,\n SelectModule,\n SpinnerModule,\n ValtimoCdsModalDirectiveModule,\n} from '@valtimo/components';\nimport {TranslateModule} from '@ngx-translate/core';\nimport {BehaviorSubject, map, Observable, switchMap, tap} from 'rxjs';\nimport {CommonModule} from '@angular/common';\nimport {ButtonModule, CheckboxModule, ModalModule} from 'carbon-components-angular';\nimport {DocumentObjectenApiSyncService} from '../../services';\nimport {DocumentObjectenApiSync} from '../../models';\nimport {DocumentDefinition} from '@valtimo/document';\n\n@Component({\n selector: 'valtimo-document-objecten-api-sync',\n templateUrl: './document-objecten-api-sync.component.html',\n styleUrls: ['./document-objecten-api-sync.component.scss'],\n standalone: true,\n imports: [\n CommonModule,\n FormsModule,\n TranslateModule,\n SpinnerModule,\n FormModule,\n InputModule,\n SelectModule,\n ValtimoCdsModalDirectiveModule,\n CheckboxModule,\n ReactiveFormsModule,\n ButtonModule,\n ModalModule,\n ],\n})\nexport class DocumentObjectenApiSyncComponent implements OnInit {\n public readonly loading$ = new BehaviorSubject<boolean>(true);\n private readonly documentDefinitionName$: Observable<string> = this.route.params.pipe(\n map(params => params.name || '')\n );\n private readonly documentDefinition$: Observable<DocumentDefinition> =\n this.documentDefinitionName$.pipe(\n switchMap(documentDefinitionName =>\n this.documentObjectenApiSyncService.getDocumentDefinition(documentDefinitionName)\n )\n );\n public readonly documentObjectenApiSync$ = new BehaviorSubject<DocumentObjectenApiSync>(null);\n public readonly objectManagementConfigurationItems$: Observable<Array<SelectItem>> =\n this.documentObjectenApiSyncService.getObjectManagementConfigurations().pipe(\n map(results =>\n results?.map(configuration => ({\n id: configuration.id,\n text: configuration.title,\n }))\n )\n );\n private readonly modalShowing$ = new BehaviorSubject<boolean>(false);\n public readonly currentTheme$ = this.cdsThemeService.currentTheme$\n public readonly formGroup = new FormGroup({\n objectManagementConfigurationId: new FormControl('', Validators.required),\n enabled: new FormControl(true),\n });\n\n public get objectManagementConfigurationId(): AbstractControl<string> {\n return this.formGroup.get('objectManagementConfigurationId');\n }\n\n public get enabled(): AbstractControl<boolean> {\n return this.formGroup.get('enabled');\n }\n\n public readonly valid$ = new BehaviorSubject<boolean>(false);\n\n constructor(\n private readonly route: ActivatedRoute,\n private readonly documentObjectenApiSyncService: DocumentObjectenApiSyncService,\n private readonly cdsThemeService: CdsThemeService\n ) {}\n\n public ngOnInit(): void {\n this.loadDocumentenObjectenApiSync();\n }\n\n public loadDocumentenObjectenApiSync(): void {\n this.documentDefinition$\n .pipe(\n switchMap(documentDefinition =>\n this.documentObjectenApiSyncService.getDocumentObjectenApiSync(\n documentDefinition.id.name,\n documentDefinition.id.version\n )\n )\n )\n .subscribe(documentObjectenApiSync => {\n this.loading$.next(false);\n this.configSelected(documentObjectenApiSync?.objectManagementConfigurationId);\n this.enabled.patchValue(documentObjectenApiSync?.enabled);\n this.documentObjectenApiSync$.next(documentObjectenApiSync);\n });\n }\n\n public remove(): void {\n this.documentDefinition$\n .pipe(\n switchMap(documentDefinition =>\n this.documentObjectenApiSyncService.deleteDocumentObjectenApiSync(\n documentDefinition.id.name,\n documentDefinition.id.version\n )\n ),\n tap(() => {\n this.documentObjectenApiSync$.next(null);\n })\n )\n .subscribe();\n }\n\n public submit(): void {\n const formValues = this.formGroup.getRawValue();\n this.documentDefinition$\n .pipe(\n switchMap(documentDefinition =>\n this.documentObjectenApiSyncService.updateDocumentObjectenApiSync(\n documentDefinition.id.name,\n documentDefinition.id.version,\n {\n objectManagementConfigurationId: formValues.objectManagementConfigurationId,\n enabled: formValues.enabled,\n }\n )\n )\n )\n .subscribe(() => {\n this.loadDocumentenObjectenApiSync();\n this.hideModal();\n });\n }\n\n public onModalClose(): void {\n this.hideModal();\n }\n\n public showModal(): void {\n this.modalShowing$.next(true);\n }\n\n public configSelected(selectedId: string): void {\n if (!selectedId) {\n this.objectManagementConfigurationId.patchValue('');\n } else {\n this.objectManagementConfigurationId.patchValue(selectedId);\n }\n }\n\n private hideModal(): void {\n this.modalShowing$.next(false);\n }\n}\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\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","/*\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\nexport * from './document-objecten-api-sync/document-objecten-api-sync.component';\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\nexport * from './document-objecten-api-sync.model';\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\nexport * from './components';\nexport * from './models';\nexport * from './services';\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\nimport {Injectable} from '@angular/core';\nimport {BaseApiService, ConfigService} from '@valtimo/config';\nimport {HttpClient} from '@angular/common/http';\nimport {Observable} from 'rxjs';\nimport {PluginConfiguration} from '../models';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ZakenApiZaaktypeLinkService extends BaseApiService {\n constructor(\n protected readonly httpClient: HttpClient,\n protected readonly configService: ConfigService\n ) {\n super(httpClient, configService);\n }\n\n public getPluginConfigurationsByPluginDefinitionKey(\n pluginDefinitionKey: string\n ): Observable<Array<PluginConfiguration>> {\n return this.httpClient.get<Array<PluginConfiguration>>(\n this.getApiUrl(`/v1/plugin/configuration?pluginDefinitionKey=${pluginDefinitionKey}`)\n );\n }\n}\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\nexport * from './zaken-api-zaaktype-link.service';\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\nimport {Component, OnInit, ViewChild} from '@angular/core';\nimport {\n CreateInformatieObjectTypeLinkRequest,\n CreateZaakTypeLinkRequest,\n InformatieObjectType,\n OpenZaakService,\n ZaakType,\n ZaakTypeLink,\n} from '@valtimo/resource';\nimport {FormsModule} from '@angular/forms';\nimport {ActivatedRoute} from '@angular/router';\nimport {AlertService, ModalComponent, ModalModule} from '@valtimo/components';\nimport {ToastrService} from 'ngx-toastr';\nimport {TranslateModule, TranslateService} from '@ngx-translate/core';\nimport {BehaviorSubject, map, Observable} from 'rxjs';\nimport {ConfigService, UploadProvider} from '@valtimo/config';\nimport {PluginConfiguration} from '@valtimo/plugin';\nimport {CommonModule} from '@angular/common';\nimport {NotificationModule} from 'carbon-components-angular';\nimport {ZakenApiZaaktypeLinkService} from '../../services';\n\n@Component({\n selector: 'valtimo-zaken-api-zaaktype-link',\n templateUrl: './zaken-api-zaaktype-link.component.html',\n styleUrls: ['./zaken-api-zaaktype-link.component.scss'],\n standalone: true,\n imports: [CommonModule, FormsModule, ModalModule, NotificationModule, TranslateModule],\n})\nexport class ZakenApiZaaktypeLinkComponent implements OnInit {\n public zaakTypes: ZaakType[];\n public pluginConfigurations: PluginConfiguration[];\n public zaakTypeLinkRequest: CreateZaakTypeLinkRequest;\n public informatieObjectTypeSelectionEnabled: boolean;\n public informatieObjectTypes: InformatieObjectType[];\n public selectedZaakType: ZaakType = null;\n public selectedPluginConfiguration: PluginConfiguration = null;\n public selectedInformatieObjectTypeUrl: string = null;\n private readonly documentDefinitionName: string;\n\n readonly loading$ = new BehaviorSubject<boolean>(true);\n readonly zaakTypeLink$ = new BehaviorSubject<ZaakTypeLink>(null);\n\n readonly documentDefinitionName$: Observable<string> = this.route.params.pipe(\n map(params => params.name || '')\n );\n\n @ViewChild('openZaakTypeLinkModal') modal: ModalComponent;\n\n constructor(\n private readonly route: ActivatedRoute,\n private readonly openZaakService: OpenZaakService,\n private readonly alertService: AlertService,\n private readonly toasterService: ToastrService,\n private readonly translateService: TranslateService,\n private readonly zakenApiZaaktypeLinkService: ZakenApiZaaktypeLinkService,\n private readonly configService: ConfigService\n ) {\n this.documentDefinitionName = this.route.snapshot.paramMap.get('name');\n this.informatieObjectTypeSelectionEnabled =\n this.configService.config.uploadProvider === UploadProvider.OPEN_ZAAK;\n }\n\n public ngOnInit(): void {\n this.zaakTypeLinkRequest = {\n documentDefinitionName: this.documentDefinitionName,\n createWithDossier: false,\n };\n this.openZaakService.getZaakTypeLink(this.documentDefinitionName).subscribe(zaakTypeLink => {\n if (zaakTypeLink !== null) {\n this.zaakTypeLinkRequest = {\n documentDefinitionName: this.documentDefinitionName,\n createWithDossier: zaakTypeLink?.createWithDossier,\n rsin: zaakTypeLink?.rsin,\n zakenApiPluginConfigurationId: zaakTypeLink?.zakenApiPluginConfigurationId,\n zaakTypeUrl: zaakTypeLink?.zaakTypeUrl,\n };\n }\n this.zaakTypeLink$.next(zaakTypeLink);\n this.loadZaakTypes();\n this.loadZakenApiPluginConfigurations();\n });\n this.loading$.next(false);\n }\n\n private findZaakType(zaakTypeUrl: string) {\n this.selectedZaakType = this.zaakTypes.find(zaakType => zaakType.url === zaakTypeUrl);\n }\n\n private findPluginConfiguration(pluginConfigurationId: string) {\n this.selectedPluginConfiguration = this.pluginConfigurations.find(\n pluginConfiguration => pluginConfiguration.id === pluginConfigurationId\n );\n }\n\n loadZaakTypes() {\n return this.openZaakService.getZaakTypes().subscribe((zaakTypes: ZaakType[]) => {\n this.zaakTypes = zaakTypes;\n this.findZaakType(this.zaakTypeLink$.getValue()?.zaakTypeUrl);\n this.loading$.next(false);\n });\n }\n\n loadZakenApiPluginConfigurations() {\n return this.zakenApiZaaktypeLinkService\n .getPluginConfigurationsByPluginDefinitionKey('zakenapi')\n .subscribe((plugins: PluginConfiguration[]) => {\n this.pluginConfigurations = plugins;\n this.findPluginConfiguration(this.zaakTypeLink$.getValue()?.zakenApiPluginConfigurationId);\n });\n }\n\n loadInformatieObjectTypeUrls() {\n this.openZaakService\n .getInformatieObjectTypes()\n .subscribe((informatieObjectTypes: InformatieObjectType[]) => {\n this.informatieObjectTypes = informatieObjectTypes;\n });\n }\n\n openModal(zaakTypeLink: ZaakTypeLink) {\n this.zaakTypeLinkRequest = {\n documentDefinitionName: this.documentDefinitionName,\n createWithDossier: zaakTypeLink?.createWithDossier,\n rsin: zaakTypeLink?.rsin,\n zakenApiPluginConfigurationId: zaakTypeLink?.zakenApiPluginConfigurationId,\n zaakTypeUrl: zaakTypeLink?.zaakTypeUrl,\n };\n if (this.informatieObjectTypeSelectionEnabled) {\n this.openZaakService.getOpenZaakConfig().subscribe(config => {\n if (config === null) {\n this.alertService.error(this.translateService.instant('openZaak.error.configNotFound'));\n } else {\n this.loadInformatieObjectTypeUrls();\n this.openZaakService\n .getInformatieObjectTypeLink(this.documentDefinitionName)\n .subscribe(informatieObjectTypeLink => {\n if (informatieObjectTypeLink !== null) {\n this.selectedInformatieObjectTypeUrl =\n informatieObjectTypeLink.informatieObjectType;\n }\n });\n }\n this.modal.show();\n });\n } else {\n this.modal.show();\n }\n }\n\n removeZaakTypeLink() {\n this.openZaakService.deleteZaakTypeLink(this.documentDefinitionName).subscribe(\n () => {\n if (this.selectedInformatieObjectTypeUrl !== null) {\n this.openZaakService.deleteInformatieObjectTypeLink(this.documentDefinitionName);\n }\n this.toasterService.success('Successfully de-linked zaaktype');\n this.zaakTypeLink$.next(null);\n },\n () => {\n this.toasterService.error('Failed to de-link zaaktype');\n }\n );\n }\n\n submit() {\n const requestInformatieObjectTypeLink: CreateInformatieObjectTypeLinkRequest = {\n documentDefinitionName: this.documentDefinitionName,\n zaakType: this.zaakTypeLinkRequest.zaakTypeUrl,\n informatieObjectType: this.selectedInformatieObjectTypeUrl,\n };\n this.openZaakService.createZaakTypeLink(this.zaakTypeLinkRequest).subscribe(\n linkResult => {\n this.zaakTypeLink$.next(linkResult);\n this.zaakTypeLinkRequest = {\n documentDefinitionName: this.documentDefinitionName,\n createWithDossier: linkResult?.createWithDossier,\n rsin: linkResult?.rsin,\n zakenApiPluginConfigurationId: linkResult?.zakenApiPluginConfigurationId,\n zaakTypeUrl: linkResult?.zaakTypeUrl,\n };\n this.findZaakType(linkResult.zaakTypeUrl);\n this.findPluginConfiguration(linkResult.zakenApiPluginConfigurationId);\n if (requestInformatieObjectTypeLink.informatieObjectType !== null) {\n this.openZaakService\n .createInformatieObjectTypeLink(requestInformatieObjectTypeLink)\n .subscribe(() => {\n this.toasterService.success('Successfully linked object informatie type to dossier');\n });\n }\n this.toasterService.success('Successfully linked zaaktype to dossier');\n },\n err => {\n this.toasterService.error('Failed to link zaaktype to dossier');\n }\n );\n }\n}\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\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","/*\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\nexport * from './zaken-api-zaaktype-link/zaken-api-zaaktype-link.component';\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\nexport * from './zaken-api-zaaktype-link.model';\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\nexport * from './components';\nexport * from './models';\nexport * from './services';\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\nexport * from './documenten-api';\nexport * from './objecten-api';\nexport * from './contactmomenten';\nexport * from './haalcentraal-brp';\nexport * from './zaakdetails';\nexport * from './zaken-api';\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 */\nimport {Injectable} from '@angular/core';\nimport {BehaviorSubject, Observable} from 'rxjs';\nimport {ZgwTabEnum} from '../models';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class DossierManagementZgwService {\n public configuredTabKeys: string[];\n\n private _currentTab$ = new BehaviorSubject<ZgwTabEnum>(ZgwTabEnum.DOCUMENTEN_API_COLUMNS);\n public get currentTab$(): Observable<ZgwTabEnum> {\n return this._currentTab$.asObservable();\n }\n public set currentTab(tab: ZgwTabEnum) {\n this._currentTab$.next(tab);\n }\n}\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\nexport * from './dossier-management-zgw.service';\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\nimport {ChangeDetectionStrategy, Component} from '@angular/core';\nimport {TabsModule} from 'carbon-components-angular';\nimport {DossierManagementZgwService} from '../../services';\nimport {ZgwTabEnum} from '../../models';\nimport {TranslateModule} from '@ngx-translate/core';\nimport {CommonModule} from '@angular/common';\nimport {DocumentenApiColumnsComponent} from '../../modules';\n\n@Component({\n templateUrl: './dossier-management-zgw.component.html',\n styleUrls: ['./dossier-management-zgw.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true,\n imports: [CommonModule, TabsModule, TranslateModule, DocumentenApiColumnsComponent],\n})\nexport class DossierManagementZgwComponent {\n public readonly ZgwTabEnum = ZgwTabEnum;\n\n public readonly currentTab$ = this.dossierManagementZgwService.currentTab$;\n\n constructor(private readonly dossierManagementZgwService: DossierManagementZgwService) {}\n\n public displayTab(tab: ZgwTabEnum): void {\n this.dossierManagementZgwService.currentTab = tab;\n }\n}\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\n<ng-container *ngIf=\"currentTab$ | async as currentTab\">\n <ng-container\n *ngIf=\"{\n documentenApiColumnsActive: currentTab === ZgwTabEnum.DOCUMENTEN_API_COLUMNS\n } as vars\"\n >\n <cds-tabs class=\"dossier-management-tabs\">\n <cds-tab\n class=\"no-padding-left-right no-padding-top-bottom\"\n [active]=\"vars.documentenApiColumnsActive\"\n [heading]=\"'dossierManagement.tabs.zgw' | translate\"\n (selected)=\"displayTab(ZgwTabEnum.DOCUMENTEN_API_COLUMNS)\"\n ></cds-tab\n ></cds-tabs>\n\n <div class=\"dossier-management-zgw__content\">\n <valtimo-documenten-api-columns\n *ngIf=\"vars.documentenApiColumnsActive\"\n ></valtimo-documenten-api-columns>\n </div>\n </ng-container>\n</ng-container>\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\nexport * from './dossier-management-zgw/dossier-management-zgw.component';\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\nimport {NgModule} from '@angular/core';\nimport {\n CustomerModule,\n DocumentenApiMetadataModalComponent,\n DocumentenApiUploaderComponent,\n DocumentenApiVersionComponent,\n DossierDetailTabDocumentenApiDocumentsComponent,\n DossierDetailTabObjectTypeComponent,\n DossierManagementLinkProcessComponent,\n DocumentObjectenApiSyncComponent,\n ZakenApiZaaktypeLinkComponent,\n} from './modules';\nimport {\n ZGW_CASE_CONFIGURATION_EXTENSIONS_TOKEN,\n ZGW_DOCUMENTEN_API_DOCUMENTS_COMPONENT_TOKEN,\n ZGW_OBJECT_TYPE_COMPONENT_TOKEN,\n} from '@valtimo/config';\nimport {CommonModule} from '@angular/common';\nimport {FormioModule} from '@formio/angular';\nimport {TranslateModule} from '@ngx-translate/core';\nimport {RouterModule} from '@angular/router';\nimport {DropzoneModule, FileSizeModule} from '@valtimo/components';\nimport {DocumentModule} from '@valtimo/document';\nimport {ResourceModule} from '@valtimo/resource';\n\n@NgModule({\n imports: [\n CommonModule,\n FormioModule,\n DropzoneModule,\n TranslateModule,\n DocumentModule,\n FileSizeModule,\n ResourceModule,\n RouterModule,\n DocumentenApiMetadataModalComponent,\n CustomerModule,\n ],\n declarations: [DocumentenApiUploaderComponent],\n exports: [DocumentenApiUploaderComponent],\n providers: [\n {\n provide: ZGW_OBJECT_TYPE_COMPONENT_TOKEN,\n useValue: DossierDetailTabObjectTypeComponent,\n },\n {\n provide: ZGW_DOCUMENTEN_API_DOCUMENTS_COMPONENT_TOKEN,\n useValue: DossierDetailTabDocumentenApiDocumentsComponent,\n },\n {\n provide: ZGW_CASE_CONFIGURATION_EXTENSIONS_TOKEN,\n useValue: [\n DossierManagementLinkProcessComponent,\n DocumentenApiVersionComponent,\n DocumentObjectenApiSyncComponent,\n ZakenApiZaaktypeLinkComponent,\n ],\n },\n ],\n})\nexport class ZgwModule {}\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\n/*\n * Public API Surface of documenten-api\n */\n\nexport * from './lib/components';\nexport * from './lib/models';\nexport * from './lib/services';\nexport * from './lib/modules';\nexport * from './lib/zgw.module';\n\n// haalcentraal-brp\nexport * from './lib/modules/haalcentraal-brp/components/cases-list/cases-list.component';\nexport * from './lib/modules/haalcentraal-brp/components/customer-list/customer-list.component';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["i1","i4","i5","i2","i2.DocumentenApiColumnService","i6","tap","i3","ButtonModule","InputModule","map","filter","switchMap","take","i7","i8.DocumentenApiDocumentService","i9","i10","i3.DocumentenApiLinkProcessService","i3.DocumentenApiVersionService","i2.DocumentenApiVersionService","i7.DocumentenApiMetadataModalComponent","i2.ZaakobjectenService","i1.ContactMomentService","ModalModule","i1.CustomerService","i2.CustomerService","i2.DocumentObjectenApiSyncService","i6.ZakenApiZaaktypeLinkService","i8","i1.DossierManagementZgwService"],"mappings":"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"}