@valtimo/plugin 0.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 (422) hide show
  1. package/README.md +31 -0
  2. package/fesm2022/valtimo-plugin.mjs +10195 -0
  3. package/fesm2022/valtimo-plugin.mjs.map +1 -0
  4. package/index.d.ts +6 -0
  5. package/lib/components/default-plugin-configuration/default-plugin-configuration.component.d.ts +22 -0
  6. package/lib/components/default-plugin-configuration/default-plugin-configuration.component.d.ts.map +1 -0
  7. package/lib/components/default-plugin-configuration/default-plugin-configuration.module.d.ts +12 -0
  8. package/lib/components/default-plugin-configuration/default-plugin-configuration.module.d.ts.map +1 -0
  9. package/lib/components/plugin-configuration-container/plugin-configuration-container.component.d.ts +42 -0
  10. package/lib/components/plugin-configuration-container/plugin-configuration-container.component.d.ts.map +1 -0
  11. package/lib/components/plugin-configuration-container/plugin-configuration-container.module.d.ts +12 -0
  12. package/lib/components/plugin-configuration-container/plugin-configuration-container.module.d.ts.map +1 -0
  13. package/lib/constants/index.d.ts +2 -0
  14. package/lib/constants/index.d.ts.map +1 -0
  15. package/lib/constants/injection-tokens.d.ts +5 -0
  16. package/lib/constants/injection-tokens.d.ts.map +1 -0
  17. package/lib/models/index.d.ts +2 -0
  18. package/lib/models/index.d.ts.map +1 -0
  19. package/lib/models/plugin.d.ts +74 -0
  20. package/lib/models/plugin.d.ts.map +1 -0
  21. package/lib/pipes/index.d.ts +2 -0
  22. package/lib/pipes/index.d.ts.map +1 -0
  23. package/lib/pipes/plugin-translate/index.d.ts +3 -0
  24. package/lib/pipes/plugin-translate/index.d.ts.map +1 -0
  25. package/lib/pipes/plugin-translate/plugin-translate-pipe.module.d.ts +9 -0
  26. package/lib/pipes/plugin-translate/plugin-translate-pipe.module.d.ts.map +1 -0
  27. package/lib/pipes/plugin-translate/plugin-translate.pipe.d.ts +12 -0
  28. package/lib/pipes/plugin-translate/plugin-translate.pipe.d.ts.map +1 -0
  29. package/lib/plugins/besluiten-api/assets/besluiten-api-plugin-logo.d.ts +3 -0
  30. package/lib/plugins/besluiten-api/assets/besluiten-api-plugin-logo.d.ts.map +1 -0
  31. package/lib/plugins/besluiten-api/assets/index.d.ts +2 -0
  32. package/lib/plugins/besluiten-api/assets/index.d.ts.map +1 -0
  33. package/lib/plugins/besluiten-api/besluiten-api-plugin.module.d.ts +16 -0
  34. package/lib/plugins/besluiten-api/besluiten-api-plugin.module.d.ts.map +1 -0
  35. package/lib/plugins/besluiten-api/besluiten-api-plugin.specification.d.ts +4 -0
  36. package/lib/plugins/besluiten-api/besluiten-api-plugin.specification.d.ts.map +1 -0
  37. package/lib/plugins/besluiten-api/components/besluiten-api-configuration/besluiten-api-configuration.component.d.ts +34 -0
  38. package/lib/plugins/besluiten-api/components/besluiten-api-configuration/besluiten-api-configuration.component.d.ts.map +1 -0
  39. package/lib/plugins/besluiten-api/components/create-zaak-besluit/create-zaak-besluit-configuration.component.d.ts +57 -0
  40. package/lib/plugins/besluiten-api/components/create-zaak-besluit/create-zaak-besluit-configuration.component.d.ts.map +1 -0
  41. package/lib/plugins/besluiten-api/components/get-besluit/get-besluit-configuration.component.d.ts +24 -0
  42. package/lib/plugins/besluiten-api/components/get-besluit/get-besluit-configuration.component.d.ts.map +1 -0
  43. package/lib/plugins/besluiten-api/components/link-document-to-besluit/link-document-to-besluit-configuration.component.d.ts +24 -0
  44. package/lib/plugins/besluiten-api/components/link-document-to-besluit/link-document-to-besluit-configuration.component.d.ts.map +1 -0
  45. package/lib/plugins/besluiten-api/components/patch-zaak-besluit/patch-zaak-besluit-configuration.component.d.ts +39 -0
  46. package/lib/plugins/besluiten-api/components/patch-zaak-besluit/patch-zaak-besluit-configuration.component.d.ts.map +1 -0
  47. package/lib/plugins/besluiten-api/models/config.d.ts +45 -0
  48. package/lib/plugins/besluiten-api/models/config.d.ts.map +1 -0
  49. package/lib/plugins/besluiten-api/models/index.d.ts +3 -0
  50. package/lib/plugins/besluiten-api/models/index.d.ts.map +1 -0
  51. package/lib/plugins/besluiten-api/models/input.d.ts +3 -0
  52. package/lib/plugins/besluiten-api/models/input.d.ts.map +1 -0
  53. package/lib/plugins/besluiten-api/models/patch-besluit-properties.d.ts +3 -0
  54. package/lib/plugins/besluiten-api/models/patch-besluit-properties.d.ts.map +1 -0
  55. package/lib/plugins/besluiten-api/services/besluiten-api.service.d.ts +13 -0
  56. package/lib/plugins/besluiten-api/services/besluiten-api.service.d.ts.map +1 -0
  57. package/lib/plugins/besluiten-api/services/index.d.ts +2 -0
  58. package/lib/plugins/besluiten-api/services/index.d.ts.map +1 -0
  59. package/lib/plugins/catalogi-api/assets/catalogi-api-plugin-logo.d.ts +3 -0
  60. package/lib/plugins/catalogi-api/assets/catalogi-api-plugin-logo.d.ts.map +1 -0
  61. package/lib/plugins/catalogi-api/assets/index.d.ts +2 -0
  62. package/lib/plugins/catalogi-api/assets/index.d.ts.map +1 -0
  63. package/lib/plugins/catalogi-api/catalogi-api-plugin-module.d.ts +17 -0
  64. package/lib/plugins/catalogi-api/catalogi-api-plugin-module.d.ts.map +1 -0
  65. package/lib/plugins/catalogi-api/catalogi-api-plugin.specification.d.ts +4 -0
  66. package/lib/plugins/catalogi-api/catalogi-api-plugin.specification.d.ts.map +1 -0
  67. package/lib/plugins/catalogi-api/components/catalogi-api-configuration/catalogi-api-configuration.component.d.ts +34 -0
  68. package/lib/plugins/catalogi-api/components/catalogi-api-configuration/catalogi-api-configuration.component.d.ts.map +1 -0
  69. package/lib/plugins/catalogi-api/components/get-besluittype/get-besluittype-configuration.component.d.ts +24 -0
  70. package/lib/plugins/catalogi-api/components/get-besluittype/get-besluittype-configuration.component.d.ts.map +1 -0
  71. package/lib/plugins/catalogi-api/components/get-eigenschap/get-eigenschap-configuration.component.d.ts +24 -0
  72. package/lib/plugins/catalogi-api/components/get-eigenschap/get-eigenschap-configuration.component.d.ts.map +1 -0
  73. package/lib/plugins/catalogi-api/components/get-resultaattype/get-resultaattype-configuration.component.d.ts +24 -0
  74. package/lib/plugins/catalogi-api/components/get-resultaattype/get-resultaattype-configuration.component.d.ts.map +1 -0
  75. package/lib/plugins/catalogi-api/components/get-resultaattypen/get-resultaattypen-configuration.component.d.ts +24 -0
  76. package/lib/plugins/catalogi-api/components/get-resultaattypen/get-resultaattypen-configuration.component.d.ts.map +1 -0
  77. package/lib/plugins/catalogi-api/components/get-statustype/get-statustype-configuration.component.d.ts +24 -0
  78. package/lib/plugins/catalogi-api/components/get-statustype/get-statustype-configuration.component.d.ts.map +1 -0
  79. package/lib/plugins/catalogi-api/components/get-statustypen/get-statustypen-configuration.component.d.ts +24 -0
  80. package/lib/plugins/catalogi-api/components/get-statustypen/get-statustypen-configuration.component.d.ts.map +1 -0
  81. package/lib/plugins/catalogi-api/models/config.d.ts +31 -0
  82. package/lib/plugins/catalogi-api/models/config.d.ts.map +1 -0
  83. package/lib/plugins/catalogi-api/models/index.d.ts +2 -0
  84. package/lib/plugins/catalogi-api/models/index.d.ts.map +1 -0
  85. package/lib/plugins/documenten-api/assets/documenten-api-plugin-logo.d.ts +3 -0
  86. package/lib/plugins/documenten-api/assets/documenten-api-plugin-logo.d.ts.map +1 -0
  87. package/lib/plugins/documenten-api/assets/index.d.ts +2 -0
  88. package/lib/plugins/documenten-api/assets/index.d.ts.map +1 -0
  89. package/lib/plugins/documenten-api/components/documenten-api-configuration/documenten-api-configuration.component.d.ts +40 -0
  90. package/lib/plugins/documenten-api/components/documenten-api-configuration/documenten-api-configuration.component.d.ts.map +1 -0
  91. package/lib/plugins/documenten-api/components/download-document/download-document-configuration.component.d.ts +24 -0
  92. package/lib/plugins/documenten-api/components/download-document/download-document-configuration.component.d.ts.map +1 -0
  93. package/lib/plugins/documenten-api/components/store-temp-document/store-temp-document-configuration.component.d.ts +45 -0
  94. package/lib/plugins/documenten-api/components/store-temp-document/store-temp-document-configuration.component.d.ts.map +1 -0
  95. package/lib/plugins/documenten-api/components/store-uploaded-document/store-uploaded-document-configuration.component.d.ts +20 -0
  96. package/lib/plugins/documenten-api/components/store-uploaded-document/store-uploaded-document-configuration.component.d.ts.map +1 -0
  97. package/lib/plugins/documenten-api/components/store-uploaded-document-in-parts/store-uploaded-document-in-parts-configuration.component.d.ts +20 -0
  98. package/lib/plugins/documenten-api/components/store-uploaded-document-in-parts/store-uploaded-document-in-parts-configuration.component.d.ts.map +1 -0
  99. package/lib/plugins/documenten-api/documenten-api-plugin.module.d.ts +15 -0
  100. package/lib/plugins/documenten-api/documenten-api-plugin.module.d.ts.map +1 -0
  101. package/lib/plugins/documenten-api/documenten-api-plugin.specification.d.ts +4 -0
  102. package/lib/plugins/documenten-api/documenten-api-plugin.specification.d.ts.map +1 -0
  103. package/lib/plugins/documenten-api/models/config.d.ts +29 -0
  104. package/lib/plugins/documenten-api/models/config.d.ts.map +1 -0
  105. package/lib/plugins/documenten-api/models/index.d.ts +2 -0
  106. package/lib/plugins/documenten-api/models/index.d.ts.map +1 -0
  107. package/lib/plugins/documenten-api/services/documenten-api.service.d.ts +14 -0
  108. package/lib/plugins/documenten-api/services/documenten-api.service.d.ts.map +1 -0
  109. package/lib/plugins/documenten-api/services/index.d.ts +2 -0
  110. package/lib/plugins/documenten-api/services/index.d.ts.map +1 -0
  111. package/lib/plugins/exact/components/exact-action-get-request-configuration/exact-get-request-configuration.component.d.ts +25 -0
  112. package/lib/plugins/exact/components/exact-action-get-request-configuration/exact-get-request-configuration.component.d.ts.map +1 -0
  113. package/lib/plugins/exact/components/exact-action-get-request-configuration/exact-get-request-configuration.d.ts +7 -0
  114. package/lib/plugins/exact/components/exact-action-get-request-configuration/exact-get-request-configuration.d.ts.map +1 -0
  115. package/lib/plugins/exact/components/exact-action-post-request-configuration/exact-post-request-configuration.component.d.ts +25 -0
  116. package/lib/plugins/exact/components/exact-action-post-request-configuration/exact-post-request-configuration.component.d.ts.map +1 -0
  117. package/lib/plugins/exact/components/exact-action-post-request-configuration/exact-post-request-configuration.d.ts +8 -0
  118. package/lib/plugins/exact/components/exact-action-post-request-configuration/exact-post-request-configuration.d.ts.map +1 -0
  119. package/lib/plugins/exact/components/exact-action-put-request-configuration/exact-put-request-configuration.component.d.ts +25 -0
  120. package/lib/plugins/exact/components/exact-action-put-request-configuration/exact-put-request-configuration.component.d.ts.map +1 -0
  121. package/lib/plugins/exact/components/exact-action-put-request-configuration/exact-put-request-configuration.d.ts +8 -0
  122. package/lib/plugins/exact/components/exact-action-put-request-configuration/exact-put-request-configuration.d.ts.map +1 -0
  123. package/lib/plugins/exact/components/exact-plugin-configuration/exact-plugin-configuration.component.d.ts +33 -0
  124. package/lib/plugins/exact/components/exact-plugin-configuration/exact-plugin-configuration.component.d.ts.map +1 -0
  125. package/lib/plugins/exact/components/exact-redirect/exact-redirect.component.d.ts +11 -0
  126. package/lib/plugins/exact/components/exact-redirect/exact-redirect.component.d.ts.map +1 -0
  127. package/lib/plugins/exact/exact-plugin-routing.module.d.ts +9 -0
  128. package/lib/plugins/exact/exact-plugin-routing.module.d.ts.map +1 -0
  129. package/lib/plugins/exact/exact-plugin.d.ts +11 -0
  130. package/lib/plugins/exact/exact-plugin.d.ts.map +1 -0
  131. package/lib/plugins/exact/exact-plugin.module.d.ts +17 -0
  132. package/lib/plugins/exact/exact-plugin.module.d.ts.map +1 -0
  133. package/lib/plugins/exact/exact-plugin.service.d.ts +14 -0
  134. package/lib/plugins/exact/exact-plugin.service.d.ts.map +1 -0
  135. package/lib/plugins/exact/exact-refresh-token.d.ts +7 -0
  136. package/lib/plugins/exact/exact-refresh-token.d.ts.map +1 -0
  137. package/lib/plugins/exact/exact.plugin.specification.d.ts +4 -0
  138. package/lib/plugins/exact/exact.plugin.specification.d.ts.map +1 -0
  139. package/lib/plugins/iko/assets/iko-plugin-logo.d.ts +3 -0
  140. package/lib/plugins/iko/assets/iko-plugin-logo.d.ts.map +1 -0
  141. package/lib/plugins/iko/assets/index.d.ts +2 -0
  142. package/lib/plugins/iko/assets/index.d.ts.map +1 -0
  143. package/lib/plugins/iko/components/iko-configuration/iko-configuration.component.d.ts +24 -0
  144. package/lib/plugins/iko/components/iko-configuration/iko-configuration.component.d.ts.map +1 -0
  145. package/lib/plugins/iko/iko-plugin.module.d.ts +11 -0
  146. package/lib/plugins/iko/iko-plugin.module.d.ts.map +1 -0
  147. package/lib/plugins/iko/iko-plugin.specification.d.ts +4 -0
  148. package/lib/plugins/iko/iko-plugin.specification.d.ts.map +1 -0
  149. package/lib/plugins/iko/models/config.d.ts +6 -0
  150. package/lib/plugins/iko/models/config.d.ts.map +1 -0
  151. package/lib/plugins/iko/models/index.d.ts +2 -0
  152. package/lib/plugins/iko/models/index.d.ts.map +1 -0
  153. package/lib/plugins/klantinteracties-api/assets/index.d.ts +2 -0
  154. package/lib/plugins/klantinteracties-api/assets/index.d.ts.map +1 -0
  155. package/lib/plugins/klantinteracties-api/assets/klantinteracties-api-plugin-logo.d.ts +3 -0
  156. package/lib/plugins/klantinteracties-api/assets/klantinteracties-api-plugin-logo.d.ts.map +1 -0
  157. package/lib/plugins/klantinteracties-api/components/create-persoon/create-persoon.component.d.ts +24 -0
  158. package/lib/plugins/klantinteracties-api/components/create-persoon/create-persoon.component.d.ts.map +1 -0
  159. package/lib/plugins/klantinteracties-api/components/klantinteracties-api-configuration/klantinteracties-api-configuration.component.d.ts +34 -0
  160. package/lib/plugins/klantinteracties-api/components/klantinteracties-api-configuration/klantinteracties-api-configuration.component.d.ts.map +1 -0
  161. package/lib/plugins/klantinteracties-api/klantinteracties-api-plugin-module.d.ts +12 -0
  162. package/lib/plugins/klantinteracties-api/klantinteracties-api-plugin-module.d.ts.map +1 -0
  163. package/lib/plugins/klantinteracties-api/klantinteracties-api-plugin.specification.d.ts +4 -0
  164. package/lib/plugins/klantinteracties-api/klantinteracties-api-plugin.specification.d.ts.map +1 -0
  165. package/lib/plugins/klantinteracties-api/models/config.d.ts +15 -0
  166. package/lib/plugins/klantinteracties-api/models/config.d.ts.map +1 -0
  167. package/lib/plugins/klantinteracties-api/models/index.d.ts +2 -0
  168. package/lib/plugins/klantinteracties-api/models/index.d.ts.map +1 -0
  169. package/lib/plugins/notificaties-api/assets/notificaties-api-plugin-logo.d.ts +3 -0
  170. package/lib/plugins/notificaties-api/assets/notificaties-api-plugin-logo.d.ts.map +1 -0
  171. package/lib/plugins/notificaties-api/components/notificaties-api-configuration/notificaties-api-configuration.component.d.ts +34 -0
  172. package/lib/plugins/notificaties-api/components/notificaties-api-configuration/notificaties-api-configuration.component.d.ts.map +1 -0
  173. package/lib/plugins/notificaties-api/models/config.d.ts +7 -0
  174. package/lib/plugins/notificaties-api/models/config.d.ts.map +1 -0
  175. package/lib/plugins/notificaties-api/models/index.d.ts +2 -0
  176. package/lib/plugins/notificaties-api/models/index.d.ts.map +1 -0
  177. package/lib/plugins/notificaties-api/notificaties-api-plugin.module.d.ts +11 -0
  178. package/lib/plugins/notificaties-api/notificaties-api-plugin.module.d.ts.map +1 -0
  179. package/lib/plugins/notificaties-api/notificaties-api-plugin.specification.d.ts +4 -0
  180. package/lib/plugins/notificaties-api/notificaties-api-plugin.specification.d.ts.map +1 -0
  181. package/lib/plugins/notificaties-api-authentication/assets/index.d.ts +2 -0
  182. package/lib/plugins/notificaties-api-authentication/assets/index.d.ts.map +1 -0
  183. package/lib/plugins/notificaties-api-authentication/assets/open-notificaties-plugin-logo.d.ts +3 -0
  184. package/lib/plugins/notificaties-api-authentication/assets/open-notificaties-plugin-logo.d.ts.map +1 -0
  185. package/lib/plugins/notificaties-api-authentication/components/open-notificaties-configuration/open-notificaties-configuration.component.d.ts +24 -0
  186. package/lib/plugins/notificaties-api-authentication/components/open-notificaties-configuration/open-notificaties-configuration.component.d.ts.map +1 -0
  187. package/lib/plugins/notificaties-api-authentication/models/config.d.ts +7 -0
  188. package/lib/plugins/notificaties-api-authentication/models/config.d.ts.map +1 -0
  189. package/lib/plugins/notificaties-api-authentication/models/index.d.ts +2 -0
  190. package/lib/plugins/notificaties-api-authentication/models/index.d.ts.map +1 -0
  191. package/lib/plugins/notificaties-api-authentication/open-notificaties-plugin.module.d.ts +11 -0
  192. package/lib/plugins/notificaties-api-authentication/open-notificaties-plugin.module.d.ts.map +1 -0
  193. package/lib/plugins/notificaties-api-authentication/open-notificaties-plugin.specification.d.ts +4 -0
  194. package/lib/plugins/notificaties-api-authentication/open-notificaties-plugin.specification.d.ts.map +1 -0
  195. package/lib/plugins/object-token-authentication/assets/object-token-authentication-plugin-logo.d.ts +3 -0
  196. package/lib/plugins/object-token-authentication/assets/object-token-authentication-plugin-logo.d.ts.map +1 -0
  197. package/lib/plugins/object-token-authentication/components/object-token-authentication-configuration/object-token-authencation-configuration.component.d.ts +24 -0
  198. package/lib/plugins/object-token-authentication/components/object-token-authentication-configuration/object-token-authencation-configuration.component.d.ts.map +1 -0
  199. package/lib/plugins/object-token-authentication/models/config.d.ts +6 -0
  200. package/lib/plugins/object-token-authentication/models/config.d.ts.map +1 -0
  201. package/lib/plugins/object-token-authentication/models/index.d.ts +2 -0
  202. package/lib/plugins/object-token-authentication/models/index.d.ts.map +1 -0
  203. package/lib/plugins/object-token-authentication/object-token-authentication-plugin.module.d.ts +11 -0
  204. package/lib/plugins/object-token-authentication/object-token-authentication-plugin.module.d.ts.map +1 -0
  205. package/lib/plugins/object-token-authentication/object-token-authentication-plugin.specification.d.ts +4 -0
  206. package/lib/plugins/object-token-authentication/object-token-authentication-plugin.specification.d.ts.map +1 -0
  207. package/lib/plugins/objecten-api/assets/index.d.ts +2 -0
  208. package/lib/plugins/objecten-api/assets/index.d.ts.map +1 -0
  209. package/lib/plugins/objecten-api/assets/objecten-api-plugin-logo.d.ts +3 -0
  210. package/lib/plugins/objecten-api/assets/objecten-api-plugin-logo.d.ts.map +1 -0
  211. package/lib/plugins/objecten-api/components/delete-object/delete-object.component.d.ts +24 -0
  212. package/lib/plugins/objecten-api/components/delete-object/delete-object.component.d.ts.map +1 -0
  213. package/lib/plugins/objecten-api/components/objecten-api-configuration/objecten-api-configuration.component.d.ts +34 -0
  214. package/lib/plugins/objecten-api/components/objecten-api-configuration/objecten-api-configuration.component.d.ts.map +1 -0
  215. package/lib/plugins/objecten-api/models/config.d.ts +10 -0
  216. package/lib/plugins/objecten-api/models/config.d.ts.map +1 -0
  217. package/lib/plugins/objecten-api/models/index.d.ts +2 -0
  218. package/lib/plugins/objecten-api/models/index.d.ts.map +1 -0
  219. package/lib/plugins/objecten-api/objecten-api-plugin-module.d.ts +12 -0
  220. package/lib/plugins/objecten-api/objecten-api-plugin-module.d.ts.map +1 -0
  221. package/lib/plugins/objecten-api/objecten-api-plugin.specification.d.ts +4 -0
  222. package/lib/plugins/objecten-api/objecten-api-plugin.specification.d.ts.map +1 -0
  223. package/lib/plugins/objecttypen-api/assets/index.d.ts +2 -0
  224. package/lib/plugins/objecttypen-api/assets/index.d.ts.map +1 -0
  225. package/lib/plugins/objecttypen-api/assets/objecttypen-api-plugin-logo.d.ts +3 -0
  226. package/lib/plugins/objecttypen-api/assets/objecttypen-api-plugin-logo.d.ts.map +1 -0
  227. package/lib/plugins/objecttypen-api/components/objecttypen-api-configuration/objecttypen-api-configuration.component.d.ts +34 -0
  228. package/lib/plugins/objecttypen-api/components/objecttypen-api-configuration/objecttypen-api-configuration.component.d.ts.map +1 -0
  229. package/lib/plugins/objecttypen-api/models/config.d.ts +7 -0
  230. package/lib/plugins/objecttypen-api/models/config.d.ts.map +1 -0
  231. package/lib/plugins/objecttypen-api/models/index.d.ts +2 -0
  232. package/lib/plugins/objecttypen-api/models/index.d.ts.map +1 -0
  233. package/lib/plugins/objecttypen-api/objecttypen-api-plugin-module.d.ts +11 -0
  234. package/lib/plugins/objecttypen-api/objecttypen-api-plugin-module.d.ts.map +1 -0
  235. package/lib/plugins/objecttypen-api/objecttypen-api-plugin.specification.d.ts +4 -0
  236. package/lib/plugins/objecttypen-api/objecttypen-api-plugin.specification.d.ts.map +1 -0
  237. package/lib/plugins/open-klant-token-authentication/assets/open-klant-token-authentication-plugin-logo.d.ts +3 -0
  238. package/lib/plugins/open-klant-token-authentication/assets/open-klant-token-authentication-plugin-logo.d.ts.map +1 -0
  239. package/lib/plugins/open-klant-token-authentication/components/open-klant-token-authentication-configuration/open-klant-token-authentication-configuration.component.d.ts +24 -0
  240. package/lib/plugins/open-klant-token-authentication/components/open-klant-token-authentication-configuration/open-klant-token-authentication-configuration.component.d.ts.map +1 -0
  241. package/lib/plugins/open-klant-token-authentication/models/config.d.ts +6 -0
  242. package/lib/plugins/open-klant-token-authentication/models/config.d.ts.map +1 -0
  243. package/lib/plugins/open-klant-token-authentication/models/index.d.ts +2 -0
  244. package/lib/plugins/open-klant-token-authentication/models/index.d.ts.map +1 -0
  245. package/lib/plugins/open-klant-token-authentication/open-klant-token-authentication-plugin.module.d.ts +11 -0
  246. package/lib/plugins/open-klant-token-authentication/open-klant-token-authentication-plugin.module.d.ts.map +1 -0
  247. package/lib/plugins/open-klant-token-authentication/open-klant-token-authentication-plugin.specification.d.ts +4 -0
  248. package/lib/plugins/open-klant-token-authentication/open-klant-token-authentication-plugin.specification.d.ts.map +1 -0
  249. package/lib/plugins/open-zaak/assets/index.d.ts +2 -0
  250. package/lib/plugins/open-zaak/assets/index.d.ts.map +1 -0
  251. package/lib/plugins/open-zaak/assets/open-zaak-plugin-logo.d.ts +3 -0
  252. package/lib/plugins/open-zaak/assets/open-zaak-plugin-logo.d.ts.map +1 -0
  253. package/lib/plugins/open-zaak/components/open-zaak-configuration/open-zaak-configuration.component.d.ts +24 -0
  254. package/lib/plugins/open-zaak/components/open-zaak-configuration/open-zaak-configuration.component.d.ts.map +1 -0
  255. package/lib/plugins/open-zaak/models/config.d.ts +7 -0
  256. package/lib/plugins/open-zaak/models/config.d.ts.map +1 -0
  257. package/lib/plugins/open-zaak/models/index.d.ts +2 -0
  258. package/lib/plugins/open-zaak/models/index.d.ts.map +1 -0
  259. package/lib/plugins/open-zaak/open-zaak-plugin.module.d.ts +11 -0
  260. package/lib/plugins/open-zaak/open-zaak-plugin.module.d.ts.map +1 -0
  261. package/lib/plugins/open-zaak/open-zaak-plugin.specification.d.ts +4 -0
  262. package/lib/plugins/open-zaak/open-zaak-plugin.specification.d.ts.map +1 -0
  263. package/lib/plugins/portaaltaak/assets/portaaltaak-plugin-logo.d.ts +3 -0
  264. package/lib/plugins/portaaltaak/assets/portaaltaak-plugin-logo.d.ts.map +1 -0
  265. package/lib/plugins/portaaltaak/components/complete-portal-task/complete-portal-task.component.d.ts +19 -0
  266. package/lib/plugins/portaaltaak/components/complete-portal-task/complete-portal-task.component.d.ts.map +1 -0
  267. package/lib/plugins/portaaltaak/components/create-portal-task/create-portal-task.component.d.ts +40 -0
  268. package/lib/plugins/portaaltaak/components/create-portal-task/create-portal-task.component.d.ts.map +1 -0
  269. package/lib/plugins/portaaltaak/components/portaaltaak-configuration/portaaltaak-configuration.component.d.ts +38 -0
  270. package/lib/plugins/portaaltaak/components/portaaltaak-configuration/portaaltaak-configuration.component.d.ts.map +1 -0
  271. package/lib/plugins/portaaltaak/models/config.d.ts +27 -0
  272. package/lib/plugins/portaaltaak/models/config.d.ts.map +1 -0
  273. package/lib/plugins/portaaltaak/models/index.d.ts +3 -0
  274. package/lib/plugins/portaaltaak/models/index.d.ts.map +1 -0
  275. package/lib/plugins/portaaltaak/models/object.d.ts +14 -0
  276. package/lib/plugins/portaaltaak/models/object.d.ts.map +1 -0
  277. package/lib/plugins/portaaltaak/portaaltaak-plugin.module.d.ts +13 -0
  278. package/lib/plugins/portaaltaak/portaaltaak-plugin.module.d.ts.map +1 -0
  279. package/lib/plugins/portaaltaak/portaaltaak-plugin.specification.d.ts +4 -0
  280. package/lib/plugins/portaaltaak/portaaltaak-plugin.specification.d.ts.map +1 -0
  281. package/lib/plugins/portaaltaak/services/index.d.ts +2 -0
  282. package/lib/plugins/portaaltaak/services/index.d.ts.map +1 -0
  283. package/lib/plugins/portaaltaak/services/object.service.d.ts +14 -0
  284. package/lib/plugins/portaaltaak/services/object.service.d.ts.map +1 -0
  285. package/lib/plugins/smart-documents/assets/index.d.ts +2 -0
  286. package/lib/plugins/smart-documents/assets/index.d.ts.map +1 -0
  287. package/lib/plugins/smart-documents/assets/smart-documents-plugin-logo.d.ts +3 -0
  288. package/lib/plugins/smart-documents/assets/smart-documents-plugin-logo.d.ts.map +1 -0
  289. package/lib/plugins/smart-documents/components/generate-document-configuration/generate-document-configuration.component.d.ts +31 -0
  290. package/lib/plugins/smart-documents/components/generate-document-configuration/generate-document-configuration.component.d.ts.map +1 -0
  291. package/lib/plugins/smart-documents/components/get-template-names/get-template-names.component.d.ts +24 -0
  292. package/lib/plugins/smart-documents/components/get-template-names/get-template-names.component.d.ts.map +1 -0
  293. package/lib/plugins/smart-documents/components/smart-documents-configuration/smart-documents-configuration.component.d.ts +24 -0
  294. package/lib/plugins/smart-documents/components/smart-documents-configuration/smart-documents-configuration.component.d.ts.map +1 -0
  295. package/lib/plugins/smart-documents/models/config.d.ts +23 -0
  296. package/lib/plugins/smart-documents/models/config.d.ts.map +1 -0
  297. package/lib/plugins/smart-documents/models/index.d.ts +2 -0
  298. package/lib/plugins/smart-documents/models/index.d.ts.map +1 -0
  299. package/lib/plugins/smart-documents/smart-documents-plugin.module.d.ts +13 -0
  300. package/lib/plugins/smart-documents/smart-documents-plugin.module.d.ts.map +1 -0
  301. package/lib/plugins/smart-documents/smart-documents-plugin.specification.d.ts +4 -0
  302. package/lib/plugins/smart-documents/smart-documents-plugin.specification.d.ts.map +1 -0
  303. package/lib/plugins/verzoek/assets/verzoek-plugin-logo.d.ts +3 -0
  304. package/lib/plugins/verzoek/assets/verzoek-plugin-logo.d.ts.map +1 -0
  305. package/lib/plugins/verzoek/components/verzoek-configuration/verzoek-configuration.component.d.ts +79 -0
  306. package/lib/plugins/verzoek/components/verzoek-configuration/verzoek-configuration.component.d.ts.map +1 -0
  307. package/lib/plugins/verzoek/models/config.d.ts +28 -0
  308. package/lib/plugins/verzoek/models/config.d.ts.map +1 -0
  309. package/lib/plugins/verzoek/models/index.d.ts +3 -0
  310. package/lib/plugins/verzoek/models/index.d.ts.map +1 -0
  311. package/lib/plugins/verzoek/models/verzoek.d.ts +24 -0
  312. package/lib/plugins/verzoek/models/verzoek.d.ts.map +1 -0
  313. package/lib/plugins/verzoek/services/index.d.ts +2 -0
  314. package/lib/plugins/verzoek/services/index.d.ts.map +1 -0
  315. package/lib/plugins/verzoek/services/verzoek-plugin.service.d.ts +18 -0
  316. package/lib/plugins/verzoek/services/verzoek-plugin.service.d.ts.map +1 -0
  317. package/lib/plugins/verzoek/verzoek-plugin.module.d.ts +12 -0
  318. package/lib/plugins/verzoek/verzoek-plugin.module.d.ts.map +1 -0
  319. package/lib/plugins/verzoek/verzoek-plugin.specification.d.ts +4 -0
  320. package/lib/plugins/verzoek/verzoek-plugin.specification.d.ts.map +1 -0
  321. package/lib/plugins/zaken-api/assets/index.d.ts +2 -0
  322. package/lib/plugins/zaken-api/assets/index.d.ts.map +1 -0
  323. package/lib/plugins/zaken-api/assets/zaken-api-plugin-logo.d.ts +3 -0
  324. package/lib/plugins/zaken-api/assets/zaken-api-plugin-logo.d.ts.map +1 -0
  325. package/lib/plugins/zaken-api/components/create-medewerker-zaak-rol/create-medewerker-zaak-rol.component.d.ts +25 -0
  326. package/lib/plugins/zaken-api/components/create-medewerker-zaak-rol/create-medewerker-zaak-rol.component.d.ts.map +1 -0
  327. package/lib/plugins/zaken-api/components/create-natuurlijk-persoon-zaak-rol/create-natuurlijk-persoon-zaak-rol.component.d.ts +24 -0
  328. package/lib/plugins/zaken-api/components/create-natuurlijk-persoon-zaak-rol/create-natuurlijk-persoon-zaak-rol.component.d.ts.map +1 -0
  329. package/lib/plugins/zaken-api/components/create-niet-natuurlijk-persoon-zaak-rol/create-niet-natuurlijk-persoon-zaak-rol.component.d.ts +24 -0
  330. package/lib/plugins/zaken-api/components/create-niet-natuurlijk-persoon-zaak-rol/create-niet-natuurlijk-persoon-zaak-rol.component.d.ts.map +1 -0
  331. package/lib/plugins/zaken-api/components/create-organisatorische-eenheid-zaak-rol/create-organisatorische-eenheid-zaak-rol.component.d.ts +25 -0
  332. package/lib/plugins/zaken-api/components/create-organisatorische-eenheid-zaak-rol/create-organisatorische-eenheid-zaak-rol.component.d.ts.map +1 -0
  333. package/lib/plugins/zaken-api/components/create-vestiging-zaak-rol/create-vestiging-zaak-rol.component.d.ts +24 -0
  334. package/lib/plugins/zaken-api/components/create-vestiging-zaak-rol/create-vestiging-zaak-rol.component.d.ts.map +1 -0
  335. package/lib/plugins/zaken-api/components/create-zaak/create-zaak-configuration.component.d.ts +58 -0
  336. package/lib/plugins/zaken-api/components/create-zaak/create-zaak-configuration.component.d.ts.map +1 -0
  337. package/lib/plugins/zaken-api/components/create-zaak-object/create-zaak-object-configuration.component.d.ts +27 -0
  338. package/lib/plugins/zaken-api/components/create-zaak-object/create-zaak-object-configuration.component.d.ts.map +1 -0
  339. package/lib/plugins/zaken-api/components/create-zaak-resultaat/create-zaak-resultaat-configuration.component.d.ts +40 -0
  340. package/lib/plugins/zaken-api/components/create-zaak-resultaat/create-zaak-resultaat-configuration.component.d.ts.map +1 -0
  341. package/lib/plugins/zaken-api/components/create-zaakeigenschap/create-zaakeigenschap.component.d.ts +41 -0
  342. package/lib/plugins/zaken-api/components/create-zaakeigenschap/create-zaakeigenschap.component.d.ts.map +1 -0
  343. package/lib/plugins/zaken-api/components/create-zaaknotitie/create-zaaknotitie-configuration.component.d.ts +26 -0
  344. package/lib/plugins/zaken-api/components/create-zaaknotitie/create-zaaknotitie-configuration.component.d.ts.map +1 -0
  345. package/lib/plugins/zaken-api/components/delete-zaak-rol/delete-zaak-rol.component.d.ts +24 -0
  346. package/lib/plugins/zaken-api/components/delete-zaak-rol/delete-zaak-rol.component.d.ts.map +1 -0
  347. package/lib/plugins/zaken-api/components/delete-zaakeigenschap/delete-zaakeigenschap.component.d.ts +38 -0
  348. package/lib/plugins/zaken-api/components/delete-zaakeigenschap/delete-zaakeigenschap.component.d.ts.map +1 -0
  349. package/lib/plugins/zaken-api/components/end-hersteltermijn/end-hersteltermijn.component.d.ts +20 -0
  350. package/lib/plugins/zaken-api/components/end-hersteltermijn/end-hersteltermijn.component.d.ts.map +1 -0
  351. package/lib/plugins/zaken-api/components/get-zaak-informatieobjecten/get-zaak-informatieobjecten.component.d.ts +34 -0
  352. package/lib/plugins/zaken-api/components/get-zaak-informatieobjecten/get-zaak-informatieobjecten.component.d.ts.map +1 -0
  353. package/lib/plugins/zaken-api/components/get-zaakbesluiten/get-zaakbesluiten-configuration.component.d.ts +24 -0
  354. package/lib/plugins/zaken-api/components/get-zaakbesluiten/get-zaakbesluiten-configuration.component.d.ts.map +1 -0
  355. package/lib/plugins/zaken-api/components/link-document-to-zaak/link-document-to-zaak-configuration.component.d.ts +34 -0
  356. package/lib/plugins/zaken-api/components/link-document-to-zaak/link-document-to-zaak-configuration.component.d.ts.map +1 -0
  357. package/lib/plugins/zaken-api/components/link-uploaded-document-to-zaak/link-uploaded-document-to-zaak-configuration.component.d.ts +20 -0
  358. package/lib/plugins/zaken-api/components/link-uploaded-document-to-zaak/link-uploaded-document-to-zaak-configuration.component.d.ts.map +1 -0
  359. package/lib/plugins/zaken-api/components/patch-zaak/patch-zaak-configuration.component.d.ts +47 -0
  360. package/lib/plugins/zaken-api/components/patch-zaak/patch-zaak-configuration.component.d.ts.map +1 -0
  361. package/lib/plugins/zaken-api/components/patch-zaaknotitie/patch-zaaknotitie-configuration.component.d.ts +45 -0
  362. package/lib/plugins/zaken-api/components/patch-zaaknotitie/patch-zaaknotitie-configuration.component.d.ts.map +1 -0
  363. package/lib/plugins/zaken-api/components/relateer-zaken/relateer-zaken.component.d.ts +30 -0
  364. package/lib/plugins/zaken-api/components/relateer-zaken/relateer-zaken.component.d.ts.map +1 -0
  365. package/lib/plugins/zaken-api/components/set-zaak-status/set-zaak-status-configuration.component.d.ts +55 -0
  366. package/lib/plugins/zaken-api/components/set-zaak-status/set-zaak-status-configuration.component.d.ts.map +1 -0
  367. package/lib/plugins/zaken-api/components/set-zaakopschorting/set-zaakopschorting.component.d.ts +24 -0
  368. package/lib/plugins/zaken-api/components/set-zaakopschorting/set-zaakopschorting.component.d.ts.map +1 -0
  369. package/lib/plugins/zaken-api/components/start-hersteltermijn/start-hersteltermijn-configuration.component.d.ts +24 -0
  370. package/lib/plugins/zaken-api/components/start-hersteltermijn/start-hersteltermijn-configuration.component.d.ts.map +1 -0
  371. package/lib/plugins/zaken-api/components/update-zaakeigenschap/update-zaakeigenschap.component.d.ts +38 -0
  372. package/lib/plugins/zaken-api/components/update-zaakeigenschap/update-zaakeigenschap.component.d.ts.map +1 -0
  373. package/lib/plugins/zaken-api/components/zaken-api-configuration/zaken-api-configuration.component.d.ts +39 -0
  374. package/lib/plugins/zaken-api/components/zaken-api-configuration/zaken-api-configuration.component.d.ts.map +1 -0
  375. package/lib/plugins/zaken-api/models/config.d.ts +161 -0
  376. package/lib/plugins/zaken-api/models/config.d.ts.map +1 -0
  377. package/lib/plugins/zaken-api/models/create-zaak-properties.d.ts +3 -0
  378. package/lib/plugins/zaken-api/models/create-zaak-properties.d.ts.map +1 -0
  379. package/lib/plugins/zaken-api/models/eigenschap.d.ts +6 -0
  380. package/lib/plugins/zaken-api/models/eigenschap.d.ts.map +1 -0
  381. package/lib/plugins/zaken-api/models/geometry-types.d.ts +2 -0
  382. package/lib/plugins/zaken-api/models/geometry-types.d.ts.map +1 -0
  383. package/lib/plugins/zaken-api/models/index.d.ts +6 -0
  384. package/lib/plugins/zaken-api/models/index.d.ts.map +1 -0
  385. package/lib/plugins/zaken-api/models/indicatie-machtiging-values.d.ts +3 -0
  386. package/lib/plugins/zaken-api/models/indicatie-machtiging-values.d.ts.map +1 -0
  387. package/lib/plugins/zaken-api/models/input.d.ts +3 -0
  388. package/lib/plugins/zaken-api/models/input.d.ts.map +1 -0
  389. package/lib/plugins/zaken-api/models/patch-zaak-properties.d.ts +3 -0
  390. package/lib/plugins/zaken-api/models/patch-zaak-properties.d.ts.map +1 -0
  391. package/lib/plugins/zaken-api/models/patch-zaaknotitie-properties.d.ts +3 -0
  392. package/lib/plugins/zaken-api/models/patch-zaaknotitie-properties.d.ts.map +1 -0
  393. package/lib/plugins/zaken-api/models/payment-indication-types.d.ts +2 -0
  394. package/lib/plugins/zaken-api/models/payment-indication-types.d.ts.map +1 -0
  395. package/lib/plugins/zaken-api/models/resultaat.d.ts +6 -0
  396. package/lib/plugins/zaken-api/models/resultaat.d.ts.map +1 -0
  397. package/lib/plugins/zaken-api/models/status.d.ts +6 -0
  398. package/lib/plugins/zaken-api/models/status.d.ts.map +1 -0
  399. package/lib/plugins/zaken-api/models/zaaknotificatie-statuses.d.ts +2 -0
  400. package/lib/plugins/zaken-api/models/zaaknotificatie-statuses.d.ts.map +1 -0
  401. package/lib/plugins/zaken-api/models/zaaknotificatie-types.d.ts +2 -0
  402. package/lib/plugins/zaken-api/models/zaaknotificatie-types.d.ts.map +1 -0
  403. package/lib/plugins/zaken-api/services/index.d.ts +2 -0
  404. package/lib/plugins/zaken-api/services/index.d.ts.map +1 -0
  405. package/lib/plugins/zaken-api/services/zaken-api.service.d.ts +17 -0
  406. package/lib/plugins/zaken-api/services/zaken-api.service.d.ts.map +1 -0
  407. package/lib/plugins/zaken-api/zaken-api-plugin.module.d.ts +38 -0
  408. package/lib/plugins/zaken-api/zaken-api-plugin.module.d.ts.map +1 -0
  409. package/lib/plugins/zaken-api/zaken-api-plugin.specification.d.ts +4 -0
  410. package/lib/plugins/zaken-api/zaken-api-plugin.specification.d.ts.map +1 -0
  411. package/lib/services/index.d.ts +4 -0
  412. package/lib/services/index.d.ts.map +1 -0
  413. package/lib/services/plugin-management.service.d.ts +29 -0
  414. package/lib/services/plugin-management.service.d.ts.map +1 -0
  415. package/lib/services/plugin-translation.service.d.ts +19 -0
  416. package/lib/services/plugin-translation.service.d.ts.map +1 -0
  417. package/lib/services/plugin.service.d.ts +15 -0
  418. package/lib/services/plugin.service.d.ts.map +1 -0
  419. package/package.json +24 -0
  420. package/public-api.d.ts +104 -0
  421. package/public-api.d.ts.map +1 -0
  422. package/valtimo-plugin.d.ts.map +1 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"valtimo-plugin.mjs","sources":["../../../../projects/valtimo/plugin/src/lib/constants/injection-tokens.ts","../../../../projects/valtimo/plugin/src/lib/constants/index.ts","../../../../projects/valtimo/plugin/src/lib/services/plugin.service.ts","../../../../projects/valtimo/plugin/src/lib/services/plugin-translation.service.ts","../../../../projects/valtimo/plugin/src/lib/services/plugin-management.service.ts","../../../../projects/valtimo/plugin/src/lib/services/index.ts","../../../../projects/valtimo/plugin/src/lib/models/plugin.ts","../../../../projects/valtimo/plugin/src/lib/models/index.ts","../../../../projects/valtimo/plugin/src/lib/pipes/plugin-translate/plugin-translate.pipe.ts","../../../../projects/valtimo/plugin/src/lib/pipes/plugin-translate/plugin-translate-pipe.module.ts","../../../../projects/valtimo/plugin/src/lib/pipes/plugin-translate/index.ts","../../../../projects/valtimo/plugin/src/lib/pipes/index.ts","../../../../projects/valtimo/plugin/src/lib/components/default-plugin-configuration/default-plugin-configuration.component.ts","../../../../projects/valtimo/plugin/src/lib/components/default-plugin-configuration/default-plugin-configuration.component.html","../../../../projects/valtimo/plugin/src/lib/components/plugin-configuration-container/plugin-configuration-container.component.ts","../../../../projects/valtimo/plugin/src/lib/components/plugin-configuration-container/plugin-configuration-container.component.html","../../../../projects/valtimo/plugin/src/lib/components/default-plugin-configuration/default-plugin-configuration.module.ts","../../../../projects/valtimo/plugin/src/lib/components/plugin-configuration-container/plugin-configuration-container.module.ts","../../../../projects/valtimo/plugin/src/lib/plugins/open-zaak/components/open-zaak-configuration/open-zaak-configuration.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/open-zaak/components/open-zaak-configuration/open-zaak-configuration.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/open-zaak/open-zaak-plugin.module.ts","../../../../projects/valtimo/plugin/src/lib/plugins/open-zaak/assets/open-zaak-plugin-logo.ts","../../../../projects/valtimo/plugin/src/lib/plugins/open-zaak/assets/index.ts","../../../../projects/valtimo/plugin/src/lib/plugins/open-zaak/open-zaak-plugin.specification.ts","../../../../projects/valtimo/plugin/src/lib/plugins/object-token-authentication/components/object-token-authentication-configuration/object-token-authencation-configuration.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/object-token-authentication/components/object-token-authentication-configuration/object-token-authencation-configuration.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/object-token-authentication/object-token-authentication-plugin.module.ts","../../../../projects/valtimo/plugin/src/lib/plugins/object-token-authentication/assets/object-token-authentication-plugin-logo.ts","../../../../projects/valtimo/plugin/src/lib/plugins/object-token-authentication/object-token-authentication-plugin.specification.ts","../../../../projects/valtimo/plugin/src/lib/plugins/smart-documents/components/smart-documents-configuration/smart-documents-configuration.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/smart-documents/components/smart-documents-configuration/smart-documents-configuration.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/smart-documents/components/generate-document-configuration/generate-document-configuration.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/smart-documents/components/generate-document-configuration/generate-document-configuration.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/smart-documents/components/get-template-names/get-template-names.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/smart-documents/components/get-template-names/get-template-names.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/smart-documents/smart-documents-plugin.module.ts","../../../../projects/valtimo/plugin/src/lib/plugins/smart-documents/assets/smart-documents-plugin-logo.ts","../../../../projects/valtimo/plugin/src/lib/plugins/smart-documents/assets/index.ts","../../../../projects/valtimo/plugin/src/lib/plugins/smart-documents/smart-documents-plugin.specification.ts","../../../../projects/valtimo/plugin/src/lib/plugins/documenten-api/services/documenten-api.service.ts","../../../../projects/valtimo/plugin/src/lib/plugins/documenten-api/services/index.ts","../../../../projects/valtimo/plugin/src/lib/plugins/documenten-api/components/documenten-api-configuration/documenten-api-configuration.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/documenten-api/components/documenten-api-configuration/documenten-api-configuration.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/documenten-api/components/store-temp-document/store-temp-document-configuration.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/documenten-api/components/store-temp-document/store-temp-document-configuration.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/documenten-api/components/store-uploaded-document/store-uploaded-document-configuration.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/documenten-api/components/store-uploaded-document/store-uploaded-document-configuration.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/documenten-api/components/download-document/download-document-configuration.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/documenten-api/components/download-document/download-document-configuration.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/documenten-api/components/store-uploaded-document-in-parts/store-uploaded-document-in-parts-configuration.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/documenten-api/components/store-uploaded-document-in-parts/store-uploaded-document-in-parts-configuration.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/documenten-api/documenten-api-plugin.module.ts","../../../../projects/valtimo/plugin/src/lib/plugins/documenten-api/assets/documenten-api-plugin-logo.ts","../../../../projects/valtimo/plugin/src/lib/plugins/documenten-api/assets/index.ts","../../../../projects/valtimo/plugin/src/lib/plugins/documenten-api/documenten-api-plugin.specification.ts","../../../../projects/valtimo/plugin/src/lib/plugins/documenten-api/models/config.ts","../../../../projects/valtimo/plugin/src/lib/plugins/iko/components/iko-configuration/iko-configuration.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/iko/components/iko-configuration/iko-configuration.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/iko/iko-plugin.module.ts","../../../../projects/valtimo/plugin/src/lib/plugins/iko/assets/iko-plugin-logo.ts","../../../../projects/valtimo/plugin/src/lib/plugins/iko/assets/index.ts","../../../../projects/valtimo/plugin/src/lib/plugins/iko/iko-plugin.specification.ts","../../../../projects/valtimo/plugin/src/lib/plugins/iko/models/config.ts","../../../../projects/valtimo/plugin/src/lib/plugins/klantinteracties-api/components/klantinteracties-api-configuration/klantinteracties-api-configuration.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/klantinteracties-api/components/klantinteracties-api-configuration/klantinteracties-api-configuration.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/klantinteracties-api/components/create-persoon/create-persoon.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/klantinteracties-api/components/create-persoon/create-persoon.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/klantinteracties-api/klantinteracties-api-plugin-module.ts","../../../../projects/valtimo/plugin/src/lib/plugins/klantinteracties-api/assets/klantinteracties-api-plugin-logo.ts","../../../../projects/valtimo/plugin/src/lib/plugins/klantinteracties-api/assets/index.ts","../../../../projects/valtimo/plugin/src/lib/plugins/klantinteracties-api/klantinteracties-api-plugin.specification.ts","../../../../projects/valtimo/plugin/src/lib/plugins/objecttypen-api/components/objecttypen-api-configuration/objecttypen-api-configuration.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/objecttypen-api/components/objecttypen-api-configuration/objecttypen-api-configuration.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/objecttypen-api/objecttypen-api-plugin-module.ts","../../../../projects/valtimo/plugin/src/lib/plugins/objecttypen-api/assets/objecttypen-api-plugin-logo.ts","../../../../projects/valtimo/plugin/src/lib/plugins/objecttypen-api/assets/index.ts","../../../../projects/valtimo/plugin/src/lib/plugins/objecttypen-api/objecttypen-api-plugin.specification.ts","../../../../projects/valtimo/plugin/src/lib/plugins/open-klant-token-authentication/components/open-klant-token-authentication-configuration/open-klant-token-authentication-configuration.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/open-klant-token-authentication/components/open-klant-token-authentication-configuration/open-klant-token-authentication-configuration.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/open-klant-token-authentication/open-klant-token-authentication-plugin.module.ts","../../../../projects/valtimo/plugin/src/lib/plugins/open-klant-token-authentication/assets/open-klant-token-authentication-plugin-logo.ts","../../../../projects/valtimo/plugin/src/lib/plugins/open-klant-token-authentication/open-klant-token-authentication-plugin.specification.ts","../../../../projects/valtimo/plugin/src/lib/plugins/zaken-api/components/zaken-api-configuration/zaken-api-configuration.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/zaken-api/components/zaken-api-configuration/zaken-api-configuration.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/zaken-api/components/link-document-to-zaak/link-document-to-zaak-configuration.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/zaken-api/components/link-document-to-zaak/link-document-to-zaak-configuration.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/zaken-api/components/link-uploaded-document-to-zaak/link-uploaded-document-to-zaak-configuration.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/zaken-api/components/link-uploaded-document-to-zaak/link-uploaded-document-to-zaak-configuration.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/zaken-api/services/zaken-api.service.ts","../../../../projects/valtimo/plugin/src/lib/plugins/zaken-api/services/index.ts","../../../../projects/valtimo/plugin/src/lib/plugins/zaken-api/components/set-zaak-status/set-zaak-status-configuration.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/zaken-api/components/set-zaak-status/set-zaak-status-configuration.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/zaken-api/components/create-zaak-resultaat/create-zaak-resultaat-configuration.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/zaken-api/components/create-zaak-resultaat/create-zaak-resultaat-configuration.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/zaken-api/models/indicatie-machtiging-values.ts","../../../../projects/valtimo/plugin/src/lib/plugins/zaken-api/components/create-medewerker-zaak-rol/create-medewerker-zaak-rol.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/zaken-api/components/create-medewerker-zaak-rol/create-medewerker-zaak-rol.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/zaken-api/components/create-natuurlijk-persoon-zaak-rol/create-natuurlijk-persoon-zaak-rol.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/zaken-api/components/create-natuurlijk-persoon-zaak-rol/create-natuurlijk-persoon-zaak-rol.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/zaken-api/components/create-niet-natuurlijk-persoon-zaak-rol/create-niet-natuurlijk-persoon-zaak-rol.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/zaken-api/components/create-niet-natuurlijk-persoon-zaak-rol/create-niet-natuurlijk-persoon-zaak-rol.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/zaken-api/components/create-organisatorische-eenheid-zaak-rol/create-organisatorische-eenheid-zaak-rol.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/zaken-api/components/create-organisatorische-eenheid-zaak-rol/create-organisatorische-eenheid-zaak-rol.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/zaken-api/components/create-vestiging-zaak-rol/create-vestiging-zaak-rol.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/zaken-api/components/create-vestiging-zaak-rol/create-vestiging-zaak-rol.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/zaken-api/components/delete-zaak-rol/delete-zaak-rol.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/zaken-api/components/delete-zaak-rol/delete-zaak-rol.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/zaken-api/models/create-zaak-properties.ts","../../../../projects/valtimo/plugin/src/lib/plugins/zaken-api/models/geometry-types.ts","../../../../projects/valtimo/plugin/src/lib/plugins/zaken-api/models/payment-indication-types.ts","../../../../projects/valtimo/plugin/src/lib/plugins/zaken-api/components/create-zaak/create-zaak-configuration.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/zaken-api/components/create-zaak/create-zaak-configuration.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/zaken-api/models/patch-zaak-properties.ts","../../../../projects/valtimo/plugin/src/lib/plugins/zaken-api/components/patch-zaak/patch-zaak-configuration.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/zaken-api/components/patch-zaak/patch-zaak-configuration.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/zaken-api/components/set-zaakopschorting/set-zaakopschorting.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/zaken-api/components/set-zaakopschorting/set-zaakopschorting.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/zaken-api/components/start-hersteltermijn/start-hersteltermijn-configuration.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/zaken-api/components/start-hersteltermijn/start-hersteltermijn-configuration.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/zaken-api/components/end-hersteltermijn/end-hersteltermijn.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/zaken-api/components/end-hersteltermijn/end-hersteltermijn.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/zaken-api/components/create-zaakeigenschap/create-zaakeigenschap.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/zaken-api/components/create-zaakeigenschap/create-zaakeigenschap.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/zaken-api/components/update-zaakeigenschap/update-zaakeigenschap.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/zaken-api/components/update-zaakeigenschap/update-zaakeigenschap.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/zaken-api/components/delete-zaakeigenschap/delete-zaakeigenschap.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/zaken-api/components/delete-zaakeigenschap/delete-zaakeigenschap.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/zaken-api/components/create-zaak-object/create-zaak-object-configuration.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/zaken-api/components/create-zaak-object/create-zaak-object-configuration.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/zaken-api/components/relateer-zaken/relateer-zaken.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/zaken-api/components/relateer-zaken/relateer-zaken.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/zaken-api/components/get-zaak-informatieobjecten/get-zaak-informatieobjecten.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/zaken-api/components/get-zaak-informatieobjecten/get-zaak-informatieobjecten.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/zaken-api/components/get-zaakbesluiten/get-zaakbesluiten-configuration.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/zaken-api/components/get-zaakbesluiten/get-zaakbesluiten-configuration.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/zaken-api/models/zaaknotificatie-statuses.ts","../../../../projects/valtimo/plugin/src/lib/plugins/zaken-api/models/zaaknotificatie-types.ts","../../../../projects/valtimo/plugin/src/lib/plugins/zaken-api/components/create-zaaknotitie/create-zaaknotitie-configuration.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/zaken-api/components/create-zaaknotitie/create-zaaknotitie-configuration.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/zaken-api/models/patch-zaaknotitie-properties.ts","../../../../projects/valtimo/plugin/src/lib/plugins/zaken-api/components/patch-zaaknotitie/patch-zaaknotitie-configuration.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/zaken-api/components/patch-zaaknotitie/patch-zaaknotitie-configuration.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/zaken-api/zaken-api-plugin.module.ts","../../../../projects/valtimo/plugin/src/lib/plugins/zaken-api/assets/zaken-api-plugin-logo.ts","../../../../projects/valtimo/plugin/src/lib/plugins/zaken-api/assets/index.ts","../../../../projects/valtimo/plugin/src/lib/plugins/zaken-api/zaken-api-plugin.specification.ts","../../../../projects/valtimo/plugin/src/lib/plugins/objecten-api/components/objecten-api-configuration/objecten-api-configuration.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/objecten-api/components/objecten-api-configuration/objecten-api-configuration.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/objecten-api/components/delete-object/delete-object.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/objecten-api/components/delete-object/delete-object.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/objecten-api/objecten-api-plugin-module.ts","../../../../projects/valtimo/plugin/src/lib/plugins/objecten-api/assets/objecten-api-plugin-logo.ts","../../../../projects/valtimo/plugin/src/lib/plugins/objecten-api/assets/index.ts","../../../../projects/valtimo/plugin/src/lib/plugins/objecten-api/objecten-api-plugin.specification.ts","../../../../projects/valtimo/plugin/src/lib/plugins/catalogi-api/components/catalogi-api-configuration/catalogi-api-configuration.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/catalogi-api/components/catalogi-api-configuration/catalogi-api-configuration.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/catalogi-api/components/get-statustypen/get-statustypen-configuration.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/catalogi-api/components/get-statustypen/get-statustypen-configuration.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/catalogi-api/components/get-statustype/get-statustype-configuration.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/catalogi-api/components/get-statustype/get-statustype-configuration.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/catalogi-api/components/get-besluittype/get-besluittype-configuration.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/catalogi-api/components/get-besluittype/get-besluittype-configuration.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/catalogi-api/components/get-resultaattypen/get-resultaattypen-configuration.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/catalogi-api/components/get-resultaattypen/get-resultaattypen-configuration.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/catalogi-api/components/get-resultaattype/get-resultaattype-configuration.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/catalogi-api/components/get-resultaattype/get-resultaattype-configuration.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/catalogi-api/components/get-eigenschap/get-eigenschap-configuration.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/catalogi-api/components/get-eigenschap/get-eigenschap-configuration.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/catalogi-api/catalogi-api-plugin-module.ts","../../../../projects/valtimo/plugin/src/lib/plugins/catalogi-api/assets/catalogi-api-plugin-logo.ts","../../../../projects/valtimo/plugin/src/lib/plugins/catalogi-api/assets/index.ts","../../../../projects/valtimo/plugin/src/lib/plugins/catalogi-api/catalogi-api-plugin.specification.ts","../../../../projects/valtimo/plugin/src/lib/plugins/notificaties-api/components/notificaties-api-configuration/notificaties-api-configuration.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/notificaties-api/components/notificaties-api-configuration/notificaties-api-configuration.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/notificaties-api/notificaties-api-plugin.module.ts","../../../../projects/valtimo/plugin/src/lib/plugins/notificaties-api/assets/notificaties-api-plugin-logo.ts","../../../../projects/valtimo/plugin/src/lib/plugins/notificaties-api/notificaties-api-plugin.specification.ts","../../../../projects/valtimo/plugin/src/lib/plugins/notificaties-api-authentication/components/open-notificaties-configuration/open-notificaties-configuration.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/notificaties-api-authentication/components/open-notificaties-configuration/open-notificaties-configuration.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/notificaties-api-authentication/open-notificaties-plugin.module.ts","../../../../projects/valtimo/plugin/src/lib/plugins/notificaties-api-authentication/assets/open-notificaties-plugin-logo.ts","../../../../projects/valtimo/plugin/src/lib/plugins/notificaties-api-authentication/assets/index.ts","../../../../projects/valtimo/plugin/src/lib/plugins/notificaties-api-authentication/open-notificaties-plugin.specification.ts","../../../../projects/valtimo/plugin/src/lib/plugins/portaaltaak/services/object.service.ts","../../../../projects/valtimo/plugin/src/lib/plugins/portaaltaak/services/index.ts","../../../../projects/valtimo/plugin/src/lib/plugins/portaaltaak/components/portaaltaak-configuration/portaaltaak-configuration.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/portaaltaak/components/portaaltaak-configuration/portaaltaak-configuration.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/portaaltaak/components/create-portal-task/create-portal-task.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/portaaltaak/components/create-portal-task/create-portal-task.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/portaaltaak/components/complete-portal-task/complete-portal-task.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/portaaltaak/components/complete-portal-task/complete-portal-task.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/portaaltaak/portaaltaak-plugin.module.ts","../../../../projects/valtimo/plugin/src/lib/plugins/portaaltaak/assets/portaaltaak-plugin-logo.ts","../../../../projects/valtimo/plugin/src/lib/plugins/portaaltaak/portaaltaak-plugin.specification.ts","../../../../projects/valtimo/plugin/src/lib/plugins/verzoek/services/verzoek-plugin.service.ts","../../../../projects/valtimo/plugin/src/lib/plugins/verzoek/services/index.ts","../../../../projects/valtimo/plugin/src/lib/plugins/verzoek/components/verzoek-configuration/verzoek-configuration.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/verzoek/components/verzoek-configuration/verzoek-configuration.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/verzoek/verzoek-plugin.module.ts","../../../../projects/valtimo/plugin/src/lib/plugins/verzoek/assets/verzoek-plugin-logo.ts","../../../../projects/valtimo/plugin/src/lib/plugins/verzoek/verzoek-plugin.specification.ts","../../../../projects/valtimo/plugin/src/lib/plugins/besluiten-api/components/besluiten-api-configuration/besluiten-api-configuration.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/besluiten-api/components/besluiten-api-configuration/besluiten-api-configuration.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/besluiten-api/services/besluiten-api.service.ts","../../../../projects/valtimo/plugin/src/lib/plugins/besluiten-api/services/index.ts","../../../../projects/valtimo/plugin/src/lib/plugins/besluiten-api/components/create-zaak-besluit/create-zaak-besluit-configuration.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/besluiten-api/components/create-zaak-besluit/create-zaak-besluit-configuration.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/besluiten-api/models/patch-besluit-properties.ts","../../../../projects/valtimo/plugin/src/lib/plugins/besluiten-api/components/patch-zaak-besluit/patch-zaak-besluit-configuration.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/besluiten-api/components/patch-zaak-besluit/patch-zaak-besluit-configuration.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/besluiten-api/components/link-document-to-besluit/link-document-to-besluit-configuration.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/besluiten-api/components/link-document-to-besluit/link-document-to-besluit-configuration.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/besluiten-api/components/get-besluit/get-besluit-configuration.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/besluiten-api/components/get-besluit/get-besluit-configuration.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/besluiten-api/besluiten-api-plugin.module.ts","../../../../projects/valtimo/plugin/src/lib/plugins/besluiten-api/assets/besluiten-api-plugin-logo.ts","../../../../projects/valtimo/plugin/src/lib/plugins/besluiten-api/assets/index.ts","../../../../projects/valtimo/plugin/src/lib/plugins/besluiten-api/besluiten-api-plugin.specification.ts","../../../../projects/valtimo/plugin/src/lib/plugins/exact/exact-plugin.service.ts","../../../../projects/valtimo/plugin/src/lib/plugins/exact/components/exact-plugin-configuration/exact-plugin-configuration.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/exact/components/exact-plugin-configuration/exact-plugin-configuration.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/exact/components/exact-action-get-request-configuration/exact-get-request-configuration.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/exact/components/exact-action-get-request-configuration/exact-get-request-configuration.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/exact/components/exact-action-put-request-configuration/exact-put-request-configuration.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/exact/components/exact-action-put-request-configuration/exact-put-request-configuration.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/exact/components/exact-action-post-request-configuration/exact-post-request-configuration.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/exact/components/exact-action-post-request-configuration/exact-post-request-configuration.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/exact/exact.plugin.specification.ts","../../../../projects/valtimo/plugin/src/lib/plugins/exact/components/exact-redirect/exact-redirect.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/exact/components/exact-redirect/exact-redirect.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/exact/exact-plugin-routing.module.ts","../../../../projects/valtimo/plugin/src/lib/plugins/exact/exact-plugin.module.ts","../../../../projects/valtimo/plugin/src/public-api.ts","../../../../projects/valtimo/plugin/src/valtimo-plugin.ts"],"sourcesContent":["/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {InjectionToken} from '@angular/core';\nimport {PluginConfig} from '../models';\n\nconst PLUGINS_TOKEN = new InjectionToken<PluginConfig>(\n 'Provide plugin config; an array of plugin specifications.'\n);\n\nexport {PLUGINS_TOKEN};\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport * from './injection-tokens';\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Inject, Injectable} from '@angular/core';\nimport {PluginConfig, PluginSpecification} from '../models';\nimport {BehaviorSubject, Observable} from 'rxjs';\nimport {map} from 'rxjs/operators';\nimport {PLUGINS_TOKEN} from '../constants';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class PluginService {\n private readonly _pluginSpecifications$ = new BehaviorSubject<Array<PluginSpecification>>([]);\n private readonly _availablePluginIds$ = this._pluginSpecifications$.pipe(\n map(pluginSpecifications => pluginSpecifications.map(specification => specification.pluginId))\n );\n\n constructor(@Inject(PLUGINS_TOKEN) private readonly pluginConfig: PluginConfig) {\n this._pluginSpecifications$.next(pluginConfig);\n }\n\n get pluginSpecifications$(): Observable<Array<PluginSpecification>> {\n return this._pluginSpecifications$.asObservable();\n }\n\n get pluginSpecifications(): Array<PluginSpecification> {\n return this._pluginSpecifications$.getValue();\n }\n\n get availablePluginIds$(): Observable<Array<string>> {\n return this._availablePluginIds$;\n }\n}\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Injectable} from '@angular/core';\nimport {TranslateService} from '@ngx-translate/core';\nimport {PluginService} from './plugin.service';\nimport {PluginSpecification} from '../models';\nimport {combineLatest, Observable} from 'rxjs';\nimport {map} from 'rxjs/operators';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class PluginTranslationService {\n constructor(\n private readonly translateService: TranslateService,\n private readonly pluginService: PluginService\n ) {}\n\n public translate(translateKey: string, pluginDefinitionKey: string): Observable<string> {\n return combineLatest([\n this.pluginService.pluginSpecifications$,\n this.translateService.stream('key'),\n ]).pipe(\n map(([pluginSpecifications]) =>\n this.getTranslation(pluginSpecifications, pluginDefinitionKey, translateKey)\n )\n );\n }\n\n public instant(translateKey: string, pluginDefinitionKey: string): string {\n return this.getTranslation(\n this.pluginService.pluginSpecifications,\n pluginDefinitionKey,\n translateKey\n );\n }\n\n public instantByPluginActionKey(pluginActionKey: string): string {\n return this.getTranslationFromPluginActionKey(pluginActionKey);\n }\n\n public instantPluginTitleByPluginActionKey(pluginActionKey: string): string {\n return this.getPluginTitleFromPluginActionKey(pluginActionKey);\n }\n\n private getTranslation(\n pluginSpecifications: Array<PluginSpecification>,\n pluginDefinitionKey: string,\n translateKey: string\n ): string {\n const currentLang = this.translateService.currentLang;\n const pluginSpecification = pluginSpecifications.find(\n specification => specification.pluginId === pluginDefinitionKey\n );\n const translation = pluginSpecification?.pluginTranslations[currentLang][translateKey];\n return translation || `${pluginDefinitionKey}.${translateKey}`;\n }\n\n private getTranslationFromPluginActionKey(pluginActionKey: string): string {\n const currentLang = this.translateService.currentLang;\n const pluginSpecifications = this.pluginService.pluginSpecifications;\n const pluginActionTranslation = pluginSpecifications.reduce((acc, curr) => {\n const currentLanguageTranslations = curr.pluginTranslations[currentLang];\n const pluginActionTranslation =\n currentLanguageTranslations && currentLanguageTranslations[pluginActionKey];\n return pluginActionTranslation || acc;\n }, '');\n\n return pluginActionTranslation || pluginActionKey;\n }\n\n private getPluginTitleFromPluginActionKey(pluginActionKey: string): string {\n const currentLang = this.translateService.currentLang;\n const pluginSpecifications = this.pluginService.pluginSpecifications;\n return pluginSpecifications.reduce((acc, curr) => {\n const currentLanguageTranslations = curr.pluginTranslations[currentLang];\n const pluginActionTranslation =\n currentLanguageTranslations && currentLanguageTranslations[pluginActionKey];\n const pluginTitleTranslation =\n currentLanguageTranslations && currentLanguageTranslations['title'];\n return (pluginActionTranslation && pluginTitleTranslation) || acc;\n }, '-');\n }\n}\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Injectable} from '@angular/core';\nimport {HttpClient, HttpParams} from '@angular/common/http';\nimport {combineLatest, Observable} from 'rxjs';\nimport {\n PluginConfiguration,\n PluginConfigurationWithLogo,\n PluginDefinition,\n PluginFunction,\n} from '../models';\nimport {ConfigService} from '@valtimo/shared';\nimport {map} from 'rxjs/operators';\nimport {PluginService} from './plugin.service';\nimport {DomSanitizer} from '@angular/platform-browser';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class PluginManagementService {\n private readonly VALTIMO_API_ENDPOINT_URI = this.configService.config.valtimoApi.endpointUri;\n\n constructor(\n private readonly configService: ConfigService,\n private readonly pluginService: PluginService,\n private readonly sanitizer: DomSanitizer,\n private readonly http: HttpClient\n ) {}\n\n public getPluginDefinitions(): Observable<Array<PluginDefinition>> {\n return this.http.get<Array<PluginDefinition>>(\n `${this.VALTIMO_API_ENDPOINT_URI}v1/plugin/definition`\n );\n }\n\n public getPluginFunctions(\n pluginDefinitionId: string,\n activityType: string\n ): Observable<Array<PluginFunction>> {\n const params = new HttpParams().set('activityType', activityType);\n\n return this.http.get<Array<PluginFunction>>(\n `${this.VALTIMO_API_ENDPOINT_URI}v1/plugin/definition/${pluginDefinitionId}/action`,\n {params}\n );\n }\n public getAllPluginConfigurations(): Observable<Array<PluginConfiguration>> {\n return this.http.get<Array<PluginConfiguration>>(\n `${this.VALTIMO_API_ENDPOINT_URI}v1/plugin/configuration`\n );\n }\n\n public getPluginConfigurationsByPluginDefinitionKey(\n pluginDefinitionKey: string\n ): Observable<Array<PluginConfiguration>> {\n return this.http.get<Array<PluginConfiguration>>(\n `${this.VALTIMO_API_ENDPOINT_URI}v1/plugin/configuration?pluginDefinitionKey=${pluginDefinitionKey}`\n );\n }\n\n public getPluginConfigurationsByCategory(\n categoryId: string\n ): Observable<Array<PluginConfiguration>> {\n return this.http.get<Array<PluginConfiguration>>(\n `${this.VALTIMO_API_ENDPOINT_URI}v1/plugin/configuration?category=${categoryId}`\n );\n }\n\n public getPluginConfigurationsWithActionsForActivityType(\n activityType: string\n ): Observable<Array<PluginConfiguration>> {\n return this.http.get<Array<PluginConfiguration>>(\n `${this.VALTIMO_API_ENDPOINT_URI}v1/plugin/configuration?activityType=${activityType}`\n );\n }\n\n public getAllPluginConfigurationsWithLogos(\n activityType?: string\n ): Observable<Array<PluginConfigurationWithLogo>> {\n return activityType && activityType.length > 0\n ? this.returnPluginConfigurationsWithLogos(\n this.getPluginConfigurationsWithActionsForActivityType(activityType)\n )\n : this.returnPluginConfigurationsWithLogos(this.getAllPluginConfigurations());\n }\n\n public savePluginConfiguration(\n pluginConfiguration: PluginConfiguration\n ): Observable<PluginConfiguration> {\n return this.http.post<PluginConfiguration>(\n `${this.VALTIMO_API_ENDPOINT_URI}v1/plugin/configuration`,\n pluginConfiguration\n );\n }\n\n updatePluginConfiguration(\n configurationId: string,\n newConfigurationId: string,\n configurationTitle: string,\n configurationProperties: object\n ): Observable<PluginConfiguration> {\n return this.http.put<PluginConfiguration>(\n `${this.VALTIMO_API_ENDPOINT_URI}v1/plugin/configuration/${configurationId}`,\n {\n newId: newConfigurationId,\n title: configurationTitle,\n properties: configurationProperties,\n }\n );\n }\n\n deletePluginConfiguration(configurationId: string): Observable<void> {\n return this.http.delete<void>(\n `${this.VALTIMO_API_ENDPOINT_URI}v1/plugin/configuration/${configurationId}`\n );\n }\n\n private returnPluginConfigurationsWithLogos(\n pluginConfigurations$: Observable<Array<PluginConfiguration>>\n ): Observable<Array<PluginConfigurationWithLogo>> {\n return combineLatest([pluginConfigurations$, this.pluginService.pluginSpecifications$]).pipe(\n map(([pluginConfigurations, pluginSpecifications]) =>\n pluginConfigurations?.map(pluginConfiguration => {\n const pluginSpecification = pluginSpecifications.find(\n specification => specification.pluginId === pluginConfiguration?.pluginDefinition?.key\n );\n\n return {\n ...pluginConfiguration,\n ...(pluginSpecification?.pluginLogoBase64 && {\n pluginLogoBase64: this.sanitizer.bypassSecurityTrustResourceUrl(\n pluginSpecification?.pluginLogoBase64\n ),\n }),\n };\n })\n )\n );\n }\n}\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport * from './plugin.service';\nexport * from './plugin-translation.service';\nexport * from './plugin-management.service';\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {EventEmitter, Type} from '@angular/core';\nimport {Observable} from 'rxjs';\nimport {SafeResourceUrl} from '@angular/platform-browser';\nimport {CaseManagementParams, ManagementContext} from '@valtimo/shared';\n\ninterface PluginConfigurationData {\n configurationId: string;\n configurationTitle: string;\n [key: string]: any;\n}\n\ninterface DefaultPluginConfigurationData {\n configurationId: string;\n}\n\ninterface FunctionConfigurationData {\n [key: string]: any;\n}\n\ninterface ConfigurationComponent {\n save$: Observable<void>;\n disabled$: Observable<boolean>;\n pluginId: string;\n valid: EventEmitter<boolean>;\n context$?: Observable<[ManagementContext, CaseManagementParams]>;\n}\n\ninterface PluginConfigurationComponent extends ConfigurationComponent {\n prefillConfiguration$?: Observable<PluginConfigurationData>;\n configuration: EventEmitter<PluginConfigurationData>;\n}\n\ninterface FunctionConfigurationComponent extends ConfigurationComponent {\n prefillConfiguration$?: Observable<FunctionConfigurationData>;\n selectedPluginConfigurationData$?: Observable<PluginConfigurationData>;\n configuration: EventEmitter<FunctionConfigurationData>;\n}\n\ninterface PluginSpecification {\n pluginId: string;\n pluginLogoBase64: string;\n pluginConfigurationComponent: Type<PluginConfigurationComponent>;\n functionConfigurationComponents?: {\n [functionId: string]: Type<FunctionConfigurationComponent>;\n };\n pluginTranslations: {\n [langKey: string]: {\n title: string;\n description: string;\n [translationKey: string]: string;\n };\n };\n}\n\ntype PluginConfig = Array<PluginSpecification>;\n\ntype ConfigurationComponentType = 'function' | 'configuration';\n\ninterface PluginDefinition {\n key: string;\n description?: string;\n title?: string;\n}\n\ninterface PluginDefinitionWithLogo extends PluginDefinition {\n pluginLogoBase64?: SafeResourceUrl;\n}\n\ninterface PluginConfiguration {\n definitionKey?: string;\n pluginDefinition?: PluginDefinition;\n id?: string;\n newId?: string;\n title: string;\n properties: object;\n}\n\ninterface PluginConfigurationWithLogo extends PluginConfiguration {\n pluginLogoBase64?: SafeResourceUrl;\n}\n\ninterface PluginFunction {\n description?: string;\n key: string;\n title?: string;\n}\n\nexport {\n PluginSpecification,\n PluginConfig,\n PluginConfigurationComponent,\n ConfigurationComponentType,\n PluginConfigurationData,\n DefaultPluginConfigurationData,\n FunctionConfigurationComponent,\n FunctionConfigurationData,\n PluginConfiguration,\n PluginDefinition,\n PluginFunction,\n PluginDefinitionWithLogo,\n PluginConfigurationWithLogo,\n};\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport * from './plugin';\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Pipe, PipeTransform} from '@angular/core';\nimport {Observable} from 'rxjs';\nimport {PluginTranslationService} from '../../services/plugin-translation.service';\n\n@Pipe({\n name: 'pluginTranslate',\n standalone: false,\n})\nexport class PluginTranslatePipe implements PipeTransform {\n constructor(private readonly pluginTranslationService: PluginTranslationService) {}\n\n transform(translateKey: string, pluginDefinitionKey: string): Observable<string> {\n return this.pluginTranslationService.translate(translateKey, pluginDefinitionKey);\n }\n}\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {PluginTranslatePipe} from './plugin-translate.pipe';\nimport {NgModule} from '@angular/core';\nimport {TranslateModule} from '@ngx-translate/core';\n\n@NgModule({\n imports: [TranslateModule],\n declarations: [PluginTranslatePipe],\n exports: [PluginTranslatePipe],\n})\nexport class PluginTranslatePipeModule {}\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport * from './plugin-translate.pipe';\nexport * from './plugin-translate-pipe.module';\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport * from './plugin-translate';\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {BehaviorSubject, combineLatest, Observable, Subscription, take} from 'rxjs';\nimport {DefaultPluginConfigurationData} from '../../models';\nimport {validate as isValidUUID} from 'uuid';\n// import {PLUGIN_CONFIGURATION_ID_TEST} from '@e2e/constants';\n\n@Component({\n selector: 'valtimo-default-plugin-configuration',\n templateUrl: './default-plugin-configuration.component.html',\n styleUrls: ['./default-plugin-configuration.component.scss'],\n standalone: false,\n})\nexport class DefaultPluginConfigurationComponent implements OnInit, OnDestroy {\n @Input() save$: Observable<void>;\n @Input() disabled$: Observable<boolean>;\n @Input() prefillConfiguration$: Observable<any>;\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() configuration: EventEmitter<DefaultPluginConfigurationData> =\n new EventEmitter<DefaultPluginConfigurationData>();\n\n // public readonly PLUGIN_CONFIGURATION_ID_TEST = PLUGIN_CONFIGURATION_ID_TEST;\n\n private saveSubscription!: Subscription;\n private readonly formValue$ = new BehaviorSubject<DefaultPluginConfigurationData | null>(null);\n private readonly valid$ = new BehaviorSubject<boolean>(false);\n\n ngOnInit(): void {\n this.openSaveSubscription();\n }\n\n ngOnDestroy(): void {\n this.saveSubscription?.unsubscribe();\n }\n\n formValueChange(formValue: DefaultPluginConfigurationData): void {\n this.formValue$.next(formValue);\n this.handleValid(formValue);\n }\n\n private handleValid(formValue: DefaultPluginConfigurationData): void {\n const valid = !formValue.configurationId || isValidUUID(formValue.configurationId);\n this.valid$.next(valid);\n this.valid.emit(valid);\n }\n\n private openSaveSubscription(): void {\n this.saveSubscription = this.save$?.subscribe(save => {\n combineLatest([this.formValue$, this.valid$])\n .pipe(take(1))\n .subscribe(([formValue, valid]) => {\n if (valid) {\n this.configuration.emit(formValue);\n }\n });\n });\n }\n}\n","<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null,\n } as obs\"\n>\n <!-- [attr.data-test-id]=\"PLUGIN_CONFIGURATION_ID_TEST\" -->\n\n <v-input\n name=\"configurationId\"\n data-test-id=\"pluginConfigurationId\"\n [title]=\"'plugin.configurationId' | translate\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.configurationId\"\n [required]=\"false\"\n [tooltip]=\"'plugin.configurationIdTooltip' | translate\"\n placeholder=\"00000000-0000-0000-0000-000000000000\"\n >\n </v-input>\n</v-form>\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {\n Component,\n ComponentRef,\n EventEmitter,\n Input,\n OnDestroy,\n OnInit,\n Output,\n Type,\n ViewChild,\n ViewContainerRef,\n} from '@angular/core';\nimport {PluginService} from '../../services';\nimport {BehaviorSubject, combineLatest, Observable, Subscription} from 'rxjs';\nimport {map, tap} from 'rxjs/operators';\nimport {\n ConfigurationComponentType,\n DefaultPluginConfigurationData,\n FunctionConfigurationComponent,\n PluginConfiguration,\n PluginConfigurationComponent,\n PluginConfigurationData,\n} from '../../models';\nimport {ActivatedRoute} from '@angular/router';\nimport {getCaseManagementRouteParamsAndContext} from '@valtimo/shared';\n\n@Component({\n selector: 'valtimo-plugin-configuration-container',\n templateUrl: './plugin-configuration-container.component.html',\n styleUrls: ['./plugin-configuration-container.component.scss'],\n standalone: false,\n})\nexport class PluginConfigurationContainerComponent\n implements OnInit, OnDestroy, Omit<PluginConfigurationComponent, 'pluginId'>\n{\n @ViewChild('pluginConfigurationComponent', {static: true, read: ViewContainerRef})\n public dynamicContainer: ViewContainerRef;\n\n @Input() set type(type: ConfigurationComponentType) {\n this._componentType.next(type);\n }\n @Input() set pluginDefinitionKey(key: string) {\n this._pluginDefinitionKey.next(key);\n }\n @Input() set functionKey(key: string) {\n this._functionKey.next(key);\n }\n @Input() save$: Observable<void>;\n @Input() disabled$: Observable<boolean>;\n @Input() selectedPluginConfiguration$: Observable<PluginConfiguration>;\n @Input() prefillConfiguration$: Observable<any>;\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() configuration: EventEmitter<PluginConfigurationData> =\n new EventEmitter<PluginConfigurationData>();\n\n readonly noConfigurationComponentAvailable$ = new BehaviorSubject<boolean>(false);\n readonly componentRef$ = new BehaviorSubject<\n ComponentRef<PluginConfigurationComponent | FunctionConfigurationComponent> | undefined\n >(undefined);\n\n private componentRefSubscription!: Subscription;\n private pluginSubscription!: Subscription;\n private validSubscription!: Subscription;\n private configurationSubscription!: Subscription;\n\n private readonly _componentType = new BehaviorSubject<ConfigurationComponentType | null>(null);\n private readonly _pluginDefinitionKey = new BehaviorSubject<string>('');\n private readonly _functionKey = new BehaviorSubject<string>('');\n private readonly _defaultConfiguration =\n new BehaviorSubject<DefaultPluginConfigurationData | null>(null);\n private readonly _validDefaultConfiguration = new BehaviorSubject<boolean>(true);\n\n readonly isTypeConfiguration$: Observable<boolean> = this._componentType.pipe(\n map(componentType => componentType === 'configuration'),\n tap(isTypeConfiguration => this._validDefaultConfiguration.next(!isTypeConfiguration))\n );\n\n constructor(\n private readonly pluginService: PluginService,\n private readonly route: ActivatedRoute\n ) {}\n\n ngOnInit(): void {\n this.openPluginSubscription();\n this.openComponentInstanceSubscription();\n }\n\n ngOnDestroy(): void {\n this.pluginSubscription?.unsubscribe();\n this.componentRefSubscription?.unsubscribe();\n }\n\n onDefaultConfiguration(defaultConfiguration: DefaultPluginConfigurationData) {\n this._defaultConfiguration.next(defaultConfiguration);\n }\n\n onValidDefaultConfiguration(valid: boolean) {\n this._validDefaultConfiguration.next(valid);\n }\n\n private openPluginSubscription(): void {\n this.pluginSubscription = combineLatest([\n this._pluginDefinitionKey,\n this._functionKey,\n this._componentType,\n this.pluginService.pluginSpecifications$,\n ])\n .pipe(\n tap(([pluginDefinitionKey, functionKey, componentType, pluginSpecifications]) => {\n let configurationComponent!: Type<\n PluginConfigurationComponent | FunctionConfigurationComponent\n >;\n\n this.dynamicContainer.clear();\n\n if (componentType === 'configuration' && pluginDefinitionKey) {\n configurationComponent = pluginSpecifications.find(\n specification => specification.pluginId === pluginDefinitionKey\n )?.pluginConfigurationComponent;\n } else if (componentType === 'function' && pluginDefinitionKey && functionKey) {\n const pluginSpecification = pluginSpecifications.find(\n specification => specification.pluginId === pluginDefinitionKey\n );\n configurationComponent =\n pluginSpecification?.functionConfigurationComponents[functionKey];\n }\n\n if (configurationComponent) {\n const componentRef = this.dynamicContainer.createComponent(configurationComponent);\n this.componentRef$.next(componentRef);\n this.noConfigurationComponentAvailable$.next(false);\n } else {\n this.noConfigurationComponentAvailable$.next(true);\n }\n })\n )\n .subscribe();\n }\n\n private openComponentInstanceSubscription(): void {\n this.componentRefSubscription = combineLatest([\n this.componentRef$,\n this._componentType,\n this._pluginDefinitionKey,\n ]).subscribe(([ref, type, pluginDefinitionKey]) => {\n const instance = ref?.instance;\n\n this.configurationSubscription?.unsubscribe();\n this.validSubscription?.unsubscribe();\n\n if (instance) {\n instance.save$ = this.save$;\n instance.disabled$ = this.disabled$;\n instance.pluginId = pluginDefinitionKey;\n instance.context$ = getCaseManagementRouteParamsAndContext(this.route);\n\n if (this.prefillConfiguration$) {\n instance.prefillConfiguration$ = this.prefillConfiguration$;\n }\n\n if (this.selectedPluginConfiguration$ && type === 'function') {\n (instance as FunctionConfigurationComponent).selectedPluginConfigurationData$ =\n this.selectedPluginConfiguration$.pipe(\n map(configuration =>\n configuration\n ? ({\n configurationId: configuration.id,\n configurationTitle: configuration.title,\n ...configuration.properties,\n } as PluginConfigurationData)\n : undefined\n )\n );\n }\n\n this.validSubscription = combineLatest([\n instance.valid,\n this._validDefaultConfiguration,\n ]).subscribe(([instanceValid, defaultConfigurationValid]) => {\n this.valid.emit(instanceValid && defaultConfigurationValid);\n });\n\n this.configurationSubscription = instance.configuration.subscribe(configuration => {\n const configurationId = this._defaultConfiguration.value?.configurationId;\n this.configuration.emit({\n ...configuration,\n configurationId,\n } as any as PluginConfigurationData);\n });\n }\n });\n }\n}\n","<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<valtimo-default-plugin-configuration\n *ngIf=\"isTypeConfiguration$ | async\"\n [prefillConfiguration$]=\"prefillConfiguration$\"\n [save$]=\"save$\"\n [disabled$]=\"disabled$\"\n (valid)=\"onValidDefaultConfiguration($event)\"\n (configuration)=\"onDefaultConfiguration($event)\"\n>\n</valtimo-default-plugin-configuration>\n<ng-template #pluginConfigurationComponent></ng-template>\n<ng-container *ngIf=\"noConfigurationComponentAvailable$ | async\">\n <v-paragraph [center]=\"true\">{{ 'plugin.noConfigurationComponent' | translate }}</v-paragraph>\n</ng-container>\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {NgModule} from '@angular/core';\nimport {CommonModule} from '@angular/common';\nimport {DefaultPluginConfigurationComponent} from './default-plugin-configuration.component';\nimport {FormModule, InputModule, ParagraphModule} from '@valtimo/components';\nimport {TranslateModule} from '@ngx-translate/core';\nimport {PluginTranslatePipeModule} from '../../pipes';\n\n@NgModule({\n declarations: [DefaultPluginConfigurationComponent],\n imports: [\n CommonModule,\n ParagraphModule,\n TranslateModule,\n PluginTranslatePipeModule,\n FormModule,\n InputModule,\n ],\n exports: [DefaultPluginConfigurationComponent],\n})\nexport class DefaultPluginConfigurationModule {}\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {NgModule} from '@angular/core';\nimport {CommonModule} from '@angular/common';\nimport {PluginConfigurationContainerComponent} from './plugin-configuration-container.component';\nimport {ParagraphModule} from '@valtimo/components';\nimport {TranslateModule} from '@ngx-translate/core';\nimport {DefaultPluginConfigurationModule} from '../default-plugin-configuration/default-plugin-configuration.module';\n\n@NgModule({\n declarations: [PluginConfigurationContainerComponent],\n imports: [CommonModule, ParagraphModule, TranslateModule, DefaultPluginConfigurationModule],\n exports: [PluginConfigurationContainerComponent],\n})\nexport class PluginConfigurationContainerModule {}\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {PluginConfigurationComponent} from '../../../../models';\nimport {BehaviorSubject, combineLatest, Observable, Subscription, take} from 'rxjs';\nimport {OpenZaakConfig} from '../../models';\n\n@Component({\n selector: 'valtimo-open-zaak-configuration',\n templateUrl: './open-zaak-configuration.component.html',\n styleUrls: ['./open-zaak-configuration.component.scss'],\n standalone: false,\n})\nexport class OpenZaakConfigurationComponent\n implements PluginConfigurationComponent, OnInit, OnDestroy\n{\n @Input() save$: Observable<void>;\n @Input() disabled$: Observable<boolean>;\n @Input() pluginId: string;\n @Input() prefillConfiguration$: Observable<OpenZaakConfig>;\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() configuration: EventEmitter<OpenZaakConfig> = new EventEmitter<OpenZaakConfig>();\n\n private saveSubscription!: Subscription;\n\n private readonly formValue$ = new BehaviorSubject<OpenZaakConfig | null>(null);\n private readonly valid$ = new BehaviorSubject<boolean>(false);\n\n ngOnInit(): void {\n this.openSaveSubscription();\n }\n\n ngOnDestroy() {\n this.saveSubscription?.unsubscribe();\n }\n\n formValueChange(formValue: OpenZaakConfig): void {\n this.formValue$.next(formValue);\n this.handleValid(formValue);\n }\n\n private handleValid(formValue: OpenZaakConfig): void {\n const valid = !!(formValue.configurationTitle && formValue.clientId && formValue.clientSecret);\n\n this.valid$.next(valid);\n this.valid.emit(valid);\n }\n\n private openSaveSubscription(): void {\n this.saveSubscription = this.save$?.subscribe(save => {\n combineLatest([this.formValue$, this.valid$])\n .pipe(take(1))\n .subscribe(([formValue, valid]) => {\n if (valid) {\n this.configuration.emit(formValue);\n }\n });\n });\n }\n}\n","<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null,\n } as obs\"\n>\n <v-input\n name=\"configurationTitle\"\n data-test-id=\"openZaakConfigurationTitle\"\n [title]=\"'configurationTitle' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.configurationTitle\"\n [required]=\"true\"\n [trim]=\"true\"\n [tooltip]=\"'configurationTitleTooltip' | pluginTranslate: pluginId | async\"\n placeholder=\"OpenZaak Plugin\"\n >\n </v-input>\n <v-input\n name=\"clientId\"\n data-test-id=\"openZaakClientId\"\n [title]=\"'clientId' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.clientId\"\n [required]=\"true\"\n [trim]=\"true\"\n [tooltip]=\"'clientIdTooltip' | pluginTranslate: pluginId | async\"\n placeholder=\"client-id\"\n >\n </v-input>\n <v-input\n name=\"clientSecret\"\n data-test-id=\"openZaakClientSecret\"\n type=\"password\"\n [title]=\"'clientSecret' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.clientSecret\"\n [required]=\"true\"\n [tooltip]=\"'clientSecretTooltip' | pluginTranslate: pluginId | async\"\n placeholder=\"\"\n >\n </v-input>\n</v-form>\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {NgModule} from '@angular/core';\nimport {CommonModule} from '@angular/common';\nimport {OpenZaakConfigurationComponent} from './components/open-zaak-configuration/open-zaak-configuration.component';\nimport {FormModule, InputModule} from '@valtimo/components';\nimport {PluginTranslatePipeModule} from '../../pipes';\n\n@NgModule({\n declarations: [OpenZaakConfigurationComponent],\n imports: [CommonModule, FormModule, InputModule, PluginTranslatePipeModule],\n exports: [OpenZaakConfigurationComponent],\n})\nexport class OpenZaakPluginModule {}\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nconst OPEN_ZAAK_PLUGIN_LOGO_BASE64 =\n 'data:image/png;base64,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';\n\nexport {OPEN_ZAAK_PLUGIN_LOGO_BASE64};\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport * from './open-zaak-plugin-logo';\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {PluginSpecification} from '../../models';\nimport {OpenZaakConfigurationComponent} from './components/open-zaak-configuration/open-zaak-configuration.component';\nimport {OPEN_ZAAK_PLUGIN_LOGO_BASE64} from './assets';\n\nconst openZaakPluginSpecification: PluginSpecification = {\n pluginId: 'openzaak',\n pluginConfigurationComponent: OpenZaakConfigurationComponent,\n pluginLogoBase64: OPEN_ZAAK_PLUGIN_LOGO_BASE64,\n pluginTranslations: {\n nl: {\n title: 'OpenZaak',\n description:\n 'OpenZaak is een productiewaardig API platform die de API-standaard voor zaakgericht werken implementeert (de ZGW-API’s).',\n configurationTitle: 'Configuratienaam',\n configurationTitleTooltip:\n 'Onder deze naam zal de plugin te herkennen zijn in de rest van de applicatie',\n clientId: 'Client ID',\n clientIdTooltip:\n 'Vul hier het clientId in dat geconfigureerd staat onder OpenZaak-beheer (zie API authorisaties > Applicaties). Dit clientId moet de juiste authorisaties hebben voor de benodigde functionaliteit',\n clientSecret: 'Secret',\n clientSecretTooltip: 'Vul de secret in die hoort bij de clientId hierboven',\n },\n en: {\n title: 'OpenZaak',\n description:\n 'OpenZaak is a production-worthy API platform that implements the API standard for case-oriented working (the ZGW APIs).',\n configurationTitle: 'Configuration name',\n configurationTitleTooltip:\n 'Under this name, the plugin will be recognizable in the rest of the application',\n clientId: 'Client ID',\n clientIdTooltip:\n 'Enter the clientId here which is configured under OpenZaak management (see API authorizations > Applications). This clientId must have the correct authorizations for the required functionality',\n clientSecret: 'Secret',\n clientSecretTooltip: 'Enter the secret associated with the clientId above',\n },\n },\n};\n\nexport {openZaakPluginSpecification};\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {PluginConfigurationComponent} from '../../../../models';\nimport {BehaviorSubject, combineLatest, Observable, Subscription, take} from 'rxjs';\nimport {ObjectTokenAuthenticationConfig} from '../../models';\n\n@Component({\n selector: 'valtimo-object-token-authentication-configuration',\n templateUrl: './object-token-authencation-configuration.component.html',\n styleUrls: ['./object-token-authencation-configuration.component.scss'],\n standalone: false,\n})\nexport class ObjectTokenAuthencationConfigurationComponent\n implements PluginConfigurationComponent, OnInit, OnDestroy\n{\n @Input() save$: Observable<void>;\n @Input() disabled$: Observable<boolean>;\n @Input() pluginId: string;\n @Input() prefillConfiguration$: Observable<ObjectTokenAuthenticationConfig>;\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() configuration: EventEmitter<ObjectTokenAuthenticationConfig> =\n new EventEmitter<ObjectTokenAuthenticationConfig>();\n\n private saveSubscription!: Subscription;\n\n private readonly formValue$ = new BehaviorSubject<ObjectTokenAuthenticationConfig | null>(null);\n private readonly valid$ = new BehaviorSubject<boolean>(false);\n\n ngOnInit(): void {\n this.openSaveSubscription();\n }\n\n ngOnDestroy() {\n this.saveSubscription?.unsubscribe();\n }\n\n formValueChange(formValue: ObjectTokenAuthenticationConfig): void {\n this.formValue$.next(formValue);\n this.handleValid(formValue);\n }\n\n private handleValid(formValue: ObjectTokenAuthenticationConfig): void {\n const valid = !!(formValue.configurationTitle && formValue.token?.length >= 20);\n\n this.valid$.next(valid);\n this.valid.emit(valid);\n }\n\n private openSaveSubscription(): void {\n this.saveSubscription = this.save$?.subscribe(save => {\n combineLatest([this.formValue$, this.valid$])\n .pipe(take(1))\n .subscribe(([formValue, valid]) => {\n if (valid) {\n this.configuration.emit(formValue);\n }\n });\n });\n }\n}\n","<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null,\n } as obs\"\n>\n <v-input\n name=\"configurationTitle\"\n data-test-id=\"objectTokenAuthenticationConfigurationTitle\"\n [title]=\"'configurationTitle' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.configurationTitle\"\n [required]=\"true\"\n [trim]=\"true\"\n [tooltip]=\"'configurationTitleTooltip' | pluginTranslate: pluginId | async\"\n placeholder=\"Object Token Authenticatie Plugin\"\n >\n </v-input>\n <v-input\n name=\"token\"\n data-test-id=\"objectTokenAuthenticationToken\"\n type=\"password\"\n [title]=\"'token' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.clientId\"\n [required]=\"true\"\n [tooltip]=\"'tokenTooltip' | pluginTranslate: pluginId | async\"\n >\n </v-input>\n</v-form>\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {ObjectTokenAuthencationConfigurationComponent} from './components/object-token-authentication-configuration/object-token-authencation-configuration.component';\nimport {CommonModule} from '@angular/common';\nimport {PluginTranslatePipeModule} from '../../pipes';\nimport {FormModule, InputModule} from '@valtimo/components';\nimport {NgModule} from '@angular/core';\n\n@NgModule({\n declarations: [ObjectTokenAuthencationConfigurationComponent],\n imports: [CommonModule, PluginTranslatePipeModule, FormModule, InputModule],\n exports: [ObjectTokenAuthencationConfigurationComponent],\n})\nexport class ObjectTokenAuthenticationPluginModule {}\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nconst OBJECT_TOKEN_AUTHENTICATION_PLUGIN_LOGO_BASE64 =\n 'data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyBpZD0iTGF5ZXJfMiIgZGF0YS1uYW1lPSJMYXllciAyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAzNDMuMDggMTgwLjIxIj4KICA8ZGVmcz4KICAgIDxzdHlsZT4KICAgICAgLmNscy0xIHsKICAgICAgICBmaWxsOiAjZmZiYzJkOwogICAgICB9CiAgICA8L3N0eWxlPgogIDwvZGVmcz4KICA8ZyBpZD0iTGF5ZXJfMS0yIiBkYXRhLW5hbWU9IkxheWVyIDEiPgogICAgPHBhdGggY2xhc3M9ImNscy0xIiBkPSJtMTQyLjgxLDcxLjgxYy04LjAyLTcuNjUtMTcuMzEtMTIuODQtMjguNTgtMTMuMDUtMTQuMDItLjI2LTMwLjQ4LDEwLjExLTMzLjQzLDI3LjM2LTEuNDIsOC4yOS42NSwxNS45NCw1LjY4LDIyLjYyLDcuNTEsOS45OCwxNy42NSwxNS41MywzMC4xNCwxNS41OSwxMi4yMS4wNiwyMy4yNC00LjA2LDMyLjk4LTExLjUsMi45OS0yLjI4LDUuNzgtNC43Nyw4LjM4LTcuNDguNi0uNjMsMS4yMi0xLjI2LDEuOTItMS43OC44OS0uNjUsMS44OS0uNzksMi42Ny4xNy43Ljg3LjE2LDEuNjYtLjQzLDIuMzMtMy42NCw0LjEzLTcuNDgsOC4wNC0xMS44MywxMS40NS0xMC4zNyw4LjE0LTIyLjE5LDEyLjYzLTM1LjI2LDEyLjgzLTIxLjAzLjMyLTQxLjIyLTE1LjY2LTQzLjctMzYuNTgtMS45NS0xNi41NCw0LjcxLTI5LjI4LDE3LjU3LTM4LjkxLDE1LjQ3LTExLjU3LDMyLjM3LTExLjgyLDQ5LjY4LTQuNjcsMTcuMTUsNy4wOCwzMC4yMywxOS4xNiw0MC43LDM0LjI1LDcuMSwxMC4yMywxNS4yMywxOS40NywyNS4zNiwyNi44Miw2LjE3LDQuNDgsMTIuOTUsNy41NywyMC41NCw4LjQ4LDExLjE0LDEuMzQsMjUuNjYtNC4xNCwzMi40Ny0xNi42Miw2LjItMTEuMzYsNC4zNi0yNS41Mi00LjU1LTM1LjEyLTkuNTktMTAuMzMtMjEuMzktMTQuMDMtMzUuMjctMTEuOTMtMTIuNiwxLjkxLTIzLjAzLDcuOC0zMi4wMywxNi41NS0uNzIuNy0xLjM3LDEuNDYtMi4xMywyLjExLTEuMDQuODktMS45OCwyLjk5LTMuNTYsMS41MS0xLjM1LTEuMjguMS0yLjc3LDEuMDUtMy44NywxMC40NS0xMi4wOCwyMi45OC0yMC42MiwzOS4xNS0yMi45OSwxOC4wNi0yLjY1LDMyLjgxLDMuMzQsNDMuODUsMTcuNjUsMTMuMDMsMTYuODksMTAuNDEsNDMuOTEtOS44Myw1OC4zNC0xNS4yMiwxMC44NS0zMS43MiwxMS44MS00OC43OSw1LjM4LTE2LjUyLTYuMjMtMjkuMjYtMTcuNDktMzkuNTEtMzEuNjItNS41Ny03LjY5LTEwLjg5LTE1LjU1LTE3LjYtMjIuMzNsLTUuNjItNS4wMloiLz4KICAgIDxwYXRoIGQ9Im0zMjMuNDYsODkuNjVjLTEuMy0uMzUtMi42MS0uNy0zLjkxLTEuMDUtMTEuOTEtMy4yMy0xOC4zMS0xMS4yNi0xOC41LTIzLjYyLS4xNi05Ljg3LS4wMy0xOS43NS0uMDYtMjkuNjIsMC0xLjg3LjAzLTMuNzctLjI4LTUuNjEtMS41NS04Ljk4LTcuNzUtMTQuMzEtMTcuNzItMTUuMzlxLTQuODItLjUyLTQuODItNS4zOWMwLTIuMjUuMDYtNC41LS4wMi02Ljc1LS4wNS0xLjQ4LjItMi4yNSwyLTIuMjEsOC41MS4xNywxNi42MywxLjgxLDIzLjkyLDYuMzgsOS43OCw2LjEzLDEzLjg0LDE1LjM5LDEzLjk3LDI2LjU5LjExLDkuNS4wMiwxOSwuMDMsMjguNSwwLDEuNjItLjAxLDMuMjUuMDksNC44Ny40NSw3LjI0LDQuMDksMTIuMTUsMTAuOTIsMTQuNiwzLjU1LDEuMjcsNy4yNywxLjg1LDExLjAyLDEuOSwyLjE1LjAzLDMuMTUuNTUsMi45NSwyLjk5LS4yNSwzLjEtLjE0LDYuMjUtLjAzLDkuMzcuMDYsMS42My0uNTUsMi4yLTIuMTQsMi4yMS0zLjUuMDItNi45Ni40MS0xMC4zNCwxLjQ3LTguMjksMi42Mi0xMi4yNCw3LjUtMTIuNCwxNi4xNC0uMTgsMTAtLjA5LDIwLS4wNywzMCwwLDMuNTEtLjIsNy4wMS0uOTQsMTAuNDMtMi4xNSw5Ljg4LTguMTUsMTYuNjUtMTcuMjgsMjAuNy02LjAxLDIuNjctMTIuMzksMy42NC0xOC45Myw0LjA0LTIuNS4xNS0yLjk1LS43NC0yLjgxLTIuOTIuMTctMi42MS4wMy01LjI1LjA0LTcuODcuMDItMy4yNy4wMy0zLjMyLDMuMTYtMy40OCwyLjM5LS4xMiw0LjcxLS41Niw2Ljk4LTEuMjUsOC4yNi0yLjUzLDEyLjQ2LTcuODIsMTIuNjEtMTYuNDguMTgtMTAuMzcuMS0yMC43NS4wNi0zMS4xMi0uMDEtMy4xNS4yNy02LjI1LDEtOS4yOSwxLjkyLTguMDQsNy4zNC0xMi43OSwxNC45MS0xNS4zNywyLjE4LS43NCw0LjQyLTEuMyw2LjYzLTEuOTQtLjAyLS4yOC0uMDQtLjU1LS4wNS0uODNaIi8+CiAgICA8cGF0aCBkPSJtMTkuMjYsOTAuNDdjMi4xLjYyLDQuMjMsMS4xNyw2LjMsMS44OSw5Ljk4LDMuNDMsMTUuNjIsMTAuNjMsMTUuOTcsMjEuMi4zMywxMC4yNC4xNCwyMC40OS4yMywzMC43My4wMiwyLjI0LjE1LDQuNS40NCw2LjcyLjc3LDUuOTEsMy45LDEwLjE1LDkuMzgsMTIuNTYsMy4zNCwxLjQ3LDYuODcsMi4zNywxMC41MiwyLjMxLDIuMzUtLjA0LDMuMDEuODUsMi44NywzLjA4LS4xOCwyLjk5LS4wOCw2LS4wMyw4Ljk5LjAzLDEuNDItLjEsMi4yOS0xLjk2LDIuMjMtOC4wOS0uMjYtMTUuOTEtMS42Mi0yMy4wNC01LjYyLTkuNi01LjM5LTE0LjY2LTEzLjc2LTE0Ljk1LTI0LjcxLS4yOC0xMC4zNi0uMDktMjAuNzQtLjEtMzEuMTEsMC0yLjM4LS4xNC00LjczLS41Ni03LjA4LS45OS01LjYyLTQuMDctOS41My05LjI5LTExLjc4LTMuODMtMS42Ni03Ljg3LTIuNDYtMTIuMDItMi40Mi0yLjIuMDItMy4xNi0uNTUtMy0yLjk1LjIxLTMuMTEuMTMtNi4yNS4wMi05LjM3LS4wNi0xLjY1LjU4LTIuMTYsMi4xNC0yLjI1LDIuNjEtLjE0LDUuMjEtLjMyLDcuOC0uOSwxMC4xMi0yLjI1LDE0LjczLTcuNjYsMTQuODYtMTguMDcuMTMtMTAuNDkuMDYtMjAuOTkuMDMtMzEuNDktLjAxLTQuNjguOC05LjE4LDIuNzItMTMuNDYsMy4wMS02LjY4LDguMTYtMTEuMjQsMTQuNjQtMTQuMzlDNDguNjIsMS40Nyw1NS40NC4yNCw2Mi41MSwwYzIuMS0uMDcsMi41Mi42NywyLjQ0LDIuNTMtLjEyLDIuOTktLjE2LDYsLjAxLDguOTkuMTEsMi4wMi0uNjcsMi42Ni0yLjU2LDIuNjgtMi44OS4wMy01LjY5LjYyLTguNDMsMS41Ny03LjA2LDIuNDQtMTEuMTMsNy4zLTExLjksMTQuNzgtLjE5LDEuODYtLjMyLDMuNzMtLjMzLDUuNi0uMDYsOS44Ny4xMywxOS43NS0uMTYsMjkuNjEtLjM2LDEyLjA4LTYuNjgsMTkuNjgtMTguNCwyMi44NC0xLjMuMzUtMi42MS43MS0zLjkxLDEuMDYsMCwuMjctLjAyLjUzLS4wMi44WiIvPgogIDwvZz4KPC9zdmc+';\nexport {OBJECT_TOKEN_AUTHENTICATION_PLUGIN_LOGO_BASE64};\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {PluginSpecification} from '../../models';\nimport {ObjectTokenAuthencationConfigurationComponent} from './components/object-token-authentication-configuration/object-token-authencation-configuration.component';\nimport {OBJECT_TOKEN_AUTHENTICATION_PLUGIN_LOGO_BASE64} from './assets/object-token-authentication-plugin-logo';\n\nconst objectTokenAuthenticationPluginSpecification: PluginSpecification = {\n pluginId: 'objecttokenauthentication',\n pluginConfigurationComponent: ObjectTokenAuthencationConfigurationComponent,\n pluginLogoBase64: OBJECT_TOKEN_AUTHENTICATION_PLUGIN_LOGO_BASE64,\n\n pluginTranslations: {\n nl: {\n title: 'Object token authenticatie',\n description:\n 'Auhenticatie met behulp van tokens voor gebruik door de Objecten API en Objecttypen API.',\n configurationTitle: 'Configuratienaam',\n configurationTitleTooltip:\n 'Onder deze naam zal de plug-in te herkennen zijn in de rest van de applicatie',\n token: 'Token',\n tokenTooltip:\n 'Het token is een sleutel waarmee toestemmingen verleend zijn om specifieke objecttypen en objecten te mogen ophalen',\n },\n en: {\n title: 'Object token authentication',\n description: 'Authentication using tokens for use by the Objecten API and Objecttypen API.',\n configurationTitle: 'Configuration name',\n configurationTitleTooltip:\n 'With this name the plugin will be recognizable in the rest of the application',\n token: 'Token',\n tokenTooltip:\n 'The token is a key that grants permissions to access specific object types and objects',\n },\n },\n};\n\nexport {objectTokenAuthenticationPluginSpecification};\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {PluginConfigurationComponent} from '../../../../models';\nimport {BehaviorSubject, combineLatest, Observable, Subscription, take} from 'rxjs';\nimport {SmartDocumentsConfig} from '../../models';\n\n@Component({\n selector: 'valtimo-smart-documents-configuration',\n templateUrl: './smart-documents-configuration.component.html',\n styleUrls: ['./smart-documents-configuration.component.scss'],\n standalone: false,\n})\nexport class SmartDocumentsConfigurationComponent\n implements PluginConfigurationComponent, OnInit, OnDestroy\n{\n @Input() save$: Observable<void>;\n @Input() disabled$: Observable<boolean>;\n @Input() pluginId: string;\n @Input() prefillConfiguration$: Observable<SmartDocumentsConfig>;\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() configuration: EventEmitter<SmartDocumentsConfig> =\n new EventEmitter<SmartDocumentsConfig>();\n\n private saveSubscription!: Subscription;\n\n private readonly formValue$ = new BehaviorSubject<SmartDocumentsConfig | null>(null);\n private readonly valid$ = new BehaviorSubject<boolean>(false);\n\n ngOnInit(): void {\n this.openSaveSubscription();\n }\n\n ngOnDestroy() {\n this.saveSubscription?.unsubscribe();\n }\n\n formValueChange(formValue: SmartDocumentsConfig): void {\n this.formValue$.next(formValue);\n this.handleValid(formValue);\n }\n\n private handleValid(formValue: SmartDocumentsConfig): void {\n const valid = !!(\n formValue.configurationTitle &&\n formValue.url &&\n formValue.password &&\n formValue.username\n );\n\n this.valid$.next(valid);\n this.valid.emit(valid);\n }\n\n private openSaveSubscription(): void {\n this.saveSubscription = this.save$?.subscribe(save => {\n combineLatest([this.formValue$, this.valid$])\n .pipe(take(1))\n .subscribe(([formValue, valid]) => {\n if (valid) {\n this.configuration.emit(formValue);\n }\n });\n });\n }\n}\n","<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null,\n } as obs\"\n>\n <v-input\n name=\"configurationTitle\"\n data-test-id=\"smartDocumentsConfigurationTitle\"\n [title]=\"'configurationTitle' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.configurationTitle\"\n [required]=\"true\"\n [trim]=\"true\"\n [tooltip]=\"'configurationTitleTooltip' | pluginTranslate: pluginId | async\"\n placeholder=\"Smart Documents Plugin\"\n >\n </v-input>\n <v-input\n name=\"url\"\n data-test-id=\"smartDocumentsUrl\"\n [title]=\"'url' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.url\"\n [required]=\"true\"\n [trim]=\"true\"\n placeholder=\"\"\n >\n </v-input>\n <v-input\n name=\"username\"\n data-test-id=\"smartDocumentsUsername\"\n [title]=\"'username' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.username\"\n [required]=\"true\"\n [trim]=\"true\"\n placeholder=\"\"\n >\n </v-input>\n <v-input\n name=\"password\"\n data-test-id=\"smartDocumentsPassword\"\n type=\"password\"\n [title]=\"'password' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.password\"\n [required]=\"true\"\n >\n </v-input>\n</v-form>\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {FunctionConfigurationComponent} from '../../../../models';\nimport {BehaviorSubject, combineLatest, Observable, Subscription, take} from 'rxjs';\nimport {DocumentFormat, GenerateDocumentConfig} from '../../models';\nimport {ValuePathSelectorPrefix} from '@valtimo/components';\n\n@Component({\n selector: 'valtimo-generate-document-configuration',\n templateUrl: './generate-document-configuration.component.html',\n styleUrls: ['./generate-document-configuration.component.scss'],\n standalone: false,\n})\nexport class GenerateDocumentConfigurationComponent\n implements FunctionConfigurationComponent, OnInit, OnDestroy\n{\n @Input() save$: Observable<void>;\n @Input() disabled$: Observable<boolean>;\n @Input() pluginId: string;\n @Input() prefillConfiguration$: Observable<GenerateDocumentConfig>;\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() configuration: EventEmitter<GenerateDocumentConfig> =\n new EventEmitter<GenerateDocumentConfig>();\n\n readonly FORMATS: Array<DocumentFormat> = ['DOCX', 'HTML', 'PDF', 'XML'];\n readonly FORMAT_SELECT_ITEMS: Array<{id: string; text: string}> = this.FORMATS.map(format => ({\n id: format,\n text: format,\n }));\n\n public readonly ValuePathSelectorPrefix = ValuePathSelectorPrefix;\n\n private saveSubscription!: Subscription;\n private readonly formValue$ = new BehaviorSubject<GenerateDocumentConfig | null>(null);\n private readonly valid$ = new BehaviorSubject<boolean>(false);\n\n ngOnInit(): void {\n this.openSaveSubscription();\n }\n\n ngOnDestroy(): void {\n this.saveSubscription?.unsubscribe();\n }\n\n formValueChange(formValue: GenerateDocumentConfig): void {\n this.formValue$.next(formValue);\n this.handleValid(formValue);\n }\n\n private handleValid(formValue: GenerateDocumentConfig): void {\n const valid = !!(\n formValue.templateGroup &&\n formValue.templateName &&\n formValue.format &&\n formValue.resultingDocumentProcessVariableName &&\n formValue.templateData?.length > 0\n );\n\n this.valid$.next(valid);\n this.valid.emit(valid);\n }\n\n private openSaveSubscription(): void {\n this.saveSubscription = this.save$?.subscribe(save => {\n combineLatest([this.formValue$, this.valid$])\n .pipe(take(1))\n .subscribe(([formValue, valid]) => {\n if (valid) {\n this.configuration.emit(formValue);\n }\n });\n });\n }\n}\n","<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-paragraph [margin]=\"true\" [italic]=\"true\">\n {{ 'generateDocumentWarning' | pluginTranslate: pluginId | async }}\n</v-paragraph>\n<v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null,\n } as obs\"\n>\n <v-input\n name=\"templateGroup\"\n [title]=\"'templateGroup' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.templateGroup\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n [trim]=\"true\"\n placeholder=\"\"\n >\n </v-input>\n <v-input\n name=\"templateName\"\n [title]=\"'templateName' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.templateName\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n [trim]=\"true\"\n placeholder=\"\"\n >\n </v-input>\n <v-input\n name=\"resultingDocumentProcessVariableName\"\n [title]=\"'resultingDocumentProcessVariableName' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.resultingDocumentProcessVariableName\"\n [disabled]=\"obs.disabled\"\n [tooltip]=\"'resultingDocumentProcessVariableNameTooltip' | pluginTranslate: pluginId | async\"\n [required]=\"true\"\n [trim]=\"true\"\n placeholder=\"\"\n >\n </v-input>\n <v-select\n [items]=\"FORMAT_SELECT_ITEMS\"\n [margin]=\"true\"\n [widthInPx]=\"150\"\n name=\"format\"\n [title]=\"'format' | pluginTranslate: pluginId | async\"\n [disabled]=\"obs.disabled\"\n [defaultSelectionId]=\"obs.prefill?.format\"\n [required]=\"true\"\n ></v-select>\n\n <valtimo-carbon-multi-input\n name=\"templateData\"\n [title]=\"'templateData' | pluginTranslate: pluginId | async\"\n type=\"keyValuePathSelector\"\n [disabled]=\"obs.disabled\"\n [defaultValues]=\"obs.prefill?.templateData\"\n [margin]=\"true\"\n [required]=\"true\"\n [tooltip]=\"'templateDataTooltip' | pluginTranslate: pluginId | async\"\n valuePathSelectorNotation=\"slashes\"\n [fullWidth]=\"true\"\n [valuePathSelectorPrefixes]=\"[\n ValuePathSelectorPrefix.DOC,\n ValuePathSelectorPrefix.CASE,\n ValuePathSelectorPrefix.ZAAK,\n ]\"\n [valuePathSelectorShowCaseDefinitionSelector]=\"true\"\n [keyColumnFlex]=\"1\"\n [valueColumnFlex]=\"2\"\n [keyColumnTitle]=\"'key' | pluginTranslate: pluginId | async\"\n [valueColumnTitle]=\"'value' | pluginTranslate: pluginId | async\"\n ></valtimo-carbon-multi-input>\n</v-form>\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {BehaviorSubject, combineLatest, Observable, Subscription, take} from 'rxjs';\nimport {GetTemplateNamesConfig} from '../../models';\nimport {FunctionConfigurationComponent} from '../../../../models';\n\n@Component({\n selector: 'valtimo-get-template-names',\n templateUrl: './get-template-names.component.html',\n standalone: false,\n})\nexport class GetTemplateNamesComponent\n implements FunctionConfigurationComponent, OnInit, OnDestroy\n{\n @Input() save$: Observable<void>;\n @Input() disabled$: Observable<boolean>;\n @Input() pluginId: string;\n @Input() prefillConfiguration$: Observable<GetTemplateNamesConfig>;\n @Output() configuration: EventEmitter<GetTemplateNamesConfig> =\n new EventEmitter<GetTemplateNamesConfig>();\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n\n private readonly formValue$ = new BehaviorSubject<GetTemplateNamesConfig | null>(null);\n private saveSubscription!: Subscription;\n private readonly valid$ = new BehaviorSubject<boolean>(false);\n\n ngOnInit(): void {\n this.openSaveSubscription();\n }\n\n ngOnDestroy() {\n this.saveSubscription?.unsubscribe();\n }\n\n formValueChange(formValue: GetTemplateNamesConfig): void {\n this.formValue$.next(formValue);\n this.handleValid(formValue);\n }\n\n private handleValid(formValue: GetTemplateNamesConfig): void {\n const valid = !!(\n formValue.templateGroupName && formValue.resultingTemplateNameListProcessVariableName\n );\n\n this.valid$.next(valid);\n this.valid.emit(valid);\n }\n\n private openSaveSubscription(): void {\n this.saveSubscription = this.save$?.subscribe(save => {\n combineLatest([this.formValue$, this.valid$])\n .pipe(take(1))\n .subscribe(([formValue, valid]) => {\n if (valid) {\n this.configuration.emit(formValue);\n }\n });\n });\n }\n}\n","<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n<v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null,\n } as obs\"\n>\n <v-input\n name=\"templateGroupName\"\n [title]=\"'templateGroupName' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.templateGroupName\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n [trim]=\"true\"\n >\n </v-input>\n <v-input\n name=\"resultingTemplateNameListProcessVariableName\"\n [title]=\"'resultingTemplateNameListProcessVariableName' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.resultingTemplateNameListProcessVariableName\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n [trim]=\"true\"\n >\n </v-input>\n</v-form>\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {NgModule} from '@angular/core';\nimport {CommonModule} from '@angular/common';\nimport {SmartDocumentsConfigurationComponent} from './components/smart-documents-configuration/smart-documents-configuration.component';\nimport {PluginTranslatePipeModule} from '../../pipes';\nimport {\n FormModule,\n InputModule,\n SelectModule,\n CarbonMultiInputModule,\n ParagraphModule,\n} from '@valtimo/components';\nimport {GenerateDocumentConfigurationComponent} from './components/generate-document-configuration/generate-document-configuration.component';\nimport {GetTemplateNamesComponent} from './components/get-template-names/get-template-names.component';\n\n@NgModule({\n declarations: [\n SmartDocumentsConfigurationComponent,\n GenerateDocumentConfigurationComponent,\n GetTemplateNamesComponent,\n ],\n imports: [\n CommonModule,\n PluginTranslatePipeModule,\n FormModule,\n InputModule,\n SelectModule,\n CarbonMultiInputModule,\n ParagraphModule,\n ],\n exports: [\n SmartDocumentsConfigurationComponent,\n GenerateDocumentConfigurationComponent,\n GetTemplateNamesComponent,\n ],\n})\nexport class SmartDocumentsPluginModule {}\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nconst SMART_DOCUMENTS_PLUGIN_LOGO_BASE64 =\n 'data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyBpZD0iTGF5ZXJfMiIgZGF0YS1uYW1lPSJMYXllciAyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNjcuNzIgMTA2LjU1Ij4KICA8ZGVmcz4KICAgIDxzdHlsZT4KICAgICAgLmNscy0xIHsKICAgICAgICBmaWxsOiAjMDE5ZWUwOwogICAgICB9CgogICAgICAuY2xzLTIgewogICAgICAgIGZpbGw6ICNiYjhkYmM7CiAgICAgIH0KCiAgICAgIC5jbHMtMyB7CiAgICAgICAgZmlsbDogI2JmZTZmNzsKICAgICAgfQoKICAgICAgLmNscy00IHsKICAgICAgICBmaWxsOiAjYzU5ZGM3OwogICAgICB9CgogICAgICAuY2xzLTUgewogICAgICAgIGZpbGw6ICNjY2E5Y2U7CiAgICAgIH0KCiAgICAgIC5jbHMtNiB7CiAgICAgICAgZmlsbDogIzliNTY5ZDsKICAgICAgfQoKICAgICAgLmNscy03IHsKICAgICAgICBmaWxsOiAjN2ZjZWVmOwogICAgICB9CgogICAgICAuY2xzLTggewogICAgICAgIGZpbGw6ICM1OWMwZWE7CiAgICAgIH0KCiAgICAgIC5jbHMtOSB7CiAgICAgICAgZmlsbDogIzc5MWM3ZDsKICAgICAgfQogICAgPC9zdHlsZT4KICA8L2RlZnM+CiAgPGcgaWQ9IkxheWVyXzEtMiIgZGF0YS1uYW1lPSJMYXllciAxIj4KICAgIDxnPgogICAgICA8cGF0aCBjbGFzcz0iY2xzLTEiIGQ9Im0yOC44MywyMi42NGMtLjA3LjM5LS4wOC44LS4yMSwxLjE4LS4zNC45OS0uMzIsMS45OS0uMDYsMi45NS44NywzLjE0LDIuNDUsNS44Nyw0Ljg5LDguMDguODcuNzksMS44NywxLjM5LDMuMDQsMS42LDEuODQuMzMsMy4yNy0uNDcsNC40Ny0xLjc3LDEuMzctMS40OSwyLjI3LTMuMjcsMy4wMS01LjEzLDEuMjgtMy4yLDIuMjUtNi40OCwyLjI2LTkuOTYsMC0xLjY5LS40OS0zLjE0LTEuNjctNC40Ni0yLjM1LTIuNjItMi45MS01Ljc1LTEuNzctOS4wNCwxLjE4LTMuNDIsMy43MS01LjQ4LDcuMjgtNS45OCw1LjIyLS43Myw5LjI5LDIuNzksMTAuMjIsNy4xOC45NSw0LjUtMS44LDkuMjUtNi4yNiwxMC40OC0xLjcuNDctMi44OSwxLjQ2LTMuODMsMi44NS0xLjgyLDIuNjktMi43NCw1Ljc0LTMuNDYsOC44Ni0uNiwyLjY1LS45OSw1LjMyLS41Myw4LjA2LjY3LDQuMDMsMy4zNSw1Ljc3LDcuMTQsNS4zLDEuMjgtLjE2LDIuNTEtLjQ4LDMuNjMtMS4xMywxLjM2LS43OCwyLjE5LTEuOTMsMi40Ni0zLjQ5LDEuMTItNi40NSw2LjYtMTEuNTksMTMuMS0xMi41OCw3LjgzLTEuMiwxNS43NywzLjgzLDE3LjY5LDEyLjA5LDEuOTksOC41NC0zLjc5LDE3LjM5LTEyLjQyLDE4LjktNi44NCwxLjItMTMuMjctMS43NS0xNi42NC03Ljc2LS45OS0xLjc2LTIuMzctMi43Ni00LjI3LTMuMTItMS44Mi0uMzQtMy42Ny0uMzUtNS40NC4yNi0zLjA0LDEuMDMtNC43OCwzLjI1LTUuNDUsNi4zLS43NCwzLjM5LS4yNyw2Ljc0LjU1LDEwLjA2LjI5LDEuMi42MiwyLjM5LDEuMjEsMy40OSwxLjY5LDMuMTcsNC4yOSw1LjAyLDcuODYsNS42MSw3LjU3LDEuMjQsMTMuNTMsNy4zMSwxNC41MywxNC44NywxLjM1LDEwLjIzLTUuNjIsMTguNzgtMTUuMDUsMjAuMDYtMTAuNzcsMS40Ni0xOC42OC02LjIzLTE5Ljk0LTE0LjQ4LTEuMDMtNi43OSwxLjA2LTEyLjQ0LDYuMzQtMTYuODQsMS45NS0xLjYzLDIuOTMtMy43OCwyLjk1LTYuMTguMDQtNS4yNi0xLjQyLTEwLjE3LTQuNDMtMTQuNTItMi4wMS0yLjkxLTUuMDYtNC4xNC04LjQ0LTQuNjktMS43LS4yOC0zLjQzLS4zNS01LjE0LS4yMy0yLjIyLjE1LTQuNjEuOTMtNS40NCwzLjk3LTEuMDcsMy45NC01LjIzLDcuOS0xMS41Nyw3LjI5LTQuNDgtLjQzLTguNDktNC4xOS05LjMtOC44NS0uODEtNC42OSwxLjQxLTkuMjksNS41NC0xMS40OSw0LjExLTIuMTksOS4yMi0xLjQ4LDEyLjY1LDEuNzcuNjcuNjMsMS4yNywxLjM0LDEuNzEsMi4xNS43NCwxLjM4LDEuOTMsMi4xLDMuNDEsMi4zNywzLjA1LjU2LDUuNzgtLjQsNy4xOC0yLjYzLjk4LTEuNTYsMS4wOS0zLjI2LjY1LTQuOTYtLjc5LTMuMDQtMi4zOC01LjY2LTQuNjctNy44LTEuMzktMS4zLTMuMDQtMS45Mi01LjAzLTEuNzYtMy4wMi4yNC01LjUtLjkyLTcuMTktMy40NC0xLjc0LTIuNi0xLjg2LTUuNDItLjQxLTguMTcsMS40MS0yLjY4LDMuNzMtNCw2Ljc4LTQuMTksMy45Ny0uMjQsOC41MywzLjE5LDguMTMsOC42My0uMTIuMDktLjE2LjItLjA5LjMzWm0xMC4zNiw2Ni4xMWMtLjE4LDguMiw2Ljk5LDEzLjc2LDEzLjI1LDEzLjY2LDcuNjctLjEzLDEzLjQtNS44NCwxMy41MS0xMy40OS4xMS03LjY2LTYuMjgtMTMuODMtMTMuMjktMTMuODItOC45NC4wMS0xMy44Niw3LjczLTEzLjQ4LDEzLjY2WiIvPgogICAgICA8cGF0aCBjbGFzcz0iY2xzLTkiIGQ9Im0xNDAuNTEsMzEuMjFjMS45OC0yLjM5LDQuNC00LjA1LDcuNTQtNC40NCw0LjcyLS41OSw4LjgxLjQ3LDExLjY4LDQuNi4wNy4xLjE2LjE4LjMuMzQuNC0uNDMuOC0uODUsMS4xOS0xLjI3LDIuODgtMy4wNCw2LjQ3LTQuMDYsMTAuNTUtMy42OSwxLjkzLjE4LDMuNzYuNjcsNS40MSwxLjczLDMuMDIsMS45NCw0LjQxLDQuODMsNC43Nyw4LjMuMS45OS4wNiwxLjk5LjA2LDIuOTksMCw2LjM1LDAsMTIuNywwLDE5LjA1LDAsLjQ0LjAxLjg4LS4wMywxLjMyLS4zMywzLjQ5LTIuNDEsNC40MS01LjA3LDQuMjgtMi42NC0uMTMtNC4wNy0xLjYzLTQuMzItNC4yMy0uMDktLjg4LS4xMi0xLjc1LS4xMi0yLjYzLDAtNS41OSwwLTExLjE4LDAtMTYuNzcsMC0uNTIsMC0xLjA0LS4wNy0xLjU1LS4yNC0yLjA2LTEuNTItMy41Mi0zLjUzLTQuMDQtMy43NS0uOTctNi45NSwxLjEyLTcuNTYsNC45My0uMTEuNzEtLjE3LDEuNDItLjE3LDIuMTQsMCw1LjQ3LDAsMTAuOTQsMCwxNi40MSwwLC43Ni0uMDIsMS41MS0uMTcsMi4yNi0uNTgsMi43NS0yLjUsMy42NC00LjkzLDMuNDUtMi44OC0uMjItNC4yNC0xLjY2LTQuMjctNC41Ny0uMDctNi4xMS0uMDQtMTIuMjItLjA0LTE4LjMzLDAtLjY4LDAtMS4zNS0uMS0yLjAzLS40MS0yLjg3LTIuMTEtNC4zOS01LTQuNDMtLjI4LDAtLjU2LjAzLS44NC4wNC0uMTMtLjA2LS4yMy0uMDQtLjMzLjA3LTMuNDYuNDktNC45MiwzLjQzLTQuOTYsNi4yMy0uMDUsMi45NS0uMDEsNS45LS4wMSw4Ljg2LDAsMi45MSwwLDUuODMsMCw4Ljc0LDAsLjYtLjA2LDEuMTktLjE2LDEuNzgtLjM5LDIuNDUtMi4wOSwzLjk0LTUuMTIsMy42NC0yLjY4LS4yNi0zLjc2LTEuNC00LjE2LTQuMDgtLjA2LS40My0uMTItLjg3LS4xMi0xLjMxLDAtOS4wMiwwLTE4LjAzLDAtMjcuMDUuMTEtLjA4LjE3LS4xOC4wNi0uMy4xNi0xLjA3LjQtMi4wOCwxLjA3LTIuOTksMS40NS0xLjk3LDYuNDItMi4xOSw3LjU5LDEuMTQuMTYuNDUuMzMuODkuMzksMS4zNy0uMDQuMTYtLjAzLjMuMTEuNDEuMjItLjAyLjMzLS4xNS4zNS0uMzZaIi8+CiAgICAgIDxwYXRoIGNsYXNzPSJjbHMtOSIgZD0ibTIwNy4zMyw1OS44NGMtMi43NiwzLjctNi41Nyw1LjIxLTExLjA3LDUuMjQtLjM2LDAtLjcyLDAtMS4wNywwbC0uMjgtLjA0Yy0yLjA3LS4xMS00LjAyLS42NC01LjczLTEuODUtMi4wMy0xLjQzLTMuMTctMy40My0zLjcxLTUuODEtLjUzLTIuMzctLjUyLTQuNzUuMDItNy4xMi41OS0yLjU2LDIuMDUtNC40NSw0LjMzLTUuNzQsMi4yNi0xLjI4LDQuNzQtMS44OCw3LjI2LTIuMywyLjI0LS4zNyw0LjUtLjY0LDYuNzUtLjk2LjMxLS4wNC42My0uMTEuOTQtLjE4LDEuNzgtLjQsMi4yNi0uODYsMi40My0yLjMxLjIyLTEuOTUtLjM2LTMuMjYtMS43Ny0zLjk2LTIuODctMS40Mi03LjY5LS42MS05Ljk1LDEuNjctLjY1LjY1LTEuMjUsMS4zNi0xLjk0LDEuOTUtMi40LDIuMDgtNS44OCwxLjE5LTYuNjYtMS43LS4zOS0xLjQ2LS4wNS0yLjg1LjcxLTQuMTMsMS4xMS0xLjg5LDIuNzktMy4xNiw0LjcyLTQuMTEsMi40Ny0xLjIyLDUuMS0xLjgsNy44NS0xLjg2LDMuMjUtLjA3LDYuNDcuMTMsOS41NywxLjE5LDIuMDMuNywzLjg1LDEuNzMsNS4yLDMuNDYsMS4zNSwxLjczLDEuNzQsMy43MywxLjczLDUuODUtLjAyLDYuNTUtLjAzLDEzLjEtLjA1LDE5LjY1LDAsLjI0LjAzLjQ4LjA0LjcyLS4wOS4xMy0uMDUuMjMuMDYuMzIuMDksMS4yNy4yNSwyLjU0LjI3LDMuODEuMDIsMS41NC0uODEsMi43LTIuMjcsMy4xNi0xLjY1LjUyLTMuMzIuNDYtNC44OC0uMzMtMS4zNy0uNjktMS44OC0xLjk5LTIuMTQtMy40MS0uMDYtLjM1LS4wNi0uNzEtLjA5LTEuMDcsMC0uMDcuMDMtLjE2LDAtLjItLjA5LS4xLS4xOC0uMDMtLjI1LjA2Wm0uMDktMTMuNjJjLTIuNjcsMS4yMy01LjM3LDEuNzItOC4wNiwyLjI4LS45Ny4yLTEuOTIuNTQtMi44LDEuMDMtMS43NC45Ni0yLjM5LDIuNDEtMi4xMyw0LjY3LjE4LDEuNTcsMS4zMywyLjkxLDMuMDgsMy4yNiw0LjU3LjkyLDguNjgtMS4zLDkuNjYtNS43Ny4zOC0xLjc0LjE0LTMuNS4yNC01LjQ3WiIvPgogICAgICA8cGF0aCBjbGFzcz0iY2xzLTkiIGQ9Im0xMTEuNjMsNjUuMDJjLTMuODUuMDQtNy4yOS0uNTEtMTAuNDctMi4yLTEuNjUtLjg3LTMuMDYtMi4wMi00LjAzLTMuNjUtLjgyLTEuMzctMS4wNi0yLjg2LS42Ny00LjM4Ljc1LTIuODgsNC40Ni0zLjk4LDYuOTEtMi4wNi42Mi40OSwxLjIyLDEuMDUsMS43LDEuNjgsMi43LDMuNTUsNy42NiwzLjQ5LDEwLjc0LDIuNTMsMS41Ny0uNDksMi4zNi0xLjU2LDIuNDEtMi45My4wNS0xLjE3LS40My0xLjk5LTEuNTEtMi40Ny0xLjU4LS42OS0zLjI3LTEuMDEtNC45My0xLjQxLTIuNjMtLjY0LTUuMjktMS4xNy03LjgzLTIuMTUtMS44Ny0uNzItMy42NS0xLjU5LTUuMTItMy4wMS0xLjU3LTEuNTItMi4zNi0zLjQtMi40Ni01LjU1LS4yOC01Ljg0LDIuNjMtMTAuMDksOC4yNC0xMS44NCw1LjAxLTEuNTYsMTAuMDEtMS4zMiwxNC45LjUzLDEuNzMuNjYsMy4yOCwxLjY0LDQuNDQsMy4xNS4xLjEzLjIuMjUuMjkuMzgsMS4yNCwxLjgzLDEuMTksNC4wMS0uMTEsNS40My0xLjI2LDEuMzgtMy41MywxLjYtNS40MS41Mi0uOTctLjU2LTEuOC0xLjMzLTIuNzEtMS45Ny0yLjU5LTEuODItNS40MS0xLjk5LTguMzMtMS4wMS0uODYuMjktMS40OC45Mi0xLjc1LDEuODQtLjM4LDEuMzEtLjA1LDIuMjYsMS4xMywyLjk1LDEuMDQuNjEsMi4yMi44OCwzLjM4LDEuMTcsMi45NC43Myw1LjkzLDEuMjQsOC44MywyLjEzLDEuMjYuMzksMi40OS44NSwzLjY2LDEuNDYsMi44MSwxLjQ1LDQuNjMsMy42NCw0Ljk1LDYuODcuNDgsNC45LTEuMTQsOS41OC02LjE4LDEyLjAxLTEuNDEuNjgtMi44OSwxLjE2LTQuNDEsMS40Ni0xLjk2LjM4LTMuOTUuNTktNS42Ni41NFoiLz4KICAgICAgPHBhdGggY2xhc3M9ImNscy05IiBkPSJtMjU5Ljk2LDM0Ljg1YzAsNi40MywwLDEyLjg2LDAsMTkuMjgsMCwuMjgsMCwuNTYuMDQuODQuMTgsMS4zMi41MSwxLjYyLDEuODEsMS43Ny45OS4xMSwxLjk5LjA4LDIuOTcuMywxLjM1LjI5LDIuMDgsMS4wNiwyLjI4LDIuNDIuMzEsMi4xMS0uNzksMy45Mi0yLjg2LDQuNTEtMS40Ni40Mi0yLjk4LjU1LTQuNS40NC0xLjE1LS4wOC0yLjMtLjExLTMuNDUtLjM0LTMuMzktLjY4LTUuMjItMi41OC01LjY4LTYuMDQtLjE3LTEuMy0uMjctMi42MS0uMjctMy45NC4wMS01Ljk5LDAtMTEuOTgsMC0xNy45NywwLS40My4xLS44Ny0uMTMtMS4zNi0uODgtLjA1LTEuOCwwLTIuNy0uMTktMS43LS4zNS0yLjUyLTEuMzYtMi41NC0zLjIzLS4wMi0xLjkuNzQtMi44OSwyLjQ0LTMuMzIuOTQtLjI0LDEuOS0uMDcsMi45NC0uMjMsMC0xLjU1LjAxLTMuMDYsMC00LjU2LDAtLjguMDYtMS41OS4yNS0yLjM3LjQ2LTEuODcsMS44NC0zLjAxLDMuNzUtMy4xMywzLjgxLS4yMyw1LjU4LDEuNDIsNS42LDUuMjMsMCwxLjU5LDAsMy4xOCwwLDQuOS43OSwwLDEuNDkuMDIsMi4yLDAsLjY1LS4wMiwxLjI4LjA2LDEuOS4yMSwxLjI1LjMsMS45OSwxLjEzLDIuMTcsMi40LjA4LjU2LjA5LDEuMTEsMCwxLjY3LS4yMiwxLjMzLTEuMDUsMi4xNi0yLjQ0LDIuNDMtMS4xOS4yMy0yLjM4LjE5LTMuNTguMTctLjA2LS4wMy0uMTEtLjA2LS4xNy0uMDktLjAxLjA3LS4wMi4xMy0uMDQuMloiLz4KICAgICAgPHBhdGggY2xhc3M9ImNscy05IiBkPSJtMjI5LjY3LDMzLjkxYzEuMDgtMS42NywyLjA1LTMuMjksMy40Ni00LjYzLDEuNzUtMS42NSwzLjc3LTIuMzIsNi4xNS0xLjkzLDEuOTQuMzIsMy4zOSwxLjgzLDMuNjMsMy43Ny4xMywxLjA4LjE2LDIuMTYtLjMsMy4xNy0uNjcsMS40Ni0xLjgsMi4zLTMuNDQsMi40LS44NC4wNS0xLjY3LjA3LTIuNTEuMTYtMy43My4zOC01Ljk0LDIuODgtNi4yMiw2LjY5LS4wOSwxLjIzLS4wNSwyLjQ3LS4wNSwzLjcxLDAsMy43NSwwLDcuNTEsMCwxMS4yNiwwLC42OC0uMDYsMS4zNS0uMTYsMi4wMi0uNDIsMy4xLTIuNTcsMy45Ny00Ljg0LDMuODktMy4wMy0uMTEtNC40Ny0xLjYxLTQuNjUtNC42NS0uMDYtLjk2LS4wNi0xLjkyLS4wNi0yLjg3LDAtNy43MSwwLTE1LjQxLDAtMjMuMTIsMC0uOTIuMDQtMS44NC4xNS0yLjc1LjI2LTIuMywxLjc1LTMuNjcsNC4wNC0zLjc5LjMyLS4wMi42NC0uMDEuOTYsMCwyLjIyLjEsMy42NSwxLjQzLDMuODIsMy42NS4wOC45OS4wMSwxLjk5LjAxLDIuOTlaIi8+CiAgICAgIDxwYXRoIGNsYXNzPSJjbHMtMSIgZD0ibTEuNjYsMTAxLjYydi0zNC41M2MuMS0uMDYuMTctLjEzLjIzLS4xMyw0LjkxLS4wMiw5LjgyLS4xNiwxNC43MS40MSw3LjQ0Ljg3LDEzLjAxLDYuMjYsMTQuMDYsMTMuNjguNTcsNC4wMi40LDcuOTMtMS4zOSwxMS42OS0yLjI3LDQuNzgtNS44OSw3LjcxLTExLjIsOC40OC0xLjkuMjctMy44LjQyLTUuNzIuNDEtMy4xNS0uMDItNi4zMSwwLTkuNDYsMC0uMzksMC0uNzgsMC0xLjIzLDBabTQuMzUtNC4zYzMuNjYuMDQsNy4yNC4wNiwxMC44MS0uNDIsNC4wMi0uNTQsNi44MS0yLjc0LDguNDktNi4zNiwxLjE5LTIuNTcsMS4zOC01LjMxLDEuMDEtOC4wNy0uNjctNC45Mi0zLjU3LTguNzMtOC4zOC0xMC4xOS0xLjQyLS40My0yLjg5LS42LTQuMzYtLjcxLTIuNS0uMTktNS4wMS0uMjItNy41OC0uMTd2MjUuOTRaIi8+CiAgICAgIDxwYXRoIGNsYXNzPSJjbHMtMSIgZD0ibTE1NS40NiwxMDEuNThoLTMuOThjLS4yOS0uNDQtLjE2LS44OS0uMTYtMS4zMS0uMDItNC45NS0uMDMtOS45LS4wNC0xNC44NSwwLS44NS0uMTQtMS42Ny0uMzEtMi40OS0uMzktMS44OC0yLjA5LTMuMzYtNC4wMi0zLjU5LTMuOC0uNDUtNy4yMiwyLjM0LTcuODksNi40Mi0uMjEsMS4zLS4zLDIuNjEtLjMsMy45MywwLDMuOTEsMCw3LjgyLDAsMTEuODRoLTQuMjN2LTI1Ljc5Yy43MiwwLDEuNDIsMCwyLjEzLDAsLjY3LDAsMS4zMywwLDIuMDcsMHYyLjgxYy41NS0uMTIuNzctLjUzLDEuMDctLjgxLDMuNC0zLjE3LDguNDgtMy42LDEyLjEyLTEuMDMsMS4yMS44NSwyLjA0LDIsMi43NCwzLjQuODctMS4wNywxLjY4LTIuMDcsMi43LTIuODgsMy4wOS0yLjQ2LDguNTEtMy4zMywxMi4yNC4wMywxLjQxLDEuMjYsMi4xMSwyLjg2LDIuNTIsNC42NC40MSwxLjguNTIsMy42My41Miw1LjQ3LDAsNC40NywwLDguOTQsMCwxMy40MiwwLC4yMy0uMDMuNDctLjA1Ljc3aC00LjJjLS4yNC0uNC0uMTMtLjg1LS4xMy0xLjI3LDAtNC42MywwLTkuMjYsMC0xMy45LDAtMS4yNC0uMTEtMi40Ny0uNDEtMy42Ny0uNDYtMS44Mi0xLjk1LTMuMDctMy43OS0zLjM2LTMuODQtLjYtNy4yLDIuMTMtNy45Niw1LjgyLS4zOCwxLjg0LS41MSwzLjcxLS41MSw1LjU5LDAsMy4xOSwwLDYuMzksMCw5LjU4LDAsLjM5LjA5Ljc5LS4xMywxLjI0WiIvPgogICAgICA8cGF0aCBjbGFzcz0iY2xzLTEiIGQ9Im0xODEuOCw4OS41MWMuMTYsNC4yMSwyLjc1LDcuNTcsNi40Nyw4LjU5LDQuNDYsMS4yMiw4LjEyLS42MSwxMS40OS01LjgsMS4xOC42LDIuMzYsMS4yMSwzLjY2LDEuODgtMS45NSwzLjc1LTQuNTUsNi42OC04LjcxLDcuNzItNS4wNSwxLjI3LTkuNjkuNDgtMTMuNDktMy4zNS02LjM2LTYuNDItNC45OC0xOC4zNiw0LjAzLTIyLjM4LDcuODUtMy41LDE3LjM4LDEsMTguNTgsMTAuMzguMTIuOTUuMjYsMS44OS4xNiwyLjk2aC0yMi4xOVptMTcuMzMtMy44NmMuMTUtLjExLjE0LS4yMywwLS4zNC0xLjE2LTQuMS01LjMyLTYuNjctMTAuMjgtNS45My0yLjk4LjQ0LTUuOTMsMy4wOC02LjMyLDYuMjMuMTEuMDIuMjMuMDcuMzQuMDcsNS40MiwwLDEwLjg0LS4wMiwxNi4yNi0uMDNaIi8+CiAgICAgIDxwYXRoIGNsYXNzPSJjbHMtMSIgZD0ibTIxMy44Nyw3OC42NGMxLjg4LTEuODIsNC4wMy0zLjExLDYuNjYtMy40OSw1LjQ2LS44MSwxMC4wNSwyLjU3LDEwLjkxLDcuNTIuMjksMS42Ni40NSwzLjMyLjQ2LDQuOTkuMDEsNC4zNSwwLDguNzEsMCwxMy4wNiwwLC4yNy4wOC41Ni0uMTcuODVoLTMuOThjLS4yOC0uNDMtLjE1LS44OC0uMTUtMS4zMS0uMDItNC43MS0uMDMtOS40Mi0uMDQtMTQuMTQsMC0uODgtLjExLTEuNzYtLjMyLTIuNjEtLjgxLTMuMjgtMy41NS00Ljk2LTYuOTEtNC4yOS0zLjc0Ljc1LTYuNDIsMy44OS02LjY5LDcuNzEtLjMxLDQuNDMtLjEzLDguODYtLjE5LDEzLjI5LDAsLjQzLDAsLjg2LDAsMS4zNGgtNC4yNnYtMjUuNzdjMS4zNC0uMTMsMi43Mi0uMDQsNC4xNC0uMDUuMjUuOTkuMDIsMS45NS4xNSwyLjg4LS4wMy4xMSwwLC4yLjEuMjYuMTYsMCwuMjYtLjA5LjMxLS4yNFoiLz4KICAgICAgPHBhdGggY2xhc3M9ImNscy0xIiBkPSJtMTIzLjY4LDk4LjUyYy0uNjQuNTMtMS4yNSwxLjExLTEuOTMsMS41OS0yLjgyLDIuMDEtNS45NCwyLjctOS4zLDEuNzgtMy43Ni0xLjAzLTYuMjItNC4xLTYuNzItOC4xNi0uMTUtMS4xOS0uMjUtMi4zOC0uMjktMy41NywwLS4wOS0uMDEtLjE3LS4wMi0uMjZ2LTE0LjA4aDQuMjJjLjI0LjQyLjEyLjg2LjEzLDEuMjkuMDIsNC43MS4wMyw5LjQyLjA0LDE0LjEzLDAsLjk2LjE1LDEuOTEuNDEsMi44My44NSwzLjA5LDMuMTMsNC40MSw2LjI3LDQuMDgsNC4wNC0uNDMsNi45Ny0zLjc0LDcuMjUtNy44Mi4zLTQuMzkuMTMtOC43Ny4xOS0xMy4xNiwwLS40MywwLS44NiwwLTEuMzcsMS40Ni0uMTIsMi44My0uMDgsNC4yNi0uMDN2MjUuNzZoLTQuM3YtMi45N2MuMDUtLjA4LjA0LS4xNS0uMDQtLjItLjA1LjA1LS4xLjExLS4xNS4xNloiLz4KICAgICAgPHBhdGggY2xhc3M9ImNscy0xIiBkPSJtMTAwLjksODEuNmMtMS4xNy43My0yLjI4LDEuNDMtMy40MiwyLjE0LTEuMTEtMS41NC0yLjQtMi43OC00LjA4LTMuNTQtNC42OC0yLjEzLTEwLjYxLS45NC0xMy40NCwzLjY0LTMuMjgsNS4zMi0uMjIsMTIuNzUsNS45MiwxNC4yLDQsLjk1LDcuNjEuMTMsMTAuNTMtMi45NS4zNi0uMzcuNzEtLjc1LDEuMTMtMS4yLDEuMTEuNzMsMi4yLDEuNDUsMy4zNSwyLjIxLS43NSwxLjQ0LTEuODIsMi41OC0zLjExLDMuNDMtNS4xNSwzLjQxLTEwLjYzLDQuMDQtMTYuMjMsMS4zMy01LjItMi41Mi03Ljg3LTguMjMtNy4xMy0xMy45Ni42OS01LjM2LDUuNC0xMC45MSwxMS45NC0xMS42Nyw0LjE0LS40OCw3Ljk0LjIsMTEuMzUsMi42OCwxLjMxLjk1LDIuMzQsMi4xNSwzLjE5LDMuNzFaIi8+CiAgICAgIDxwYXRoIGNsYXNzPSJjbHMtMSIgZD0ibTI2Ny43Miw3OC45NmMtLjk5Ljk1LTEuOSwxLjg0LTIuODcsMi43OC0uNjctLjUxLTEuMy0xLjE4LTIuMDktMS42NC0xLjEyLS42Ni0yLjI3LTEuMTgtMy42Mi0uODYtMS4xMy4yNy0xLjk5LjkyLTIuMjksMi4wNS0uMzIsMS4yMS4wNSwyLjI5LDEuMDYsMy4wOSwxLjE5Ljk1LDIuNTQsMS42NiwzLjg3LDIuMzgsMS4yLjY1LDIuMzMsMS4zOCwzLjM0LDIuMywyLjM5LDIuMTYsMi45OSw0Ljg1LDIuMDYsNy44NC0uOTQsMy4wNS0zLjExLDQuOTUtNi4yNCw1LjQyLTMuODYuNTctNy4wMy0uODItOS41MS0zLjkzLjgzLTEuMDgsMS43MS0yLjA0LDIuNjUtMy4wMS41NS4yMy44My43NCwxLjIzLDEuMSwxLjIsMS4wNiwyLjUsMS44Niw0LjE3LDEuODIsMS41My0uMDQsMi42Ny0uNzgsMy40Ny0yLjAyLjgxLTEuMjYuNDctMy4xLS43MS00LjEzLTEuMDMtLjktMi4yMy0xLjU0LTMuNDQtMi4xNi0xLjI1LS42My0yLjQ0LTEuMzYtMy41My0yLjI0LTIuNjMtMi4xNC0zLjAyLTUuMzMtMi4yNS03LjkyLjgtMi42OCwzLjU3LTQuNjIsNi41Ni00Ljc4LDEuNzMtLjA5LDMuMzIuMjksNC44LDEuMTksMS4yLjczLDIuMjksMS41OCwzLjMzLDIuNzJaIi8+CiAgICAgIDxwYXRoIGNsYXNzPSJjbHMtMSIgZD0ibTIzNS4wNCw3OS41OXYtMy43OWg0LjI0di05LjU2YzEuNDgtLjE2LDIuODMtLjA1LDQuMzEtLjA4djkuNTVoNS4wMWMuMzgsMS4zMy4wNSwyLjU0LjEzLDMuODdoLTQuOTVjLS4yNiwxLjY1LS4xNywxNy4zNC4xMSwxOC41OSwxLjE3LjMzLDIuNDEsMCwzLjY4LjIuMTYsMS4yLjAzLDIuMzguMDksMy42MS0xLjczLjQ3LTMuNDMuNTktNS4xMy4zNC0xLjY5LS4yNS0yLjc0LTEuNDItMy4wMi0zLjEyLS4xMy0uNzktLjE5LTEuNTgtLjE5LTIuMzguMDEtNS4yNywwLTEwLjU0LDAtMTUuODJ2LTEuNDFoLTQuMjlaIi8+CiAgICAgIDxwYXRoIGNsYXNzPSJjbHMtNSIgZD0ibTE0MC41MSwzMS4yMWMtLjAzLjIxLS4xMy4zNS0uMzUuMzYtLjE1LS4xMS0uMTYtLjI1LS4xMS0uNDFsLjQ3LjA0WiIvPgogICAgICA8cGF0aCBjbGFzcz0iY2xzLTMiIGQ9Im0yMTMuODcsNzguNjRjLS4wNS4xNS0uMTUuMjQtLjMxLjI0LS4xLS4wNi0uMTMtLjE1LS4xLS4yNi4xNCwwLC4yNy4wMS40MS4wMloiLz4KICAgICAgPHBhdGggY2xhc3M9ImNscy0zIiBkPSJtMTIzLjY4LDk4LjUyYy4wNS0uMDUuMS0uMTEuMTUtLjE2LjA4LjA1LjEuMTIuMDQuMi0uMDcsMC0uMTMsMC0uMTktLjA0WiIvPgogICAgICA8cGF0aCBjbGFzcz0iY2xzLTMiIGQ9Im0xMDUuNDEsODkuOWMwLC4wOS4wMS4xNy4wMi4yNi0uMTUtLjA4LS4xOC0uMTYtLjAyLS4yNloiLz4KICAgICAgPHBhdGggY2xhc3M9ImNscy01IiBkPSJtMTk0LjkxLDY1LjA0bC4yOC4wNGMtLjEyLjEzLS4yMS4wOS0uMjgtLjA0WiIvPgogICAgICA8cGF0aCBjbGFzcz0iY2xzLTUiIGQ9Im0yMDcuMzMsNTkuODRjLjA3LS4wOS4xNS0uMTUuMjUtLjA2LjAzLjA0LDAsLjEzLDAsLjItLjA5LS4wNS0uMTctLjA5LS4yNi0uMTRaIi8+CiAgICAgIDxwYXRoIGNsYXNzPSJjbHMtMiIgZD0ibTIxNi43MSw1Ny44MmMtLjExLS4wOS0uMTUtLjE5LS4wNi0uMzIuMDMuMDcuMDcuMTMuMDkuMjEsMCwuMDMtLjAyLjA3LS4wNC4xMVoiLz4KICAgICAgPHBhdGggY2xhc3M9ImNscy00IiBkPSJtMTQ1LjQ2LDM1LjE0Yy4wOS0uMS4yLS4xMy4zMy0uMDctLjA5LjExLS4yLjE1LS4zMy4wN1oiLz4KICAgICAgPHBhdGggY2xhc3M9ImNscy02IiBkPSJtMjU5Ljk2LDM0Ljg1Yy4wMS0uMDcuMDItLjEzLjA0LS4yLjA2LjAzLjExLjA2LjE3LjA5LS4wNS4wNi0uMTIuMS0uMi4xMVoiLz4KICAgICAgPHBhdGggY2xhc3M9ImNscy01IiBkPSJtMTMxLDMxLjY1Yy4xLjEzLjA1LjIyLS4wNi4zLS4wNS0uMTItLjAzLS4yMi4wNi0uM1oiLz4KICAgICAgPHBhdGggY2xhc3M9ImNscy04IiBkPSJtMjguODMsMjIuNjRjLS4wNy0uMTQtLjAzLS4yNC4wOS0uMzMuMDYuMTMuMDIuMjQtLjA5LjMzWiIvPgogICAgICA8cGF0aCBjbGFzcz0iY2xzLTEiIGQ9Im01Mi40OSw5OC4zNGMyLjM4LDAsNC4zNC0uNjgsNS45Ni0yLjA3LDQuODYtNC4xOCw0LjM2LTExLjgtMS0xNS40Ni0zLjc3LTIuNTctOC41Ny0yLTExLjU2LDEuNDUtMi4zNCwyLjctMi45NSw1Ljc5LTIuMTIsOS4yNi44OSwzLjcxLDQuNjksNy4wNiw4LjcyLDYuODNaIi8+CiAgICAgIDxwYXRoIGNsYXNzPSJjbHMtNyIgZD0ibTE5OS4xMyw4NS42NWMwLS4xMSwwLS4yMywwLS4zNC4xNC4xMS4xNS4yMywwLC4zNFoiLz4KICAgIDwvZz4KICA8L2c+Cjwvc3ZnPg==';\n\nexport {SMART_DOCUMENTS_PLUGIN_LOGO_BASE64};\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport * from './smart-documents-plugin-logo';\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {PluginSpecification} from '../../models';\nimport {SmartDocumentsConfigurationComponent} from './components/smart-documents-configuration/smart-documents-configuration.component';\nimport {SMART_DOCUMENTS_PLUGIN_LOGO_BASE64} from './assets';\nimport {GenerateDocumentConfigurationComponent} from './components/generate-document-configuration/generate-document-configuration.component';\nimport {GetTemplateNamesComponent} from './components/get-template-names/get-template-names.component';\n\nconst smartDocumentsPluginSpecification: PluginSpecification = {\n pluginId: 'smartdocuments',\n pluginConfigurationComponent: SmartDocumentsConfigurationComponent,\n pluginLogoBase64: SMART_DOCUMENTS_PLUGIN_LOGO_BASE64,\n functionConfigurationComponents: {\n 'generate-document': GenerateDocumentConfigurationComponent,\n 'get-template-names': GetTemplateNamesComponent,\n },\n pluginTranslations: {\n nl: {\n title: 'SmartDocuments',\n description: 'Automatiseer documenten met slimme templates.',\n 'generate-document': 'Document genereren',\n 'get-template-names': 'Templatenamen ophalen',\n configurationTitle: 'Configuratienaam',\n configurationTitleTooltip:\n 'Onder deze naam zal de plugin te herkennen zijn in de rest van de applicatie',\n url: 'SmartDocuments URL',\n username: 'Gebruikersnaam',\n password: 'Wachtwoord',\n templateGroup: 'Template groep',\n templateName: 'Template naam',\n templateGroupName: 'Template groepsnaam',\n resultingTemplateNameListProcessVariableName:\n 'Naam van process variable om lijst in op te slaan',\n templateDataTooltip:\n 'De rechter value-kolom ondersteunt ook het gebruik van procesvariabelen zoals pv: en doc:',\n format: 'Documentformaat',\n templateData: 'Template-data',\n resultingDocumentProcessVariableName: 'Naam procesvariabele voor opslag document',\n resultingDocumentProcessVariableNameTooltip:\n 'De locatie van het gegenereerde document wordt opgeslagen in een procesvariabele. Deze procesvariabele kan gebruikt worden om het document te verwerken in een andere BPMN-taak.',\n generateDocumentWarning:\n 'Deze actie genereert een tijdelijk bestand. Het verwerken hiervan moet door een andere actie worden gedaan.',\n key: 'Sleutel',\n value: 'Waarde',\n },\n en: {\n title: 'SmartDocuments',\n description: 'Automate documents with smart templates.',\n 'generate-document': 'Generate document',\n 'get-template-names': 'Get Template Names',\n configurationTitle: 'Configuration name',\n configurationTitleTooltip:\n 'With this name the plugin will be recognizable in the rest of the application',\n url: 'SmartDocuments URL',\n username: 'Username',\n password: 'Password',\n templateGroup: 'Template group',\n templateName: 'Template name',\n templateGroupName: 'Template group name',\n resultingTemplateNameListProcessVariableName: 'Name of process variable to save the list in',\n\n format: 'Document format',\n templateData: 'Template data',\n templateDataTooltip:\n 'The right value-column also supports the use of process variables such as pv: and doc:',\n resultingDocumentProcessVariableName: 'Process variable name for storing document',\n resultingDocumentProcessVariableNameTooltip:\n 'The location of the generated document is stored in a process variable. This process variable can be used to access the document in another BPMN task.',\n generateDocumentWarning:\n 'This action generates a temporary file. It needs to be stored in a following task.',\n key: 'Key',\n value: 'Value',\n },\n },\n};\n\nexport {smartDocumentsPluginSpecification};\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Injectable} from '@angular/core';\nimport {Observable} from 'rxjs';\nimport {HttpClient} from '@angular/common/http';\nimport {ConfigService} from '@valtimo/shared';\nimport {DocumentenApiManagementAllVersions} from '../models';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class DocumentenApiService {\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 public getManagementApiAllVersions(): Observable<DocumentenApiManagementAllVersions> {\n return this.http.get<DocumentenApiManagementAllVersions>(\n `${this.valtimoEndpointUri}management/v1/documenten-api/versions`\n );\n }\n}\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport * from './documenten-api.service';\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {PluginConfigurationComponent} from '../../../../models';\nimport {BehaviorSubject, combineLatest, map, Observable, Subscription, take} from 'rxjs';\nimport {DocumentenApiConfig} from '../../models';\nimport {PluginManagementService, PluginTranslationService} from '../../../../services';\nimport {TranslateService} from '@ngx-translate/core';\nimport {DocumentenApiService} from '../../services';\n\n@Component({\n selector: 'valtimo-documenten-api-configuration',\n templateUrl: './documenten-api-configuration.component.html',\n standalone: false,\n})\nexport class DocumentenApiConfigurationComponent\n implements PluginConfigurationComponent, OnInit, OnDestroy\n{\n @Input() save$: Observable<void>;\n @Input() disabled$: Observable<boolean>;\n @Input() pluginId: string;\n @Input() prefillConfiguration$: Observable<DocumentenApiConfig>;\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() configuration: EventEmitter<DocumentenApiConfig> =\n new EventEmitter<DocumentenApiConfig>();\n\n private saveSubscription!: Subscription;\n\n private readonly formValue$ = new BehaviorSubject<DocumentenApiConfig | null>(null);\n private readonly valid$ = new BehaviorSubject<boolean>(false);\n\n readonly authenticationPluginSelectItems$: Observable<Array<{id: string; text: string}>> =\n combineLatest([\n this.pluginManagementService.getPluginConfigurationsByCategory(\n 'documenten-api-authentication'\n ),\n this.translateService.stream('key'),\n ]).pipe(\n map(([configurations]) =>\n configurations.map(configuration => ({\n id: configuration.id,\n text: `${configuration.title} - ${this.pluginTranslationService.instant(\n 'title',\n configuration.pluginDefinition.key\n )}`,\n }))\n )\n );\n readonly apiVersionItems$: Observable<Array<{id: string; text: string}>> =\n this.documentenApiService.getManagementApiAllVersions().pipe(\n map(response =>\n response.versions.map(version => ({\n id: version,\n text: version,\n }))\n )\n );\n\n constructor(\n private readonly pluginManagementService: PluginManagementService,\n private readonly translateService: TranslateService,\n private readonly pluginTranslationService: PluginTranslationService,\n private readonly documentenApiService: DocumentenApiService\n ) {}\n\n ngOnInit(): void {\n this.openSaveSubscription();\n }\n\n ngOnDestroy() {\n this.saveSubscription?.unsubscribe();\n }\n\n formValueChange(formValue: DocumentenApiConfig): void {\n if (!formValue.apiVersion) {\n formValue.apiVersion = null;\n }\n this.formValue$.next(formValue);\n this.handleValid(formValue);\n }\n\n private handleValid(formValue: DocumentenApiConfig): void {\n const valid = !!(\n formValue.configurationTitle &&\n formValue.url &&\n formValue.bronorganisatie &&\n formValue.authenticationPluginConfiguration\n );\n\n this.valid$.next(valid);\n this.valid.emit(valid);\n }\n\n private openSaveSubscription(): void {\n this.saveSubscription = this.save$?.subscribe(save => {\n combineLatest([this.formValue$, this.valid$])\n .pipe(take(1))\n .subscribe(([formValue, valid]) => {\n if (valid) {\n this.configuration.emit(formValue);\n }\n });\n });\n }\n}\n","<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null,\n } as obs\"\n>\n <v-input\n name=\"configurationTitle\"\n data-test-id=\"documentenApiConfigurationTitle\"\n [title]=\"'configurationTitle' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.configurationTitle\"\n [required]=\"true\"\n [trim]=\"true\"\n [tooltip]=\"'configurationTitleTooltip' | pluginTranslate: pluginId | async\"\n placeholder=\"Documenten API Plugin\"\n >\n </v-input>\n <v-input\n name=\"url\"\n data-test-id=\"documentenApiUrl\"\n [title]=\"'url' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.url\"\n [required]=\"true\"\n [trim]=\"true\"\n [tooltip]=\"'urlTooltip' | pluginTranslate: pluginId | async\"\n placeholder=\"https://openzaak.example.com/documenten/api/v1/\"\n >\n </v-input>\n <v-input\n name=\"bronorganisatie\"\n data-test-id=\"documentenApiBronorganisatie\"\n type=\"digitOnly\"\n [title]=\"'bronorganisatie' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.bronorganisatie\"\n [required]=\"true\"\n [trim]=\"true\"\n [tooltip]=\"'bronorganisatieTooltip' | pluginTranslate: pluginId | async\"\n placeholder=\"123456789\"\n >\n </v-input>\n <ng-container\n *ngIf=\"{authenticationPluginSelectItems: authenticationPluginSelectItems$ | async} as authObs\"\n >\n <v-select\n [loading]=\"!authObs.authenticationPluginSelectItems\"\n [items]=\"authObs.authenticationPluginSelectItems\"\n [margin]=\"true\"\n name=\"authenticationPluginConfiguration\"\n data-test-id=\"documentenApiAuthenticationPluginConfiguration\"\n [title]=\"'authenticationPluginConfiguration' | pluginTranslate: pluginId | async\"\n [disabled]=\"obs.disabled\"\n [defaultSelectionId]=\"obs.prefill?.authenticationPluginConfiguration\"\n [required]=\"true\"\n [tooltip]=\"'authenticationPluginConfigurationTooltip' | pluginTranslate: pluginId | async\"\n ></v-select>\n </ng-container>\n <ng-container *ngIf=\"{apiVersionItems: apiVersionItems$ | async} as pObs\">\n <v-select\n [loading]=\"!pObs.apiVersionItems\"\n [items]=\"pObs.apiVersionItems\"\n [margin]=\"true\"\n name=\"apiVersion\"\n data-test-id=\"documentenApiApiVersion\"\n [title]=\"'apiVersion' | pluginTranslate: pluginId | async\"\n [disabled]=\"obs.disabled\"\n [defaultSelectionId]=\"obs.prefill?.apiVersion\"\n [required]=\"false\"\n [tooltip]=\"'apiVersionTooltip' | pluginTranslate: pluginId | async\"\n ></v-select>\n </ng-container>\n</v-form>\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {FunctionConfigurationComponent} from '../../../../models';\nimport {BehaviorSubject, combineLatest, map, Observable, Subscription, take} from 'rxjs';\nimport {DocumentLanguage, DocumentStatus, StoreTempDocumentConfig} from '../../models';\nimport {TranslateService} from '@ngx-translate/core';\nimport {PluginTranslationService} from '../../../../services';\nimport {ConfidentialityLevel} from '../../../documenten-api/models';\n\n@Component({\n selector: 'valtimo-store-temp-document-configuration',\n templateUrl: './store-temp-document-configuration.component.html',\n standalone: false,\n})\nexport class StoreTempDocumentConfigurationComponent\n implements FunctionConfigurationComponent, OnInit, OnDestroy\n{\n @Input() save$: Observable<void>;\n @Input() disabled$: Observable<boolean>;\n @Input() pluginId: string;\n @Input() prefillConfiguration$: Observable<StoreTempDocumentConfig>;\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() configuration: EventEmitter<StoreTempDocumentConfig> =\n new EventEmitter<StoreTempDocumentConfig>();\n\n readonly CONFIDENTIALITY_LEVEL_ITEMS: 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<{id: string; text: string}>> =\n this.translateService.stream('key').pipe(\n map(() =>\n this.CONFIDENTIALITY_LEVEL_ITEMS.map(confidentialityLevel => ({\n id: confidentialityLevel,\n text: this.pluginTranslationService.instant(confidentialityLevel, this.pluginId),\n }))\n )\n );\n\n readonly LANGUAGE_ITEMS: Array<DocumentLanguage> = ['nld'];\n readonly languageSelectItems$: Observable<Array<{id: DocumentLanguage; text: string}>> =\n this.translateService.stream('key').pipe(\n map(() =>\n this.LANGUAGE_ITEMS.map(item => ({\n id: item,\n text: this.pluginTranslationService.instant(item, this.pluginId),\n }))\n )\n );\n readonly STATUS_ITEMS: Array<DocumentStatus> = [\n 'in_bewerking',\n 'ter_vaststelling',\n 'definitief',\n 'gearchiveerd',\n ];\n readonly statusSelectItems$: Observable<Array<{id: DocumentStatus; text: string}>> =\n this.translateService.stream('key').pipe(\n map(() =>\n this.STATUS_ITEMS.map(item => ({\n id: item,\n text: this.pluginTranslationService.instant(item, this.pluginId),\n }))\n )\n );\n\n private saveSubscription!: Subscription;\n private readonly formValue$ = new BehaviorSubject<StoreTempDocumentConfig | null>(null);\n private readonly valid$ = new BehaviorSubject<boolean>(false);\n\n constructor(\n private readonly translateService: TranslateService,\n private readonly pluginTranslationService: PluginTranslationService\n ) {}\n\n ngOnInit(): void {\n this.openSaveSubscription();\n }\n\n ngOnDestroy(): void {\n this.saveSubscription?.unsubscribe();\n }\n\n formValueChange(formValue: StoreTempDocumentConfig): void {\n this.formValue$.next(formValue);\n this.handleValid(formValue);\n }\n\n private handleValid(formValue: StoreTempDocumentConfig): void {\n const valid = !!(\n formValue.localDocumentLocation &&\n formValue.taal &&\n formValue.status &&\n formValue.informatieobjecttype\n );\n\n this.valid$.next(valid);\n this.valid.emit(valid);\n }\n\n private openSaveSubscription(): void {\n this.saveSubscription = this.save$?.subscribe(save => {\n combineLatest([this.formValue$, this.valid$])\n .pipe(take(1))\n .subscribe(([formValue, valid]) => {\n if (valid) {\n this.configuration.emit(formValue);\n }\n });\n });\n }\n}\n","<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null,\n } as obs\"\n>\n <v-input\n name=\"fileName\"\n [title]=\"'fileName' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.fileName\"\n [disabled]=\"obs.disabled\"\n [tooltip]=\"'fileNameTooltip' | pluginTranslate: pluginId | async\"\n [trim]=\"true\"\n ></v-input>\n <v-select\n [items]=\"confidentialityLevelItems$ | async\"\n [margin]=\"true\"\n [widthInPx]=\"200\"\n name=\"confidentialityLevel\"\n [title]=\"'confidentialityLevel' | pluginTranslate: pluginId | async\"\n [disabled]=\"obs.disabled\"\n [defaultSelectionId]=\"obs.prefill?.confidentialityLevel || CONFIDENTIALITY_LEVEL_ITEMS[3]\"\n [tooltip]=\"'confidentialityLevelTooltip' | pluginTranslate: pluginId | async\"\n ></v-select>\n <v-input\n name=\"title\"\n [title]=\"'inputTitle' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.title\"\n [disabled]=\"obs.disabled\"\n [tooltip]=\"'inputTitleTooltip' | pluginTranslate: pluginId | async\"\n [trim]=\"true\"\n ></v-input>\n <v-input\n name=\"description\"\n [title]=\"'inputDescription' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.description\"\n [disabled]=\"obs.disabled\"\n [tooltip]=\"'inputDescriptionTooltip' | pluginTranslate: pluginId | async\"\n ></v-input>\n <v-input\n name=\"localDocumentLocation\"\n [title]=\"'localDocumentLocation' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.localDocumentLocation\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n [trim]=\"true\"\n [tooltip]=\"'localDocumentLocationTooltip' | pluginTranslate: pluginId | async\"\n >\n </v-input>\n <v-input\n name=\"storedDocumentUrl\"\n [title]=\"'storedDocumentUrl' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.storedDocumentUrl\"\n [disabled]=\"obs.disabled\"\n [trim]=\"true\"\n [tooltip]=\"'storeDocumentUrlTooltip' | pluginTranslate: pluginId | async\"\n >\n </v-input>\n <v-select\n [items]=\"languageSelectItems$ | async\"\n [margin]=\"true\"\n [widthInPx]=\"200\"\n name=\"taal\"\n [title]=\"'taal' | pluginTranslate: pluginId | async\"\n [disabled]=\"obs.disabled\"\n [defaultSelectionId]=\"obs.prefill?.taal || LANGUAGE_ITEMS[0]\"\n [required]=\"true\"\n ></v-select>\n <v-select\n [items]=\"statusSelectItems$ | async\"\n [margin]=\"true\"\n [widthInPx]=\"200\"\n name=\"status\"\n [title]=\"'status' | pluginTranslate: pluginId | async\"\n [disabled]=\"obs.disabled\"\n [defaultSelectionId]=\"obs.prefill?.status || STATUS_ITEMS[2]\"\n [required]=\"true\"\n ></v-select>\n <v-input\n name=\"informatieobjecttype\"\n [title]=\"'informatieobjecttype' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.informatieobjecttype\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n [trim]=\"true\"\n [tooltip]=\"'informatieobjecttypeTooltip' | pluginTranslate: pluginId | async\"\n [fullWidth]=\"true\"\n >\n </v-input>\n</v-form>\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {FunctionConfigurationComponent} from '../../../../models';\nimport {Observable, Subscription} from 'rxjs';\n\n@Component({\n selector: 'valtimo-store-uploaded-document-configuration',\n templateUrl: './store-uploaded-document-configuration.component.html',\n standalone: false,\n})\nexport class StoreUploadedDocumentConfigurationComponent\n implements FunctionConfigurationComponent, OnInit, OnDestroy\n{\n @Input() save$: Observable<void>;\n @Input() disabled$: Observable<boolean>;\n @Input() pluginId: string;\n @Input() prefillConfiguration$: Observable<any>;\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() configuration: EventEmitter<any> = new EventEmitter<any>();\n\n private saveSubscription!: Subscription;\n\n ngOnInit(): void {\n this.openSaveSubscription();\n this.emitValid();\n }\n\n ngOnDestroy(): void {\n this.saveSubscription?.unsubscribe();\n }\n\n private emitValid(): void {\n this.valid.emit(true);\n }\n\n private openSaveSubscription(): void {\n this.saveSubscription = this.save$?.subscribe(save => {\n this.configuration.emit({});\n });\n }\n}\n","<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-paragraph [center]=\"true\" [fullWidth]=\"true\">\n {{ 'storeUploadedDocumentMessage' | pluginTranslate: pluginId | async }}\n</v-paragraph>\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {FunctionConfigurationComponent} from '../../../../models';\nimport {BehaviorSubject, combineLatest, Observable, Subscription, take} from 'rxjs';\nimport {DownloadDocumentConfig} from '../../models';\n\n@Component({\n selector: 'valtimo-download-document-configuration',\n templateUrl: './download-document-configuration.component.html',\n standalone: false,\n})\nexport class DownloadDocumentConfigurationComponent\n implements FunctionConfigurationComponent, OnInit, OnDestroy\n{\n @Input() save$: Observable<void>;\n @Input() disabled$: Observable<boolean>;\n @Input() pluginId: string;\n @Input() prefillConfiguration$: Observable<DownloadDocumentConfig>;\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() configuration: EventEmitter<DownloadDocumentConfig> =\n new EventEmitter<DownloadDocumentConfig>();\n\n private saveSubscription!: Subscription;\n private readonly formValue$ = new BehaviorSubject<DownloadDocumentConfig | null>(null);\n private readonly valid$ = new BehaviorSubject<boolean>(false);\n\n ngOnInit(): void {\n this.openSaveSubscription();\n this.valid.emit(true);\n }\n\n ngOnDestroy(): void {\n this.saveSubscription?.unsubscribe();\n }\n\n private openSaveSubscription(): void {\n this.saveSubscription = this.save$?.subscribe(save => {\n combineLatest([this.formValue$, this.valid$])\n .pipe(take(1))\n .subscribe(([formValue, valid]) => {\n if (valid) {\n this.configuration.emit(formValue);\n }\n });\n });\n }\n\n formValueChange(formValue: DownloadDocumentConfig): void {\n this.formValue$.next(formValue);\n this.handleValid(formValue);\n }\n\n private handleValid(formValue: DownloadDocumentConfig): void {\n const valid = !!formValue.processVariableName;\n\n this.valid$.next(valid);\n this.valid.emit(valid);\n }\n}\n","<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null,\n } as obs\"\n>\n <v-input\n name=\"processVariableName\"\n [title]=\"'processVariableName' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.processVariableName\"\n [disabled]=\"obs.disabled\"\n [required]=\"false\"\n [trim]=\"true\"\n [tooltip]=\"'processVariableTooltip' | pluginTranslate: pluginId | async\"\n ></v-input>\n</v-form>\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {FunctionConfigurationComponent} from '../../../../models';\nimport {Observable, Subscription} from 'rxjs';\n\n@Component({\n selector: 'valtimo-store-uploaded-document-in-parts-configuration',\n templateUrl: './store-uploaded-document-in-parts-configuration.component.html',\n standalone: false,\n})\nexport class StoreUploadedDocumentInPartsConfigurationComponent\n implements FunctionConfigurationComponent, OnInit, OnDestroy\n{\n @Input() save$: Observable<void>;\n @Input() disabled$: Observable<boolean>;\n @Input() pluginId: string;\n @Input() prefillConfiguration$: Observable<any>;\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() configuration: EventEmitter<any> = new EventEmitter<any>();\n\n private saveSubscription!: Subscription;\n\n public ngOnInit(): void {\n this.openSaveSubscription();\n this.emitValid();\n }\n\n public ngOnDestroy(): void {\n this.saveSubscription?.unsubscribe();\n }\n\n private emitValid(): void {\n this.valid.emit(true);\n }\n\n private openSaveSubscription(): void {\n this.saveSubscription = this.save$?.subscribe(() => {\n this.configuration.emit({});\n });\n }\n}\n","<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-paragraph [center]=\"true\" [fullWidth]=\"true\">\n {{ 'storeUploadedDocumentInPartsMessage' | pluginTranslate: pluginId | async }}\n</v-paragraph>\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {NgModule} from '@angular/core';\nimport {CommonModule} from '@angular/common';\nimport {DocumentenApiConfigurationComponent} from './components/documenten-api-configuration/documenten-api-configuration.component';\nimport {PluginTranslatePipeModule} from '../../pipes';\nimport {FormModule, InputModule, ParagraphModule, SelectModule} from '@valtimo/components';\nimport {StoreTempDocumentConfigurationComponent} from './components/store-temp-document/store-temp-document-configuration.component';\nimport {StoreUploadedDocumentConfigurationComponent} from './components/store-uploaded-document/store-uploaded-document-configuration.component';\nimport {DownloadDocumentConfigurationComponent} from './components/download-document/download-document-configuration.component';\nimport {StoreUploadedDocumentInPartsConfigurationComponent} from './components/store-uploaded-document-in-parts/store-uploaded-document-in-parts-configuration.component';\n\n@NgModule({\n declarations: [\n DocumentenApiConfigurationComponent,\n StoreTempDocumentConfigurationComponent,\n StoreUploadedDocumentConfigurationComponent,\n StoreUploadedDocumentInPartsConfigurationComponent,\n DownloadDocumentConfigurationComponent,\n ],\n imports: [\n CommonModule,\n PluginTranslatePipeModule,\n FormModule,\n InputModule,\n SelectModule,\n ParagraphModule,\n ],\n exports: [\n DocumentenApiConfigurationComponent,\n StoreTempDocumentConfigurationComponent,\n StoreUploadedDocumentConfigurationComponent,\n StoreUploadedDocumentInPartsConfigurationComponent,\n DownloadDocumentConfigurationComponent,\n ],\n})\nexport class DocumentenApiPluginModule {}\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nconst DOCUMENTEN_API_PLUGIN_LOGO_BASE64 =\n 'data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB2aWV3Qm94PSIxNTAgMTUgOTYgNTAiPjxkZWZzPjxwYXRoIGlkPSJhIiBkPSJNNTcuMzk2LjIxMUguMjgxdjQ5LjQwNWg1Ny4xMTVWLjIxeiIvPjxwYXRoIGlkPSJjIiBkPSJNNTcuNTY0LjIxMUguNDQ4djQ5LjQwNWg1Ny4xMTZWLjIxeiIvPjwvZGVmcz48ZyBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDE4Ny45MzEgMTUpIj48bWFzayBpZD0iYiIgZmlsbD0iI2ZmZiI+PHVzZSB4bGluazpocmVmPSIjYSIvPjwvbWFzaz48cGF0aCBkPSJNNTcuMzk2IDI0LjkxM2MwLTEzLjU3My0xMS4wMDQtMjQuNjIyLTI0LjU2LTI0LjctLjAyNCAwLS4wNDgtLjAwMy0uMDczLS4wMDNIMjQuNzVhMi41MDQgMi41MDQgMCAxIDAgMCA1LjAxaDcuOTQ1YzEwLjg1OCAwIDE5LjY5NCA4LjgzNCAxOS42OTQgMTkuNjkzIDAgMTAuODYtOC44MzYgMTkuNjk0LTE5LjY5NCAxOS42OTRINS4yODl2LTQuNTc4SC4yODF2OS41ODdoMzIuNDgydi0uMDAxYzEzLjU5LS4wNCAyNC42MzMtMTEuMTA1IDI0LjYzMy0yNC43MDIiIGZpbGw9IiMwMDlGRTQiIG1hc2s9InVybCgjYikiLz48L2c+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTUwIDE1KSI+PG1hc2sgaWQ9ImQiIGZpbGw9IiNmZmYiPjx1c2UgeGxpbms6aHJlZj0iI2MiLz48L21hc2s+PHBhdGggZD0iTS40NDggMjQuOTEzYzAgMTMuNTczIDExLjAwNCAyNC42MjIgMjQuNTYgMjQuNy4wMjQgMCAuMDQ4LjAwMy4wNzMuMDAzaDguMDE0YTIuNTA0IDIuNTA0IDAgMSAwIDAtNS4wMDloLTcuOTQ0Yy0xMC44NTkgMC0xOS42OTQtOC44MzQtMTkuNjk0LTE5LjY5NCAwLTEwLjg1OSA4LjgzNS0xOS42OTQgMTkuNjk0LTE5LjY5NGgyNy40MDR2NC41NzhoNS4wMDlWLjIxSDI1LjA4di4wMDFDMTEuNDkuMjUxLjQ0OCAxMS4zMTYuNDQ4IDI0LjkxMyIgZmlsbD0iIzAwOUZFNCIgbWFzaz0idXJsKCNkKSIvPjwvZz48cGF0aCBmaWxsPSIjMDA0Mzg4IiBkPSJNMTc2LjAxNyA0Mi4xMTZsLTQuNjc4LTEyLjQwMWgtNS42NjRsOC4xNCAyMC4zNjZoMy45MjFsOC40MDEtMjAuMzY2aC01LjM2M3ptMjYuNTQyLjU1OGwtNy45MjgtMTIuOTU5aC02LjQxM3YyMC4zNjdoNC45OTdWMzYuNzg3bDguMTUgMTMuMjk1aDYuMTlWMjkuNzE1aC00Ljk5NnptMTkuMzIzLTQuOTR2NC42NjNoMy41Mzd2Mi42NzdhOS43NzMgOS43NzMgMCAwIDEtMS40MTQuNTRjLS42NTIuMjAzLTEuNDQzLjMwNi0yLjM1NC4zMDYtLjg4IDAtMS42ODYtLjE1LTIuMzk0LS40NDhhNS4zMzggNS4zMzggMCAwIDEtMS44MjQtMS4yNDcgNS41MjIgNS41MjIgMCAwIDEtMS4xNy0xLjg5NGMtLjI3Mi0uNzI5LS40MS0xLjU0OS0uNDEtMi40MzMgMC0uODY3LjEzOC0xLjY4MS40MS0yLjQyYTUuNTAyIDUuNTAyIDAgMCAxIDEuMTctMS45MDggNS4zNzQgNS4zNzQgMCAwIDEgMS44MjQtMS4yNDZjLjcwOS0uMjk4IDEuNTE0LS40NDkgMi4zOTQtLjQ0OSAxLjA2NCAwIDEuOTU5LjE1MSAyLjY1Ny40NDkuNy4yOTcgMS4zMzguNzQgMS44OTggMS4zMThsLjI0Mi4yNDggMy41MTUtMy44MzUtLjIzNy0uMjIxYTguOTIzIDguOTIzIDAgMCAwLTMuNjI3LTIuMDM4Yy0xLjM1LS4zODYtMi44NDctLjU4My00LjQ0OC0uNTgzLTEuNTcyIDAtMy4wNDQuMjUtNC4zNzMuNzQ1YTEwLjEzOSAxMC4xMzkgMCAwIDAtMy40ODEgMi4xNDNjLS45NzUuOTI4LTEuNzQ2IDIuMDY2LTIuMjkgMy4zODQtLjU0MyAxLjMxNS0uODE5IDIuOC0uODE5IDQuNDEzIDAgMS42MTMuMjc2IDMuMDk4LjgyIDQuNDEzLjU0NSAxLjMxOSAxLjMxNCAyLjQ1NyAyLjI4OSAzLjM4NC45NzQuOTI2IDIuMTQ2IDEuNjQ3IDMuNDggMi4xNDMgMS4zMy40OTQgMi44MDIuNzQ0IDQuMzc0Ljc0NCAxLjQ2NCAwIDIuOTItLjE1MiA0LjMzLS40NTJhMTYuMDU0IDE2LjA1NCAwIDAgMCA0LjA5LTEuNDc4bC4xNzctLjA5VjM3LjczM2gtOC4zNjZ6Ii8+PC9nPjwvc3ZnPg==';\n\nexport {DOCUMENTEN_API_PLUGIN_LOGO_BASE64};\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport * from './documenten-api-plugin-logo';\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {PluginSpecification} from '../../models';\nimport {StoreTempDocumentConfigurationComponent} from './components/store-temp-document/store-temp-document-configuration.component';\nimport {DOCUMENTEN_API_PLUGIN_LOGO_BASE64} from './assets';\nimport {DocumentenApiConfigurationComponent} from './components/documenten-api-configuration/documenten-api-configuration.component';\nimport {StoreUploadedDocumentConfigurationComponent} from './components/store-uploaded-document/store-uploaded-document-configuration.component';\nimport {DownloadDocumentConfigurationComponent} from './components/download-document/download-document-configuration.component';\nimport {StoreUploadedDocumentInPartsConfigurationComponent} from './components/store-uploaded-document-in-parts/store-uploaded-document-in-parts-configuration.component';\n\nconst documentenApiPluginSpecification: PluginSpecification = {\n pluginId: 'documentenapi',\n pluginConfigurationComponent: DocumentenApiConfigurationComponent,\n pluginLogoBase64: DOCUMENTEN_API_PLUGIN_LOGO_BASE64,\n functionConfigurationComponents: {\n 'store-temp-document': StoreTempDocumentConfigurationComponent,\n 'store-uploaded-document': StoreUploadedDocumentConfigurationComponent,\n 'store-uploaded-document-in-parts': StoreUploadedDocumentInPartsConfigurationComponent,\n 'download-document': DownloadDocumentConfigurationComponent,\n },\n pluginTranslations: {\n nl: {\n title: 'Documenten API',\n description: 'API voor opslag en ontsluiting van documenten en daarbij behorende metadata.',\n 'store-temp-document': 'Document opslaan',\n 'store-uploaded-document': 'Geupload document opslaan',\n 'store-uploaded-document-in-parts': 'Geupload document opslaan in bestandsdelen',\n 'download-document': 'Download document',\n storeUploadedDocumentMessage:\n 'Het opslaan van een geupload document heeft geen configuratie nodig.',\n storeUploadedDocumentInPartsMessage:\n 'Het opslaan van een geupload document in bestandsdelen heeft geen configuratie nodig',\n configurationTitle: 'Configuratienaam',\n configurationTitleTooltip:\n 'Hier kunt je een eigen naam verzinnen. Onder deze naam zal de plugin te herkennen zijn in de rest van de applicatie',\n url: 'Documenten API URL',\n urlTooltip:\n 'In dit veld moet de verwijzing komen naar de REST API van Documenten. Deze url moet dus eindigen op /documenten/api/v1/',\n bronorganisatie: 'Bronorganisatie RSIN',\n bronorganisatieTooltip:\n 'Vul hier het RSIN van de organisatie in die verantwoordelijk is voor de documenten',\n fileName: 'Bestandsnaam',\n fileNameTooltip:\n 'De naam van het fysieke bestand waarin de inhoud van het document is vastgelegd, inclusief extensie',\n confidentialityLevel: 'Vertrouwelijkheidsaanduiding',\n confidentialityLevelTooltip:\n 'Aanduiding van de mate waarin het document voor de openbaarheid bestemd is',\n inputTitle: 'Titel',\n inputTitleTooltip: 'De naam waaronder het document formeel bekend is',\n inputDescription: 'Beschrijving',\n inputDescriptionTooltip: 'Een generieke beschrijving van de inhoud van het document',\n openbaar: 'Openbaar',\n beperkt_openbaar: 'Beperkt openbaar',\n intern: 'Intern',\n zaakvertrouwelijk: 'Zaakvertrouwelijk',\n vertrouwelijk: 'Vertrouwelijk',\n confidentieel: 'Confidentieel',\n geheim: 'Geheim',\n zeer_geheim: 'Zeer geheim',\n localDocumentLocation: 'Naam procesvariabele met document',\n localDocumentLocationTooltip:\n 'Hier moet de procesvariabele ingevuld worden die wijst naar de locatie waar het document lokaal staat opgeslagen',\n storedDocumentUrl: 'Naam procesvariabele voor opslag document-URL',\n storeDocumentUrlTooltip:\n 'Nadat het document geupload is naar de Documenten API zal de applicatie in deze procesvariabele de URL naar het document opslaan.',\n taal: 'Taal',\n status: 'Status',\n informatieobjecttype: 'URL naar het informatieobjecttype',\n informatieobjecttypeTooltip:\n 'Vul in dit veld de volledige URL naar een informatieobjecttype van een Zaak catalogus. Deze URL moet dus eindigen op /catalogi/api/v1/informatieobjecttypen/{uuid}',\n nld: 'Nederlands',\n in_bewerking: 'In bewerking',\n ter_vaststelling: 'Ter vaststelling',\n definitief: 'Definitief',\n gearchiveerd: 'Gearchiveerd',\n authenticationPluginConfiguration: 'Configuratie authenticatie-plug-in',\n authenticationPluginConfigurationTooltip:\n 'Selecteer de plugin die de authenticatie kan afhandelen. Wanneer de selectiebox leeg blijft zal de authenticatie plugin (bv. OpenZaak) eerst aangemaakt moeten worden',\n apiVersion: 'Documenten API versie',\n apiVersionTooltip: 'Selecteer de versie van de Documenten API',\n downloadDocumentMessage:\n 'Het downloaden van een document vanuit de Documenten API vereist geen configuratie.',\n processVariableName:\n 'Wat is de naam van de procesvariabele waarnaar u het document wilt downloaden?',\n },\n en: {\n title: 'Documenten API',\n description: 'API for storing and accessing documents and associated metadata.',\n 'store-temp-document': 'Save document',\n 'store-uploaded-document': 'Save uploaded document',\n 'store-uploaded-document-in-parts': 'Save uploaded document in parts',\n 'download-document': 'Download document',\n storeUploadedDocumentMessage:\n 'Saving an uploaded document does not require any configuration.',\n storeUploadedDocumentInPartsMessage:\n 'Saving an uploaded document in parts does not require any configuration.',\n configurationTitle: 'Configuration name',\n configurationTitleTooltip:\n 'Here you can enter a name for the plugin. This name will be used to recognize the plugin throughout the rest of the application',\n url: 'Documenten API URL',\n urlTooltip:\n 'This field must contain the URL to the REST API of Documenten, therefore this URL should end with /documenten/api/v1/',\n bronorganisatie: 'Organisation RSIN',\n bronorganisatieTooltip:\n 'Enter here the RSIN of the organization responsible for the documents. The RSIN is a dutch identification number for legal entities and partnerships ',\n fileName: 'File name',\n fileNameTooltip:\n 'The name of the physical file in which the content of the document is captured, including extension',\n confidentialityLevel: 'Confidentiality level',\n confidentialityLevelTooltip:\n 'Indication of the extent to which the document is intended for public access',\n inputTitle: 'Title',\n inputTitleTooltip: 'The name by which the document is formally known',\n inputDescription: 'Description',\n inputDescriptionTooltip: 'A generic description of the content of the document',\n openbaar: 'Public',\n beperkt_openbaar: 'Restricted public',\n intern: 'Internal',\n zaakvertrouwelijk: 'Case confidential',\n vertrouwelijk: 'Private',\n confidentieel: 'Confidential',\n geheim: 'Secret',\n zeer_geheim: 'Very secret',\n localDocumentLocation: 'Name of process variable with document',\n localDocumentLocationTooltip:\n 'Enter the process variable that points to the location where the document is stored locally',\n storedDocumentUrl: 'Process variable name for storing document URL',\n storeDocumentUrlTooltip:\n 'After the document has been uploaded to the Documenten API, the application will store the URL to the document in this process variable.',\n taal: 'Language',\n status: 'Status',\n informatieobjecttype: 'URL to the informationobjecttype',\n informatieobjecttypeTooltip:\n 'Enter the full URL to an information object type of a Zaak catalog in this field. So this URL must end with /catalogi/api/v1/informatieobjecttypen/{uuid}',\n nld: 'Dutch',\n in_bewerking: 'Editing',\n ter_vaststelling: 'To be confirmed',\n definitief: 'Final',\n gearchiveerd: 'Archived',\n authenticationPluginConfiguration: 'Authentication plugin configuration',\n authenticationPluginConfigurationTooltip:\n 'Select the plugin that can handle the authentication. If the selection box remains empty, the authentication plugin (e.g. OpenZaak) will have to be created first',\n apiVersion: 'Documenten API version',\n apiVersionTooltip: 'Select the version of the Documenten API',\n downloadDocumentMessage:\n 'Downloading a document form the Documenten API does not require any configuration.',\n processVariableName:\n 'What is the name of the process variable you want to download the document to?',\n },\n },\n};\n\nexport {documentenApiPluginSpecification};\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {PluginConfigurationData} from '../../../models';\n\ninterface DocumentenApiConfig extends PluginConfigurationData {\n url: string;\n bronorganisatie: string;\n authenticationPluginConfiguration: string;\n apiVersion?: string;\n}\n\ntype ConfidentialityLevel =\n | 'openbaar'\n | 'beperkt_openbaar'\n | 'intern'\n | 'zaakvertrouwelijk'\n | 'vertrouwelijk'\n | 'confidentieel'\n | 'geheim'\n | 'zeer_geheim';\n\ntype DocumentLanguage = 'nld';\n\ntype DocumentStatus = 'in_bewerking' | 'ter_vaststelling' | 'definitief' | 'gearchiveerd';\n\ninterface StoreTempDocumentConfig {\n fileName: string;\n confidentialityLevel: ConfidentialityLevel;\n title: string;\n description: string;\n localDocumentLocation: string;\n storedDocumentUrl: string;\n taal: DocumentLanguage;\n status: DocumentStatus;\n informatieobjecttype: string;\n}\n\ninterface DocumentenApiManagementAllVersions {\n versions: Array<string>;\n}\n\nexport interface DownloadDocumentConfig {\n processVariableName: string;\n}\n\nexport {\n DocumentenApiConfig,\n StoreTempDocumentConfig,\n ConfidentialityLevel,\n DocumentLanguage,\n DocumentStatus,\n DocumentenApiManagementAllVersions,\n};\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {PluginConfigurationComponent} from '../../../../models';\nimport {\n BehaviorSubject,\n combineLatest,\n filter,\n Observable,\n Subscription,\n switchMap,\n take,\n} from 'rxjs';\nimport {IkoConfig} from '../../models';\n\n@Component({\n standalone: false,\n selector: 'valtimo-iko-configuration',\n templateUrl: './iko-configuration.component.html',\n})\nexport class IkoConfigurationComponent implements PluginConfigurationComponent, OnInit, OnDestroy {\n @Input() save$: Observable<void>;\n @Input() disabled$: Observable<boolean>;\n @Input() pluginId: string;\n @Input() prefillConfiguration$: Observable<IkoConfig>;\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() configuration: EventEmitter<IkoConfig> = new EventEmitter<IkoConfig>();\n\n private saveSubscription!: Subscription;\n private readonly formValue$ = new BehaviorSubject<IkoConfig | null>(null);\n private readonly valid$ = new BehaviorSubject<boolean>(false);\n\n public ngOnInit(): void {\n this.openSaveSubscription();\n }\n\n public ngOnDestroy() {\n this.saveSubscription?.unsubscribe();\n }\n\n public formValueChange(formValue: IkoConfig): void {\n this.formValue$.next(formValue);\n this.handleValid(formValue);\n }\n\n private handleValid(formValue: IkoConfig): void {\n const valid = !!(formValue.configurationTitle && formValue.url);\n\n this.valid$.next(valid);\n this.valid.emit(valid);\n }\n\n private openSaveSubscription(): void {\n this.saveSubscription = this.save$\n ?.pipe(\n switchMap(() => combineLatest([this.formValue$, this.valid$])),\n take(1),\n filter(([_, valid]) => valid)\n )\n .subscribe(([formValue]) => this.configuration.emit(formValue));\n }\n}\n","<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null,\n } as obs\"\n>\n <v-input\n name=\"configurationTitle\"\n [title]=\"'configurationTitle' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.configurationTitle\"\n [required]=\"true\"\n [trim]=\"true\"\n [tooltip]=\"'configurationTitleTooltip' | pluginTranslate: pluginId | async\"\n placeholder=\"IKO Plugin\"\n >\n </v-input>\n <v-input\n name=\"url\"\n [title]=\"'url' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.url\"\n [required]=\"true\"\n [trim]=\"true\"\n [tooltip]=\"'urlTooltip' | pluginTranslate: pluginId | async\"\n placeholder=\"https://iko.example.com/\"\n >\n </v-input>\n</v-form>\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {NgModule} from '@angular/core';\nimport {CommonModule} from '@angular/common';\nimport {PluginTranslatePipeModule} from '../../pipes';\nimport {FormModule, InputModule} from '@valtimo/components';\nimport {IkoConfigurationComponent} from './components/iko-configuration/iko-configuration.component';\n\n@NgModule({\n declarations: [IkoConfigurationComponent],\n imports: [CommonModule, FormModule, InputModule, PluginTranslatePipeModule],\n exports: [IkoConfigurationComponent],\n})\nexport class IkoPluginModule {}\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nconst IKO_PLUGIN_LOGO_BASE64 =\n 'data:image/png;base64,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';\n\nexport {IKO_PLUGIN_LOGO_BASE64};\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport * from './iko-plugin-logo';\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {PluginSpecification} from '../../models';\nimport {IkoConfigurationComponent} from './components/iko-configuration/iko-configuration.component';\nimport {IKO_PLUGIN_LOGO_BASE64} from './assets';\n\nconst ikoPluginSpecification: PluginSpecification = {\n pluginId: 'iko',\n pluginConfigurationComponent: IkoConfigurationComponent,\n pluginLogoBase64: IKO_PLUGIN_LOGO_BASE64,\n functionConfigurationComponents: {},\n pluginTranslations: {\n nl: {\n title: 'IKO',\n url: 'IKO URL',\n urlTooltip: 'Een URL naar de REST API van IKO',\n description: 'Integraal Klant & Objectbeeld.',\n configurationTitle: 'Configuratienaam',\n configurationTitleTooltip:\n 'De naam van de huidige plugin-configuratie. Onder deze naam kan de configuratie in de rest van de applicatie teruggevonden worden.',\n },\n en: {\n title: 'IKO',\n url: 'IKO URL',\n urlTooltip: 'A URL to the REST API of IKO',\n description: 'Integraal Klant & Objectbeeld.',\n configurationTitle: 'Configuration name',\n configurationTitleTooltip:\n 'The name of the current plugin configuration. Under this name, the configuration can be found in the rest of the application.',\n },\n },\n};\n\nexport {ikoPluginSpecification};\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {PluginConfigurationData} from '../../../models';\n\ninterface IkoConfig extends PluginConfigurationData {\n url: string;\n}\n\nexport {IkoConfig};\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {PluginConfigurationComponent} from '../../../../models';\nimport {\n BehaviorSubject,\n combineLatest,\n filter,\n map,\n Observable,\n Subscription,\n switchMap,\n take,\n} from 'rxjs';\nimport {KlantinteractiesApiConfig} from '../../models';\nimport {PluginManagementService, PluginTranslationService} from '../../../../services';\nimport {TranslateService} from '@ngx-translate/core';\n\n@Component({\n standalone: false,\n selector: 'valtimo-klantinteracties-api-configuration',\n templateUrl: './klantinteracties-api-configuration.component.html',\n})\nexport class KlantinteractiesApiConfigurationComponent\n implements PluginConfigurationComponent, OnInit, OnDestroy\n{\n @Input() save$: Observable<void>;\n @Input() disabled$: Observable<boolean>;\n @Input() pluginId: string;\n @Input() prefillConfiguration$: Observable<KlantinteractiesApiConfig>;\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() configuration: EventEmitter<KlantinteractiesApiConfig> =\n new EventEmitter<KlantinteractiesApiConfig>();\n\n private saveSubscription!: Subscription;\n\n private readonly formValue$ = new BehaviorSubject<KlantinteractiesApiConfig | null>(null);\n private readonly valid$ = new BehaviorSubject<boolean>(false);\n\n readonly authenticationPluginSelectItems$: Observable<Array<{id: string; text: string}>> =\n combineLatest([\n this.pluginManagementService.getPluginConfigurationsByCategory(\n 'klantinteracties-api-authentication'\n ),\n this.translateService.stream('key'),\n ]).pipe(\n map(([configurations]) =>\n configurations.map(configuration => ({\n id: configuration.id,\n text: `${configuration.title} - ${this.pluginTranslationService.instant(\n 'title',\n configuration.pluginDefinition.key\n )}`,\n }))\n )\n );\n\n constructor(\n private readonly pluginManagementService: PluginManagementService,\n private readonly translateService: TranslateService,\n private readonly pluginTranslationService: PluginTranslationService\n ) {}\n\n public ngOnInit(): void {\n this.openSaveSubscription();\n }\n\n public ngOnDestroy() {\n this.saveSubscription?.unsubscribe();\n }\n\n public formValueChange(formValue: KlantinteractiesApiConfig): void {\n this.formValue$.next(formValue);\n this.handleValid(formValue);\n }\n\n private handleValid(formValue: KlantinteractiesApiConfig): void {\n const valid = !!(\n formValue.configurationTitle &&\n formValue.url &&\n formValue.authenticationPluginConfiguration\n );\n\n this.valid$.next(valid);\n this.valid.emit(valid);\n }\n\n private openSaveSubscription(): void {\n this.saveSubscription = this.save$\n ?.pipe(\n switchMap(() => combineLatest([this.formValue$, this.valid$])),\n take(1),\n filter(([_, valid]) => valid)\n )\n .subscribe(([formValue]) => this.configuration.emit(formValue));\n }\n}\n","<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null,\n } as obs\"\n>\n <v-input\n name=\"configurationTitle\"\n data-test-id=\"klantInteractiesApiConfigurationTitle\"\n [title]=\"'configurationTitle' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.configurationTitle\"\n [required]=\"true\"\n [trim]=\"true\"\n [tooltip]=\"'configurationTitleTooltip' | pluginTranslate: pluginId | async\"\n placeholder=\"Klantinteracties API Plugin\"\n >\n </v-input>\n <v-input\n name=\"url\"\n data-test-id=\"klantInteractiesApiUrl\"\n [title]=\"'url' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.url\"\n [required]=\"true\"\n [trim]=\"true\"\n [tooltip]=\"'urlTooltip' | pluginTranslate: pluginId | async\"\n placeholder=\"https://klantinteractiesapi.example.com/klantinteracties/api/v1/\"\n >\n </v-input>\n <ng-container\n *ngIf=\"{authenticationPluginSelectItems: authenticationPluginSelectItems$ | async} as authObs\"\n >\n <v-select\n [items]=\"authObs.authenticationPluginSelectItems\"\n [margin]=\"true\"\n name=\"authenticationPluginConfiguration\"\n data-test-id=\"klantInteractiesApiAuthenticationPluginConfiguration\"\n [title]=\"'authenticationPluginConfiguration' | pluginTranslate: pluginId | async\"\n [disabled]=\"obs.disabled\"\n [defaultSelectionId]=\"obs.prefill?.authenticationPluginConfiguration\"\n [required]=\"true\"\n [loading]=\"!authObs.authenticationPluginSelectItems\"\n ></v-select>\n </ng-container>\n</v-form>\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {FunctionConfigurationComponent} from '../../../../models';\nimport {\n BehaviorSubject,\n combineLatest,\n filter,\n Observable,\n Subscription,\n switchMap,\n take,\n} from 'rxjs';\nimport {CreatePersoonConfig} from '../../models';\n\n@Component({\n standalone: false,\n selector: 'valtimo-create-persoon',\n templateUrl: './create-persoon.component.html',\n})\nexport class CreatePersoonComponent implements FunctionConfigurationComponent, OnInit, OnDestroy {\n @Input() save$: Observable<void>;\n @Input() disabled$: Observable<boolean>;\n @Input() pluginId: string;\n @Input() prefillConfiguration$: Observable<CreatePersoonConfig>;\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() configuration: EventEmitter<CreatePersoonConfig> =\n new EventEmitter<CreatePersoonConfig>();\n\n private saveSubscription!: Subscription;\n private readonly formValue$ = new BehaviorSubject<CreatePersoonConfig | null>(null);\n private readonly valid$ = new BehaviorSubject<boolean>(false);\n\n public ngOnInit(): void {\n this.openSaveSubscription();\n }\n\n public ngOnDestroy(): void {\n this.saveSubscription?.unsubscribe();\n }\n\n public formValueChange(formValue: CreatePersoonConfig): void {\n this.formValue$.next(formValue);\n this.handleValid(formValue);\n }\n\n private handleValid(formValue: CreatePersoonConfig): void {\n this.valid$.next(true);\n this.valid.emit(true);\n }\n\n private openSaveSubscription(): void {\n this.saveSubscription = this.save$\n ?.pipe(\n switchMap(() => combineLatest([this.formValue$, this.valid$])),\n take(1),\n filter(([_, valid]) => valid)\n )\n .subscribe(([formValue]) => this.configuration.emit(formValue));\n }\n}\n","<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null,\n } as obs\"\n>\n <v-input\n name=\"bsn\"\n [title]=\"'bsn' | pluginTranslate: pluginId | async\"\n [tooltip]=\"'bsnTooltip' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.bsn\"\n [disabled]=\"obs.disabled\"\n [trim]=\"true\"\n [fullWidth]=\"true\"\n ></v-input>\n <v-input\n name=\"voorletters\"\n [title]=\"'voorletters' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.voorletters\"\n [disabled]=\"obs.disabled\"\n [trim]=\"true\"\n [fullWidth]=\"true\"\n ></v-input>\n <v-input\n name=\"voornaam\"\n [title]=\"'voornaam' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.voornaam\"\n [disabled]=\"obs.disabled\"\n [trim]=\"true\"\n [fullWidth]=\"true\"\n ></v-input>\n <v-input\n name=\"voorvoegselAchternaam\"\n [title]=\"'voorvoegselAchternaam' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.voorvoegselAchternaam\"\n [disabled]=\"obs.disabled\"\n [trim]=\"true\"\n [fullWidth]=\"true\"\n ></v-input>\n <v-input\n name=\"achternaam\"\n [title]=\"'achternaam' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.achternaam\"\n [disabled]=\"obs.disabled\"\n [trim]=\"true\"\n [fullWidth]=\"true\"\n ></v-input>\n <v-input\n name=\"processVariableName\"\n [title]=\"'processVariableName' | pluginTranslate: pluginId | async\"\n [tooltip]=\"'processVariableNameTooltip' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.processVariableName\"\n [disabled]=\"obs.disabled\"\n [trim]=\"true\"\n [fullWidth]=\"true\"\n ></v-input>\n</v-form>\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {NgModule} from '@angular/core';\nimport {KlantinteractiesApiConfigurationComponent} from './components/klantinteracties-api-configuration/klantinteracties-api-configuration.component';\nimport {CommonModule} from '@angular/common';\nimport {PluginTranslatePipeModule} from '../../pipes';\nimport {FormModule, InputModule, ParagraphModule, SelectModule} from '@valtimo/components';\nimport {CreatePersoonComponent} from './components/create-persoon/create-persoon.component';\n\n@NgModule({\n declarations: [KlantinteractiesApiConfigurationComponent, CreatePersoonComponent],\n imports: [\n CommonModule,\n PluginTranslatePipeModule,\n FormModule,\n InputModule,\n SelectModule,\n ParagraphModule,\n ],\n exports: [KlantinteractiesApiConfigurationComponent, CreatePersoonComponent],\n})\nexport class KlantinteractiesApiPluginModule {}\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nconst KLANTINTERACTIES_API_PLUGIN_LOGO_BASE64 =\n 'data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB2aWV3Qm94PSIxNTAgMTUgOTYgNTAiPjxkZWZzPjxwYXRoIGlkPSJhIiBkPSJNNTcuMzk2LjIxMUguMjgxdjQ5LjQwNWg1Ny4xMTVWLjIxeiIvPjxwYXRoIGlkPSJjIiBkPSJNNTcuNTY0LjIxMUguNDQ4djQ5LjQwNWg1Ny4xMTZWLjIxeiIvPjwvZGVmcz48ZyBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDE4Ny45MzEgMTUpIj48bWFzayBpZD0iYiIgZmlsbD0iI2ZmZiI+PHVzZSB4bGluazpocmVmPSIjYSIvPjwvbWFzaz48cGF0aCBkPSJNNTcuMzk2IDI0LjkxM2MwLTEzLjU3My0xMS4wMDQtMjQuNjIyLTI0LjU2LTI0LjctLjAyNCAwLS4wNDgtLjAwMy0uMDczLS4wMDNIMjQuNzVhMi41MDQgMi41MDQgMCAxIDAgMCA1LjAxaDcuOTQ1YzEwLjg1OCAwIDE5LjY5NCA4LjgzNCAxOS42OTQgMTkuNjkzIDAgMTAuODYtOC44MzYgMTkuNjk0LTE5LjY5NCAxOS42OTRINS4yODl2LTQuNTc4SC4yODF2OS41ODdoMzIuNDgydi0uMDAxYzEzLjU5LS4wNCAyNC42MzMtMTEuMTA1IDI0LjYzMy0yNC43MDIiIGZpbGw9IiMwMDlGRTQiIG1hc2s9InVybCgjYikiLz48L2c+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTUwIDE1KSI+PG1hc2sgaWQ9ImQiIGZpbGw9IiNmZmYiPjx1c2UgeGxpbms6aHJlZj0iI2MiLz48L21hc2s+PHBhdGggZD0iTS40NDggMjQuOTEzYzAgMTMuNTczIDExLjAwNCAyNC42MjIgMjQuNTYgMjQuNy4wMjQgMCAuMDQ4LjAwMy4wNzMuMDAzaDguMDE0YTIuNTA0IDIuNTA0IDAgMSAwIDAtNS4wMDloLTcuOTQ0Yy0xMC44NTkgMC0xOS42OTQtOC44MzQtMTkuNjk0LTE5LjY5NCAwLTEwLjg1OSA4LjgzNS0xOS42OTQgMTkuNjk0LTE5LjY5NGgyNy40MDR2NC41NzhoNS4wMDlWLjIxSDI1LjA4di4wMDFDMTEuNDkuMjUxLjQ0OCAxMS4zMTYuNDQ4IDI0LjkxMyIgZmlsbD0iIzAwOUZFNCIgbWFzaz0idXJsKCNkKSIvPjwvZz48cGF0aCBmaWxsPSIjMDA0Mzg4IiBkPSJNMTc2LjAxNyA0Mi4xMTZsLTQuNjc4LTEyLjQwMWgtNS42NjRsOC4xNCAyMC4zNjZoMy45MjFsOC40MDEtMjAuMzY2aC01LjM2M3ptMjYuNTQyLjU1OGwtNy45MjgtMTIuOTU5aC02LjQxM3YyMC4zNjdoNC45OTdWMzYuNzg3bDguMTUgMTMuMjk1aDYuMTlWMjkuNzE1aC00Ljk5NnptMTkuMzIzLTQuOTR2NC42NjNoMy41Mzd2Mi42NzdhOS43NzMgOS43NzMgMCAwIDEtMS40MTQuNTRjLS42NTIuMjAzLTEuNDQzLjMwNi0yLjM1NC4zMDYtLjg4IDAtMS42ODYtLjE1LTIuMzk0LS40NDhhNS4zMzggNS4zMzggMCAwIDEtMS44MjQtMS4yNDcgNS41MjIgNS41MjIgMCAwIDEtMS4xNy0xLjg5NGMtLjI3Mi0uNzI5LS40MS0xLjU0OS0uNDEtMi40MzMgMC0uODY3LjEzOC0xLjY4MS40MS0yLjQyYTUuNTAyIDUuNTAyIDAgMCAxIDEuMTctMS45MDggNS4zNzQgNS4zNzQgMCAwIDEgMS44MjQtMS4yNDZjLjcwOS0uMjk4IDEuNTE0LS40NDkgMi4zOTQtLjQ0OSAxLjA2NCAwIDEuOTU5LjE1MSAyLjY1Ny40NDkuNy4yOTcgMS4zMzguNzQgMS44OTggMS4zMThsLjI0Mi4yNDggMy41MTUtMy44MzUtLjIzNy0uMjIxYTguOTIzIDguOTIzIDAgMCAwLTMuNjI3LTIuMDM4Yy0xLjM1LS4zODYtMi44NDctLjU4My00LjQ0OC0uNTgzLTEuNTcyIDAtMy4wNDQuMjUtNC4zNzMuNzQ1YTEwLjEzOSAxMC4xMzkgMCAwIDAtMy40ODEgMi4xNDNjLS45NzUuOTI4LTEuNzQ2IDIuMDY2LTIuMjkgMy4zODQtLjU0MyAxLjMxNS0uODE5IDIuOC0uODE5IDQuNDEzIDAgMS42MTMuMjc2IDMuMDk4LjgyIDQuNDEzLjU0NSAxLjMxOSAxLjMxNCAyLjQ1NyAyLjI4OSAzLjM4NC45NzQuOTI2IDIuMTQ2IDEuNjQ3IDMuNDggMi4xNDMgMS4zMy40OTQgMi44MDIuNzQ0IDQuMzc0Ljc0NCAxLjQ2NCAwIDIuOTItLjE1MiA0LjMzLS40NTJhMTYuMDU0IDE2LjA1NCAwIDAgMCA0LjA5LTEuNDc4bC4xNzctLjA5VjM3LjczM2gtOC4zNjZ6Ii8+PC9nPjwvc3ZnPg==';\n\nexport {KLANTINTERACTIES_API_PLUGIN_LOGO_BASE64};\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport * from './klantinteracties-api-plugin-logo';\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {PluginSpecification} from '../../models';\nimport {KlantinteractiesApiConfigurationComponent} from './components/klantinteracties-api-configuration/klantinteracties-api-configuration.component';\nimport {KLANTINTERACTIES_API_PLUGIN_LOGO_BASE64} from './assets';\nimport {CreatePersoonComponent} from './components/create-persoon/create-persoon.component';\n\nconst klantinteractiesApiPluginSpecification: PluginSpecification = {\n pluginId: 'klantinteractiesapi',\n pluginConfigurationComponent: KlantinteractiesApiConfigurationComponent,\n pluginLogoBase64: KLANTINTERACTIES_API_PLUGIN_LOGO_BASE64,\n functionConfigurationComponents: {\n 'create-persoon': CreatePersoonComponent,\n },\n pluginTranslations: {\n nl: {\n title: 'Klantinteracties API',\n url: 'Klantinteracties API URL',\n urlTooltip: 'De URL naar de REST API voor klantinteracties.',\n description:\n 'Met de specificaties van de Klantinteracties API kunnen gemeenten klantinteracties eenduidig registreren, opslaan en ontsluiten.',\n configurationTitle: 'Configuratienaam',\n configurationTitleTooltip:\n 'Onder deze naam is de plug-in herkenbaar in de rest van de applicatie.',\n authenticationPluginConfiguration: 'Configuratie van authenticatie-plug-in',\n 'create-persoon': 'Persoon aanmaken',\n bsn: 'BSN',\n bsnTooltip: 'Burgerservicenummer.',\n voorletters: 'Voorletters',\n voornaam: 'Voornaam',\n voorvoegselAchternaam: 'Voorvoegsel achternaam',\n achternaam: 'Achternaam',\n processVariableName: 'Naam van procesvariabele voor opslag van persoon-URL',\n processVariableNameTooltip:\n 'De URL van de persoon wordt opgeslagen in een procesvariabele. Deze variabele kan worden gebruikt om verdere interacties met de persoon vast te leggen in een andere BPMN-taak.',\n },\n en: {\n title: 'Klantinteracties API',\n url: 'Klantinteracties API URL',\n urlTooltip: 'The URL of the REST API for Klantinteracties.',\n description:\n 'The Klantinteracties API specifications allow municipalities to consistently record, store, and retrieve customer interactions.',\n configurationTitle: 'Configuration Name',\n configurationTitleTooltip: 'This name identifies the plug-in throughout the application.',\n authenticationPluginConfiguration: 'Authentication Plug-in Configuration',\n 'create-persoon': 'Create Person',\n bsn: 'BSN',\n bsnTooltip: 'Citizen Service Number.',\n voorletters: 'Initials',\n voornaam: 'First Name',\n voorvoegselAchternaam: 'Prefix Last Name',\n achternaam: 'Last Name',\n processVariableName: 'Process Variable Name for Storing Person URL',\n processVariableNameTooltip:\n \"The person's URL is stored in a process variable. This variable can be used to log further interactions with the person in another BPMN task.\",\n },\n },\n};\n\nexport {klantinteractiesApiPluginSpecification};\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {PluginConfigurationComponent} from '../../../../models';\nimport {BehaviorSubject, combineLatest, map, Observable, Subscription, take} from 'rxjs';\nimport {ObjecttypenApiConfig} from '../../models';\nimport {PluginManagementService, PluginTranslationService} from '../../../../services';\nimport {TranslateService} from '@ngx-translate/core';\n\n@Component({\n standalone: false,\n selector: 'valtimo-objecttypen-api-configuration',\n templateUrl: './objecttypen-api-configuration.component.html',\n styleUrls: ['./objecttypen-api-configuration.component.scss'],\n})\nexport class ObjecttypenApiConfigurationComponent\n implements PluginConfigurationComponent, OnInit, OnDestroy\n{\n @Input() save$: Observable<void>;\n @Input() disabled$: Observable<boolean>;\n @Input() pluginId: string;\n @Input() prefillConfiguration$: Observable<ObjecttypenApiConfig>;\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() configuration: EventEmitter<ObjecttypenApiConfig> =\n new EventEmitter<ObjecttypenApiConfig>();\n\n private saveSubscription!: Subscription;\n\n private readonly formValue$ = new BehaviorSubject<ObjecttypenApiConfig | null>(null);\n private readonly valid$ = new BehaviorSubject<boolean>(false);\n\n readonly authenticationPluginSelectItems$: Observable<Array<{id: string; text: string}>> =\n combineLatest([\n this.pluginManagementService.getPluginConfigurationsByCategory('objecten-api-authentication'),\n this.translateService.stream('key'),\n ]).pipe(\n map(([configurations]) =>\n configurations.map(configuration => ({\n id: configuration.id,\n text: `${configuration.title} - ${this.pluginTranslationService.instant(\n 'title',\n configuration.pluginDefinition.key\n )}`,\n }))\n )\n );\n\n constructor(\n private readonly pluginManagementService: PluginManagementService,\n private readonly translateService: TranslateService,\n private readonly pluginTranslationService: PluginTranslationService\n ) {}\n\n ngOnInit(): void {\n this.openSaveSubscription();\n }\n\n ngOnDestroy() {\n this.saveSubscription?.unsubscribe();\n }\n\n formValueChange(formValue: ObjecttypenApiConfig): void {\n this.formValue$.next(formValue);\n this.handleValid(formValue);\n }\n\n private handleValid(formValue: ObjecttypenApiConfig): void {\n const valid = !!(\n formValue.configurationTitle &&\n formValue.url &&\n formValue.authenticationPluginConfiguration\n );\n\n this.valid$.next(valid);\n this.valid.emit(valid);\n }\n\n private openSaveSubscription(): void {\n this.saveSubscription = this.save$?.subscribe(save => {\n combineLatest([this.formValue$, this.valid$])\n .pipe(take(1))\n .subscribe(([formValue, valid]) => {\n if (valid) {\n this.configuration.emit(formValue);\n }\n });\n });\n }\n}\n","<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null,\n } as obs\"\n>\n <v-input\n name=\"configurationTitle\"\n data-test-id=\"objecttypenApiConfigurationTitle\"\n [title]=\"'configurationTitle' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.configurationTitle\"\n [required]=\"true\"\n [trim]=\"true\"\n [tooltip]=\"'configurationTitleTooltip' | pluginTranslate: pluginId | async\"\n placeholder=\"Objecttypen API Plugin\"\n >\n </v-input>\n <v-input\n name=\"url\"\n data-test-id=\"objecttypenApiUrl\"\n [title]=\"'url' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.url\"\n [required]=\"true\"\n [trim]=\"true\"\n [tooltip]=\"'urlTooltip' | pluginTranslate: pluginId | async\"\n placeholder=\"https://objecttypen.example.com/api/v2/\"\n >\n </v-input>\n <ng-container\n *ngIf=\"{authenticationPluginSelectItems: authenticationPluginSelectItems$ | async} as authObs\"\n >\n <v-select\n [items]=\"authObs.authenticationPluginSelectItems\"\n [margin]=\"true\"\n name=\"authenticationPluginConfiguration\"\n data-test-id=\"objecttypenApiAuthenticationPluginConfiguration\"\n [title]=\"'authenticationPluginConfiguration' | pluginTranslate: pluginId | async\"\n [disabled]=\"obs.disabled\"\n [defaultSelectionId]=\"obs.prefill?.authenticationPluginConfiguration\"\n [required]=\"true\"\n [loading]=\"!authObs.authenticationPluginSelectItems\"\n ></v-select>\n </ng-container>\n</v-form>\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {NgModule} from '@angular/core';\nimport {ObjecttypenApiConfigurationComponent} from './components/objecttypen-api-configuration/objecttypen-api-configuration.component';\nimport {CommonModule} from '@angular/common';\nimport {PluginTranslatePipeModule} from '../../pipes';\nimport {FormModule, InputModule, ParagraphModule, SelectModule} from '@valtimo/components';\n\n@NgModule({\n declarations: [ObjecttypenApiConfigurationComponent],\n imports: [\n CommonModule,\n PluginTranslatePipeModule,\n FormModule,\n InputModule,\n SelectModule,\n ParagraphModule,\n ],\n exports: [ObjecttypenApiConfigurationComponent],\n})\nexport class ObjecttypenApiPluginModule {}\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nconst OBJECTTYPEN_API_PLUGIN_LOGO_BASE64 =\n 'data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyBpZD0iTGF5ZXJfMiIgZGF0YS1uYW1lPSJMYXllciAyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAzNDMuMDggMTgwLjIxIj4KICA8ZGVmcz4KICAgIDxzdHlsZT4KICAgICAgLmNscy0xIHsKICAgICAgICBmaWxsOiAjZmZiYzJkOwogICAgICB9CiAgICA8L3N0eWxlPgogIDwvZGVmcz4KICA8ZyBpZD0iTGF5ZXJfMS0yIiBkYXRhLW5hbWU9IkxheWVyIDEiPgogICAgPHBhdGggY2xhc3M9ImNscy0xIiBkPSJtMTQyLjgxLDcxLjgxYy04LjAyLTcuNjUtMTcuMzEtMTIuODQtMjguNTgtMTMuMDUtMTQuMDItLjI2LTMwLjQ4LDEwLjExLTMzLjQzLDI3LjM2LTEuNDIsOC4yOS42NSwxNS45NCw1LjY4LDIyLjYyLDcuNTEsOS45OCwxNy42NSwxNS41MywzMC4xNCwxNS41OSwxMi4yMS4wNiwyMy4yNC00LjA2LDMyLjk4LTExLjUsMi45OS0yLjI4LDUuNzgtNC43Nyw4LjM4LTcuNDguNi0uNjMsMS4yMi0xLjI2LDEuOTItMS43OC44OS0uNjUsMS44OS0uNzksMi42Ny4xNy43Ljg3LjE2LDEuNjYtLjQzLDIuMzMtMy42NCw0LjEzLTcuNDgsOC4wNC0xMS44MywxMS40NS0xMC4zNyw4LjE0LTIyLjE5LDEyLjYzLTM1LjI2LDEyLjgzLTIxLjAzLjMyLTQxLjIyLTE1LjY2LTQzLjctMzYuNTgtMS45NS0xNi41NCw0LjcxLTI5LjI4LDE3LjU3LTM4LjkxLDE1LjQ3LTExLjU3LDMyLjM3LTExLjgyLDQ5LjY4LTQuNjcsMTcuMTUsNy4wOCwzMC4yMywxOS4xNiw0MC43LDM0LjI1LDcuMSwxMC4yMywxNS4yMywxOS40NywyNS4zNiwyNi44Miw2LjE3LDQuNDgsMTIuOTUsNy41NywyMC41NCw4LjQ4LDExLjE0LDEuMzQsMjUuNjYtNC4xNCwzMi40Ny0xNi42Miw2LjItMTEuMzYsNC4zNi0yNS41Mi00LjU1LTM1LjEyLTkuNTktMTAuMzMtMjEuMzktMTQuMDMtMzUuMjctMTEuOTMtMTIuNiwxLjkxLTIzLjAzLDcuOC0zMi4wMywxNi41NS0uNzIuNy0xLjM3LDEuNDYtMi4xMywyLjExLTEuMDQuODktMS45OCwyLjk5LTMuNTYsMS41MS0xLjM1LTEuMjguMS0yLjc3LDEuMDUtMy44NywxMC40NS0xMi4wOCwyMi45OC0yMC42MiwzOS4xNS0yMi45OSwxOC4wNi0yLjY1LDMyLjgxLDMuMzQsNDMuODUsMTcuNjUsMTMuMDMsMTYuODksMTAuNDEsNDMuOTEtOS44Myw1OC4zNC0xNS4yMiwxMC44NS0zMS43MiwxMS44MS00OC43OSw1LjM4LTE2LjUyLTYuMjMtMjkuMjYtMTcuNDktMzkuNTEtMzEuNjItNS41Ny03LjY5LTEwLjg5LTE1LjU1LTE3LjYtMjIuMzNsLTUuNjItNS4wMloiLz4KICAgIDxwYXRoIGQ9Im0zMjMuNDYsODkuNjVjLTEuMy0uMzUtMi42MS0uNy0zLjkxLTEuMDUtMTEuOTEtMy4yMy0xOC4zMS0xMS4yNi0xOC41LTIzLjYyLS4xNi05Ljg3LS4wMy0xOS43NS0uMDYtMjkuNjIsMC0xLjg3LjAzLTMuNzctLjI4LTUuNjEtMS41NS04Ljk4LTcuNzUtMTQuMzEtMTcuNzItMTUuMzlxLTQuODItLjUyLTQuODItNS4zOWMwLTIuMjUuMDYtNC41LS4wMi02Ljc1LS4wNS0xLjQ4LjItMi4yNSwyLTIuMjEsOC41MS4xNywxNi42MywxLjgxLDIzLjkyLDYuMzgsOS43OCw2LjEzLDEzLjg0LDE1LjM5LDEzLjk3LDI2LjU5LjExLDkuNS4wMiwxOSwuMDMsMjguNSwwLDEuNjItLjAxLDMuMjUuMDksNC44Ny40NSw3LjI0LDQuMDksMTIuMTUsMTAuOTIsMTQuNiwzLjU1LDEuMjcsNy4yNywxLjg1LDExLjAyLDEuOSwyLjE1LjAzLDMuMTUuNTUsMi45NSwyLjk5LS4yNSwzLjEtLjE0LDYuMjUtLjAzLDkuMzcuMDYsMS42My0uNTUsMi4yLTIuMTQsMi4yMS0zLjUuMDItNi45Ni40MS0xMC4zNCwxLjQ3LTguMjksMi42Mi0xMi4yNCw3LjUtMTIuNCwxNi4xNC0uMTgsMTAtLjA5LDIwLS4wNywzMCwwLDMuNTEtLjIsNy4wMS0uOTQsMTAuNDMtMi4xNSw5Ljg4LTguMTUsMTYuNjUtMTcuMjgsMjAuNy02LjAxLDIuNjctMTIuMzksMy42NC0xOC45Myw0LjA0LTIuNS4xNS0yLjk1LS43NC0yLjgxLTIuOTIuMTctMi42MS4wMy01LjI1LjA0LTcuODcuMDItMy4yNy4wMy0zLjMyLDMuMTYtMy40OCwyLjM5LS4xMiw0LjcxLS41Niw2Ljk4LTEuMjUsOC4yNi0yLjUzLDEyLjQ2LTcuODIsMTIuNjEtMTYuNDguMTgtMTAuMzcuMS0yMC43NS4wNi0zMS4xMi0uMDEtMy4xNS4yNy02LjI1LDEtOS4yOSwxLjkyLTguMDQsNy4zNC0xMi43OSwxNC45MS0xNS4zNywyLjE4LS43NCw0LjQyLTEuMyw2LjYzLTEuOTQtLjAyLS4yOC0uMDQtLjU1LS4wNS0uODNaIi8+CiAgICA8cGF0aCBkPSJtMTkuMjYsOTAuNDdjMi4xLjYyLDQuMjMsMS4xNyw2LjMsMS44OSw5Ljk4LDMuNDMsMTUuNjIsMTAuNjMsMTUuOTcsMjEuMi4zMywxMC4yNC4xNCwyMC40OS4yMywzMC43My4wMiwyLjI0LjE1LDQuNS40NCw2LjcyLjc3LDUuOTEsMy45LDEwLjE1LDkuMzgsMTIuNTYsMy4zNCwxLjQ3LDYuODcsMi4zNywxMC41MiwyLjMxLDIuMzUtLjA0LDMuMDEuODUsMi44NywzLjA4LS4xOCwyLjk5LS4wOCw2LS4wMyw4Ljk5LjAzLDEuNDItLjEsMi4yOS0xLjk2LDIuMjMtOC4wOS0uMjYtMTUuOTEtMS42Mi0yMy4wNC01LjYyLTkuNi01LjM5LTE0LjY2LTEzLjc2LTE0Ljk1LTI0LjcxLS4yOC0xMC4zNi0uMDktMjAuNzQtLjEtMzEuMTEsMC0yLjM4LS4xNC00LjczLS41Ni03LjA4LS45OS01LjYyLTQuMDctOS41My05LjI5LTExLjc4LTMuODMtMS42Ni03Ljg3LTIuNDYtMTIuMDItMi40Mi0yLjIuMDItMy4xNi0uNTUtMy0yLjk1LjIxLTMuMTEuMTMtNi4yNS4wMi05LjM3LS4wNi0xLjY1LjU4LTIuMTYsMi4xNC0yLjI1LDIuNjEtLjE0LDUuMjEtLjMyLDcuOC0uOSwxMC4xMi0yLjI1LDE0LjczLTcuNjYsMTQuODYtMTguMDcuMTMtMTAuNDkuMDYtMjAuOTkuMDMtMzEuNDktLjAxLTQuNjguOC05LjE4LDIuNzItMTMuNDYsMy4wMS02LjY4LDguMTYtMTEuMjQsMTQuNjQtMTQuMzlDNDguNjIsMS40Nyw1NS40NC4yNCw2Mi41MSwwYzIuMS0uMDcsMi41Mi42NywyLjQ0LDIuNTMtLjEyLDIuOTktLjE2LDYsLjAxLDguOTkuMTEsMi4wMi0uNjcsMi42Ni0yLjU2LDIuNjgtMi44OS4wMy01LjY5LjYyLTguNDMsMS41Ny03LjA2LDIuNDQtMTEuMTMsNy4zLTExLjksMTQuNzgtLjE5LDEuODYtLjMyLDMuNzMtLjMzLDUuNi0uMDYsOS44Ny4xMywxOS43NS0uMTYsMjkuNjEtLjM2LDEyLjA4LTYuNjgsMTkuNjgtMTguNCwyMi44NC0xLjMuMzUtMi42MS43MS0zLjkxLDEuMDYsMCwuMjctLjAyLjUzLS4wMi44WiIvPgogIDwvZz4KPC9zdmc+';\nexport {OBJECTTYPEN_API_PLUGIN_LOGO_BASE64};\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport * from './objecttypen-api-plugin-logo';\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {PluginSpecification} from '../../models';\nimport {ObjecttypenApiConfigurationComponent} from './components/objecttypen-api-configuration/objecttypen-api-configuration.component';\nimport {OBJECTTYPEN_API_PLUGIN_LOGO_BASE64} from './assets';\n\nconst objecttypenApiPluginSpecification: PluginSpecification = {\n pluginId: 'objecttypenapi',\n pluginConfigurationComponent: ObjecttypenApiConfigurationComponent,\n pluginLogoBase64: OBJECTTYPEN_API_PLUGIN_LOGO_BASE64,\n\n pluginTranslations: {\n nl: {\n title: 'Objecttypen API',\n url: 'Objecttypen API URL',\n urlTooltip: 'In dit veld moet de verwijzing komen naar de REST API van Objecttypen',\n description:\n 'Met de Overige Objecten Registratie API-specificaties (Objecttypen) kunnen gemeenten eenduidig objecten registreren, opslaan en ontsluiten.',\n configurationTitle: 'Configuratienaam',\n configurationTitleTooltip:\n 'Onder deze naam zal de plugin te herkennen zijn in de rest van de applicatie',\n authenticationPluginConfiguration: 'Configuratie authenticatie-plug-in',\n },\n en: {\n title: 'Objecttypen API',\n url: 'Objecttypen API URL',\n urlTooltip: 'This field must contain the URL to the REST API of Objecttypen',\n description:\n 'With the Other Objects Registration API specifications (Object types), municipalities can unambiguously register, store and access objects.',\n configurationTitle: 'Configuration name',\n configurationTitleTooltip:\n 'With this name the plugin will be recognizable in the rest of the application',\n authenticationPluginConfiguration: 'Authentication plugin configuration',\n },\n },\n};\n\nexport {objecttypenApiPluginSpecification};\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {PluginConfigurationComponent} from '../../../../models';\nimport {\n BehaviorSubject,\n combineLatest,\n filter,\n Observable,\n Subscription,\n switchMap,\n take,\n} from 'rxjs';\nimport {OpenKlantTokenAuthenticationConfig} from '../../models';\n\n@Component({\n selector: 'valtimo-open-klant-token-authentication-configuration',\n templateUrl: './open-klant-token-authentication-configuration.component.html',\n standalone: false,\n})\nexport class OpenKlantTokenAuthenticationConfigurationComponent\n implements PluginConfigurationComponent, OnInit, OnDestroy\n{\n @Input() save$: Observable<void>;\n @Input() disabled$: Observable<boolean>;\n @Input() pluginId: string;\n @Input() prefillConfiguration$: Observable<OpenKlantTokenAuthenticationConfig>;\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() configuration: EventEmitter<OpenKlantTokenAuthenticationConfig> =\n new EventEmitter<OpenKlantTokenAuthenticationConfig>();\n\n private saveSubscription!: Subscription;\n\n private readonly formValue$ = new BehaviorSubject<OpenKlantTokenAuthenticationConfig | null>(\n null\n );\n private readonly valid$ = new BehaviorSubject<boolean>(false);\n\n public ngOnInit(): void {\n this.openSaveSubscription();\n }\n\n public ngOnDestroy() {\n this.saveSubscription?.unsubscribe();\n }\n\n public formValueChange(formValue: OpenKlantTokenAuthenticationConfig): void {\n this.formValue$.next(formValue);\n this.handleValid(formValue);\n }\n\n private handleValid(formValue: OpenKlantTokenAuthenticationConfig): void {\n const valid = !!(formValue.configurationTitle && formValue.token?.length >= 20);\n\n this.valid$.next(valid);\n this.valid.emit(valid);\n }\n\n private openSaveSubscription(): void {\n this.saveSubscription = this.save$\n ?.pipe(\n switchMap(() => combineLatest([this.formValue$, this.valid$])),\n take(1),\n filter(([_, valid]) => valid)\n )\n .subscribe(([formValue]) => this.configuration.emit(formValue));\n }\n}\n","<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null,\n } as obs\"\n>\n <v-input\n name=\"configurationTitle\"\n data-test-id=\"openKlantTokenAuthenticationConfigurationTitle\"\n [title]=\"'configurationTitle' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.configurationTitle\"\n [required]=\"true\"\n [trim]=\"true\"\n [tooltip]=\"'configurationTitleTooltip' | pluginTranslate: pluginId | async\"\n placeholder=\"OpenKlant Token Authenticatie Plugin\"\n >\n </v-input>\n <v-input\n name=\"token\"\n data-test-id=\"openKlantTokenAuthenticationToken\"\n type=\"password\"\n [title]=\"'token' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.clientId\"\n [required]=\"true\"\n [tooltip]=\"'tokenTooltip' | pluginTranslate: pluginId | async\"\n >\n </v-input>\n</v-form>\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {OpenKlantTokenAuthenticationConfigurationComponent} from './components/open-klant-token-authentication-configuration/open-klant-token-authentication-configuration.component';\nimport {CommonModule} from '@angular/common';\nimport {PluginTranslatePipeModule} from '../../pipes';\nimport {FormModule, InputModule} from '@valtimo/components';\nimport {NgModule} from '@angular/core';\n\n@NgModule({\n declarations: [OpenKlantTokenAuthenticationConfigurationComponent],\n imports: [CommonModule, PluginTranslatePipeModule, FormModule, InputModule],\n exports: [OpenKlantTokenAuthenticationConfigurationComponent],\n})\nexport class OpenKlantTokenAuthenticationPluginModule {}\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nconst OPEN_KLANT_TOKEN_AUTHENTICATION_PLUGIN_LOGO_BASE64 =\n 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAAAXNSR0IArs4c6QAAAIRlWElmTU0AKgAAAAgABQESAAMAAAABAAEAAAEaAAUAAAABAAAASgEbAAUAAAABAAAAUgEoAAMAAAABAAIAAIdpAAQAAAABAAAAWgAAAAAAAADBAAAAAQAAAMEAAAABAAOgAQADAAAAAQABAACgAgAEAAAAAQAAAECgAwAEAAAAAQAAAEAAAAAAGtnEnwAAAAlwSFlzAAAdrgAAHa4B6wA6cAAAAVlpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IlhNUCBDb3JlIDYuMC4wIj4KICAgPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4KICAgICAgPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIKICAgICAgICAgICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iPgogICAgICAgICA8dGlmZjpPcmllbnRhdGlvbj4xPC90aWZmOk9yaWVudGF0aW9uPgogICAgICA8L3JkZjpEZXNjcmlwdGlvbj4KICAgPC9yZGY6UkRGPgo8L3g6eG1wbWV0YT4KGV7hBwAAF4tJREFUeAHNWwmQVdWZ/t/r1/tK7yvddLN0szeLrII4icElAbQmlsmEpayxRopBhzEaU+NkpszExDhRxMFUMioY0dEUoNGUxgwCKjT71kCzdQPdTe/d9Ebv/Xq+77/33H79WERAmL/euffcc879z//95z//We55LrlB1NfX5wIrj8vl6vZlifRheM5HGI8wAiEDIdYO0biTmhAa7FCG+3GEAwj7we8k7g6BXyAeepDe5yTeygiB20I5YuB5FsKLCIcRehEuSV6kMlyB+C55kNcspwJE8ByIQKXfOqIQpnbE4xGeQihCcMgG2I0EE3oQJzBf7IwzjXmmXLdvAaSTyJt1xPvU68hg0r7O/Zo0CAECUImXZgiiOT+J8ChCFILANnvB2Isoy7k6untcda3tUt3SJjUX2qW+rVNaurqlo5dFREIC3BIZFChxYcGSGB4qSZFhEh8RKiGBHpo5Qy8ubvAkP1IzwqsIz0OGBshAHG7Ee3H/WvS1FYDKAlGR9nPEl6G2ZxFi7FqZTiHdBHykql52VdTLl/XN8qfWDpHuHgtKn8Flv6U3iOIiRIRAj3wvIkRmxkXJbalxMio5ThWCYtQYQZpWb0T8GcjzCu7aLYxsfL4aumoF2FoOQAU00+FgvhZhql0JgXtYprCiTv58qlxeOtcgNe1dlMoKBOcJkLRgj4xFaycEBWjL831aQm1XrxyCVZzrhJJ6gJHv8R2ExNAgeTwtVu4dmi5jUuORpA4QBR1F7EB8EdJPQAYP4r12GUSvTFelADB1g00fmYIWI/4agtvr7et2u12s0LWntEp+X3haflcDh25Aw7TnRYfLnYkxMjohWtJjIiQ2LETCoIDAgADBu3gVzertk+7eXmmDAhraOqS8sVUO1zbJZzWN8kHTBcBBw9vKeCQxWv5+zBCZNDiZr/bh3R7woUXQOh6GjGsgIxkj6rL6GB4uR1+pAII3jBBfCUbLbWZsAU9pQ7O8sue4/Lq8zuqlADMKfXl5VpLcnpUsQ+Ki2ZcvV/8V0+E75HR9k3xxpkpePlMtR+A71BOgjh+nx8uySSNkcKy6HZXFZvYy5H2McV/ZL1fRFRXgywDxDWCywNY4LcL9weESmb/XHqYhVD6A/2xUpszOSZOY0GCnTryrnowJWiFa079iegVajt7tcgDCVKXG9k7ZWnxO/v3IWdlvFIGc9ycOk3mjs1nGC9m8tkVuxLv3M9EXA5/9qb8GvxzfFxH/GNlzMSx1wRyCWju75bkvDsovztaIBKF14aPfGDVY7h+TLVEhFnCUVY4EcdlK/Or0fyQHKo+EevXe3NEpGwpLZMmRUsthdvXITzMT5enbx0lEcKAYGVH4E9R9N1/yxaJMfC6XlA0vaDoYIGq1fK+3ryvA7Qqqbr4gC/+6Rz5tgVcHzY8Ok+dnjJZhiYP0mcAJ2afxNP16L9QD7cMo4mTNeXly22F5v6lNWd8VGSJvfnuSJEWFw2VYsiJDLcEXj78cl1MAp7T09trnjVbLz7fIlE92SUUPfAv656+Gpshj08dIMLy7BVw9j38dN/QZMmk3oSI6MVqs3F4oT52q1KEz1eOWnXNvk/RBkb6WoD4B7ykmf2EuUgAK6jiP+2IUfsPu854qtPz4j3ZItRfgMVS9PSFHHsrnaIjOB6FMy2jCTbj41vnO/hPyg33FgpaQJLdbDtw3VZJhCUZ2iLMEDbrGYPMVb4ACUIDjPKekRFaEQGfnbensci/4sEA2cVxHn9t423CZPyZH+aAsxxuN3+yLb93vFxbLgl0n1Cf9DeYNG787TSKDgzgMKgbc8yAn5wmK0cjKTF8y4+ZaJDKPw4v751sPyiZ7Jvc/E3MUPCvH75aBp9BUPGWgLGwQysauSVkpM2VHUAy4ExPJYNQHRwFgQtPHTae3U2E+Ortbf+iUPF9Wq4VfGJYqD463zJ5e7hY1vMpiLiqDLQhlo4wkykzZQR4by1RiszGaqbQ1QiED6c7CBp1J5/be03VN7mz0e87PH4wKkzfvmyZBmMGh/C1teaLyJyNTF2aUCz8qkHebMTpgeC6BPxgSH226AtcOOcCqCyhiNhZgpmpc1XFhw9Z3v7j7mDVzwSTnOQx1BK/e/v9D00NAXwIYlY0yUlY8qOyKweoKxERsxEhSzG679bkG5xqbS1qSp+B0hayqaFAtrsPce0h8zC3x9pY4V3flSMQGoqzrxmSp7MRALCDTyI8SKxRGzC5agMl4GHFOrLt7vF7Xf2FhI1jMzMIEY97oIUimQm+Nt9fKr/JiZOT0mLITA7EQE1jQCoiRWEkeKM3Zw1usSXhlf1mNrKvDngPG/KdHZ0k4Vm9wJMim5+fd8rwmbp414xJ5Jv1m3Nk7aQWUmbITA7EQEyjAlmEx78SuPgBAZuE5FwELcSxyTpbjJjIzMlRmZltelY2PFxzn5xtnWT4bMnm+CjJ5N+NuZKHsxECyMREvMebamHWcZP4CXkDeyqZW+Y+q82xieSQ7GQuMIG199q/q6mppa7Pm3s3NzVJTo1pVq6iqqlIG3d3dUl9fL42NjaqUW6EENgWtgLITA7EQE7ExSwW1MZv+/2070X0QOzqC1R53b2Zk6qaDblzs27dPtm7dKjExMTJz5kxZv369REREyKRJk4TK2LRpk9xxxx0o65aioiJV1NKlS7U8lWBaxa7npt0Uw+GzionYUqIj1OohgGLmKDAMD3m2RO7t2MPjamNhbKRuNmDLRbO2b98uCxYskOjoaDl69KgMHTpU7r33XikoKNAwbdo0SUpKEloCy2VlZUldHZR5i8isTbhhQizEpNisIZFS5RE7tZGPwHtPS0eX67OGFjWZ2cmD4CLd/fYCUO+99x6KiUyePFmokI0bNyrY+fPnS2VlpSQkJEhmZqZaQXx8vISFhWn5W3VhNyAGYmE3IDZihDxmepzPLjDeFrCvuuWCbNPdFreMxB4eiaZLE05LS5MVK1aIx+NRX0ALoIkbys3NlQBMQjIyMjTJ3PlgeFyqG5C3L12qjG/+tcQVCxRBbMQYGRJkKh3PlufnKpKrEkte7E5ibR0gqVERViIzoAQSwZNiY2NlyZIlGueFIIKDg518J8MnYpTgk6RRpvsG//zrebakFgsLMBGbYgQkm+8IIrKajApoaVdTmY7lZAz293ypo6NDWzgwEDu6CHzu6urCCOGVkJAQVYJRFBXS2dmp6eTR09OjZdklTIvzfcY5spAfiSMI/ciN6zoWTmIhpu1w7oqxXwEZtAB+2SG56rDxCKkkB3trobZQRuATJ06og2PBAwcOSEVFhbS0tMjx4/yOaVmBKcv0119/3QFLZaxevVqVYixh7969qhi+y1GDge/3YjFDMrz04RovtuEqFmIiNsXYr4DYAQpowr48KQ6FPZhC+lNUVJSUlpZqS40YMULvHPYMGaHLysokKytLyzKPoMaOHSsEbYhlyW/IkCFCXsOHD5fs7GyJjIxU8MaaTPnruRMLMZFsjKYLqALMJ2pXJz9AwD2E4QVTwlTMPr5lyxY5deqUjgJM9xeSyqAZX7hwQe655x6hIkhM4+iQmJioLc1y7DqmtWkhDCSm+/PVjOu4EAsxEZti7LeA6P7mYwW2b/QHzyzOAM3Q1tCAVSKIrWhanYKTaCElJSVy9uxZZ0IUFBSk3YUjB5XCLkKFGiJgA9rcTd6NujuYjP+3GVMBTXa8L5BaQsl2WoIfcQQYOXKktv6XX36puWxJgiOZEYLAZ82apSPF9OnTpbi4WMsYRU2ZMkV27NihcwV90b58U8BNHYoJ2BSj09TSRAVYzYnEKH7kAJ3HvhqWjxo3F5orp7wc69mfd+/erd6bLc65P705u0doaKikpqZqXx41apSmm3UBeXEmyTnFnj17lBfTyNt0B6Mopt8oIhZiItkYjR00EDEVkIPQF6+fs1xypgPf7vECFxOmZXJycpzhig4uPDxchyvGzZSXZp2fz4ml1ZdpIZw1Uml0dCQCpCXFxcXpMy/p6elO3NTnJFxHhCjR6IqFmPhkYTSdXVQB9FSTEfqScSiBHx83d3RJM7bAqQAShaZ3NsRnTntJ9N7+xHyC550t7ksGIMd7Q1SmIZNvnq/rjvrRgoqFmIhNMQKSzbeMXcAayJGYgo1PTJ5179+eMWlJCkUwnFszUJN8JvHeCxMzgc8GhHmPaaa8vmS/5xv3zzd5vnfWaGSwq3eyB+TZqZaEYs3+8D2D2BRjvwKOUwEH7PKu5MhwGYsZE3dTj9c1DmBOMFxhMeCnmmUBpgegtU1Q0M6bVj7TGHzJ9/lS+b5lGScYchggAzNAVMaAPKZpjnVRLMBEbMQIMsIcoA/Yj0CP54kJC+m7a1CE6xA+fG6rPi8P2a3J0iU4B3CwFpsciE9Li5ekCGtaS+H3VjfIee4hgG5LipUoTDp8LUEzruNieDWjjl2oizQIdUxEXSavurVNCs7VKfBxOJCRPSiK2td8YqHgwIYpfgh1Q9zEvB8K1XN4/AxG8k5PsZzT6roWqcAOilEVl5X3F5XKgsIzsuHUOauwrWZ8a5LlJZXySxxieAff8ElUjG8raOI1XMiDvEjkzTpYF+sk6VYl7pSJst1/tBSHFWnYilkxEAvJxmaGtyJit0qK/FVLgF8+zuDoN39Mi3dZG4navwfjeMvKwYmSAjNaVdmARUUbzN7ahh6PT+P/BqtIwS7SlsYL8uHpSmVHEa+mb9t1X3TT1rVTPwJP8mYdP0NdrJP+gDJQFspE2VbirABlpU8iKQZO8THEKzar5ZmlmI0CNjIF5M7EkZZlCZb5vFVcgW+hvdq/mXkvjrxUotJiTJTePl7KJIfmZadIDgQIRcusw64SBSax9Sjo17EGluU7puX/DF5vgSd5s475qMuX3j5epjJRNspIok+i7MQARoqJ2EADMOsDKvocGfgMpIfUvA8MTVMvsqGhVXaXVvMl1WgOtpdWpcUJBhR5Ahrffa5WnRInGsEY6x/Ly5QYeNowVL4O+f9ddFbPA6rjxDuOBydDPzKgFTjy+A7PEr4GHm+BF3mSN+tgXayTZSjDE5X1KhNlo4ym9Sk7MVD7xASLpFlgY0CO2ZiFe4LWMklkDTJIvVOyUuRbOPmBwRwfFUpwas3rWMEPcjNlCswwH2EZPjjU4Dwg/QMFGhQSJM/gmEy6vfL6Aqe9njlYjL24OmlHa1Bgowyrqv4ru4vJZ1m+869493PwIKXj2z95sw7WxTp56JIyUBbKRNlIbH3KTNmJgViICWSttW2sxM4volCGfhhF55diBNi/9P2l6Ixr7nb4Rkj28bQ8mZuXhQ0Vr86ld0LrU/ecwHk/j0yESb4yY4yE4SSYEawDAP4Ih/U+PkhEoI+2w1NlQynTsTk5Av0zkUflsENDECS+14bdmlockTsGwNuxd1cCjx+Kd1vx7rz4KPk+Dl6FAKSpow0z1WXbCmUvJmyHMMbvmDRcpqQlODJ+UnRG7i6A/Gj9T6bnyXfysmhk1DNPmfIDaZ1ixwMdlTkV8ks8PoXQDbCBD324TdY3t1OlUvO96ZKAI6w4f4NH9PMjp+XviislB2Z5H9KfmzoSGw/9SiDfI3VNsgGfqQsBjLX34BKMd+PxTjwWV7pERXobFFuHXaM6HL3pBH8PxKSkY7CTc39GooyK177rgG8H+Kd3HJWP4PyK8c5bOSnyw1FDHNlqkZ74p+3st/JAVKi8890ZbDh4Qj1Y+SuA/4nBzHqoAGMF3B2iFcQgeA+dq3WP+8seKCBAfpwySJ6/izPmfvrN3uPyz3BO2VDQHLTqc5NzJSE8RPs6S9GkewCoCGf9dkIZhdhyq4Z1tKPFqQwzHtEOCDoUFpGEVh6NrzlTAToPTgsf7wbwq7vQIT/BV+vNUGoJAP4njtKumGitM4xkT366W35dibEfi6yD35kkY9MSWBWr4exuwOdxVQBfNBrBfRkeV8EZdQNA4KsFh2VpEZcLLnk7P1vPBRkroMN6EUp4Al9gx8Kkae6rxmbLhBT2Jpo2t6WdKqQJZl2FfluN3dnzcHBm2R0KBXJik4TFWDIOS0fbPsSfx77KOll+qESawbcQXeaF1Fj5J4Cnoo1Mel5oP/o+bG51XoY8Om00FahYkPiPaOlXDFby75eOr/RbQgEepyL04CSW50c4cPBHmBV3VTfPGiN34Myu6YsoI2/iwOQidIcJ8An7YJIvwxs/OCJDT34zn4piFzCTF6ZdiXBISQUjMBKd3bsnymR5eb1MQPfZhz6/Fma/0Dog6ciyBWeU53xeqLvaf4tu+Qcc6MAJNq6DOfPbAfDTDEbyJfkrADJefEgK39TcqTgkBUch3XQ4c8apVzVaJ6PtmDQ9evi0FMIsCZae+XEcZ52DPpwRbW2xsxyJ+RBE4+aCegcKg4wyzEQ3g+9LOIa7H12Hwo6BtbyKz/XTwZdkZNh5plKmbj4ogWgEfPiXChySwmcwY/q8X/KQ1AAFkKExD9wX4/ENVNADp+c5hjl43se7JAaOrhFK2Hr7aJkFSyAMfjqnY2T/XAvv+wT7HzlDkCwI/EPMwWckxMgwnN9LgImHQ0gzAqCUEi3qAvjWorVP4jziNqw71p1vlTNQKCcyrOgF+KFFGI3i4WcIHMditZrP0fKzvzgsMeDbCAdZdPdtkot1gpEdFSyBgtcYbHaVertIAUxFwUselIRTlHGf7pVgVNSJ/vzuhKHy/fHDlJEZIvlwDCvJ9SUV8kpts1QRgCEIPBf9m1vUCeARCudKaoezqgX4YvD8hMfloQxDyVAgZ6YP4FN3Lk5+kHzreu/ASXlw3ynsMQZKJ3gcvGsinR67nR7rRfGvd1CSFUABqhhoDVHnkHQXNB5UhD9BjPzffdq69Ak/HZwgK6aNkji0rGUN/ZOmUpjwTszStuLY+2ewjiKUp1VoQevC6mxClawVrZ0Hh3onWnk2VnVTsDgbbHchzvC40cJi9bCU3xQckV+U4gQbv/rgvaPfmiB5+HMFLFJlRbFrOypLiQAcPsg6b4/4x0hyDktzlbj0s/3yARYncMGSgtb8A05tzxmWoR6ZGOn42C1ING/OGMvgSMsRqjB54SjQYbd0CEANAo9kjALpcF4ZCInYnTLdRM2dPgLsyHfzyTL5EU6pV6LFkSDzYsJl9Z35kgpF+bT8tR+WVqlx8VPCBiQtsPuVu6Onx/27nUXy2LFyqwXgpB7Gnxn+AcPg+PRER3gKbDWspQzD+6vuqFttxIwEVOKB8hr5LYbB1/inDDhZWuDK3HR5ZEoeZokeL2Tz0l+B9/UflzcC+ilhJdKX23k6vOwtq5Zndh+Xj8/DGtBf2SIL0WcfGpoqE6CIRLSmPxHcpQgWd1FyDSxmH4C/c6pC3oRPocXBu8ndg8Ll2ckjZGJGEt9RWeyXb9wfJow0VALinC4i2rcY8dcQ3GhdTjA8sAbXp8dK5edHz8puHqMnDmAMCQmUx2EVU9GPh2FWR2Xg07SeLkeJi4inv/H9Xgj6JGaPO+A/XkJrd3BH1+Y5GSe//mVkptyVO5itzv/e9UAGLujoOR+GjGsgI0sjegP+MmOktJlynnDZP03hULVrG7z/u2itNfXYhQEgh2AdmVDIFMzv06EEzvx81wLcUisH+J2YJZ4lYN/RA+a+OC5SHoRVzcBogEPQNCG2ulnJ7kB8EWT7Zv405YBABIrQhRPTEOe0+VkEa3xCr0Q8AN7aXYxxnGv1rVjLr4Wz7AJA/fefmr/dBUxPYHspIcJugKO5QVDQIji32SmxMhnDWg7mEVjmspWpVQOcc/ub87c5lc++ADgH8Mv+cRJ5FJLCBsBEXbWtba4K/PurHKNHBRZENfgM34wJi+9aIAoTrESMAqlYCKXDm6fi32YJEWEciqgm8mM3ZL0kLmlfRbjuP06S2TUTrcG8jPgl/zqLdJLzd1jE2YX0r7OwlD4GEC8X/XWWGX50w/86a+S/5jsEpGd0FEFGeJ6F8JV/nkaZryIq5Rv987TT+65ZA/aLEJS8OIWmH3AI6cPwwA+G4xG4cM9A4L4Dg7XTYX2hbsAzQxkCv1YdQNgPfidxdwj8qOwb9vf5/wM2UPOXuVjxggAAAABJRU5ErkJggg==';\nexport {OPEN_KLANT_TOKEN_AUTHENTICATION_PLUGIN_LOGO_BASE64};\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {PluginSpecification} from '../../models';\nimport {OpenKlantTokenAuthenticationConfigurationComponent} from './components/open-klant-token-authentication-configuration/open-klant-token-authentication-configuration.component';\nimport {OPEN_KLANT_TOKEN_AUTHENTICATION_PLUGIN_LOGO_BASE64} from './assets/open-klant-token-authentication-plugin-logo';\n\nconst openKlantTokenAuthenticationPluginSpecification: PluginSpecification = {\n pluginId: 'openklanttokenauthentication',\n pluginConfigurationComponent: OpenKlantTokenAuthenticationConfigurationComponent,\n pluginLogoBase64: OPEN_KLANT_TOKEN_AUTHENTICATION_PLUGIN_LOGO_BASE64,\n\n pluginTranslations: {\n nl: {\n title: 'OpenKlant token authenticatie',\n description: 'Auhenticatie met behulp van tokens voor gebruik door OpenKlant.',\n configurationTitle: 'Configuratienaam',\n configurationTitleTooltip:\n 'Onder deze naam zal de plug-in te herkennen zijn in de rest van de applicatie',\n token: 'Token',\n tokenTooltip:\n 'Het token is een sleutel waarmee toestemmingen verleend zijn om specifieke open-klant data te mogen ophalen',\n },\n en: {\n title: 'OpenKlant token authentication',\n description: 'Authentication using tokens for use by OpenKlant.',\n configurationTitle: 'Configuration name',\n configurationTitleTooltip:\n 'With this name the plugin will be recognizable in the rest of the application',\n token: 'Token',\n tokenTooltip: 'The token is a key that grants permissions to access specific open-klant data',\n },\n },\n};\n\nexport {openKlantTokenAuthenticationPluginSpecification};\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {PluginConfigurationComponent} from '../../../../models';\nimport {BehaviorSubject, combineLatest, map, Observable, Subscription, take} from 'rxjs';\nimport {PluginManagementService, PluginTranslationService} from '../../../../services';\nimport {TranslateService} from '@ngx-translate/core';\nimport {ZakenApiConfig} from '../../models';\n\n@Component({\n standalone: false,\n selector: 'valtimo-zaken-api-configuration',\n templateUrl: './zaken-api-configuration.component.html',\n styleUrls: ['./zaken-api-configuration.component.scss'],\n})\nexport class ZakenApiConfigurationComponent\n implements PluginConfigurationComponent, OnInit, OnDestroy\n{\n @Input() public save$: Observable<void>;\n @Input() public disabled$: Observable<boolean>;\n @Input() public pluginId: string;\n @Input() public prefillConfiguration$: Observable<ZakenApiConfig>;\n @Output() public valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() public configuration: EventEmitter<ZakenApiConfig> = new EventEmitter<ZakenApiConfig>();\n\n public readonly authenticationPluginSelectItems$: Observable<Array<{id: string; text: string}>> =\n combineLatest([\n this.pluginManagementService.getPluginConfigurationsByCategory('zaken-api-authentication'),\n this.translateService.stream('key'),\n ]).pipe(\n map(([configurations]) =>\n configurations.map(configuration => ({\n id: configuration.id,\n text: `${configuration.title} - ${this.pluginTranslationService.instant(\n 'title',\n configuration.pluginDefinition.key\n )}`,\n }))\n )\n );\n public readonly noteEventListenerEnabled$ = new BehaviorSubject<boolean>(false);\n\n private _eventListenerEnabledSubscription!: Subscription;\n private readonly formValue$ = new BehaviorSubject<ZakenApiConfig | null>(null);\n private _saveSubscription!: Subscription;\n private readonly valid$ = new BehaviorSubject<boolean>(false);\n\n constructor(\n private readonly pluginManagementService: PluginManagementService,\n private readonly translateService: TranslateService,\n private readonly pluginTranslationService: PluginTranslationService\n ) {}\n\n public ngOnInit(): void {\n this.initNoteEventListenerEnabled()\n this.openEventListenerEnabledSubscription();\n this.openSaveSubscription();\n }\n\n public ngOnDestroy() {\n this._saveSubscription?.unsubscribe();\n this._eventListenerEnabledSubscription?.unsubscribe();\n }\n\n public formValueChange(formValue: ZakenApiConfig): void {\n const formValueIncludingToggle = {\n ...formValue,\n noteEventListenerEnabled: this.noteEventListenerEnabled$.getValue()\n }\n this.formValue$.next(formValueIncludingToggle);\n this.handleValid(formValueIncludingToggle);\n }\n\n public onNoteEventListenerEnabledChange(event: any): void {\n this.noteEventListenerEnabled$.next(event);\n }\n\n private initNoteEventListenerEnabled(): void {\n this.prefillConfiguration$.pipe(take(1)).subscribe(configuration => {\n this.noteEventListenerEnabled$.next(configuration.noteEventListenerEnabled);\n })\n }\n\n private openEventListenerEnabledSubscription(): void {\n this._eventListenerEnabledSubscription = this.noteEventListenerEnabled$.subscribe( value => {\n this.formValueChange(this.formValue$.getValue());\n })\n }\n\n private handleValid(formValue: ZakenApiConfig): void {\n const valid = !!(\n formValue.configurationTitle &&\n formValue.url &&\n formValue.authenticationPluginConfiguration &&\n formValue.noteEventListenerEnabled !== null &&\n (\n formValue.noteEventListenerEnabled === false\n ||\n formValue.noteEventListenerEnabled === true &&\n formValue.noteSubject\n )\n );\n this.valid$.next(valid);\n this.valid.emit(valid);\n }\n\n private openSaveSubscription(): void {\n this._saveSubscription = this.save$.subscribe(() => {\n combineLatest([this.formValue$, this.valid$])\n .pipe(take(1))\n .subscribe(([formValue, valid]) => {\n if (valid) {\n this.configuration.emit(formValue);\n }\n });\n })\n }\n}\n","<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null,\n noteEventListenerEnabled: noteEventListenerEnabled$ | async\n } as obs\"\n>\n <v-input\n name=\"configurationTitle\"\n placeholder=\"Zaken API Plugin\"\n [title]=\"'configurationTitle' | pluginTranslate: pluginId | async\"\n [tooltip]=\"'configurationTitleTooltip' | pluginTranslate: pluginId | async\"\n [defaultValue]=\"obs.prefill?.configurationTitle\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n [margin]=\"true\"\n [trim]=\"true\"\n >\n </v-input>\n\n <v-input\n name=\"url\"\n placeholder=\"https://openzaak.example.com/zaken/api/v1/ \"\n [title]=\"'url' | pluginTranslate: pluginId | async\"\n [tooltip]=\"'urlTooltip' | pluginTranslate: pluginId | async\"\n [defaultValue]=\"obs.prefill?.url\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n [trim]=\"true\"\n [margin]=\"true\"\n >\n </v-input>\n\n <ng-container\n *ngIf=\"{authenticationPluginSelectItems: authenticationPluginSelectItems$ | async} as authObs\"\n >\n <v-select\n name=\"authenticationPluginConfiguration\"\n [title]=\"'authenticationPluginConfiguration' | pluginTranslate: pluginId | async\"\n [tooltip]=\"'authenticationPluginConfigurationTooltip' | pluginTranslate: pluginId | async\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n [margin]=\"true\"\n [items]=\"authObs.authenticationPluginSelectItems\"\n [loading]=\"!authObs.authenticationPluginSelectItems\"\n [defaultSelectionId]=\"obs.prefill?.authenticationPluginConfiguration\"\n ></v-select>\n </ng-container>\n\n <div class=\"input-toggle--small-margin\">\n <v-input-label\n [title]=\"'noteEventListenerEnabled' | pluginTranslate: pluginId | async\"\n [tooltip]=\"'noteEventListenerEnabledTooltip' | pluginTranslate: pluginId | async\"\n >\n </v-input-label>\n\n <cds-toggle\n [checked]=\"obs.noteEventListenerEnabled\"\n [disabled]=\"obs.disabled\"\n [onText]=\"'noteEventListenerEnabled.toggleOn' | pluginTranslate: pluginId | async\"\n [offText]=\"'noteEventListenerEnabled.toggleOff' | pluginTranslate: pluginId | async\"\n (checkedChange)=\"onNoteEventListenerEnabledChange($event)\"\n ></cds-toggle>\n </div>\n\n <v-input\n *ngIf=\"obs.noteEventListenerEnabled\"\n name=\"noteSubject\"\n [title]=\"'noteSubject' | pluginTranslate: pluginId | async\"\n [defaultValue]=\"obs.prefill?.noteSubject\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n [margin]=\"true\"\n [trim]=\"true\"\n >\n </v-input>\n</v-form>\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {FunctionConfigurationComponent} from '../../../../models';\nimport {BehaviorSubject, combineLatest, map, Observable, Subscription, take} from 'rxjs';\nimport {PluginManagementService, PluginTranslationService} from '../../../../services';\nimport {TranslateService} from '@ngx-translate/core';\nimport {LinkDocumentToZaakConfig} from '../../models';\n\n@Component({\n standalone: false,\n selector: 'valtimo-link-document-to-zaak-configuration',\n templateUrl: './link-document-to-zaak-configuration.component.html',\n styleUrls: ['./link-document-to-zaak-configuration.component.scss'],\n})\nexport class LinkDocumentToZaakConfigurationComponent\n implements FunctionConfigurationComponent, OnInit, OnDestroy\n{\n @Input() save$: Observable<void>;\n @Input() disabled$: Observable<boolean>;\n @Input() pluginId: string;\n @Input() prefillConfiguration$: Observable<LinkDocumentToZaakConfig>;\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() configuration: EventEmitter<LinkDocumentToZaakConfig> =\n new EventEmitter<LinkDocumentToZaakConfig>();\n\n private saveSubscription!: Subscription;\n\n private readonly formValue$ = new BehaviorSubject<LinkDocumentToZaakConfig | null>(null);\n private readonly valid$ = new BehaviorSubject<boolean>(false);\n\n readonly authenticationPluginSelectItems$: Observable<Array<{id: string; text: string}>> =\n combineLatest([\n this.pluginManagementService.getPluginConfigurationsByCategory('link-document-to-zaak'),\n this.translateService.stream('key'),\n ]).pipe(\n map(([configurations]) =>\n configurations.map(configuration => ({\n id: configuration.id,\n text: `${configuration.title} - ${this.pluginTranslationService.instant(\n 'title',\n configuration.pluginDefinition.key\n )}`,\n }))\n )\n );\n\n constructor(\n private readonly pluginManagementService: PluginManagementService,\n private readonly translateService: TranslateService,\n private readonly pluginTranslationService: PluginTranslationService\n ) {}\n\n ngOnInit(): void {\n this.openSaveSubscription();\n }\n\n ngOnDestroy() {\n this.saveSubscription?.unsubscribe();\n }\n\n formValueChange(formValue: LinkDocumentToZaakConfig): void {\n this.formValue$.next(formValue);\n this.handleValid(formValue);\n }\n\n private handleValid(formValue: LinkDocumentToZaakConfig): void {\n const valid = !!formValue.documentUrl;\n\n this.valid$.next(valid);\n this.valid.emit(valid);\n }\n\n private openSaveSubscription(): void {\n this.saveSubscription = this.save$?.subscribe(save => {\n combineLatest([this.formValue$, this.valid$])\n .pipe(take(1))\n .subscribe(([formValue, valid]) => {\n if (valid) {\n this.configuration.emit(formValue);\n }\n });\n });\n }\n}\n","<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-paragraph [margin]=\"true\" [italic]=\"true\">\n {{ 'linkDocumentInformation' | pluginTranslate: pluginId | async }}\n</v-paragraph>\n<v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null,\n } as obs\"\n>\n <v-input\n name=\"documentUrl\"\n [title]=\"'documentUrl' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.documentUrl\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n [trim]=\"true\"\n [tooltip]=\"'documentUrlTooltip' | pluginTranslate: pluginId | async\"\n [fullWidth]=\"true\"\n >\n </v-input>\n <v-input\n name=\"titel\"\n [title]=\"'titel' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.titel\"\n [disabled]=\"obs.disabled\"\n [required]=\"false\"\n [trim]=\"true\"\n [tooltip]=\"'titelTooltip' | pluginTranslate: pluginId | async\"\n [widthPx]=\"350\"\n >\n </v-input>\n <v-input\n name=\"beschrijving\"\n [title]=\"'beschrijving' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.beschrijving\"\n [disabled]=\"obs.disabled\"\n [required]=\"false\"\n [tooltip]=\"'beschrijvingTooltip' | pluginTranslate: pluginId | async\"\n [fullWidth]=\"true\"\n >\n </v-input>\n</v-form>\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {FunctionConfigurationComponent} from '../../../../models';\nimport {Observable, Subscription} from 'rxjs';\n\n@Component({\n standalone: false,\n selector: 'valtimo-link-uploaded-document-to-zaak-configuration',\n templateUrl: './link-uploaded-document-to-zaak-configuration.component.html',\n styleUrls: ['./link-uploaded-document-to-zaak-configuration.component.scss'],\n})\nexport class LinkUploadedDocumentToZaakConfigurationComponent\n implements FunctionConfigurationComponent, OnInit, OnDestroy\n{\n @Input() save$: Observable<void>;\n @Input() disabled$: Observable<boolean>;\n @Input() pluginId: string;\n @Input() prefillConfiguration$: Observable<any>;\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() configuration: EventEmitter<any> = new EventEmitter<any>();\n\n private saveSubscription!: Subscription;\n\n ngOnInit(): void {\n this.openSaveSubscription();\n this.emitValid();\n }\n\n ngOnDestroy(): void {\n this.saveSubscription?.unsubscribe();\n }\n\n private emitValid(): void {\n this.valid.emit(true);\n }\n\n private openSaveSubscription(): void {\n this.saveSubscription = this.save$?.subscribe(save => {\n this.configuration.emit({});\n });\n }\n}\n","<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-paragraph [center]=\"true\" [fullWidth]=\"true\">\n {{ 'linkUploadedDocumentToZaakMessage' | pluginTranslate: pluginId | async }}\n</v-paragraph>\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Injectable} from '@angular/core';\nimport {Observable} from 'rxjs';\nimport {HttpClient} from '@angular/common/http';\nimport {ConfigService} from '@valtimo/shared';\nimport {ResultaatType, StatusType} from '../models';\nimport {Eigenschap} from '../models/eigenschap';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ZakenApiService {\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 public getStatusTypesByCaseAndVersion(\n caseDefinitionKey: string,\n versionTag: string\n ): Observable<Array<StatusType>> {\n return this.http.get<Array<StatusType>>(\n `${this.valtimoEndpointUri}v1/case-definition/${caseDefinitionKey}/version/${versionTag}/zaaktype/statustype`\n );\n }\n\n public getResultaatTypesByCaseAndVersion(\n caseDefinitionKey: string,\n versionTag: string\n ): Observable<Array<ResultaatType>> {\n return this.http.get<Array<ResultaatType>>(\n `${this.valtimoEndpointUri}v1/case-definition/${caseDefinitionKey}/version/${versionTag}/zaaktype/resultaattype`\n );\n }\n public getEigenschappenByCaseAndVersion(\n caseDefinitionKey: string,\n versionTag: string\n ): Observable<Array<Eigenschap>> {\n return this.http.get<Array<Eigenschap>>(\n `${this.valtimoEndpointUri}management/v1/case-definition/${caseDefinitionKey}/version/${versionTag}/catalogi-eigenschappen`\n );\n }\n}\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport * from './zaken-api.service';\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {\n CARBON_THEME,\n CdsThemeService,\n CurrentCarbonTheme,\n RadioValue,\n SelectItem,\n} from '@valtimo/components';\nimport {CaseManagementParams, ManagementContext} from '@valtimo/shared';\nimport flatpickr from 'flatpickr';\nimport {\n BehaviorSubject,\n combineLatest,\n filter,\n Observable,\n Subject,\n Subscription,\n switchMap,\n take,\n tap,\n} from 'rxjs';\nimport {map} from 'rxjs/operators';\n\nimport {FunctionConfigurationComponent} from '../../../../models';\nimport {PluginTranslatePipe} from '../../../../pipes';\nimport {InputOption, SetZaakStatusConfig} from '../../models';\nimport {ZakenApiService} from '../../services';\n\n@Component({\n standalone: false,\n selector: 'valtimo-set-zaak-status-configuration',\n templateUrl: './set-zaak-status-configuration.component.html',\n styleUrls: ['./set-zaak-status-configuration.component.scss'],\n providers: [PluginTranslatePipe],\n})\nexport class SetZaakStatusConfigurationComponent\n implements FunctionConfigurationComponent, OnInit, OnDestroy\n{\n @Input() save$: Observable<void>;\n @Input() disabled$: Observable<boolean>;\n @Input() set pluginId(value: string) {\n this.pluginId$.next(value);\n }\n @Input() prefillConfiguration$: Observable<SetZaakStatusConfig>;\n @Input() context$: Observable<[ManagementContext, CaseManagementParams]>;\n\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() configuration: EventEmitter<SetZaakStatusConfig> =\n new EventEmitter<SetZaakStatusConfig>();\n\n readonly clearStatusSelection$ = new Subject<void>();\n readonly loading$ = new BehaviorSubject<boolean>(true);\n readonly selectedInputOption$ = new BehaviorSubject<InputOption>('selection');\n readonly datumStatusGezetSelectedInputOption$ = new BehaviorSubject<string>('now');\n readonly pluginId$ = new BehaviorSubject<string>('');\n readonly formValue$ = new BehaviorSubject<SetZaakStatusConfig | null>(null);\n readonly valid$ = new BehaviorSubject<boolean>(false);\n readonly statusTypeSelectItems$ = new BehaviorSubject<SelectItem[]>([]);\n readonly datePickerInvalid$ = new BehaviorSubject<boolean>(false);\n\n readonly inputTypeOptions$: Observable<Array<RadioValue>> = this.pluginId$.pipe(\n filter(pluginId => !!pluginId),\n switchMap(pluginId =>\n combineLatest([\n this.pluginTranslatePipe.transform('selection', pluginId),\n this.pluginTranslatePipe.transform('text', pluginId),\n ])\n ),\n map(([selectionTranslation, textTranslation]) => [\n {value: 'selection', title: selectionTranslation},\n {value: 'text', title: textTranslation},\n ])\n );\n\n readonly datePickerInputTypeOptions$: Observable<Array<RadioValue>> = this.pluginId$.pipe(\n filter(pluginId => !!pluginId),\n switchMap(pluginId =>\n combineLatest([\n this.pluginTranslatePipe.transform('now', pluginId),\n this.pluginTranslatePipe.transform('selection', pluginId),\n this.pluginTranslatePipe.transform('text', pluginId),\n ])\n ),\n map(([nowTranslation, selectionTranslation, textTranslation]) => [\n {value: 'now', title: nowTranslation},\n {value: 'selection', title: selectionTranslation},\n {value: 'text', title: textTranslation},\n ])\n );\n\n public readonly theme$: Observable<CARBON_THEME> = this.cdsThemeService.currentTheme$.pipe(\n map((theme: CurrentCarbonTheme) =>\n theme === CurrentCarbonTheme.G10 ? CARBON_THEME.WHITE : CARBON_THEME.G100\n )\n );\n\n private readonly _subscriptions = new Subscription();\n\n public selectedDate: string | null = null;\n public selectedTime: string | null = null;\n\n constructor(\n private readonly zakenApiService: ZakenApiService,\n private readonly pluginTranslatePipe: PluginTranslatePipe,\n private readonly cdsThemeService: CdsThemeService\n ) {}\n\n public ngOnInit(): void {\n this.initContextHandling();\n this.initSaveHandling();\n this.prefillToday();\n }\n\n public ngOnDestroy(): void {\n this._subscriptions.unsubscribe();\n }\n\n public formValueChange(formValue: SetZaakStatusConfig): void {\n const currentFormValue = this.formValue$.value ?? ({} as SetZaakStatusConfig);\n const updatedFormValue: SetZaakStatusConfig = {\n ...currentFormValue,\n ...formValue,\n };\n\n this.formValue$.next(updatedFormValue);\n this.handleValid(updatedFormValue);\n if (updatedFormValue.inputTypeZaakStatusToggle) {\n this.selectedInputOption$.next(updatedFormValue.inputTypeZaakStatusToggle);\n }\n if (updatedFormValue.inputDatumStatusGezetToggle) {\n this.datumStatusGezetSelectedInputOption$.next(updatedFormValue.inputDatumStatusGezetToggle);\n }\n if (updatedFormValue.inputDatumStatusGezetToggle === 'now') {\n this.selectedDate = null;\n this.selectedTime = null;\n }\n }\n\n public onDateSelected(event: Date[]): void {\n const date = Array.isArray(event) && event[0];\n if (!date) return;\n this.selectedDate = date.toISOString();\n this.updateDatumStatusGezet();\n }\n\n public onTimeSelected(event: string): void {\n this.selectedTime = event;\n this.updateDatumStatusGezet();\n }\n\n private updateDatumStatusGezet(): void {\n if (!this.selectedDate && !this.selectedTime) {\n return;\n }\n\n let hoursStr;\n let minutesStr;\n let secondsStr;\n try {\n [hoursStr, minutesStr = '00', secondsStr = '00'] = this.selectedTime.split(':');\n } catch (error) {\n [hoursStr, minutesStr = '00', secondsStr = '00'] = ['00', '00'];\n }\n const date = new Date(this.selectedDate);\n\n const year = date.getFullYear();\n const month = String(date.getMonth() + 1).padStart(2, '0');\n const day = String(date.getDate()).padStart(2, '0');\n const hh = hoursStr.padStart(2, '0');\n const mm = minutesStr.padStart(2, '0');\n const ss = secondsStr.padStart(2, '0');\n\n const isoWithoutMs = `${year}-${month}-${day}T${hh}:${mm}:${ss}Z`;\n\n const currentFormValue = this.formValue$.value ?? ({} as SetZaakStatusConfig);\n const updatedFormValue: SetZaakStatusConfig = {\n ...currentFormValue,\n datumStatusGezet: isoWithoutMs,\n };\n\n this.formValueChange(updatedFormValue);\n }\n\n private prefillToday(): void {\n this._subscriptions.add(\n this.prefillConfiguration$.subscribe(config => {\n let baseDate;\n\n if (config?.datumStatusGezet !== null) {\n try {\n baseDate = flatpickr.formatDate(\n !!config?.datumStatusGezet ? new Date(config!.datumStatusGezet) : new Date(),\n 'Z'\n );\n this.datumStatusGezetSelectedInputOption$.next('selection');\n } catch (error) {\n baseDate = config.datumStatusGezet;\n this.datumStatusGezetSelectedInputOption$.next('text');\n }\n } else {\n baseDate = null;\n this.datumStatusGezetSelectedInputOption$.next('now');\n }\n\n this.selectedDate = baseDate;\n this.selectedTime = this.formatTime(baseDate);\n })\n );\n\n this.updateDatumStatusGezet();\n }\n\n private formatTime(date: string): string {\n const [hours, minutes, seconds] = date.split('T')[1].split(':');\n return `${hours}:${minutes}:${seconds.split('.')[0]}`;\n }\n\n public oneSelectItem(selectItems: Array<SelectItem>): boolean {\n return Array.isArray(selectItems) && selectItems.length === 1;\n }\n\n private initContextHandling(): void {\n if (!this.context$) {\n return;\n }\n\n const contextSub = this.context$\n .pipe(\n filter(([context]) => {\n if (context === 'independent') {\n this.selectedInputOption$.next('text');\n this.loading$.next(false);\n }\n return context === 'case';\n }),\n switchMap(([_, params]) =>\n combineLatest([\n this.zakenApiService.getStatusTypesByCaseAndVersion(\n params.caseDefinitionKey,\n params.caseDefinitionVersionTag\n ),\n this.context$,\n ])\n ),\n tap(([statusTypeItems, params]) => {\n this.statusTypeSelectItems$.next(\n statusTypeItems.map(item => ({id: item.url, text: item.name}))\n );\n this.selectedInputOption$.next('selection');\n this.loading$.next(false);\n })\n )\n .subscribe();\n\n this._subscriptions.add(contextSub);\n }\n\n private initSaveHandling(): void {\n if (!this.save$) {\n return;\n }\n\n const saveSub = this.save$.subscribe(() => {\n combineLatest([this.formValue$, this.valid$])\n .pipe(take(1))\n .subscribe(([formValue, valid]) => {\n if (valid) {\n if (formValue.inputDatumStatusGezetToggle == 'now') {\n formValue.datumStatusGezet = null;\n }\n this.configuration.emit({\n statustoelichting: formValue.statustoelichting,\n statustypeUrl: formValue.statustypeUrl,\n datumStatusGezet: formValue.datumStatusGezet,\n });\n }\n });\n });\n\n this._subscriptions.add(saveSub);\n }\n\n private isValidDatumStatusGezet(value: string | null | undefined): boolean {\n if (['text', 'now'].includes(this.datumStatusGezetSelectedInputOption$.getValue())) {\n return true;\n }\n\n if (!value) {\n return false;\n }\n\n const trimmed = value.trim();\n\n // Required format: YYYY-MM-DDTHH:mm:ssZ\n const regex = /^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}Z$/;\n\n if (!regex.test(trimmed)) {\n return false;\n }\n\n const date = new Date(trimmed);\n return !isNaN(date.getTime());\n }\n\n private isDateNotInFuture(value: string | null | undefined): boolean {\n if (['text', 'now'].includes(this.datumStatusGezetSelectedInputOption$.getValue())) {\n return true;\n }\n\n if (!value) {\n return false;\n }\n\n const date = new Date(value);\n const now = new Date();\n const isDateNotInFuture = date.getTime() <= now.getTime();\n\n this.datePickerInvalid$.next(!isDateNotInFuture);\n\n return isDateNotInFuture;\n }\n\n private hasEnteredDateText(value: string | null | undefined): boolean {\n if (this.datumStatusGezetSelectedInputOption$.getValue() !== 'text') {\n return true;\n }\n\n return !value === false;\n }\n\n private handleValid(formValue: SetZaakStatusConfig): void {\n const hasStatusType = !!formValue.statustypeUrl;\n const hasValidDatumStatusGezet = this.isValidDatumStatusGezet(formValue.datumStatusGezet);\n const dateIsNotInFuture = this.isDateNotInFuture(formValue.datumStatusGezet);\n const hasEnteredDateText = this.hasEnteredDateText(formValue.datumStatusGezet);\n\n const valid =\n hasStatusType && hasValidDatumStatusGezet && dateIsNotInFuture && hasEnteredDateText;\n\n this.valid$.next(valid);\n this.valid.emit(valid);\n }\n}\n","<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null,\n pluginId: pluginId$ | async,\n selectedInputOption: selectedInputOption$ | async,\n datumStatusGezetSelectedInputOption: datumStatusGezetSelectedInputOption$ | async,\n loading: loading$ | async,\n statusTypeItems: statusTypeSelectItems$ | async,\n context: context$ | async,\n datePickerInvalid: datePickerInvalid$ | async\n } as obs\"\n>\n <ng-container *ngIf=\"obs.loading === false; else loading\">\n <v-input\n name=\"statustoelichting\"\n [title]=\"'statustoelichting' | pluginTranslate: obs.pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.statustoelichting\"\n [disabled]=\"obs.disabled\"\n [required]=\"false\"\n [tooltip]=\"'statustoelichtingTooltip' | pluginTranslate: obs.pluginId | async\"\n [fullWidth]=\"true\"\n [placeholder]=\"'statustoelichting' | pluginTranslate: obs.pluginId | async\"\n >\n </v-input>\n\n <cds-date-picker\n [attr.data-carbon-theme]=\"theme$ | async\"\n [label]=\"'logging.search.afterTimestamp' | translate\"\n placeholder=\"DD-MM-YYYY\"\n [dateFormat]=\"'d-m-Y'\"\n [value]=\"[selectedDate]\"\n (valueChange)=\"onDateSelected($event)\"\n ></cds-date-picker>\n\n <cds-timepicker\n [attr.data-carbon-theme]=\"theme$ | async\"\n [value]=\"selectedTime\"\n (valueChange)=\"onTimeSelected($event)\"\n ></cds-timepicker>\n\n <v-radio\n name=\"inputDatumStatusGezetToggle\"\n [disabled]=\"obs.disabled\"\n [title]=\"'inputDatumStatusGezetToggle' | pluginTranslate: obs.pluginId | async\"\n [radioValues]=\"datePickerInputTypeOptions$ | async\"\n [defaultValue]=\"obs.datumStatusGezetSelectedInputOption\"\n [margin]=\"true\"\n ></v-radio>\n\n <div class=\"date-time-row\" *ngIf=\"obs.datumStatusGezetSelectedInputOption === 'selection'\">\n <cds-date-picker\n [attr.data-carbon-theme]=\"theme$ | async\"\n [label]=\"'logging.search.afterTimestamp' | translate\"\n placeholder=\"DD-MM-YYYY\"\n [dateFormat]=\"'d-m-Y'\"\n [value]=\"[selectedDate]\"\n [invalid]=\"obs.datePickerInvalid\"\n [invalidText]=\"'datumStatusGezetInvalidText' | pluginTranslate: obs.pluginId | async\"\n (valueChange)=\"onDateSelected($event)\"\n ></cds-date-picker>\n\n <cds-timepicker\n class=\"timepicker\"\n [attr.data-carbon-theme]=\"theme$ | async\"\n [value]=\"selectedTime\"\n [invalid]=\"obs.datePickerInvalid\"\n (valueChange)=\"onTimeSelected($event)\"\n ></cds-timepicker>\n </div>\n\n <v-input\n *ngIf=\"obs.datumStatusGezetSelectedInputOption === 'text'\"\n name=\"datumStatusGezet\"\n [title]=\"'datumStatusGezet' | pluginTranslate: obs.pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.datumStatusGezet\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n [trim]=\"true\"\n [tooltip]=\"'datumStatusGezetTooltip' | pluginTranslate: obs.pluginId | async\"\n [fullWidth]=\"true\"\n ></v-input>\n\n <v-radio\n *ngIf=\"obs?.context?.[0] === 'case'\"\n name=\"inputTypeZaakStatusToggle\"\n [disabled]=\"obs.disabled\"\n [title]=\"'inputTypeZaakStatusToggle' | pluginTranslate: obs.pluginId | async\"\n [radioValues]=\"inputTypeOptions$ | async\"\n [defaultValue]=\"selectedInputOption$ | async\"\n [margin]=\"true\"\n >\n </v-radio>\n\n <v-input\n *ngIf=\"obs.selectedInputOption === 'text'\"\n name=\"statustypeUrl\"\n [title]=\"'statustypeUrl' | pluginTranslate: obs.pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.statustypeUrl\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n [trim]=\"true\"\n [tooltip]=\"'statustypeUrlTooltip' | pluginTranslate: obs.pluginId | async\"\n [fullWidth]=\"true\"\n >\n </v-input>\n\n <ng-container *ngIf=\"obs.selectedInputOption === 'selection'\">\n <v-select\n [items]=\"obs.statusTypeItems\"\n [margin]=\"true\"\n [widthInPx]=\"350\"\n name=\"statustypeUrl\"\n [title]=\"'statustypeUrlSelect' | pluginTranslate: obs.pluginId | async\"\n [disabled]=\"obs.disabled || obs.selectedInputOption === 'text' || !obs.statusTypeItems\"\n [defaultSelectionId]=\"obs.prefill?.statustypeUrl\"\n [required]=\"true\"\n [loading]=\"!obs.statusTypeItems\"\n [tooltip]=\"'statustypeUrlSelectTooltip' | pluginTranslate: obs.pluginId | async\"\n [clearSelectionSubject$]=\"clearStatusSelection$\"\n ></v-select>\n </ng-container>\n </ng-container>\n</v-form>\n\n<ng-template #loading>\n <div class=\"loading-container\">\n <cds-loading></cds-loading>\n </div>\n</ng-template>\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {FunctionConfigurationComponent} from '../../../../models';\nimport {\n BehaviorSubject,\n combineLatest,\n filter,\n Observable,\n Subject,\n Subscription,\n switchMap,\n take,\n tap,\n} from 'rxjs';\nimport {CreateZaakResultaatConfig, InputOption} from '../../models';\nimport {RadioValue, SelectItem} from '@valtimo/components';\nimport {map} from 'rxjs/operators';\nimport {ZakenApiService} from '../../services';\nimport {PluginTranslatePipe} from '../../../../pipes';\nimport {CaseManagementParams, ManagementContext} from '@valtimo/shared';\n\n@Component({\n standalone: false,\n selector: 'valtimo-create-zaak-resultaat-configuration',\n templateUrl: './create-zaak-resultaat-configuration.component.html',\n styleUrls: ['./create-zaak-resultaat-configuration.component.scss'],\n providers: [PluginTranslatePipe],\n})\nexport class CreateZaakResultaatConfigurationComponent\n implements FunctionConfigurationComponent, OnInit, OnDestroy\n{\n @Input() public save$: Observable<void>;\n @Input() public disabled$: Observable<boolean>;\n @Input() public set pluginId(value: string) {\n this.pluginId$.next(value);\n }\n @Input() public prefillConfiguration$: Observable<CreateZaakResultaatConfig>;\n @Input() public context$: Observable<[ManagementContext, CaseManagementParams]>;\n\n @Output() public valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() public configuration: EventEmitter<CreateZaakResultaatConfig> =\n new EventEmitter<CreateZaakResultaatConfig>();\n\n public readonly clearStatusSelection$ = new Subject<void>();\n\n public readonly loading$ = new BehaviorSubject<boolean>(true);\n\n public readonly resultaatTypeSelectItems$ = new BehaviorSubject<SelectItem[]>([]);\n\n public readonly selectedInputOption$ = new BehaviorSubject<InputOption>('selection');\n\n public readonly pluginId$ = new BehaviorSubject<string>('');\n\n public readonly inputTypeOptions$: Observable<Array<RadioValue>> = this.pluginId$.pipe(\n filter(pluginId => !!pluginId),\n switchMap(pluginId =>\n combineLatest([\n this.pluginTranslatePipe.transform('selection', pluginId),\n this.pluginTranslatePipe.transform('text', pluginId),\n ])\n ),\n map(([selectionTranslation, textTranslation]) => [\n {value: 'selection', title: selectionTranslation},\n {value: 'text', title: textTranslation},\n ])\n );\n\n private readonly formValue$ = new BehaviorSubject<CreateZaakResultaatConfig | null>(null);\n private readonly valid$ = new BehaviorSubject<boolean>(false);\n\n private readonly _subscriptions = new Subscription();\n\n constructor(\n private readonly zakenApiService: ZakenApiService,\n private readonly pluginTranslatePipe: PluginTranslatePipe\n ) {}\n\n public ngOnInit(): void {\n this.initContextHandling();\n this.openSaveSubscription();\n }\n\n public ngOnDestroy() {\n this._subscriptions.unsubscribe();\n }\n\n public formValueChange(formValue: CreateZaakResultaatConfig): void {\n this.formValue$.next(formValue);\n this.handleValid(formValue);\n\n if (formValue.inputTypeZaakResultaatToggle) {\n this.selectedInputOption$.next(formValue.inputTypeZaakResultaatToggle);\n }\n }\n\n public oneSelectItem(selectItems: Array<SelectItem>): boolean {\n if (Array.isArray(selectItems)) {\n return selectItems.length === 1;\n }\n\n return false;\n }\n\n private handleValid(formValue: CreateZaakResultaatConfig): void {\n const valid = !!formValue.resultaattypeUrl;\n\n this.valid$.next(valid);\n this.valid.emit(valid);\n }\n\n private initContextHandling(): void {\n if (!this.context$) return;\n\n const contextSub = this.context$\n .pipe(\n filter(([context]) => {\n if (context === 'independent') {\n this.selectedInputOption$.next('text');\n this.loading$.next(false);\n }\n return context === 'case';\n }),\n switchMap(([_, params]) =>\n combineLatest([\n this.zakenApiService.getResultaatTypesByCaseAndVersion(\n params.caseDefinitionKey,\n params.caseDefinitionVersionTag\n ),\n this.prefillConfiguration$.pipe(take(1)),\n ])\n ),\n tap(([resultaatTypes, prefill]) => {\n const selectItems = resultaatTypes.map(rt => ({id: rt.url, text: rt.name}));\n this.resultaatTypeSelectItems$.next(selectItems);\n\n const matched = selectItems.find(item => item.id === prefill?.resultaattypeUrl);\n this.selectedInputOption$.next(matched ? 'selection' : 'text');\n\n this.loading$.next(false);\n })\n )\n .subscribe();\n\n this._subscriptions.add(contextSub);\n }\n\n private openSaveSubscription(): void {\n this._subscriptions.add(\n this.save$?.subscribe(save => {\n combineLatest([this.formValue$, this.valid$])\n .pipe(take(1))\n .subscribe(([formValue, valid]) => {\n if (valid) {\n this.configuration.emit({\n toelichting: formValue.toelichting,\n resultaattypeUrl: formValue.resultaattypeUrl,\n });\n }\n });\n })\n );\n }\n}\n","<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null,\n pluginId: pluginId$ | async,\n selectedInputOption: selectedInputOption$ | async,\n loading: loading$ | async,\n resultaatTypeItems: resultaatTypeSelectItems$ | async,\n context: context$ | async,\n } as obs\"\n>\n <ng-container *ngIf=\"obs.loading === false; else loading\">\n <v-input\n name=\"toelichting\"\n [title]=\"'resultaattoelichting' | pluginTranslate: obs.pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.toelichting\"\n [disabled]=\"obs.disabled\"\n [required]=\"false\"\n [tooltip]=\"'resultaattoelichtingTooltip' | pluginTranslate: obs.pluginId | async\"\n [fullWidth]=\"true\"\n >\n </v-input>\n\n <v-radio\n *ngIf=\"obs?.context?.[0] === 'case'\"\n name=\"inputTypeZaakResultaatToggle\"\n [disabled]=\"obs.disabled\"\n [title]=\"'inputTypeZaakResultaatToggle' | pluginTranslate: obs.pluginId | async\"\n [radioValues]=\"inputTypeOptions$ | async\"\n [defaultValue]=\"selectedInputOption$ | async\"\n [margin]=\"true\"\n >\n </v-radio>\n\n <v-input\n *ngIf=\"obs.selectedInputOption === 'text'\"\n name=\"resultaattypeUrl\"\n [title]=\"'resultaattypeUrl' | pluginTranslate: obs.pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.resultaattypeUrl\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n [trim]=\"true\"\n [tooltip]=\"'resultaattypeUrlTooltip' | pluginTranslate: obs.pluginId | async\"\n [fullWidth]=\"true\"\n >\n </v-input>\n\n <ng-container *ngIf=\"obs.selectedInputOption === 'selection'\">\n <v-select\n [items]=\"obs.resultaatTypeItem\"\n [margin]=\"true\"\n [widthInPx]=\"350\"\n name=\"resultaattypeUrl\"\n [title]=\"'resultaattypeUrlSelect' | pluginTranslate: obs.pluginId | async\"\n [disabled]=\"obs.disabled || obs.selectedInputOption === 'text' || !obs.resultaatTypeItems\"\n [defaultSelectionId]=\"obs.prefill?.resultaattypeUrl\"\n [required]=\"true\"\n [loading]=\"!obs.resultaatTypeItems\"\n [tooltip]=\"'resultaattypeUrlSelectTooltip' | pluginTranslate: obs.pluginId | async\"\n [clearSelectionSubject$]=\"clearStatusSelection$\"\n ></v-select>\n </ng-container>\n </ng-container>\n</v-form>\n\n<ng-template #loading>\n <div class=\"loading-container\">\n <cds-loading></cds-loading>\n </div>\n</ng-template>\n","import {RadioValue} from '@valtimo/components';\n\nexport const INDICATIE_MACHTIGING_VALUES: Array<RadioValue> = [\n {\n value: '',\n title: 'N.v.t',\n titleTranslationKey: 'nvt',\n },\n {\n value: 'gemachtigde',\n title: 'Gemachtigde',\n titleTranslationKey: 'gemachtigde',\n },\n {\n value: 'machtiginggever',\n title: 'Machtiginggever',\n titleTranslationKey: 'machtiginggever',\n },\n];\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {FunctionConfigurationComponent} from '../../../../models';\nimport {BehaviorSubject, combineLatest, Observable, Subscription, take} from 'rxjs';\nimport {CreateMedewerkerZaakRolConfig} from '../../models';\nimport {INDICATIE_MACHTIGING_VALUES} from '../../models/indicatie-machtiging-values';\n\n@Component({\n standalone: false,\n selector: 'valtimo-create-medewerker-zaak-rol-configuration',\n templateUrl: './create-medewerker-zaak-rol.component.html',\n})\nexport class CreateMedewerkerZaakRolComponent\n implements FunctionConfigurationComponent, OnInit, OnDestroy\n{\n @Input() save$: Observable<void>;\n @Input() disabled$: Observable<boolean>;\n @Input() pluginId: string;\n @Input() prefillConfiguration$: Observable<CreateMedewerkerZaakRolConfig>;\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() configuration: EventEmitter<CreateMedewerkerZaakRolConfig> =\n new EventEmitter<CreateMedewerkerZaakRolConfig>();\n\n public readonly INDICATIE_MACHTIGING_VALUES = INDICATIE_MACHTIGING_VALUES;\n\n private _saveSubscription!: Subscription;\n private readonly _formValue$ = new BehaviorSubject<CreateMedewerkerZaakRolConfig | null>(null);\n private readonly _valid$ = new BehaviorSubject<boolean>(false);\n\n public ngOnInit(): void {\n this.openSaveSubscription();\n }\n\n public ngOnDestroy(): void {\n this._saveSubscription?.unsubscribe();\n }\n\n public formValueChange(formValue: CreateMedewerkerZaakRolConfig): void {\n this._formValue$.next(formValue);\n this.handleValid(formValue);\n }\n\n private handleValid(formValue: CreateMedewerkerZaakRolConfig): void {\n const valid = !!(\n formValue.rolToelichting &&\n formValue.roltypeUrl &&\n formValue.identificatie &&\n formValue.voorletters &&\n formValue.achternaam\n );\n this._valid$.next(valid);\n this.valid.emit(valid);\n }\n\n private openSaveSubscription(): void {\n this._saveSubscription = this.save$?.subscribe(save => {\n combineLatest([this._formValue$, this._valid$])\n .pipe(take(1))\n .subscribe(([formValue, valid]) => {\n if (valid) {\n this.configuration.emit(formValue);\n }\n });\n });\n }\n}\n","<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null,\n } as obs\"\n>\n <v-input\n name=\"roltypeUrl\"\n [title]=\"'roltypeUrl' | pluginTranslate: pluginId | async\"\n [tooltip]=\"'roltypeUrlTooltip' | pluginTranslate: pluginId | async\"\n [defaultValue]=\"obs.prefill?.roltypeUrl\"\n [required]=\"true\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [trim]=\"true\"\n [fullWidth]=\"true\"\n >\n </v-input>\n\n <v-input\n name=\"rolToelichting\"\n [title]=\"'rolToelichting' | pluginTranslate: pluginId | async\"\n [tooltip]=\"'rolToelichtingTooltip' | pluginTranslate: pluginId | async\"\n [defaultValue]=\"obs.prefill?.rolToelichting\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n [margin]=\"true\"\n [trim]=\"true\"\n [fullWidth]=\"true\"\n >\n </v-input>\n\n <v-input\n name=\"identificatie\"\n [title]=\"'identificatie' | pluginTranslate: pluginId | async\"\n [tooltip]=\"'identificatieMedewerkerTooltip' | pluginTranslate: pluginId | async\"\n [defaultValue]=\"obs.prefill?.identificatie\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n [margin]=\"true\"\n [trim]=\"true\"\n [fullWidth]=\"true\"\n >\n </v-input>\n\n <v-input\n name=\"achternaam\"\n [title]=\"'achternaam' | pluginTranslate: pluginId | async\"\n [tooltip]=\"'achternaamTooltip' | pluginTranslate: pluginId | async\"\n [defaultValue]=\"obs.prefill?.achternaam\"\n [required]=\"true\"\n [disabled]=\"obs.disabled\"\n [margin]=\"true\"\n [trim]=\"true\"\n [fullWidth]=\"true\"\n >\n </v-input>\n\n <v-input\n name=\"voorletters\"\n [title]=\"'voorletters' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.voorletters\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n [trim]=\"true\"\n [tooltip]=\"'voorlettersTooltip' | pluginTranslate: pluginId | async\"\n [fullWidth]=\"true\"\n >\n </v-input>\n\n <v-input\n name=\"voorvoegselAchternaam\"\n [title]=\"'voorvoegselAchternaam' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.voorvoegselAchternaam\"\n [disabled]=\"obs.disabled\"\n [required]=\"false\"\n [trim]=\"true\"\n [tooltip]=\"'voorvoegselAchternaamTooltip' | pluginTranslate: pluginId | async\"\n [fullWidth]=\"true\"\n >\n </v-input>\n\n <v-input\n name=\"afwijkendeNaamBetrokkene\"\n [title]=\"'afwijkendeNaamBetrokkene' | pluginTranslate: pluginId | async\"\n [tooltip]=\"'afwijkendeNaamBetrokkeneTooltip' | pluginTranslate: pluginId | async\"\n [defaultValue]=\"obs.prefill?.afwijkendeNaamBetrokkene\"\n [disabled]=\"obs.disabled\"\n [required]=\"false\"\n [margin]=\"true\"\n [trim]=\"true\"\n [fullWidth]=\"true\"\n >\n </v-input>\n\n <v-radio\n name=\"indicatieMachtiging\"\n [title]=\"'indicatieMachtiging' | pluginTranslate: pluginId | async\"\n [tooltip]=\"'indicatieMachtigingTooltip' | pluginTranslate: pluginId | async\"\n [defaultValue]=\"obs.prefill?.indicatieMachtiging\"\n [disabled]=\"obs.disabled\"\n [required]=\"false\"\n [margin]=\"true\"\n [fullWidth]=\"true\"\n [radioValues]=\"INDICATIE_MACHTIGING_VALUES\"\n >\n </v-radio>\n\n <v-input\n name=\"resultProcessVariable\"\n [title]=\"'resultProcessVariable' | pluginTranslate: pluginId | async\"\n [tooltip]=\"'resultProcessVariable' | pluginTranslate: pluginId | async\"\n [defaultValue]=\"obs.prefill?.resultProcessVariable\"\n [disabled]=\"obs.disabled\"\n [required]=\"false\"\n [margin]=\"true\"\n [trim]=\"true\"\n [fullWidth]=\"true\"\n >\n </v-input>\n</v-form>\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {FunctionConfigurationComponent} from '../../../../models';\nimport {BehaviorSubject, combineLatest, Observable, Subscription, take} from 'rxjs';\nimport {CreateNatuurlijkePersoonZaakRolConfig} from '../../models';\n\n@Component({\n standalone: false,\n selector: 'valtimo-create-natuurlijk-persoon-zaak-rol-configuration',\n templateUrl: './create-natuurlijk-persoon-zaak-rol.component.html',\n})\nexport class CreateNatuurlijkPersoonZaakRolComponent\n implements FunctionConfigurationComponent, OnInit, OnDestroy\n{\n @Input() save$: Observable<void>;\n @Input() disabled$: Observable<boolean>;\n @Input() pluginId: string;\n @Input() prefillConfiguration$: Observable<CreateNatuurlijkePersoonZaakRolConfig>;\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() configuration: EventEmitter<CreateNatuurlijkePersoonZaakRolConfig> =\n new EventEmitter<CreateNatuurlijkePersoonZaakRolConfig>();\n\n private _saveSubscription!: Subscription;\n\n private readonly _formValue$ = new BehaviorSubject<CreateNatuurlijkePersoonZaakRolConfig | null>(\n null\n );\n private readonly _valid$ = new BehaviorSubject<boolean>(false);\n\n public ngOnInit(): void {\n this.openSaveSubscription();\n }\n\n public ngOnDestroy(): void {\n this._saveSubscription?.unsubscribe();\n }\n\n public formValueChange(formValue: CreateNatuurlijkePersoonZaakRolConfig): void {\n this._formValue$.next(formValue);\n this.handleValid(formValue);\n }\n\n private handleValid(formValue: CreateNatuurlijkePersoonZaakRolConfig): void {\n const valid = !!(formValue.rolToelichting && formValue.roltypeUrl);\n\n this._valid$.next(valid);\n this.valid.emit(valid);\n }\n\n private openSaveSubscription(): void {\n this._saveSubscription = this.save$?.subscribe(save => {\n combineLatest([this._formValue$, this._valid$])\n .pipe(take(1))\n .subscribe(([formValue, valid]) => {\n if (valid) {\n this.configuration.emit(formValue);\n }\n });\n });\n }\n}\n","<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null,\n } as obs\"\n>\n <v-input\n name=\"roltypeUrl\"\n [title]=\"'roltypeUrl' | pluginTranslate: pluginId | async\"\n [tooltip]=\"'roltypeUrlTooltip' | pluginTranslate: pluginId | async\"\n [defaultValue]=\"obs.prefill?.roltypeUrl\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n [margin]=\"true\"\n [trim]=\"true\"\n [fullWidth]=\"true\"\n >\n </v-input>\n\n <v-input\n name=\"rolToelichting\"\n [title]=\"'rolToelichting' | pluginTranslate: pluginId | async\"\n [tooltip]=\"'rolToelichtingTooltip' | pluginTranslate: pluginId | async\"\n [defaultValue]=\"obs.prefill?.rolToelichting\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n [margin]=\"true\"\n [fullWidth]=\"true\"\n >\n </v-input>\n\n <v-input\n name=\"inpBsn\"\n [title]=\"'inpBsn' | pluginTranslate: pluginId | async\"\n [tooltip]=\"'inpBsnTooltip' | pluginTranslate: pluginId | async\"\n [defaultValue]=\"obs.prefill?.inpBsn\"\n [disabled]=\"obs.disabled\"\n [required]=\"false\"\n [margin]=\"true\"\n [trim]=\"true\"\n [fullWidth]=\"true\"\n >\n </v-input>\n\n <v-input\n name=\"anpIdentificatie\"\n [title]=\"'anpIdentificatie' | pluginTranslate: pluginId | async\"\n [tooltip]=\"'anpIdentificatieTooltip' | pluginTranslate: pluginId | async\"\n [defaultValue]=\"obs.prefill?.anpIdentificatie\"\n [disabled]=\"obs.disabled\"\n [required]=\"false\"\n [margin]=\"true\"\n [trim]=\"true\"\n [fullWidth]=\"true\"\n >\n </v-input>\n\n <v-input\n name=\"inpA_nummer\"\n [title]=\"'inpA_nummer' | pluginTranslate: pluginId | async\"\n [tooltip]=\"'inpA_nummerTooltip' | pluginTranslate: pluginId | async\"\n [defaultValue]=\"obs.prefill?.inpA_nummer\"\n [disabled]=\"obs.disabled\"\n [required]=\"false\"\n [margin]=\"true\"\n [trim]=\"true\"\n [fullWidth]=\"true\"\n >\n </v-input>\n\n <v-input\n name=\"resultProcessVariable\"\n [title]=\"'resultProcessVariable' | pluginTranslate: pluginId | async\"\n [tooltip]=\"'resultProcessVariable' | pluginTranslate: pluginId | async\"\n [defaultValue]=\"obs.prefill?.resultProcessVariable\"\n [disabled]=\"obs.disabled\"\n [required]=\"false\"\n [margin]=\"true\"\n [trim]=\"true\"\n [fullWidth]=\"true\"\n >\n </v-input>\n</v-form>\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {FunctionConfigurationComponent} from '../../../../models';\nimport {BehaviorSubject, combineLatest, Observable, Subscription, take} from 'rxjs';\nimport {CreateNietNatuurlijkePersoonZaakRolConfig} from '../../models';\n\n@Component({\n standalone: false,\n selector: 'valtimo-create-niet-natuurlijk-persoon-zaak-rol-configuration',\n templateUrl: './create-niet-natuurlijk-persoon-zaak-rol.component.html',\n styleUrls: ['./create-niet-natuurlijk-persoon-zaak-rol.component.scss']\n})\nexport class CreateNietNatuurlijkPersoonZaakRolComponent\n implements FunctionConfigurationComponent, OnInit, OnDestroy\n{\n @Input() save$: Observable<void>;\n @Input() disabled$: Observable<boolean>;\n @Input() pluginId: string;\n @Input() prefillConfiguration$: Observable<CreateNietNatuurlijkePersoonZaakRolConfig>;\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() configuration: EventEmitter<CreateNietNatuurlijkePersoonZaakRolConfig> =\n new EventEmitter<CreateNietNatuurlijkePersoonZaakRolConfig>();\n\n private _saveSubscription!: Subscription;\n\n private readonly _formValue$ =\n new BehaviorSubject<CreateNietNatuurlijkePersoonZaakRolConfig | null>(null);\n private readonly _valid$ = new BehaviorSubject<boolean>(false);\n\n public ngOnInit(): void {\n this.openSaveSubscription();\n }\n\n public ngOnDestroy(): void {\n this._saveSubscription?.unsubscribe();\n }\n\n public formValueChange(formValue: CreateNietNatuurlijkePersoonZaakRolConfig): void {\n this._formValue$.next(formValue);\n this.handleValid(formValue);\n }\n\n private handleValid(formValue: CreateNietNatuurlijkePersoonZaakRolConfig): void {\n const valid = !!(\n formValue.rolToelichting &&\n formValue.roltypeUrl && (\n formValue.innNnpId ||\n formValue.annIdentificatie ||\n formValue.kvkNummer ||\n formValue.vestigingsNummer\n )\n );\n\n this._valid$.next(valid);\n this.valid.emit(valid);\n }\n\n private openSaveSubscription(): void {\n this._saveSubscription = this.save$?.subscribe(save => {\n combineLatest([this._formValue$, this._valid$])\n .pipe(take(1))\n .subscribe(([formValue, valid]) => {\n if (valid) {\n this.configuration.emit(formValue);\n }\n });\n });\n }\n}\n","<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<ng-container\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null,\n } as obs\"\n>\n <div class=\"notification--margin\">\n <cds-inline-notification\n [notificationObj]=\"{\n type: 'info',\n message: 'createZaakrolNietNatuurlijkPersoonIdentifierFieldsInformation' | pluginTranslate: pluginId | async,\n showClose: false,\n lowContrast: true\n }\"\n >\n </cds-inline-notification>\n </div>\n\n <v-form (valueChange)=\"formValueChange($event)\">\n <v-input\n name=\"roltypeUrl\"\n [title]=\"'roltypeUrl' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.roltypeUrl\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n [trim]=\"true\"\n [tooltip]=\"'roltypeUrlTooltip' | pluginTranslate: pluginId | async\"\n [fullWidth]=\"true\"\n >\n </v-input>\n\n <v-input\n name=\"rolToelichting\"\n [title]=\"'rolToelichting' | pluginTranslate: pluginId | async\"\n [tooltip]=\"'rolToelichtingTooltip' | pluginTranslate: pluginId | async\"\n [defaultValue]=\"obs.prefill?.rolToelichting\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n [margin]=\"true\"\n [fullWidth]=\"true\"\n >\n </v-input>\n\n <v-input\n name=\"innNnpId\"\n [title]=\"'innNnpId' | pluginTranslate: pluginId | async\"\n [tooltip]=\"'innNnpIdTooltip' | pluginTranslate: pluginId | async\"\n [defaultValue]=\"obs.prefill?.innNnpId\"\n [disabled]=\"obs.disabled\"\n [required]=\"false\"\n [margin]=\"true\"\n [trim]=\"true\"\n [fullWidth]=\"true\"\n >\n </v-input>\n\n <v-input\n name=\"annIdentificatie\"\n [title]=\"'annIdentificatie' | pluginTranslate: pluginId | async\"\n [tooltip]=\"'annIdentificatieTooltip' | pluginTranslate: pluginId | async\"\n [defaultValue]=\"obs.prefill?.annIdentificatie\"\n [disabled]=\"obs.disabled\"\n [required]=\"false\"\n [margin]=\"true\"\n [trim]=\"true\"\n [fullWidth]=\"true\"\n >\n </v-input>\n\n <v-input\n name=\"kvkNummer\"\n [title]=\"'kvkNummer' | pluginTranslate: pluginId | async\"\n [tooltip]=\"'kvkNummerTooltip' | pluginTranslate: pluginId | async\"\n [defaultValue]=\"obs.prefill?.kvkNummer\"\n [disabled]=\"obs.disabled\"\n [required]=\"false\"\n [margin]=\"true\"\n [trim]=\"true\"\n [fullWidth]=\"true\"\n >\n </v-input>\n\n <v-input\n name=\"vestigingsNummer\"\n [title]=\"'vestigingsNummer' | pluginTranslate: pluginId | async\"\n [tooltip]=\"'vestigingsNummerTooltip' | pluginTranslate: pluginId | async\"\n [defaultValue]=\"obs.prefill?.vestigingsNummer\"\n [disabled]=\"obs.disabled\"\n [required]=\"false\"\n [margin]=\"true\"\n [trim]=\"true\"\n [fullWidth]=\"true\"\n >\n </v-input>\n\n <v-input\n name=\"resultProcessVariable\"\n [title]=\"'resultProcessVariable' | pluginTranslate: pluginId | async\"\n [tooltip]=\"'resultProcessVariable' | pluginTranslate: pluginId | async\"\n [defaultValue]=\"obs.prefill?.resultProcessVariable\"\n [disabled]=\"obs.disabled\"\n [required]=\"false\"\n [margin]=\"true\"\n [trim]=\"true\"\n [fullWidth]=\"true\"\n >\n </v-input>\n </v-form>\n</ng-container>\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {FunctionConfigurationComponent} from '../../../../models';\nimport {BehaviorSubject, combineLatest, Observable, Subscription, take} from 'rxjs';\nimport {CreateOrganisatorischeEenheidZaakRolConfig} from '../../models';\nimport {INDICATIE_MACHTIGING_VALUES} from '../../models/indicatie-machtiging-values';\n\n@Component({\n standalone: false,\n selector: 'valtimo-create-organisatorische-eenheid-zaak-rol-configuration',\n templateUrl: './create-organisatorische-eenheid-zaak-rol.component.html',\n})\nexport class CreateOrganisatorischeEenheidZaakRolComponent\n implements FunctionConfigurationComponent, OnInit, OnDestroy\n{\n @Input() save$: Observable<void>;\n @Input() disabled$: Observable<boolean>;\n @Input() pluginId: string;\n @Input() prefillConfiguration$: Observable<CreateOrganisatorischeEenheidZaakRolConfig>;\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() configuration: EventEmitter<CreateOrganisatorischeEenheidZaakRolConfig> =\n new EventEmitter<CreateOrganisatorischeEenheidZaakRolConfig>();\n\n public readonly INDICATIE_MACHTIGING_VALUES = INDICATIE_MACHTIGING_VALUES;\n\n private _saveSubscription!: Subscription;\n private readonly _formValue$ =\n new BehaviorSubject<CreateOrganisatorischeEenheidZaakRolConfig | null>(null);\n private readonly _valid$ = new BehaviorSubject<boolean>(false);\n\n public ngOnInit(): void {\n this.openSaveSubscription();\n }\n\n public ngOnDestroy(): void {\n this._saveSubscription?.unsubscribe();\n }\n\n public formValueChange(formValue: CreateOrganisatorischeEenheidZaakRolConfig): void {\n this._formValue$.next(formValue);\n this.handleValid(formValue);\n }\n\n private handleValid(formValue: CreateOrganisatorischeEenheidZaakRolConfig): void {\n const valid = !!(\n formValue.rolToelichting &&\n formValue.roltypeUrl &&\n formValue.identificatie &&\n formValue.naam &&\n formValue.isGehuisvestIn\n );\n\n this._valid$.next(valid);\n this.valid.emit(valid);\n }\n\n private openSaveSubscription(): void {\n this._saveSubscription = this.save$?.subscribe(save => {\n combineLatest([this._formValue$, this._valid$])\n .pipe(take(1))\n .subscribe(([formValue, valid]) => {\n if (valid) {\n this.configuration.emit(formValue);\n }\n });\n });\n }\n}\n","<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null,\n } as obs\"\n>\n <v-input\n name=\"roltypeUrl\"\n [title]=\"'roltypeUrl' | pluginTranslate: pluginId | async\"\n [tooltip]=\"'roltypeUrlTooltip' | pluginTranslate: pluginId | async\"\n [defaultValue]=\"obs.prefill?.roltypeUrl\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n [margin]=\"true\"\n [trim]=\"true\"\n [fullWidth]=\"true\"\n >\n </v-input>\n\n <v-input\n name=\"rolToelichting\"\n [title]=\"'rolToelichting' | pluginTranslate: pluginId | async\"\n [tooltip]=\"'rolToelichtingTooltip' | pluginTranslate: pluginId | async\"\n [defaultValue]=\"obs.prefill?.rolToelichting\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n [margin]=\"true\"\n [trim]=\"true\"\n [fullWidth]=\"true\"\n >\n </v-input>\n\n <v-input\n name=\"identificatie\"\n [title]=\"'identificatie' | pluginTranslate: pluginId | async\"\n [tooltip]=\"'identificatieOrganisatorischeEenheidTooltip' | pluginTranslate: pluginId | async\"\n [defaultValue]=\"obs.prefill?.identificatie\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n [margin]=\"true\"\n [trim]=\"true\"\n [fullWidth]=\"true\"\n >\n </v-input>\n\n <v-input\n name=\"naam\"\n [title]=\"'naam' | pluginTranslate: pluginId | async\"\n [tooltip]=\"'naamTooltip' | pluginTranslate: pluginId | async\"\n [defaultValue]=\"obs.prefill?.naam\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n [margin]=\"true\"\n [trim]=\"true\"\n [fullWidth]=\"true\"\n >\n </v-input>\n\n <v-input\n name=\"isGehuisvestIn\"\n [title]=\"'isGehuisvestIn' | pluginTranslate: pluginId | async\"\n [tooltip]=\"'isGehuisvestInTooltip' | pluginTranslate: pluginId | async\"\n [defaultValue]=\"obs.prefill?.isGehuisvestIn\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n [margin]=\"true\"\n [trim]=\"true\"\n [fullWidth]=\"true\"\n >\n </v-input>\n\n <v-input\n name=\"afwijkendeNaamBetrokkene\"\n [title]=\"'afwijkendeNaamBetrokkene' | pluginTranslate: pluginId | async\"\n [tooltip]=\"'afwijkendeNaamBetrokkeneTooltip' | pluginTranslate: pluginId | async\"\n [defaultValue]=\"obs.prefill?.afwijkendeNaamBetrokkene\"\n [disabled]=\"obs.disabled\"\n [required]=\"false\"\n [margin]=\"true\"\n [trim]=\"true\"\n [fullWidth]=\"true\"\n >\n </v-input>\n\n <v-radio\n name=\"indicatieMachtiging\"\n [title]=\"'indicatieMachtiging' | pluginTranslate: pluginId | async\"\n [tooltip]=\"'indicatieMachtigingTooltip' | pluginTranslate: pluginId | async\"\n [defaultValue]=\"obs.prefill?.indicatieMachtiging\"\n [disabled]=\"obs.disabled\"\n [required]=\"false\"\n [margin]=\"true\"\n [fullWidth]=\"true\"\n [radioValues]=\"INDICATIE_MACHTIGING_VALUES\"\n >\n </v-radio>\n\n <v-input\n name=\"resultProcessVariable\"\n [title]=\"'resultProcessVariable' | pluginTranslate: pluginId | async\"\n [tooltip]=\"'resultProcessVariable' | pluginTranslate: pluginId | async\"\n [defaultValue]=\"obs.prefill?.resultProcessVariable\"\n [disabled]=\"obs.disabled\"\n [required]=\"false\"\n [margin]=\"true\"\n [trim]=\"true\"\n [fullWidth]=\"true\"\n >\n </v-input>\n</v-form>\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {FunctionConfigurationComponent} from '../../../../models';\nimport {BehaviorSubject, combineLatest, Observable, Subscription, take} from 'rxjs';\nimport {CreateVestigingZaakRolConfig} from '../../models';\n\n@Component({\n standalone: false,\n selector: 'valtimo-create-vestiging-zaak-rol-configuration',\n templateUrl: './create-vestiging-zaak-rol.component.html',\n})\nexport class CreateVestigingZaakRolComponent\n implements FunctionConfigurationComponent, OnInit, OnDestroy\n{\n @Input() save$: Observable<void>;\n @Input() disabled$: Observable<boolean>;\n @Input() pluginId: string;\n @Input() prefillConfiguration$: Observable<CreateVestigingZaakRolConfig>;\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() configuration: EventEmitter<CreateVestigingZaakRolConfig> =\n new EventEmitter<CreateVestigingZaakRolConfig>();\n\n private _saveSubscription!: Subscription;\n\n private readonly _formValue$ = new BehaviorSubject<CreateVestigingZaakRolConfig | null>(null);\n private readonly _valid$ = new BehaviorSubject<boolean>(false);\n\n public ngOnInit(): void {\n this.openSaveSubscription();\n }\n\n public ngOnDestroy(): void {\n this._saveSubscription?.unsubscribe();\n }\n\n public formValueChange(formValue: CreateVestigingZaakRolConfig): void {\n this._formValue$.next(formValue);\n this.handleValid(formValue);\n }\n\n private handleValid(formValue: CreateVestigingZaakRolConfig): void {\n const valid = !!(\n formValue.rolToelichting &&\n formValue.roltypeUrl &&\n formValue.handelsnaam &&\n formValue.kvkNummer &&\n formValue.vestigingsNummer\n );\n\n this._valid$.next(valid);\n this.valid.emit(valid);\n }\n\n private openSaveSubscription(): void {\n this._saveSubscription = this.save$?.subscribe(save => {\n combineLatest([this._formValue$, this._valid$])\n .pipe(take(1))\n .subscribe(([formValue, valid]) => {\n if (valid) {\n this.configuration.emit(formValue);\n }\n });\n });\n }\n}\n","<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null,\n } as obs\"\n>\n <v-input\n name=\"roltypeUrl\"\n [title]=\"'roltypeUrl' | pluginTranslate: pluginId | async\"\n [tooltip]=\"'roltypeUrlTooltip' | pluginTranslate: pluginId | async\"\n [defaultValue]=\"obs.prefill?.roltypeUrl\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n [margin]=\"true\"\n [trim]=\"true\"\n [fullWidth]=\"true\"\n >\n </v-input>\n\n <v-input\n name=\"rolToelichting\"\n [title]=\"'rolToelichting' | pluginTranslate: pluginId | async\"\n [tooltip]=\"'rolToelichtingTooltip' | pluginTranslate: pluginId | async\"\n [defaultValue]=\"obs.prefill?.rolToelichting\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n [margin]=\"true\"\n [fullWidth]=\"true\"\n >\n </v-input>\n\n <v-input\n name=\"vestigingsNummer\"\n [title]=\"'vestigingsNummer' | pluginTranslate: pluginId | async\"\n [tooltip]=\"'vestigingsNummerTooltip' | pluginTranslate: pluginId | async\"\n [defaultValue]=\"obs.prefill?.vestigingsNummer\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n [margin]=\"true\"\n [trim]=\"true\"\n [fullWidth]=\"true\"\n >\n </v-input>\n\n <v-input\n name=\"handelsnaam\"\n [title]=\"'handelsnaam' | pluginTranslate: pluginId | async\"\n [tooltip]=\"'handelsnaamTooltip' | pluginTranslate: pluginId | async\"\n [defaultValue]=\"obs.prefill?.handelsnaam\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n [margin]=\"true\"\n [trim]=\"true\"\n [fullWidth]=\"true\"\n >\n </v-input>\n\n <v-input\n name=\"kvkNummer\"\n [title]=\"'kvkNummer' | pluginTranslate: pluginId | async\"\n [tooltip]=\"'kvkNummerTooltip' | pluginTranslate: pluginId | async\"\n [defaultValue]=\"obs.prefill?.kvkNummer\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n [margin]=\"true\"\n [trim]=\"true\"\n [fullWidth]=\"true\"\n >\n </v-input>\n\n <v-input\n name=\"resultProcessVariable\"\n [title]=\"'resultProcessVariable' | pluginTranslate: pluginId | async\"\n [tooltip]=\"'resultProcessVariable' | pluginTranslate: pluginId | async\"\n [defaultValue]=\"obs.prefill?.resultProcessVariable\"\n [disabled]=\"obs.disabled\"\n [required]=\"false\"\n [margin]=\"true\"\n [trim]=\"true\"\n [fullWidth]=\"true\"\n >\n </v-input>\n</v-form>\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {FunctionConfigurationComponent} from '../../../../models';\nimport {BehaviorSubject, combineLatest, Observable, Subscription, take} from 'rxjs';\nimport {DeleteZaakRolConfig} from '../../models';\n\n@Component({\n standalone: false,\n selector: 'valtimo-delete-zaak-rol-configuration',\n templateUrl: './delete-zaak-rol.component.html',\n})\nexport class DeleteZaakRolComponent implements FunctionConfigurationComponent, OnInit, OnDestroy {\n @Input() save$: Observable<void>;\n @Input() disabled$: Observable<boolean>;\n @Input() pluginId: string;\n @Input() prefillConfiguration$: Observable<DeleteZaakRolConfig>;\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() configuration: EventEmitter<DeleteZaakRolConfig> =\n new EventEmitter<DeleteZaakRolConfig>();\n\n private _saveSubscription!: Subscription;\n\n private readonly _formValue$ = new BehaviorSubject<DeleteZaakRolConfig | null>(null);\n private readonly _valid$ = new BehaviorSubject<boolean>(false);\n\n public ngOnInit(): void {\n this.openSaveSubscription();\n }\n\n public ngOnDestroy(): void {\n this._saveSubscription?.unsubscribe();\n }\n\n public formValueChange(formValue: DeleteZaakRolConfig): void {\n this._formValue$.next(formValue);\n this.handleValid(formValue);\n }\n\n private handleValid(formValue: DeleteZaakRolConfig): void {\n const valid = !!formValue.rolUuid;\n\n this._valid$.next(valid);\n this.valid.emit(valid);\n }\n\n private openSaveSubscription(): void {\n this._saveSubscription = this.save$?.subscribe(save => {\n combineLatest([this._formValue$, this._valid$])\n .pipe(take(1))\n .subscribe(([formValue, valid]) => {\n if (valid) {\n this.configuration.emit(formValue);\n }\n });\n });\n }\n}\n","<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null,\n } as obs\"\n>\n <v-input\n name=\"rolUuid\"\n [title]=\"'rolUuid' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.rolUuid\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n [trim]=\"true\"\n [tooltip]=\"'rolUuidTooltip' | pluginTranslate: pluginId | async\"\n [fullWidth]=\"true\"\n >\n </v-input>\n</v-form>\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport const CreateZaakExtraPropertyOptions = [\n 'description',\n 'explanation',\n 'plannedEndDate',\n 'finalDeliveryDate',\n 'communicationChannel',\n 'paymentIndication',\n 'caseGeometryType',\n 'caseGeometryCoordinates',\n 'mainCase',\n] as const;\nexport type CreateZaakExtraProperties = (typeof CreateZaakExtraPropertyOptions)[number];\n","export const GEOMETRY_TYPES: string[] = [\n 'Point',\n 'MultiPoint',\n 'LineString',\n 'MultiLineString',\n 'Polygon',\n 'GeometryCollection',\n 'MultiPolygon',\n];\n","export const PAYMENT_INDICATION_TYPES: string[] = ['nvt', 'nog_niet', 'gedeeltelijk', 'geheel'];\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {FunctionConfigurationComponent} from '../../../../models';\nimport {\n BehaviorSubject,\n combineLatest,\n filter,\n map,\n Observable,\n Subscription,\n switchMap,\n take,\n tap,\n} from 'rxjs';\nimport {CreateZaakConfig, InputOption} from '../../models';\nimport {OpenZaakService, ZaakType, ZaakTypeLink} from '@valtimo/resource';\nimport {ModalService, RadioValue, SelectItem} from '@valtimo/components';\nimport {CaseManagementParams, ManagementContext} from '@valtimo/shared';\nimport {PluginTranslatePipe} from '../../../../pipes';\nimport {Add16, TrashCan16} from '@carbon/icons';\nimport {IconService} from 'carbon-components-angular';\nimport {\n CreateZaakExtraProperties,\n CreateZaakExtraPropertyOptions,\n} from '../../models/create-zaak-properties';\nimport {GEOMETRY_TYPES} from '../../models/geometry-types';\nimport {PAYMENT_INDICATION_TYPES} from '../../models/payment-indication-types';\n\n@Component({\n standalone: false,\n selector: 'valtimo-create-zaak-configuration',\n templateUrl: './create-zaak-configuration.component.html',\n styleUrls: ['./create-zaak-configuration.component.scss'],\n providers: [PluginTranslatePipe],\n})\nexport class CreateZaakConfigurationComponent\n implements FunctionConfigurationComponent, OnInit, OnDestroy\n{\n @Input() context$: Observable<[ManagementContext, CaseManagementParams]>;\n @Input() disabled$: Observable<boolean>;\n @Input() pluginId: string;\n @Input() save$: Observable<void>;\n @Input() prefillConfiguration$: Observable<CreateZaakConfig>;\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() configuration: EventEmitter<CreateZaakConfig> = new EventEmitter<CreateZaakConfig>();\n\n public readonly propertyOptions: string[] = Object.values(CreateZaakExtraPropertyOptions);\n public readonly propertyList: Array<CreateZaakExtraProperties> = [];\n public readonly geometryTypes: string[] = GEOMETRY_TYPES;\n public readonly paymentIndicationTypes: string[] = PAYMENT_INDICATION_TYPES;\n\n public readonly pluginId$ = new BehaviorSubject<string>('');\n public readonly selectedInputOption$ = new BehaviorSubject<InputOption>('selection');\n public readonly loading$ = new BehaviorSubject<boolean>(true);\n public readonly inputTypeOptions$: Observable<Array<RadioValue>> = this.pluginId$.pipe(\n filter(pluginId => !!pluginId),\n switchMap(pluginId =>\n combineLatest([\n this.pluginTranslatePipe.transform('selection', pluginId),\n this.pluginTranslatePipe.transform('text', pluginId),\n ])\n ),\n map(([selectionTranslation, textTranslation]) => [\n {value: 'selection', title: selectionTranslation},\n {value: 'text', title: textTranslation},\n ])\n );\n public readonly zaakTypeItems$: Observable<Array<SelectItem>> = this.modalService.modalData$.pipe(\n switchMap(() => this.context$),\n tap(([context]) => {\n if (context === 'independent') {\n this.selectedInputOption$.next('text');\n this.loading$.next(false);\n }\n }),\n filter(([context]) => context === 'case'),\n switchMap(([context, params]) =>\n combineLatest([\n this.openZaakService.getZaakTypes(),\n context === 'case'\n ? this.openZaakService.getZaakTypeLink(\n params.caseDefinitionKey,\n params.caseDefinitionVersionTag\n )\n : null,\n ])\n ),\n map(results => {\n const zaakTypes = results[0] as Array<ZaakType>;\n const zaakTypeLink = results[1] as ZaakTypeLink;\n\n return [zaakTypeLink]\n .filter(zaakTypeLink => !!zaakTypeLink?.zaakTypeUrl)\n .map(zaakTypeLink => ({\n id: zaakTypeLink.zaakTypeUrl,\n text:\n zaakTypes.find(zaakType => zaakType.url === zaakTypeLink.zaakTypeUrl)?.omschrijving ||\n zaakTypeLink.zaakTypeUrl,\n }));\n }),\n tap(zaakTypeSelectItems => {\n this.prefillConfiguration$.pipe(take(1)).subscribe(prefillConfig => {\n const zaakTypeUrl = prefillConfig?.zaaktypeUrl;\n\n if (\n zaakTypeUrl &&\n !((zaakTypeSelectItems as Array<SelectItem>) || []).find(item => item.id === zaakTypeUrl)\n ) {\n this.selectedInputOption$.next('text');\n }\n });\n }),\n tap(() => {\n this.loading$.next(false);\n })\n );\n\n protected readonly CASE_GEOMETRY_TYPE: string = 'caseGeometryType';\n protected readonly CASE_GEOMETRY_COORDINATES: string = 'caseGeometryCoordinates';\n protected readonly PAYMENT_INDICATION_TYPE: string = 'paymentIndication';\n\n private readonly _formValue$ = new BehaviorSubject<CreateZaakConfig>(null);\n private readonly _properties = new Map<CreateZaakExtraProperties, string>();\n private saveSubscription!: Subscription;\n private readonly _valid$ = new BehaviorSubject<boolean>(false);\n\n constructor(\n private readonly openZaakService: OpenZaakService,\n private readonly modalService: ModalService,\n private readonly pluginTranslatePipe: PluginTranslatePipe,\n private readonly iconService: IconService\n ) {\n this.iconService.registerAll([Add16, TrashCan16]);\n }\n\n public ngOnInit(): void {\n this.openSaveSubscription();\n\n this.prefillConfiguration$.pipe(take(1)).subscribe(prefill => {\n CreateZaakExtraPropertyOptions.filter(property => prefill && !!prefill[property]).forEach(\n property => this.addProperty(property)\n );\n });\n }\n\n public ngOnDestroy(): void {\n this.saveSubscription?.unsubscribe();\n }\n\n public onFormValueChanged(formValue: CreateZaakConfig): void {\n const inputTypeZaakTypeToggle = formValue?.inputTypeZaakTypeToggle;\n this._properties.forEach((value, key) => (formValue[key] = value));\n this._formValue$.next(formValue);\n this.handleValid(formValue);\n\n if (inputTypeZaakTypeToggle) {\n this.selectedInputOption$.next(inputTypeZaakTypeToggle);\n }\n }\n\n public oneSelectItem(selectItems: Array<SelectItem>): boolean {\n if (Array.isArray(selectItems)) {\n return selectItems.length === 1;\n }\n return false;\n }\n\n public selectItemsIncludeId(selectItems: Array<SelectItem>, id: string): boolean {\n if (Array.isArray(selectItems)) {\n return !!selectItems.find(item => item.id === id);\n }\n return false;\n }\n\n public prefillValueFor(property: string, prefill: CreateZaakConfig): string | null {\n return prefill !== null ? (prefill?.[property] ?? null) : null;\n }\n\n public translationKeyFor(property: string): string {\n return property === 'description' ? 'beschrijving' : property;\n }\n\n public translationKeyForPropertyList(property: string): string {\n return property === this.CASE_GEOMETRY_TYPE ? 'caseGeometry' : this.translationKeyFor(property);\n }\n\n public addProperty(property: CreateZaakExtraProperties): void {\n // only add the property to the list if it is not in the list\n if (this.propertyList.indexOf(property) === -1) {\n this.propertyList.push(property);\n }\n if (property === this.CASE_GEOMETRY_TYPE) {\n this.addProperty(this.CASE_GEOMETRY_COORDINATES as CreateZaakExtraProperties);\n }\n }\n\n public removeProperty(property: CreateZaakExtraProperties): void {\n // only remove the property from the list if it is in the list\n if (this.propertyList.indexOf(property) !== -1) {\n this.propertyList.splice(this.propertyList.indexOf(property), 1);\n this.onPropertyChanged(property, undefined);\n }\n if (property === this.CASE_GEOMETRY_TYPE) {\n this.removeProperty(this.CASE_GEOMETRY_COORDINATES as CreateZaakExtraProperties);\n }\n }\n\n public hasPropertyBeenAdded(property: CreateZaakExtraProperties): boolean {\n return this.propertyList.indexOf(property) !== -1;\n }\n\n public onPropertyChanged(property: CreateZaakExtraProperties, value: any): void {\n this._properties.set(property, value);\n this._formValue$\n .pipe(\n filter(formValue => formValue !== null),\n take(1)\n )\n .subscribe(formValue => {\n this.onFormValueChanged(formValue);\n });\n }\n\n private handleValid(formValue: CreateZaakConfig): void {\n const isPropertyInvalid = this.propertyList.some(property => !!!formValue[property]);\n const valid = !!(formValue.rsin && formValue.zaaktypeUrl) && !isPropertyInvalid;\n\n this._valid$.next(valid);\n this.valid.emit(valid);\n }\n\n private openSaveSubscription(): void {\n this.saveSubscription = this.save$?.subscribe(() => {\n combineLatest([this._formValue$, this._valid$])\n .pipe(take(1))\n .subscribe(([formValue, valid]) => {\n if (valid) {\n const payload: CreateZaakConfig = {\n rsin: formValue.rsin,\n zaaktypeUrl: formValue.zaaktypeUrl,\n manualZaakTypeUrl: formValue.manualZaakTypeUrl,\n };\n this.propertyList.forEach(property => (payload[property] = formValue[property]));\n this.configuration.emit(payload);\n }\n });\n });\n }\n}\n","<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<ng-container\n *ngIf=\"{\n context: context$ | async,\n disabled: disabled$ | async,\n loading: loading$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null,\n selectedInputOption: selectedInputOption$ | async,\n zaakTypeSelectItems: zaakTypeItems$ | async,\n } as obs\"\n>\n @if (obs.loading) {\n <cds-loading></cds-loading>\n } @else {\n <v-paragraph [margin]=\"true\" [italic]=\"true\">\n {{ 'createZaakInformation' | pluginTranslate: pluginId | async }}\n </v-paragraph>\n\n <v-form (valueChange)=\"onFormValueChanged($event)\">\n <v-input\n name=\"rsin\"\n [title]=\"'rsin' | pluginTranslate: pluginId | async\"\n [tooltip]=\"'rsinTooltip' | pluginTranslate: pluginId | async\"\n [defaultValue]=\"obs.prefill?.rsin\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n [trim]=\"true\"\n [margin]=\"true\"\n [widthPx]=\"350\"\n >\n </v-input>\n\n <v-radio\n *ngIf=\"obs?.context?.[0] === 'case'\"\n name=\"inputTypeZaakTypeToggle\"\n [title]=\"'inputTypeZaakTypeToggle' | pluginTranslate: pluginId | async\"\n [defaultValue]=\"selectedInputOption$ | async\"\n [radioValues]=\"inputTypeOptions$ | async\"\n [disabled]=\"obs.disabled\"\n [margin]=\"true\"\n >\n </v-radio>\n\n <v-input\n *ngIf=\"obs.selectedInputOption === 'text'\"\n name=\"zaaktypeUrl\"\n [title]=\"'zaakTypeUrl' | pluginTranslate: pluginId | async\"\n [tooltip]=\"'zaakTypeTooltip' | pluginTranslate: pluginId | async\"\n [defaultValue]=\"obs.prefill?.zaaktypeUrl\"\n [disabled]=\"obs.disabled || obs.selectedInputOption === 'selection'\"\n [required]=\"true\"\n [trim]=\"true\"\n [margin]=\"true\"\n [widthPx]=\"700\"\n >\n </v-input>\n\n <v-select\n *ngIf=\"obs.selectedInputOption === 'selection'\"\n name=\"zaaktypeUrl\"\n [title]=\"'zaakType' | pluginTranslate: pluginId | async\"\n [tooltip]=\"'zaakTypeSelectTooltip' | pluginTranslate: pluginId | async\"\n [required]=\"true\"\n [items]=\"obs.zaakTypeSelectItems\"\n [loading]=\"!obs.zaakTypeSelectItems\"\n [disabled]=\"\n obs.disabled ||\n obs.selectedInputOption === 'text' ||\n oneSelectItem(obs.zaakTypeSelectItems)\n \"\n [margin]=\"true\"\n [defaultSelectionId]=\"\n (selectItemsIncludeId(obs.zaakTypeSelectItems, obs.prefill?.zaaktypeUrl) &&\n obs.prefill?.zaaktypeUrl) ||\n (oneSelectItem(obs.zaakTypeSelectItems) && obs.zaakTypeSelectItems[0].id)\n \"\n [widthInPx]=\"350\"\n ></v-select>\n\n <div class=\"property-row\">\n <div class=\"property-input-col\">\n <button\n cdsButton=\"primary\"\n class=\"add-button\"\n [size]=\"'md'\"\n [cdsOverflowMenu]=\"addCasePropertyList\"\n [customPane]=\"true\"\n placement=\"bottom,top\"\n >\n {{ 'addZaakProperty' | pluginTranslate: pluginId | async }}\n\n <svg class=\"cds--btn__icon\" cdsIcon=\"add\" size=\"16\"></svg>\n </button>\n </div>\n </div>\n\n @for (property of propertyList; track property) {\n <div class=\"property-row\">\n <div class=\"property-input-col\">\n @switch (property) {\n @case (CASE_GEOMETRY_TYPE) {\n <v-input\n [name]=\"CASE_GEOMETRY_TYPE\"\n [title]=\"\n translationKeyFor(CASE_GEOMETRY_TYPE) | pluginTranslate: pluginId | async\n \"\n [defaultValue]=\"prefillValueFor(CASE_GEOMETRY_TYPE, obs.prefill)\"\n (valueChange)=\"onPropertyChanged(CASE_GEOMETRY_TYPE, $event)\"\n [required]=\"true\"\n [margin]=\"true\"\n [presetOptions]=\"geometryTypes\"\n />\n }\n @case (CASE_GEOMETRY_COORDINATES) {\n <v-input\n [name]=\"CASE_GEOMETRY_COORDINATES\"\n [title]=\"\n translationKeyFor(CASE_GEOMETRY_COORDINATES) | pluginTranslate: pluginId | async\n \"\n [tooltip]=\"translationKeyFor(`${CASE_GEOMETRY_COORDINATES}Tooltip`) | pluginTranslate: pluginId | async\"\n [defaultValue]=\"prefillValueFor(CASE_GEOMETRY_COORDINATES, obs.prefill)\"\n (valueChange)=\"onPropertyChanged(CASE_GEOMETRY_COORDINATES, $event)\"\n [required]=\"true\"\n [margin]=\"true\"\n />\n }\n @default {\n <v-input\n [name]=\"property\"\n [title]=\"translationKeyFor(property) | pluginTranslate: pluginId | async\"\n [tooltip]=\"\n property.includes('Date')\n ? ('dateformatTooltip' | pluginTranslate: pluginId | async)\n : null\n \"\n [defaultValue]=\"prefillValueFor(property, obs.prefill)\"\n (valueChange)=\"onPropertyChanged(property, $event)\"\n [required]=\"true\"\n [margin]=\"true\"\n [trim]=\"true\"\n [presetOptions]=\"\n property === PAYMENT_INDICATION_TYPE ? paymentIndicationTypes : []\n \"\n />\n }\n }\n </div>\n\n <div class=\"property-delete-col\">\n @if (property !== CASE_GEOMETRY_COORDINATES) {\n <button class=\"btn btn-space delete-button\" (click)=\"removeProperty(property)\">\n <svg class=\"cds--btn__icon\" cdsIcon=\"trash-can\" size=\"16\"></svg>\n </button>\n }\n </div>\n </div>\n }\n </v-form>\n }\n</ng-container>\n\n<ng-template #addCasePropertyList>\n @for (propertyOption of propertyOptions; track propertyOption) {\n @if (propertyOption !== CASE_GEOMETRY_COORDINATES && !hasPropertyBeenAdded(propertyOption)) {\n <cds-overflow-menu-option (click)=\"addProperty(propertyOption)\">\n {{ translationKeyForPropertyList(propertyOption) | pluginTranslate: pluginId | async }}\n </cds-overflow-menu-option>\n }\n }\n</ng-template>\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport const PatchZaakPropertyOptions = [\n 'description',\n 'explanation',\n 'plannedEndDate',\n 'finalDeliveryDate',\n 'publicationDate',\n 'communicationChannel',\n 'communicationChannelName',\n 'paymentIndication',\n 'lastPaymentDate',\n 'caseGeometryType',\n 'caseGeometryCoordinates',\n 'mainCase',\n 'archiveActionDate',\n 'startDateRetentionPeriod',\n] as const;\n\nexport type PatchZaakProperties = (typeof PatchZaakPropertyOptions)[number];\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {FunctionConfigurationComponent} from '../../../../models';\nimport {BehaviorSubject, combineLatest, Observable, Subscription, take} from 'rxjs';\nimport {IconService} from 'carbon-components-angular';\nimport {Add16, TrashCan16} from '@carbon/icons';\nimport {PatchZaakConfig, PatchZaakNotitieConfig, PropertyFormField} from '../../models';\nimport {PatchZaakProperties, PatchZaakPropertyOptions} from '../../models/patch-zaak-properties';\nimport {GEOMETRY_TYPES} from '../../models/geometry-types';\nimport {PAYMENT_INDICATION_TYPES} from '../../models/payment-indication-types';\n\n@Component({\n standalone: false,\n selector: 'valtimo-patch-zaak-configuration',\n templateUrl: './patch-zaak-configuration.component.html',\n styleUrl: './patch-zaak-configuration.component.scss',\n})\nexport class PatchZaakConfigurationComponent\n implements FunctionConfigurationComponent, OnInit, OnDestroy\n{\n @Input() disabled$: Observable<boolean>;\n @Input() pluginId: string;\n @Input() save$: Observable<void>;\n @Input() prefillConfiguration$: Observable<PatchZaakConfig>;\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() configuration: EventEmitter<PatchZaakConfig> = new EventEmitter<PatchZaakConfig>();\n\n public readonly propertyOptions: string[] = Object.values(PatchZaakPropertyOptions);\n public readonly propertyList: Array<PropertyFormField> = [];\n public readonly geometryTypes: string[] = GEOMETRY_TYPES;\n public readonly paymentIndicationTypes: string[] = PAYMENT_INDICATION_TYPES;\n\n protected readonly CASE_GEOMETRY_TYPE: string = 'caseGeometryType';\n protected readonly CASE_GEOMETRY_COORDINATES: string = 'caseGeometryCoordinates';\n protected readonly PAYMENT_INDICATION_TYPE: string = 'paymentIndication';\n\n private readonly _formValue$ = new BehaviorSubject<PatchZaakConfig>({});\n private readonly _properties = new Map<PatchZaakProperties, string>();\n private _saveSubscription!: Subscription;\n private readonly _valid$ = new BehaviorSubject<boolean>(false);\n\n constructor(private readonly iconService: IconService) {\n this.iconService.registerAll([Add16, TrashCan16]);\n }\n\n public ngOnInit(): void {\n this.initPropertyList();\n this.openSaveSubscription();\n }\n\n public ngOnDestroy(): void {\n this._saveSubscription?.unsubscribe();\n }\n\n public onFormValueChanged(formValue: PatchZaakConfig): void {\n this._formValue$.next(formValue);\n this.handleValid(formValue);\n }\n\n public onPropertyChanged(property: PatchZaakProperties, value: any): void {\n this._properties.set(property, value);\n const formValue = this._formValue$.value;\n this._properties.forEach((value, key) => {\n formValue[key] = value;\n });\n this.onFormValueChanged(formValue);\n }\n\n public addProperty(property: PatchZaakProperties): void {\n if (!this.hasPropertyBeenAdded(property)) {\n this.propertyList.push(this.propertyFormFieldFor(property));\n this.onPropertyChanged(property, undefined);\n }\n // add linked field coordinates\n if (property === this.CASE_GEOMETRY_TYPE) {\n this.addProperty(this.CASE_GEOMETRY_COORDINATES as PatchZaakProperties);\n }\n }\n\n public removeProperty(property: PatchZaakProperties): void {\n if (this.hasPropertyBeenAdded(property)) {\n this.propertyList.splice(\n this.propertyList.findIndex(item => item.name === property),\n 1\n );\n this.onPropertyChanged(property, undefined);\n }\n // remove linked field coordinates\n if (property === this.CASE_GEOMETRY_TYPE) {\n this.removeProperty(this.CASE_GEOMETRY_COORDINATES as PatchZaakProperties);\n }\n }\n\n public hasPropertyBeenAdded(property: PatchZaakProperties): boolean {\n return this.propertyList.findIndex(item => item.name === property) !== -1;\n }\n\n public prefillValueFor(\n property: PatchZaakProperties,\n prefill: PatchZaakNotitieConfig\n ): string | null {\n return prefill != null ? prefill[property] : null;\n }\n\n public translationKeyForPropertyList(property: PatchZaakProperties): string {\n return property === this.CASE_GEOMETRY_TYPE ? 'caseGeometry' : this.translationKeyFor(property);\n }\n\n private initPropertyList(): void {\n this.prefillConfiguration$.pipe(take(1)).subscribe(prefill => {\n if (prefill) {\n PatchZaakPropertyOptions.forEach(property => {\n if (!!prefill[property]) this.addProperty(property);\n });\n }\n });\n }\n\n private propertyFormFieldFor(property: PatchZaakProperties): PropertyFormField {\n return {\n name: property,\n translationKey: this.translationKeyFor(property),\n tooltipTranslationKey: this.tooltipTranslationKeyFor(property),\n presetOptions: this.presetOptionsForProperty(property),\n };\n }\n\n private translationKeyFor(property: PatchZaakProperties): string {\n return property === 'description' ? 'omschrijving' : property;\n }\n\n private tooltipTranslationKeyFor(property: PatchZaakProperties): string | null{\n if (property.includes('Date')) {\n return 'dateformatTooltip';\n } else if (property === this.CASE_GEOMETRY_COORDINATES) {\n return `${property}Tooltip`;\n }\n\n return null;\n }\n\n private presetOptionsForProperty(property: PatchZaakProperties): string[] {\n switch (property) {\n case this.CASE_GEOMETRY_TYPE:\n return this.geometryTypes;\n case this.PAYMENT_INDICATION_TYPE:\n return this.paymentIndicationTypes;\n default:\n return [];\n }\n }\n\n private handleValid(formValue: PatchZaakConfig): void {\n const isPropertyInvalid = this.propertyList.some(property => !!!formValue[property.name]);\n const valid = !isPropertyInvalid;\n this._valid$.next(valid);\n this.valid.emit(valid);\n }\n\n private openSaveSubscription(): void {\n this._saveSubscription = this.save$?.subscribe(save => {\n combineLatest([this._formValue$, this._valid$])\n .pipe(take(1))\n .subscribe(([formValue, valid]) => {\n if (valid) {\n this.configuration.emit(formValue);\n }\n });\n });\n }\n}\n","<ng-container\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null,\n } as obs\"\n>\n <v-paragraph [margin]=\"true\" [italic]=\"true\">\n {{ 'patchZaakInformation' | pluginTranslate: pluginId | async }}\n </v-paragraph>\n\n <div class=\"row\">\n <div class=\"col-12\">\n <button\n cdsButton=\"primary\"\n [size]=\"'md'\"\n [cdsOverflowMenu]=\"addPropertyList\"\n [customPane]=\"true\"\n placement=\"bottom\"\n class=\"add-button\"\n >\n {{ 'addPatchZaakProperty' | pluginTranslate: pluginId | async }}\n\n <svg class=\"cds--btn__icon\" cdsIcon=\"add\" size=\"16\"></svg>\n </button>\n </div>\n </div>\n\n <v-form (valueChange)=\"onFormValueChanged($event)\">\n @for (property of propertyList; track property) {\n <div class=\"row\">\n <div class=\"col-11\">\n <v-input\n [name]=\"property.name\"\n [title]=\"property.translationKey | pluginTranslate: pluginId | async\"\n [tooltip]=\"property.tooltipTranslationKey !== null ? (property.tooltipTranslationKey| pluginTranslate: pluginId | async) : null\"\n [required]=\"true\"\n [defaultValue]=\"prefillValueFor(property.name, obs.prefill)\"\n [margin]=\"true\"\n [presetOptions]=\"property.presetOptions\"\n (valueChange)=\"onPropertyChanged(CASE_GEOMETRY_TYPE, $event)\"\n />\n </div>\n <div class=\"col-1\">\n @if (property.name !== CASE_GEOMETRY_COORDINATES) {\n <button class=\"btn btn-space delete-button\" (click)=\"removeProperty(property.name)\">\n <svg class=\"cds--btn__icon\" cdsIcon=\"trash-can\" size=\"16\"></svg>\n </button>\n }\n </div>\n </div>\n }\n </v-form>\n</ng-container>\n\n<ng-template #addPropertyList>\n @for (propertyOption of propertyOptions; track propertyOption) {\n @if (propertyOption !== CASE_GEOMETRY_COORDINATES) {\n <cds-overflow-menu-option\n *ngIf=\"!hasPropertyBeenAdded(propertyOption)\"\n (click)=\"addProperty(propertyOption)\"\n >\n {{ translationKeyForPropertyList(propertyOption) | pluginTranslate: pluginId | async }}\n </cds-overflow-menu-option>\n }\n }\n</ng-template>\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {FunctionConfigurationComponent} from '../../../../models';\nimport {BehaviorSubject, combineLatest, Observable, Subscription, take} from 'rxjs';\nimport {SetZaakopschortingConfig} from '../../models';\nimport {PluginTranslatePipe} from '../../../../pipes';\n\n@Component({\n standalone: false,\n providers: [PluginTranslatePipe],\n selector: 'valtimo-set-zaak-opschorting-configuration',\n templateUrl: './set-zaakopschorting.component.html',\n})\nexport class SetZaakopschortingComponent\n implements FunctionConfigurationComponent, OnInit, OnDestroy\n{\n @Input() disabled$: Observable<boolean>;\n @Input() pluginId: string;\n @Input() prefillConfiguration$: Observable<SetZaakopschortingConfig>;\n @Input() save$: Observable<void>;\n @Output() configuration: EventEmitter<SetZaakopschortingConfig> =\n new EventEmitter<SetZaakopschortingConfig>();\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n\n private readonly formValue$ = new BehaviorSubject<SetZaakopschortingConfig | null>(null);\n private saveSubscription!: Subscription;\n private readonly valid$ = new BehaviorSubject<boolean>(false);\n\n public ngOnInit(): void {\n this.openSaveSubscription();\n }\n\n public ngOnDestroy(): void {\n this.saveSubscription?.unsubscribe();\n }\n\n public formValueChange(formValue: SetZaakopschortingConfig): void {\n this.formValue$.next(formValue);\n this.handleValid(formValue);\n }\n\n private handleValid(formValue: SetZaakopschortingConfig): void {\n const valid = !!(\n formValue.toelichtingVerlenging &&\n formValue.toelichtingOpschorting &&\n formValue.verlengingsduur\n );\n\n this.valid$.next(valid);\n this.valid.emit(valid);\n }\n\n private openSaveSubscription(): void {\n this.saveSubscription = this.save$?.subscribe(save => {\n combineLatest([this.formValue$, this.valid$])\n .pipe(take(1))\n .subscribe(([formValue, valid]) => {\n if (valid) {\n this.configuration.emit(formValue);\n }\n });\n });\n }\n}\n","<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null,\n } as obs\"\n>\n <v-input\n name=\"verlengingsduur\"\n [title]=\"'verlengingsduur' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.verlengingsduur\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n [trim]=\"true\"\n [fullWidth]=\"true\"\n >\n </v-input>\n\n <v-input\n name=\"toelichtingVerlenging\"\n [title]=\"'toelichtingVerlenging' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.toelichtingVerlenging\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n [fullWidth]=\"true\"\n >\n </v-input>\n\n <v-input\n name=\"toelichtingOpschorting\"\n [title]=\"'toelichtingOpschorting' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.toelichtingOpschorting\"\n [disabled]=\"\"\n [required]=\"true\"\n [fullWidth]=\"true\"\n >\n </v-input>\n</v-form>\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {FunctionConfigurationComponent} from '../../../../models';\nimport {BehaviorSubject, combineLatest, Observable, Subscription, take} from 'rxjs';\nimport {StartHersteltermijnConfig} from '../../models';\nimport {PluginTranslatePipe} from '../../../../pipes';\n\n@Component({\n standalone: false,\n selector: 'valtimo-start-hersteltermijn-configuration',\n templateUrl: './start-hersteltermijn-configuration.component.html',\n providers: [PluginTranslatePipe],\n})\nexport class StartHersteltermijnConfigurationComponent\n implements FunctionConfigurationComponent, OnInit, OnDestroy\n{\n @Input() save$: Observable<void>;\n @Input() disabled$: Observable<boolean>;\n @Input() pluginId: string;\n @Input() prefillConfiguration$: Observable<StartHersteltermijnConfig>;\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() configuration: EventEmitter<StartHersteltermijnConfig> =\n new EventEmitter<StartHersteltermijnConfig>();\n\n private saveSubscription!: Subscription;\n\n private readonly formValue$ = new BehaviorSubject<StartHersteltermijnConfig | null>(null);\n private readonly valid$ = new BehaviorSubject<boolean>(false);\n\n ngOnInit(): void {\n this.openSaveSubscription();\n }\n\n ngOnDestroy() {\n this.saveSubscription?.unsubscribe();\n }\n\n formValueChange(formValue: StartHersteltermijnConfig): void {\n this.formValue$.next(formValue);\n this.handleValid(formValue);\n }\n\n private handleValid(formValue: StartHersteltermijnConfig): void {\n const valid = !!formValue.maxDurationInDays;\n\n this.valid$.next(valid);\n this.valid.emit(valid);\n }\n\n private openSaveSubscription(): void {\n this.saveSubscription = this.save$?.subscribe(save => {\n combineLatest([this.formValue$, this.valid$])\n .pipe(take(1))\n .subscribe(([formValue, valid]) => {\n if (valid) {\n this.configuration.emit({\n maxDurationInDays: formValue.maxDurationInDays,\n });\n }\n });\n });\n }\n}\n","<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<ng-container\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null,\n } as obs\"\n>\n <ng-container>\n <v-paragraph [margin]=\"true\" [italic]=\"true\">\n {{ 'startHersteltermijnInformation' | pluginTranslate: pluginId | async }}\n </v-paragraph>\n <v-form (valueChange)=\"formValueChange($event)\">\n <v-input\n name=\"maxDurationInDays\"\n [min]=\"1\"\n [title]=\"'maxDurationInDays' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.maxDurationInDays\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n [trim]=\"true\"\n [tooltip]=\"'maxDurationInDaysTooltip' | pluginTranslate: pluginId | async\"\n [widthPx]=\"350\"\n >\n </v-input>\n </v-form>\n </ng-container>\n</ng-container>\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {Observable, Subscription} from 'rxjs';\nimport {FunctionConfigurationComponent} from '../../../../models';\nimport {PluginTranslatePipe} from '../../../../pipes';\n\n@Component({\n standalone: false,\n selector: 'valtimo-end-hersteltermijn',\n templateUrl: './end-hersteltermijn.component.html',\n providers: [PluginTranslatePipe],\n})\nexport class EndHersteltermijnComponent\n implements FunctionConfigurationComponent, OnInit, OnDestroy\n{\n @Input() disabled$: Observable<boolean>;\n @Input() save$: Observable<void>;\n @Input() prefillConfiguration$: Observable<any>;\n @Input() pluginId: string;\n\n @Output() configuration: EventEmitter<any> = new EventEmitter<any>();\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n\n private _saveSubscription = new Subscription();\n\n public ngOnInit(): void {\n this.openSaveSubscription();\n this.emitValid();\n }\n\n public ngOnDestroy(): void {\n this._saveSubscription.unsubscribe();\n }\n\n private emitValid(): void {\n this.valid.emit(true);\n }\n\n private openSaveSubscription(): void {\n this._saveSubscription.add(\n this.save$?.subscribe(() => {\n this.configuration.emit({});\n })\n );\n }\n}\n","<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-paragraph [center]=\"true\" [fullWidth]=\"true\">\n {{ 'endHersteltermijnInformation' | pluginTranslate: pluginId | async }}\n</v-paragraph>\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {FunctionConfigurationComponent} from '../../../../models';\nimport {\n BehaviorSubject,\n combineLatest,\n filter,\n Observable,\n Subscription,\n switchMap,\n take,\n tap,\n} from 'rxjs';\nimport {CreateZaakeigenschapConfig, InputOption} from '../../models';\nimport {RadioValue, SelectItem} from '@valtimo/components';\nimport {DocumentService} from '@valtimo/document';\nimport {map} from 'rxjs/operators';\nimport {ZakenApiService} from '../../services';\nimport {PluginTranslatePipe} from '../../../../pipes';\nimport {CaseManagementParams, ManagementContext} from '@valtimo/shared';\n\n@Component({\n standalone: false,\n selector: 'valtimo-create-zaakeigenschap',\n templateUrl: './create-zaakeigenschap.component.html',\n providers: [PluginTranslatePipe],\n})\nexport class CreateZaakeigenschapComponent\n implements FunctionConfigurationComponent, OnInit, OnDestroy\n{\n @Input() save$: Observable<void>;\n @Input() disabled$: Observable<boolean>;\n @Input() set pluginId(value: string) {\n this.pluginId$.next(value);\n }\n @Input() prefillConfiguration$: Observable<CreateZaakeigenschapConfig>;\n @Input() context$: Observable<[ManagementContext, CaseManagementParams]>;\n\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() configuration: EventEmitter<CreateZaakeigenschapConfig> =\n new EventEmitter<CreateZaakeigenschapConfig>();\n\n readonly loading$ = new BehaviorSubject<boolean>(true);\n readonly selectedInputOption$ = new BehaviorSubject<InputOption>('selection');\n readonly pluginId$ = new BehaviorSubject<string>('');\n readonly formValue$ = new BehaviorSubject<CreateZaakeigenschapConfig | null>(null);\n readonly valid$ = new BehaviorSubject<boolean>(false);\n readonly eigenschapSelectItems$ = new BehaviorSubject<SelectItem[]>([]);\n readonly inputTypeOptions$: Observable<Array<RadioValue>> = this.pluginId$.pipe(\n filter(pluginId => !!pluginId),\n switchMap(pluginId =>\n combineLatest([\n this.pluginTranslatePipe.transform('selection', pluginId),\n this.pluginTranslatePipe.transform('text', pluginId),\n ])\n ),\n map(([selectionTranslation, textTranslation]) => [\n {value: 'selection', title: selectionTranslation},\n {value: 'text', title: textTranslation},\n ])\n );\n\n private readonly _subscriptions = new Subscription();\n\n constructor(\n private readonly documentService: DocumentService,\n private readonly zakenApiService: ZakenApiService,\n private readonly pluginTranslatePipe: PluginTranslatePipe\n ) {}\n\n public ngOnInit(): void {\n this.initEigenschapHandling();\n this.initSaveHandling();\n }\n\n public ngOnDestroy(): void {\n this._subscriptions.unsubscribe();\n }\n\n public formValueChange(formValue: CreateZaakeigenschapConfig): void {\n this.formValue$.next(formValue);\n this.handleValid(formValue);\n\n if (formValue.inputTypeEigenschapToggle) {\n this.selectedInputOption$.next(formValue.inputTypeEigenschapToggle);\n }\n }\n\n public oneSelectItem(selectItems: Array<SelectItem>): boolean {\n return Array.isArray(selectItems) && selectItems.length === 1;\n }\n\n private initEigenschapHandling(): void {\n if (!this.context$) {\n return;\n }\n\n const sub = this.context$\n .pipe(\n filter(([context]) => {\n if (context === 'independent') {\n this.selectedInputOption$.next('text');\n this.loading$.next(false);\n }\n return context === 'case';\n }),\n switchMap(([_, params]) =>\n this.zakenApiService.getEigenschappenByCaseAndVersion(\n params.caseDefinitionKey,\n params.caseDefinitionVersionTag\n )\n ),\n tap(eigenschappen => {\n this.eigenschapSelectItems$.next(\n eigenschappen.map(item => ({id: item.url, text: item.name}))\n );\n this.selectedInputOption$.next('selection');\n this.loading$.next(false);\n })\n )\n .subscribe();\n\n this._subscriptions.add(sub);\n }\n\n private initSaveHandling(): void {\n if (!this.save$) return;\n\n const sub = this.save$.subscribe(() => {\n combineLatest([this.formValue$, this.valid$])\n .pipe(take(1))\n .subscribe(([formValue, valid]) => {\n if (valid) {\n this.configuration.emit({\n eigenschapUrl: formValue.eigenschapUrl,\n eigenschapValue: formValue.eigenschapValue,\n });\n }\n });\n });\n\n this._subscriptions.add(sub);\n }\n\n private handleValid(formValue: CreateZaakeigenschapConfig): void {\n const valid = !!formValue.eigenschapUrl;\n this.valid$.next(valid);\n this.valid.emit(valid);\n }\n}\n","<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null,\n pluginId: pluginId$ | async,\n selectedInputOption: selectedInputOption$ | async,\n loading: loading$ | async,\n eigenschapItems: eigenschapSelectItems$ | async,\n context: context$ | async,\n } as obs\"\n>\n <ng-container *ngIf=\"obs.loading === false; else loading\">\n <v-radio\n *ngIf=\"obs?.context?.[0] === 'case'\"\n name=\"inputTypeEigenschapToggle\"\n [disabled]=\"obs.disabled\"\n [title]=\"'inputTypeEigenschapToggle' | pluginTranslate: obs.pluginId | async\"\n [radioValues]=\"inputTypeOptions$ | async\"\n [defaultValue]=\"selectedInputOption$ | async\"\n [margin]=\"true\"\n >\n </v-radio>\n\n <v-input\n *ngIf=\"obs.selectedInputOption === 'text'\"\n name=\"eigenschapUrl\"\n [title]=\"'eigenschapUrl' | pluginTranslate: obs.pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.eigenschapUrl\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n [trim]=\"true\"\n [tooltip]=\"'eigenschapUrlTooltip' | pluginTranslate: obs.pluginId | async\"\n [fullWidth]=\"true\"\n >\n </v-input>\n\n <ng-container *ngIf=\"obs.selectedInputOption === 'selection'\">\n <v-select\n [items]=\"obs.eigenschapItems\"\n [margin]=\"true\"\n [widthInPx]=\"350\"\n name=\"eigenschapUrl\"\n [title]=\"'eigenschapUrlSelect' | pluginTranslate: obs.pluginId | async\"\n [disabled]=\"obs.disabled || obs.selectedInputOption === 'text' || !obs.eigenschapItem\"\n [defaultSelectionId]=\"obs.prefill?.eigenschapUrl\"\n [required]=\"true\"\n [loading]=\"!obs.eigenschapItems\"\n [tooltip]=\"'eigenschapUrlSelectTooltip' | pluginTranslate: obs.pluginId | async\"\n ></v-select>\n </ng-container>\n\n <v-input\n name=\"eigenschapValue\"\n [title]=\"'eigenschapValue' | pluginTranslate: obs.pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.eigenschapValue\"\n [disabled]=\"obs.disabled\"\n [required]=\"false\"\n [tooltip]=\"'eigenschapValueTooltip' | pluginTranslate: obs.pluginId | async\"\n [fullWidth]=\"true\"\n >\n </v-input>\n </ng-container>\n</v-form>\n\n<ng-template #loading>\n <div class=\"loading-container\">\n <cds-loading></cds-loading>\n </div>\n</ng-template>\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {FunctionConfigurationComponent} from '../../../../models';\nimport {\n BehaviorSubject,\n combineLatest,\n filter,\n Observable,\n Subscription,\n switchMap,\n take,\n tap,\n} from 'rxjs';\nimport {InputOption, UpdateZaakeigenschapConfig} from '../../models';\nimport {RadioValue, SelectItem} from '@valtimo/components';\nimport {ZakenApiService} from '../../services';\nimport {PluginTranslatePipe} from '../../../../pipes';\nimport {CaseManagementParams, ManagementContext} from '@valtimo/shared';\nimport {map} from 'rxjs/operators';\n\n@Component({\n standalone: false,\n selector: 'valtimo-update-zaakeigenschap',\n templateUrl: './update-zaakeigenschap.component.html',\n providers: [PluginTranslatePipe],\n})\nexport class UpdateZaakeigenschapComponent\n implements FunctionConfigurationComponent, OnInit, OnDestroy\n{\n @Input() public save$: Observable<void>;\n @Input() public disabled$: Observable<boolean>;\n @Input() public set pluginId(value: string) {\n this.pluginId$.next(value);\n }\n @Input() public prefillConfiguration$: Observable<UpdateZaakeigenschapConfig>;\n @Input() public context$: Observable<[ManagementContext, CaseManagementParams]>;\n\n @Output() public valid = new EventEmitter<boolean>();\n @Output() public configuration = new EventEmitter<UpdateZaakeigenschapConfig>();\n\n public readonly loading$ = new BehaviorSubject<boolean>(true);\n public readonly selectedInputOption$ = new BehaviorSubject<InputOption>('selection');\n public readonly pluginId$ = new BehaviorSubject<string>('');\n public readonly formValue$ = new BehaviorSubject<UpdateZaakeigenschapConfig | null>(null);\n public readonly valid$ = new BehaviorSubject<boolean>(false);\n public readonly eigenschapSelectItems$ = new BehaviorSubject<SelectItem[]>([]);\n\n public readonly inputTypeOptions$: Observable<Array<RadioValue>> = this.pluginId$.pipe(\n filter(pluginId => !!pluginId),\n switchMap(pluginId =>\n combineLatest([\n this.pluginTranslatePipe.transform('selection', pluginId),\n this.pluginTranslatePipe.transform('text', pluginId),\n ])\n ),\n map(([selectionTranslation, textTranslation]) => [\n {value: 'selection', title: selectionTranslation},\n {value: 'text', title: textTranslation},\n ])\n );\n\n private readonly _subscriptions = new Subscription();\n\n constructor(\n private readonly zakenApiService: ZakenApiService,\n private readonly pluginTranslatePipe: PluginTranslatePipe\n ) {}\n\n public ngOnInit(): void {\n this.initEigenschapHandling();\n this.initSaveHandling();\n }\n\n public ngOnDestroy(): void {\n this._subscriptions.unsubscribe();\n }\n\n public formValueChange(formValue: UpdateZaakeigenschapConfig): void {\n this.formValue$.next(formValue);\n this.handleValid(formValue);\n\n if (formValue.inputTypeEigenschapToggle) {\n this.selectedInputOption$.next(formValue.inputTypeEigenschapToggle);\n }\n }\n\n private initEigenschapHandling(): void {\n if (!this.context$) return;\n\n const sub = this.context$\n .pipe(\n filter(([context]) => {\n if (context === 'independent') {\n this.selectedInputOption$.next('text');\n this.loading$.next(false);\n }\n return context === 'case';\n }),\n switchMap(([_, params]) =>\n combineLatest([\n this.zakenApiService.getEigenschappenByCaseAndVersion(\n params.caseDefinitionKey,\n params.caseDefinitionVersionTag\n ),\n this.prefillConfiguration$.pipe(take(1)),\n ])\n ),\n tap(([eigenschappen, prefill]) => {\n const selectItems = eigenschappen.map(item => ({id: item.url, text: item.name}));\n this.eigenschapSelectItems$.next(selectItems);\n\n const matched = selectItems.find(item => item.id === prefill?.eigenschapUrl);\n this.selectedInputOption$.next(matched ? 'selection' : 'text');\n\n this.loading$.next(false);\n })\n )\n .subscribe();\n\n this._subscriptions.add(sub);\n }\n\n private initSaveHandling(): void {\n if (!this.save$) return;\n\n const sub = this.save$.subscribe(() => {\n combineLatest([this.formValue$, this.valid$])\n .pipe(take(1))\n .subscribe(([formValue, valid]) => {\n if (valid) {\n this.configuration.emit({\n eigenschapUrl: formValue.eigenschapUrl,\n eigenschapValue: formValue.eigenschapValue,\n });\n }\n });\n });\n\n this._subscriptions.add(sub);\n }\n\n private handleValid(formValue: UpdateZaakeigenschapConfig): void {\n const valid = !!formValue.eigenschapUrl;\n this.valid$.next(valid);\n this.valid.emit(valid);\n }\n}\n","<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null,\n pluginId: pluginId$ | async,\n selectedInputOption: selectedInputOption$ | async,\n loading: loading$ | async,\n eigenschapItems: eigenschapSelectItems$ | async,\n context: context$ | async,\n } as obs\"\n>\n <ng-container *ngIf=\"obs.loading === false; else loading\">\n <v-radio\n *ngIf=\"obs?.context?.[0] === 'case'\"\n name=\"inputTypeEigenschapToggle\"\n [disabled]=\"obs.disabled\"\n [title]=\"'inputTypeEigenschapToggle' | pluginTranslate: obs.pluginId | async\"\n [radioValues]=\"inputTypeOptions$ | async\"\n [defaultValue]=\"selectedInputOption$ | async\"\n [margin]=\"true\"\n >\n </v-radio>\n\n <v-input\n *ngIf=\"obs.selectedInputOption === 'text'\"\n name=\"eigenschapUrl\"\n [title]=\"'eigenschapUrl' | pluginTranslate: obs.pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.eigenschapUrl\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n [trim]=\"true\"\n [tooltip]=\"'eigenschapUrlTooltip' | pluginTranslate: obs.pluginId | async\"\n [fullWidth]=\"true\"\n >\n </v-input>\n\n <ng-container *ngIf=\"obs.selectedInputOption === 'selection'\">\n <v-select\n [items]=\"obs.eigenschapItems\"\n [margin]=\"true\"\n [widthInPx]=\"350\"\n name=\"eigenschapUrl\"\n [title]=\"'eigenschapUrlSelect' | pluginTranslate: obs.pluginId | async\"\n [disabled]=\"obs.disabled || obs.selectedInputOption === 'text' || !obs.eigenschapItems\"\n [defaultSelectionId]=\"obs.prefill?.eigenschapUrl\"\n [required]=\"true\"\n [loading]=\"!obs.eigenschapItems\"\n [tooltip]=\"'eigenschapUrlSelectTooltip' | pluginTranslate: obs.pluginId | async\"\n ></v-select>\n </ng-container>\n\n <v-input\n name=\"eigenschapValue\"\n [title]=\"'eigenschapValue' | pluginTranslate: obs.pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.eigenschapValue\"\n [disabled]=\"obs.disabled\"\n [required]=\"false\"\n [tooltip]=\"'eigenschapValueTooltip' | pluginTranslate: obs.pluginId | async\"\n [fullWidth]=\"true\"\n >\n </v-input>\n </ng-container>\n</v-form>\n\n<ng-template #loading>\n <div class=\"loading-container\">\n <cds-loading></cds-loading>\n </div>\n</ng-template>\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {FunctionConfigurationComponent} from '../../../../models';\nimport {\n BehaviorSubject,\n combineLatest,\n filter,\n Observable,\n Subscription,\n switchMap,\n take,\n tap,\n} from 'rxjs';\nimport {DeleteZaakeigenschapConfig, InputOption} from '../../models';\nimport {RadioValue, SelectItem} from '@valtimo/components';\nimport {ZakenApiService} from '../../services';\nimport {PluginTranslatePipe} from '../../../../pipes';\nimport {CaseManagementParams, ManagementContext} from '@valtimo/shared';\nimport {map} from 'rxjs/operators';\n\n@Component({\n standalone: false,\n selector: 'valtimo-delete-zaakeigenschap',\n templateUrl: './delete-zaakeigenschap.component.html',\n providers: [PluginTranslatePipe],\n})\nexport class DeleteZaakeigenschapComponent\n implements FunctionConfigurationComponent, OnInit, OnDestroy\n{\n @Input() public save$: Observable<void>;\n @Input() public disabled$: Observable<boolean>;\n @Input() public set pluginId(value: string) {\n this.pluginId$.next(value);\n }\n @Input() public prefillConfiguration$: Observable<DeleteZaakeigenschapConfig>;\n @Input() public context$: Observable<[ManagementContext, CaseManagementParams]>;\n\n @Output() public valid = new EventEmitter<boolean>();\n @Output() public configuration = new EventEmitter<DeleteZaakeigenschapConfig>();\n\n public readonly loading$ = new BehaviorSubject<boolean>(true);\n public readonly selectedInputOption$ = new BehaviorSubject<InputOption>('selection');\n public readonly pluginId$ = new BehaviorSubject<string>('');\n public readonly formValue$ = new BehaviorSubject<DeleteZaakeigenschapConfig | null>(null);\n public readonly valid$ = new BehaviorSubject<boolean>(false);\n public readonly eigenschapSelectItems$ = new BehaviorSubject<SelectItem[]>([]);\n\n public readonly inputTypeOptions$: Observable<Array<RadioValue>> = this.pluginId$.pipe(\n filter(pluginId => !!pluginId),\n switchMap(pluginId =>\n combineLatest([\n this.pluginTranslatePipe.transform('selection', pluginId),\n this.pluginTranslatePipe.transform('text', pluginId),\n ])\n ),\n map(([selectionTranslation, textTranslation]) => [\n {value: 'selection', title: selectionTranslation},\n {value: 'text', title: textTranslation},\n ])\n );\n\n private readonly _subscriptions = new Subscription();\n\n constructor(\n private readonly zakenApiService: ZakenApiService,\n private readonly pluginTranslatePipe: PluginTranslatePipe\n ) {}\n\n public ngOnInit(): void {\n this.initEigenschapHandling();\n this.initSaveHandling();\n }\n\n public ngOnDestroy(): void {\n this._subscriptions.unsubscribe();\n }\n\n formValueChange(formValue: DeleteZaakeigenschapConfig): void {\n this.formValue$.next(formValue);\n this.handleValid(formValue);\n\n if (formValue.inputTypeEigenschapToggle) {\n this.selectedInputOption$.next(formValue.inputTypeEigenschapToggle);\n }\n }\n\n private initEigenschapHandling(): void {\n if (!this.context$) return;\n\n const sub = this.context$\n .pipe(\n filter(([context]) => {\n if (context === 'independent') {\n this.selectedInputOption$.next('text');\n this.loading$.next(false);\n }\n return context === 'case';\n }),\n switchMap(([_, params]) =>\n combineLatest([\n this.zakenApiService.getEigenschappenByCaseAndVersion(\n params.caseDefinitionKey,\n params.caseDefinitionVersionTag\n ),\n this.prefillConfiguration$.pipe(take(1)),\n ])\n ),\n tap(([eigenschappen, prefill]) => {\n const selectItems = eigenschappen.map(item => ({id: item.url, text: item.name}));\n this.eigenschapSelectItems$.next(selectItems);\n\n const matched = selectItems.find(item => item.id === prefill?.eigenschapUrl);\n this.selectedInputOption$.next(matched ? 'selection' : 'text');\n\n this.loading$.next(false);\n })\n )\n .subscribe();\n\n this._subscriptions.add(sub);\n }\n\n private initSaveHandling(): void {\n if (!this.save$) return;\n\n const sub = this.save$.subscribe(() => {\n combineLatest([this.formValue$, this.valid$])\n .pipe(take(1))\n .subscribe(([formValue, valid]) => {\n if (valid) {\n this.configuration.emit({\n eigenschapUrl: formValue.eigenschapUrl,\n });\n }\n });\n });\n\n this._subscriptions.add(sub);\n }\n\n private handleValid(formValue: DeleteZaakeigenschapConfig): void {\n const valid = !!formValue.eigenschapUrl;\n this.valid$.next(valid);\n this.valid.emit(valid);\n }\n}\n","<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null,\n pluginId: pluginId$ | async,\n selectedInputOption: selectedInputOption$ | async,\n loading: loading$ | async,\n eigenschapItems: eigenschapSelectItems$ | async,\n context: context$ | async,\n } as obs\"\n>\n <ng-container *ngIf=\"obs.loading === false; else loading\">\n <v-radio\n *ngIf=\"obs?.context?.[0] === 'case'\"\n name=\"inputTypeEigenschapToggle\"\n [disabled]=\"obs.disabled\"\n [title]=\"'inputTypeEigenschapToggle' | pluginTranslate: obs.pluginId | async\"\n [radioValues]=\"inputTypeOptions$ | async\"\n [defaultValue]=\"selectedInputOption$ | async\"\n [margin]=\"true\"\n >\n </v-radio>\n\n <v-input\n *ngIf=\"obs.selectedInputOption === 'text'\"\n name=\"eigenschapUrl\"\n [title]=\"'eigenschapUrl' | pluginTranslate: obs.pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.eigenschapUrl\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n [trim]=\"true\"\n [tooltip]=\"'eigenschapUrlTooltip' | pluginTranslate: obs.pluginId | async\"\n [fullWidth]=\"true\"\n >\n </v-input>\n\n <ng-container *ngIf=\"obs.selectedInputOption === 'selection'\">\n <v-select\n [items]=\"obs.eigenschapItems\"\n [margin]=\"true\"\n [widthInPx]=\"350\"\n name=\"eigenschapUrl\"\n [title]=\"'eigenschapUrlSelect' | pluginTranslate: obs.pluginId | async\"\n [disabled]=\"obs.disabled || obs.selectedInputOption === 'text' || !obs.eigenschapItems\"\n [defaultSelectionId]=\"obs.prefill?.eigenschapUrl\"\n [required]=\"true\"\n [loading]=\"!obs.eigenschapItems\"\n [tooltip]=\"'eigenschapUrlSelectTooltip' | pluginTranslate: obs.pluginId | async\"\n ></v-select>\n </ng-container>\n </ng-container>\n</v-form>\n\n<ng-template #loading>\n <div class=\"loading-container\">\n <cds-loading></cds-loading>\n </div>\n</ng-template>\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {FunctionConfigurationComponent} from '../../../../models';\nimport {BehaviorSubject, combineLatest, Observable, Subscription, take} from 'rxjs';\nimport {PluginTranslatePipe} from '../../../../pipes';\nimport {SelectItem} from '@valtimo/components';\n\n@Component({\n selector: 'valtimo-create-zaak-object-configuration',\n templateUrl: './create-zaak-object-configuration.component.html',\n providers: [PluginTranslatePipe],\n standalone: false,\n})\nexport class CreateZaakObjectConfigurationComponent\n implements FunctionConfigurationComponent, OnInit, OnDestroy\n{\n @Input() save$: Observable<void>;\n @Input() disabled$: Observable<boolean>;\n @Input() set pluginId(value: string) {\n this.pluginId$.next(value);\n }\n @Input() prefillConfiguration$: Observable<any>;\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() configuration: EventEmitter<any> = new EventEmitter<any>();\n\n readonly pluginId$ = new BehaviorSubject<string>('');\n public readonly objectTypeOptions: Array<SelectItem> = [\n {id: 'adres', text: 'adres'},\n {id: 'besluit', text: 'besluit'},\n {id: 'buurt', text: 'buurt'},\n {id: 'enkelvoudig_document', text: 'enkelvoudig_document'},\n {id: 'gemeente', text: 'gemeente'},\n {id: 'gemeentelijke_openbare_ruimte', text: 'gemeentelijke_openbare_ruimte'},\n {id: 'huishouden', text: 'huishouden'},\n {id: 'inrichtingselement', text: 'inrichtingselement'},\n {id: 'kadastrale_onroerende_zaak', text: 'kadastrale_onroerende_zaak'},\n {id: 'kunstwerkdeel', text: 'kunstwerkdeel'},\n {id: 'maatschappelijke_activiteit', text: 'maatschappelijke_activiteit'},\n {id: 'medewerker', text: 'medewerker'},\n {id: 'natuurlijk_persoon', text: 'natuurlijk_persoon'},\n {id: 'niet_natuurlijk_persoon', text: 'niet_natuurlijk_persoon'},\n {id: 'openbare_ruimte', text: 'openbare_ruimte'},\n {id: 'organisatorische_eenheid', text: 'organisatorische_eenheid'},\n {id: 'pand', text: 'pand'},\n {id: 'spoorbaandeel', text: 'spoorbaandeel'},\n {id: 'status', text: 'status'},\n {id: 'terreindeel', text: 'terreindeel'},\n {id: 'terrein_gebouwd_object', text: 'terrein_gebouwd_object'},\n {id: 'vestiging', text: 'vestiging'},\n {id: 'waterdeel', text: 'waterdeel'},\n {id: 'wegdeel', text: 'wegdeel'},\n {id: 'wijk', text: 'wijk'},\n {id: 'woonplaats', text: 'woonplaats'},\n {id: 'woz_deelobject', text: 'woz_deelobject'},\n {id: 'woz_object', text: 'woz_object'},\n {id: 'woz_waarde', text: 'woz_waarde'},\n {id: 'zakelijk_recht', text: 'zakelijk_recht'},\n {id: 'overige', text: 'overige'},\n ];\n\n private saveSubscription!: Subscription;\n\n public readonly formValue$ = new BehaviorSubject<any | null>(null);\n private readonly valid$ = new BehaviorSubject<boolean>(false);\n\n constructor() {}\n\n ngOnInit(): void {\n this.openSaveSubscription();\n }\n\n ngOnDestroy() {\n this.saveSubscription?.unsubscribe();\n }\n\n formValueChange(input: any): void {\n const formValue: any = {\n zaakObjectRequest: {\n object: input.object,\n objectType: input.objectType,\n relatieomschrijving: input.relatieomschrijving,\n },\n };\n\n if (input.objectType === 'zakelijk_recht') {\n // Keep track of include flag for template condition\n formValue.includeZakelijkRechtObjectIdentificatie =\n !!input.includeZakelijkRechtObjectIdentificatie;\n\n if (formValue.includeZakelijkRechtObjectIdentificatie) {\n formValue.zaakObjectRequest.objectIdentificatie = {\n identificatie: input.zakelijkRechtIdentificatie,\n avgAard: input.zakelijkRechtAvgAard,\n };\n }\n }\n\n if (input.objectType === 'overige') {\n formValue.zaakObjectRequest.objectTypeOverige = input.objectTypeOverige;\n\n // Keep track of include flag for template condition\n formValue.includeObjectTypeOverigeDefinitie = !!input.includeObjectTypeOverigeDefinitie;\n\n if (formValue.includeObjectTypeOverigeDefinitie) {\n formValue.zaakObjectRequest.objectTypeOverigeDefinitie = {\n url: input.objectTypeOverigeDefinitieUrl,\n schema: input.objectTypeOverigeDefinitieSchema,\n objectData: input.objectTypeOverigeDefinitieObjectData,\n };\n }\n }\n\n this.formValue$.next(formValue);\n this.handleValid(formValue);\n }\n\n private handleValid(formValue: any): void {\n let valid = !!formValue.zaakObjectRequest.objectType;\n\n if (valid && formValue.zaakObjectRequest.objectType === 'zakelijk_recht') {\n if (\n formValue.zaakObjectRequest.objectIdentificatie &&\n (!formValue.zaakObjectRequest.objectIdentificatie.identificatie ||\n !formValue.zaakObjectRequest.objectIdentificatie.avgAard)\n ) {\n valid = false;\n }\n }\n\n if (valid && formValue.zaakObjectRequest.objectType === 'overige') {\n valid = !!formValue.zaakObjectRequest.objectTypeOverige;\n\n if (\n formValue.zaakObjectRequest.objectTypeOverigeDefinitie &&\n (!formValue.zaakObjectRequest.objectTypeOverigeDefinitie.url ||\n !formValue.zaakObjectRequest.objectTypeOverigeDefinitie.schema ||\n !formValue.zaakObjectRequest.objectTypeOverigeDefinitie.objectData)\n ) {\n valid = false;\n }\n }\n\n this.valid$.next(valid);\n this.valid.emit(valid);\n }\n\n private openSaveSubscription(): void {\n this.saveSubscription = this.save$?.subscribe(save => {\n combineLatest([this.formValue$, this.valid$])\n .pipe(take(1))\n .subscribe(([formValue, valid]) => {\n if (valid) {\n this.configuration.emit(formValue);\n }\n });\n });\n }\n}\n","<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"{\n pluginId: pluginId$ | async,\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null,\n formValue: formValue$ | async,\n } as obs\"\n>\n <v-input\n name=\"object\"\n [title]=\"'zaakObjectObjectUrl' | pluginTranslate: obs.pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.zaakObjectRequest?.object\"\n [disabled]=\"obs.disabled\"\n [required]=\"false\"\n [tooltip]=\"'zaakObjectObjectUrlTooltip' | pluginTranslate: obs.pluginId | async\"\n ></v-input>\n\n <v-select\n [items]=\"objectTypeOptions\"\n name=\"objectType\"\n [title]=\"'objectType' | pluginTranslate: obs.pluginId | async\"\n [disabled]=\"obs.disabled\"\n [defaultSelectionId]=\"obs.prefill?.zaakObjectRequest?.objectType\"\n [required]=\"true\"\n [tooltip]=\"'objectTypeTooltip' | pluginTranslate: obs.pluginId | async\"\n [margin]=\"true\"\n ></v-select>\n\n <v-input\n name=\"relatieomschrijving\"\n [title]=\"'relatieomschrijving' | pluginTranslate: obs.pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.zaakObjectRequest?.relatieomschrijving\"\n [disabled]=\"obs.disabled\"\n [required]=\"false\"\n [tooltip]=\"'relatieomschrijvingTooltip' | pluginTranslate: obs.pluginId | async\"\n ></v-input>\n\n @if (obs.formValue?.zaakObjectRequest?.objectType === 'zakelijk_recht') {\n <v-input\n type=\"checkbox\"\n name=\"includeZakelijkRechtObjectIdentificatie\"\n [title]=\"'objectIdentificatie' | pluginTranslate: obs.pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"\n !!(\n obs.prefill?.zaakObjectRequest?.objectIdentificatie?.identificatie ||\n obs.prefill?.zaakObjectRequest?.objectIdentificatie?.avgAard\n )\n \"\n [disabled]=\"obs.disabled\"\n [required]=\"false\"\n ></v-input>\n\n @if (obs.formValue?.includeZakelijkRechtObjectIdentificatie) {\n <v-input\n name=\"zakelijkRechtIdentificatie\"\n [title]=\"'zakelijkRechtIdentificatie' | pluginTranslate: obs.pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.zaakObjectRequest?.objectIdentificatie?.identificatie\"\n [disabled]=\"obs.disabled\"\n [required]=\"obs.formValue?.includeZakelijkRechtObjectIdentificatie\"\n [tooltip]=\"'zakelijkRechtIdentificatieTooltip' | pluginTranslate: obs.pluginId | async\"\n ></v-input>\n\n <v-input\n name=\"zakelijkRechtAvgAard\"\n [title]=\"'zakelijkRechtAvgAard' | pluginTranslate: obs.pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.zaakObjectRequest?.objectIdentificatie?.avgAard\"\n [disabled]=\"obs.disabled\"\n [required]=\"obs.formValue?.includeZakelijkRechtObjectIdentificatie\"\n [tooltip]=\"'zakelijkRechtAvgAardTooltip' | pluginTranslate: obs.pluginId | async\"\n ></v-input>\n }\n }\n\n @if (obs.formValue?.zaakObjectRequest?.objectType === 'overige') {\n <v-input\n name=\"objectTypeOverige\"\n [title]=\"'objectTypeOverige' | pluginTranslate: obs.pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.zaakObjectRequest?.objectTypeOverige\"\n [disabled]=\"obs.disabled\"\n [required]=\"obs.formValue?.zaakObjectRequest?.objectType === 'overige'\"\n [tooltip]=\"'objectTypeOverigeTooltip' | pluginTranslate: obs.pluginId | async\"\n ></v-input>\n\n <v-input\n type=\"checkbox\"\n name=\"includeObjectTypeOverigeDefinitie\"\n [title]=\"'objectTypeOverigeDefinitie' | pluginTranslate: obs.pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"\n !!(\n obs.prefill?.zaakObjectRequest?.objectTypeOverigeDefinitie?.url ||\n obs.prefill?.zaakObjectRequest?.objectTypeOverigeDefinitie?.schema ||\n obs.prefill?.zaakObjectRequest?.objectTypeOverigeDefinitie?.objectData\n )\n \"\n [disabled]=\"obs.disabled\"\n [required]=\"false\"\n ></v-input>\n\n @if (obs.formValue?.includeObjectTypeOverigeDefinitie) {\n <v-input\n name=\"objectTypeOverigeDefinitieUrl\"\n [title]=\"'objectTypeOverigeDefinitieUrl' | pluginTranslate: obs.pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.zaakObjectRequest?.objectTypeOverigeDefinitie?.url\"\n [disabled]=\"obs.disabled\"\n [required]=\"obs.formValue?.includeObjectTypeOverigeDefinitie\"\n [tooltip]=\"'objectTypeOverigeDefinitieUrlTooltip' | pluginTranslate: obs.pluginId | async\"\n ></v-input>\n\n <v-input\n name=\"objectTypeOverigeDefinitieSchema\"\n [title]=\"'objectTypeOverigeDefinitieSchema' | pluginTranslate: obs.pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.zaakObjectRequest?.objectTypeOverigeDefinitie?.schema\"\n [disabled]=\"obs.disabled\"\n [required]=\"obs.formValue?.includeObjectTypeOverigeDefinitie\"\n [tooltip]=\"\n 'objectTypeOverigeDefinitieSchemaTooltip' | pluginTranslate: obs.pluginId | async\n \"\n ></v-input>\n\n <v-input\n name=\"objectTypeOverigeDefinitieObjectData\"\n [title]=\"'objectTypeOverigeDefinitieObjectData' | pluginTranslate: obs.pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.zaakObjectRequest?.objectTypeOverigeDefinitie?.objectData\"\n [disabled]=\"obs.disabled\"\n [required]=\"obs.formValue?.includeObjectTypeOverigeDefinitie\"\n [tooltip]=\"\n 'objectTypeOverigeDefinitieObjectDataTooltip' | pluginTranslate: obs.pluginId | async\n \"\n ></v-input>\n }\n }\n</v-form>\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {FunctionConfigurationComponent} from '../../../../models';\nimport {\n BehaviorSubject,\n combineLatest,\n filter,\n map,\n Observable,\n Subscription,\n switchMap,\n take,\n} from 'rxjs';\nimport {RelateerZakenConfig} from '../../models';\nimport {PluginTranslatePipe} from '../../../../pipes';\nimport {SelectItem} from '@valtimo/components';\n\n@Component({\n selector: 'valtimo-relateer-zaken',\n templateUrl: './relateer-zaken.component.html',\n providers: [PluginTranslatePipe],\n standalone: false,\n})\nexport class RelateerZakenComponent implements FunctionConfigurationComponent, OnInit, OnDestroy {\n @Input() save$: Observable<void>;\n @Input() disabled$: Observable<boolean>;\n @Input() set pluginId(value: string) {\n this.pluginId$.next(value);\n }\n @Input() prefillConfiguration$: Observable<RelateerZakenConfig>;\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() configuration: EventEmitter<RelateerZakenConfig> =\n new EventEmitter<RelateerZakenConfig>();\n\n readonly pluginId$ = new BehaviorSubject<string>('');\n public readonly aardRelatieOptions$: Observable<Array<SelectItem>> = this.pluginId$.pipe(\n filter(pluginId => !!pluginId),\n switchMap(pluginId =>\n combineLatest([\n this.pluginTranslatePipe.transform('option-vervolg', pluginId),\n this.pluginTranslatePipe.transform('option-onderwerp', pluginId),\n this.pluginTranslatePipe.transform('option-bijdrage', pluginId),\n ])\n ),\n map(([vervolgText, onderwerpText, bijdrageText]) => [\n {id: 'vervolg', text: vervolgText},\n {id: 'onderwerp', text: onderwerpText},\n {id: 'bijdrage', text: bijdrageText},\n ])\n );\n\n private saveSubscription!: Subscription;\n\n private readonly formValue$ = new BehaviorSubject<RelateerZakenConfig | null>(null);\n private readonly valid$ = new BehaviorSubject<boolean>(false);\n\n constructor(private readonly pluginTranslatePipe: PluginTranslatePipe) {}\n\n ngOnInit(): void {\n this.openSaveSubscription();\n }\n\n ngOnDestroy() {\n this.saveSubscription?.unsubscribe();\n }\n\n formValueChange(formValue: RelateerZakenConfig): void {\n this.formValue$.next(formValue);\n this.handleValid(formValue);\n }\n\n private handleValid(formValue: RelateerZakenConfig): void {\n const valid = !!formValue.teRelaterenZaakUri && !!formValue.aardRelatie;\n\n this.valid$.next(valid);\n this.valid.emit(valid);\n }\n\n private openSaveSubscription(): void {\n this.saveSubscription = this.save$?.subscribe(save => {\n combineLatest([this.formValue$, this.valid$])\n .pipe(take(1))\n .subscribe(([formValue, valid]) => {\n if (valid) {\n this.configuration.emit(formValue);\n }\n });\n });\n }\n}\n","<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"{\n pluginId: pluginId$ | async,\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null,\n } as obs\"\n>\n <v-input\n name=\"teRelaterenZaakUri\"\n [title]=\"'teRelaterenZaakUri' | pluginTranslate: obs.pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.teRelaterenZaakUri\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n ></v-input>\n <v-select\n [items]=\"aardRelatieOptions$ | async\"\n name=\"aardRelatie\"\n [title]=\"'aardRelatie' | pluginTranslate: obs.pluginId | async\"\n [disabled]=\"obs.disabled\"\n [defaultSelectionId]=\"obs.prefill?.aardRelatie\"\n [required]=\"true\"\n ></v-select>\n</v-form>\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {FunctionConfigurationComponent} from '../../../../models';\nimport {BehaviorSubject, combineLatest, map, Observable, Subscription, take} from 'rxjs';\nimport {PluginManagementService, PluginTranslationService} from '../../../../services';\nimport {TranslateService} from '@ngx-translate/core';\nimport {GetZaakInformatieobjectenConfig} from '../../models';\n\n@Component({\n standalone: false,\n selector: 'valtimo-get-zaak-document-configuration',\n templateUrl: './get-zaak-informatieobjecten.component.html',\n styleUrls: ['./get-zaak-informatieobjecten.component.scss'],\n})\nexport class GetZaakInformatieobjectenComponent\n implements FunctionConfigurationComponent, OnInit, OnDestroy\n{\n @Input() save$: Observable<void>;\n @Input() disabled$: Observable<boolean>;\n @Input() pluginId: string;\n @Input() prefillConfiguration$: Observable<GetZaakInformatieobjectenConfig>;\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() configuration: EventEmitter<GetZaakInformatieobjectenConfig> =\n new EventEmitter<GetZaakInformatieobjectenConfig>();\n\n private saveSubscription!: Subscription;\n\n private readonly formValue$ = new BehaviorSubject<GetZaakInformatieobjectenConfig | null>(null);\n private readonly valid$ = new BehaviorSubject<boolean>(false);\n\n readonly authenticationPluginSelectItems$: Observable<Array<{id: string; text: string}>> =\n combineLatest([\n this.pluginManagementService.getPluginConfigurationsByCategory('get-zaak-documents'),\n this.translateService.stream('key'),\n ]).pipe(\n map(([configurations]) =>\n configurations.map(configuration => ({\n id: configuration.id,\n text: `${configuration.title} - ${this.pluginTranslationService.instant(\n 'title',\n configuration.pluginDefinition.key\n )}`,\n }))\n )\n );\n\n constructor(\n private readonly pluginManagementService: PluginManagementService,\n private readonly translateService: TranslateService,\n private readonly pluginTranslationService: PluginTranslationService\n ) {}\n\n ngOnInit(): void {\n this.openSaveSubscription();\n }\n\n ngOnDestroy() {\n this.saveSubscription?.unsubscribe();\n }\n\n formValueChange(formValue: GetZaakInformatieobjectenConfig): void {\n this.formValue$.next(formValue);\n this.handleValid(formValue);\n }\n\n private handleValid(formValue: GetZaakInformatieobjectenConfig): void {\n const valid = !!formValue.resultProcessVariable;\n\n this.valid$.next(valid);\n this.valid.emit(valid);\n }\n\n private openSaveSubscription(): void {\n this.saveSubscription = this.save$?.subscribe(save => {\n combineLatest([this.formValue$, this.valid$])\n .pipe(take(1))\n .subscribe(([formValue, valid]) => {\n if (valid) {\n this.configuration.emit(formValue);\n }\n });\n });\n }\n}\n","<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null,\n } as obs\"\n>\n <v-input\n name=\"resultProcessVariable\"\n [title]=\"'resultProcessVariable' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.resultProcessVariable\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n [trim]=\"true\"\n [tooltip]=\"'resultProcessVariableTooltip' | pluginTranslate: pluginId | async\"\n [fullWidth]=\"true\"\n >\n </v-input>\n</v-form>\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {FunctionConfigurationComponent} from '../../../../models';\nimport {BehaviorSubject, combineLatest, Observable, Subscription, take} from 'rxjs';\nimport {GetZaakbesluitenConfig} from '../../models';\n\n@Component({\n selector: 'valtimo-get-zaakbesluiten-configuration',\n templateUrl: './get-zaakbesluiten-configuration.component.html',\n standalone: false,\n})\nexport class GetZaakbesluitenConfigurationComponent\n implements FunctionConfigurationComponent, OnInit, OnDestroy\n{\n @Input() save$: Observable<void>;\n @Input() disabled$: Observable<boolean>;\n @Input() pluginId: string;\n @Input() prefillConfiguration$: Observable<GetZaakbesluitenConfig>;\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() configuration: EventEmitter<GetZaakbesluitenConfig> =\n new EventEmitter<GetZaakbesluitenConfig>();\n\n private saveSubscription!: Subscription;\n private readonly formValue$ = new BehaviorSubject<GetZaakbesluitenConfig | null>(null);\n private readonly valid$ = new BehaviorSubject<boolean>(false);\n\n public ngOnInit(): void {\n this.openSaveSubscription();\n this.valid.emit(true);\n }\n\n public ngOnDestroy(): void {\n this.saveSubscription?.unsubscribe();\n }\n\n private openSaveSubscription(): void {\n this.saveSubscription = this.save$?.subscribe(save => {\n combineLatest([this.formValue$, this.valid$])\n .pipe(take(1))\n .subscribe(([formValue, valid]) => {\n if (valid) {\n this.configuration.emit(formValue);\n }\n });\n });\n }\n\n public formValueChange(formValue: GetZaakbesluitenConfig): void {\n this.formValue$.next(formValue);\n this.handleValid(formValue);\n }\n\n private handleValid(formValue: GetZaakbesluitenConfig): void {\n const valid = !!formValue.resultProcessVariable;\n\n this.valid$.next(valid);\n this.valid.emit(valid);\n }\n}\n","<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null,\n } as obs\"\n>\n <v-input\n name=\"resultProcessVariable\"\n [title]=\"'resultProcessVariable' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.resultProcessVariable\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n [trim]=\"true\"\n [tooltip]=\"'resultProcessVariableTooltip' | pluginTranslate: pluginId | async\"\n ></v-input>\n</v-form>\n","export const ZAAKNOTIFICATIE_STATUSES: string[] = ['concept', 'definitief'];\n","export const ZAAKNOTIFICATIE_TYPES: string[] = ['intern', 'extern'];\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {FunctionConfigurationComponent} from '../../../../models';\nimport {BehaviorSubject, combineLatest, Observable, Subscription, take} from 'rxjs';\nimport {CreateZaakNotitieConfig} from '../../models';\nimport {ZAAKNOTIFICATIE_STATUSES} from '../../models/zaaknotificatie-statuses';\nimport {ZAAKNOTIFICATIE_TYPES} from '../../models/zaaknotificatie-types';\n\n@Component({\n standalone: false,\n selector: 'valtimo-create-zaaknotitie-configuration',\n templateUrl: './create-zaaknotitie-configuration.component.html',\n})\nexport class CreateZaakNotitieConfigurationComponent\n implements FunctionConfigurationComponent, OnInit, OnDestroy\n{\n @Input() save$: Observable<void>;\n @Input() disabled$: Observable<boolean>;\n @Input() prefillConfiguration$: Observable<CreateZaakNotitieConfig>;\n @Input() pluginId: string;\n\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() configuration: EventEmitter<CreateZaakNotitieConfig> =\n new EventEmitter<CreateZaakNotitieConfig>();\n\n public readonly statusOptions: string[] = ZAAKNOTIFICATIE_STATUSES\n public readonly notitieTypeOptions: string[] = ZAAKNOTIFICATIE_TYPES\n\n private readonly _formValue$ = new BehaviorSubject<CreateZaakNotitieConfig | null>(null);\n private readonly _valid$ = new BehaviorSubject<boolean>(false);\n private _saveSubscription!: Subscription;\n\n public ngOnInit(): void {\n this.openSaveSubscription();\n }\n\n public ngOnDestroy(): void {\n this._saveSubscription?.unsubscribe();\n }\n\n public onFormValueChanged(value: CreateZaakNotitieConfig): void {\n this._formValue$.next(value);\n this.handleValid(value);\n }\n\n private handleValid(formValue: CreateZaakNotitieConfig): void {\n const valid = !!formValue?.onderwerp && !!formValue?.tekst;\n this._valid$.next(valid);\n this.valid.emit(valid);\n }\n\n private openSaveSubscription(): void {\n this._saveSubscription = this.save$.subscribe(() => {\n combineLatest([this._formValue$, this._valid$])\n .pipe(take(1))\n .subscribe(([formValue, valid]) => {\n if (valid && formValue) {\n this.configuration.emit({\n onderwerp: formValue.onderwerp,\n tekst: formValue.tekst,\n aangemaaktDoor: formValue.aangemaaktDoor,\n notitieType: formValue.notitieType,\n status: formValue.status,\n });\n }\n });\n });\n }\n}\n","<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<ng-container\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null,\n } as obs\"\n>\n <v-paragraph [margin]=\"true\" [italic]=\"true\">\n {{ 'createZaakNotitieInformation' | pluginTranslate: pluginId | async }}\n </v-paragraph>\n\n <v-form (valueChange)=\"onFormValueChanged($event)\">\n <v-input\n name=\"onderwerp\"\n [title]=\"'onderwerp' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.onderwerp\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n [trim]=\"true\"\n [fullWidth]=\"true\"\n ></v-input>\n\n <v-input\n type=\"textarea\"\n name=\"tekst\"\n [title]=\"'tekst' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.tekst\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n [trim]=\"true\"\n [fullWidth]=\"true\"\n ></v-input>\n\n <v-input\n name=\"aangemaaktDoor\"\n [title]=\"'aangemaaktDoor' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.aangemaaktDoor\"\n [disabled]=\"obs.disabled\"\n [required]=\"false\"\n [trim]=\"true\"\n [fullWidth]=\"true\"\n ></v-input>\n\n <v-input\n name=\"notitieType\"\n [title]=\"'notitieType' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.notitieType\"\n [disabled]=\"obs.disabled\"\n [required]=\"false\"\n [trim]=\"true\"\n [fullWidth]=\"true\"\n [presetOptions]=\"notitieTypeOptions\"\n ></v-input>\n\n <v-input\n name=\"status\"\n [title]=\"'status' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.status\"\n [disabled]=\"obs.disabled\"\n [required]=\"false\"\n [trim]=\"true\"\n [fullWidth]=\"true\"\n [presetOptions]=\"statusOptions\"\n ></v-input>\n </v-form>\n</ng-container>\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport const PatchZaakNotitiePropertyOptions = [\n 'onderwerp',\n 'tekst',\n 'aangemaaktDoor',\n 'notitieType',\n 'status'\n] as const;\n\nexport type PatchZaakNotitieProperties = (typeof PatchZaakNotitiePropertyOptions)[number];\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {FunctionConfigurationComponent} from '../../../../models';\nimport {BehaviorSubject, combineLatest, Observable, Subscription, take} from 'rxjs';\nimport {IconService} from 'carbon-components-angular';\nimport {Add16, TrashCan16} from '@carbon/icons';\nimport {PatchZaakNotitieConfig, PropertyFormField} from '../../models';\nimport {PatchZaakNotitieProperties, PatchZaakNotitiePropertyOptions} from '../../models/patch-zaaknotitie-properties';\nimport {ZAAKNOTIFICATIE_TYPES} from '../../models/zaaknotificatie-types';\nimport {ZAAKNOTIFICATIE_STATUSES} from '../../models/zaaknotificatie-statuses';\n\n@Component({\n standalone: false,\n selector: 'valtimo-patch-zaaknotitie-configuration',\n templateUrl: './patch-zaaknotitie-configuration.component.html',\n styleUrls: ['./patch-zaaknotitie-configuration.component.scss'],\n})\nexport class PatchZaakNotitieConfigurationComponent\n implements FunctionConfigurationComponent, OnInit, OnDestroy\n{\n @Input() disabled$: Observable<boolean>;\n @Input() pluginId: string;\n @Input() save$: Observable<void>;\n @Input() prefillConfiguration$: Observable<PatchZaakNotitieConfig>;\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() configuration: EventEmitter<PatchZaakNotitieConfig> = new EventEmitter<PatchZaakNotitieConfig>();\n\n public readonly propertyOptions: string[] = Object.values(PatchZaakNotitiePropertyOptions);\n public readonly propertyList: Array<PropertyFormField> = [];\n public readonly statusOptions: string[] = ZAAKNOTIFICATIE_STATUSES;\n public readonly notitieTypeOptions: string[] = ZAAKNOTIFICATIE_TYPES;\n\n private readonly _formValue$ = new BehaviorSubject<PatchZaakNotitieConfig>({zaakNotitieUrl: undefined});\n private readonly _properties = new Map<PatchZaakNotitieProperties, string>();\n private _saveSubscription!: Subscription;\n private readonly _valid$ = new BehaviorSubject<boolean>(false);\n\n constructor(\n private readonly iconService: IconService\n ) {\n this.iconService.registerAll([Add16, TrashCan16]);\n }\n\n public ngOnInit(): void {\n this.initPropertyList();\n this.openSaveSubscription();\n }\n\n public ngOnDestroy(): void {\n this._saveSubscription?.unsubscribe();\n }\n\n public onFormValueChanged(formValue: PatchZaakNotitieConfig): void {\n const _formValue = this.formValueIncludingProperties(formValue);\n this._formValue$.next(_formValue);\n this.handleValid(_formValue);\n }\n\n public onPropertyChanged(property: PatchZaakNotitieProperties, value: any): void {\n this._properties.set(property, value);\n this.onFormValueChanged(this._formValue$.getValue());\n }\n\n public addProperty(property: PatchZaakNotitieProperties): void {\n if (!this.hasPropertyBeenAdded(property)) {\n this.propertyList.push(this.propertyFormFieldFor(property));\n this.onPropertyChanged(property, undefined);\n }\n }\n\n public removeProperty(property: PatchZaakNotitieProperties): void {\n if (this.hasPropertyBeenAdded(property)) {\n this.propertyList.splice(this.propertyList.findIndex(item => item.name === property), 1);\n this.onPropertyChanged(property, undefined);\n }\n }\n\n public hasPropertyBeenAdded(property: PatchZaakNotitieProperties): boolean {\n return this.propertyList.findIndex(item => item.name === property) !== -1;\n }\n\n public prefillValueFor(property: PatchZaakNotitieProperties, prefill: PatchZaakNotitieConfig): string | null {\n return prefill !== null ? prefill[property] : null;\n }\n\n private initPropertyList(): void {\n this.prefillConfiguration$.pipe(take(1)).subscribe(prefill => {\n if (prefill) {\n PatchZaakNotitiePropertyOptions\n .forEach(property => {\n if (!!prefill[property]) this.addProperty(property)\n });\n }\n });\n }\n\n private formValueIncludingProperties(formValue: PatchZaakNotitieConfig): PatchZaakNotitieConfig {\n this._properties.forEach((value, key) => {\n formValue[key] = value;\n });\n return formValue;\n }\n\n private propertyFormFieldFor(property: PatchZaakNotitieProperties): PropertyFormField {\n return {\n type: this.inputTypeForProperty(property),\n name: property,\n translationKey: this.translationKeyFor(property),\n presetOptions: this.presetOptionsForProperty(property)\n }\n }\n\n private inputTypeForProperty(property: PatchZaakNotitieProperties): string {\n switch (property) {\n case 'tekst':\n return 'textarea';\n default:\n return 'text';\n }\n }\n\n private translationKeyFor(property: string): string {\n return property;\n }\n\n private translationKeyForPropertyList(property: PatchZaakNotitieProperties): string {\n return this.translationKeyFor(property);\n }\n\n private presetOptionsForProperty(property: PatchZaakNotitieProperties): string[] {\n switch (property) {\n case 'notitieType':\n return this.notitieTypeOptions;\n case 'status':\n return this.statusOptions;\n default:\n return [];\n }\n }\n\n private handleValid(formValue: PatchZaakNotitieConfig): void {\n const isPropertyInvalid = this.propertyList.some(property => !!!formValue[property.name]);\n const valid = !isPropertyInvalid;\n this._valid$.next(valid);\n this.valid.emit(valid);\n }\n\n private openSaveSubscription(): void {\n this._saveSubscription = this.save$.subscribe(save => {\n combineLatest([this._formValue$, this._valid$])\n .pipe(take(1))\n .subscribe(([formValue, valid]) => {\n if (valid) {\n this.configuration.emit(formValue);\n }\n });\n });\n }\n}\n","<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<ng-container\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null\n } as obs\"\n>\n <v-paragraph [margin]=\"true\" [italic]=\"true\">\n {{ 'patchZaakNotitieInformation' | pluginTranslate: pluginId | async }}\n </v-paragraph>\n\n <v-form (valueChange)=\"onFormValueChanged($event)\">\n <v-input\n name=\"zaakNotitieUrl\"\n [title]=\"'zaakNotitieUrl' | pluginTranslate: pluginId | async\"\n [tooltip]=\"'zaakNotitieUrlTooltip' | pluginTranslate: pluginId | async\"\n [required]=\"true\"\n [defaultValue]=\"obs.prefill?.zaakNotitieUrl\"\n [disabled]=\"obs.disabled\"\n [margin]=\"true\"\n [trim]=\"true\"\n ></v-input>\n\n <div class=\"row\">\n <div class=\"col-12\">\n <button\n cdsButton=\"primary\"\n class=\"add-button\"\n [size]=\"'md'\"\n [cdsOverflowMenu]=\"addPropertyList\"\n [customPane]=\"true\"\n placement=\"bottom\"\n >\n {{ 'addPatchZaakNotitieProperty' | pluginTranslate: pluginId | async }}\n\n <svg class=\"cds--btn__icon\" cdsIcon=\"add\" size=\"16\"></svg>\n </button>\n </div>\n </div>\n\n @for (property of propertyList; track property) {\n <div class=\"row\">\n <div class=\"col-11\">\n <v-input\n [type]=\"property.type\"\n [name]=\"property.name\"\n [title]=\"property.translationKey | pluginTranslate: pluginId | async\"\n [required]=\"true\"\n [defaultValue]=\"prefillValueFor(property.name, obs.prefill)\"\n [margin]=\"true\"\n [trim]=\"true\"\n [presetOptions]=\"property.presetOptions\"\n (valueChange)=\"onPropertyChanged(property.name, $event)\"\n />\n </div>\n <div class=\"col-1\">\n <button class=\"btn btn-space delete-button\" (click)=\"removeProperty(property.name)\">\n <svg class=\"cds--btn__icon\" cdsIcon=\"trash-can\" size=\"16\"></svg>\n </button>\n </div>\n </div>\n }\n </v-form>\n</ng-container>\n\n<ng-template #addPropertyList>\n @for (propertyOption of propertyOptions; track propertyOption) {\n <cds-overflow-menu-option\n *ngIf=\"!hasPropertyBeenAdded(propertyOption)\"\n (click)=\"addProperty(propertyOption)\"\n >\n {{ translationKeyForPropertyList(propertyOption) | pluginTranslate: pluginId | async }}\n </cds-overflow-menu-option>\n }\n</ng-template>\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {NgModule} from '@angular/core';\nimport {CommonModule} from '@angular/common';\nimport {PluginTranslatePipeModule} from '../../pipes';\nimport {\n FormModule,\n InputLabelModule,\n InputModule,\n ParagraphModule,\n RadioModule,\n ReadOnlyDirective,\n SelectModule,\n} from '@valtimo/components';\nimport {\n ButtonModule,\n DatePickerInputModule, DatePickerModule,\n DialogModule,\n IconModule,\n LoadingModule,\n NotificationModule,\n TimePickerModule,\n ToggleModule,\n} from 'carbon-components-angular';\nimport {TranslateModule} from '@ngx-translate/core';\nimport {ZakenApiConfigurationComponent} from './components/zaken-api-configuration/zaken-api-configuration.component';\nimport {LinkDocumentToZaakConfigurationComponent} from './components/link-document-to-zaak/link-document-to-zaak-configuration.component';\nimport {LinkUploadedDocumentToZaakConfigurationComponent} from './components/link-uploaded-document-to-zaak/link-uploaded-document-to-zaak-configuration.component';\nimport {SetZaakStatusConfigurationComponent} from './components/set-zaak-status/set-zaak-status-configuration.component';\nimport {CreateZaakResultaatConfigurationComponent} from './components/create-zaak-resultaat/create-zaak-resultaat-configuration.component';\nimport {CreateMedewerkerZaakRolComponent} from './components/create-medewerker-zaak-rol/create-medewerker-zaak-rol.component';\nimport {CreateNatuurlijkPersoonZaakRolComponent} from './components/create-natuurlijk-persoon-zaak-rol/create-natuurlijk-persoon-zaak-rol.component';\nimport {CreateNietNatuurlijkPersoonZaakRolComponent} from './components/create-niet-natuurlijk-persoon-zaak-rol/create-niet-natuurlijk-persoon-zaak-rol.component';\nimport {CreateOrganisatorischeEenheidZaakRolComponent} from './components/create-organisatorische-eenheid-zaak-rol/create-organisatorische-eenheid-zaak-rol.component';\nimport {CreateVestigingZaakRolComponent} from './components/create-vestiging-zaak-rol/create-vestiging-zaak-rol.component';\nimport {DeleteZaakRolComponent} from './components/delete-zaak-rol/delete-zaak-rol.component';\nimport {CreateZaakConfigurationComponent} from './components/create-zaak/create-zaak-configuration.component';\nimport {PatchZaakConfigurationComponent} from './components/patch-zaak/patch-zaak-configuration.component';\nimport {SetZaakopschortingComponent} from './components/set-zaakopschorting/set-zaakopschorting.component';\nimport {StartHersteltermijnConfigurationComponent} from './components/start-hersteltermijn/start-hersteltermijn-configuration.component';\nimport {EndHersteltermijnComponent} from './components/end-hersteltermijn/end-hersteltermijn.component';\nimport {CreateZaakeigenschapComponent} from './components/create-zaakeigenschap/create-zaakeigenschap.component';\nimport {UpdateZaakeigenschapComponent} from './components/update-zaakeigenschap/update-zaakeigenschap.component';\nimport {DeleteZaakeigenschapComponent} from './components/delete-zaakeigenschap/delete-zaakeigenschap.component';\nimport {CreateZaakObjectConfigurationComponent} from './components/create-zaak-object/create-zaak-object-configuration.component';\nimport {RelateerZakenComponent} from './components/relateer-zaken/relateer-zaken.component';\nimport {FormsModule, ReactiveFormsModule} from '@angular/forms';\nimport {GetZaakInformatieobjectenComponent} from './components/get-zaak-informatieobjecten/get-zaak-informatieobjecten.component';\nimport {GetZaakbesluitenConfigurationComponent} from './components/get-zaakbesluiten/get-zaakbesluiten-configuration.component';\nimport {CreateZaakNotitieConfigurationComponent} from './components/create-zaaknotitie/create-zaaknotitie-configuration.component';\nimport {PatchZaakNotitieConfigurationComponent} from './components/patch-zaaknotitie/patch-zaaknotitie-configuration.component';\n\n@NgModule({\n declarations: [\n ZakenApiConfigurationComponent,\n LinkDocumentToZaakConfigurationComponent,\n LinkUploadedDocumentToZaakConfigurationComponent,\n GetZaakInformatieobjectenComponent,\n SetZaakStatusConfigurationComponent,\n CreateZaakResultaatConfigurationComponent,\n CreateMedewerkerZaakRolComponent,\n CreateNatuurlijkPersoonZaakRolComponent,\n CreateNietNatuurlijkPersoonZaakRolComponent,\n CreateOrganisatorischeEenheidZaakRolComponent,\n CreateVestigingZaakRolComponent,\n DeleteZaakRolComponent,\n CreateZaakConfigurationComponent,\n PatchZaakConfigurationComponent,\n SetZaakopschortingComponent,\n StartHersteltermijnConfigurationComponent,\n EndHersteltermijnComponent,\n CreateZaakeigenschapComponent,\n UpdateZaakeigenschapComponent,\n DeleteZaakeigenschapComponent,\n CreateZaakObjectConfigurationComponent,\n RelateerZakenComponent,\n PatchZaakConfigurationComponent,\n GetZaakbesluitenConfigurationComponent,\n CreateZaakNotitieConfigurationComponent,\n PatchZaakNotitieConfigurationComponent,\n ],\n imports: [\n CommonModule,\n PluginTranslatePipeModule,\n FormModule,\n InputModule,\n SelectModule,\n ParagraphModule,\n ToggleModule,\n InputLabelModule,\n RadioModule,\n LoadingModule,\n ButtonModule,\n DialogModule,\n IconModule,\n TranslateModule,\n DatePickerInputModule,\n DatePickerModule,\n FormsModule,\n NotificationModule,\n ReactiveFormsModule,\n TimePickerModule,\n InputModule,\n ReactiveFormsModule,\n ReadOnlyDirective,\n InputLabelModule,\n ],\n exports: [\n ZakenApiConfigurationComponent,\n LinkDocumentToZaakConfigurationComponent,\n LinkUploadedDocumentToZaakConfigurationComponent,\n GetZaakInformatieobjectenComponent,\n SetZaakStatusConfigurationComponent,\n CreateZaakResultaatConfigurationComponent,\n CreateZaakConfigurationComponent,\n PatchZaakConfigurationComponent,\n CreateMedewerkerZaakRolComponent,\n CreateNatuurlijkPersoonZaakRolComponent,\n CreateNietNatuurlijkPersoonZaakRolComponent,\n CreateOrganisatorischeEenheidZaakRolComponent,\n CreateVestigingZaakRolComponent,\n DeleteZaakRolComponent,\n SetZaakopschortingComponent,\n StartHersteltermijnConfigurationComponent,\n EndHersteltermijnComponent,\n CreateZaakeigenschapComponent,\n UpdateZaakeigenschapComponent,\n DeleteZaakeigenschapComponent,\n CreateZaakObjectConfigurationComponent,\n RelateerZakenComponent,\n GetZaakbesluitenConfigurationComponent,\n CreateZaakNotitieConfigurationComponent,\n PatchZaakNotitieConfigurationComponent,\n ],\n})\nexport class ZakenApiPluginModule {}\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nconst ZAKEN_API_PLUGIN_LOGO_BASE64 =\n 'data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB2aWV3Qm94PSIxNTAgMTUgOTYgNTAiPjxkZWZzPjxwYXRoIGlkPSJhIiBkPSJNNTcuMzk2LjIxMUguMjgxdjQ5LjQwNWg1Ny4xMTVWLjIxeiIvPjxwYXRoIGlkPSJjIiBkPSJNNTcuNTY0LjIxMUguNDQ4djQ5LjQwNWg1Ny4xMTZWLjIxeiIvPjwvZGVmcz48ZyBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDE4Ny45MzEgMTUpIj48bWFzayBpZD0iYiIgZmlsbD0iI2ZmZiI+PHVzZSB4bGluazpocmVmPSIjYSIvPjwvbWFzaz48cGF0aCBkPSJNNTcuMzk2IDI0LjkxM2MwLTEzLjU3My0xMS4wMDQtMjQuNjIyLTI0LjU2LTI0LjctLjAyNCAwLS4wNDgtLjAwMy0uMDczLS4wMDNIMjQuNzVhMi41MDQgMi41MDQgMCAxIDAgMCA1LjAxaDcuOTQ1YzEwLjg1OCAwIDE5LjY5NCA4LjgzNCAxOS42OTQgMTkuNjkzIDAgMTAuODYtOC44MzYgMTkuNjk0LTE5LjY5NCAxOS42OTRINS4yODl2LTQuNTc4SC4yODF2OS41ODdoMzIuNDgydi0uMDAxYzEzLjU5LS4wNCAyNC42MzMtMTEuMTA1IDI0LjYzMy0yNC43MDIiIGZpbGw9IiMwMDlGRTQiIG1hc2s9InVybCgjYikiLz48L2c+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTUwIDE1KSI+PG1hc2sgaWQ9ImQiIGZpbGw9IiNmZmYiPjx1c2UgeGxpbms6aHJlZj0iI2MiLz48L21hc2s+PHBhdGggZD0iTS40NDggMjQuOTEzYzAgMTMuNTczIDExLjAwNCAyNC42MjIgMjQuNTYgMjQuNy4wMjQgMCAuMDQ4LjAwMy4wNzMuMDAzaDguMDE0YTIuNTA0IDIuNTA0IDAgMSAwIDAtNS4wMDloLTcuOTQ0Yy0xMC44NTkgMC0xOS42OTQtOC44MzQtMTkuNjk0LTE5LjY5NCAwLTEwLjg1OSA4LjgzNS0xOS42OTQgMTkuNjk0LTE5LjY5NGgyNy40MDR2NC41NzhoNS4wMDlWLjIxSDI1LjA4di4wMDFDMTEuNDkuMjUxLjQ0OCAxMS4zMTYuNDQ4IDI0LjkxMyIgZmlsbD0iIzAwOUZFNCIgbWFzaz0idXJsKCNkKSIvPjwvZz48cGF0aCBmaWxsPSIjMDA0Mzg4IiBkPSJNMTc2LjAxNyA0Mi4xMTZsLTQuNjc4LTEyLjQwMWgtNS42NjRsOC4xNCAyMC4zNjZoMy45MjFsOC40MDEtMjAuMzY2aC01LjM2M3ptMjYuNTQyLjU1OGwtNy45MjgtMTIuOTU5aC02LjQxM3YyMC4zNjdoNC45OTdWMzYuNzg3bDguMTUgMTMuMjk1aDYuMTlWMjkuNzE1aC00Ljk5NnptMTkuMzIzLTQuOTR2NC42NjNoMy41Mzd2Mi42NzdhOS43NzMgOS43NzMgMCAwIDEtMS40MTQuNTRjLS42NTIuMjAzLTEuNDQzLjMwNi0yLjM1NC4zMDYtLjg4IDAtMS42ODYtLjE1LTIuMzk0LS40NDhhNS4zMzggNS4zMzggMCAwIDEtMS44MjQtMS4yNDcgNS41MjIgNS41MjIgMCAwIDEtMS4xNy0xLjg5NGMtLjI3Mi0uNzI5LS40MS0xLjU0OS0uNDEtMi40MzMgMC0uODY3LjEzOC0xLjY4MS40MS0yLjQyYTUuNTAyIDUuNTAyIDAgMCAxIDEuMTctMS45MDggNS4zNzQgNS4zNzQgMCAwIDEgMS44MjQtMS4yNDZjLjcwOS0uMjk4IDEuNTE0LS40NDkgMi4zOTQtLjQ0OSAxLjA2NCAwIDEuOTU5LjE1MSAyLjY1Ny40NDkuNy4yOTcgMS4zMzguNzQgMS44OTggMS4zMThsLjI0Mi4yNDggMy41MTUtMy44MzUtLjIzNy0uMjIxYTguOTIzIDguOTIzIDAgMCAwLTMuNjI3LTIuMDM4Yy0xLjM1LS4zODYtMi44NDctLjU4My00LjQ0OC0uNTgzLTEuNTcyIDAtMy4wNDQuMjUtNC4zNzMuNzQ1YTEwLjEzOSAxMC4xMzkgMCAwIDAtMy40ODEgMi4xNDNjLS45NzUuOTI4LTEuNzQ2IDIuMDY2LTIuMjkgMy4zODQtLjU0MyAxLjMxNS0uODE5IDIuOC0uODE5IDQuNDEzIDAgMS42MTMuMjc2IDMuMDk4LjgyIDQuNDEzLjU0NSAxLjMxOSAxLjMxNCAyLjQ1NyAyLjI4OSAzLjM4NC45NzQuOTI2IDIuMTQ2IDEuNjQ3IDMuNDggMi4xNDMgMS4zMy40OTQgMi44MDIuNzQ0IDQuMzc0Ljc0NCAxLjQ2NCAwIDIuOTItLjE1MiA0LjMzLS40NTJhMTYuMDU0IDE2LjA1NCAwIDAgMCA0LjA5LTEuNDc4bC4xNzctLjA5VjM3LjczM2gtOC4zNjZ6Ii8+PC9nPjwvc3ZnPg==';\n\nexport {ZAKEN_API_PLUGIN_LOGO_BASE64};\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport * from './zaken-api-plugin-logo';\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {PluginSpecification} from '../../models';\nimport {ZAKEN_API_PLUGIN_LOGO_BASE64} from './assets';\nimport {LinkDocumentToZaakConfigurationComponent} from './components/link-document-to-zaak/link-document-to-zaak-configuration.component';\nimport {ZakenApiConfigurationComponent} from './components/zaken-api-configuration/zaken-api-configuration.component';\nimport {LinkUploadedDocumentToZaakConfigurationComponent} from './components/link-uploaded-document-to-zaak/link-uploaded-document-to-zaak-configuration.component';\nimport {SetZaakStatusConfigurationComponent} from './components/set-zaak-status/set-zaak-status-configuration.component';\nimport {CreateZaakResultaatConfigurationComponent} from './components/create-zaak-resultaat/create-zaak-resultaat-configuration.component';\nimport {CreateNatuurlijkPersoonZaakRolComponent} from './components/create-natuurlijk-persoon-zaak-rol/create-natuurlijk-persoon-zaak-rol.component';\nimport {CreateNietNatuurlijkPersoonZaakRolComponent} from './components/create-niet-natuurlijk-persoon-zaak-rol/create-niet-natuurlijk-persoon-zaak-rol.component';\nimport {CreateOrganisatorischeEenheidZaakRolComponent} from './components/create-organisatorische-eenheid-zaak-rol/create-organisatorische-eenheid-zaak-rol.component';\nimport {CreateMedewerkerZaakRolComponent} from './components/create-medewerker-zaak-rol/create-medewerker-zaak-rol.component';\nimport {CreateVestigingZaakRolComponent} from './components/create-vestiging-zaak-rol/create-vestiging-zaak-rol.component';\nimport {DeleteZaakRolComponent} from './components/delete-zaak-rol/delete-zaak-rol.component';\nimport {CreateZaakConfigurationComponent} from './components/create-zaak/create-zaak-configuration.component';\nimport {PatchZaakConfigurationComponent} from './components/patch-zaak/patch-zaak-configuration.component';\nimport {SetZaakopschortingComponent} from './components/set-zaakopschorting/set-zaakopschorting.component';\nimport {StartHersteltermijnConfigurationComponent} from './components/start-hersteltermijn/start-hersteltermijn-configuration.component';\nimport {EndHersteltermijnComponent} from './components/end-hersteltermijn/end-hersteltermijn.component';\nimport {CreateZaakeigenschapComponent} from './components/create-zaakeigenschap/create-zaakeigenschap.component';\nimport {UpdateZaakeigenschapComponent} from './components/update-zaakeigenschap/update-zaakeigenschap.component';\nimport {DeleteZaakeigenschapComponent} from './components/delete-zaakeigenschap/delete-zaakeigenschap.component';\nimport {CreateZaakObjectConfigurationComponent} from './components/create-zaak-object/create-zaak-object-configuration.component';\nimport {RelateerZakenComponent} from './components/relateer-zaken/relateer-zaken.component';\nimport {GetZaakbesluitenConfigurationComponent} from './components/get-zaakbesluiten/get-zaakbesluiten-configuration.component';\nimport {GetZaakInformatieobjectenComponent} from './components/get-zaak-informatieobjecten/get-zaak-informatieobjecten.component';\nimport {CreateZaakNotitieConfigurationComponent} from './components/create-zaaknotitie/create-zaaknotitie-configuration.component';\nimport {PatchZaakNotitieConfigurationComponent} from './components/patch-zaaknotitie/patch-zaaknotitie-configuration.component';\n\nconst zakenApiPluginSpecification: PluginSpecification = {\n pluginId: 'zakenapi',\n pluginConfigurationComponent: ZakenApiConfigurationComponent,\n pluginLogoBase64: ZAKEN_API_PLUGIN_LOGO_BASE64,\n functionConfigurationComponents: {\n 'link-document-to-zaak': LinkDocumentToZaakConfigurationComponent,\n 'link-uploaded-document-to-zaak': LinkUploadedDocumentToZaakConfigurationComponent,\n 'get-zaak-informatieobjecten': GetZaakInformatieobjectenComponent,\n 'set-zaakstatus': SetZaakStatusConfigurationComponent,\n 'create-zaakresultaat': CreateZaakResultaatConfigurationComponent,\n 'create-zaak': CreateZaakConfigurationComponent,\n 'patch-zaak': PatchZaakConfigurationComponent,\n 'create-natuurlijk-persoon-zaak-rol': CreateNatuurlijkPersoonZaakRolComponent,\n 'create-niet-natuurlijk-persoon-zaak-rol': CreateNietNatuurlijkPersoonZaakRolComponent,\n 'create-medewerker-zaak-rol': CreateMedewerkerZaakRolComponent,\n 'create-organisatorische-eenheid-zaak-rol': CreateOrganisatorischeEenheidZaakRolComponent,\n 'create-vestiging-zaak-rol': CreateVestigingZaakRolComponent,\n 'delete-zaak-rol': DeleteZaakRolComponent,\n 'set-zaakopschorting': SetZaakopschortingComponent,\n 'start-hersteltermijn': StartHersteltermijnConfigurationComponent,\n 'end-hersteltermijn': EndHersteltermijnComponent,\n 'create-zaakeigenschap': CreateZaakeigenschapComponent,\n 'update-zaakeigenschap': UpdateZaakeigenschapComponent,\n 'delete-zaakeigenschap': DeleteZaakeigenschapComponent,\n 'create-zaak-object': CreateZaakObjectConfigurationComponent,\n 'relateer-zaken': RelateerZakenComponent,\n 'get-zaakbesluiten': GetZaakbesluitenConfigurationComponent,\n 'create-zaaknotitie': CreateZaakNotitieConfigurationComponent,\n 'patch-zaaknotitie': PatchZaakNotitieConfigurationComponent,\n },\n pluginTranslations: {\n nl: {\n title: 'Zaken API',\n url: 'Zaken API URL',\n urlTooltip:\n 'In dit veld moet de verwijzing komen naar de REST api van Open zaak. Deze url moet dus eindigen op /zaken/api/v1/',\n description:\n 'De API ondersteunt het opslaan en het naar andere applicaties ontsluiten van gegevens over alle gemeentelijke zaken, van elk type.',\n 'link-document-to-zaak': 'Koppel document aan zaak',\n 'link-uploaded-document-to-zaak': 'Koppel geupload document aan zaak',\n linkUploadedDocumentToZaakMessage:\n 'Het koppelen van een geupload document aan een zaak heeft geen configuratie nodig.',\n configurationTitle: 'Configuratienaam',\n configurationTitleTooltip:\n 'Onder deze naam zal de plugin te herkennen zijn in de rest van de applicatie',\n noteEventListenerEnabled: 'Synchroniseer Dossier notitie als Zaak-notitie naar de Zaak',\n noteEventListenerEnabledTooltip:\n 'Wanneer geactiveerd zal bij het aanmaken, updaten of verwijderen van een Dossier notitie deze ook als Zaak-notitie worden gesynchroniseerd naar de Zaak (aangemaakt, bijgewerkt of verwijderd).',\n 'noteEventListenerEnabled.toggleOn': 'Geactiveerd',\n 'noteEventListenerEnabled.toggleOff': 'Gedeactiveerd',\n noteSubject: 'De vaste onderwerp tekst van de Zaak-notitie',\n documentUrl: 'URL naar het document',\n documentUrlTooltip:\n 'Dit veld ondersteunt URLs en proces variabelen. Gebruik pv:variable om een proces variabele uit te lezen',\n titel: 'Documenttitel',\n titelTooltip:\n '(Optioneel) Vult het titel veld in de metadata van de link tussen de Zaak en het Document',\n beschrijving: 'Documentbeschrijving',\n beschrijvingTooltip:\n '(Optioneel) Vult het beschrijving veld in de metadata van de link tussen de Zaak en het Document',\n authenticationPluginConfiguration: 'Configuratie authenticatie-plug-in',\n authenticationPluginConfigurationTooltip:\n 'Selecteer de plugin die de authenticatie kan afhandelen. Wanneer de selectiebox leeg blijft zal de authenticatie plugin (bv. OpenZaak) eerst aangemaakt moeten worden',\n linkDocumentInformation:\n 'Deze actie koppelt een document uit de Documenten API aan de zaak die bij het dossier hoort.',\n 'create-zaak': 'Zaak aanmaken',\n 'create-zaak-object': 'Zaakobject aanmaken',\n createZaakInformation:\n 'Deze actie creëert een zaak in de Zaken API en koppeld de nieuwe zaak aan het dossier.',\n rsin: 'RSIN',\n rsinTooltip: 'Rechtspersonen en Samenwerkingsverbanden Informatienummer',\n verlengingsduur: 'Aantal dagen dat de einddatum wordt verlengd (in cijfers)',\n toelichtingVerlenging: 'Reden voor verlenging',\n toelichtingOpschorting: 'Reden voor opschorting',\n zaakType: 'Zaaktype',\n zaakTypeUrl: 'Zaaktype-URL',\n zaakTypeTooltip: 'In dit veld moet de verwijzing komen naar de type zaak.',\n zaakTypeSelectTooltip:\n 'In dit veld moet de verwijzing komen naar de type zaak. Als er slechts één zaaktype beschikbaar is, wordt deze standaard geselecteerd.',\n inputTypeZaakTypeToggle: 'Invoertype Zaaktype-URL',\n now: 'Gebruik huidige datum/tijd',\n text: 'Tekst',\n selection: 'Selectie',\n 'create-natuurlijk-persoon-zaak-rol': 'Zaakrol aanmaken - Natuurlijk persoon',\n 'create-niet-natuurlijk-persoon-zaak-rol': 'Zaakrol aanmaken - Niet natuurlijk persoon',\n 'create-medewerker-zaak-rol': 'Zaakrol aanmaken - Medewerker',\n 'create-organisatorische-eenheid-zaak-rol': 'Zaakrol aanmaken - Organisatorische eenheid',\n 'create-vestiging-zaak-rol': 'Zaakrol aanmaken - Vestiging',\n 'delete-zaak-rol': 'Verwijderen Zaakrol',\n 'set-zaakopschorting': 'Schort een zaak op',\n 'start-hersteltermijn': 'Start hersteltermijn',\n startRecoveryPeriodInformation:\n 'Deze actie start een hersteltermijn voor de zaak die aan dit proces is gekoppeld.',\n maxDurationInDays: 'Maximale duur in dagen',\n maxDurationInDaysTooltip:\n 'De ingevoerde waarde vertegenwoordigt de maximale duur van de hersteltermijn in dagen.',\n 'end-hersteltermijn': 'Beëindig hersteltermijn',\n endHersteltermijnInformation: 'Beëindigt de momenteel lopende hersteltermijn van de Zaak',\n 'create-zaakeigenschap': 'Creëer zaakeigenschap',\n 'update-zaakeigenschap': 'Bijwerken zaakeigenschap',\n 'delete-zaakeigenschap': 'Verwijder zaakeigenschap',\n eigenschapUrl: 'Eigenschap URL',\n eigenschapUrlTooltip: 'URL-referentie naar de eigenschap.',\n eigenschapValue: 'Eigenschap waarde',\n eigenschapValueTooltip: 'De waarde van de zaakeigenschap',\n eigenschapUrlSelect: 'Eigenschap',\n eigenschapUrlSelectTooltip: 'Selecteer een eigenschap.',\n inputTypeEigenschapToggle: 'Invoertype eigenschap-URL',\n caseDefinitionTooltipEigenschap:\n 'Selecteer de dossierdefinitie waarvan u een eigenschap wilt selecteren. Als er slechts één eigenschap beschikbaar is, wordt deze standaard geselecteerd.',\n roltypeUrl: 'Roltype URL',\n rolToelichting: 'Roltoelichting',\n inpBsn: 'Initiator BSN',\n anpIdentificatie: 'Ander natuurlijk persoon identificatie',\n annIdentificatie: 'Ander niet natuurlijk persoon identificatie',\n annIdentificatieTooltip:\n 'Het door de gemeente uitgegeven unieke nummer voor een ander niet-natuurlijk persoon (annIdentificatie). (Max. 17 tekens)',\n inpA_nummer: 'Administratienummer persoon',\n innNnpId: 'Niet natuurlijk persoonsnummer',\n innNnpIdTooltip:\n 'Het door een kamer toegekend uniek nummer voor de ingeschreven niet-natuurlijk persoon (innNnpId). (Max. 9 tekens)',\n roltypeUrlTooltip: 'URL naar een roltype binnen het Zaaktype van een Zaak',\n rolToelichtingTooltip: 'Omschrijving van de aard van de rol',\n inpBsnTooltip: 'Het burgerservicenummer van de initiator (Numeriek, max 9 tekens)',\n anpIdentificatieTooltip:\n 'Het door de gemeente uitgegeven unieke nummer voor een ander natuurlijk persoon. (Max. 17 tekens)',\n inpA_nummerTooltip:\n 'Het administratienummer van de persoon, bedoeld in de Wet BRP. (Numeriek, max. 10 tekens)',\n 'set-zaakstatus': 'Zaakstatus aanmaken',\n statustypeUrl: 'Zaakstatus type URL',\n statustypeUrlTooltip: 'URL-referentie naar het statustype.',\n datumStatusGezet: 'Datum status gezet.',\n datumStatusGezetTooltip: 'Datum/tijd waarde van het zaakstatus.',\n datumStatusGezetInvalidText: 'Datum en tijd mogen niet in de toekomst liggen.',\n statustoelichting: 'Zaakstatus toelichting',\n statustoelichtingTooltip: 'Een, voor de initiator van de zaak relevante, toelichting op de status van een zaak.',\n 'create-zaakresultaat': 'Zaakresultaat aanmaken',\n resultaattypeUrl: 'Zaakresultaat type URL',\n resultaattypeUrlTooltip: 'URL-referentie naar het resultaattype.',\n resultaattoelichting: 'Zaakresultaat toelichting',\n resultaattoelichtingTooltip: 'Een toelichting op wat het resultaat van de zaak inhoudt.',\n caseDefinition: 'Dossierdefinitie',\n caseDefinitionTooltip:\n 'Selecteer de dossierdefinitie waarvan u een Zaakstatus-type wilt selecteren. Als er slechts één statustype beschikbaar is, wordt deze standaard geselecteerd.',\n caseDefinitionTooltipResultaat:\n 'Selecteer de dossierdefinitie waarvan u een Zaakresultaat-type wilt selecteren. Als er slechts één resultaattype beschikbaar is, wordt deze standaard geselecteerd.',\n statustypeUrlSelect: 'Zaakstatus',\n statustypeUrlSelectTooltip: 'Selecteer het statustype.',\n resultaattypeUrlSelect: 'Zaakresultaat',\n resultaattypeUrlSelectTooltip: 'Selecteer het resultaattype.',\n inputTypeZaakStatusToggle: 'Invoertype Zaakstatus-URL',\n inputDatumStatusGezetToggle: 'Invoertype datum status gezet',\n inputTypeZaakResultaatToggle: 'Invoertype Zaakresultaat-URL',\n addZaakProperty: 'Voeg nieuwe parameter toe',\n 'relateer-zaken': 'Relateer zaken',\n teRelaterenZaakUri: 'URL naar de te relateren zaak',\n aardRelatie: 'Aard van de relatie',\n 'option-vervolg': 'De andere zaak gaf aanleiding tot het starten van de onderhanden zaak.',\n 'option-onderwerp':\n 'De andere zaak is relevant voor cq. is onderwerp van de onderhanden zaak.',\n 'option-bijdrage':\n 'Aan het bereiken van de uitkomst van de andere zaak levert de onderhanden zaak een bijdrage.',\n identificatie: 'Identificatie',\n identificatieMedewerkerTooltip:\n 'Een korte unieke aanduiding van de medewerker. (Max. 24 tekens)',\n identificatieOrganisatorischeEenheidTooltip:\n 'Een korte identificatie van de organisatorische eenheid. (Max. 24 tekens)',\n voorletters: 'Voorletters',\n voorlettersTooltip:\n 'De verzameling letters die gevormd wordt door de eerste letter van alle in volgorde voorkomende voornamen. (Max. 20 tekens)',\n achternaam: 'Achternaam',\n achternaamTooltip:\n 'De achternaam zoals de medewerker die in het dagelijkse verkeer gebruikt. (Max. 200 tekens)',\n voorvoegselAchternaam: 'Achternaam voorvoegsel',\n voorvoegselAchternaamTooltip:\n 'Deel van de geslachtsnaam dat voorkomt in Tabel 36 (GBA), voorvoegseltabel, en door een spatie van de geslachtsnaam is. (Max. 10 tekens)',\n afwijkendeNaamBetrokkene: 'Afwijkende naam betrokkene',\n afwijkendeNaamBetrokkeneTooltip:\n 'De naam van de betrokkene waaronder deze in relatie tot de zaak aangesproken wil worden. (Max. 625 tekens)',\n indicatieMachtiging: 'Indicatie machtiging',\n indicatieMachtigingTooltip: 'Het type machtiging.',\n nvt: 'N.v.t',\n gemachtigde: 'Gemachtigde',\n machtiginggever: 'Machtiginggever',\n naam: 'Naam',\n naamTooltip: 'De feitelijke naam van de organisatorische eenheid.',\n isGehuisvestIn: 'Is gehuisvest in',\n isGehuisvestInTooltip:\n 'Locatie waar de organisatorische eenheid gehuisvest is. (Max. 24 tekens)',\n handelsnaam: 'Handelsnaam',\n handelsnaamTooltip: 'De naam van de vestiging waaronder gehandeld wordt. (Max. 625 tekens)',\n kvkNummer: 'KVK-nummer',\n kvkNummerTooltip: 'Een uniek nummer toegekend door de Kamer van Koophandel. (Max. 8 tekens)',\n vestigingsNummer: 'Vestigingsnummer',\n vestigingsNummerTooltip: 'Een korte unieke aanduiding van de Vestiging. (Max. 24 tekens)',\n 'get-zaakbesluiten': 'Ophalen zaakbesluiten',\n 'patch-zaak': 'Zaak bijwerken',\n patchZaakInformation:\n 'Deze actie maakt het mogelijk eigenschappen van de Zaak in de Zaken API gekoppeld aan het dossier bij te werken.',\n addPatchZaakProperty: 'Voeg parameter toe',\n dateformatTooltip:\n 'Een datum in formaat van yyyy-mm-dd. Kan ook een verwijzing zijn naar het document of process, bijvoorbeeld doc:customer/startDatum of pv:startDatum',\n omschrijving: 'Omschrijving',\n explanation: 'Toelichting',\n plannedEndDate: 'Geplande eind datum',\n finalDeliveryDate: 'Laatste opleveringsdatum',\n publicationDate: 'Publicatiedatum',\n communicationChannel: 'Communicatiekanaal (URL)',\n communicationChannelName: 'Communicatiekanaal naam',\n paymentIndication: 'Betalingsindicatie',\n lastPaymentDate: 'Laatste betaaldatum',\n caseGeometry: 'Zaakgeometrie',\n caseGeometryType: 'Zaakgeometrie type',\n caseGeometryCoordinates: 'Zaakgeometrie coördinaten',\n caseGeometryCoordinatesTooltip: 'Lijst van punten, bv [0.0, 1.0]',\n mainCase: 'Hoofdzaak',\n archiveActionDate: 'Archief actiedatum',\n startDateRetentionPeriod: 'Startdatum bewaartermijn',\n zaakObjectObjectUrl: 'Object URL',\n zaakObjectObjectUrlTooltip: 'URL-referentie naar de resource die het OBJECT beschrijft.',\n objectType: 'Object Type',\n objectTypeTooltip:\n 'Beschrijft het type OBJECT gerelateerd aan de ZAAK. Als er geen passend type is, dan moet het type worden opgegeven onder objectTypeOverige.',\n relatieomschrijving: 'Relatieomschrijving',\n relatieomschrijvingTooltip: 'Omschrijving van de betrekking tussen de ZAAK en het OBJECT.',\n zakelijkRechtIdentificatie: 'Zakelijk recht identificatie',\n zakelijkRechtIdentificatieTooltip: 'De unieke identificatie van het OBJECT',\n zakelijkRechtAvgAard: 'Zakelijk recht AVG aard',\n zakelijkRechtAvgAardTooltip: 'Aanduiding voor de aard van het recht',\n objectTypeOverige: 'Object type overige',\n objectTypeOverigeTooltip:\n 'Beschrijft het type OBJECT als objectType de waarde \"overige\" heeft.',\n objectTypeOverigeDefinitie: 'Object type overige definitie',\n objectTypeOverigeDefinitieUrl: 'URL',\n objectTypeOverigeDefinitieUrlTooltip:\n 'URL-referentie naar de objecttype resource in een API. Deze resource moet de JSON-schema-definitie van het objecttype bevatten.',\n objectTypeOverigeDefinitieSchema: 'Schema',\n objectTypeOverigeDefinitieSchemaTooltip:\n 'Een geldige jq expressie. Dit wordt gecombineerd met de resource uit het url-attribuut om het schema van het objecttype uit te lezen. Bijvoorbeeld: .jsonSchema.',\n objectTypeOverigeDefinitieObjectData: 'Object data',\n objectTypeOverigeDefinitieObjectDataTooltip:\n 'Een geldige jq expressie. Dit wordt gecombineerd met de JSON data uit de OBJECT url om de objectgegevens uit te lezen en de vorm van de gegevens tegen het schema te valideren. Bijvoorbeeld: .record.data.',\n objectIdentificatie: 'Object identificatie',\n 'get-zaak-informatieobjecten': 'Zaakinformatieobjecten ophalen',\n resultProcessVariable: 'Resultaat process variable',\n resultProcessVariableTooltip: 'De naam van de procesvariabele waarin het resultaat wordt opgeslagen.',\n rolUuid: 'Rol UUID',\n rolUuidTooltip: 'De UUID van de rol',\n createZaakrolNietNatuurlijkPersoonIdentifierFieldsInformation:\n 'Minimaal &eacute;&eacute;n van de volgende velden moet worden ingevuld als identificatie voor de niet natuurlijke persoon:<br/>- Niet natuurlijk persoonsnummer<br/>- Ander niet natuurlijk persoon identificatie<br/>- KVK-nummer<br/>- Vestigingsnummer',\n 'create-zaaknotitie': 'Zaak-notitie aanmaken',\n createZaakNotitieInformation: 'Deze actie maakt het mogelijk een Zaak-notitie aan de Zaak in de Zaken API toe te voegen.',\n 'patch-zaaknotitie': 'Zaak-notitie bijwerken',\n patchZaakNotitieInformation: 'Deze actie maakt het mogelijk eigenschappen van de Zaak-notitie gekoppeld aan de Zaak in de Zaken API bij te werken.',\n addPatchZaakNotitieProperty: 'Voeg parameter toe',\n zaakNotitieUrl: 'Zaak-notitie URL',\n zaakNotitieUrlTooltip: 'De URL referentie naar de Zaak-notitie in de Zaken API.',\n onderwerp: 'Onderwerp',\n tekst: 'Tekst',\n aangemaaktDoor: 'Aangemaakt door',\n notitieType: 'Notitietype',\n status: 'Status',\n },\n en: {\n title: 'Zaken API',\n url: 'URL',\n urlTooltip:\n 'This field must contain the URL to the rest API of Open Zaak, therefore this URL should end with /zaken/api/v1/',\n description:\n 'The API supports the storage and disclosure of data on all municipal matters to other applications, of all types.',\n 'link-document-to-zaak': 'Link document to zaak',\n 'link-uploaded-document-to-zaak': 'Link uploaded document to zaak',\n linkUploadedDocumentToZaakMessage:\n 'Linking an uploaded document to a zaak requires no configuration.',\n configurationTitle: 'Configuration name',\n configurationTitleTooltip:\n 'With this name the plugin will be recognizable in the rest of the application',\n noteEventListenerEnabled: 'Synchronise Case note as Zaak-notitie to the Zaak',\n noteEventListenerEnabledTooltip:\n 'When enabled, when creating, updating or deleting a Case note it will also be synchronized as a Zaak-notitie to the Zaak (created, updated or deleted)',\n 'noteEventListenerEnabled.toggleOn': 'Enabled',\n 'noteEventListenerEnabled.toggleOff': 'Disabled',\n noteSubject: 'The fixed subject text of the Zaak-notitie',\n documentUrl: 'URL to the document',\n documentUrlTooltip:\n 'This field supports URLs and process variables. Use pv:variable to read a process variable',\n titel: 'Document title',\n titelTooltip:\n '(Optional) Fills the title field in the metadata of the link between the Zaak and the Document',\n beschrijving: 'Document description',\n beschrijvingTooltip:\n '(Optional) Fills the description field in the metadata of the link between the Zaak and the Document',\n authenticationPluginConfiguration: 'Authentication plugin configuration',\n authenticationPluginConfigurationTooltip:\n 'Select the plugin that can handle the authentication. If the selection box remains empty, the authentication plugin (e.g. OpenZaak) will have to be created first',\n linkDocumentInformation:\n 'This action links a document from the Documents API to the zaak associated with the case.',\n 'create-zaak': 'Create zaak',\n 'create-zaak-object': 'Create zaak object',\n createZaakInformation:\n 'This action creates a zaak in the Zaken API and links the new zaak with the case.',\n rsin: 'RSIN',\n rsinTooltip: 'Legal Entities and Partnerships Information Number',\n verlengingsduur: 'Amount of days to prolong (in numbers)',\n toelichtingVerlenging: 'Reason for prolonging',\n toelichtingOpschorting: 'Reason for suspending',\n zaakType: 'Zaaktype',\n zaakTypeUrl: 'Zaaktype URL',\n zaakTypeTooltip: 'In this field the reference must be made to the type of the zaak.',\n zaakTypeSelectTooltip:\n 'In this field the reference must be made to the type of the zaak. If only one zaaktype is available, it will be selected by default.',\n inputTypeZaakTypeToggle: 'Input type Zaaktype-URL',\n now: 'Use current date/time',\n text: 'Text',\n selection: 'Selection',\n 'create-natuurlijk-persoon-zaak-rol': 'Create Zaakrol - natural person',\n 'create-niet-natuurlijk-persoon-zaak-rol': 'Create Zaakrol - not a natural person',\n 'create-medewerker-zaak-rol': 'Create Zaakrol - Employee',\n 'create-organisatorische-eenheid-zaak-rol': 'Create Zaakrol - Organizational unit',\n 'create-vestiging-zaak-rol': 'Create Zaakrol - Branch',\n 'delete-zaak-rol': 'Removing Zaakrol',\n 'set-zaakopschorting': 'Suspend case',\n 'start-hersteltermijn': 'Start recovery period',\n startHersteltermijnInformation:\n 'This action initiates a recovery period for the case associated with this process.',\n maxDurationInDays: 'Maximum duration in days',\n maxDurationInDaysTooltip:\n 'The entered value represents the maximum duration of the recovery period in days.',\n 'end-hersteltermijn': 'End recovery period',\n endHersteltermijnInformation: 'Ends the currently running recovery period of the Zaak',\n 'create-zaakeigenschap': 'Create zaakeigenschap',\n 'update-zaakeigenschap': 'Update zaakeigenschap',\n 'delete-zaakeigenschap': 'Delete zaakeigenschap',\n eigenschapUrl: 'Property URL',\n eigenschapUrlTooltip: 'URL reference to the eigenschap.',\n eigenschapValue: 'Eigenschap value',\n eigenschapValueTooltip: 'The value of the zaakeigenschap',\n eigenschapUrlSelect: 'Eigenschap',\n eigenschapUrlSelectTooltip: 'Select a eigenschap.',\n inputTypeEigenschapToggle: 'Input type eigenschap-URL',\n caseDefinitionTooltipEigenschap:\n 'Select the case definition from which you want to select an eigenschap. If only one eigenschap is available, it will be selected by default.',\n roltypeUrl: 'Role type URL',\n rolToelichting: 'Role explanation',\n inpBsn: 'Initiator BSN',\n anpIdentificatie: 'Other natural person identification',\n annIdentificatie: 'Other not natural person identification',\n annIdentificatieTooltip:\n 'The unique number issued by the municipality for another non-natural person (annIdentificatie). (Max. 17 characters)',\n inpA_nummer: 'Administration number person',\n innNnpId: 'Not a natural personal number',\n innNnpIdTooltip:\n 'The unique number assigned by the government for the registered non-natural person (innNnpId). (Max. 9 characters)',\n roltypeUrlTooltip: 'URL to a role type within the Zaaktype of a Zaak',\n rolToelichtingTooltip: 'Description of the nature of the role',\n inpBsnTooltip: \"The initiator's social security number\",\n anpIdentificatieTooltip:\n 'The unique number issued by the municipality for another natural person. (Max. 17 characters)',\n inpA_nummerTooltip:\n 'The administration number of the person, as referred to in the Wet BRP. (Numeric, max. 10 characters)',\n 'set-zaakstatus': 'Create zaakstatus',\n statustypeUrl: 'Zaakstatus type URL',\n statustypeUrlTooltip: 'URL reference to the status type.',\n datumStatusGezet: 'Date status set.',\n datumStatusGezetTooltip: 'Date/time value of the zaakstatus.',\n datumStatusGezetInvalidText: 'Date and time may not be in the future.',\n statustoelichting: 'Zaakstatus explanation',\n statustoelichtingTooltip:\n 'An explanation of the status of a zaak that is relevant to the initiator of the zaak.',\n 'create-zaakresultaat': 'Create Zaakresultaat',\n resultaattypeUrl: 'Zaakresultaat type URL',\n resultaattypeUrlTooltip: 'URL reference to the resultaat type.',\n resultaattoelichting: 'Zaakresultaat explanation',\n resultaattoelichtingTooltip: 'An explanation of what the result of the zaak means.',\n caseDefinition: 'Case definition',\n caseDefinitionTooltip:\n 'Select the case definition from which you want to select a Zaakstatus type. If only one status type is available, it will be selected by default.',\n caseDefinitionTooltipResultaat:\n 'Select the case definition from which you want to select a Resultaat type. If only one resultaat type is available, it will be selected by default.',\n statustypeUrlSelect: 'Zaakstatus',\n statustypeUrlSelectTooltip: 'Select the status type.',\n resultaattypeUrlSelect: 'Zaakresultaat',\n resultaattypeUrlSelectTooltip: 'Select the resultaat type.',\n inputTypeZaakStatusToggle: 'Input type Zaakstatus-URL',\n inputDatumStatusGezetToggle: 'Input type datum status gezet',\n inputTypeZaakResultaatToggle: 'Input type Zaakresultaat-URL',\n addZaakProperty: 'Add new case property',\n 'relateer-zaken': 'Add relation between two Zaken',\n teRelaterenZaakUri: 'URL to the Zaak to be related',\n aardRelatie: 'Nature of the relationship',\n 'option-vervolg': 'The other Zaak prompted the start of the current Zaak.',\n 'option-onderwerp': 'The other Zaak is relevant to or the subject of the current Zaak.',\n 'option-bijdrage': 'The current Zaak contributes to the outcome of the other Zaak.',\n identificatie: 'Identification',\n identificatieMedewerkerTooltip:\n 'A short unique designation of the employee. (Max. 24 characters)',\n identificatieOrganisatorischeEenheidTooltip:\n 'A short identification of the organizational unit. (Max. 24 characters)',\n voorletters: 'Initials',\n voorlettersTooltip:\n 'The collection of letters formed by the first letter of all forenames in order. (Max. 20 characters)',\n achternaam: 'Last name',\n achternaamTooltip:\n 'The last name as used by the employee in daily life. (Max. 200 characters)',\n voorvoegselAchternaam: 'Prefix to last name',\n voorvoegselAchternaamTooltip:\n 'Part of the genus name that appears in Table 36 (GBA), prefix table, and is separated from the genus name by a space. (Max. 10 characters)',\n afwijkendeNaamBetrokkene: 'Alternative name of the person involved',\n afwijkendeNaamBetrokkeneTooltip:\n 'The name of the person involved under which they wish to be addressed in relation to the case. (Max. 625 characters)',\n indicatieMachtiging: 'Authorization indication',\n indicatieMachtigingTooltip: 'The type that represents the authorization indication',\n nvt: 'N/A',\n gemachtigde: 'Authorized representative',\n machtiginggever: 'Authorizing party',\n naam: 'Name',\n naamTooltip: 'The actual name of the organizational unit.',\n isGehuisvestIn: 'Is housed in',\n isGehuisvestInTooltip:\n 'Location where the organizational unit is housed. (Max. 24 characters)',\n handelsnaam: 'Trade name',\n handelsnaamTooltip:\n 'The name of the establishment where the business is conducted. (Max. 625 characters)',\n kvkNummer: 'Chamber of Commerce number',\n kvkNummerTooltip: 'A unique number assigned by the Chamber of Commerce. (Max. 8 characters)',\n vestigingsNummer: 'Branch number',\n vestigingsNummerTooltip: 'A short unique designation of the branch. (Max. 24 characters)',\n 'get-zaakbesluiten': 'Retrieve zaakbesluiten',\n 'patch-zaak': 'Update zaak',\n patchZaakInformation:\n 'This action allows you to update properties of a Zaak in the Zaken API which is linked to the case.',\n dateformatTooltip:\n 'A date in the format of yyyy-mm-dd. Can also be a reference to the document or process, for example doc:customer/startDate or pv:startDate',\n addPatchZaakProperty: 'Add property',\n omschrijving: 'Description',\n explanation: 'Explanation',\n plannedEndDate: 'Planned end date',\n finalDeliveryDate: 'Final delivery date',\n publicationDate: 'Publication date',\n communicationChannel: 'Communication channel (URL)',\n communicationChannelName: 'Communication channel name',\n paymentIndication: 'Payment indication',\n lastPaymentDate: 'Last payment date',\n caseGeometry: 'Case geometry',\n caseGeometryType: 'Case geometry type',\n caseGeometryCoordinates: 'Case geometry coordinates',\n caseGeometryCoordinatesTooltip: 'List of points, i.e. [0.0, 1.0]',\n mainCase: 'Main case',\n archiveActionDate: 'Archive action date',\n startDateRetentionPeriod: 'Start date of retention period',\n zaakObjectObjectUrl: 'Object URL',\n zaakObjectObjectUrlTooltip: 'URL reference to the resource that describes the OBJECT.',\n objectType: 'Object Type',\n objectTypeTooltip:\n 'Describes the type of OBJECT related to the ZAAK. If there is no suitable type, then the type must be specified under objectTypeOverige.',\n relatieomschrijving: 'Relationship description',\n relatieomschrijvingTooltip:\n 'Description of the relationship between the ZAAK and the OBJECT.',\n zakelijkRechtIdentificatie: 'Property right identification',\n zakelijkRechtIdentificatieTooltip: 'The unique identification of the OBJECT',\n zakelijkRechtAvgAard: 'Property right AVG nature',\n zakelijkRechtAvgAardTooltip: 'Indication of the nature of the right',\n objectTypeOverige: 'Object type other',\n objectTypeOverigeTooltip:\n \"Describes the type of OBJECT when objectType has the value 'overige'.\",\n objectTypeOverigeDefinitie: 'Object type other definition',\n objectTypeOverigeDefinitieUrl: 'URL',\n objectTypeOverigeDefinitieUrlTooltip:\n 'URL reference to the object type resource in an API. This resource must contain the JSON schema definition of the object type.',\n objectTypeOverigeDefinitieSchema: 'Schema',\n objectTypeOverigeDefinitieSchemaTooltip:\n 'A valid jq expression. This is combined with the resource from the url attribute to read the schema of the object type. Example: .jsonSchema.',\n objectTypeOverigeDefinitieObjectData: 'Object data',\n objectTypeOverigeDefinitieObjectDataTooltip:\n 'A valid jq expression. This is combined with the JSON data from the OBJECT url to read the object data and validate the data structure against the schema. Example: .record.data.',\n objectIdentificatie: 'Object identification',\n resultProcessVariable: 'Result process variable',\n rolUuid: 'Rol UUID',\n rolUuidTooltip: 'The UUID of the rol',\n 'get-zaak-informatieobjecten': 'Get zaak informatieobjecten',\n resultProcessVariableTooltip: 'The name of the process variable in which the result is stored.',\n 'create-zaaknotitie': 'Create Zaak-notitie',\n createZaakNotitieInformation: 'This action allows you to add a Zaak-notitie to the Zaak in the Zaken API.',\n 'patch-zaaknotitie': 'Update Zaak-notitie',\n patchZaakNotitieInformation: 'This action allows you to update properties of the Zaak-notitie linked to the Zaak in the Zaken API.',\n addPatchZaakNotitieProperty: 'Add property',\n zaakNotitieUrl: 'Zaak-notitie URL',\n zaakNotitieUrlTooltip: 'The reference URL to the Zaak-notitie in the Zaken API',\n onderwerp: 'Subject',\n tekst: 'Text',\n aangemaaktDoor: 'Created by',\n notitieType: 'Note type',\n status: 'Status',\n },\n de: {\n title: 'Zaken API',\n url: 'URL',\n urlTooltip:\n 'Dieses Feld muss die URL zur rest API von Open Zaak enthalten, daher sollte diese URL mit enden /zaken/api/v1/',\n description:\n 'Die API unterstützt die Speicherung und Weitergabe von Daten zu allen kommunalen Belangen an andere Anwendungen.',\n 'link-document-to-zaak': 'Dokument mit Zaak verknüpfen',\n 'link-uploaded-document-to-zaak': 'Hochgeladenes Dokument mit Zaak verknüpfen',\n linkUploadedDocumentToZaakMessage:\n 'Das Verknüpfen eines hochgeladenen Dokuments mit einem Zaak erfordert keine Konfiguration.',\n configurationTitle: 'Konfigurationsname',\n configurationTitleTooltip:\n 'An diesem Namen wird das Plugin im Rest der Anwendung erkennbar sein',\n noteEventListenerEnabled: 'Fallnotiz als Zaak-notitie mit Zaak synchronisieren',\n noteEventListenerEnabledTooltip:\n 'Wenn aktiviert, wird beim Erstellen, Aktualisieren oder Löschen einer Fallnotiz diese auch als Zaak-notitie mit dem entsprechenden Zaak (erstellt, aktualisiert oder gelöscht) synchronisiert.',\n 'noteEventListenerEnabled.toggleOn': 'Aktiviert',\n 'noteEventListenerEnabled.toggleOff': 'Deaktiviert',\n noteSubject: 'Der festgelegte Betrefftext der Zaak-notitie',\n documentUrl: 'URL zum Dokument',\n documentUrlTooltip:\n 'Dieses Feld unterstützt URLs und Prozessvariablen. Verwenden Sie pv:Variablen, um eine Prozessvariable zu lesen',\n titel: 'Dokumenttitel',\n titelTooltip:\n '(Optional) Füllt das Titelfeld in den Metadaten des Links zwischen dem Zaak und dem Dokument aus',\n beschrijving: 'Dokumentbeschreibung',\n beschrijvingTooltip:\n '(Optional) Füllt das Beschreibungsfeld in den Metadaten des Links zwischen dem Zaak und dem Dokument aus',\n authenticationPluginConfiguration: 'Authentifizierungs-Plugin-Konfiguration',\n authenticationPluginConfigurationTooltip:\n 'Wählen Sie das Plugin aus, das die Authentifizierung verarbeiten kann. Bleibt das Auswahlfeld leer, muss zunächst das Authentifizierungs-Plugin (z. B. OpenZaak) erstellt werden',\n linkDocumentInformation:\n 'Diese Aktion verknüpft ein Dokument aus der Dokumenten-API mit dem mit dem Fall verknüpften Zaak.',\n 'create-zaak': 'Zaak erschaffen',\n 'create-zaak-object': 'Zaakobject erschaffen',\n createZaakInformation:\n 'Diese Aktion hat einen zaak in der Zaken-API definiert und den neuen zaak mit dem Fall verknüpft.',\n rsin: 'RSIN',\n rsinTooltip: 'Informationsnummer für juristische Personen und Partnerschaften.',\n verlengingsduur: 'Anzahl der Tage, um die das Enddatum verlängert wird (in Zahlen)',\n toelichtingVerlenging: 'Grund für die Verlängerung',\n toelichtingOpschorting: 'Grund für die Suspendierung',\n zaakType: 'Zaaktype',\n zaakTypeUrl: 'Zaaktype-URL',\n zaakTypeTooltip: 'In diesem Feld muss auf die zaaktype verwiesen werden.',\n zaakTypeSelectTooltip:\n 'In diesem Feld muss auf die zaaktype verwiesen werden. Wenn nur ein Zaaktyp verfügbar ist, wird dieser standardmäßig ausgewählt.',\n inputTypeZaakTypeToggle: 'Eingabetyp Zaaktype-URL',\n now: 'Aktuelles Datum/Uhrzeit verwenden',\n text: 'Text',\n selection: 'Auswahl',\n 'create-natuurlijk-persoon-zaak-rol': 'Zaakrol erstellen – natürliche Person',\n 'create-niet-natuurlijk-persoon-zaak-rol': 'Zaakrol erstellen – keine natürliche Person',\n 'create-medewerker-zaak-rol': 'Zaakrol erstellen – Mitarbeiter',\n 'create-organisatorische-eenheid-zaak-rol': 'Zaakrol erstellen – Organisationseinheit',\n 'create-vestiging-zaak-rol': 'Zaakrol erstellen – Niederlassung',\n 'set-zaakopschorting': 'Einen Fall aussetzen',\n 'start-hersteltermijn': 'Beginnen Sie mit der Erholungsphase',\n startHersteltermijnInformation:\n 'Diese Aktion startet eine Erholungszeit für den Fall, der mit diesem Prozess verknüpft ist.',\n maxDurationInDays: 'Maximale Dauer in Tagen',\n maxDurationInDaysTooltip:\n 'Der eingegebene Wert stellt die maximale Dauer der Erholungszeit in Tagen dar.',\n 'end-hersteltermijn': 'Beenden Sie mit der Erholungsphase',\n endHersteltermijnInformation: 'Beenden die aktuelle Erholungsphase des Case',\n 'create-zaakeigenschap': 'Zaakeigenschaft erstellen',\n 'update-zaakeigenschap': 'Zaakeigenschaft aktualisieren',\n 'delete-zaakeigenschap': 'Zaakeigenschaft löschen',\n eigenschapUrl: 'Eigenschafts-URL',\n eigenschapUrlTooltip: 'URL-Referenz zur Eigenschaft.',\n eigenschapValue: 'Eigenschaftswert',\n eigenschapValueTooltip: 'Der Wert der Zaakeigenschaft',\n inputTypeEigenschapToggle: 'Eingabetyp eigenschap-URL',\n eigenschapUrlSelect: 'Eigenschap',\n eigenschapUrlSelectTooltip: 'Wählen Sie den eigenschap aus.',\n caseDefinitionTooltipEigenschap:\n 'Wählen Sie die eigenschap aus, aus der Sie einen eigenschap auswählen möchten. Wenn nur ein Statustyp verfügbar ist, wird dieser standardmäßig ausgewählt.',\n roltypeUrl: 'Rollentyp-URL',\n rolToelichting: 'Rollenerklärung',\n inpBsn: 'Initiator BSN',\n anpIdentificatie: 'Andere Identifizierung natürlicher Personen',\n annIdentificatie: 'Andere Identifizierung keine natürlicher Personen',\n annIdentificatieTooltip:\n 'Die eindeutige Nummer, die von der Gemeinde für eine andere nicht natürliche Person vergeben wird (annIdentificatie). (Max. 17 Zeichen)',\n inpA_nummer: 'Verwaltungsnummer Person',\n innNnpId: 'Keine natürliche Personennummer',\n innNnpIdTooltip:\n 'Die von der Regierung vergebene eindeutige Nummer für die registrierte nicht natürliche Person (innNnpId). (Max. 9 Zeichen)',\n roltypeUrlTooltip: 'URL zu einem Rollentyp innerhalb des Zaaktypes eines Zaaks',\n rolToelichtingTooltip: 'Beschreibung der Art der Rolle',\n inpBsnTooltip: 'Die Sozialversicherungsnummer des Initiators',\n anpIdentificatieTooltip:\n 'Die eindeutige Nummer, die von der Gemeinde für eine andere natürliche Person vergeben wird. (Max. 17 Zeichen)',\n inpA_nummerTooltip:\n 'Die Verwaltungsnummer der Person im Sinne des Wet BRP. (Numerisch, max. 10 Zeichen)',\n 'set-zaakstatus': 'Fallstatus erstellen',\n statustypeUrl: 'URL des Zaakstatustyps',\n statustypeUrlTooltip: 'URL-Referenz zum Statustyp.',\n datumStatusGezet: 'Datumsstatus festgelegt.',\n datumStatusGezetTooltip: 'Datums-/Uhrzeitwert des zaakstatus.',\n datumStatusGezetInvalidText: 'Datum und Uhrzeit dürfen nicht in der Zukunft liegen.',\n statustoelichting: 'Erklärung des Zaakstatus',\n statustoelichtingTooltip:\n 'Eine Erklärung des Status eines zaak, die für den Initiator des Zaak relevant ist.',\n 'create-zaakresultaat': 'Zaakgebnis erstellen',\n resultaattypeUrl: 'URL des Zaakgebnistyps',\n resultaattypeUrlTooltip: 'URL-Verweis auf den Ergebnistyp.',\n resultaattoelichting: 'Geschäftsergebniserklärung',\n resultaattoelichtingTooltip: 'Eine Erklärung, was das Ergebnis des Zaak beinhaltet.',\n caseDefinition: 'Falltyp',\n caseDefinitionTooltip:\n 'Wählen Sie die Falltyp aus, aus der Sie einen Zaakstatus-typ auswählen möchten. Wenn nur ein Statustyp verfügbar ist, wird dieser standardmäßig ausgewählt.',\n caseDefinitionTooltipResultaat:\n 'Wählen Sie die Falltyp aus, aus der Sie einen Zaakresultaat-typ auswählen möchten. Wenn nur ein Resultaattyp verfügbar ist, wird dieser standardmäßig ausgewählt.',\n statustypeUrlSelect: 'Zaakstatus',\n statustypeUrlSelectTooltip: 'Wählen Sie den Statustyp aus.',\n resultaattypeUrlSelect: 'Zaakresultaat',\n resultaattypeUrlSelectTooltip: 'Wählen Sie den Resultaattype aus.',\n inputTypeZaakStatusToggle: 'Eingabetyp Zaakstatus-URL',\n inputDatumStatusGezetToggle: 'Eingabetyp datum status gezet',\n inputTypeZaakResultaatToggle: 'Eingabetyp Zaakresultaat-URL',\n addZaakProperty: 'Neue Case-Eigenschaft hinzufügen',\n 'relateer-zaken': 'Beziehung zwischen Zaken herstellen',\n teRelaterenZaakUri: 'URL zum zu verknüpfenden Zaak',\n aardRelatie: 'Art der Beziehung',\n 'option-vervolg': 'Der andere Zaak gab Anlass zur Einleitung des aktuellen Zaak.',\n 'option-onderwerp': 'Der andere Zaak ist relevant für bzw. Gegenstand des aktuellen Zaak.',\n 'option-bijdrage': 'Der aktuelle Zaak trägt zum Ergebnis des anderen Zaak bei.',\n identificatie: 'Identifikation',\n identificatieMedewerkerTooltip:\n 'Eine kurze, eindeutige Bezeichnung des Mitarbeiters. (Max. 24 Zeichen)',\n identificatieOrganisatorischeEenheidTooltip:\n 'Eine kurze Identifikation der organisatorischen Einheit. (Max. 24 Zeichen)',\n voorletters: 'Initialen',\n voorlettersTooltip:\n 'Die Sammlung von Buchstaben, die durch den ersten Buchstaben aller in Reihenfolge vorkommenden Vornamen gebildet wird.',\n achternaam: 'Nachname',\n achternaamTooltip:\n 'Der Nachname, wie ihn der Mitarbeiter im täglichen Verkehr verwendet. (Max. 200 Zeichen)',\n voorvoegselAchternaam: 'Nachnamenspräfix',\n voorvoegselAchternaamTooltip:\n 'Teil des Gattungsnamens, der in Tabelle 36 (GBA), Präfixtabelle, erscheint und durch ein Leerzeichen vom Gattungsnamen getrennt ist. (Max. 10 Zeichen)',\n afwijkendeNaamBetrokkene: 'Abweichender Name der betroffenen Person',\n afwijkendeNaamBetrokkeneTooltip:\n 'Der Name der betroffenen Person, unter dem sie im Zusammenhang mit dem Vorgang angesprochen werden möchte. (Max. 625 Zeichen)',\n indicatieMachtiging: 'Vollmachtsanzeige',\n indicatieMachtigingTooltip: 'Der Typ, der die Vollmachtsanzeige darstellt',\n nvt: 'Nicht zutreffend',\n gemachtigde: 'Bevollmächtigter',\n machtiginggever: 'Vollmachtgeber',\n naam: 'Name',\n naamTooltip: 'Der tatsächliche Name der organisatorischen Einheit.',\n isGehuisvestIn: 'Ist untergebracht in',\n isGehuisvestInTooltip:\n 'Ort, an dem die organisatorische Einheit untergebracht ist. (Max. 24 Zeichen)',\n handelsnaam: 'Handelsname',\n handelsnaamTooltip:\n 'Der Name der Niederlassung, in der das Geschäft betrieben wird. (Max. 625 Zeichen)',\n kvkNummer: 'Handelskammernummer',\n kvkNummerTooltip:\n 'Eine eindeutige Nummer, die von der Handelskammer vergeben wird. (Max. 8 Zeichen)',\n vestigingsNummer: 'Niederlassungsnummer',\n vestigingsNummerTooltip:\n 'Eine kurze eindeutige Bezeichnung der Niederlassung. (Max. 24 Zeichen)',\n 'get-zaakbesluiten': 'Zaakbesluiten abrufen',\n 'patch-zaak': 'Zaak aktualisieren',\n patchZaakInformation:\n 'Mit dieser Aktion können Sie die Eigenschaften des Falls in der mit der Datei verknüpften Zaken-API aktualisieren.',\n addPatchZaakProperty: 'Parameter hinzufügen',\n dateformatTooltip:\n 'Ein Datum im Format yyyy-mm-dd. Kann auch ein Verweis auf das Dokument oder den Prozess sein, zum Beispiel doc:kunde/startDatum oder pv:startDatum',\n omschrijving: 'Beschreibung',\n explanation: 'Erläuterung',\n plannedEndDate: 'Geplantes Enddatum',\n finalDeliveryDate: 'Letztes Lieferdatum',\n publicationDate: 'Veröffentlichungsdatum',\n communicationChannel: 'Kommunikationskanal (URL)',\n communicationChannelName: 'Name des Kommunikationskanals',\n paymentIndication: 'Zahlungsanzeige',\n lastPaymentDate: 'Letztes Zahlungsdatum',\n caseGeometry: 'Vorgangsgeometrie',\n caseGeometryType: 'Vorgangsgeometrie type',\n caseGeometryCoordinates: 'Vorgangsgeometrie Koordinaten',\n caseGeometryCoordinatesTooltip: 'Liste von Punkten, zB [0.0, 1.0]',\n mainCase: 'Hauptvorgang',\n archiveActionDate: 'Archivierungsaktionsdatum',\n startDateRetentionPeriod: 'Startdatum der Aufbewahrungsfrist',\n zaakObjectObjectUrl: 'Objekt-URL',\n zaakObjectObjectUrlTooltip: 'URL-Referenz zur Ressource, die das OBJECT beschreibt.',\n objectType: 'Objekttyp',\n objectTypeTooltip:\n 'Beschreibt den Typ des OBJECT, das mit dem ZAAK verbunden ist. Wenn kein passender Typ vorhanden ist, muss der Typ unter objectTypeOverige angegeben werden.',\n relatieomschrijving: 'Beziehungsbeschreibung',\n relatieomschrijvingTooltip: 'Beschreibung der Beziehung zwischen dem ZAAK und dem OBJECT.',\n zakelijkRechtIdentificatie: 'Grundstücksrechtsidentifikation',\n zakelijkRechtIdentificatieTooltip: 'Die eindeutige Identifikation des OBJECT',\n zakelijkRechtAvgAard: 'Grundstücksrecht AVG Art',\n zakelijkRechtAvgAardTooltip: 'Kennzeichnung der Art des Rechts',\n objectTypeOverige: 'Sonstiger Objekttyp',\n objectTypeOverigeTooltip:\n 'Beschreibt den Typ des OBJECT, wenn objectType den Wert „overige“ hat.',\n objectTypeOverigeDefinitie: 'Sonstiger Objekttyp-Definition',\n objectTypeOverigeDefinitieUrl: 'URL',\n objectTypeOverigeDefinitieUrlTooltip:\n 'URL-Referenz zur Objekttyp-Ressource in einer API. Diese Ressource muss die JSON-Schema-Definition des Objekttyps enthalten.',\n objectTypeOverigeDefinitieSchema: 'Schema',\n objectTypeOverigeDefinitieSchemaTooltip:\n 'Ein gültiger jq-Ausdruck. Dies wird mit der Ressource aus dem URL-Attribut kombiniert, um das Schema des Objekttyps auszulesen. Beispiel: .jsonSchema.',\n objectTypeOverigeDefinitieObjectData: 'Objektdaten',\n objectTypeOverigeDefinitieObjectDataTooltip:\n 'Ein gültiger jq-Ausdruck. Dies wird mit den JSON-Daten aus der OBJEKT-URL kombiniert, um die Objektdaten auszulesen und die Struktur der Daten gegen das Schema zu validieren. Beispiel: .record.data.',\n objectIdentificatie: 'Objektidentifikation',\n 'get-zaak-informatieobjecten': 'Informatieobjecten zum Fall abrufen',\n resultProcessVariable: 'Ergebnis Prozessvariable',\n resultProcessVariableTooltip: 'Der Name der Prozessvariable, in der das Ergebnis gespeichert wird.',\n rolUuid: 'Rolle UUID',\n rolUuidTooltip: 'Die UUID der Rolle',\n createZaakrolNietNatuurlijkPersoonIdentifierFieldsInformation:\n 'At least one of the following fields must be completed to identify the non-natural person:<br/>- Not a natural person identification<br/>- Other not natural person number<br/>- Chamber of Commerce number<br/>- Branch number',\n 'create-zaaknotitie': 'Zaak-notitie erstellen',\n createZaakNotitieInformation: 'Mit dieser Aktion können Sie dem Zaak in der Zaken-API eine Zaak-notitie hinzufügen.',\n 'patch-zaaknotitie': 'Zaak-notitie aktualisieren',\n patchZaakNotitieInformation: 'Mit dieser Aktion können Sie die Eigenschaften der mit dem Zaak verknüpften Zaak-notitie in der Zaken-API aktualisieren.',\n addPatchZaakNotitieProperty: 'Parameter hinzufügen',\n zaakNotitieUrl: 'Zaak-notitie-URL',\n zaakNotitieUrlTooltip: 'URL-Referenz zur der Zaak-notitie in der Zaken-API',\n onderwerp: 'Betreff',\n tekst: 'Text',\n aangemaaktDoor: 'Erstellt von',\n notitieType: 'Notiztyp',\n status: 'Status',\n },\n },\n};\n\nexport {zakenApiPluginSpecification};\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {PluginConfigurationComponent} from '../../../../models';\nimport {BehaviorSubject, combineLatest, map, Observable, Subscription, take} from 'rxjs';\nimport {ObjectenApiConfig} from '../../models';\nimport {PluginManagementService, PluginTranslationService} from '../../../../services';\nimport {TranslateService} from '@ngx-translate/core';\n\n@Component({\n standalone: false,\n selector: 'valtimo-objecten-api-configuration',\n templateUrl: './objecten-api-configuration.component.html',\n styleUrls: ['./objecten-api-configuration.component.scss'],\n})\nexport class ObjectenApiConfigurationComponent\n implements PluginConfigurationComponent, OnInit, OnDestroy\n{\n @Input() save$: Observable<void>;\n @Input() disabled$: Observable<boolean>;\n @Input() pluginId: string;\n @Input() prefillConfiguration$: Observable<ObjectenApiConfig>;\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() configuration: EventEmitter<ObjectenApiConfig> = new EventEmitter<ObjectenApiConfig>();\n\n private saveSubscription!: Subscription;\n\n private readonly formValue$ = new BehaviorSubject<ObjectenApiConfig | null>(null);\n private readonly valid$ = new BehaviorSubject<boolean>(false);\n\n readonly authenticationPluginSelectItems$: Observable<Array<{id: string; text: string}>> =\n combineLatest([\n this.pluginManagementService.getPluginConfigurationsByCategory('objecten-api-authentication'),\n this.translateService.stream('key'),\n ]).pipe(\n map(([configurations]) =>\n configurations.map(configuration => ({\n id: configuration.id,\n text: `${configuration.title} - ${this.pluginTranslationService.instant(\n 'title',\n configuration.pluginDefinition.key\n )}`,\n }))\n )\n );\n\n constructor(\n private readonly pluginManagementService: PluginManagementService,\n private readonly translateService: TranslateService,\n private readonly pluginTranslationService: PluginTranslationService\n ) {}\n\n ngOnInit(): void {\n this.openSaveSubscription();\n }\n\n ngOnDestroy() {\n this.saveSubscription?.unsubscribe();\n }\n\n formValueChange(formValue: ObjectenApiConfig): void {\n this.formValue$.next(formValue);\n this.handleValid(formValue);\n }\n\n private handleValid(formValue: ObjectenApiConfig): void {\n const valid = !!(\n formValue.configurationTitle &&\n formValue.url &&\n formValue.authenticationPluginConfiguration\n );\n\n this.valid$.next(valid);\n this.valid.emit(valid);\n }\n\n private openSaveSubscription(): void {\n this.saveSubscription = this.save$?.subscribe(save => {\n combineLatest([this.formValue$, this.valid$])\n .pipe(take(1))\n .subscribe(([formValue, valid]) => {\n if (valid) {\n this.configuration.emit(formValue);\n }\n });\n });\n }\n}\n","<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null,\n } as obs\"\n>\n <v-input\n name=\"configurationTitle\"\n data-test-id=\"objectenApiConfigurationTitle\"\n [title]=\"'configurationTitle' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.configurationTitle\"\n [required]=\"true\"\n [trim]=\"true\"\n [tooltip]=\"'configurationTitleTooltip' | pluginTranslate: pluginId | async\"\n placeholder=\"Objecten API Plugin\"\n >\n </v-input>\n <v-input\n name=\"url\"\n data-test-id=\"objectenApiUrl\"\n [title]=\"'url' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.url\"\n [required]=\"true\"\n [trim]=\"true\"\n [tooltip]=\"'urlTooltip' | pluginTranslate: pluginId | async\"\n placeholder=\"https://objectenapi.example.com/api/v2/\"\n >\n </v-input>\n <ng-container\n *ngIf=\"{authenticationPluginSelectItems: authenticationPluginSelectItems$ | async} as authObs\"\n >\n <v-select\n [items]=\"authObs.authenticationPluginSelectItems\"\n [margin]=\"true\"\n name=\"authenticationPluginConfiguration\"\n data-test-id=\"objectenApiAuthenticationPluginConfiguration\"\n [title]=\"'authenticationPluginConfiguration' | pluginTranslate: pluginId | async\"\n [disabled]=\"obs.disabled\"\n [defaultSelectionId]=\"obs.prefill?.authenticationPluginConfiguration\"\n [required]=\"true\"\n [loading]=\"!authObs.authenticationPluginSelectItems\"\n ></v-select>\n </ng-container>\n</v-form>\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {FunctionConfigurationComponent} from '../../../../models';\nimport {BehaviorSubject, combineLatest, Observable, Subscription, take} from 'rxjs';\nimport {DeleteObjectConfig} from '../../models';\n\n@Component({\n standalone: false,\n selector: 'valtimo-delete-object',\n templateUrl: './delete-object.component.html',\n styleUrls: ['./delete-object.component.scss'],\n})\nexport class DeleteObjectComponent implements FunctionConfigurationComponent, OnInit, OnDestroy {\n @Input() save$: Observable<void>;\n @Input() disabled$: Observable<boolean>;\n @Input() pluginId: string;\n @Input() prefillConfiguration$: Observable<DeleteObjectConfig>;\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() configuration: EventEmitter<DeleteObjectConfig> =\n new EventEmitter<DeleteObjectConfig>();\n\n private saveSubscription!: Subscription;\n private readonly formValue$ = new BehaviorSubject<DeleteObjectConfig | null>(null);\n private readonly valid$ = new BehaviorSubject<boolean>(false);\n\n ngOnInit(): void {\n this.openSaveSubscription();\n }\n\n ngOnDestroy(): void {\n this.saveSubscription?.unsubscribe();\n }\n\n formValueChange(formValue: DeleteObjectConfig): void {\n this.formValue$.next(formValue);\n this.handleValid(formValue);\n }\n\n private handleValid(formValue: DeleteObjectConfig): void {\n const valid = !!formValue.objectUrl;\n\n this.valid$.next(valid);\n this.valid.emit(valid);\n }\n\n private openSaveSubscription(): void {\n this.saveSubscription = this.save$?.subscribe(save => {\n combineLatest([this.formValue$, this.valid$])\n .pipe(take(1))\n .subscribe(([formValue, valid]) => {\n if (valid) {\n this.configuration.emit(formValue);\n }\n });\n });\n }\n}\n","<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-paragraph [margin]=\"true\" [italic]=\"true\">\n {{ 'deleteObjectWarning' | pluginTranslate: pluginId | async }}\n</v-paragraph>\n<v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null,\n } as obs\"\n>\n <v-input\n name=\"objectUrl\"\n [title]=\"'objectUrl' | pluginTranslate: pluginId | async\"\n [tooltip]=\"'objectUrlTooltip' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.objectUrl\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n [trim]=\"true\"\n [fullWidth]=\"true\"\n ></v-input>\n</v-form>\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {NgModule} from '@angular/core';\nimport {ObjectenApiConfigurationComponent} from './components/objecten-api-configuration/objecten-api-configuration.component';\nimport {CommonModule} from '@angular/common';\nimport {PluginTranslatePipeModule} from '../../pipes';\nimport {FormModule, InputModule, ParagraphModule, SelectModule} from '@valtimo/components';\nimport {DeleteObjectComponent} from './components/delete-object/delete-object.component';\n\n@NgModule({\n declarations: [ObjectenApiConfigurationComponent, DeleteObjectComponent],\n imports: [\n CommonModule,\n PluginTranslatePipeModule,\n FormModule,\n InputModule,\n SelectModule,\n ParagraphModule,\n ],\n exports: [ObjectenApiConfigurationComponent, DeleteObjectComponent],\n})\nexport class ObjectenApiPluginModule {}\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nconst OBJECTEN_API_PLUGIN_LOGO_BASE64 =\n 'data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyBpZD0iTGF5ZXJfMiIgZGF0YS1uYW1lPSJMYXllciAyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAzNDMuMDggMTgwLjIxIj4KICA8ZGVmcz4KICAgIDxzdHlsZT4KICAgICAgLmNscy0xIHsKICAgICAgICBmaWxsOiAjZmZiYzJkOwogICAgICB9CiAgICA8L3N0eWxlPgogIDwvZGVmcz4KICA8ZyBpZD0iTGF5ZXJfMS0yIiBkYXRhLW5hbWU9IkxheWVyIDEiPgogICAgPHBhdGggY2xhc3M9ImNscy0xIiBkPSJtMTQyLjgxLDcxLjgxYy04LjAyLTcuNjUtMTcuMzEtMTIuODQtMjguNTgtMTMuMDUtMTQuMDItLjI2LTMwLjQ4LDEwLjExLTMzLjQzLDI3LjM2LTEuNDIsOC4yOS42NSwxNS45NCw1LjY4LDIyLjYyLDcuNTEsOS45OCwxNy42NSwxNS41MywzMC4xNCwxNS41OSwxMi4yMS4wNiwyMy4yNC00LjA2LDMyLjk4LTExLjUsMi45OS0yLjI4LDUuNzgtNC43Nyw4LjM4LTcuNDguNi0uNjMsMS4yMi0xLjI2LDEuOTItMS43OC44OS0uNjUsMS44OS0uNzksMi42Ny4xNy43Ljg3LjE2LDEuNjYtLjQzLDIuMzMtMy42NCw0LjEzLTcuNDgsOC4wNC0xMS44MywxMS40NS0xMC4zNyw4LjE0LTIyLjE5LDEyLjYzLTM1LjI2LDEyLjgzLTIxLjAzLjMyLTQxLjIyLTE1LjY2LTQzLjctMzYuNTgtMS45NS0xNi41NCw0LjcxLTI5LjI4LDE3LjU3LTM4LjkxLDE1LjQ3LTExLjU3LDMyLjM3LTExLjgyLDQ5LjY4LTQuNjcsMTcuMTUsNy4wOCwzMC4yMywxOS4xNiw0MC43LDM0LjI1LDcuMSwxMC4yMywxNS4yMywxOS40NywyNS4zNiwyNi44Miw2LjE3LDQuNDgsMTIuOTUsNy41NywyMC41NCw4LjQ4LDExLjE0LDEuMzQsMjUuNjYtNC4xNCwzMi40Ny0xNi42Miw2LjItMTEuMzYsNC4zNi0yNS41Mi00LjU1LTM1LjEyLTkuNTktMTAuMzMtMjEuMzktMTQuMDMtMzUuMjctMTEuOTMtMTIuNiwxLjkxLTIzLjAzLDcuOC0zMi4wMywxNi41NS0uNzIuNy0xLjM3LDEuNDYtMi4xMywyLjExLTEuMDQuODktMS45OCwyLjk5LTMuNTYsMS41MS0xLjM1LTEuMjguMS0yLjc3LDEuMDUtMy44NywxMC40NS0xMi4wOCwyMi45OC0yMC42MiwzOS4xNS0yMi45OSwxOC4wNi0yLjY1LDMyLjgxLDMuMzQsNDMuODUsMTcuNjUsMTMuMDMsMTYuODksMTAuNDEsNDMuOTEtOS44Myw1OC4zNC0xNS4yMiwxMC44NS0zMS43MiwxMS44MS00OC43OSw1LjM4LTE2LjUyLTYuMjMtMjkuMjYtMTcuNDktMzkuNTEtMzEuNjItNS41Ny03LjY5LTEwLjg5LTE1LjU1LTE3LjYtMjIuMzNsLTUuNjItNS4wMloiLz4KICAgIDxwYXRoIGQ9Im0zMjMuNDYsODkuNjVjLTEuMy0uMzUtMi42MS0uNy0zLjkxLTEuMDUtMTEuOTEtMy4yMy0xOC4zMS0xMS4yNi0xOC41LTIzLjYyLS4xNi05Ljg3LS4wMy0xOS43NS0uMDYtMjkuNjIsMC0xLjg3LjAzLTMuNzctLjI4LTUuNjEtMS41NS04Ljk4LTcuNzUtMTQuMzEtMTcuNzItMTUuMzlxLTQuODItLjUyLTQuODItNS4zOWMwLTIuMjUuMDYtNC41LS4wMi02Ljc1LS4wNS0xLjQ4LjItMi4yNSwyLTIuMjEsOC41MS4xNywxNi42MywxLjgxLDIzLjkyLDYuMzgsOS43OCw2LjEzLDEzLjg0LDE1LjM5LDEzLjk3LDI2LjU5LjExLDkuNS4wMiwxOSwuMDMsMjguNSwwLDEuNjItLjAxLDMuMjUuMDksNC44Ny40NSw3LjI0LDQuMDksMTIuMTUsMTAuOTIsMTQuNiwzLjU1LDEuMjcsNy4yNywxLjg1LDExLjAyLDEuOSwyLjE1LjAzLDMuMTUuNTUsMi45NSwyLjk5LS4yNSwzLjEtLjE0LDYuMjUtLjAzLDkuMzcuMDYsMS42My0uNTUsMi4yLTIuMTQsMi4yMS0zLjUuMDItNi45Ni40MS0xMC4zNCwxLjQ3LTguMjksMi42Mi0xMi4yNCw3LjUtMTIuNCwxNi4xNC0uMTgsMTAtLjA5LDIwLS4wNywzMCwwLDMuNTEtLjIsNy4wMS0uOTQsMTAuNDMtMi4xNSw5Ljg4LTguMTUsMTYuNjUtMTcuMjgsMjAuNy02LjAxLDIuNjctMTIuMzksMy42NC0xOC45Myw0LjA0LTIuNS4xNS0yLjk1LS43NC0yLjgxLTIuOTIuMTctMi42MS4wMy01LjI1LjA0LTcuODcuMDItMy4yNy4wMy0zLjMyLDMuMTYtMy40OCwyLjM5LS4xMiw0LjcxLS41Niw2Ljk4LTEuMjUsOC4yNi0yLjUzLDEyLjQ2LTcuODIsMTIuNjEtMTYuNDguMTgtMTAuMzcuMS0yMC43NS4wNi0zMS4xMi0uMDEtMy4xNS4yNy02LjI1LDEtOS4yOSwxLjkyLTguMDQsNy4zNC0xMi43OSwxNC45MS0xNS4zNywyLjE4LS43NCw0LjQyLTEuMyw2LjYzLTEuOTQtLjAyLS4yOC0uMDQtLjU1LS4wNS0uODNaIi8+CiAgICA8cGF0aCBkPSJtMTkuMjYsOTAuNDdjMi4xLjYyLDQuMjMsMS4xNyw2LjMsMS44OSw5Ljk4LDMuNDMsMTUuNjIsMTAuNjMsMTUuOTcsMjEuMi4zMywxMC4yNC4xNCwyMC40OS4yMywzMC43My4wMiwyLjI0LjE1LDQuNS40NCw2LjcyLjc3LDUuOTEsMy45LDEwLjE1LDkuMzgsMTIuNTYsMy4zNCwxLjQ3LDYuODcsMi4zNywxMC41MiwyLjMxLDIuMzUtLjA0LDMuMDEuODUsMi44NywzLjA4LS4xOCwyLjk5LS4wOCw2LS4wMyw4Ljk5LjAzLDEuNDItLjEsMi4yOS0xLjk2LDIuMjMtOC4wOS0uMjYtMTUuOTEtMS42Mi0yMy4wNC01LjYyLTkuNi01LjM5LTE0LjY2LTEzLjc2LTE0Ljk1LTI0LjcxLS4yOC0xMC4zNi0uMDktMjAuNzQtLjEtMzEuMTEsMC0yLjM4LS4xNC00LjczLS41Ni03LjA4LS45OS01LjYyLTQuMDctOS41My05LjI5LTExLjc4LTMuODMtMS42Ni03Ljg3LTIuNDYtMTIuMDItMi40Mi0yLjIuMDItMy4xNi0uNTUtMy0yLjk1LjIxLTMuMTEuMTMtNi4yNS4wMi05LjM3LS4wNi0xLjY1LjU4LTIuMTYsMi4xNC0yLjI1LDIuNjEtLjE0LDUuMjEtLjMyLDcuOC0uOSwxMC4xMi0yLjI1LDE0LjczLTcuNjYsMTQuODYtMTguMDcuMTMtMTAuNDkuMDYtMjAuOTkuMDMtMzEuNDktLjAxLTQuNjguOC05LjE4LDIuNzItMTMuNDYsMy4wMS02LjY4LDguMTYtMTEuMjQsMTQuNjQtMTQuMzlDNDguNjIsMS40Nyw1NS40NC4yNCw2Mi41MSwwYzIuMS0uMDcsMi41Mi42NywyLjQ0LDIuNTMtLjEyLDIuOTktLjE2LDYsLjAxLDguOTkuMTEsMi4wMi0uNjcsMi42Ni0yLjU2LDIuNjgtMi44OS4wMy01LjY5LjYyLTguNDMsMS41Ny03LjA2LDIuNDQtMTEuMTMsNy4zLTExLjksMTQuNzgtLjE5LDEuODYtLjMyLDMuNzMtLjMzLDUuNi0uMDYsOS44Ny4xMywxOS43NS0uMTYsMjkuNjEtLjM2LDEyLjA4LTYuNjgsMTkuNjgtMTguNCwyMi44NC0xLjMuMzUtMi42MS43MS0zLjkxLDEuMDYsMCwuMjctLjAyLjUzLS4wMi44WiIvPgogIDwvZz4KPC9zdmc+';\n\nexport {OBJECTEN_API_PLUGIN_LOGO_BASE64};\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport * from './objecten-api-plugin-logo';\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {PluginSpecification} from '../../models';\nimport {ObjectenApiConfigurationComponent} from './components/objecten-api-configuration/objecten-api-configuration.component';\nimport {OBJECTEN_API_PLUGIN_LOGO_BASE64} from './assets';\nimport {DeleteObjectComponent} from './components/delete-object/delete-object.component';\n\nconst objectenApiPluginSpecification: PluginSpecification = {\n pluginId: 'objectenapi',\n pluginConfigurationComponent: ObjectenApiConfigurationComponent,\n pluginLogoBase64: OBJECTEN_API_PLUGIN_LOGO_BASE64,\n functionConfigurationComponents: {\n 'delete-object': DeleteObjectComponent,\n },\n pluginTranslations: {\n nl: {\n title: 'Objecten API',\n url: 'Objecten API URL',\n urlTooltip: 'Een URL naar de REST API van Objecten',\n description:\n 'Met de Overige Objecten Registratie API-specificaties (Objecten) kunnen gemeenten eenduidig objecten registreren, opslaan en ontsluiten.',\n configurationTitle: 'Configuratienaam',\n configurationTitleTooltip:\n 'Onder deze naam zal de plug-in te herkennen zijn in de rest van de applicatie',\n authenticationPluginConfiguration: 'Configuratie authenticatie-plug-in',\n 'delete-object': 'Object verwijderen',\n deleteObjectWarning:\n 'Waarschuwing: de objecten die met deze actie verwijderd worden mogen niet gekoppeld zijn aan een Zaak.',\n objectUrl: 'Object URL',\n objectUrlTooltip:\n \"De URL van het object dat verwijderd moet worden uit de Objecten API. De ingevoerde waarde mag een procesvariable zijn, bijvoorbeeld: 'pv:object'.\",\n },\n en: {\n title: 'Objecten API',\n url: 'Objecten API URL',\n urlTooltip: 'A URL to the REST API of Objects',\n description:\n 'With the Other Objects Registration API specifications (Objects), municipalities can unambiguously register, store and access objects.',\n configurationTitle: 'Configuration name',\n configurationTitleTooltip:\n 'With this name the plugin will be recognizable in the rest of the application',\n authenticationPluginConfiguration: 'Authentication plugin configuration',\n 'delete-object': 'Delete object',\n deleteObjectWarning:\n 'Warning: the objects that are deleted with this action must not be linked to a Zaak.',\n objectUrl: 'Object URL',\n objectUrlTooltip:\n \"The URL of the object to be removed from the Objecten API. The value entered may be a process variable, for example: 'pv:object'.\",\n },\n },\n};\n\nexport {objectenApiPluginSpecification};\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {PluginConfigurationComponent} from '../../../../models';\nimport {BehaviorSubject, combineLatest, map, Observable, Subscription, take} from 'rxjs';\nimport {CatalogiApiConfig} from '../../models';\nimport {PluginManagementService, PluginTranslationService} from '../../../../services';\nimport {TranslateService} from '@ngx-translate/core';\n\n@Component({\n standalone: false,\n selector: 'valtimo-catalogi-api-configuration',\n templateUrl: './catalogi-api-configuration.component.html',\n styleUrls: ['./catalogi-api-configuration.component.scss'],\n})\nexport class CatalogiApiConfigurationComponent\n implements PluginConfigurationComponent, OnInit, OnDestroy\n{\n @Input() save$: Observable<void>;\n @Input() disabled$: Observable<boolean>;\n @Input() pluginId: string;\n @Input() prefillConfiguration$: Observable<CatalogiApiConfig>;\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() configuration: EventEmitter<CatalogiApiConfig> = new EventEmitter<CatalogiApiConfig>();\n readonly authenticationPluginSelectItems$: Observable<Array<{id: string; text: string}>> =\n combineLatest([\n this.pluginManagementService.getPluginConfigurationsByCategory('catalogi-api-authentication'),\n this.translateService.stream('key'),\n ]).pipe(\n map(([configurations]) =>\n configurations.map(configuration => ({\n id: configuration.id,\n text: `${configuration.title} - ${this.pluginTranslationService.instant(\n 'title',\n configuration.pluginDefinition.key\n )}`,\n }))\n )\n );\n private saveSubscription!: Subscription;\n private readonly formValue$ = new BehaviorSubject<CatalogiApiConfig | null>(null);\n private readonly valid$ = new BehaviorSubject<boolean>(false);\n\n constructor(\n private readonly pluginManagementService: PluginManagementService,\n private readonly translateService: TranslateService,\n private readonly pluginTranslationService: PluginTranslationService\n ) {}\n\n ngOnInit(): void {\n this.openSaveSubscription();\n }\n\n ngOnDestroy() {\n this.saveSubscription?.unsubscribe();\n }\n\n formValueChange(formValue: CatalogiApiConfig): void {\n this.formValue$.next(formValue);\n this.handleValid(formValue);\n }\n\n private handleValid(formValue: CatalogiApiConfig): void {\n const valid = !!(\n formValue.configurationTitle &&\n formValue.url &&\n formValue.authenticationPluginConfiguration\n );\n\n this.valid$.next(valid);\n this.valid.emit(valid);\n }\n\n private openSaveSubscription(): void {\n this.saveSubscription = this.save$?.subscribe(save => {\n combineLatest([this.formValue$, this.valid$])\n .pipe(take(1))\n .subscribe(([formValue, valid]) => {\n if (valid) {\n this.configuration.emit(formValue);\n }\n });\n });\n }\n}\n","<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null,\n } as obs\"\n>\n <v-input\n name=\"configurationTitle\"\n data-test-id=\"catalogiApiConfigurationTitle\"\n [title]=\"'configurationTitle' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.configurationTitle\"\n [required]=\"true\"\n [trim]=\"true\"\n [tooltip]=\"'configurationTitleTooltip' | pluginTranslate: pluginId | async\"\n placeholder=\"Catalogi API Plugin\"\n >\n </v-input>\n\n <v-input\n name=\"url\"\n data-test-id=\"catalogiApiUrl\"\n [title]=\"'url' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.url\"\n [required]=\"true\"\n [trim]=\"true\"\n [tooltip]=\"'urlTooltip' | pluginTranslate: pluginId | async\"\n placeholder=\"https://openzaak.example.com/catalogi/api/v1/ \"\n >\n </v-input>\n <ng-container\n *ngIf=\"{authenticationPluginSelectItems: authenticationPluginSelectItems$ | async} as authObs\"\n >\n <v-select\n [items]=\"authObs.authenticationPluginSelectItems\"\n [margin]=\"true\"\n name=\"authenticationPluginConfiguration\"\n data-test-id=\"catalogApiAuthenticationPluginConfiguration\"\n [title]=\"'authenticationPluginConfiguration' | pluginTranslate: pluginId | async\"\n [disabled]=\"obs.disabled\"\n [defaultSelectionId]=\"obs.prefill?.authenticationPluginConfiguration\"\n [required]=\"true\"\n [loading]=\"!authObs.authenticationPluginSelectItems\"\n ></v-select>\n </ng-container>\n</v-form>\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {BehaviorSubject, combineLatest, Observable, Subscription, take} from 'rxjs';\nimport {FunctionConfigurationComponent} from '../../../../models';\nimport {GetStatustypenConfig} from '../../models';\n\n@Component({\n standalone: false,\n selector: 'valtimo-get-statustypen-configuration',\n templateUrl: './get-statustypen-configuration.component.html',\n})\nexport class GetStatustypenConfigurationComponent\n implements FunctionConfigurationComponent, OnInit, OnDestroy\n{\n @Input() disabled$: Observable<boolean>;\n @Input() pluginId: string;\n @Input() prefillConfiguration$: Observable<GetStatustypenConfig>;\n @Input() save$: Observable<void>;\n @Output() configuration: EventEmitter<GetStatustypenConfig> =\n new EventEmitter<GetStatustypenConfig>();\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n\n private readonly _formValue$ = new BehaviorSubject<GetStatustypenConfig | null>(null);\n private _saveSubscription!: Subscription;\n private readonly _valid$ = new BehaviorSubject<boolean>(false);\n\n public ngOnInit(): void {\n this.openSaveSubscription();\n }\n\n public ngOnDestroy(): void {\n this._saveSubscription?.unsubscribe();\n }\n\n public formValueChange(formValue: GetStatustypenConfig): void {\n this._formValue$.next(formValue);\n this.handleValid(formValue);\n }\n\n private handleValid(formValue: GetStatustypenConfig): void {\n const valid = !!formValue.processVariable;\n\n this._valid$.next(valid);\n this.valid.emit(valid);\n }\n\n private openSaveSubscription(): void {\n this._saveSubscription = this.save$?.subscribe(save => {\n combineLatest([this._formValue$, this._valid$])\n .pipe(take(1))\n .subscribe(([formValue, valid]) => {\n if (valid) {\n this.configuration.emit(formValue);\n }\n });\n });\n }\n}\n","<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<ng-container\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null,\n } as obs\"\n>\n <v-paragraph [margin]=\"true\" [italic]=\"true\">\n {{ 'getStatustypenInformation' | pluginTranslate: pluginId | async }}\n </v-paragraph>\n\n <v-form (valueChange)=\"formValueChange($event)\">\n <v-input\n name=\"processVariable\"\n [title]=\"'processVariable' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.processVariable\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n [trim]=\"true\"\n [tooltip]=\"'processVariableTooltip' | pluginTranslate: pluginId | async\"\n [fullWidth]=\"true\"\n >\n </v-input>\n\n <v-input\n name=\"zaakTypeUrl\"\n [title]=\"'zaakTypeUrl' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.zaakTypeUrl\"\n [disabled]=\"obs.disabled\"\n [required]=\"false\"\n [trim]=\"true\"\n [tooltip]=\"'zaakTypeUrlTooltip' | pluginTranslate: pluginId | async\"\n [fullWidth]=\"true\"\n >\n </v-input>\n </v-form>\n</ng-container>\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {FunctionConfigurationComponent} from '../../../../models';\nimport {BehaviorSubject, combineLatest, Observable, Subscription, take} from 'rxjs';\nimport {GetStatustypeConfig} from '../../models';\n\n@Component({\n standalone: false,\n selector: 'valtimo-set-statustype-configuration',\n templateUrl: './get-statustype-configuration.component.html',\n styleUrls: ['./get-statustype-configuration.component.scss'],\n})\nexport class GetStatustypeConfigurationComponent\n implements FunctionConfigurationComponent, OnInit, OnDestroy\n{\n @Input() save$: Observable<void>;\n @Input() disabled$: Observable<boolean>;\n @Input() pluginId: string;\n @Input() prefillConfiguration$: Observable<GetStatustypeConfig>;\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() configuration: EventEmitter<GetStatustypeConfig> =\n new EventEmitter<GetStatustypeConfig>();\n\n private saveSubscription!: Subscription;\n\n private readonly formValue$ = new BehaviorSubject<GetStatustypeConfig | null>(null);\n private readonly valid$ = new BehaviorSubject<boolean>(false);\n\n ngOnInit(): void {\n this.openSaveSubscription();\n }\n\n ngOnDestroy() {\n this.saveSubscription?.unsubscribe();\n }\n\n formValueChange(formValue: GetStatustypeConfig): void {\n this.formValue$.next(formValue);\n this.handleValid(formValue);\n }\n\n private handleValid(formValue: GetStatustypeConfig): void {\n const valid = !!(formValue.statustype && formValue.processVariable);\n\n this.valid$.next(valid);\n this.valid.emit(valid);\n }\n\n private openSaveSubscription(): void {\n this.saveSubscription = this.save$?.subscribe(save => {\n combineLatest([this.formValue$, this.valid$])\n .pipe(take(1))\n .subscribe(([formValue, valid]) => {\n if (valid) {\n this.configuration.emit(formValue);\n }\n });\n });\n }\n}\n","<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-paragraph [margin]=\"true\" [italic]=\"true\">\n {{ 'getStatustypeInformation' | pluginTranslate: pluginId | async }}\n</v-paragraph>\n<v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null,\n } as obs\"\n>\n <v-input\n name=\"statustype\"\n [title]=\"'statustype' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.statustype\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n [trim]=\"true\"\n [tooltip]=\"'statustypeTooltip' | pluginTranslate: pluginId | async\"\n [fullWidth]=\"true\"\n >\n </v-input>\n <v-input\n name=\"processVariable\"\n [title]=\"'processVariable' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.processVariable\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n [trim]=\"true\"\n [tooltip]=\"'processVariableTooltip' | pluginTranslate: pluginId | async\"\n [fullWidth]=\"true\"\n >\n </v-input>\n</v-form>\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {FunctionConfigurationComponent} from '../../../../models';\nimport {BehaviorSubject, combineLatest, Observable, Subscription, take} from 'rxjs';\nimport {GetBesluittypeConfig} from '../../models';\n\n@Component({\n standalone: false,\n selector: 'valtimo-set-besluittype-configuration',\n templateUrl: './get-besluittype-configuration.component.html',\n styleUrls: ['./get-besluittype-configuration.component.scss'],\n})\nexport class GetBesluittypeConfigurationComponent\n implements FunctionConfigurationComponent, OnInit, OnDestroy\n{\n @Input() save$: Observable<void>;\n @Input() disabled$: Observable<boolean>;\n @Input() pluginId: string;\n @Input() prefillConfiguration$: Observable<GetBesluittypeConfig>;\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() configuration: EventEmitter<GetBesluittypeConfig> =\n new EventEmitter<GetBesluittypeConfig>();\n\n private saveSubscription!: Subscription;\n\n private readonly formValue$ = new BehaviorSubject<GetBesluittypeConfig | null>(null);\n private readonly valid$ = new BehaviorSubject<boolean>(false);\n\n ngOnInit(): void {\n this.openSaveSubscription();\n }\n\n ngOnDestroy() {\n this.saveSubscription?.unsubscribe();\n }\n\n formValueChange(formValue: GetBesluittypeConfig): void {\n this.formValue$.next(formValue);\n this.handleValid(formValue);\n }\n\n private handleValid(formValue: GetBesluittypeConfig): void {\n const valid = !!(formValue.besluittype && formValue.processVariable);\n\n this.valid$.next(valid);\n this.valid.emit(valid);\n }\n\n private openSaveSubscription(): void {\n this.saveSubscription = this.save$?.subscribe(save => {\n combineLatest([this.formValue$, this.valid$])\n .pipe(take(1))\n .subscribe(([formValue, valid]) => {\n if (valid) {\n this.configuration.emit(formValue);\n }\n });\n });\n }\n}\n","<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-paragraph [margin]=\"true\" [italic]=\"true\">\n {{ 'getBesluittypeInformation' | pluginTranslate: pluginId | async }}\n</v-paragraph>\n<v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null,\n } as obs\"\n>\n <v-input\n name=\"besluittype\"\n [title]=\"'besluittype' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.besluittype\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n [trim]=\"true\"\n [tooltip]=\"'besluittypeTooltip' | pluginTranslate: pluginId | async\"\n [fullWidth]=\"true\"\n >\n </v-input>\n <v-input\n name=\"processVariable\"\n [title]=\"'processVariable' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.processVariable\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n [trim]=\"true\"\n [tooltip]=\"'besluitProcessVariableTooltip' | pluginTranslate: pluginId | async\"\n [fullWidth]=\"true\"\n >\n </v-input>\n</v-form>\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {BehaviorSubject, combineLatest, Observable, Subscription, take} from 'rxjs';\nimport {FunctionConfigurationComponent} from '../../../../models';\nimport {GetResultaattypenConfig} from '../../models';\n\n@Component({\n standalone: false,\n selector: 'valtimo-get-resultaattypen-configuration',\n templateUrl: './get-resultaattypen-configuration.component.html',\n})\nexport class GetResultaattypenConfigurationComponent\n implements FunctionConfigurationComponent, OnInit, OnDestroy\n{\n @Input() disabled$: Observable<boolean>;\n @Input() pluginId: string;\n @Input() prefillConfiguration$: Observable<GetResultaattypenConfig>;\n @Input() save$: Observable<void>;\n @Output() configuration: EventEmitter<GetResultaattypenConfig> =\n new EventEmitter<GetResultaattypenConfig>();\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n\n private readonly _formValue$ = new BehaviorSubject<GetResultaattypenConfig | null>(null);\n private _saveSubscription!: Subscription;\n private readonly _valid$ = new BehaviorSubject<boolean>(false);\n\n public ngOnInit(): void {\n this.openSaveSubscription();\n }\n\n public ngOnDestroy(): void {\n this._saveSubscription?.unsubscribe();\n }\n\n public formValueChange(formValue: GetResultaattypenConfig): void {\n this._formValue$.next(formValue);\n this.handleValid(formValue);\n }\n\n private handleValid(formValue: GetResultaattypenConfig): void {\n const valid = !!formValue.processVariable;\n\n this._valid$.next(valid);\n this.valid.emit(valid);\n }\n\n private openSaveSubscription(): void {\n this._saveSubscription = this.save$?.subscribe(save => {\n combineLatest([this._formValue$, this._valid$])\n .pipe(take(1))\n .subscribe(([formValue, valid]) => {\n if (valid) {\n this.configuration.emit(formValue);\n }\n });\n });\n }\n}\n","<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<ng-container\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null,\n } as obs\"\n>\n <v-paragraph [margin]=\"true\" [italic]=\"true\">\n {{ 'getResultaattypenInformation' | pluginTranslate: pluginId | async }}\n </v-paragraph>\n\n <v-form (valueChange)=\"formValueChange($event)\">\n <v-input\n name=\"processVariable\"\n [title]=\"'processVariable' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.processVariable\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n [trim]=\"true\"\n [tooltip]=\"'processVariableTooltip' | pluginTranslate: pluginId | async\"\n [fullWidth]=\"true\"\n >\n </v-input>\n\n <v-input\n name=\"zaakTypeUrl\"\n [title]=\"'zaakTypeUrl' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.zaakTypeUrl\"\n [disabled]=\"obs.disabled\"\n [required]=\"false\"\n [trim]=\"true\"\n [tooltip]=\"'zaakTypeUrlTooltip' | pluginTranslate: pluginId | async\"\n [fullWidth]=\"true\"\n >\n </v-input>\n </v-form>\n</ng-container>\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {FunctionConfigurationComponent} from '../../../../models';\nimport {BehaviorSubject, combineLatest, Observable, Subscription, take} from 'rxjs';\nimport {GetResultaattypeConfig} from '../../models';\n\n@Component({\n standalone: false,\n selector: 'valtimo-set-resultaattype-configuration',\n templateUrl: './get-resultaattype-configuration.component.html',\n styleUrls: ['./get-resultaattype-configuration.component.scss'],\n})\nexport class GetResultaattypeConfigurationComponent\n implements FunctionConfigurationComponent, OnInit, OnDestroy\n{\n @Input() save$: Observable<void>;\n @Input() disabled$: Observable<boolean>;\n @Input() pluginId: string;\n @Input() prefillConfiguration$: Observable<GetResultaattypeConfig>;\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() configuration: EventEmitter<GetResultaattypeConfig> =\n new EventEmitter<GetResultaattypeConfig>();\n\n private saveSubscription!: Subscription;\n\n private readonly formValue$ = new BehaviorSubject<GetResultaattypeConfig | null>(null);\n private readonly valid$ = new BehaviorSubject<boolean>(false);\n\n ngOnInit(): void {\n this.openSaveSubscription();\n }\n\n ngOnDestroy() {\n this.saveSubscription?.unsubscribe();\n }\n\n formValueChange(formValue: GetResultaattypeConfig): void {\n this.formValue$.next(formValue);\n this.handleValid(formValue);\n }\n\n private handleValid(formValue: GetResultaattypeConfig): void {\n const valid = !!(formValue.resultaattype && formValue.processVariable);\n\n this.valid$.next(valid);\n this.valid.emit(valid);\n }\n\n private openSaveSubscription(): void {\n this.saveSubscription = this.save$?.subscribe(save => {\n combineLatest([this.formValue$, this.valid$])\n .pipe(take(1))\n .subscribe(([formValue, valid]) => {\n if (valid) {\n this.configuration.emit(formValue);\n }\n });\n });\n }\n}\n","<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-paragraph [margin]=\"true\" [italic]=\"true\">\n {{ 'getResultaattypeInformation' | pluginTranslate: pluginId | async }}\n</v-paragraph>\n<v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null,\n } as obs\"\n>\n <v-input\n name=\"resultaattype\"\n [title]=\"'resultaattype' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.resultaattype\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n [trim]=\"true\"\n [tooltip]=\"'resultaattypeTooltip' | pluginTranslate: pluginId | async\"\n [fullWidth]=\"true\"\n >\n </v-input>\n <v-input\n name=\"processVariable\"\n [title]=\"'processVariable' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.processVariable\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n [trim]=\"true\"\n [tooltip]=\"'reslutaatProcessVariableTooltip' | pluginTranslate: pluginId | async\"\n [fullWidth]=\"true\"\n >\n </v-input>\n</v-form>\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {BehaviorSubject, combineLatest, Observable, Subscription, take} from 'rxjs';\nimport {GetEigenschapConfig} from '../../models';\nimport {FunctionConfigurationComponent} from '../../../../models';\n\n@Component({\n standalone: false,\n selector: 'valtimo-get-eigenschap-configuration',\n templateUrl: './get-eigenschap-configuration.component.html',\n styleUrls: ['./get-eigenschap-configuration.component.scss'],\n})\nexport class GetEigenschapConfigurationComponent\n implements FunctionConfigurationComponent, OnInit, OnDestroy\n{\n @Input() public save$: Observable<void>;\n @Input() public disabled$: Observable<boolean>;\n @Input() public pluginId: string;\n @Input() public prefillConfiguration$: Observable<GetEigenschapConfig>;\n @Output() public valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() public configuration: EventEmitter<GetEigenschapConfig> =\n new EventEmitter<GetEigenschapConfig>();\n\n private _saveSubscription!: Subscription;\n\n private readonly formValue$ = new BehaviorSubject<GetEigenschapConfig | null>(null);\n private readonly valid$ = new BehaviorSubject<boolean>(false);\n\n public ngOnInit(): void {\n this.openSaveSubscription();\n }\n\n public ngOnDestroy() {\n this._saveSubscription?.unsubscribe();\n }\n\n public formValueChange(formValue: GetEigenschapConfig): void {\n this.formValue$.next(formValue);\n this.handleValid(formValue);\n }\n\n private handleValid(formValue: GetEigenschapConfig): void {\n const valid = !!(formValue.eigenschap && formValue.processVariable);\n\n this.valid$.next(valid);\n this.valid.emit(valid);\n }\n\n private openSaveSubscription(): void {\n this._saveSubscription = this.save$?.subscribe(save => {\n combineLatest([this.formValue$, this.valid$])\n .pipe(take(1))\n .subscribe(([formValue, valid]) => {\n if (valid) {\n this.configuration.emit(formValue);\n }\n });\n });\n }\n}\n","<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-paragraph [margin]=\"true\" [italic]=\"true\">\n {{ 'getEigenschapInformation' | pluginTranslate: pluginId | async }}\n</v-paragraph>\n\n<v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null,\n } as obs\"\n>\n <v-input\n name=\"eigenschap\"\n [title]=\"'eigenschap' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.eigenschap\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n [trim]=\"true\"\n [tooltip]=\"'eigenschapTooltip' | pluginTranslate: pluginId | async\"\n [fullWidth]=\"true\"\n >\n </v-input>\n\n <v-input\n name=\"processVariable\"\n [title]=\"'processVariable' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.processVariable\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n [trim]=\"true\"\n [tooltip]=\"'eigenschapProcessVariableTooltip' | pluginTranslate: pluginId | async\"\n [fullWidth]=\"true\"\n >\n </v-input>\n</v-form>\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {NgModule} from '@angular/core';\nimport {CatalogiApiConfigurationComponent} from './components/catalogi-api-configuration/catalogi-api-configuration.component';\nimport {CommonModule} from '@angular/common';\nimport {PluginTranslatePipeModule} from '../../pipes';\nimport {FormModule, InputModule, ParagraphModule, SelectModule} from '@valtimo/components';\nimport {GetStatustypenConfigurationComponent} from './components/get-statustypen/get-statustypen-configuration.component';\nimport {GetStatustypeConfigurationComponent} from './components/get-statustype/get-statustype-configuration.component';\nimport {GetBesluittypeConfigurationComponent} from './components/get-besluittype/get-besluittype-configuration.component';\nimport {GetResultaattypenConfigurationComponent} from './components/get-resultaattypen/get-resultaattypen-configuration.component';\nimport {GetResultaattypeConfigurationComponent} from './components/get-resultaattype/get-resultaattype-configuration.component';\nimport {GetEigenschapConfigurationComponent} from './components/get-eigenschap/get-eigenschap-configuration.component';\n\n@NgModule({\n declarations: [\n CatalogiApiConfigurationComponent,\n GetBesluittypeConfigurationComponent,\n GetResultaattypenConfigurationComponent,\n GetResultaattypeConfigurationComponent,\n GetStatustypenConfigurationComponent,\n GetStatustypeConfigurationComponent,\n GetEigenschapConfigurationComponent,\n ],\n imports: [\n CommonModule,\n PluginTranslatePipeModule,\n FormModule,\n InputModule,\n SelectModule,\n ParagraphModule,\n ],\n exports: [\n CatalogiApiConfigurationComponent,\n GetBesluittypeConfigurationComponent,\n GetResultaattypenConfigurationComponent,\n GetResultaattypeConfigurationComponent,\n GetStatustypeConfigurationComponent,\n GetStatustypenConfigurationComponent,\n GetEigenschapConfigurationComponent,\n ],\n})\nexport class CatalogiApiPluginModule {}\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nconst CATALOGI_API_PLUGIN_LOGO_BASE64 =\n 'data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB2aWV3Qm94PSIxNTAgMTUgOTYgNTAiPjxkZWZzPjxwYXRoIGlkPSJhIiBkPSJNNTcuMzk2LjIxMUguMjgxdjQ5LjQwNWg1Ny4xMTVWLjIxeiIvPjxwYXRoIGlkPSJjIiBkPSJNNTcuNTY0LjIxMUguNDQ4djQ5LjQwNWg1Ny4xMTZWLjIxeiIvPjwvZGVmcz48ZyBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDE4Ny45MzEgMTUpIj48bWFzayBpZD0iYiIgZmlsbD0iI2ZmZiI+PHVzZSB4bGluazpocmVmPSIjYSIvPjwvbWFzaz48cGF0aCBkPSJNNTcuMzk2IDI0LjkxM2MwLTEzLjU3My0xMS4wMDQtMjQuNjIyLTI0LjU2LTI0LjctLjAyNCAwLS4wNDgtLjAwMy0uMDczLS4wMDNIMjQuNzVhMi41MDQgMi41MDQgMCAxIDAgMCA1LjAxaDcuOTQ1YzEwLjg1OCAwIDE5LjY5NCA4LjgzNCAxOS42OTQgMTkuNjkzIDAgMTAuODYtOC44MzYgMTkuNjk0LTE5LjY5NCAxOS42OTRINS4yODl2LTQuNTc4SC4yODF2OS41ODdoMzIuNDgydi0uMDAxYzEzLjU5LS4wNCAyNC42MzMtMTEuMTA1IDI0LjYzMy0yNC43MDIiIGZpbGw9IiMwMDlGRTQiIG1hc2s9InVybCgjYikiLz48L2c+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTUwIDE1KSI+PG1hc2sgaWQ9ImQiIGZpbGw9IiNmZmYiPjx1c2UgeGxpbms6aHJlZj0iI2MiLz48L21hc2s+PHBhdGggZD0iTS40NDggMjQuOTEzYzAgMTMuNTczIDExLjAwNCAyNC42MjIgMjQuNTYgMjQuNy4wMjQgMCAuMDQ4LjAwMy4wNzMuMDAzaDguMDE0YTIuNTA0IDIuNTA0IDAgMSAwIDAtNS4wMDloLTcuOTQ0Yy0xMC44NTkgMC0xOS42OTQtOC44MzQtMTkuNjk0LTE5LjY5NCAwLTEwLjg1OSA4LjgzNS0xOS42OTQgMTkuNjk0LTE5LjY5NGgyNy40MDR2NC41NzhoNS4wMDlWLjIxSDI1LjA4di4wMDFDMTEuNDkuMjUxLjQ0OCAxMS4zMTYuNDQ4IDI0LjkxMyIgZmlsbD0iIzAwOUZFNCIgbWFzaz0idXJsKCNkKSIvPjwvZz48cGF0aCBmaWxsPSIjMDA0Mzg4IiBkPSJNMTc2LjAxNyA0Mi4xMTZsLTQuNjc4LTEyLjQwMWgtNS42NjRsOC4xNCAyMC4zNjZoMy45MjFsOC40MDEtMjAuMzY2aC01LjM2M3ptMjYuNTQyLjU1OGwtNy45MjgtMTIuOTU5aC02LjQxM3YyMC4zNjdoNC45OTdWMzYuNzg3bDguMTUgMTMuMjk1aDYuMTlWMjkuNzE1aC00Ljk5NnptMTkuMzIzLTQuOTR2NC42NjNoMy41Mzd2Mi42NzdhOS43NzMgOS43NzMgMCAwIDEtMS40MTQuNTRjLS42NTIuMjAzLTEuNDQzLjMwNi0yLjM1NC4zMDYtLjg4IDAtMS42ODYtLjE1LTIuMzk0LS40NDhhNS4zMzggNS4zMzggMCAwIDEtMS44MjQtMS4yNDcgNS41MjIgNS41MjIgMCAwIDEtMS4xNy0xLjg5NGMtLjI3Mi0uNzI5LS40MS0xLjU0OS0uNDEtMi40MzMgMC0uODY3LjEzOC0xLjY4MS40MS0yLjQyYTUuNTAyIDUuNTAyIDAgMCAxIDEuMTctMS45MDggNS4zNzQgNS4zNzQgMCAwIDEgMS44MjQtMS4yNDZjLjcwOS0uMjk4IDEuNTE0LS40NDkgMi4zOTQtLjQ0OSAxLjA2NCAwIDEuOTU5LjE1MSAyLjY1Ny40NDkuNy4yOTcgMS4zMzguNzQgMS44OTggMS4zMThsLjI0Mi4yNDggMy41MTUtMy44MzUtLjIzNy0uMjIxYTguOTIzIDguOTIzIDAgMCAwLTMuNjI3LTIuMDM4Yy0xLjM1LS4zODYtMi44NDctLjU4My00LjQ0OC0uNTgzLTEuNTcyIDAtMy4wNDQuMjUtNC4zNzMuNzQ1YTEwLjEzOSAxMC4xMzkgMCAwIDAtMy40ODEgMi4xNDNjLS45NzUuOTI4LTEuNzQ2IDIuMDY2LTIuMjkgMy4zODQtLjU0MyAxLjMxNS0uODE5IDIuOC0uODE5IDQuNDEzIDAgMS42MTMuMjc2IDMuMDk4LjgyIDQuNDEzLjU0NSAxLjMxOSAxLjMxNCAyLjQ1NyAyLjI4OSAzLjM4NC45NzQuOTI2IDIuMTQ2IDEuNjQ3IDMuNDggMi4xNDMgMS4zMy40OTQgMi44MDIuNzQ0IDQuMzc0Ljc0NCAxLjQ2NCAwIDIuOTItLjE1MiA0LjMzLS40NTJhMTYuMDU0IDE2LjA1NCAwIDAgMCA0LjA5LTEuNDc4bC4xNzctLjA5VjM3LjczM2gtOC4zNjZ6Ii8+PC9nPjwvc3ZnPg==';\n\nexport {CATALOGI_API_PLUGIN_LOGO_BASE64};\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport * from './catalogi-api-plugin-logo';\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {PluginSpecification} from '../../models';\nimport {CatalogiApiConfigurationComponent} from './components/catalogi-api-configuration/catalogi-api-configuration.component';\nimport {GetStatustypenConfigurationComponent} from './components/get-statustypen/get-statustypen-configuration.component';\nimport {GetStatustypeConfigurationComponent} from './components/get-statustype/get-statustype-configuration.component';\nimport {GetBesluittypeConfigurationComponent} from './components/get-besluittype/get-besluittype-configuration.component';\nimport {GetResultaattypenConfigurationComponent} from './components/get-resultaattypen/get-resultaattypen-configuration.component';\nimport {GetResultaattypeConfigurationComponent} from './components/get-resultaattype/get-resultaattype-configuration.component';\nimport {GetEigenschapConfigurationComponent} from './components/get-eigenschap/get-eigenschap-configuration.component';\nimport {CATALOGI_API_PLUGIN_LOGO_BASE64} from './assets';\n\nconst catalogiApiPluginSpecification: PluginSpecification = {\n pluginId: 'catalogiapi',\n pluginConfigurationComponent: CatalogiApiConfigurationComponent,\n pluginLogoBase64: CATALOGI_API_PLUGIN_LOGO_BASE64,\n functionConfigurationComponents: {\n 'get-besluittype': GetBesluittypeConfigurationComponent,\n 'get-resultaattypen': GetResultaattypenConfigurationComponent,\n 'get-resultaattype': GetResultaattypeConfigurationComponent,\n 'get-statustypen': GetStatustypenConfigurationComponent,\n 'get-statustype': GetStatustypeConfigurationComponent,\n 'get-eigenschap': GetEigenschapConfigurationComponent,\n },\n pluginTranslations: {\n nl: {\n title: 'Catalogi API',\n url: 'Catalogi API URL',\n urlTooltip: 'Een URL naar de REST API van Catalogi',\n description:\n 'API voor opslag en ontsluiting van zaaktype-catalogi, zaaktypen en onderliggende typen.',\n configurationTitle: 'Configuratienaam',\n configurationTitleTooltip:\n 'De naam van de huidige plugin-configuratie. Onder deze naam kan de configuratie in de rest van de applicatie teruggevonden worden.',\n authenticationPluginConfiguration: 'Configuratie authenticatie-plug-in',\n 'get-statustypen': 'Statustypen opvragen',\n getStatustypenInformation:\n 'De Statustypen behorende bij het Zaaktype worden opgehaald en daarna opgeslagen in een procesvariabele.',\n 'get-statustype': 'Statustype opvragen',\n getStatustypeInformation:\n 'De statustype wordt opgehaald en daarna opgeslagen in een procesvariabele.',\n statustype: 'Statustype',\n statustypeTooltip: 'Generieke aanduiding van de aard van een status.',\n processVariable: 'Naam procesvariabele',\n processVariableTooltip:\n 'Nadat de statustype is opgehaald, wordt deze opgeslagen in een procesvariabele met deze naam.',\n 'get-besluittype': 'Besluittype opvragen',\n getBesluittypeInformation:\n 'Het besluittype wordt opgehaald en daarna opgeslagen in een procesvariabele.',\n besluittype: 'Besluittype',\n besluittypeTooltip: 'Omschrijving van de aard van het besluit.',\n besluitProcessVariableTooltip:\n 'Nadat de besluittype is opgehaald, wordt deze opgeslagen in een procesvariabele met deze naam.',\n 'get-resultaattypen': 'Resultaattypen opvragen',\n getResultaattypenInformation:\n 'De Resultaattypen behorende bij het Zaaktype worden opgehaald en daarna opgeslagen in een procesvariabele.',\n 'get-resultaattype': 'Resultaattype opvragen',\n getResultaattypeInformation:\n 'Het resultaattype wordt opgehaald en daarna opgeslagen in een procesvariabele.',\n resultaattype: 'Resultaattype',\n resultaattypeTooltip: 'Omschrijving van de aard van het resultaat.',\n reslutaatProcessVariableTooltip:\n 'Nadat de resultaattype is opgehaald, wordt deze opgeslagen in een procesvariabele met deze naam.',\n 'get-eigenschap': 'Eigenschap opvragen',\n getEigenschapInformation:\n 'De eigenschap wordt opgehaald en daarna opgeslagen in een procesvariabele',\n eigenschap: 'Eigenschap',\n eigenschapTooltip: 'Naam van de aard van het eigenschaap.',\n eigenschapProcessVariableTooltip:\n 'Nadat de eigenschap is opgehaald, wordt deze opgeslagen in een procesvariabele met deze naam.',\n zaakTypeUrl: 'Zaaktype URL',\n zaakTypeUrlTooltip:\n 'Specificeer hier de URL van het betreffende Zaaktype indien deze afwijkt van de aan het Dossier gekoppelde Zaak',\n },\n en: {\n title: 'Catalogi API',\n url: 'Catalogi API URL',\n urlTooltip: 'A URL to the REST API of Catalogi',\n description: 'API for storage and retrieval of Zaaktype catalogs, Zaaktypen and child types.',\n configurationTitle: 'Configuration name',\n configurationTitleTooltip:\n 'The name of the current plugin configuration. Under this name, the configuration can be found in the rest of the application.',\n authenticationPluginConfiguration: 'Authentication plugin configuration',\n 'get-statustypen': 'Retrieve statustypen',\n getStatustypenInformation:\n 'The Statustypen belonging to the Zaaktype are retrieved and then stored in a process variable.',\n 'get-statustype': 'Retrieve statustype',\n getStatustypeInformation:\n 'The statustype is retrieved and then stored in a process variable.',\n statustype: 'Statustype',\n statustypeTooltip: 'Generic indication of the nature of a status.',\n processVariable: 'Process variable name',\n processVariableTooltip:\n 'Once the statustype is retrieved, it is stored in a process variable with the given name.',\n 'get-besluittype': 'Retrieve besluittype',\n getBesluittypeInformation:\n 'The besluittype is retrieved and then stored in a process variable.',\n besluittype: 'Besluittype',\n besluittypeTooltip: 'Description of the nature of the decision.',\n besluitProcessVariableTooltip:\n 'After the besluittype is retrieved, it is stored in a process variable with this name.',\n 'get-resultaattypen': 'Retrieve resultaattypen',\n getResultaattypenInformation:\n 'The Resultaattypen belonging to the Zaak type are retrieved and then stored in a process variable.',\n 'get-resultaattype': 'Retrieve resultaattype',\n getResultaattypeInformation:\n 'The resultaattype is retrieved and then stored in a process variable.',\n resultaattype: 'Resultaattype',\n resultaattypeTooltip: 'Description of the nature of the result.',\n reslutaatProcessVariableTooltip:\n 'After the resultaattype is retrieved, it is stored in a process variable with this name.',\n 'get-eigenschap': 'Retrieve eigenschap',\n getEigenschapInformation: 'The eigenschap is retrieved and then stored in a process variable',\n eigenschap: 'Eigenschap',\n eigenschapTooltip: 'Name of the nature of the eigenschap.',\n eigenschapProcessVariableTooltip:\n 'After the eigenschap is retrieved, it is stored in a process variable with this name.',\n zaakTypeUrl: 'Zaaktype URL',\n zaakTypeUrlTooltip:\n 'Specify the URL of the relevant Zaaktype here if it differs from the Zaak linked to the Case',\n },\n },\n};\n\nexport {catalogiApiPluginSpecification};\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {PluginConfigurationComponent} from '../../../../models';\nimport {BehaviorSubject, combineLatest, map, Observable, Subscription, take} from 'rxjs';\nimport {NotificatiesApiConfig} from '../../models';\nimport {PluginManagementService, PluginTranslationService} from '../../../../services';\nimport {TranslateService} from '@ngx-translate/core';\n\n@Component({\n standalone: false,\n selector: 'valtimo-notificaties-api-configuration',\n templateUrl: './notificaties-api-configuration.component.html',\n styleUrls: ['./notificaties-api-configuration.component.scss'],\n})\nexport class NotificatiesApiConfigurationComponent\n implements PluginConfigurationComponent, OnInit, OnDestroy\n{\n @Input() save$: Observable<void>;\n @Input() disabled$: Observable<boolean>;\n @Input() pluginId: string;\n @Input() prefillConfiguration$: Observable<NotificatiesApiConfig>;\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() configuration: EventEmitter<NotificatiesApiConfig> =\n new EventEmitter<NotificatiesApiConfig>();\n readonly authenticationPluginSelectItems$: Observable<Array<{id: string; text: string}>> =\n combineLatest([\n this.pluginManagementService.getPluginConfigurationsByCategory(\n 'notificaties-api-authentication'\n ),\n this.translateService.stream('key'),\n ]).pipe(\n map(([configurations]) =>\n configurations.map(configuration => ({\n id: configuration.id,\n text: `${configuration.title} - ${this.pluginTranslationService.instant(\n 'title',\n configuration.pluginDefinition.key\n )}`,\n }))\n )\n );\n private saveSubscription!: Subscription;\n private readonly formValue$ = new BehaviorSubject<NotificatiesApiConfig | null>(null);\n private readonly valid$ = new BehaviorSubject<boolean>(false);\n\n constructor(\n private readonly pluginManagementService: PluginManagementService,\n private readonly translateService: TranslateService,\n private readonly pluginTranslationService: PluginTranslationService\n ) {}\n\n ngOnInit(): void {\n this.openSaveSubscription();\n }\n\n ngOnDestroy() {\n this.saveSubscription?.unsubscribe();\n }\n\n formValueChange(formValue: NotificatiesApiConfig): void {\n this.formValue$.next(formValue);\n this.handleValid(formValue);\n }\n\n private handleValid(formValue: NotificatiesApiConfig): void {\n const valid = !!(formValue.configurationTitle && formValue.url && formValue.callbackUrl);\n\n this.valid$.next(valid);\n this.valid.emit(valid);\n }\n\n private openSaveSubscription(): void {\n this.saveSubscription = this.save$?.subscribe(save => {\n combineLatest([this.formValue$, this.valid$])\n .pipe(take(1))\n .subscribe(([formValue, valid]) => {\n if (valid) {\n this.configuration.emit(formValue);\n }\n });\n });\n }\n}\n","<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null,\n } as obs\"\n>\n <v-input\n name=\"configurationTitle\"\n data-test-id=\"notificatiesApiConfigurationTitle\"\n [title]=\"'configurationTitle' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.configurationTitle\"\n [required]=\"true\"\n [trim]=\"true\"\n [tooltip]=\"'configurationTitleTooltip' | pluginTranslate: pluginId | async\"\n placeholder=\"Notificaties API Plugin\"\n >\n </v-input>\n <v-input\n name=\"url\"\n data-test-id=\"notificatiesApiUrl\"\n [title]=\"'url' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.url\"\n [required]=\"true\"\n [trim]=\"true\"\n [tooltip]=\"'urlTooltip' | pluginTranslate: pluginId | async\"\n placeholder=\"https://opennotificaties.example.com/api/v1/\"\n >\n </v-input>\n <v-input\n name=\"callbackUrl\"\n data-test-id=\"notificatiesApiCallbackUrl\"\n [title]=\"'callbackUrl' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.callbackUrl\"\n [required]=\"true\"\n [trim]=\"true\"\n [tooltip]=\"'callbackUrlTooltip' | pluginTranslate: pluginId | async\"\n placeholder=\"https://{gzac-back-end-url}/api/v1/notificatiesapi/callback\"\n >\n </v-input>\n <ng-container\n *ngIf=\"{authenticationPluginSelectItems: authenticationPluginSelectItems$ | async} as authObs\"\n >\n <v-select\n [items]=\"authObs.authenticationPluginSelectItems\"\n [margin]=\"true\"\n name=\"authenticationPluginConfiguration\"\n data-test-id=\"notificatiesApiAuthenticationPluginConfiguration\"\n [title]=\"'authenticationPluginConfiguration' | pluginTranslate: pluginId | async\"\n [disabled]=\"obs.disabled\"\n [defaultSelectionId]=\"obs.prefill?.authenticationPluginConfiguration\"\n [required]=\"true\"\n [loading]=\"!authObs.authenticationPluginSelectItems\"\n ></v-select>\n </ng-container>\n</v-form>\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {NgModule} from '@angular/core';\nimport {NotificatiesApiConfigurationComponent} from './components/notificaties-api-configuration/notificaties-api-configuration.component';\nimport {PluginTranslatePipeModule} from '../../pipes';\nimport {CommonModule} from '@angular/common';\nimport {FormModule, InputModule, ParagraphModule, SelectModule} from '@valtimo/components';\n\n@NgModule({\n declarations: [NotificatiesApiConfigurationComponent],\n imports: [\n CommonModule,\n PluginTranslatePipeModule,\n FormModule,\n InputModule,\n SelectModule,\n ParagraphModule,\n ],\n exports: [NotificatiesApiConfigurationComponent],\n})\nexport class NotificatiesApiPluginModule {}\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nconst NOTIFICATIES_API_PLUGIN_LOGO_BASE64 =\n 'data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB2aWV3Qm94PSIxNTAgMTUgOTYgNTAiPjxkZWZzPjxwYXRoIGlkPSJhIiBkPSJNNTcuMzk2LjIxMUguMjgxdjQ5LjQwNWg1Ny4xMTVWLjIxeiIvPjxwYXRoIGlkPSJjIiBkPSJNNTcuNTY0LjIxMUguNDQ4djQ5LjQwNWg1Ny4xMTZWLjIxeiIvPjwvZGVmcz48ZyBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDE4Ny45MzEgMTUpIj48bWFzayBpZD0iYiIgZmlsbD0iI2ZmZiI+PHVzZSB4bGluazpocmVmPSIjYSIvPjwvbWFzaz48cGF0aCBkPSJNNTcuMzk2IDI0LjkxM2MwLTEzLjU3My0xMS4wMDQtMjQuNjIyLTI0LjU2LTI0LjctLjAyNCAwLS4wNDgtLjAwMy0uMDczLS4wMDNIMjQuNzVhMi41MDQgMi41MDQgMCAxIDAgMCA1LjAxaDcuOTQ1YzEwLjg1OCAwIDE5LjY5NCA4LjgzNCAxOS42OTQgMTkuNjkzIDAgMTAuODYtOC44MzYgMTkuNjk0LTE5LjY5NCAxOS42OTRINS4yODl2LTQuNTc4SC4yODF2OS41ODdoMzIuNDgydi0uMDAxYzEzLjU5LS4wNCAyNC42MzMtMTEuMTA1IDI0LjYzMy0yNC43MDIiIGZpbGw9IiMwMDlGRTQiIG1hc2s9InVybCgjYikiLz48L2c+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTUwIDE1KSI+PG1hc2sgaWQ9ImQiIGZpbGw9IiNmZmYiPjx1c2UgeGxpbms6aHJlZj0iI2MiLz48L21hc2s+PHBhdGggZD0iTS40NDggMjQuOTEzYzAgMTMuNTczIDExLjAwNCAyNC42MjIgMjQuNTYgMjQuNy4wMjQgMCAuMDQ4LjAwMy4wNzMuMDAzaDguMDE0YTIuNTA0IDIuNTA0IDAgMSAwIDAtNS4wMDloLTcuOTQ0Yy0xMC44NTkgMC0xOS42OTQtOC44MzQtMTkuNjk0LTE5LjY5NCAwLTEwLjg1OSA4LjgzNS0xOS42OTQgMTkuNjk0LTE5LjY5NGgyNy40MDR2NC41NzhoNS4wMDlWLjIxSDI1LjA4di4wMDFDMTEuNDkuMjUxLjQ0OCAxMS4zMTYuNDQ4IDI0LjkxMyIgZmlsbD0iIzAwOUZFNCIgbWFzaz0idXJsKCNkKSIvPjwvZz48cGF0aCBmaWxsPSIjMDA0Mzg4IiBkPSJNMTc2LjAxNyA0Mi4xMTZsLTQuNjc4LTEyLjQwMWgtNS42NjRsOC4xNCAyMC4zNjZoMy45MjFsOC40MDEtMjAuMzY2aC01LjM2M3ptMjYuNTQyLjU1OGwtNy45MjgtMTIuOTU5aC02LjQxM3YyMC4zNjdoNC45OTdWMzYuNzg3bDguMTUgMTMuMjk1aDYuMTlWMjkuNzE1aC00Ljk5NnptMTkuMzIzLTQuOTR2NC42NjNoMy41Mzd2Mi42NzdhOS43NzMgOS43NzMgMCAwIDEtMS40MTQuNTRjLS42NTIuMjAzLTEuNDQzLjMwNi0yLjM1NC4zMDYtLjg4IDAtMS42ODYtLjE1LTIuMzk0LS40NDhhNS4zMzggNS4zMzggMCAwIDEtMS44MjQtMS4yNDcgNS41MjIgNS41MjIgMCAwIDEtMS4xNy0xLjg5NGMtLjI3Mi0uNzI5LS40MS0xLjU0OS0uNDEtMi40MzMgMC0uODY3LjEzOC0xLjY4MS40MS0yLjQyYTUuNTAyIDUuNTAyIDAgMCAxIDEuMTctMS45MDggNS4zNzQgNS4zNzQgMCAwIDEgMS44MjQtMS4yNDZjLjcwOS0uMjk4IDEuNTE0LS40NDkgMi4zOTQtLjQ0OSAxLjA2NCAwIDEuOTU5LjE1MSAyLjY1Ny40NDkuNy4yOTcgMS4zMzguNzQgMS44OTggMS4zMThsLjI0Mi4yNDggMy41MTUtMy44MzUtLjIzNy0uMjIxYTguOTIzIDguOTIzIDAgMCAwLTMuNjI3LTIuMDM4Yy0xLjM1LS4zODYtMi44NDctLjU4My00LjQ0OC0uNTgzLTEuNTcyIDAtMy4wNDQuMjUtNC4zNzMuNzQ1YTEwLjEzOSAxMC4xMzkgMCAwIDAtMy40ODEgMi4xNDNjLS45NzUuOTI4LTEuNzQ2IDIuMDY2LTIuMjkgMy4zODQtLjU0MyAxLjMxNS0uODE5IDIuOC0uODE5IDQuNDEzIDAgMS42MTMuMjc2IDMuMDk4LjgyIDQuNDEzLjU0NSAxLjMxOSAxLjMxNCAyLjQ1NyAyLjI4OSAzLjM4NC45NzQuOTI2IDIuMTQ2IDEuNjQ3IDMuNDggMi4xNDMgMS4zMy40OTQgMi44MDIuNzQ0IDQuMzc0Ljc0NCAxLjQ2NCAwIDIuOTItLjE1MiA0LjMzLS40NTJhMTYuMDU0IDE2LjA1NCAwIDAgMCA0LjA5LTEuNDc4bC4xNzctLjA5VjM3LjczM2gtOC4zNjZ6Ii8+PC9nPjwvc3ZnPg==';\n\nexport {NOTIFICATIES_API_PLUGIN_LOGO_BASE64};\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {PluginSpecification} from '../../models';\nimport {NotificatiesApiConfigurationComponent} from './components/notificaties-api-configuration/notificaties-api-configuration.component';\nimport {NOTIFICATIES_API_PLUGIN_LOGO_BASE64} from './assets/notificaties-api-plugin-logo';\n\nconst notificatiesApiPluginSpecification: PluginSpecification = {\n pluginId: 'notificatiesapi',\n pluginConfigurationComponent: NotificatiesApiConfigurationComponent,\n pluginLogoBase64: NOTIFICATIES_API_PLUGIN_LOGO_BASE64,\n pluginTranslations: {\n nl: {\n title: 'Notificaties API',\n url: 'Notificaties API URL',\n urlTooltip: 'Een URL naar de REST API van Notificaties',\n callbackUrl: 'Callback URL',\n callbackUrlTooltip: 'Het GZAC API-endpoint waar notificaties naartoe moeten worden gestuurd.',\n description: 'Een API om een notificatierouteringscomponent te benaderen.',\n configurationTitle: 'Configuratienaam',\n configurationTitleTooltip:\n 'De naam van de huidige plugin-configuratie. Onder deze naam kan de configuratie in de rest van de applicatie teruggevonden worden.',\n authenticationPluginConfiguration: 'Configuratie authenticatie-plug-in',\n },\n en: {\n title: 'Notificaties API',\n url: 'Notificaties API URL',\n urlTooltip: 'A URL to the REST API of Notificaties',\n callbackUrl: 'Callback URL',\n callbackUrlTooltip: 'The GZAC API-endpoint where notifications should be sent.',\n description: 'An API to access a notification routing component.',\n configurationTitle: 'Configuration name',\n configurationTitleTooltip:\n 'The name of the current plugin configuration. Under this name, the configuration can be found in the rest of the application.',\n authenticationPluginConfiguration: 'Authentication plugin configuration',\n },\n },\n};\n\nexport {notificatiesApiPluginSpecification};\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {PluginConfigurationComponent} from '../../../../models';\nimport {BehaviorSubject, combineLatest, Observable, Subscription, take} from 'rxjs';\nimport {OpenNotificatiesConfig} from '../../models';\n\n@Component({\n standalone: false,\n selector: 'valtimo-open-notificaties-configuration',\n templateUrl: './open-notificaties-configuration.component.html',\n styleUrls: ['./open-notificaties-configuration.component.scss'],\n})\nexport class OpenNotificatiesConfigurationComponent\n implements PluginConfigurationComponent, OnInit, OnDestroy\n{\n @Input() save$: Observable<void>;\n @Input() disabled$: Observable<boolean>;\n @Input() pluginId: string;\n @Input() prefillConfiguration$: Observable<OpenNotificatiesConfig>;\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() configuration: EventEmitter<OpenNotificatiesConfig> =\n new EventEmitter<OpenNotificatiesConfig>();\n\n private saveSubscription!: Subscription;\n\n private readonly formValue$ = new BehaviorSubject<OpenNotificatiesConfig | null>(null);\n private readonly valid$ = new BehaviorSubject<boolean>(false);\n\n ngOnInit(): void {\n this.openSaveSubscription();\n }\n\n ngOnDestroy() {\n this.saveSubscription?.unsubscribe();\n }\n\n formValueChange(formValue: OpenNotificatiesConfig): void {\n this.formValue$.next(formValue);\n this.handleValid(formValue);\n }\n\n private handleValid(formValue: OpenNotificatiesConfig): void {\n const valid = !!(formValue.configurationTitle && formValue.clientId && formValue.clientSecret);\n\n this.valid$.next(valid);\n this.valid.emit(valid);\n }\n\n private openSaveSubscription(): void {\n this.saveSubscription = this.save$?.subscribe(save => {\n combineLatest([this.formValue$, this.valid$])\n .pipe(take(1))\n .subscribe(([formValue, valid]) => {\n if (valid) {\n this.configuration.emit(formValue);\n }\n });\n });\n }\n}\n","<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null,\n } as obs\"\n>\n <v-input\n name=\"configurationTitle\"\n data-test-id=\"openNotificatiesConfigurationTitle\"\n [title]=\"'configurationTitle' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.configurationTitle\"\n [required]=\"true\"\n [trim]=\"true\"\n [tooltip]=\"'configurationTitleTooltip' | pluginTranslate: pluginId | async\"\n placeholder=\"Open Notificaties Plugin\"\n >\n </v-input>\n <v-input\n name=\"clientId\"\n data-test-id=\"openNotificatiesClientId\"\n [title]=\"'clientId' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.clientId\"\n [required]=\"true\"\n [tooltip]=\"'clientIdTooltip' | pluginTranslate: pluginId | async\"\n placeholder=\"client-id\"\n >\n </v-input>\n <v-input\n name=\"clientSecret\"\n data-test-id=\"openNotificatiesClientSecret\"\n type=\"password\"\n [title]=\"'clientSecret' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.clientSecret\"\n [required]=\"true\"\n [tooltip]=\"'clientSecretTooltip' | pluginTranslate: pluginId | async\"\n >\n </v-input>\n</v-form>\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {NgModule} from '@angular/core';\nimport {CommonModule} from '@angular/common';\nimport {OpenNotificatiesConfigurationComponent} from './components/open-notificaties-configuration/open-notificaties-configuration.component';\nimport {FormModule, InputModule} from '@valtimo/components';\nimport {PluginTranslatePipeModule} from '../../pipes';\n\n@NgModule({\n declarations: [OpenNotificatiesConfigurationComponent],\n imports: [CommonModule, FormModule, InputModule, PluginTranslatePipeModule],\n exports: [OpenNotificatiesConfigurationComponent],\n})\nexport class OpenNotificatiesPluginModule {}\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nconst OPEN_NOTIFICATIES_PLUGIN_LOGO_BASE64 =\n 'data:image/png;base64,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';\n\nexport {OPEN_NOTIFICATIES_PLUGIN_LOGO_BASE64};\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport * from './open-notificaties-plugin-logo';\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {PluginSpecification} from '../../models';\nimport {OpenNotificatiesConfigurationComponent} from './components/open-notificaties-configuration/open-notificaties-configuration.component';\nimport {OPEN_NOTIFICATIES_PLUGIN_LOGO_BASE64} from './assets';\n\nconst openNotificatiesPluginSpecification: PluginSpecification = {\n pluginId: 'notificatiesapiauthentication',\n pluginConfigurationComponent: OpenNotificatiesConfigurationComponent,\n pluginLogoBase64: OPEN_NOTIFICATIES_PLUGIN_LOGO_BASE64,\n pluginTranslations: {\n nl: {\n title: 'OpenNotificaties',\n description:\n 'OpenNotificaties is een productiewaardig API platform die de API-standaard voor zaakgericht werken implementeert (de ZGW-API’s).',\n configurationTitle: 'Configuratienaam',\n configurationTitleTooltip:\n 'Onder deze naam zal de plugin te herkennen zijn in de rest van de applicatie',\n clientId: 'Client ID',\n clientIdTooltip:\n 'Vul hier het clientId in dat geconfigureerd staat onder OpenNotificaties-beheer (zie API authorisaties > Applicaties). Dit clientId moet de juiste authorisaties hebben voor de benodigde functionaliteit',\n clientSecret: 'Secret',\n clientSecretTooltip: 'Vul de secret in die hoort bij de clientId hierboven',\n },\n en: {\n title: 'OpenNotificaties',\n description:\n 'OpenNotificaties is a production-worthy API platform that implements the API standard for case-oriented working (the ZGW APIs).',\n configurationTitle: 'Configuration name',\n configurationTitleTooltip:\n 'Under this name, the plugin will be recognizable in the rest of the application',\n clientId: 'Client ID',\n clientIdTooltip:\n 'Enter the clientId here which is configured under OpenNotificaties management (see API authorizations > Applications). This clientId must have the correct authorizations for the required functionality',\n clientSecret: 'Secret',\n clientSecretTooltip: 'Enter the secret associated with the clientId above',\n },\n },\n};\n\nexport {openNotificatiesPluginSpecification};\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Injectable} from '@angular/core';\nimport {Observable} from 'rxjs';\nimport {HttpClient} from '@angular/common/http';\nimport {ConfigService} from '@valtimo/shared';\nimport {Objecttype} from '../models';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ObjectService {\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 public getAllObjects(): Observable<Objecttype[]> {\n return this.http.get<Objecttype[]>(\n `${this.valtimoEndpointUri}v1/object/management/configuration`\n );\n }\n}\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport * from './object.service';\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {PluginConfigurationComponent} from '../../../../models';\nimport {BehaviorSubject, combineLatest, map, Observable, Subscription, take} from 'rxjs';\nimport {PortaaltaakConfig} from '../../models';\nimport {PluginManagementService, PluginTranslationService} from '../../../../services';\nimport {TranslateService} from '@ngx-translate/core';\nimport {SelectItem} from '@valtimo/components';\nimport {ProcessService} from '@valtimo/process';\nimport {ObjectService} from '../../services';\n\n@Component({\n standalone: false,\n selector: 'valtimo-portaaltaak-configuration',\n templateUrl: './portaaltaak-configuration.component.html',\n styleUrls: ['./portaaltaak-configuration.component.scss'],\n})\nexport class PortaaltaakConfigurationComponent\n implements PluginConfigurationComponent, OnInit, OnDestroy\n{\n @Input() save$: Observable<void>;\n @Input() disabled$: Observable<boolean>;\n @Input() pluginId: string;\n @Input() prefillConfiguration$: Observable<PortaaltaakConfig>;\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() configuration: EventEmitter<PortaaltaakConfig> = new EventEmitter<PortaaltaakConfig>();\n readonly notificatiesApiPluginSelectItems$: Observable<Array<SelectItem>> = combineLatest([\n this.pluginManagementService.getPluginConfigurationsByPluginDefinitionKey('notificatiesapi'),\n this.translateService.stream('key'),\n ]).pipe(\n map(([configurations]) =>\n configurations.map(configuration => ({\n id: configuration.id,\n text: `${configuration.title} - ${this.pluginTranslationService.instant(\n 'title',\n configuration.pluginDefinition.key\n )}`,\n }))\n )\n );\n readonly objectManagementConfigurationItems$: Observable<Array<SelectItem>> = combineLatest([\n this.objectManagementService.getAllObjects(),\n this.translateService.stream('key'),\n ]).pipe(\n map(([objectManagementConfigurations]) =>\n objectManagementConfigurations.map(configuration => ({\n id: configuration.id,\n text: `${configuration.title}`,\n }))\n )\n );\n\n readonly processSelectItems$: Observable<Array<SelectItem>> = this.processService\n .getProcessDefinitions()\n .pipe(\n map(processDefinitions =>\n processDefinitions.map(processDefinition => ({\n id: processDefinition.key,\n text: processDefinition.name,\n }))\n )\n );\n\n private saveSubscription!: Subscription;\n private readonly formValue$ = new BehaviorSubject<PortaaltaakConfig | null>(null);\n private readonly valid$ = new BehaviorSubject<boolean>(false);\n\n constructor(\n private readonly pluginManagementService: PluginManagementService,\n private readonly objectManagementService: ObjectService,\n private readonly translateService: TranslateService,\n private readonly pluginTranslationService: PluginTranslationService,\n private readonly processService: ProcessService\n ) {}\n\n ngOnInit(): void {\n this.openSaveSubscription();\n }\n\n ngOnDestroy() {\n this.saveSubscription?.unsubscribe();\n }\n\n formValueChange(formValue: PortaaltaakConfig): void {\n this.formValue$.next(formValue);\n this.handleValid(formValue);\n }\n\n private handleValid(formValue: PortaaltaakConfig): void {\n const valid = !!(\n formValue.configurationTitle &&\n formValue.notificatiesApiPluginConfiguration &&\n formValue.objectManagementConfigurationId\n );\n\n this.valid$.next(valid);\n this.valid.emit(valid);\n }\n\n private openSaveSubscription(): void {\n this.saveSubscription = this.save$?.subscribe(save => {\n combineLatest([this.formValue$, this.valid$])\n .pipe(take(1))\n .subscribe(([formValue, valid]) => {\n if (valid) {\n this.configuration.emit(formValue);\n }\n });\n });\n }\n}\n","<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null,\n } as obs\"\n>\n <v-input\n name=\"configurationTitle\"\n data-test-id=\"portaaltaakConfigurationTitle\"\n [title]=\"'configurationTitle' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.configurationTitle\"\n [required]=\"true\"\n [trim]=\"true\"\n [tooltip]=\"'configurationTitleTooltip' | pluginTranslate: pluginId | async\"\n placeholder=\"Portaaltaak Plugin\"\n >\n </v-input>\n <ng-container\n *ngIf=\"notificatiesApiPluginSelectItems$ | async as notificatiesApiPluginSelectItems\"\n >\n <v-select\n [items]=\"notificatiesApiPluginSelectItems\"\n [margin]=\"true\"\n name=\"notificatiesApiPluginConfiguration\"\n data-test-id=\"portaaltaakNotificatiesApiPluginConfiguration\"\n [title]=\"'notificatiesApiPluginConfiguration' | pluginTranslate: pluginId | async\"\n [disabled]=\"obs.disabled\"\n [defaultSelectionId]=\"obs.prefill?.notificatiesApiPluginConfiguration\"\n [required]=\"true\"\n [loading]=\"!notificatiesApiPluginSelectItems\"\n [tooltip]=\"'notificatiesApiPluginConfigurationTooltip' | pluginTranslate: pluginId | async\"\n ></v-select>\n </ng-container>\n <ng-container\n *ngIf=\"objectManagementConfigurationItems$ | async as objectManagementConfigurationItems\"\n >\n <v-select\n [items]=\"objectManagementConfigurationItems\"\n [margin]=\"true\"\n name=\"objectManagementConfigurationId\"\n data-test-id=\"portaaltaakObjectManagementConfiguration\"\n [title]=\"'objectManagementConfiguration' | pluginTranslate: pluginId | async\"\n [disabled]=\"obs.disabled\"\n [defaultSelectionId]=\"obs.prefill?.objectManagementConfigurationId\"\n [required]=\"true\"\n [loading]=\"!objectManagementConfigurationItems\"\n [tooltip]=\"'objectManagementConfigurationTooltip' | pluginTranslate: pluginId | async\"\n ></v-select>\n </ng-container>\n <ng-container *ngIf=\"{processSelectItems: processSelectItems$ | async} as vars\">\n <v-select\n [items]=\"vars.processSelectItems\"\n [margin]=\"true\"\n name=\"completeTaakProcess\"\n data-test-id=\"portaaltaakCompleteTaakProcess\"\n [title]=\"'completeTaakProcess' | pluginTranslate: pluginId | async\"\n [disabled]=\"obs.disabled\"\n [defaultSelectionId]=\"obs.prefill?.completeTaakProcess\"\n [required]=\"true\"\n [loading]=\"!vars.processSelectItems\"\n [tooltip]=\"'completeTaakProcessTooltip' | pluginTranslate: pluginId | async\"\n ></v-select>\n </ng-container>\n</v-form>\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {FunctionConfigurationComponent} from '../../../../models';\nimport {BehaviorSubject, combineLatest, map, Observable, Subscription, take} from 'rxjs';\nimport {TranslateService} from '@ngx-translate/core';\nimport {PluginTranslationService} from '../../../../services';\nimport {CreatePortalTaskConfig, FormType, OtherReceiver, Receiver} from '../../models';\nimport {SelectItem, ValuePathSelectorPrefix} from '@valtimo/components';\n\n@Component({\n standalone: false,\n selector: 'valtimo-create-portal-task',\n templateUrl: './create-portal-task.component.html',\n styleUrls: ['./create-portal-task.component.scss'],\n})\nexport class CreatePortalTaskComponent\n implements FunctionConfigurationComponent, OnInit, OnDestroy\n{\n @Input() save$: Observable<void>;\n @Input() disabled$: Observable<boolean>;\n @Input() pluginId: string;\n @Input() prefillConfiguration$: Observable<CreatePortalTaskConfig>;\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() configuration: EventEmitter<CreatePortalTaskConfig> =\n new EventEmitter<CreatePortalTaskConfig>();\n readonly FORM_TYPE_ITEMS: Array<FormType> = ['id', 'url'];\n readonly formTypeSelectItems$ = this.selectItemsToTranslatedItems(this.FORM_TYPE_ITEMS);\n\n readonly RECEIVER_ITEMS: Array<Receiver> = ['zaakInitiator', 'other'];\n readonly receiverSelectItems$ = this.selectItemsToTranslatedItems(this.RECEIVER_ITEMS);\n\n readonly OTHER_RECEIVER_ITEMS: Array<OtherReceiver> = ['kvk', 'bsn'];\n readonly otherReceiverSelectItems$ = this.selectItemsToTranslatedItems(this.OTHER_RECEIVER_ITEMS);\n\n private saveSubscription!: Subscription;\n private readonly formValue$ = new BehaviorSubject<CreatePortalTaskConfig | null>(null);\n readonly formTypeIsUrl$: Observable<boolean> = this.formValue$.pipe(\n map(value => !!(value?.formType === 'url'))\n );\n readonly receiverIsOther$: Observable<boolean> = this.formValue$.pipe(\n map(value => !!(value?.receiver === 'other'))\n );\n private readonly valid$ = new BehaviorSubject<boolean>(false);\n\n public readonly ValuePathSelectorPrefix = ValuePathSelectorPrefix;\n\n constructor(\n private readonly translateService: TranslateService,\n private readonly pluginTranslationService: PluginTranslationService\n ) {}\n\n ngOnInit(): void {\n this.openSaveSubscription();\n }\n\n ngOnDestroy(): void {\n this.saveSubscription?.unsubscribe();\n }\n\n formValueChange(formValue: CreatePortalTaskConfig): void {\n this.formValue$.next(formValue);\n this.handleValid(formValue);\n }\n\n private handleValid(formValue: CreatePortalTaskConfig): void {\n const valid =\n !!formValue.formType &&\n (!!(formValue.formType === 'url' && formValue.formTypeUrl) ||\n !!(formValue.formType === 'id' && formValue.formTypeId)) &&\n !!formValue?.receiver &&\n (formValue.receiver === 'other'\n ? !!(formValue.identificationValue && formValue.identificationKey)\n : true);\n\n this.valid$.next(valid);\n this.valid.emit(valid);\n }\n\n private openSaveSubscription(): void {\n this.saveSubscription = this.save$?.subscribe(save => {\n combineLatest([this.formValue$, this.valid$])\n .pipe(take(1))\n .subscribe(([formValue, valid]) => {\n if (valid) {\n this.configuration.emit(formValue);\n }\n });\n });\n }\n\n private selectItemsToTranslatedItems(selectItems: Array<string>): Observable<Array<SelectItem>> {\n return this.translateService.stream('key').pipe(\n map(() =>\n selectItems.map(item => ({\n id: item,\n text: this.pluginTranslationService.instant(item, this.pluginId),\n }))\n )\n );\n }\n}\n","<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null,\n formTypeIsUrl: formTypeIsUrl$ | async,\n receiverIsOther: receiverIsOther$ | async,\n } as obs\"\n>\n <v-select\n [items]=\"formTypeSelectItems$ | async\"\n [margin]=\"true\"\n [widthInPx]=\"250\"\n name=\"formType\"\n [title]=\"'formType' | pluginTranslate: pluginId | async\"\n [disabled]=\"obs.disabled\"\n [defaultSelectionId]=\"obs.prefill?.formType || FORM_TYPE_ITEMS[0]\"\n [tooltip]=\"'formTypeTooltip' | pluginTranslate: pluginId | async\"\n [required]=\"true\"\n [clearable]=\"false\"\n ></v-select>\n\n <v-input\n *ngIf=\"obs.formTypeIsUrl === false\"\n name=\"formTypeId\"\n [title]=\"'formTypeId' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.formTypeId\"\n [disabled]=\"obs.disabled\"\n [trim]=\"true\"\n [tooltip]=\"'formTypeIdTooltip' | pluginTranslate: pluginId | async\"\n [required]=\"true\"\n ></v-input>\n\n <v-input\n *ngIf=\"obs.formTypeIsUrl\"\n name=\"formTypeUrl\"\n [title]=\"'formTypeUrl' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.formTypeUrl\"\n [disabled]=\"obs.disabled\"\n [tooltip]=\"'formTypeUrlTooltip' | pluginTranslate: pluginId | async\"\n [required]=\"true\"\n [trim]=\"true\"\n ></v-input>\n\n <valtimo-carbon-multi-input\n name=\"sendData\"\n [title]=\"'sendData' | pluginTranslate: pluginId | async\"\n type=\"keyValuePathSelector\"\n [disabled]=\"obs.disabled\"\n [defaultValues]=\"obs.prefill?.sendData\"\n [margin]=\"true\"\n [required]=\"false\"\n [tooltip]=\"'sendDataTooltip' | pluginTranslate: pluginId | async\"\n [minimumAmountOfRows]=\"0\"\n [initialAmountOfRows]=\"0\"\n [fullWidth]=\"true\"\n valuePathSelectorNotation=\"slashes\"\n [valuePathSelectorPrefixes]=\"[ValuePathSelectorPrefix.DOC]\"\n [valuePathSelectorShowCaseDefinitionSelector]=\"true\"\n [keyColumnFlex]=\"1\"\n [valueColumnFlex]=\"2\"\n [keyColumnTitle]=\"'destinationInObject' | pluginTranslate: pluginId | async\"\n [valueColumnTitle]=\"'value' | pluginTranslate: pluginId | async\"\n ></valtimo-carbon-multi-input>\n\n <valtimo-carbon-multi-input\n name=\"receiveData\"\n [title]=\"'receiveData' | pluginTranslate: pluginId | async\"\n type=\"valuePathSelectorValue\"\n [disabled]=\"obs.disabled\"\n [defaultValues]=\"obs.prefill?.receiveData\"\n [margin]=\"true\"\n [required]=\"false\"\n [tooltip]=\"'receiveDataTooltip' | pluginTranslate: pluginId | async\"\n [minimumAmountOfRows]=\"0\"\n [initialAmountOfRows]=\"0\"\n [fullWidth]=\"true\"\n valuePathSelectorNotation=\"slashes\"\n [valuePathSelectorPrefixes]=\"[ValuePathSelectorPrefix.DOC]\"\n [valuePathSelectorShowCaseDefinitionSelector]=\"true\"\n [keyColumnFlex]=\"2\"\n [valueColumnFlex]=\"1\"\n [keyColumnTitle]=\"'destination' | pluginTranslate: pluginId | async\"\n [valueColumnTitle]=\"'source' | pluginTranslate: pluginId | async\"\n ></valtimo-carbon-multi-input>\n\n <v-select\n [items]=\"receiverSelectItems$ | async\"\n [margin]=\"true\"\n [widthInPx]=\"250\"\n name=\"receiver\"\n [title]=\"'receiver' | pluginTranslate: pluginId | async\"\n [disabled]=\"obs.disabled\"\n [defaultSelectionId]=\"obs.prefill?.receiver || RECEIVER_ITEMS[0]\"\n [tooltip]=\"'receiverTooltip' | pluginTranslate: pluginId | async\"\n [required]=\"true\"\n [clearable]=\"false\"\n ></v-select>\n\n <v-input\n *ngIf=\"obs.receiverIsOther\"\n name=\"identificationKey\"\n [title]=\"'identificationKey' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.identificationKey\"\n [disabled]=\"obs.disabled\"\n [tooltip]=\"'identificationKeyTooltip' | pluginTranslate: pluginId | async\"\n [required]=\"true\"\n [trim]=\"true\"\n ></v-input>\n\n <v-input\n *ngIf=\"obs.receiverIsOther\"\n name=\"identificationValue\"\n [title]=\"'identificationValue' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.identificationValue\"\n [disabled]=\"obs.disabled\"\n [tooltip]=\"'identificationValueTooltip' | pluginTranslate: pluginId | async\"\n [required]=\"true\"\n [trim]=\"true\"\n ></v-input>\n\n <v-input\n name=\"verloopDurationInDays\"\n [title]=\"'verloopDurationInDays' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.verloopDurationInDays?.toString()\"\n [disabled]=\"obs.disabled\"\n [tooltip]=\"'verloopDurationInDaysTooltip' | pluginTranslate: pluginId | async\"\n [required]=\"false\"\n ></v-input>\n</v-form>\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {FunctionConfigurationComponent} from '../../../../models';\nimport {Observable, Subscription} from 'rxjs';\n\n@Component({\n standalone: false,\n selector: 'valtimo-complete-portal-task',\n templateUrl: './complete-portal-task.component.html',\n styleUrls: ['./complete-portal-task.component.scss'],\n})\nexport class CompletePortalTaskComponent\n implements FunctionConfigurationComponent, OnInit, OnDestroy\n{\n @Input() save$: Observable<void>;\n @Input() disabled$: Observable<boolean>;\n @Input() pluginId: string;\n @Input() prefillConfiguration$: Observable<any>;\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() configuration: EventEmitter<any> = new EventEmitter<any>();\n private saveSubscription!: Subscription;\n\n ngOnInit(): void {\n this.openSaveSubscription();\n this.valid.emit(true);\n }\n\n ngOnDestroy(): void {\n this.saveSubscription?.unsubscribe();\n }\n\n private openSaveSubscription(): void {\n this.saveSubscription = this.save$?.subscribe(save => {\n this.configuration.emit({});\n });\n }\n}\n","<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {NgModule} from '@angular/core';\nimport {PortaaltaakConfigurationComponent} from './components/portaaltaak-configuration/portaaltaak-configuration.component';\nimport {PluginTranslatePipeModule} from '../../pipes';\nimport {CommonModule} from '@angular/common';\nimport {\n FormModule,\n InputModule,\n CarbonMultiInputModule,\n ParagraphModule,\n SelectModule,\n} from '@valtimo/components';\nimport {CreatePortalTaskComponent} from './components/create-portal-task/create-portal-task.component';\nimport {CompletePortalTaskComponent} from './components/complete-portal-task/complete-portal-task.component';\n\n@NgModule({\n declarations: [\n PortaaltaakConfigurationComponent,\n CreatePortalTaskComponent,\n CompletePortalTaskComponent,\n ],\n imports: [\n CommonModule,\n PluginTranslatePipeModule,\n FormModule,\n InputModule,\n SelectModule,\n ParagraphModule,\n CarbonMultiInputModule,\n ],\n exports: [\n PortaaltaakConfigurationComponent,\n CreatePortalTaskComponent,\n CompletePortalTaskComponent,\n ],\n})\nexport class PortaaltaakPluginModule {}\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nconst PORTAALTAAK_PLUGIN_LOGO_BASE64 =\n 'data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB2aWV3Qm94PSIxNTAgMTUgOTYgNTAiPjxkZWZzPjxwYXRoIGlkPSJhIiBkPSJNNTcuMzk2LjIxMUguMjgxdjQ5LjQwNWg1Ny4xMTVWLjIxeiIvPjxwYXRoIGlkPSJjIiBkPSJNNTcuNTY0LjIxMUguNDQ4djQ5LjQwNWg1Ny4xMTZWLjIxeiIvPjwvZGVmcz48ZyBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDE4Ny45MzEgMTUpIj48bWFzayBpZD0iYiIgZmlsbD0iI2ZmZiI+PHVzZSB4bGluazpocmVmPSIjYSIvPjwvbWFzaz48cGF0aCBkPSJNNTcuMzk2IDI0LjkxM2MwLTEzLjU3My0xMS4wMDQtMjQuNjIyLTI0LjU2LTI0LjctLjAyNCAwLS4wNDgtLjAwMy0uMDczLS4wMDNIMjQuNzVhMi41MDQgMi41MDQgMCAxIDAgMCA1LjAxaDcuOTQ1YzEwLjg1OCAwIDE5LjY5NCA4LjgzNCAxOS42OTQgMTkuNjkzIDAgMTAuODYtOC44MzYgMTkuNjk0LTE5LjY5NCAxOS42OTRINS4yODl2LTQuNTc4SC4yODF2OS41ODdoMzIuNDgydi0uMDAxYzEzLjU5LS4wNCAyNC42MzMtMTEuMTA1IDI0LjYzMy0yNC43MDIiIGZpbGw9IiMwMDlGRTQiIG1hc2s9InVybCgjYikiLz48L2c+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTUwIDE1KSI+PG1hc2sgaWQ9ImQiIGZpbGw9IiNmZmYiPjx1c2UgeGxpbms6aHJlZj0iI2MiLz48L21hc2s+PHBhdGggZD0iTS40NDggMjQuOTEzYzAgMTMuNTczIDExLjAwNCAyNC42MjIgMjQuNTYgMjQuNy4wMjQgMCAuMDQ4LjAwMy4wNzMuMDAzaDguMDE0YTIuNTA0IDIuNTA0IDAgMSAwIDAtNS4wMDloLTcuOTQ0Yy0xMC44NTkgMC0xOS42OTQtOC44MzQtMTkuNjk0LTE5LjY5NCAwLTEwLjg1OSA4LjgzNS0xOS42OTQgMTkuNjk0LTE5LjY5NGgyNy40MDR2NC41NzhoNS4wMDlWLjIxSDI1LjA4di4wMDFDMTEuNDkuMjUxLjQ0OCAxMS4zMTYuNDQ4IDI0LjkxMyIgZmlsbD0iIzAwOUZFNCIgbWFzaz0idXJsKCNkKSIvPjwvZz48cGF0aCBmaWxsPSIjMDA0Mzg4IiBkPSJNMTc2LjAxNyA0Mi4xMTZsLTQuNjc4LTEyLjQwMWgtNS42NjRsOC4xNCAyMC4zNjZoMy45MjFsOC40MDEtMjAuMzY2aC01LjM2M3ptMjYuNTQyLjU1OGwtNy45MjgtMTIuOTU5aC02LjQxM3YyMC4zNjdoNC45OTdWMzYuNzg3bDguMTUgMTMuMjk1aDYuMTlWMjkuNzE1aC00Ljk5NnptMTkuMzIzLTQuOTR2NC42NjNoMy41Mzd2Mi42NzdhOS43NzMgOS43NzMgMCAwIDEtMS40MTQuNTRjLS42NTIuMjAzLTEuNDQzLjMwNi0yLjM1NC4zMDYtLjg4IDAtMS42ODYtLjE1LTIuMzk0LS40NDhhNS4zMzggNS4zMzggMCAwIDEtMS44MjQtMS4yNDcgNS41MjIgNS41MjIgMCAwIDEtMS4xNy0xLjg5NGMtLjI3Mi0uNzI5LS40MS0xLjU0OS0uNDEtMi40MzMgMC0uODY3LjEzOC0xLjY4MS40MS0yLjQyYTUuNTAyIDUuNTAyIDAgMCAxIDEuMTctMS45MDggNS4zNzQgNS4zNzQgMCAwIDEgMS44MjQtMS4yNDZjLjcwOS0uMjk4IDEuNTE0LS40NDkgMi4zOTQtLjQ0OSAxLjA2NCAwIDEuOTU5LjE1MSAyLjY1Ny40NDkuNy4yOTcgMS4zMzguNzQgMS44OTggMS4zMThsLjI0Mi4yNDggMy41MTUtMy44MzUtLjIzNy0uMjIxYTguOTIzIDguOTIzIDAgMCAwLTMuNjI3LTIuMDM4Yy0xLjM1LS4zODYtMi44NDctLjU4My00LjQ0OC0uNTgzLTEuNTcyIDAtMy4wNDQuMjUtNC4zNzMuNzQ1YTEwLjEzOSAxMC4xMzkgMCAwIDAtMy40ODEgMi4xNDNjLS45NzUuOTI4LTEuNzQ2IDIuMDY2LTIuMjkgMy4zODQtLjU0MyAxLjMxNS0uODE5IDIuOC0uODE5IDQuNDEzIDAgMS42MTMuMjc2IDMuMDk4LjgyIDQuNDEzLjU0NSAxLjMxOSAxLjMxNCAyLjQ1NyAyLjI4OSAzLjM4NC45NzQuOTI2IDIuMTQ2IDEuNjQ3IDMuNDggMi4xNDMgMS4zMy40OTQgMi44MDIuNzQ0IDQuMzc0Ljc0NCAxLjQ2NCAwIDIuOTItLjE1MiA0LjMzLS40NTJhMTYuMDU0IDE2LjA1NCAwIDAgMCA0LjA5LTEuNDc4bC4xNzctLjA5VjM3LjczM2gtOC4zNjZ6Ii8+PC9nPjwvc3ZnPg==';\nexport {PORTAALTAAK_PLUGIN_LOGO_BASE64};\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {PluginSpecification} from '../../models';\nimport {PortaaltaakConfigurationComponent} from './components/portaaltaak-configuration/portaaltaak-configuration.component';\nimport {PORTAALTAAK_PLUGIN_LOGO_BASE64} from './assets/portaaltaak-plugin-logo';\nimport {CreatePortalTaskComponent} from './components/create-portal-task/create-portal-task.component';\nimport {CompletePortalTaskComponent} from './components/complete-portal-task/complete-portal-task.component';\n\nconst portaaltaakPluginSpecification: PluginSpecification = {\n pluginId: 'portaaltaak',\n pluginConfigurationComponent: PortaaltaakConfigurationComponent,\n pluginLogoBase64: PORTAALTAAK_PLUGIN_LOGO_BASE64,\n functionConfigurationComponents: {\n 'create-portaaltaak': CreatePortalTaskComponent,\n 'complete-portaaltaak': CompletePortalTaskComponent,\n },\n pluginTranslations: {\n nl: {\n title: 'Portaaltaak',\n description: 'Een component om een portaaltaakrouteringscomponent te benaderen.',\n configurationTitle: 'Configuratienaam',\n configurationTitleTooltip:\n 'De naam van de huidige plugin-configuratie. Onder deze naam kan de configuratie in de rest van de applicatie teruggevonden worden.',\n notificatiesApiPluginConfiguration: 'Notificaties API plugin',\n notificatiesApiPluginConfigurationTooltip:\n 'Selecteer de Notificaties API plugin. Wanneer de selectiebox leeg is, zal de notificatie API plugin eerst aangemaakt moeten worden.',\n objectManagementConfiguration: 'Object management configuratie',\n objectManagementConfigurationTooltip:\n 'Selecteer de gewenste object management configuratie. Wanneer de selectiebox leeg is, zal de object management configuratie eerst aangemaakt moeten worden.',\n 'create-portaaltaak': 'Portaaltaak aanmaken',\n 'complete-portaaltaak': 'Portaaltaak afronden',\n formType: 'Formuliertype',\n formTypeTooltip:\n 'Kies hier of het te tonen formulier afkomstig moet zijn van een ingestelde definitie, of van een externe URL.',\n id: 'Formulierdefinitie',\n url: 'URL',\n formTypeId: 'Formulier ID',\n formTypeIdTooltip: 'Het ID van het formulier dat getoond moet worden',\n formTypeUrl: 'Formulier URL',\n formTypeUrlTooltip: 'Een URL die wijst naar het formulier dat getoond moet worden',\n sendData: 'Taakgegevens voor de ontvanger',\n sendDataTooltip:\n \"Vul hier sleutels en waarden in voor data die verstuurd moet worden naar de Objecten API. De sleutel is hier het pad in het object dat gevuld moet worden (bijvoorbeeld 'firstName'). De waarde wijst naar de data waarmee dit veld gevuld moet worden (bijvoorbeeld 'doc:/customer/firstName').\",\n receiveData: 'Ingevulde gegevens door de ontvanger',\n receiveDataTooltip:\n \"Vul hier sleutels en waarden in voor data die ontvangen moet worden van de Objecten API. De sleutel is hier de locatie waar de data opgeslagen moet worden (bijvoorbeeld 'doc:/customer/signedAgreement'). De waarde wijst naar het pad in het object waar de data vandaan moet komen (bijvoorbeeld '/signedAgreement').\",\n receiver: 'Ontvanger',\n receiverTooltip: 'Bepaal hier bij wie de data van de afgeronde taak terecht moet komen.',\n zaakInitiator: 'Zaak-initiator',\n other: 'Anders',\n otherReceiver: 'Andere ontvanger',\n otherReceiverTooltip:\n 'U heeft de optie geselecteerd voor een andere ontvanger. Selecteer hier welk type dit moet zijn.',\n kvk: 'KVK-nummer',\n bsn: 'Burgerservicenummer (BSN)',\n kvkTooltip: 'Het KVK-nummer van de gewenste ontvanger.',\n bsnTooltip: 'Het Burgerservicenummer (BSN) van de gewenste ontvanger.',\n completeTaakProcess: 'Geüploade documentverwerkingsproces',\n completeTaakProcessTooltip:\n 'Het proces dat de geüploade documenten in de portal moet afhandelen.',\n identificationKey: 'Identificatiesleutel',\n identificationKeyTooltip:\n \"De ingevoerde sleutel bepaalt hoe de ontvanger wordt geïdentificeerd. Geldige voorbeelden zijn 'bsn' of 'kvk'.\",\n identificationValue: 'Identificatiewaarde',\n identificationValueTooltip:\n \"De waarde waarmee de ontvanger wordt geïdentificeerd. Wanneer er bijvoorbeeld in het veld 'Identificatiesleutel' de waarde 'bsn' is ingevoerd, kan er in dit veld een burgerservicenummer worden ingevoerd (bijvoorbeeld 558099476).\",\n verloopDurationInDays: 'Verlooptijd taak in dagen',\n verloopDurationInDaysTooltip:\n 'Het aantal dagen na aanmaken van een taak dat deze verloopt. Deze wordt alleen ingesteld voor de portaal taak, niet in het BPMN proces.',\n destinationInObject: 'Pad in het object',\n value: 'Waarde',\n destination: 'Bestemming',\n source: 'Bron',\n },\n en: {\n title: 'Portal task',\n description: 'A component to access a portal task routing component.',\n configurationTitle: 'Configuration name',\n configurationTitleTooltip:\n 'The name of the current plugin configuration. Under this name, the configuration can be found in the rest of the application.',\n notificatiesApiPluginConfiguration: 'Notificaties API plugin',\n notificatiesApiPluginConfigurationTooltip:\n 'Select the Notificaties API plugin. If the selection box remains empty, the Notificaties API plugin will first have to be created.',\n objectManagementConfiguration: 'Object management configuration',\n objectManagementConfigurationTooltip:\n 'Select the object management configuration. If the selection box remains empty, the object management configuration will first have to be created.',\n 'create-portaaltaak': 'Create portal task',\n 'complete-portaaltaak': 'Complete portal task',\n formType: 'Form type',\n formTypeTooltip:\n 'Choose here whether the form to be displayed should come from a set definition or from an external URL.',\n id: 'Form definition',\n url: 'URL',\n formTypeId: 'Form ID',\n formTypeIdTooltip: 'The ID of the form to be displayed',\n formTypeUrl: 'Form URL',\n formTypeUrlTooltip: 'A URL pointing to the form to be displayed',\n sendData: 'Task data for the recipient',\n sendDataTooltip:\n \"Enter keys and values here for data to be sent to the Objecten API. The key here is the path in the object to be populated (e.g. 'firstName'). The value points to the data with which this field must be filled (e.g. 'doc:/customer/firstName').\",\n receiveData: 'Information entered by the recipient',\n receiveDataTooltip:\n \"Enter keys and values here for data to be received from the Objecten API. The key here is the location where the data should be stored (e.g. 'doc:/customer/signedAgreement'). The value points to the path in the object where the data should come from (e.g. '/signedAgreement').\",\n receiver: 'Receiver',\n receiverTooltip: 'Determine here who should receive the data of the completed task.',\n zaakInitiator: 'Case initiator',\n other: 'Other',\n otherReceiver: 'Other receiver',\n otherReceiverTooltip:\n 'You have selected the option for another receiver. Select here which type this should be.',\n kvk: 'KVK number',\n bsn: 'Citizen service number (BSN)',\n kvkTooltip: 'The KVK number of the desired receiver.',\n bsnTooltip: 'The Citizen service number (BSN) of the desired receiver',\n completeTaakProcess: 'Process to complete Portaaltaak',\n completeTaakProcessTooltip:\n 'The process that should handle the uploaded documents in the portal.',\n identificationKey: 'Identification key',\n identificationKeyTooltip:\n \"The key entered determines how the recipient is identified. Valid examples are 'bsn' or 'kvk'.\",\n identificationValue: 'Identification value',\n identificationValueTooltip:\n \"The value that identifies the recipient. For example, if the value 'bsn' is entered in the 'Identification key' field, a citizen service number can be entered in this field (for example 558099476).\",\n verloopDurationInDays: 'Number of days for the task to expire',\n verloopDurationInDaysTooltip:\n 'The number of days from the creation time until the task expires. This will only be used in the portal task. The BPMN due date needs to be configured separately.',\n destinationInObject: 'Path in the object',\n value: 'Value',\n destination: 'Destination',\n source: 'Source',\n },\n },\n};\n\nexport {portaaltaakPluginSpecification};\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Injectable} from '@angular/core';\nimport {catchError, Observable, of} from 'rxjs';\nimport {HttpClient} from '@angular/common/http';\nimport {ConfigService, Page} from '@valtimo/shared';\nimport {CaseListItem, Objecttype, Roltype} from '../models';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class VerzoekPluginService {\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 getAllObjects(): Observable<Objecttype[]> {\n return this.http.get<Objecttype[]>(\n `${this.valtimoEndpointUri}v1/object/management/configuration`\n );\n }\n\n getRoltypesByCaseDefinition(\n caseDefinitionKey: string,\n params: {caseDefinitionVersionTag?: string}\n ): Observable<Array<Roltype>> {\n Object.keys(params).forEach(paramKey => {\n const paramValue = params[paramKey];\n if (paramValue == null) {\n params[paramKey] = '';\n }\n });\n\n return this.http\n .get<\n Array<Roltype>\n >(`${this.valtimoEndpointUri}v1/case-definition/${caseDefinitionKey}/zaaktype/roltype`, {params})\n .pipe(catchError(() => of([])));\n }\n\n public getCaseDefinitions(params: any): Observable<Page<CaseListItem>> {\n return this.http.get<Page<CaseListItem>>(\n `${this.valtimoEndpointUri}management/v1/case-definition`,\n {params}\n );\n }\n}\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport * from './verzoek-plugin.service';\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {\n Component,\n EventEmitter,\n Input,\n OnDestroy,\n OnInit,\n Output,\n QueryList,\n ViewChildren,\n} from '@angular/core';\nimport {PluginConfigurationComponent} from '../../../../models';\nimport {\n BehaviorSubject,\n combineLatest,\n filter,\n map,\n Observable,\n of,\n Subscription,\n take,\n tap,\n} from 'rxjs';\nimport {CopyStrategy, VerzoekConfig, VerzoekType} from '../../models';\nimport {PluginManagementService, PluginTranslationService} from '../../../../services';\nimport {TranslateService} from '@ngx-translate/core';\nimport {\n ModalService,\n MultiInputValues,\n RadioValue,\n SelectItem,\n ValuePathSelectorPrefix,\n VModalComponent,\n} from '@valtimo/components';\nimport {VerzoekPluginService} from '../../services';\nimport {ProcessService} from '@valtimo/process';\nimport {DataTable16} from '@carbon/icons';\nimport {IconService} from 'carbon-components-angular';\n\n@Component({\n standalone: false,\n selector: 'valtimo-verzoek-configuration',\n templateUrl: './verzoek-configuration.component.html',\n styleUrls: ['./verzoek-configuration.component.scss'],\n})\nexport class VerzoekConfigurationComponent\n implements PluginConfigurationComponent, OnInit, OnDestroy\n{\n @ViewChildren(VModalComponent) mappingModals: QueryList<VModalComponent>;\n\n @Input() save$: Observable<void>;\n @Input() disabled$: Observable<boolean>;\n @Input() pluginId: string;\n @Input() prefillConfiguration$: Observable<VerzoekConfig>;\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() configuration: EventEmitter<VerzoekConfig> = new EventEmitter<VerzoekConfig>();\n\n mappedPrefill$: Observable<VerzoekConfig>;\n\n readonly notificatiePluginSelectItems$: Observable<Array<SelectItem>> = combineLatest([\n this.pluginManagementService.getPluginConfigurationsByPluginDefinitionKey('notificatiesapi'),\n this.translateService.stream('key'),\n ]).pipe(\n map(([configurations]) =>\n configurations.map(configuration => ({\n id: configuration.id,\n text: `${configuration.title} - ${this.pluginTranslationService.instant(\n 'title',\n configuration.pluginDefinition.key\n )}`,\n }))\n )\n );\n\n readonly objectManagementSelectItems$: Observable<Array<SelectItem>> = this.verzoekPluginService\n .getAllObjects()\n .pipe(\n map(objects =>\n objects.map(object => ({\n id: object.id,\n text: object.title,\n }))\n )\n );\n\n readonly processSelectItems$: Observable<Array<SelectItem>> = this.processService\n .getProcessDefinitions()\n .pipe(\n map(processDefinitions =>\n processDefinitions.map(processDefinition => ({\n id: processDefinition.key,\n text: processDefinition.name ?? '',\n }))\n )\n );\n\n readonly caseSelectItems$: Observable<Array<SelectItem>> = this.verzoekPluginService\n .getCaseDefinitions({active: true})\n .pipe(\n map(caseDefinitions =>\n caseDefinitions.content.map(caseDefinition => ({\n id: caseDefinition.caseDefinitionKey,\n text: caseDefinition.caseDefinitionKey,\n }))\n )\n );\n\n readonly RADIO_ITEMS: Array<CopyStrategy> = ['full', 'specified'];\n readonly radioItems$: Observable<Array<RadioValue>> = this.translateService.stream('key').pipe(\n map(() =>\n this.RADIO_ITEMS.map(radioItem => ({\n value: radioItem,\n title: this.pluginTranslationService.instant(radioItem, this.pluginId),\n }))\n )\n );\n\n readonly caseVersionTagSelectItemsObservables: {\n [uuid: string]: {caseDefinitionKey: string; items: Observable<Array<SelectItem>>};\n } = {};\n\n readonly rolTypeSelectItemsObservables: {\n [uuid: string]: {caseDefinitionId: string; items: Observable<Array<SelectItem>>};\n } = {};\n\n readonly showMappingButtons: {[uuid: string]: boolean} = {};\n\n readonly showMappingModalsDelay: {[uuid: string]: boolean} = {};\n\n readonly tempMappings: {[uuid: string]: MultiInputValues} = {};\n\n readonly mappings: {[uuid: string]: MultiInputValues} = {};\n\n private saveSubscription!: Subscription;\n\n private readonly formValue$ = new BehaviorSubject<VerzoekConfig | null>(null);\n private readonly valid$ = new BehaviorSubject<boolean>(false);\n\n public getSelectedCaseDefinitionKeyForIndex(index: number): Observable<string> {\n return this.formValue$.pipe(\n map(\n formValue =>\n Array.isArray(formValue.verzoekProperties) &&\n formValue.verzoekProperties[index]?.caseDefinitionKey\n )\n );\n }\n\n public readonly ValuePathSelectorPrefix = ValuePathSelectorPrefix;\n\n constructor(\n private readonly pluginManagementService: PluginManagementService,\n private readonly translateService: TranslateService,\n private readonly pluginTranslationService: PluginTranslationService,\n private readonly verzoekPluginService: VerzoekPluginService,\n private readonly processService: ProcessService,\n private readonly modalService: ModalService,\n private readonly iconService: IconService\n ) {\n this.iconService.registerAll([DataTable16]);\n }\n\n ngOnInit(): void {\n this.openSaveSubscription();\n this.setMappedPrefill();\n }\n\n ngOnDestroy() {\n this.saveSubscription?.unsubscribe();\n }\n\n formValueChange(formValue: VerzoekConfig): void {\n this.formValue$.next(formValue);\n this.handleValid(formValue);\n }\n\n verzoekTypeFormChange(formValue: VerzoekType, uuid: string): void {\n const caseDefinitionKey = formValue?.caseDefinitionKey;\n const caseDefinitionVersionTag = formValue?.caseDefinitionVersionTag;\n const caseDefinitionId = `${caseDefinitionKey}:${caseDefinitionVersionTag}`;\n const rolTypeSelectItemsObservables = this.rolTypeSelectItemsObservables;\n const caseVersionTagSelectItemsObservables = this.caseVersionTagSelectItemsObservables;\n\n this.showMappingButtons[uuid] = formValue.copyStrategy === 'specified';\n\n if (caseDefinitionKey) {\n if (\n !caseVersionTagSelectItemsObservables[uuid] ||\n caseVersionTagSelectItemsObservables[uuid].caseDefinitionKey !== caseDefinitionKey\n ) {\n caseVersionTagSelectItemsObservables[uuid] = {\n caseDefinitionKey,\n items: this.verzoekPluginService.getCaseDefinitions({caseDefinitionKey}).pipe(\n map(caseDefinitions =>\n [{text: 'Active version', id: ''}].concat(\n caseDefinitions.content.map(caseDefinition => ({\n text: caseDefinition.caseDefinitionVersionTag,\n id: caseDefinition.caseDefinitionVersionTag,\n }))\n )\n )\n ),\n };\n }\n if (\n !rolTypeSelectItemsObservables[uuid] ||\n rolTypeSelectItemsObservables[uuid].caseDefinitionId !== caseDefinitionId\n ) {\n rolTypeSelectItemsObservables[uuid] = {\n caseDefinitionId,\n items: this.verzoekPluginService\n .getRoltypesByCaseDefinition(caseDefinitionKey, {caseDefinitionVersionTag})\n .pipe(\n map(rolTypes => rolTypes.map(rolType => ({text: rolType.name, id: rolType.url})))\n ),\n };\n }\n } else {\n caseVersionTagSelectItemsObservables[uuid] = {\n caseDefinitionKey,\n items: of([]),\n };\n rolTypeSelectItemsObservables[uuid] = {\n caseDefinitionId,\n items: of([]),\n };\n }\n }\n\n deleteRow(uuid: string): void {\n delete this.caseVersionTagSelectItemsObservables[uuid];\n delete this.rolTypeSelectItemsObservables[uuid];\n }\n\n openMappingModal(uuid: string): void {\n this.showMappingModalsDelay[uuid] = true;\n this.modalService.openModal(\n this.mappingModals.find(mappingModal => mappingModal.parentId === uuid)\n );\n }\n\n closeMappingModal(uuid): void {\n this.modalService.closeModal();\n\n setTimeout(() => {\n this.showMappingModalsDelay[uuid] = false;\n }, 250);\n }\n\n mappingValueChange(newValue: MultiInputValues, uuid: string): void {\n this.tempMappings[uuid] = newValue;\n }\n\n saveMapping(uuid: string): void {\n this.mappings[uuid] = [...this.tempMappings[uuid]];\n this.tempMappings[uuid] = [];\n this.closeMappingModal(uuid);\n }\n\n private handleValid(formValue: VerzoekConfig): void {\n const validForm = !!(\n formValue.configurationTitle &&\n formValue.notificatiesApiPluginConfiguration &&\n formValue.rsin &&\n formValue.processToStart\n );\n const verzoekTypen = formValue.verzoekProperties || [];\n const validVerzoekTypen = verzoekTypen.filter(\n type =>\n !!(\n type.type &&\n type.caseDefinitionKey &&\n type.objectManagementId &&\n type.initiatorRoltypeUrl &&\n type.processDefinitionKey &&\n type.initiatorRolDescription\n )\n );\n const valid = validForm && verzoekTypen.length === validVerzoekTypen.length;\n this.valid$.next(valid);\n this.valid.emit(valid);\n }\n\n private openSaveSubscription(): void {\n this.saveSubscription = this.save$?.subscribe(save => {\n combineLatest([this.formValue$, this.valid$])\n .pipe(take(1))\n .subscribe(([formValue, valid]) => {\n const formValueToSave: VerzoekConfig = {\n ...formValue,\n verzoekProperties: formValue.verzoekProperties.map(verzoek => {\n const verzoekToReturn: VerzoekType = {...verzoek};\n delete verzoekToReturn.uuid;\n\n if (!verzoek.caseDefinitionVersionTag) {\n verzoekToReturn.caseDefinitionVersionTag = null;\n }\n\n if (this.mappings[verzoek.uuid] && verzoek.copyStrategy === 'specified') {\n verzoekToReturn.mapping = this.mappings[verzoek.uuid];\n }\n\n return {\n ...verzoekToReturn,\n ...(verzoekToReturn.mapping && {\n mapping: verzoekToReturn.mapping.map(verzoekMapping => ({\n source: verzoekMapping.key,\n target: verzoekMapping.value,\n })) as Array<any>,\n }),\n };\n }),\n };\n if (valid) {\n this.configuration.emit(formValueToSave);\n }\n });\n });\n }\n\n private setMappedPrefill(): void {\n this.mappedPrefill$ = this.prefillConfiguration$.pipe(\n filter(prefill => !!prefill),\n map(prefill => ({\n ...prefill,\n verzoekProperties: prefill.verzoekProperties.map(verzoekType => ({\n ...verzoekType,\n ...(verzoekType.mapping &&\n Array.isArray(verzoekType.mapping) && {\n mapping: verzoekType.mapping.map(mapping => ({\n key: mapping.source,\n value: mapping.target,\n })),\n }),\n })),\n })),\n tap(prefill => {\n setTimeout(() => {\n this.formValue$.pipe(take(1)).subscribe(formValue => {\n const prefillVerzoeken = prefill?.verzoekProperties;\n const formValueVerzoeken = formValue?.verzoekProperties;\n\n prefillVerzoeken.forEach((verzoek, index) => {\n const mappingForVerzoek = verzoek?.mapping;\n const uuidForMapping = formValueVerzoeken[index].uuid;\n\n if (mappingForVerzoek && uuidForMapping) {\n this.mappings[uuidForMapping] = mappingForVerzoek;\n }\n });\n });\n }, 250);\n })\n );\n }\n}\n","<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: mappedPrefill$ ? (mappedPrefill$ | async) : null,\n } as obs\"\n>\n <v-input\n name=\"configurationTitle\"\n data-test-id=\"verzoekConfigurationTitle\"\n [title]=\"'configurationTitle' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.configurationTitle\"\n [required]=\"true\"\n [trim]=\"true\"\n [tooltip]=\"'configurationTitleTooltip' | pluginTranslate: pluginId | async\"\n placeholder=\"Verzoek Plugin\"\n >\n </v-input>\n <ng-container\n *ngIf=\"{notificatiePluginSelectItems: notificatiePluginSelectItems$ | async} as vars\"\n >\n <v-select\n [items]=\"vars.notificatiePluginSelectItems\"\n [margin]=\"true\"\n name=\"notificatiesApiPluginConfiguration\"\n data-test-id=\"verzoekNotificatiesApiPluginConfiguration\"\n [title]=\"'notificatiesApiPluginConfiguration' | pluginTranslate: pluginId | async\"\n [disabled]=\"obs.disabled\"\n [defaultSelectionId]=\"obs.prefill?.notificatiesApiPluginConfiguration\"\n [required]=\"true\"\n [loading]=\"!vars.notificatiePluginSelectItems\"\n [tooltip]=\"'notificatiesApiPluginConfigurationTooltip' | pluginTranslate: pluginId | async\"\n ></v-select>\n </ng-container>\n <ng-container *ngIf=\"{processSelectItems: processSelectItems$ | async} as vars\">\n <v-select\n [items]=\"vars.processSelectItems\"\n [margin]=\"true\"\n name=\"processToStart\"\n data-test-id=\"verzoekProcessToStart\"\n [title]=\"'processToStart' | pluginTranslate: pluginId | async\"\n [disabled]=\"obs.disabled\"\n [defaultSelectionId]=\"obs.prefill?.processToStart\"\n [required]=\"true\"\n [loading]=\"!vars.processSelectItems\"\n [tooltip]=\"'processToStartTooltip' | pluginTranslate: pluginId | async\"\n ></v-select>\n </ng-container>\n <v-input\n name=\"rsin\"\n data-test-id=\"verzoekRsin\"\n [title]=\"'rsin' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.rsin\"\n [required]=\"true\"\n [trim]=\"true\"\n [tooltip]=\"'rsinTooltip' | pluginTranslate: pluginId | async\"\n placeholder=\"\"\n >\n </v-input>\n <v-multi-input-form\n name=\"verzoekProperties\"\n data-test-id=\"verzoekProperties\"\n [title]=\"'verzoekProperties' | pluginTranslate: pluginId | async\"\n [formTemplate]=\"mappingForm\"\n [addRowText]=\"'addVerzoekType' | pluginTranslate: pluginId | async\"\n [required]=\"false\"\n [tooltip]=\"'verzoekPropertiesTooltip' | pluginTranslate: pluginId | async\"\n (deleteRowEvent)=\"deleteRow($event)\"\n [initialAmountOfRows]=\"0\"\n [minimumAmountOfRows]=\"0\"\n [defaultValues]=\"obs.prefill?.verzoekProperties\"\n >\n </v-multi-input-form>\n</v-form>\n\n<ng-template\n #mappingForm\n let-index=\"index\"\n let-uuid=\"uuid\"\n let-changeFunction=\"changeFunction\"\n let-prefill=\"prefill\"\n>\n <ng-container\n *ngIf=\"{\n disabled: disabled$ | async,\n } as obs\"\n >\n <v-form (valueChange)=\"changeFunction($event, uuid); verzoekTypeFormChange($event, uuid)\">\n <v-input\n name=\"type\"\n data-test-id=\"verzoekType\"\n [title]=\"'type' | pluginTranslate: pluginId | async\"\n [margin]=\"false\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"prefill?.type\"\n [required]=\"true\"\n [trim]=\"true\"\n [tooltip]=\"'typeTooltip' | pluginTranslate: pluginId | async\"\n [smallMargin]=\"true\"\n placeholder=\"\"\n >\n </v-input>\n <ng-container *ngIf=\"{caseSelectItems: caseSelectItems$ | async} as vars\">\n <v-select\n [items]=\"vars.caseSelectItems\"\n [smallMargin]=\"true\"\n name=\"caseDefinitionKey\"\n data-test-id=\"verzoekCaseDefinitionKey\"\n [title]=\"'caseDefinitionKey' | pluginTranslate: pluginId | async\"\n [disabled]=\"obs.disabled\"\n [defaultSelectionId]=\"prefill?.caseDefinitionKey\"\n [required]=\"true\"\n [loading]=\"!vars.caseSelectItems\"\n [tooltip]=\"'caseDefinitionKeyTooltip' | pluginTranslate: pluginId | async\"\n ></v-select>\n </ng-container>\n <ng-container>\n <v-select\n [items]=\"\n caseVersionTagSelectItemsObservables[uuid]?.caseDefinitionKey &&\n (caseVersionTagSelectItemsObservables[uuid].items | async)\n \"\n [smallMargin]=\"true\"\n name=\"caseDefinitionVersionTag\"\n data-test-id=\"verzoekCaseDefinitionVersionTag\"\n [title]=\"'caseDefinitionVersionTag' | pluginTranslate: pluginId | async\"\n [disabled]=\"\n obs.disabled || !caseVersionTagSelectItemsObservables[uuid]?.caseDefinitionKey\n \"\n [defaultSelectionId]=\"prefill?.caseDefinitionVersionTag\"\n [required]=\"true\"\n [tooltip]=\"'caseDefinitionVersionTagTooltip' | pluginTranslate: pluginId | async\"\n ></v-select>\n </ng-container>\n <ng-container\n *ngIf=\"{objectManagementSelectItems: objectManagementSelectItems$ | async} as vars\"\n >\n <v-select\n [items]=\"vars.objectManagementSelectItems\"\n [smallMargin]=\"true\"\n name=\"objectManagementId\"\n data-test-id=\"verzoekObjectManagementId\"\n [title]=\"'objectManagementId' | pluginTranslate: pluginId | async\"\n [disabled]=\"obs.disabled\"\n [defaultSelectionId]=\"prefill?.objectManagementId\"\n [required]=\"true\"\n [loading]=\"!vars.objectManagementSelectItems\"\n [tooltip]=\"'objectManagementIdTooltip' | pluginTranslate: pluginId | async\"\n ></v-select>\n </ng-container>\n <v-select\n [items]=\"\n rolTypeSelectItemsObservables[uuid]?.caseDefinitionId &&\n (rolTypeSelectItemsObservables[uuid].items | async)\n \"\n [smallMargin]=\"true\"\n name=\"initiatorRoltypeUrl\"\n data-test-id=\"verzoekInitiatorRoltypeUrl\"\n [title]=\"'initiatorRoltypeUrl' | pluginTranslate: pluginId | async\"\n [disabled]=\"obs.disabled || !rolTypeSelectItemsObservables[uuid]?.caseDefinitionId\"\n [defaultSelectionId]=\"prefill?.initiatorRoltypeUrl\"\n [required]=\"true\"\n [tooltip]=\"'initiatorRoltypeUrlTooltip' | pluginTranslate: pluginId | async\"\n ></v-select>\n <v-input\n name=\"initiatorRolDescription\"\n data-test-id=\"verzoekInitiatorRolDescription\"\n [title]=\"'initiatorRolDescription' | pluginTranslate: pluginId | async\"\n [margin]=\"false\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"prefill?.initiatorRolDescription || 'Initiator'\"\n [required]=\"true\"\n [tooltip]=\"'initiatorRolDescriptionTooltip' | pluginTranslate: pluginId | async\"\n [smallMargin]=\"true\"\n placeholder=\"\"\n >\n </v-input>\n <ng-container *ngIf=\"{processSelectItems: processSelectItems$ | async} as vars\">\n <v-select\n [items]=\"vars.processSelectItems\"\n [smallMargin]=\"true\"\n name=\"processDefinitionKey\"\n data-test-id=\"verzoekProcessDefinitionKey\"\n [title]=\"'processDefinitionKey' | pluginTranslate: pluginId | async\"\n [disabled]=\"obs.disabled\"\n [defaultSelectionId]=\"prefill?.processDefinitionKey\"\n [required]=\"true\"\n [loading]=\"!vars.processSelectItems\"\n [tooltip]=\"'processDefinitionKeyTooltip' | pluginTranslate: pluginId | async\"\n ></v-select>\n </ng-container>\n <v-radio\n name=\"copyStrategy\"\n data-test-id=\"verzoekCopyStrategy\"\n [disabled]=\"obs.disabled\"\n [title]=\"'copyStrategy' | pluginTranslate: pluginId | async\"\n [tooltip]=\"'copyStrategyTooltip' | pluginTranslate: pluginId | async\"\n [radioValues]=\"radioItems$ | async\"\n [smallMargin]=\"true\"\n [defaultValue]=\"prefill?.copyStrategy || 'full'\"\n >\n </v-radio>\n <ng-container *ngIf=\"showMappingButtons[uuid]\">\n <v-input-label\n [title]=\"'mapping' | pluginTranslate: pluginId | async\"\n [tooltip]=\"'mappingTooltip' | pluginTranslate: pluginId | async\"\n >\n </v-input-label>\n\n <button cdsButton (click)=\"openMappingModal(uuid)\" mdiIcon=\"table\">\n <svg cdsIcon=\"data-table\" size=\"16\"></svg>\n {{ 'setMapping' | pluginTranslate: pluginId | async }}\n </button>\n </ng-container>\n <v-input class=\"hidden-input\" name=\"uuid\" [defaultValue]=\"uuid\"> </v-input>\n </v-form>\n <v-modal [parentId]=\"uuid\" (closeEvent)=\"closeMappingModal(uuid)\" [maxWidthPx]=\"960\">\n <div role=\"header\">\n <h3 cdsModalHeaderHeading>{{ 'setMapping' | pluginTranslate: pluginId | async }}</h3>\n </div>\n\n <div role=\"content\">\n <div class=\"cds--text-input__field-wrapper\">\n <cds-label [disabled]=\"obs.disabled\">\n <span class=\"label-with-tooltip select-label\">\n {{ 'mapping' | pluginTranslate: pluginId | async }}\n <v-tooltip-icon\n [tooltip]=\"'mappingTooltip' | pluginTranslate: pluginId | async\"\n [disabled]=\"obs.disabled\"\n ></v-tooltip-icon>\n </span>\n </cds-label>\n <valtimo-carbon-multi-input\n *ngIf=\"showMappingModalsDelay[uuid]\"\n type=\"keyValuePathSelector\"\n (valueChange)=\"mappingValueChange($event, uuid)\"\n [defaultValues]=\"mappings[uuid] || prefill?.mapping\"\n [valueColumnTitle]=\"'target' | pluginTranslate: pluginId | async\"\n [keyColumnTitle]=\"'source' | pluginTranslate: pluginId | async\"\n [fullWidth]=\"true\"\n valuePathSelectorNotation=\"slashes\"\n [valuePathSelectorCaseDefinitionKey]=\"\n getSelectedCaseDefinitionKeyForIndex(index) | async\n \"\n [valuePathSelectorPrefixes]=\"[ValuePathSelectorPrefix.DOC]\"\n [keyColumnFlex]=\"1\"\n [valueColumnFlex]=\"2\"\n ></valtimo-carbon-multi-input>\n </div>\n </div>\n\n <div role=\"footer\" class=\"modal-buttons-container\">\n <button\n cdsButton=\"secondary\"\n [attr.modal-primary-focus]=\"true\"\n (click)=\"closeMappingModal(uuid)\"\n [disabled]=\"obs.disabled\"\n >\n {{ 'close' | pluginTranslate: pluginId | async }}\n </button>\n\n <button\n cdsButton=\"primary\"\n [attr.modal-primary-focus]=\"true\"\n [disabled]=\"obs.disabled\"\n (click)=\"saveMapping(uuid)\"\n [disabled]=\"obs.disabled\"\n >\n {{ 'save' | pluginTranslate: pluginId | async }}\n </button>\n </div>\n </v-modal>\n </ng-container>\n</ng-template>\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {NgModule} from '@angular/core';\nimport {VerzoekConfigurationComponent} from './components/verzoek-configuration/verzoek-configuration.component';\nimport {PluginTranslatePipeModule} from '../../pipes';\nimport {CommonModule} from '@angular/common';\nimport {\n ButtonModule as CarbonButtonModule,\n IconModule,\n InputModule as CarbonInputModule,\n ModalModule,\n} from 'carbon-components-angular';\nimport {\n CarbonMultiInputModule,\n FormModule,\n InputLabelModule,\n InputModule,\n MultiInputFormModule,\n ParagraphModule,\n RadioModule,\n SelectModule,\n TooltipIconModule,\n ValtimoCdsModalDirective,\n VModalModule,\n} from '@valtimo/components';\n\n@NgModule({\n declarations: [VerzoekConfigurationComponent],\n imports: [\n CommonModule,\n PluginTranslatePipeModule,\n FormModule,\n InputModule,\n SelectModule,\n ParagraphModule,\n MultiInputFormModule,\n RadioModule,\n InputLabelModule,\n ModalModule,\n CarbonInputModule,\n TooltipIconModule,\n CarbonMultiInputModule,\n CarbonButtonModule,\n ValtimoCdsModalDirective,\n VModalModule,\n IconModule,\n ],\n exports: [VerzoekConfigurationComponent],\n})\nexport class VerzoekPluginModule {}\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nconst VERZOEK_PLUGIN_LOGO_BASE64 =\n 'data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB2aWV3Qm94PSIxNTAgMTUgOTYgNTAiPjxkZWZzPjxwYXRoIGlkPSJhIiBkPSJNNTcuMzk2LjIxMUguMjgxdjQ5LjQwNWg1Ny4xMTVWLjIxeiIvPjxwYXRoIGlkPSJjIiBkPSJNNTcuNTY0LjIxMUguNDQ4djQ5LjQwNWg1Ny4xMTZWLjIxeiIvPjwvZGVmcz48ZyBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDE4Ny45MzEgMTUpIj48bWFzayBpZD0iYiIgZmlsbD0iI2ZmZiI+PHVzZSB4bGluazpocmVmPSIjYSIvPjwvbWFzaz48cGF0aCBkPSJNNTcuMzk2IDI0LjkxM2MwLTEzLjU3My0xMS4wMDQtMjQuNjIyLTI0LjU2LTI0LjctLjAyNCAwLS4wNDgtLjAwMy0uMDczLS4wMDNIMjQuNzVhMi41MDQgMi41MDQgMCAxIDAgMCA1LjAxaDcuOTQ1YzEwLjg1OCAwIDE5LjY5NCA4LjgzNCAxOS42OTQgMTkuNjkzIDAgMTAuODYtOC44MzYgMTkuNjk0LTE5LjY5NCAxOS42OTRINS4yODl2LTQuNTc4SC4yODF2OS41ODdoMzIuNDgydi0uMDAxYzEzLjU5LS4wNCAyNC42MzMtMTEuMTA1IDI0LjYzMy0yNC43MDIiIGZpbGw9IiMwMDlGRTQiIG1hc2s9InVybCgjYikiLz48L2c+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTUwIDE1KSI+PG1hc2sgaWQ9ImQiIGZpbGw9IiNmZmYiPjx1c2UgeGxpbms6aHJlZj0iI2MiLz48L21hc2s+PHBhdGggZD0iTS40NDggMjQuOTEzYzAgMTMuNTczIDExLjAwNCAyNC42MjIgMjQuNTYgMjQuNy4wMjQgMCAuMDQ4LjAwMy4wNzMuMDAzaDguMDE0YTIuNTA0IDIuNTA0IDAgMSAwIDAtNS4wMDloLTcuOTQ0Yy0xMC44NTkgMC0xOS42OTQtOC44MzQtMTkuNjk0LTE5LjY5NCAwLTEwLjg1OSA4LjgzNS0xOS42OTQgMTkuNjk0LTE5LjY5NGgyNy40MDR2NC41NzhoNS4wMDlWLjIxSDI1LjA4di4wMDFDMTEuNDkuMjUxLjQ0OCAxMS4zMTYuNDQ4IDI0LjkxMyIgZmlsbD0iIzAwOUZFNCIgbWFzaz0idXJsKCNkKSIvPjwvZz48cGF0aCBmaWxsPSIjMDA0Mzg4IiBkPSJNMTc2LjAxNyA0Mi4xMTZsLTQuNjc4LTEyLjQwMWgtNS42NjRsOC4xNCAyMC4zNjZoMy45MjFsOC40MDEtMjAuMzY2aC01LjM2M3ptMjYuNTQyLjU1OGwtNy45MjgtMTIuOTU5aC02LjQxM3YyMC4zNjdoNC45OTdWMzYuNzg3bDguMTUgMTMuMjk1aDYuMTlWMjkuNzE1aC00Ljk5NnptMTkuMzIzLTQuOTR2NC42NjNoMy41Mzd2Mi42NzdhOS43NzMgOS43NzMgMCAwIDEtMS40MTQuNTRjLS42NTIuMjAzLTEuNDQzLjMwNi0yLjM1NC4zMDYtLjg4IDAtMS42ODYtLjE1LTIuMzk0LS40NDhhNS4zMzggNS4zMzggMCAwIDEtMS44MjQtMS4yNDcgNS41MjIgNS41MjIgMCAwIDEtMS4xNy0xLjg5NGMtLjI3Mi0uNzI5LS40MS0xLjU0OS0uNDEtMi40MzMgMC0uODY3LjEzOC0xLjY4MS40MS0yLjQyYTUuNTAyIDUuNTAyIDAgMCAxIDEuMTctMS45MDggNS4zNzQgNS4zNzQgMCAwIDEgMS44MjQtMS4yNDZjLjcwOS0uMjk4IDEuNTE0LS40NDkgMi4zOTQtLjQ0OSAxLjA2NCAwIDEuOTU5LjE1MSAyLjY1Ny40NDkuNy4yOTcgMS4zMzguNzQgMS44OTggMS4zMThsLjI0Mi4yNDggMy41MTUtMy44MzUtLjIzNy0uMjIxYTguOTIzIDguOTIzIDAgMCAwLTMuNjI3LTIuMDM4Yy0xLjM1LS4zODYtMi44NDctLjU4My00LjQ0OC0uNTgzLTEuNTcyIDAtMy4wNDQuMjUtNC4zNzMuNzQ1YTEwLjEzOSAxMC4xMzkgMCAwIDAtMy40ODEgMi4xNDNjLS45NzUuOTI4LTEuNzQ2IDIuMDY2LTIuMjkgMy4zODQtLjU0MyAxLjMxNS0uODE5IDIuOC0uODE5IDQuNDEzIDAgMS42MTMuMjc2IDMuMDk4LjgyIDQuNDEzLjU0NSAxLjMxOSAxLjMxNCAyLjQ1NyAyLjI4OSAzLjM4NC45NzQuOTI2IDIuMTQ2IDEuNjQ3IDMuNDggMi4xNDMgMS4zMy40OTQgMi44MDIuNzQ0IDQuMzc0Ljc0NCAxLjQ2NCAwIDIuOTItLjE1MiA0LjMzLS40NTJhMTYuMDU0IDE2LjA1NCAwIDAgMCA0LjA5LTEuNDc4bC4xNzctLjA5VjM3LjczM2gtOC4zNjZ6Ii8+PC9nPjwvc3ZnPg==';\n\nexport {VERZOEK_PLUGIN_LOGO_BASE64};\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {PluginSpecification} from '../../models';\nimport {VerzoekConfigurationComponent} from './components/verzoek-configuration/verzoek-configuration.component';\nimport {VERZOEK_PLUGIN_LOGO_BASE64} from './assets/verzoek-plugin-logo';\n\nconst verzoekPluginSpecification: PluginSpecification = {\n pluginId: 'verzoek',\n pluginConfigurationComponent: VerzoekConfigurationComponent,\n pluginLogoBase64: VERZOEK_PLUGIN_LOGO_BASE64,\n pluginTranslations: {\n nl: {\n title: 'Verzoek',\n description:\n 'De Verzoek-plugin handelt aanvragen af en maakt een Zaakdossier aan. Een Verzoek is een Object in de Objecten API en wordt meestal met behulp van een portaal aangemaakt.',\n configurationTitle: 'Configuratienaam',\n configurationTitleTooltip:\n 'De naam van de huidige plugin-configuratie. Onder deze naam kan de configuratie in de rest van de applicatie teruggevonden worden.',\n notificatiesApiPluginConfiguration: 'Notificaties API-configuratie',\n objectManagementId: 'Object management-configuratie',\n processToStart: 'Proces',\n rsin: 'RSIN',\n verzoekProperties: 'Verzoektypen',\n type: 'Type',\n caseDefinitionKey: 'Dossierdefinitie',\n caseDefinitionVersionTag: 'Dossierdefinitie versie',\n initiatorRoltypeUrl: 'Roltype',\n processDefinitionKey: 'Procesdefinitie',\n initiatorRolDescription: 'Rolbeschrijving',\n addVerzoekType: 'Verzoektype toevoegen',\n verzoekPropertiesTooltip:\n 'De verzoektypen die aangemaakt worden wannneer er een notificatie binnenkomt.',\n notificatiesApiPluginConfigurationTooltip:\n 'Configuratie van de Notificaties API die wordt gebruikt om te communiceren tussen GZAC en andere applicaties.',\n objectManagementIdTooltip:\n 'Configuratie van het object dat wordt gebruikt om een verzoek op te slaan.',\n processToStartTooltip: 'Het proces dat een zaak aanmaakt wanneer een notificatie binnenkomt.',\n rsinTooltip: 'Dit nummer moet voldoen aan dezelfde specificaties als een BSN-nummer.',\n typeTooltip:\n \"Het type van het verzoek dat wordt gebruikt om het object te identificeren. Bv. 'verzoek'.\",\n caseDefinitionKeyTooltip:\n 'Selecteer hier het dossiertype waarvan een instantie gestart moet worden wanneer er een verzoek binnenkomt.',\n caseDefinitionVersionTagTooltip:\n 'Vul hier de versie in van het dossiertype waarvan een instantie gestart moet worden wanneer er een verzoek binnenkomt.',\n initiatorRoltypeUrlTooltip:\n 'Het roltype van de aanvrager die wordt opgeslagen wanneer er een verzoek binnenkomt.',\n initiatorRolDescriptionTooltip:\n 'Een beschrijving van het roltype van de aanvrager die wordt opgeslagen wanneer er een verzoek binnenkomt.',\n processDefinitionKeyTooltip:\n 'Selecteer hier het proces dat gestart moet worden wanneer het eerder geselecteerde systeemproces afgerond is.',\n copyStrategy: 'Kopieerstrategie',\n copyStrategyTooltip:\n 'Met deze optie wordt bepaald of het volledige Verzoek-object in het document terecht komt, of slechts de gespecifieerde velden.',\n full: 'Volledig',\n specified: 'Gespecifieerde velden',\n mapping: 'Mapping',\n setMapping: 'Mapping instellen',\n mappingTooltip:\n \"Stel hier de velden in die gekopieerd moeten worden van het Verzoek-object naar het document. Bijvoorbeeld: '/voorletters' -> 'doc:/voorletters-machtiginggever'.\",\n close: 'Sluiten',\n save: 'Opslaan',\n target: 'Bestemming',\n source: 'Bron',\n },\n en: {\n title: 'Verzoek',\n description:\n 'The Verzoek plugin handles requests and creates a Zaakdossier. A Verzoek is an Object in the Objecten API and is usually created using a portal.',\n configurationTitle: 'Configuration name',\n configurationTitleTooltip:\n 'The name of the current plugin configuration. Under this name, the configuration can be found in the rest of the application.',\n notificatiesApiPluginConfiguration: 'Notificaties API configuration',\n objectManagementId: 'Object management configuration',\n processToStart: 'Process',\n rsin: 'RSIN',\n verzoekProperties: 'Verzoek types',\n type: 'Type',\n caseDefinitionKey: 'Case definition',\n caseDefinitionVersionTag: 'Case definition version',\n initiatorRoltypeUrl: 'Role type',\n processDefinitionKey: 'Process definition',\n initiatorRolDescription: 'Role description',\n addVerzoekType: 'Add verzoek type',\n verzoekPropertiesTooltip:\n 'The verzoek types that are created when a notification is received.',\n notificatiesApiPluginConfigurationTooltip:\n 'Configuration of the Notificaties API used to communicate between GZAC and other applications.',\n objectManagementIdTooltip: 'Configuration of the object used to store a verzoek.',\n processToStartTooltip: 'The process that creates a case when a notification is received.',\n rsinTooltip: 'This number must meet the same specifications as a BSN number.',\n typeTooltip: \"The type of verzoek used to identify the object. Eg. 'verzoek'.\",\n caseDefinitionKeyTooltip:\n 'The case type of which an instance should be started when a verzoek comes in.',\n caseDefinitionVersionTagTooltip:\n 'The version of the case type of which an instance should be started when a verzoek comes in.',\n initiatorRoltypeUrlTooltip:\n 'The role type of the requestor that is saved when a verzoek comes in.',\n initiatorRolDescriptionTooltip:\n \"A description of the requester's role type that is saved when a verzoek comes in.\",\n processDefinitionKeyTooltip:\n 'Select the process that should be started when the previously selected system process has finished.',\n copyStrategy: 'Copy strategy',\n copyStrategyTooltip:\n 'This option determines whether the entire Verzoek object is included in the document, or only the defined fields.',\n full: 'Complete',\n specified: 'Specified fields',\n mapping: 'Mapping',\n setMapping: 'Set mapping',\n mappingTooltip:\n \"Set the fields to be copied from the Verzoek object to the document. For example: '/voorletters' -> 'doc:/voorletters-machtiginggever'.\",\n close: 'Close',\n save: 'Save',\n target: 'Target',\n source: 'Source',\n },\n },\n};\n\nexport {verzoekPluginSpecification};\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {PluginConfigurationComponent} from '../../../../models';\nimport {BehaviorSubject, combineLatest, map, Observable, Subscription, take} from 'rxjs';\nimport {BesluitenApiConfig} from '../../models';\nimport {PluginManagementService, PluginTranslationService} from '../../../../services';\nimport {TranslateService} from '@ngx-translate/core';\n\n@Component({\n standalone: false,\n selector: 'valtimo-besluiten-api-configuration',\n templateUrl: './besluiten-api-configuration.component.html',\n styleUrls: ['./besluiten-api-configuration.component.scss'],\n})\nexport class BesluitenApiConfigurationComponent\n implements PluginConfigurationComponent, OnInit, OnDestroy\n{\n @Input() save$: Observable<void>;\n @Input() disabled$: Observable<boolean>;\n @Input() pluginId: string;\n @Input() prefillConfiguration$: Observable<BesluitenApiConfig>;\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() configuration: EventEmitter<BesluitenApiConfig> =\n new EventEmitter<BesluitenApiConfig>();\n readonly authenticationPluginSelectItems$: Observable<Array<{id: string; text: string}>> =\n combineLatest([\n this.pluginManagementService.getPluginConfigurationsByCategory(\n 'besluiten-api-authentication'\n ),\n this.translateService.stream('key'),\n ]).pipe(\n map(([configurations]) =>\n configurations.map(configuration => ({\n id: configuration.id,\n text: `${configuration.title} - ${this.pluginTranslationService.instant(\n 'title',\n configuration.pluginDefinition.key\n )}`,\n }))\n )\n );\n private saveSubscription!: Subscription;\n private readonly formValue$ = new BehaviorSubject<BesluitenApiConfig | null>(null);\n private readonly valid$ = new BehaviorSubject<boolean>(false);\n\n constructor(\n private readonly pluginManagementService: PluginManagementService,\n private readonly translateService: TranslateService,\n private readonly pluginTranslationService: PluginTranslationService\n ) {}\n\n ngOnInit(): void {\n this.openSaveSubscription();\n }\n\n ngOnDestroy() {\n this.saveSubscription?.unsubscribe();\n }\n\n formValueChange(formValue: BesluitenApiConfig): void {\n this.formValue$.next(formValue);\n this.handleValid(formValue);\n }\n\n private handleValid(formValue: BesluitenApiConfig): void {\n const valid = !!(\n formValue.configurationTitle &&\n formValue.rsin &&\n formValue.url &&\n formValue.authenticationPluginConfiguration\n );\n\n this.valid$.next(valid);\n this.valid.emit(valid);\n }\n\n private openSaveSubscription(): void {\n this.saveSubscription = this.save$?.subscribe(save => {\n combineLatest([this.formValue$, this.valid$])\n .pipe(take(1))\n .subscribe(([formValue, valid]) => {\n if (valid) {\n this.configuration.emit(formValue);\n }\n });\n });\n }\n}\n","<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null,\n } as obs\"\n>\n <v-input\n name=\"configurationTitle\"\n data-test-id=\"besluitenApiConfigurationTitle\"\n [title]=\"'configurationTitle' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.configurationTitle\"\n [required]=\"true\"\n [trim]=\"true\"\n [tooltip]=\"'configurationTitleTooltip' | pluginTranslate: pluginId | async\"\n placeholder=\"Besluiten API Plugin\"\n >\n </v-input>\n <v-input\n name=\"rsin\"\n data-test-id=\"besluitenApiRsin\"\n [title]=\"'rsin' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.rsin\"\n [required]=\"true\"\n [trim]=\"true\"\n [tooltip]=\"'rsinTooltip' | pluginTranslate: pluginId | async\"\n placeholder=\"123456789\"\n >\n </v-input>\n <v-input\n name=\"url\"\n data-test-id=\"besluitenApiUrl\"\n [title]=\"'url' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.url\"\n [required]=\"true\"\n [trim]=\"true\"\n [tooltip]=\"'urlTooltip' | pluginTranslate: pluginId | async\"\n placeholder=\"https://openzaak.example.com/besluiten/api/v1/ \"\n >\n </v-input>\n <ng-container\n *ngIf=\"{authenticationPluginSelectItems: authenticationPluginSelectItems$ | async} as authObs\"\n >\n <v-select\n [items]=\"authObs.authenticationPluginSelectItems\"\n [margin]=\"true\"\n name=\"authenticationPluginConfiguration\"\n data-test-id=\"besluitenApiAuthenticationPluginConfiguration\"\n [title]=\"'authenticationPluginConfiguration' | pluginTranslate: pluginId | async\"\n [disabled]=\"obs.disabled\"\n [defaultSelectionId]=\"obs.prefill?.authenticationPluginConfiguration\"\n [required]=\"true\"\n [loading]=\"!authObs.authenticationPluginSelectItems\"\n ></v-select>\n </ng-container>\n</v-form>\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Injectable} from '@angular/core';\nimport {Observable} from 'rxjs';\nimport {HttpClient} from '@angular/common/http';\nimport {ConfigService} from '@valtimo/shared';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class BesluitenApiService {\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 public getBesluitTypesByCaseAndVersion(\n caseDefinitionKey: string,\n versionTag: string\n ): Observable<Array<any>> {\n return this.http.get<Array<any>>(\n `${this.valtimoEndpointUri}v1/case-definition/${caseDefinitionKey}/version/${versionTag}/zaaktype/besluittype`\n );\n }\n}\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport * from './besluiten-api.service';\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {FunctionConfigurationComponent} from '../../../../models';\nimport {\n BehaviorSubject,\n combineLatest,\n filter,\n map,\n Observable,\n Subject,\n Subscription,\n switchMap,\n take,\n tap,\n} from 'rxjs';\nimport {CreateZaakBesluitConfig, Vervalredenen} from '../../models';\nimport {PluginTranslationService} from '../../../../services';\nimport {TranslateService} from '@ngx-translate/core';\nimport {ModalService, RadioValue, SelectItem} from '@valtimo/components';\nimport {DocumentService} from '@valtimo/document';\nimport {BesluitenApiService} from '../../services';\nimport {InputOption} from '../../../zaken-api/models';\nimport {PluginTranslatePipe} from '../../../../pipes';\nimport {CaseManagementParams, ManagementContext} from '@valtimo/shared';\n\n@Component({\n standalone: false,\n selector: 'valtimo-create-zaak-besluit-configuration',\n templateUrl: './create-zaak-besluit-configuration.component.html',\n styleUrls: ['./create-zaak-besluit-configuration.component.scss'],\n providers: [PluginTranslatePipe],\n})\nexport class CreateZaakBesluitConfigurationComponent\n implements FunctionConfigurationComponent, OnInit, OnDestroy\n{\n @Input() save$: Observable<void>;\n @Input() disabled$: Observable<boolean>;\n @Input() set pluginId(value: string) {\n this.pluginId$.next(value);\n }\n @Input() prefillConfiguration$: Observable<CreateZaakBesluitConfig>;\n @Input() context$: Observable<[ManagementContext, CaseManagementParams]>;\n\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() configuration: EventEmitter<CreateZaakBesluitConfig> =\n new EventEmitter<CreateZaakBesluitConfig>();\n\n readonly VERVALREDENEN: Array<Vervalredenen> = [\n 'tijdelijk',\n 'ingetrokken_overheid',\n 'ingetrokken_belanghebbende',\n ];\n\n readonly vervalredenenSelectItems$: Observable<Array<{id: Vervalredenen; text: string}>> =\n this.translateService.stream('key').pipe(\n switchMap(() => this.pluginId$),\n map(pluginId =>\n this.VERVALREDENEN.map(item => ({\n id: item,\n text: this.pluginTranslationService.instant(item, pluginId),\n }))\n )\n );\n\n readonly selectedInputOption$ = new BehaviorSubject<InputOption>('selection');\n readonly selectedStartDateInputOption$ = new BehaviorSubject<InputOption>('selection');\n readonly selectedExpirationDateInputOption$ = new BehaviorSubject<InputOption>('selection');\n readonly loading$ = new BehaviorSubject<boolean>(true);\n readonly pluginId$ = new BehaviorSubject<string>('');\n readonly clearBesluitSelection$ = new Subject<void>();\n readonly besluitTypeSelectItems$ = new BehaviorSubject<SelectItem[]>([]);\n\n readonly inputTypeOptions$: Observable<Array<RadioValue>> = this.pluginId$.pipe(\n filter(pluginId => !!pluginId),\n switchMap(pluginId =>\n combineLatest([\n this.pluginTranslatePipe.transform('selection', pluginId),\n this.pluginTranslatePipe.transform('text', pluginId),\n ])\n ),\n map(([selectionTranslation, textTranslation]) => [\n {value: 'selection', title: selectionTranslation},\n {value: 'text', title: textTranslation},\n ])\n );\n\n readonly startDateInputTypeOptions$ = this.inputTypeOptions$;\n readonly expirationDateInputTypeOptions$ = this.inputTypeOptions$;\n\n private readonly formValue$ = new BehaviorSubject<CreateZaakBesluitConfig | null>(null);\n private readonly valid$ = new BehaviorSubject<boolean>(false);\n private readonly _subscriptions = new Subscription();\n\n constructor(\n private readonly translateService: TranslateService,\n private readonly pluginTranslationService: PluginTranslationService,\n private readonly modalService: ModalService,\n private readonly documentService: DocumentService,\n private readonly besluitenApiService: BesluitenApiService,\n private readonly pluginTranslatePipe: PluginTranslatePipe\n ) {}\n\n public ngOnInit(): void {\n this.initBesluitHandling();\n this.initSaveHandling();\n }\n\n public ngOnDestroy(): void {\n this._subscriptions.unsubscribe();\n }\n\n public formValueChange(formValue: CreateZaakBesluitConfig): void {\n this.formValue$.next(formValue);\n this.handleValid(formValue);\n\n if (formValue.inputTypeBesluitToggle) {\n this.selectedInputOption$.next(formValue.inputTypeBesluitToggle);\n }\n\n if (formValue.inputTypeStartingDateToggle) {\n this.selectedStartDateInputOption$.next(formValue.inputTypeStartingDateToggle);\n }\n\n if (formValue.inputTypeExpirationDateToggle) {\n this.selectedExpirationDateInputOption$.next(formValue.inputTypeExpirationDateToggle);\n }\n }\n\n public oneSelectItem(selectItems: Array<SelectItem>): boolean {\n return Array.isArray(selectItems) && selectItems.length === 1;\n }\n\n private initBesluitHandling(): void {\n if (!this.context$) return;\n\n const sub = this.context$\n .pipe(\n filter(([context]) => {\n if (context === 'independent') {\n this.selectedInputOption$.next('text');\n this.loading$.next(false);\n }\n return context === 'case';\n }),\n switchMap(([_, params]) =>\n this.besluitenApiService.getBesluitTypesByCaseAndVersion(\n params.caseDefinitionKey,\n params.caseDefinitionVersionTag\n )\n ),\n tap(besluitTypes => {\n this.besluitTypeSelectItems$.next(\n besluitTypes.map(item => ({id: item.url, text: item.name}))\n );\n this.selectedInputOption$.next('selection');\n this.loading$.next(false);\n })\n )\n .subscribe();\n\n this._subscriptions.add(sub);\n }\n\n private initSaveHandling(): void {\n if (!this.save$) return;\n\n const sub = this.save$.subscribe(() => {\n combineLatest([this.formValue$, this.valid$])\n .pipe(take(1))\n .subscribe(([formValue, valid]) => {\n if (valid) {\n this.configuration.emit(formValue);\n }\n });\n });\n\n this._subscriptions.add(sub);\n }\n\n private handleValid(formValue: CreateZaakBesluitConfig): void {\n const valid = !!formValue.besluittypeUrl && !!formValue.ingangsdatum;\n this.valid$.next(valid);\n this.valid.emit(valid);\n }\n}\n","<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<ng-container\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null,\n besluitTypeItems: besluitTypeSelectItems$ | async,\n selectedInputOption: selectedInputOption$ | async,\n selectedStartDateInputOption: selectedStartDateInputOption$ | async,\n selectedExpirationDateInputOption: selectedExpirationDateInputOption$ | async,\n pluginId: pluginId$ | async,\n loading: loading$ | async,\n context: context$ | async,\n } as obs\"\n>\n <ng-container *ngIf=\"obs.loading === false; else loading\">\n <v-paragraph [margin]=\"true\" [italic]=\"true\">\n {{ 'createZaakBesluitInformation' | pluginTranslate: obs.pluginId | async }}\n </v-paragraph>\n\n <v-form (valueChange)=\"formValueChange($event)\">\n <v-radio\n *ngIf=\"obs.context && obs.context[0] && obs.context[0] === 'case'\"\n name=\"inputTypeBesluitToggle\"\n [disabled]=\"obs.disabled\"\n [title]=\"'inputTypeBesluitToggle' | pluginTranslate: obs.pluginId | async\"\n [radioValues]=\"inputTypeOptions$ | async\"\n [defaultValue]=\"selectedInputOption$ | async\"\n [margin]=\"true\"\n >\n </v-radio>\n\n <v-input\n *ngIf=\"obs.selectedInputOption === 'text'\"\n name=\"besluittypeUrl\"\n [title]=\"'besluittypeUrl' | pluginTranslate: obs.pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.besluittypeUrl\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n [trim]=\"true\"\n [tooltip]=\"'besluittypeUrlTooltip' | pluginTranslate: obs.pluginId | async\"\n [widthPx]=\"350\"\n >\n </v-input>\n\n <ng-container *ngIf=\"obs.selectedInputOption === 'selection'\">\n <v-select\n [items]=\"obs.besluitTypeItems\"\n [margin]=\"true\"\n [widthInPx]=\"350\"\n name=\"besluittypeUrl\"\n [title]=\"'besluittypeUrlSelect' | pluginTranslate: obs.pluginId | async\"\n [disabled]=\"obs.disabled || obs.selectedInputOption === 'text' || !obs.besluitTypeItems\"\n [defaultSelectionId]=\"obs.prefill?.besluittypeUrl\"\n [required]=\"true\"\n [loading]=\"!obs.besluitTypeItems\"\n [tooltip]=\"'besluittypeUrlSelectTooltip' | pluginTranslate: obs.pluginId | async\"\n [clearSelectionSubject$]=\"clearBesluitSelection$\"\n ></v-select>\n </ng-container>\n\n <v-input\n name=\"toelichting\"\n [title]=\"'toelichting' | pluginTranslate: obs.pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.toelichting\"\n [disabled]=\"obs.disabled\"\n [required]=\"false\"\n [tooltip]=\"'toelichtingTooltip' | pluginTranslate: obs.pluginId | async\"\n [widthPx]=\"350\"\n >\n </v-input>\n\n <v-input\n name=\"bestuursorgaan\"\n [title]=\"'bestuursorgaan' | pluginTranslate: obs.pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.bestuursorgaan\"\n [disabled]=\"obs.disabled\"\n [required]=\"false\"\n [trim]=\"true\"\n [tooltip]=\"'bestuursorgaanTooltip' | pluginTranslate: obs.pluginId | async\"\n [widthPx]=\"350\"\n >\n </v-input>\n\n <v-radio\n name=\"inputTypeStartingDateToggle\"\n [disabled]=\"obs.disabled\"\n [title]=\"'inputTypeStartingDateToggle' | pluginTranslate: obs.pluginId | async\"\n [radioValues]=\"startDateInputTypeOptions$ | async\"\n [defaultValue]=\"obs.prefill?.inputTypeStartingDateToggle || 'selection'\"\n [margin]=\"true\"\n >\n </v-radio>\n\n <v-input\n *ngIf=\"obs.selectedStartDateInputOption === 'text'\"\n name=\"ingangsdatum\"\n [title]=\"'ingangsdatum' | pluginTranslate: obs.pluginId | async\"\n [defaultValue]=\"obs.prefill?.ingangsdatum\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n [trim]=\"true\"\n [tooltip]=\"'ingangsdatumTooltip' | pluginTranslate: obs.pluginId | async\"\n [widthPx]=\"350\"\n [margin]=\"true\"\n >\n </v-input>\n\n <v-date-picker\n *ngIf=\"obs.selectedStartDateInputOption === 'selection'\"\n name=\"ingangsdatum\"\n [title]=\"'ingangsdatum' | pluginTranslate: obs.pluginId | async\"\n [defaultDate]=\"obs.prefill?.ingangsdatum\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n [tooltip]=\"'ingangsdatumTooltip' | pluginTranslate: obs.pluginId | async\"\n [widthPx]=\"100\"\n [margin]=\"true\"\n ></v-date-picker>\n\n <v-radio\n name=\"inputTypeExpirationDateToggle\"\n [disabled]=\"obs.disabled\"\n [title]=\"'inputTypeExpirationDateToggle' | pluginTranslate: obs.pluginId | async\"\n [radioValues]=\"expirationDateInputTypeOptions$ | async\"\n [defaultValue]=\"obs.prefill?.inputTypeExpirationDateToggle || 'selection'\"\n [margin]=\"true\"\n >\n </v-radio>\n\n <v-input\n *ngIf=\"obs.selectedExpirationDateInputOption === 'text'\"\n name=\"vervaldatum\"\n [title]=\"'vervaldatum' | pluginTranslate: obs.pluginId | async\"\n [defaultValue]=\"obs.prefill?.vervaldatum\"\n [disabled]=\"obs.disabled\"\n [required]=\"false\"\n [trim]=\"true\"\n [tooltip]=\"'vervaldatumTooltip' | pluginTranslate: obs.pluginId | async\"\n [widthPx]=\"350\"\n [margin]=\"true\"\n >\n </v-input>\n\n <v-date-picker\n *ngIf=\"obs.selectedExpirationDateInputOption === 'selection'\"\n name=\"vervaldatum\"\n [title]=\"'vervaldatum' | pluginTranslate: obs.pluginId | async\"\n [defaultDate]=\"obs.prefill?.vervaldatum\"\n [disabled]=\"obs.disabled\"\n [required]=\"false\"\n [tooltip]=\"'vervaldatumTooltip' | pluginTranslate: obs.pluginId | async\"\n [widthPx]=\"100\"\n [margin]=\"true\"\n ></v-date-picker>\n\n <v-select\n name=\"vervalreden\"\n [title]=\"'vervalreden' | pluginTranslate: obs.pluginId | async\"\n [items]=\"vervalredenenSelectItems$ | async\"\n [defaultSelectionId]=\"obs.prefill?.vervalreden\"\n [disabled]=\"obs.disabled\"\n [required]=\"false\"\n [tooltip]=\"'vervalredenTooltip' | pluginTranslate: obs.pluginId | async\"\n [widthInPx]=\"350\"\n [margin]=\"true\"\n ></v-select>\n\n <v-date-picker\n name=\"publicatiedatum\"\n [title]=\"'publicatiedatum' | pluginTranslate: obs.pluginId | async\"\n [defaultDate]=\"obs.prefill?.publicatiedatum\"\n [disabled]=\"obs.disabled\"\n [required]=\"false\"\n [tooltip]=\"'publicatiedatumTooltip' | pluginTranslate: obs.pluginId | async\"\n [widthPx]=\"100\"\n [margin]=\"true\"\n ></v-date-picker>\n\n <v-date-picker\n name=\"verzenddatum\"\n [title]=\"'verzenddatum' | pluginTranslate: obs.pluginId | async\"\n [defaultDate]=\"obs.prefill?.verzenddatum\"\n [disabled]=\"obs.disabled\"\n [required]=\"false\"\n [tooltip]=\"'verzenddatumTooltip' | pluginTranslate: obs.pluginId | async\"\n [widthPx]=\"100\"\n [margin]=\"true\"\n ></v-date-picker>\n\n <v-date-picker\n name=\"uiterlijkeReactieDatum\"\n [title]=\"'uiterlijkeReactieDatum' | pluginTranslate: obs.pluginId | async\"\n [defaultDate]=\"obs.prefill?.uiterlijkeReactieDatum\"\n [disabled]=\"obs.disabled\"\n [required]=\"false\"\n [tooltip]=\"'uiterlijkeReactieDatumTooltip' | pluginTranslate: obs.pluginId | async\"\n [widthPx]=\"100\"\n [margin]=\"true\"\n ></v-date-picker>\n\n <v-input\n name=\"createdBesluitUrl\"\n [title]=\"'besluitUrlProcessVariable' | pluginTranslate: obs.pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.createdBesluitUrl\"\n [disabled]=\"obs.disabled\"\n [required]=\"false\"\n [tooltip]=\"'besluitUrlProcessVariableTooltip' | pluginTranslate: obs.pluginId | async\"\n [widthPx]=\"350\"\n >\n </v-input>\n </v-form>\n </ng-container>\n</ng-container>\n\n<ng-template #loading>\n <div class=\"loading-container\">\n <cds-loading></cds-loading>\n </div>\n</ng-template>\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport const PatchBesluitPropertyOptions = [\n 'beslisdatum',\n 'toelichting',\n 'bestuursorgaan',\n 'ingangsdatum',\n 'vervaldatum',\n 'vervalreden',\n 'publicatiedatum',\n 'verzenddatum',\n 'uiterlijkeReactieDatum',\n] as const;\nexport type PatchBesluitProperties = (typeof PatchBesluitPropertyOptions)[number];\n","import {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {FunctionConfigurationComponent} from '../../../../models';\nimport {BehaviorSubject, combineLatest, Observable, Subscription, take} from 'rxjs';\nimport {PatchZaakBesluitConfig} from '../../models';\nimport {Add16, TrashCan16} from '@carbon/icons';\nimport {\n PatchBesluitProperties,\n PatchBesluitPropertyOptions,\n} from '../../models/patch-besluit-properties';\nimport {IconService} from 'carbon-components-angular';\n\n@Component({\n standalone: false,\n selector: 'valtimo-patch-zaak-besluit-configuration',\n templateUrl: './patch-zaak-besluit-configuration.component.html',\n styleUrls: ['./patch-zaak-besluit-configuration.component.scss'],\n})\nexport class PatchZaakBesluitConfigurationComponent\n implements FunctionConfigurationComponent, OnInit, OnDestroy\n{\n @Input() save$: Observable<void>;\n @Input() disabled$: Observable<boolean>;\n @Input() pluginId: string;\n @Input() prefillConfiguration$: Observable<PatchZaakBesluitConfig>;\n @Output() valid = new EventEmitter<boolean>();\n @Output() configuration = new EventEmitter<PatchZaakBesluitConfig>();\n\n public readonly propertyOptions: PatchBesluitProperties[] = [...PatchBesluitPropertyOptions];\n public propertyList: PatchBesluitProperties[] = [];\n\n private readonly _formValue$ = new BehaviorSubject<PatchZaakBesluitConfig | null>(null);\n private readonly _properties = new Map<PatchBesluitProperties, string>();\n private readonly _valid$ = new BehaviorSubject<boolean>(false);\n private _saveSubscription!: Subscription;\n private _prefillConfig: PatchZaakBesluitConfig | null = null;\n\n constructor(private readonly iconService: IconService) {\n this.iconService.registerAll([Add16, TrashCan16]);\n }\n\n public ngOnInit(): void {\n this.openSaveSubscription();\n\n this.prefillConfiguration$.pipe(take(1)).subscribe(prefill => {\n if (!prefill) return;\n\n this._prefillConfig = prefill;\n\n const prefilledProperties = this.propertyOptions.filter(\n property => !!this.prefillValueFor(property, prefill)\n );\n\n this.propertyList = [...prefilledProperties];\n });\n }\n\n public ngOnDestroy(): void {\n this._saveSubscription?.unsubscribe();\n }\n\n public onFormValueChanged(formValue: PatchZaakBesluitConfig): void {\n this._formValue$.next(formValue);\n this.handleValid(formValue);\n }\n\n public onPropertyChanged(property: PatchBesluitProperties, value: any): void {\n this._properties.set(property, value);\n\n const formValue = this._formValue$.value;\n if (!formValue) return;\n\n this._properties.forEach((propValue, key) => {\n formValue[key] = propValue;\n });\n\n this.onFormValueChanged(formValue);\n }\n\n public prefillValueFor(property: string, prefill: PatchZaakBesluitConfig): string | null {\n return prefill ? ((prefill as any)[property] ?? null) : null;\n }\n\n public translationKeyFor(property: string): string {\n return property === 'description' ? 'omschrijving' : property;\n }\n\n public translationKeyForPropertyList(property: string): string {\n return this.translationKeyFor(property);\n }\n\n public addProperty(property: PatchBesluitProperties): void {\n if (!this.propertyList.includes(property)) {\n this.propertyList = [...this.propertyList, property];\n const formValue = this._formValue$.value;\n if (formValue) this.handleValid(formValue);\n }\n }\n\n public removeProperty(property: PatchBesluitProperties): void {\n if (this.propertyList.includes(property)) {\n this.propertyList = this.propertyList.filter(p => p !== property);\n this._properties.delete(property);\n\n const formValue = this._formValue$.value;\n if (formValue) {\n (formValue as any)[property] = undefined;\n this.handleValid(formValue);\n }\n }\n }\n\n public hasPropertyBeenAdded(property: PatchBesluitProperties): boolean {\n return this.propertyList.includes(property);\n }\n\n private handleValid(formValue: PatchZaakBesluitConfig): void {\n const combined: any = {\n ...((this._prefillConfig as any) || {}),\n ...(formValue as any),\n };\n\n const besluitUrlValid = !!combined.besluitUrl;\n const dynamicValid = this.propertyList.every(p => !!combined[p]);\n const valid = besluitUrlValid && dynamicValid;\n\n this._valid$.next(valid);\n this.valid.emit(valid);\n }\n\n private openSaveSubscription(): void {\n this._saveSubscription = this.save$?.subscribe(() => {\n combineLatest([this._formValue$, this._valid$])\n .pipe(take(1))\n .subscribe(([formValue, valid]) => {\n if (!valid || !formValue) return;\n\n const combined: any = {\n ...((this._prefillConfig as any) || {}),\n ...(formValue as any),\n };\n\n const payload: PatchZaakBesluitConfig = {\n besluitUrl: combined.besluitUrl,\n };\n\n this.propertyList.forEach(property => {\n (payload as any)[property] = combined[property];\n });\n\n this.configuration.emit(payload);\n });\n });\n }\n}\n","<ng-container\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null,\n } as obs\"\n>\n <v-paragraph [margin]=\"true\" [italic]=\"true\">\n {{ 'patchZaakBesluitInformation' | pluginTranslate: pluginId | async }}\n </v-paragraph>\n\n <v-form (valueChange)=\"onFormValueChanged($event)\">\n <v-input\n name=\"besluitUrl\"\n [title]=\"'besluitUrl' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.besluitUrl\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n [trim]=\"true\"\n [tooltip]=\"'besluitUrlTooltip' | pluginTranslate: pluginId | async\"\n [widthPx]=\"350\"\n ></v-input>\n\n <div class=\"row\">\n <div class=\"col-12\">\n <button\n cdsButton=\"primary\"\n [size]=\"'md'\"\n [cdsOverflowMenu]=\"addPropertyList\"\n [customPane]=\"true\"\n placement=\"bottom\"\n class=\"add-button\"\n >\n {{ 'addPatchBesluitProperty' | pluginTranslate: pluginId | async }}\n <svg class=\"cds--btn__icon\" cdsIcon=\"add\" size=\"16\"></svg>\n </button>\n </div>\n </div>\n\n @for (property of propertyList; track property) {\n <div class=\"row\">\n <div class=\"col-11\">\n <v-input\n [name]=\"property\"\n [title]=\"translationKeyFor(property) | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"prefillValueFor(property, obs.prefill)\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n [trim]=\"true\"\n [tooltip]=\"translationKeyFor(property + 'Tooltip') | pluginTranslate: pluginId | async\"\n [widthPx]=\"350\"\n (valueChange)=\"onPropertyChanged(property, $event)\"\n ></v-input>\n </div>\n\n <div class=\"col-1\">\n <button class=\"btn btn-space delete-button\" (click)=\"removeProperty(property)\">\n <svg class=\"cds--btn__icon\" cdsIcon=\"trash-can\" size=\"16\"></svg>\n </button>\n </div>\n </div>\n }\n </v-form>\n</ng-container>\n\n<ng-template #addPropertyList>\n @for (propertyOption of propertyOptions; track propertyOption) {\n <cds-overflow-menu-option\n *ngIf=\"!hasPropertyBeenAdded(propertyOption)\"\n (click)=\"addProperty(propertyOption)\"\n >\n {{ translationKeyForPropertyList(propertyOption) | pluginTranslate: pluginId | async }}\n </cds-overflow-menu-option>\n }\n</ng-template>\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {FunctionConfigurationComponent} from '../../../../models';\nimport {BehaviorSubject, combineLatest, Observable, Subscription, take} from 'rxjs';\nimport {LinkDocumentToBesluitConfig} from '../../models';\n\n@Component({\n standalone: false,\n selector: 'valtimo-link-document-to-besluit-configuration',\n templateUrl: './link-document-to-besluit-configuration.component.html',\n styleUrls: ['./link-document-to-besluit-configuration.component.scss'],\n})\nexport class LinkDocumentToBesluitConfigurationComponent\n implements FunctionConfigurationComponent, OnInit, OnDestroy\n{\n @Input() save$: Observable<void>;\n @Input() disabled$: Observable<boolean>;\n @Input() pluginId: string;\n @Input() prefillConfiguration$: Observable<LinkDocumentToBesluitConfig>;\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() configuration: EventEmitter<LinkDocumentToBesluitConfig> =\n new EventEmitter<LinkDocumentToBesluitConfig>();\n\n private saveSubscription!: Subscription;\n private readonly formValue$ = new BehaviorSubject<LinkDocumentToBesluitConfig | null>(null);\n private readonly valid$ = new BehaviorSubject<boolean>(false);\n\n ngOnInit(): void {\n this.openSaveSubscription();\n }\n\n ngOnDestroy(): void {\n this.saveSubscription?.unsubscribe();\n }\n\n formValueChange(formValue: LinkDocumentToBesluitConfig): void {\n this.formValue$.next(formValue);\n this.handleValid(formValue);\n }\n\n private handleValid(formValue: LinkDocumentToBesluitConfig): void {\n const valid = !!(formValue.besluitUrl || formValue.documentUrl);\n\n this.valid$.next(valid);\n this.valid.emit(valid);\n }\n\n private openSaveSubscription(): void {\n this.saveSubscription = this.save$?.subscribe(save => {\n combineLatest([this.formValue$, this.valid$])\n .pipe(take(1))\n .subscribe(([formValue, valid]) => {\n if (valid) {\n this.configuration.emit(formValue);\n }\n });\n });\n }\n}\n","<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-paragraph [margin]=\"true\" [italic]=\"true\">\n {{ 'linkDocumentToBesluitInformation' | pluginTranslate: pluginId | async }}\n</v-paragraph>\n<v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null,\n } as obs\"\n>\n <v-input\n name=\"besluitUrl\"\n [title]=\"'besluitUrl' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.besluitUrl\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n [trim]=\"true\"\n [tooltip]=\"'besluitUrlTooltip' | pluginTranslate: pluginId | async\"\n [widthPx]=\"350\"\n >\n </v-input>\n <v-input\n name=\"documentUrl\"\n [title]=\"'documentUrl' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.documentUrl\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n [trim]=\"true\"\n [tooltip]=\"'documentUrlTooltip' | pluginTranslate: pluginId | async\"\n [widthPx]=\"350\"\n >\n </v-input>\n</v-form>\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {FunctionConfigurationComponent} from '../../../../models';\nimport {BehaviorSubject, combineLatest, Observable, Subscription, take} from 'rxjs';\nimport {GetBesluitConfig} from '../../models';\n\n@Component({\n selector: 'valtimo-get-besluit-configuration',\n templateUrl: './get-besluit-configuration.component.html',\n standalone: false,\n})\nexport class GetBesluitConfigurationComponent\n implements FunctionConfigurationComponent, OnInit, OnDestroy\n{\n @Input() save$: Observable<void>;\n @Input() disabled$: Observable<boolean>;\n @Input() pluginId: string;\n @Input() prefillConfiguration$: Observable<GetBesluitConfig>;\n\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() configuration: EventEmitter<GetBesluitConfig> = new EventEmitter<GetBesluitConfig>();\n\n private saveSubscription!: Subscription;\n private readonly formValue$ = new BehaviorSubject<GetBesluitConfig | null>(null);\n private readonly valid$ = new BehaviorSubject<boolean>(false);\n\n public ngOnInit(): void {\n this.openSaveSubscription();\n this.valid.emit(false);\n }\n\n public ngOnDestroy(): void {\n this.saveSubscription?.unsubscribe();\n }\n\n private openSaveSubscription(): void {\n this.saveSubscription = this.save$?.subscribe(() => {\n combineLatest([this.formValue$, this.valid$])\n .pipe(take(1))\n .subscribe(([formValue, valid]) => {\n if (valid) {\n this.configuration.emit(formValue);\n }\n });\n });\n }\n\n public formValueChange(formValue: GetBesluitConfig): void {\n this.formValue$.next(formValue);\n this.handleValid(formValue);\n }\n\n private handleValid(formValue: GetBesluitConfig): void {\n const valid = !!formValue?.besluitUrl && !!formValue?.resultProcessVariable;\n\n this.valid$.next(valid);\n this.valid.emit(valid);\n }\n}\n","<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null,\n } as obs\"\n>\n <v-input\n name=\"besluitUrl\"\n [title]=\"'besluitUrl' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.besluitUrl\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n [trim]=\"true\"\n [tooltip]=\"'besluitUrlTooltip' | pluginTranslate: pluginId | async\"\n ></v-input>\n <v-input\n name=\"resultProcessVariable\"\n [title]=\"'resultProcessVariable' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.resultProcessVariable\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n [trim]=\"true\"\n [tooltip]=\"'resultProcessVariableTooltip' | pluginTranslate: pluginId | async\"\n ></v-input>\n</v-form>\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {NgModule} from '@angular/core';\nimport {BesluitenApiConfigurationComponent} from './components/besluiten-api-configuration/besluiten-api-configuration.component';\nimport {CommonModule} from '@angular/common';\nimport {PluginTranslatePipeModule} from '../../pipes';\nimport {CreateZaakBesluitConfigurationComponent} from './components/create-zaak-besluit/create-zaak-besluit-configuration.component';\nimport {PatchZaakBesluitConfigurationComponent} from './components/patch-zaak-besluit/patch-zaak-besluit-configuration.component';\nimport {LinkDocumentToBesluitConfigurationComponent} from './components/link-document-to-besluit/link-document-to-besluit-configuration.component';\nimport {ButtonModule, DialogModule, IconModule, LoadingModule} from 'carbon-components-angular';\nimport {GetBesluitConfigurationComponent} from './components/get-besluit/get-besluit-configuration.component';\nimport {\n DatePickerModule,\n FormModule,\n InputModule,\n ParagraphModule,\n RadioModule,\n SelectModule,\n} from '@valtimo/components';\n\n@NgModule({\n declarations: [\n BesluitenApiConfigurationComponent,\n CreateZaakBesluitConfigurationComponent,\n PatchZaakBesluitConfigurationComponent,\n LinkDocumentToBesluitConfigurationComponent,\n GetBesluitConfigurationComponent,\n ],\n imports: [\n CommonModule,\n PluginTranslatePipeModule,\n FormModule,\n InputModule,\n SelectModule,\n DatePickerModule,\n ParagraphModule,\n RadioModule,\n LoadingModule,\n ButtonModule,\n DialogModule,\n IconModule,\n ],\n exports: [\n BesluitenApiConfigurationComponent,\n CreateZaakBesluitConfigurationComponent,\n PatchZaakBesluitConfigurationComponent,\n LinkDocumentToBesluitConfigurationComponent,\n GetBesluitConfigurationComponent,\n ],\n})\nexport class BesluitenApiPluginModule {}\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nconst BESLUITEN_API_PLUGIN_LOGO_BASE64 =\n 'data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB2aWV3Qm94PSIxNTAgMTUgOTYgNTAiPjxkZWZzPjxwYXRoIGlkPSJhIiBkPSJNNTcuMzk2LjIxMUguMjgxdjQ5LjQwNWg1Ny4xMTVWLjIxeiIvPjxwYXRoIGlkPSJjIiBkPSJNNTcuNTY0LjIxMUguNDQ4djQ5LjQwNWg1Ny4xMTZWLjIxeiIvPjwvZGVmcz48ZyBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDE4Ny45MzEgMTUpIj48bWFzayBpZD0iYiIgZmlsbD0iI2ZmZiI+PHVzZSB4bGluazpocmVmPSIjYSIvPjwvbWFzaz48cGF0aCBkPSJNNTcuMzk2IDI0LjkxM2MwLTEzLjU3My0xMS4wMDQtMjQuNjIyLTI0LjU2LTI0LjctLjAyNCAwLS4wNDgtLjAwMy0uMDczLS4wMDNIMjQuNzVhMi41MDQgMi41MDQgMCAxIDAgMCA1LjAxaDcuOTQ1YzEwLjg1OCAwIDE5LjY5NCA4LjgzNCAxOS42OTQgMTkuNjkzIDAgMTAuODYtOC44MzYgMTkuNjk0LTE5LjY5NCAxOS42OTRINS4yODl2LTQuNTc4SC4yODF2OS41ODdoMzIuNDgydi0uMDAxYzEzLjU5LS4wNCAyNC42MzMtMTEuMTA1IDI0LjYzMy0yNC43MDIiIGZpbGw9IiMwMDlGRTQiIG1hc2s9InVybCgjYikiLz48L2c+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTUwIDE1KSI+PG1hc2sgaWQ9ImQiIGZpbGw9IiNmZmYiPjx1c2UgeGxpbms6aHJlZj0iI2MiLz48L21hc2s+PHBhdGggZD0iTS40NDggMjQuOTEzYzAgMTMuNTczIDExLjAwNCAyNC42MjIgMjQuNTYgMjQuNy4wMjQgMCAuMDQ4LjAwMy4wNzMuMDAzaDguMDE0YTIuNTA0IDIuNTA0IDAgMSAwIDAtNS4wMDloLTcuOTQ0Yy0xMC44NTkgMC0xOS42OTQtOC44MzQtMTkuNjk0LTE5LjY5NCAwLTEwLjg1OSA4LjgzNS0xOS42OTQgMTkuNjk0LTE5LjY5NGgyNy40MDR2NC41NzhoNS4wMDlWLjIxSDI1LjA4di4wMDFDMTEuNDkuMjUxLjQ0OCAxMS4zMTYuNDQ4IDI0LjkxMyIgZmlsbD0iIzAwOUZFNCIgbWFzaz0idXJsKCNkKSIvPjwvZz48cGF0aCBmaWxsPSIjMDA0Mzg4IiBkPSJNMTc2LjAxNyA0Mi4xMTZsLTQuNjc4LTEyLjQwMWgtNS42NjRsOC4xNCAyMC4zNjZoMy45MjFsOC40MDEtMjAuMzY2aC01LjM2M3ptMjYuNTQyLjU1OGwtNy45MjgtMTIuOTU5aC02LjQxM3YyMC4zNjdoNC45OTdWMzYuNzg3bDguMTUgMTMuMjk1aDYuMTlWMjkuNzE1aC00Ljk5NnptMTkuMzIzLTQuOTR2NC42NjNoMy41Mzd2Mi42NzdhOS43NzMgOS43NzMgMCAwIDEtMS40MTQuNTRjLS42NTIuMjAzLTEuNDQzLjMwNi0yLjM1NC4zMDYtLjg4IDAtMS42ODYtLjE1LTIuMzk0LS40NDhhNS4zMzggNS4zMzggMCAwIDEtMS44MjQtMS4yNDcgNS41MjIgNS41MjIgMCAwIDEtMS4xNy0xLjg5NGMtLjI3Mi0uNzI5LS40MS0xLjU0OS0uNDEtMi40MzMgMC0uODY3LjEzOC0xLjY4MS40MS0yLjQyYTUuNTAyIDUuNTAyIDAgMCAxIDEuMTctMS45MDggNS4zNzQgNS4zNzQgMCAwIDEgMS44MjQtMS4yNDZjLjcwOS0uMjk4IDEuNTE0LS40NDkgMi4zOTQtLjQ0OSAxLjA2NCAwIDEuOTU5LjE1MSAyLjY1Ny40NDkuNy4yOTcgMS4zMzguNzQgMS44OTggMS4zMThsLjI0Mi4yNDggMy41MTUtMy44MzUtLjIzNy0uMjIxYTguOTIzIDguOTIzIDAgMCAwLTMuNjI3LTIuMDM4Yy0xLjM1LS4zODYtMi44NDctLjU4My00LjQ0OC0uNTgzLTEuNTcyIDAtMy4wNDQuMjUtNC4zNzMuNzQ1YTEwLjEzOSAxMC4xMzkgMCAwIDAtMy40ODEgMi4xNDNjLS45NzUuOTI4LTEuNzQ2IDIuMDY2LTIuMjkgMy4zODQtLjU0MyAxLjMxNS0uODE5IDIuOC0uODE5IDQuNDEzIDAgMS42MTMuMjc2IDMuMDk4LjgyIDQuNDEzLjU0NSAxLjMxOSAxLjMxNCAyLjQ1NyAyLjI4OSAzLjM4NC45NzQuOTI2IDIuMTQ2IDEuNjQ3IDMuNDggMi4xNDMgMS4zMy40OTQgMi44MDIuNzQ0IDQuMzc0Ljc0NCAxLjQ2NCAwIDIuOTItLjE1MiA0LjMzLS40NTJhMTYuMDU0IDE2LjA1NCAwIDAgMCA0LjA5LTEuNDc4bC4xNzctLjA5VjM3LjczM2gtOC4zNjZ6Ii8+PC9nPjwvc3ZnPg==';\n\nexport {BESLUITEN_API_PLUGIN_LOGO_BASE64};\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport * from './besluiten-api-plugin-logo';\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {PluginSpecification} from '../../models';\nimport {BesluitenApiConfigurationComponent} from './components/besluiten-api-configuration/besluiten-api-configuration.component';\nimport {BESLUITEN_API_PLUGIN_LOGO_BASE64} from './assets';\nimport {CreateZaakBesluitConfigurationComponent} from './components/create-zaak-besluit/create-zaak-besluit-configuration.component';\nimport {PatchZaakBesluitConfigurationComponent} from './components/patch-zaak-besluit/patch-zaak-besluit-configuration.component';\nimport {LinkDocumentToBesluitConfigurationComponent} from './components/link-document-to-besluit/link-document-to-besluit-configuration.component';\nimport {GetBesluitConfigurationComponent} from './components/get-besluit/get-besluit-configuration.component';\n\nconst besluitenApiPluginSpecification: PluginSpecification = {\n pluginId: 'besluitenapi',\n pluginConfigurationComponent: BesluitenApiConfigurationComponent,\n pluginLogoBase64: BESLUITEN_API_PLUGIN_LOGO_BASE64,\n functionConfigurationComponents: {\n 'create-besluit': CreateZaakBesluitConfigurationComponent,\n 'patch-besluit': PatchZaakBesluitConfigurationComponent,\n 'link-document-to-besluit': LinkDocumentToBesluitConfigurationComponent,\n 'get-besluit': GetBesluitConfigurationComponent,\n },\n pluginTranslations: {\n nl: {\n title: 'Besluiten API',\n rsin: 'RSIN',\n rsinTooltip: 'Rechtspersonen en Samenwerkingsverbanden Informatienummer',\n url: 'Besluiten API URL',\n urlTooltip: 'Een URL naar de REST API van Besluiten',\n description: 'API voor opslag en ontsluiting van besluiten en daarbij behorende metadata.',\n configurationTitle: 'Configuratienaam',\n configurationTitleTooltip:\n 'De naam van de huidige plugin-configuratie. Onder deze naam kan de configuratie in de rest van de applicatie teruggevonden worden.',\n authenticationPluginConfiguration: 'Configuratie authenticatie-plug-in',\n 'create-besluit': 'Zaakbesluit aanmaken',\n createZaakBesluitInformation: 'Deze actie creëert een zaakbesluit in de Besluiten API.',\n besluittypeUrl: 'Besluittype-URL',\n besluittypeUrlTooltip: 'URL-referentie naar het besluittype',\n toelichting: 'Toelichting',\n toelichtingTooltip: 'Toelichting bij het besluit.',\n bestuursorgaan: 'Bestuursorgaan',\n bestuursorgaanTooltip:\n 'Een orgaan van een rechtspersoon krachtens publiekrecht ingesteld of een persoon of college, met enig openbaar gezag bekleed onder wiens verantwoordelijkheid het besluit vastgesteld is.',\n ingangsdatum: 'Ingangsdatum',\n ingangsdatumTooltip:\n 'Ingangsdatum van de werkingsperiode van het besluit. Ondersteunt de value resolver, bijv: pv:ingangsdatum of doc:/besluit/ingangsdatum. Ondersteunende datum voorbeelden: 2024-04-01, 2024-04-01T12:10:00, 2024-04-01T12:10:06.069Z',\n vervaldatum: 'Vervaldatum',\n vervaldatumTooltip:\n 'Datum waarop de werkingsperiode van het besluit eindigt. Ondersteunt de value resolver, bijv: pv:vervaldatum of doc:/besluit/vervaldatum. Ondersteunende datum voorbeelden: 2024-04-01, 2024-04-01T12:10:00, 2024-04-01T12:10:06.069Z.',\n vervalreden: 'Vervalreden',\n vervalredenTooltip:\n 'De omschrijving die aangeeft op grond waarvan het besluit is of komt te vervallen. Mogelijke waarden: tijdelijk, ingetrokken_overheid, ingetrokken_belanghebbende',\n tijdelijk: 'Tijdelijk',\n ingetrokken_overheid: 'Ingetrokken door overheid',\n ingetrokken_belanghebbende: 'Ingetrokken door belanghebbende',\n publicatiedatum: 'Publicatiedatum',\n publicatiedatumTooltip: 'Datum waarop het besluit gepubliceerd wordt.',\n verzenddatum: 'Verzenddatum',\n verzenddatumTooltip: 'Datum waarop het besluit verzonden is.',\n uiterlijkeReactieDatum: 'Uiterlijke reactie datum',\n uiterlijkeReactieDatumTooltip: 'De datum tot wanneer verweer tegen het besluit mogelijk is.',\n besluitUrlProcessVariable: 'Naam procesvariabele met besluit URL',\n besluitUrlProcessVariableTooltip:\n 'Hier moet de naam van de procesvariabele ingevuld worden waarin de besluit URL lokaal staat opgeslagen',\n 'link-document-to-besluit': 'Link Document aan Besluit',\n linkDocumentToBesluitInformation:\n 'Deze actie linkt een document aan een zaakbesluit in de Besluiten API.',\n besluitUrl: 'Besluit URL',\n besluitUrlTooltip: 'URL-referentie naar het besluit',\n documentUrl: 'Document URL',\n documentUrlTooltip: 'URL-referentie naar het document',\n inputTypeBesluitToggle: 'Invoertype Besluit-URL',\n inputTypeStartingDateToggle: 'Invoertype Begindatum',\n inputTypeExpirationDateToggle: 'Invoertype vervaldatum',\n text: 'Tekst',\n selection: 'Selectie',\n caseDefinition: 'Dossierdefinitie',\n caseDefinitionTooltip:\n 'Selecteer de dossierdefinitie waarvan u een Besluit-type wilt selecteren. Als er slechts één besluittype beschikbaar is, wordt deze standaard geselecteerd.',\n besluittypeUrlSelect: 'Besluittype',\n besluittypeUrlSelectTooltip: 'Selecteer het besluittype.',\n 'patch-besluit': 'Zaakbesluit bijwerken',\n patchZaakBesluitInformation: 'Deze actie wijzigt een zaakbesluit in de Besluiten API.',\n beslisdatum: 'Beslisdatum',\n beslisdatumTooltip:\n 'De beslisdatum (AWB) van het besluit. Ondersteunt value resolver. Ondersteunende datum voorbeelden: 2024-04-01, 2024-04-01T12:10:00, 2024-04-01T12:10:06.069Z',\n addPatchBesluitProperty: 'Voeg nieuwe parameter toe',\n 'get-besluit': 'Besluit ophalen',\n resultProcessVariable: 'Resultaat process variable',\n resultProcessVariableTooltip:\n 'De naam van de procesvariabele waarin het resultaat moet worden opgeslagen.',\n },\n en: {\n title: 'Besluiten API',\n rsin: 'RSIN',\n rsinTooltip: 'Legal Entities and Partnerships Information Number',\n url: 'Besluiten API URL',\n urlTooltip: 'A URL to the REST API of Besluiten',\n description: 'API for storage and access to decisions and associated metadata.',\n configurationTitle: 'Configuration name',\n configurationTitleTooltip:\n 'The name of the current plugin configuration. Under this name, the configuration can be found in the rest of the application.',\n authenticationPluginConfiguration: 'Authentication plugin configuration',\n 'create-besluit': 'Create Zaakbesluit',\n createZaakBesluitInformation: 'This action creates a Zaakbesluit in the Besluiten API.',\n besluittypeUrl: 'Besluit type URL',\n besluittypeUrlTooltip: 'URL reference to the besluit type',\n toelichting: 'Explanation',\n toelichtingTooltip: 'Explanation to the besluit.',\n bestuursorgaan: 'Governing body',\n bestuursorgaanTooltip:\n 'A body of a legal person established under public law or a person or body with any public authority under whose responsibility the decision has been adopted.',\n ingangsdatum: 'Starting date',\n ingangsdatumTooltip:\n 'Commencement date of the effective period of the besluit. Supports the value resolver eg: pv:ingangsdatum or doc:/besluit/ingangsdatum. Supporting date format examples: 2024-04-01, 2024-04-01T12:10:00, 2024-04-01T12:10:06.069Z.',\n vervaldatum: 'Expiration date',\n vervaldatumTooltip:\n 'Date on which the period of operation of the besluit ends. Supports the value resolver eg: pv:vervaldatum or doc:/besluit/vervaldatum. Supporting date format examples: 2024-04-01, 2024-04-01T12:10:00, 2024-04-01T12:10:06.069Z.',\n vervalreden: 'Reason for expiry',\n vervalredenTooltip:\n 'The description that indicates on the basis of which the decision has been or will be cancelled. Possible value: tijdelijk, ingetrokken_overheid, ingetrokken_belanghebbende',\n tijdelijk: 'Temporary',\n ingetrokken_overheid: 'Withdrawn by government',\n ingetrokken_belanghebbende: 'Withdrawn by interested party',\n publicatiedatum: 'Publication date',\n publicatiedatumTooltip: 'Date on which the besluit is published.',\n verzenddatum: 'Shipment date',\n verzenddatumTooltip: 'Date on which the besluit was sent.',\n uiterlijkeReactieDatum: 'Response deadline',\n uiterlijkeReactieDatumTooltip:\n 'The date until which a defense against the decision is possible.',\n besluitUrlProcessVariable: 'Process variable name with besluit URL',\n besluitUrlProcessVariableTooltip:\n 'Here must be entered the name of the process variable in which the besluit URL is stored locally',\n 'link-document-to-besluit': 'Link Document to Besluit',\n linkDocumentToBesluitInformation:\n 'This action links a document to a zaakbesluit in the Besluiten API.',\n besluitUrl: 'Besluit URL',\n besluitUrlTooltip: 'URL reference to the besluit',\n documentUrl: 'Document URL',\n documentUrlTooltip: 'URL reference to the document',\n inputTypeBesluitToggle: 'Input type Besluit-URL',\n inputTypeStartingDateToggle: 'Input type start date',\n inputTypeExpirationDateToggle: 'Input type expiration date',\n text: 'Text',\n selection: 'Selection',\n caseDefinition: 'Case definition',\n caseDefinitionTooltip:\n 'Select the case definition from which you want to select a Besluit type. If only one Besluit type is available, it will be selected by default.',\n besluittypeUrlSelect: 'Besluittype',\n besluittypeUrlSelectTooltip: 'Select the Besluit type.',\n 'patch-besluit': 'Patch Zaakbesluit',\n patchZaakBesluitInformation: 'This action patches a Zaakbesluit in the Besluiten API.',\n beslisdatum: 'Decision date',\n beslisdatumTooltip:\n 'The decision date (AWB) of the decision. Supports value resolver. Supported date examples: 2024-04-01, 2024-04-01T12:10:00, 2024-04-01T12:10:06.069Z',\n addPatchBesluitProperty: 'Add besluit property',\n 'get-besluit': 'Retrieve besluit',\n resultProcessVariable: 'Result process variable',\n resultProcessVariableTooltip:\n 'The name of the process variable in which the result must be stored.',\n },\n },\n};\n\nexport {besluitenApiPluginSpecification};\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Injectable} from '@angular/core';\nimport {HttpClient} from '@angular/common/http';\nimport {ConfigService} from '@valtimo/shared';\nimport {Observable} from 'rxjs';\nimport ExactRefreshToken from './exact-refresh-token';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ExactPluginService {\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 exchangeAuthorizationCode(\n clientId: string,\n clientSecret: string,\n code: string\n ): Observable<ExactRefreshToken> {\n return this.http.post<ExactRefreshToken>(`${this.valtimoEndpointUri}v1/plugin/exact/exchange`, {\n clientId,\n clientSecret,\n code,\n });\n }\n}\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {PluginConfigurationComponent} from '../../../../models';\nimport {BehaviorSubject, combineLatest, Observable, Subscription, take} from 'rxjs';\nimport {ExactPluginService} from '../../exact-plugin.service';\nimport {ExactPluginConfig} from '../../exact-plugin';\nimport {Checkmark16} from '@carbon/icons';\nimport {IconService} from 'carbon-components-angular';\n\n@Component({\n standalone: false,\n selector: 'valtimo-exact-plugin-configuration',\n templateUrl: './exact-plugin-configuration.component.html',\n})\n// The component explicitly implements the PluginConfigurationComponent interface\nexport class ExactPluginConfigurationComponent\n implements PluginConfigurationComponent, OnInit, OnDestroy\n{\n @Input() save$: Observable<void>;\n @Input() disabled$: Observable<boolean>;\n @Input() pluginId: string;\n @Input() prefillConfiguration$: Observable<ExactPluginConfig>;\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() configuration: EventEmitter<ExactPluginConfig> = new EventEmitter<ExactPluginConfig>();\n\n private saveSubscription!: Subscription;\n private readonly formValue$ = new BehaviorSubject<ExactPluginConfig | null>(null);\n private readonly valid$ = new BehaviorSubject<boolean>(false);\n private storageCallbackFun!: (any) => void;\n\n constructor(\n private readonly exactPluginService: ExactPluginService,\n private readonly iconService: IconService\n ) {\n this.iconService.registerAll([Checkmark16]);\n }\n\n ngOnInit(): void {\n this.openSaveSubscription();\n this.storageCallbackFun = this.onReceiveToken.bind(this);\n window.addEventListener('storage', this.storageCallbackFun);\n }\n\n onReceiveToken(event): void {\n if (event.key === 'exactAuthorizationCode') {\n this.formValue$\n .pipe(take(1))\n .subscribe(formValue => {\n this.exchangeAuthorizationCode(formValue, localStorage.getItem('exactAuthorizationCode'));\n })\n .unsubscribe();\n }\n }\n\n ngOnDestroy() {\n this.saveSubscription?.unsubscribe();\n window.removeEventListener('storage', this.storageCallbackFun);\n }\n\n exchangeAuthorizationCode(formValue, code): void {\n this.exactPluginService\n .exchangeAuthorizationCode(formValue.clientId, formValue.clientSecret, code)\n .subscribe(response => {\n formValue.accessToken = response.accessToken;\n formValue.accessTokenExpiresOn = response.accessTokenExpiresOn;\n formValue.refreshToken = response.refreshToken;\n formValue.refreshTokenExpiresOn = response.refreshTokenExpiresOn;\n this.formValueChange(formValue);\n });\n }\n\n formValueChange(formValue: ExactPluginConfig): void {\n this.formValue$.next(formValue);\n this.handleValid(formValue);\n }\n\n openAuthenticationWindow(): void {\n this.formValue$\n .subscribe((formValue: ExactPluginConfig) => {\n const redirect_url = window.location.origin + '/plugins/exact/redirect';\n window.open(\n `https://start.exactonline.nl/api/oauth2/auth?client_id=${formValue.clientId}&redirect_uri=${redirect_url}&response_type=code&force_login=0`,\n '_blank'\n );\n })\n .unsubscribe();\n }\n\n private handleValid(formValue: ExactPluginConfig): void {\n const valid = !!(\n formValue.clientId &&\n formValue.clientSecret &&\n formValue.accessToken &&\n formValue.refreshToken\n );\n\n this.valid$.next(valid);\n this.valid.emit(valid);\n }\n\n private openSaveSubscription(): void {\n this.saveSubscription = this.save$?.subscribe(save => {\n combineLatest([this.formValue$, this.valid$])\n .pipe(take(1))\n .subscribe(([formValue, valid]) => {\n if (valid) {\n this.configuration.emit(formValue);\n }\n });\n });\n }\n}\n","<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null,\n } as obs\"\n>\n <v-input\n name=\"configurationTitle\"\n [title]=\"'configurationTitle' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.configurationTitle\"\n [required]=\"true\"\n [trim]=\"true\"\n [tooltip]=\"'configurationTitleTooltip' | pluginTranslate: pluginId | async\"\n >\n </v-input>\n <v-input\n name=\"clientId\"\n [title]=\"'clientId' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.clientId\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n [trim]=\"true\"\n ></v-input>\n <v-input\n name=\"clientSecret\"\n [title]=\"'clientSecret' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.clientSecret\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n >\n </v-input>\n\n <button cdsButton=\"secondary\" (click)=\"openAuthenticationWindow()\">\n <svg cdsIcon=\"close\" size=\"16\"></svg>\n Give authorization\n </button>\n</v-form>\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {BehaviorSubject, combineLatest, Observable, Subscription, take} from 'rxjs';\nimport {FunctionConfigurationComponent} from '../../../../models';\nimport ExactGetRequestConfiguration from './exact-get-request-configuration';\n\n@Component({\n standalone: false,\n selector: 'valtimo-exact-get-request-configuration',\n templateUrl: './exact-get-request-configuration.component.html',\n})\n// The component explicitly implements the PluginConfigurationComponent interface\nexport class ExactGetRequestConfigurationComponent\n implements FunctionConfigurationComponent, OnInit, OnDestroy\n{\n @Input() save$: Observable<void>;\n @Input() disabled$: Observable<boolean>;\n @Input() pluginId: string;\n @Input() prefillConfiguration$: Observable<ExactGetRequestConfiguration>;\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() configuration: EventEmitter<ExactGetRequestConfiguration> =\n new EventEmitter<ExactGetRequestConfiguration>();\n\n private saveSubscription!: Subscription;\n\n private readonly formValue$ = new BehaviorSubject<ExactGetRequestConfiguration | null>(null);\n private readonly valid$ = new BehaviorSubject<boolean>(false);\n\n formValues: any = null;\n\n ngOnInit(): void {\n this.openSaveSubscription();\n }\n\n ngOnDestroy() {\n this.saveSubscription?.unsubscribe();\n }\n\n formValueChange(input: any): void {\n const formValue: ExactGetRequestConfiguration = {\n properties: {\n uri: input.uri,\n bean: input.bean,\n },\n };\n\n this.formValue$.next(formValue);\n this.handleValid(formValue);\n }\n\n private handleValid(formValue: ExactGetRequestConfiguration): void {\n const valid = !!(formValue.properties.uri || formValue.properties.bean);\n\n this.valid$.next(valid);\n this.valid.emit(valid);\n }\n\n private openSaveSubscription(): void {\n this.saveSubscription = this.save$?.subscribe(save => {\n combineLatest([this.formValue$, this.valid$])\n .pipe(take(1))\n .subscribe(([formValue, valid]) => {\n if (valid) {\n this.configuration.emit(formValue);\n }\n });\n });\n }\n}\n","<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null,\n } as obs\"\n>\n <v-input\n name=\"uri\"\n type=\"text\"\n [title]=\"'uri' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.properties?.uri\"\n [required]=\"false\"\n [trim]=\"true\"\n [widthPx]=\"350\"\n ></v-input>\n\n <v-input\n name=\"bean\"\n type=\"text\"\n [title]=\"'bean' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.properties?.bean\"\n [required]=\"false\"\n [trim]=\"true\"\n [widthPx]=\"350\"\n ></v-input>\n</v-form>\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {BehaviorSubject, combineLatest, Observable, Subscription, take} from 'rxjs';\nimport {FunctionConfigurationComponent} from '../../../../models';\nimport ExactPutRequestConfiguration from './exact-put-request-configuration';\n\n@Component({\n standalone: false,\n selector: 'valtimo-exact-put-request-configuration',\n templateUrl: './exact-put-request-configuration.component.html',\n})\n// The component explicitly implements the PluginConfigurationComponent interface\nexport class ExactPutRequestConfigurationComponent\n implements FunctionConfigurationComponent, OnInit, OnDestroy\n{\n @Input() save$: Observable<void>;\n @Input() disabled$: Observable<boolean>;\n @Input() pluginId: string;\n @Input() prefillConfiguration$: Observable<ExactPutRequestConfiguration>;\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() configuration: EventEmitter<ExactPutRequestConfiguration> =\n new EventEmitter<ExactPutRequestConfiguration>();\n\n private saveSubscription!: Subscription;\n\n private readonly formValue$ = new BehaviorSubject<ExactPutRequestConfiguration | null>(null);\n private readonly valid$ = new BehaviorSubject<boolean>(false);\n\n formValues: any = null;\n\n ngOnInit(): void {\n this.openSaveSubscription();\n }\n\n ngOnDestroy() {\n this.saveSubscription?.unsubscribe();\n }\n\n formValueChange(input: any): void {\n const formValue: ExactPutRequestConfiguration = {\n properties: {\n uri: input.uri,\n content: input.content,\n bean: input.bean,\n },\n };\n\n this.formValue$.next(formValue);\n this.handleValid(formValue);\n }\n\n private handleValid(formValue: ExactPutRequestConfiguration): void {\n const valid = !!(\n (formValue.properties.uri && formValue.properties.content) ||\n formValue.properties.bean\n );\n\n this.valid$.next(valid);\n this.valid.emit(valid);\n }\n\n private openSaveSubscription(): void {\n this.saveSubscription = this.save$?.subscribe(save => {\n combineLatest([this.formValue$, this.valid$])\n .pipe(take(1))\n .subscribe(([formValue, valid]) => {\n if (valid) {\n this.configuration.emit(formValue);\n }\n });\n });\n }\n}\n","<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null,\n } as obs\"\n>\n <v-input\n name=\"uri\"\n type=\"text\"\n [title]=\"'uri' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.properties?.uri\"\n [required]=\"false\"\n [trim]=\"true\"\n [widthPx]=\"350\"\n ></v-input>\n\n <v-input\n name=\"content\"\n type=\"text\"\n [title]=\"'content' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.properties?.content\"\n [required]=\"false\"\n [widthPx]=\"350\"\n ></v-input>\n\n <v-input\n name=\"bean\"\n type=\"text\"\n [title]=\"'bean' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.properties?.bean\"\n [required]=\"false\"\n [widthPx]=\"350\"\n ></v-input>\n</v-form>\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {BehaviorSubject, combineLatest, Observable, Subscription, take} from 'rxjs';\nimport {FunctionConfigurationComponent} from '../../../../models';\nimport ExactPostRequestConfiguration from './exact-post-request-configuration';\n\n@Component({\n standalone: false,\n selector: 'valtimo-exact-post-request-configuration',\n templateUrl: './exact-post-request-configuration.component.html',\n})\n// The component explicitly implements the PluginConfigurationComponent interface\nexport class ExactPostRequestConfigurationComponent\n implements FunctionConfigurationComponent, OnInit, OnDestroy\n{\n @Input() save$: Observable<void>;\n @Input() disabled$: Observable<boolean>;\n @Input() pluginId: string;\n @Input() prefillConfiguration$: Observable<ExactPostRequestConfiguration>;\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() configuration: EventEmitter<ExactPostRequestConfiguration> =\n new EventEmitter<ExactPostRequestConfiguration>();\n\n private saveSubscription!: Subscription;\n\n private readonly formValue$ = new BehaviorSubject<ExactPostRequestConfiguration | null>(null);\n private readonly valid$ = new BehaviorSubject<boolean>(false);\n\n formValues: any = null;\n\n ngOnInit(): void {\n this.openSaveSubscription();\n }\n\n ngOnDestroy() {\n this.saveSubscription?.unsubscribe();\n }\n\n formValueChange(input: any): void {\n const formValue: ExactPostRequestConfiguration = {\n properties: {\n uri: input.uri,\n content: input.content,\n bean: input.bean,\n },\n };\n\n this.formValue$.next(formValue);\n this.handleValid(formValue);\n }\n\n private handleValid(formValue: ExactPostRequestConfiguration): void {\n const valid = !!(\n (formValue.properties.uri && formValue.properties.content) ||\n formValue.properties.bean\n );\n\n this.valid$.next(valid);\n this.valid.emit(valid);\n }\n\n private openSaveSubscription(): void {\n this.saveSubscription = this.save$?.subscribe(save => {\n combineLatest([this.formValue$, this.valid$])\n .pipe(take(1))\n .subscribe(([formValue, valid]) => {\n if (valid) {\n this.configuration.emit(formValue);\n }\n });\n });\n }\n}\n","<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null,\n } as obs\"\n>\n <v-input\n name=\"uri\"\n type=\"text\"\n [title]=\"'uri' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.properties?.uri\"\n [required]=\"false\"\n [trim]=\"true\"\n [widthPx]=\"350\"\n ></v-input>\n\n <v-input\n name=\"content\"\n type=\"text\"\n [title]=\"'content' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.properties?.content\"\n [required]=\"false\"\n [widthPx]=\"350\"\n ></v-input>\n\n <v-input\n name=\"bean\"\n type=\"text\"\n [title]=\"'bean' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.properties?.bean\"\n [required]=\"false\"\n [widthPx]=\"350\"\n ></v-input>\n</v-form>\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {PluginSpecification} from '../../models';\nimport {ExactPluginConfigurationComponent} from './components/exact-plugin-configuration/exact-plugin-configuration.component';\nimport {ExactGetRequestConfigurationComponent} from './components/exact-action-get-request-configuration/exact-get-request-configuration.component';\nimport {ExactPutRequestConfigurationComponent} from './components/exact-action-put-request-configuration/exact-put-request-configuration.component';\nimport {ExactPostRequestConfigurationComponent} from './components/exact-action-post-request-configuration/exact-post-request-configuration.component';\n\nconst exactPluginSpecification: PluginSpecification = {\n pluginId: 'exact',\n pluginConfigurationComponent: ExactPluginConfigurationComponent,\n pluginLogoBase64:\n 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAKgAAAAkCAMAAAAq54ElAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAACqVBMVEUAAADWIinZJCrZJirYJCrZJSvaJSv/AADXKCjcIyvWJCn/AADMMzPYJyfdKC3aJi3bJCrZJivXKCjRLi7XJSvZJivaJivYJSrZJSrZJivZJivZJSrXJC3YJivYJivYJSrZJinmGjPaJSvZJSvaJSvYJSvZJSq/QEDaJSrZJirYJyfaJSraJSvcIy7aJSvZJivaJSvZJivaJirdIiLZJircKSnZJirYJSvZJSvZJivYJSr/AADbJCTYJSvaJSvYJSvYJivaJSvSHi3ZJCvZJirbJivYJyvZJivaJSvYJyzaJSzYJSvXJSvYJCvZJirYJyfZJivaJSvZJibaJSrZJSrZJSvZJivYJSvYJSrbJirZJi3aJSvYJivVKyvZJivYJSvZJSvaJSrZJivYJCnYJSvZJivYJSvZJSrZJivaJSvYJyraJivWISnZJiraJSzfIDDYJivaJSvYJivYJivZJSveJyzXJSrXJCvYJyvYJynfICDYJivYJCrVKyvbJCzZJivYJSnZJivaJivYJSvZJizfJSvXJCvaJSvaJSnYJyvZJivaJSvbJivbJCvaJSzaJSrZJSrYJivYJSrbJCTYJivZJirZJirbJivZJivYJCvZJSraJSnZJivZJirZJirZJinaJinZJiraJSvjHBzaJSrYJyrhJCvYJSvZJirZJSrZJivZJSrZJivXJCzbJCrbJirZJivYJSraJSnZJiraJSvYJiraJSzbJCTXJC3bJC7dIivYJirZJivZJivZJivXKCjbJiraJivYJivZJirYJSrZJivZJivZJirYJSrZJivaJSvaJSrbJiraJivVICvYJSrWIinWKSmqVVXVJCrbJCrYJSneJyfZJSnbJC7ZJCrZJi/ZJinYJSnaJCvVJCvYJSndKSnZJCr////a6T7OAAAA4nRSTlMARL2vW/zpAhMkMgEFJy0iMe0mC1qa16T4PFj3OfnSnVcKWZnWsrsEdOwN1OEW73LjZOsPvSzyuNCungMOv2B9nNsRfrx+Ql/1NCl8U1TlGmuPFPH5tGyll4Yo8L4Mp5am2udprPPGzzWET+4fw0wQ+92V+p8uZ007YwjLYhIjoG9liHZRMEfce0iU1Y0qRZLOxasHxKm1k5t3wqaoeT1dREPiCdNWKrm2yV7HakYrgKGYPuaJqksVPxweo3jR0iCFZsxJsfSB2Wg29pGM5BhuJRkDK1uXJ6AyeRtRfY8qgiWT0Pv9JgAAAAFiS0dE4sYBnhwAAAAHdElNRQfiChMHJTUkS/K4AAAEWklEQVRYw+2Y90MURxTHX/RWNHeiWCIiZwXRCBgwFMEGoiIWRDSKgJpY46mgZ+8NeyWxJxqikdgSNBoS0iyxd43GXv4Tb2/ezM4uO8Oe7g/+4Ptp3vu+efvZ29mZtwfwbtoHtfxWG951cyh+q/Me9D1oABZUt96HvDnBRYf1dYnBGG0A4NTNaNigrstC7XoaaAiNNbII2bhJ048Ug/mu2QyHoc253DAMtggHcBknuVu2am2AbdO2XYQuJ1IDZdbeEmZUh45KdfNd7+NOOI6OYcn1YzHWGUxAVfskjq/dOd6ovzFol0/NLqeCQkIiOklB9PdJxkhXpwhUUVJSae1u7aurbwrq6q4IQaEH9Xpidi/009JBDKr0pr9nhmIfaB9FAsrA3H39bj90M/uDDNSdRWoPUCyDDhwkMPp+xCRKQdmjHpzNL4UhIAVVcvzy0FzroMNEpYYj6GcsEjFiZB5nuM5G5aNcEAWF9OUajZNT+Ql5Y8Z+Tmt94ZfHsdrR47Xa/TTQCTQWVzPoRPQnTRYsDbodKV+y7Sqim2gdTfFgylTVm0b3gek1b/g1gRYVE3dGunARz8QZ3lk4mDBbvOLnYM5cdTvB2omj4O1B56E7X3ztBQsNUyW5UOgmOYt843D2KGwAxV+geLHk4ktCdDOXSjeRNJK0zDdcjhOC7QBdQbzclXqL05VdVcxNbNnYeLCVrOZ2kzUka61PyCPDfKcV0LjlAltH9PXmt7FBX3ejpuRu0kubI033twE+aQsZbrWle1pqDhphOL22McWhE4pKBQ9MBU3Bfc0W0FJLoFDCNsSvdO/Z14oEdDsZ7rAFdLQlUGckU3by8RWKDHQENjS2gO6yBLqbk1prYfMjkoG2I8M9lkD3fiOwb4meY+Vl2hfKSbFav79fkYLiK5gGdmxP2Dtlflems3C+asz3upnJB6jQFCNjyrQPjYMaaE9spdrYAfoDuockH1Plhqm7qPIj8bfz2Yc10EHccfrWoIfQ3SgG7Y0p8fTQV46gcpS4xwSgWZheXr1mE+wCnJZBXdjFtTgu4izz4ik7NygJ5yb+RKQC4v4sAI2in1cdqndZqDSyDAoVtCk/cbKLGWf2L5hwyrdYo3HcqdCvncYHmGAOCrNYr/xrpb7qb7Rh/t0y6Dou5o3nrIoc5PSLao/a8Tenr/8ffvFPepN/lTPzcKCbTWurJ1U2i3tIENJFVkib9L8Fd/KPXz5DW3Zy6yupelb1Gsq3J0hNNpPOqdIaQ9DClr/PLQE9j32TF5ew819UL5SoboYcFOaFikD7BA4KQ8SgVXXQuUiTF8/AyCV1RQfny0HhcrEAtHJw4KDgiBWAsqYpg/2jAFeuYuy0urWc98hBISzWHBRO5gcOCtnXPKag13F44yaXfIsm3FK92129UlC4kxNiCgpZBYGDAty999/aU/creBsKD/7H4UNdJ/UIo70I/uMnT5+lVBhtClf7uUNX+wUVXjpevKKXeA1u5WsFezws2AAAACV0RVh0ZGF0ZTpjcmVhdGUAMjAxOC0xMC0xOVQwNzozNzo1MyswMDowMIPF6M0AAAAldEVYdGRhdGU6bW9kaWZ5ADIwMTgtMTAtMTlUMDc6Mzc6NTMrMDA6MDDymFBxAAAAAElFTkSuQmCC',\n functionConfigurationComponents: {\n 'exact-get-request': ExactGetRequestConfigurationComponent,\n 'exact-post-request': ExactPostRequestConfigurationComponent,\n 'exact-put-request': ExactPutRequestConfigurationComponent,\n },\n pluginTranslations: {\n nl: {\n title: 'Exact Plugin',\n description: 'Plugin to set up Exact API connection',\n configurationTitle: 'Configuratienaam',\n clientId: 'Client Id',\n clientSecret: 'Client Secret',\n 'exact-get-request': 'Exact GET request',\n 'exact-post-request': 'Exact POST request',\n 'exact-put-request': 'Exact PUT request',\n uri: 'URI',\n bean: 'Service class',\n content: 'Bericht',\n },\n en: {\n title: 'Exact Plugin',\n description: 'Plugin to set up Exact API connection',\n configurationTitle: 'Configuratienaam',\n clientId: 'Client Id',\n clientSecret: 'Client Secret',\n 'exact-get-request': 'Exact GET request',\n 'exact-post-request': 'Exact POST request',\n 'exact-put-request': 'Exact PUT request',\n uri: 'URI',\n bean: 'Service class',\n content: 'Content',\n },\n },\n};\n\nexport {exactPluginSpecification};\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, OnInit} from '@angular/core';\nimport {ActivatedRoute} from '@angular/router';\n\n@Component({\n standalone: false,\n selector: 'valtimo-exact-redirect',\n templateUrl: './exact-redirect.component.html',\n})\nexport class ExactRedirectComponent implements OnInit {\n constructor(private route: ActivatedRoute) {}\n\n ngOnInit(): void {\n this.route.queryParams.subscribe(params => {\n localStorage.setItem('exactAuthorizationCode', params.code);\n window.close();\n });\n }\n}\n","<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<p>You can close this page.</p>\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {NgModule} from '@angular/core';\nimport {RouterModule, Routes} from '@angular/router';\nimport {CommonModule} from '@angular/common';\nimport {AuthGuardService} from '@valtimo/security';\nimport {ROLE_ADMIN} from '@valtimo/shared';\nimport {ExactRedirectComponent} from './components/exact-redirect/exact-redirect.component';\n\nconst routes: Routes = [\n {\n path: 'plugins/exact/redirect',\n component: ExactRedirectComponent,\n canActivate: [AuthGuardService],\n data: {title: 'Exact Redirect', roles: [ROLE_ADMIN]},\n },\n];\n\n@NgModule({\n declarations: [],\n imports: [CommonModule, RouterModule.forChild(routes)],\n exports: [RouterModule],\n})\nexport class ExactPluginRoutingModule {}\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {NgModule} from '@angular/core';\nimport {CommonModule} from '@angular/common';\nimport {FormModule, InputModule} from '@valtimo/components';\nimport {PluginTranslatePipeModule} from '../../pipes';\nimport {ExactPluginRoutingModule} from './exact-plugin-routing.module';\nimport {ExactGetRequestConfigurationComponent} from './components/exact-action-get-request-configuration/exact-get-request-configuration.component';\nimport {ExactPostRequestConfigurationComponent} from './components/exact-action-post-request-configuration/exact-post-request-configuration.component';\nimport {ExactPutRequestConfigurationComponent} from './components/exact-action-put-request-configuration/exact-put-request-configuration.component';\nimport {ExactPluginConfigurationComponent} from './components/exact-plugin-configuration/exact-plugin-configuration.component';\nimport {ExactRedirectComponent} from './components/exact-redirect/exact-redirect.component';\nimport {ButtonModule, IconModule} from 'carbon-components-angular';\n\n@NgModule({\n declarations: [\n ExactGetRequestConfigurationComponent,\n ExactPostRequestConfigurationComponent,\n ExactPutRequestConfigurationComponent,\n ExactPluginConfigurationComponent,\n ExactRedirectComponent,\n ],\n imports: [\n CommonModule,\n ExactPluginRoutingModule,\n PluginTranslatePipeModule,\n FormModule,\n InputModule,\n ButtonModule,\n ExactPluginRoutingModule,\n IconModule,\n ],\n exports: [],\n})\nexport class ExactPluginModule {}\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*\n * Public API Surface of plugin\n */\n\nexport * from './lib/services';\nexport * from './lib/models';\nexport * from './lib/pipes';\nexport * from './lib/constants';\n/* plugin configuration container */\nexport * from './lib/components/plugin-configuration-container/plugin-configuration-container.component';\nexport * from './lib/components/plugin-configuration-container/plugin-configuration-container.module';\n/* open-zaak plugin */\nexport * from './lib/plugins/open-zaak/open-zaak-plugin.module';\nexport * from './lib/plugins/open-zaak/components/open-zaak-configuration/open-zaak-configuration.component';\nexport * from './lib/plugins/open-zaak/open-zaak-plugin.specification';\n/* object token authentication plugin */\nexport * from './lib/plugins/object-token-authentication/object-token-authentication-plugin.module';\nexport * from './lib/plugins/object-token-authentication/object-token-authentication-plugin.specification';\nexport * from './lib/plugins/object-token-authentication/components/object-token-authentication-configuration/object-token-authencation-configuration.component';\n/* smart-documents plugin */\nexport * from './lib/plugins/smart-documents/smart-documents-plugin.module';\nexport * from './lib/plugins/smart-documents/smart-documents-plugin.specification';\nexport * from './lib/plugins/smart-documents/components/smart-documents-configuration/smart-documents-configuration.component';\nexport * from './lib/plugins/smart-documents/components/generate-document-configuration/generate-document-configuration.component';\nexport * from './lib/plugins/smart-documents/components/get-template-names/get-template-names.component';\n/* documenten api plugin */\nexport * from './lib/plugins/documenten-api/documenten-api-plugin.module';\nexport * from './lib/plugins/documenten-api/documenten-api-plugin.specification';\nexport * from './lib/plugins/documenten-api/models/config';\nexport * from './lib/plugins/documenten-api/components/store-temp-document/store-temp-document-configuration.component';\nexport * from './lib/plugins/documenten-api/components/documenten-api-configuration/documenten-api-configuration.component';\nexport * from './lib/plugins/documenten-api/components/store-uploaded-document/store-uploaded-document-configuration.component';\nexport * from './lib/plugins/documenten-api/components/download-document/download-document-configuration.component';\nexport * from './lib/plugins/documenten-api/components/store-uploaded-document-in-parts/store-uploaded-document-in-parts-configuration.component';\n/* iko plugin */\nexport * from './lib/plugins/iko/iko-plugin.module';\nexport * from './lib/plugins/iko/iko-plugin.specification';\nexport * from './lib/plugins/iko/models/config';\nexport * from './lib/plugins/iko/components/iko-configuration/iko-configuration.component';\n/* klantinteracties api plugin */\nexport * from './lib/plugins/klantinteracties-api/klantinteracties-api-plugin-module';\nexport * from './lib/plugins/klantinteracties-api/klantinteracties-api-plugin.specification';\nexport * from './lib/plugins/klantinteracties-api/components/klantinteracties-api-configuration/klantinteracties-api-configuration.component';\nexport * from './lib/plugins/klantinteracties-api/components/create-persoon/create-persoon.component';\n/* objecttypen api plugin */\nexport * from './lib/plugins/objecttypen-api/objecttypen-api-plugin-module';\nexport * from './lib/plugins/objecttypen-api/objecttypen-api-plugin.specification';\nexport * from './lib/plugins/objecttypen-api/components/objecttypen-api-configuration/objecttypen-api-configuration.component';\n/* open-klant plugin */\nexport * from './lib/plugins/open-klant-token-authentication/open-klant-token-authentication-plugin.module';\nexport * from './lib/plugins/open-klant-token-authentication/open-klant-token-authentication-plugin.specification';\nexport * from './lib/plugins/open-klant-token-authentication/components/open-klant-token-authentication-configuration/open-klant-token-authentication-configuration.component';\n/* zaken api plugin */\nexport * from './lib/plugins/zaken-api/zaken-api-plugin.module';\nexport * from './lib/plugins/zaken-api/zaken-api-plugin.specification';\nexport * from './lib/plugins/zaken-api/components/zaken-api-configuration/zaken-api-configuration.component';\nexport * from './lib/plugins/zaken-api/components/link-document-to-zaak/link-document-to-zaak-configuration.component';\nexport * from './lib/plugins/zaken-api/components/set-zaak-status/set-zaak-status-configuration.component';\nexport * from './lib/plugins/zaken-api/components/create-zaak-resultaat/create-zaak-resultaat-configuration.component';\nexport * from './lib/plugins/zaken-api/components/link-uploaded-document-to-zaak/link-uploaded-document-to-zaak-configuration.component';\nexport * from './lib/plugins/zaken-api/components/create-natuurlijk-persoon-zaak-rol/create-natuurlijk-persoon-zaak-rol.component';\nexport * from './lib/plugins/zaken-api/components/create-niet-natuurlijk-persoon-zaak-rol/create-niet-natuurlijk-persoon-zaak-rol.component';\nexport * from './lib/plugins/zaken-api/components/create-medewerker-zaak-rol/create-medewerker-zaak-rol.component';\nexport * from './lib/plugins/zaken-api/components/create-organisatorische-eenheid-zaak-rol/create-organisatorische-eenheid-zaak-rol.component';\nexport * from './lib/plugins/zaken-api/components/create-vestiging-zaak-rol/create-vestiging-zaak-rol.component';\nexport * from './lib/plugins/zaken-api/components/create-zaak/create-zaak-configuration.component';\nexport * from './lib/plugins/zaken-api/components/patch-zaak/patch-zaak-configuration.component';\nexport * from './lib/plugins/zaken-api/components/set-zaakopschorting/set-zaakopschorting.component';\nexport * from './lib/plugins/zaken-api/components/start-hersteltermijn/start-hersteltermijn-configuration.component';\nexport * from './lib/plugins/zaken-api/components/end-hersteltermijn/end-hersteltermijn.component';\nexport * from './lib/plugins/zaken-api/components/create-zaakeigenschap/create-zaakeigenschap.component';\nexport * from './lib/plugins/zaken-api/components/update-zaakeigenschap/update-zaakeigenschap.component';\nexport * from './lib/plugins/zaken-api/components/delete-zaakeigenschap/delete-zaakeigenschap.component';\nexport * from './lib/plugins/zaken-api/components/create-zaak-object/create-zaak-object-configuration.component';\nexport * from './lib/plugins/zaken-api/components/relateer-zaken/relateer-zaken.component';\nexport * from './lib/plugins/zaken-api/components/get-zaak-informatieobjecten/get-zaak-informatieobjecten.component';\nexport * from './lib/plugins/zaken-api/components/delete-zaak-rol/delete-zaak-rol.component'\nexport * from './lib/plugins/zaken-api/components/delete-zaak-rol/delete-zaak-rol.component';\nexport * from './lib/plugins/zaken-api/components/get-zaakbesluiten/get-zaakbesluiten-configuration.component';\nexport * from './lib/plugins/zaken-api/components/create-zaaknotitie/create-zaaknotitie-configuration.component';\nexport * from './lib/plugins/zaken-api/components/patch-zaaknotitie/patch-zaaknotitie-configuration.component';\n/* objecten api plugin */\nexport * from './lib/plugins/objecten-api/objecten-api-plugin-module';\nexport * from './lib/plugins/objecten-api/objecten-api-plugin.specification';\nexport * from './lib/plugins/objecten-api/components/objecten-api-configuration/objecten-api-configuration.component';\nexport * from './lib/plugins/objecten-api/components/delete-object/delete-object.component';\n/* catalogi api plugin */\nexport * from './lib/plugins/catalogi-api/catalogi-api-plugin-module';\nexport * from './lib/plugins/catalogi-api/catalogi-api-plugin.specification';\nexport * from './lib/plugins/catalogi-api/components/catalogi-api-configuration/catalogi-api-configuration.component';\nexport * from './lib/plugins/catalogi-api/components/get-besluittype/get-besluittype-configuration.component';\nexport * from './lib/plugins/catalogi-api/components/get-resultaattypen/get-resultaattypen-configuration.component';\nexport * from './lib/plugins/catalogi-api/components/get-resultaattype/get-resultaattype-configuration.component';\nexport * from './lib/plugins/catalogi-api/components/get-statustypen/get-statustypen-configuration.component';\nexport * from './lib/plugins/catalogi-api/components/get-statustype/get-statustype-configuration.component';\nexport * from './lib/plugins/catalogi-api/components/get-eigenschap/get-eigenschap-configuration.component';\n/* notificaties api plugin */\nexport * from './lib/plugins/notificaties-api/notificaties-api-plugin.module';\nexport * from './lib/plugins/notificaties-api/notificaties-api-plugin.specification';\nexport * from './lib/plugins/notificaties-api/components/notificaties-api-configuration/notificaties-api-configuration.component';\n/* notificaties api authentication plugin */\nexport * from './lib/plugins/notificaties-api-authentication/open-notificaties-plugin.module';\nexport * from './lib/plugins/notificaties-api-authentication/open-notificaties-plugin.specification';\nexport * from './lib/plugins/notificaties-api-authentication/components/open-notificaties-configuration/open-notificaties-configuration.component';\n/* portaaltaak plugin */\nexport * from './lib/plugins/portaaltaak/portaaltaak-plugin.module';\nexport * from './lib/plugins/portaaltaak/portaaltaak-plugin.specification';\nexport * from './lib/plugins/portaaltaak/components/portaaltaak-configuration/portaaltaak-configuration.component';\nexport * from './lib/plugins/portaaltaak/components/create-portal-task/create-portal-task.component';\nexport * from './lib/plugins/portaaltaak/components/complete-portal-task/complete-portal-task.component';\n/* verzoek plugin */\nexport * from './lib/plugins/verzoek/verzoek-plugin.module';\nexport * from './lib/plugins/verzoek/verzoek-plugin.specification';\nexport * from './lib/plugins/verzoek/components/verzoek-configuration/verzoek-configuration.component';\n/* besluiten plugin */\nexport * from './lib/plugins/besluiten-api/besluiten-api-plugin.module';\nexport * from './lib/plugins/besluiten-api/besluiten-api-plugin.specification';\nexport * from './lib/plugins/besluiten-api/components/besluiten-api-configuration/besluiten-api-configuration.component';\nexport * from './lib/plugins/besluiten-api/components/create-zaak-besluit/create-zaak-besluit-configuration.component';\nexport * from './lib/plugins/besluiten-api/components/patch-zaak-besluit/patch-zaak-besluit-configuration.component';\nexport * from './lib/plugins/besluiten-api/components/link-document-to-besluit/link-document-to-besluit-configuration.component';\nexport * from './lib/plugins/besluiten-api/components/get-besluit/get-besluit-configuration.component';\n/* exact */\nexport * from './lib/plugins/exact/exact.plugin.specification';\nexport * from './lib/plugins/exact/exact-plugin.module';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1","i2.PluginService","i4","i1.PluginTranslationService","isValidUUID","i2","i3","i1.PluginService","i5.DefaultPluginConfigurationComponent","i6","i3.PluginTranslatePipe","map","i1.PluginManagementService","i3.DocumentenApiService","i5","i6.PluginTranslatePipe","i2.PluginTranslationService","i5.PluginTranslatePipe","tap","i1.ZakenApiService","i2.PluginTranslatePipe","i7","i4.PluginTranslatePipe","i2.ZakenApiService","i7.PluginTranslatePipe","i1.PluginTranslatePipe","i2.ObjectService","i3.VerzoekPluginService","i8.PluginTranslatePipe","CarbonInputModule","CarbonButtonModule","i5.BesluitenApiService","i8","i9.PluginTranslatePipe","DatePickerModule","i1.ExactPluginService"],"mappings":"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"}