@valtimo/plugin 12.14.0 → 13.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (258) hide show
  1. package/fesm2022/valtimo-plugin.mjs +837 -911
  2. package/fesm2022/valtimo-plugin.mjs.map +1 -1
  3. package/lib/components/default-plugin-configuration/default-plugin-configuration.component.d.ts.map +1 -1
  4. package/lib/components/plugin-configuration-container/plugin-configuration-container.component.d.ts +3 -1
  5. package/lib/components/plugin-configuration-container/plugin-configuration-container.component.d.ts.map +1 -1
  6. package/lib/models/plugin.d.ts +2 -0
  7. package/lib/models/plugin.d.ts.map +1 -1
  8. package/lib/pipes/plugin-translate/plugin-translate.pipe.d.ts.map +1 -1
  9. package/lib/plugins/besluiten-api/components/besluiten-api-configuration/besluiten-api-configuration.component.d.ts.map +1 -1
  10. package/lib/plugins/besluiten-api/components/create-zaak-besluit/create-zaak-besluit-configuration.component.d.ts +10 -12
  11. package/lib/plugins/besluiten-api/components/create-zaak-besluit/create-zaak-besluit-configuration.component.d.ts.map +1 -1
  12. package/lib/plugins/besluiten-api/components/link-document-to-besluit/link-document-to-besluit-configuration.component.d.ts.map +1 -1
  13. package/lib/plugins/besluiten-api/services/besluiten-api.service.d.ts +2 -2
  14. package/lib/plugins/besluiten-api/services/besluiten-api.service.d.ts.map +1 -1
  15. package/lib/plugins/catalogi-api/components/catalogi-api-configuration/catalogi-api-configuration.component.d.ts.map +1 -1
  16. package/lib/plugins/catalogi-api/components/get-besluittype/get-besluittype-configuration.component.d.ts.map +1 -1
  17. package/lib/plugins/catalogi-api/components/get-eigenschap/get-eigenschap-configuration.component.d.ts +0 -15
  18. package/lib/plugins/catalogi-api/components/get-eigenschap/get-eigenschap-configuration.component.d.ts.map +1 -1
  19. package/lib/plugins/catalogi-api/components/get-resultaattype/get-resultaattype-configuration.component.d.ts.map +1 -1
  20. package/lib/plugins/catalogi-api/components/get-statustype/get-statustype-configuration.component.d.ts.map +1 -1
  21. package/lib/plugins/catalogi-api/models/config.d.ts +1 -1
  22. package/lib/plugins/catalogi-api/models/config.d.ts.map +1 -1
  23. package/lib/plugins/documenten-api/components/documenten-api-configuration/documenten-api-configuration.component.d.ts.map +1 -1
  24. package/lib/plugins/documenten-api/components/download-document/download-document-configuration.component.d.ts.map +1 -1
  25. package/lib/plugins/documenten-api/components/store-temp-document/store-temp-document-configuration.component.d.ts +1 -1
  26. package/lib/plugins/documenten-api/components/store-temp-document/store-temp-document-configuration.component.d.ts.map +1 -1
  27. package/lib/plugins/documenten-api/components/store-uploaded-document/store-uploaded-document-configuration.component.d.ts.map +1 -1
  28. package/lib/plugins/documenten-api/components/store-uploaded-document-in-parts/store-uploaded-document-in-parts-configuration.component.d.ts.map +1 -1
  29. package/lib/plugins/documenten-api/services/documenten-api.service.d.ts +1 -1
  30. package/lib/plugins/exact/components/exact-action-get-request-configuration/exact-get-request-configuration.component.d.ts.map +1 -1
  31. package/lib/plugins/exact/components/exact-action-post-request-configuration/exact-post-request-configuration.component.d.ts.map +1 -1
  32. package/lib/plugins/exact/components/exact-action-put-request-configuration/exact-put-request-configuration.component.d.ts.map +1 -1
  33. package/lib/plugins/exact/components/exact-plugin-configuration/exact-plugin-configuration.component.d.ts +4 -2
  34. package/lib/plugins/exact/components/exact-plugin-configuration/exact-plugin-configuration.component.d.ts.map +1 -1
  35. package/lib/plugins/exact/components/exact-redirect/exact-redirect.component.d.ts.map +1 -1
  36. package/lib/plugins/exact/exact-plugin.module.d.ts +2 -1
  37. package/lib/plugins/exact/exact-plugin.module.d.ts.map +1 -1
  38. package/lib/plugins/exact/exact-plugin.service.d.ts +1 -1
  39. package/lib/plugins/notificaties-api/components/notificaties-api-configuration/notificaties-api-configuration.component.d.ts.map +1 -1
  40. package/lib/plugins/notificaties-api-authentication/components/open-notificaties-configuration/open-notificaties-configuration.component.d.ts.map +1 -1
  41. package/lib/plugins/object-token-authentication/components/object-token-authentication-configuration/object-token-authencation-configuration.component.d.ts.map +1 -1
  42. package/lib/plugins/objecten-api/components/delete-object/delete-object.component.d.ts.map +1 -1
  43. package/lib/plugins/objecten-api/components/objecten-api-configuration/objecten-api-configuration.component.d.ts.map +1 -1
  44. package/lib/plugins/objecttypen-api/components/objecttypen-api-configuration/objecttypen-api-configuration.component.d.ts.map +1 -1
  45. package/lib/plugins/open-zaak/components/open-zaak-configuration/open-zaak-configuration.component.d.ts.map +1 -1
  46. package/lib/plugins/portaaltaak/components/complete-portal-task/complete-portal-task.component.d.ts.map +1 -1
  47. package/lib/plugins/portaaltaak/components/create-portal-task/create-portal-task.component.d.ts.map +1 -1
  48. package/lib/plugins/portaaltaak/components/portaaltaak-configuration/portaaltaak-configuration.component.d.ts.map +1 -1
  49. package/lib/plugins/portaaltaak/services/object.service.d.ts +1 -1
  50. package/lib/plugins/smart-documents/components/generate-document-configuration/generate-document-configuration.component.d.ts.map +1 -1
  51. package/lib/plugins/smart-documents/components/get-template-names/get-template-names.component.d.ts.map +1 -1
  52. package/lib/plugins/smart-documents/components/smart-documents-configuration/smart-documents-configuration.component.d.ts.map +1 -1
  53. package/lib/plugins/verzoek/components/verzoek-configuration/verzoek-configuration.component.d.ts +12 -6
  54. package/lib/plugins/verzoek/components/verzoek-configuration/verzoek-configuration.component.d.ts.map +1 -1
  55. package/lib/plugins/verzoek/models/config.d.ts +2 -1
  56. package/lib/plugins/verzoek/models/config.d.ts.map +1 -1
  57. package/lib/plugins/verzoek/models/verzoek.d.ts +8 -1
  58. package/lib/plugins/verzoek/models/verzoek.d.ts.map +1 -1
  59. package/lib/plugins/verzoek/services/verzoek-plugin.service.d.ts +6 -3
  60. package/lib/plugins/verzoek/services/verzoek-plugin.service.d.ts.map +1 -1
  61. package/lib/plugins/verzoek/verzoek-plugin.module.d.ts +1 -1
  62. package/lib/plugins/verzoek/verzoek-plugin.specification.d.ts.map +1 -1
  63. package/lib/plugins/zaken-api/components/create-natuurlijk-persoon-zaak-rol/create-natuurlijk-persoon-zaak-rol.component.d.ts.map +1 -1
  64. package/lib/plugins/zaken-api/components/create-niet-natuurlijk-persoon-zaak-rol/create-niet-natuurlijk-persoon-zaak-rol.component.d.ts.map +1 -1
  65. package/lib/plugins/zaken-api/components/create-zaak/create-zaak-configuration.component.d.ts +3 -1
  66. package/lib/plugins/zaken-api/components/create-zaak/create-zaak-configuration.component.d.ts.map +1 -1
  67. package/lib/plugins/zaken-api/components/create-zaak-resultaat/create-zaak-resultaat-configuration.component.d.ts +8 -13
  68. package/lib/plugins/zaken-api/components/create-zaak-resultaat/create-zaak-resultaat-configuration.component.d.ts.map +1 -1
  69. package/lib/plugins/zaken-api/components/create-zaakeigenschap/create-zaakeigenschap.component.d.ts +13 -17
  70. package/lib/plugins/zaken-api/components/create-zaakeigenschap/create-zaakeigenschap.component.d.ts.map +1 -1
  71. package/lib/plugins/zaken-api/components/delete-zaakeigenschap/delete-zaakeigenschap.component.d.ts +13 -20
  72. package/lib/plugins/zaken-api/components/delete-zaakeigenschap/delete-zaakeigenschap.component.d.ts.map +1 -1
  73. package/lib/plugins/zaken-api/components/end-hersteltermijn/end-hersteltermijn.component.d.ts.map +1 -1
  74. package/lib/plugins/zaken-api/components/link-document-to-zaak/link-document-to-zaak-configuration.component.d.ts.map +1 -1
  75. package/lib/plugins/zaken-api/components/link-uploaded-document-to-zaak/link-uploaded-document-to-zaak-configuration.component.d.ts.map +1 -1
  76. package/lib/plugins/zaken-api/components/relateer-zaken/relateer-zaken.component.d.ts.map +1 -1
  77. package/lib/plugins/zaken-api/components/set-zaak-status/set-zaak-status-configuration.component.d.ts +11 -16
  78. package/lib/plugins/zaken-api/components/set-zaak-status/set-zaak-status-configuration.component.d.ts.map +1 -1
  79. package/lib/plugins/zaken-api/components/set-zaakopschorting/set-zaakopschorting.component.d.ts.map +1 -1
  80. package/lib/plugins/zaken-api/components/start-hersteltermijn/start-hersteltermijn-configuration.component.d.ts.map +1 -1
  81. package/lib/plugins/zaken-api/components/update-zaakeigenschap/update-zaakeigenschap.component.d.ts +12 -19
  82. package/lib/plugins/zaken-api/components/update-zaakeigenschap/update-zaakeigenschap.component.d.ts.map +1 -1
  83. package/lib/plugins/zaken-api/components/zaken-api-configuration/zaken-api-configuration.component.d.ts.map +1 -1
  84. package/lib/plugins/zaken-api/models/create-zaak-properties.d.ts.map +1 -1
  85. package/lib/plugins/zaken-api/services/zaken-api.service.d.ts +4 -4
  86. package/lib/plugins/zaken-api/services/zaken-api.service.d.ts.map +1 -1
  87. package/lib/plugins/zaken-api/zaken-api-plugin.specification.d.ts.map +1 -1
  88. package/lib/services/plugin-management.service.d.ts +2 -2
  89. package/lib/services/plugin-management.service.d.ts.map +1 -1
  90. package/lib/services/plugin-translation.service.d.ts +4 -0
  91. package/lib/services/plugin-translation.service.d.ts.map +1 -1
  92. package/package.json +4 -6
  93. package/esm2022/lib/components/default-plugin-configuration/default-plugin-configuration.component.mjs +0 -73
  94. package/esm2022/lib/components/default-plugin-configuration/default-plugin-configuration.module.mjs +0 -53
  95. package/esm2022/lib/components/plugin-configuration-container/plugin-configuration-container.component.mjs +0 -161
  96. package/esm2022/lib/components/plugin-configuration-container/plugin-configuration-container.module.mjs +0 -36
  97. package/esm2022/lib/constants/index.mjs +0 -17
  98. package/esm2022/lib/constants/injection-tokens.mjs +0 -19
  99. package/esm2022/lib/models/index.mjs +0 -17
  100. package/esm2022/lib/models/plugin.mjs +0 -17
  101. package/esm2022/lib/pipes/index.mjs +0 -17
  102. package/esm2022/lib/pipes/plugin-translate/index.mjs +0 -18
  103. package/esm2022/lib/pipes/plugin-translate/plugin-translate-pipe.module.mjs +0 -33
  104. package/esm2022/lib/pipes/plugin-translate/plugin-translate.pipe.mjs +0 -35
  105. package/esm2022/lib/plugins/besluiten-api/assets/besluiten-api-plugin-logo.mjs +0 -18
  106. package/esm2022/lib/plugins/besluiten-api/assets/index.mjs +0 -17
  107. package/esm2022/lib/plugins/besluiten-api/besluiten-api-plugin.module.mjs +0 -76
  108. package/esm2022/lib/plugins/besluiten-api/besluiten-api-plugin.specification.mjs +0 -185
  109. package/esm2022/lib/plugins/besluiten-api/components/besluiten-api-configuration/besluiten-api-configuration.component.mjs +0 -89
  110. package/esm2022/lib/plugins/besluiten-api/components/create-zaak-besluit/create-zaak-besluit-configuration.component.mjs +0 -191
  111. package/esm2022/lib/plugins/besluiten-api/components/link-document-to-besluit/link-document-to-besluit-configuration.component.mjs +0 -74
  112. package/esm2022/lib/plugins/besluiten-api/models/config.mjs +0 -17
  113. package/esm2022/lib/plugins/besluiten-api/models/index.mjs +0 -18
  114. package/esm2022/lib/plugins/besluiten-api/models/input.mjs +0 -17
  115. package/esm2022/lib/plugins/besluiten-api/services/besluiten-api.service.mjs +0 -37
  116. package/esm2022/lib/plugins/besluiten-api/services/index.mjs +0 -17
  117. package/esm2022/lib/plugins/catalogi-api/assets/catalogi-api-plugin-logo.mjs +0 -18
  118. package/esm2022/lib/plugins/catalogi-api/assets/index.mjs +0 -17
  119. package/esm2022/lib/plugins/catalogi-api/catalogi-api-plugin-module.mjs +0 -76
  120. package/esm2022/lib/plugins/catalogi-api/catalogi-api-plugin.specification.mjs +0 -126
  121. package/esm2022/lib/plugins/catalogi-api/components/catalogi-api-configuration/catalogi-api-configuration.component.mjs +0 -88
  122. package/esm2022/lib/plugins/catalogi-api/components/get-besluittype/get-besluittype-configuration.component.mjs +0 -74
  123. package/esm2022/lib/plugins/catalogi-api/components/get-eigenschap/get-eigenschap-configuration.component.mjs +0 -74
  124. package/esm2022/lib/plugins/catalogi-api/components/get-resultaattype/get-resultaattype-configuration.component.mjs +0 -74
  125. package/esm2022/lib/plugins/catalogi-api/components/get-statustype/get-statustype-configuration.component.mjs +0 -74
  126. package/esm2022/lib/plugins/catalogi-api/models/config.mjs +0 -17
  127. package/esm2022/lib/plugins/catalogi-api/models/index.mjs +0 -17
  128. package/esm2022/lib/plugins/documenten-api/assets/documenten-api-plugin-logo.mjs +0 -18
  129. package/esm2022/lib/plugins/documenten-api/assets/index.mjs +0 -17
  130. package/esm2022/lib/plugins/documenten-api/components/documenten-api-configuration/documenten-api-configuration.component.mjs +0 -98
  131. package/esm2022/lib/plugins/documenten-api/components/download-document/download-document-configuration.component.mjs +0 -75
  132. package/esm2022/lib/plugins/documenten-api/components/store-temp-document/store-temp-document-configuration.component.mjs +0 -110
  133. package/esm2022/lib/plugins/documenten-api/components/store-uploaded-document/store-uploaded-document-configuration.component.mjs +0 -60
  134. package/esm2022/lib/plugins/documenten-api/components/store-uploaded-document-in-parts/store-uploaded-document-in-parts-configuration.component.mjs +0 -60
  135. package/esm2022/lib/plugins/documenten-api/documenten-api-plugin.module.mjs +0 -76
  136. package/esm2022/lib/plugins/documenten-api/documenten-api-plugin.specification.mjs +0 -189
  137. package/esm2022/lib/plugins/documenten-api/models/config.mjs +0 -17
  138. package/esm2022/lib/plugins/documenten-api/models/index.mjs +0 -17
  139. package/esm2022/lib/plugins/documenten-api/services/documenten-api.service.mjs +0 -37
  140. package/esm2022/lib/plugins/documenten-api/services/index.mjs +0 -17
  141. package/esm2022/lib/plugins/exact/components/exact-action-get-request-configuration/exact-get-request-configuration.component.mjs +0 -82
  142. package/esm2022/lib/plugins/exact/components/exact-action-get-request-configuration/exact-get-request-configuration.mjs +0 -17
  143. package/esm2022/lib/plugins/exact/components/exact-action-post-request-configuration/exact-post-request-configuration.component.mjs +0 -84
  144. package/esm2022/lib/plugins/exact/components/exact-action-post-request-configuration/exact-post-request-configuration.mjs +0 -17
  145. package/esm2022/lib/plugins/exact/components/exact-action-put-request-configuration/exact-put-request-configuration.component.mjs +0 -84
  146. package/esm2022/lib/plugins/exact/components/exact-action-put-request-configuration/exact-put-request-configuration.mjs +0 -17
  147. package/esm2022/lib/plugins/exact/components/exact-plugin-configuration/exact-plugin-configuration.component.mjs +0 -112
  148. package/esm2022/lib/plugins/exact/components/exact-redirect/exact-redirect.component.mjs +0 -36
  149. package/esm2022/lib/plugins/exact/exact-plugin-routing.module.mjs +0 -45
  150. package/esm2022/lib/plugins/exact/exact-plugin.mjs +0 -17
  151. package/esm2022/lib/plugins/exact/exact-plugin.module.mjs +0 -70
  152. package/esm2022/lib/plugins/exact/exact-plugin.service.mjs +0 -41
  153. package/esm2022/lib/plugins/exact/exact-refresh-token.mjs +0 -17
  154. package/esm2022/lib/plugins/exact/exact.plugin.specification.mjs +0 -72
  155. package/esm2022/lib/plugins/notificaties-api/assets/notificaties-api-plugin-logo.mjs +0 -18
  156. package/esm2022/lib/plugins/notificaties-api/components/notificaties-api-configuration/notificaties-api-configuration.component.mjs +0 -86
  157. package/esm2022/lib/plugins/notificaties-api/models/config.mjs +0 -17
  158. package/esm2022/lib/plugins/notificaties-api/models/index.mjs +0 -17
  159. package/esm2022/lib/plugins/notificaties-api/notificaties-api-plugin.module.mjs +0 -52
  160. package/esm2022/lib/plugins/notificaties-api/notificaties-api-plugin.specification.mjs +0 -59
  161. package/esm2022/lib/plugins/notificaties-api-authentication/assets/index.mjs +0 -17
  162. package/esm2022/lib/plugins/notificaties-api-authentication/assets/open-notificaties-plugin-logo.mjs +0 -18
  163. package/esm2022/lib/plugins/notificaties-api-authentication/components/open-notificaties-configuration/open-notificaties-configuration.component.mjs +0 -74
  164. package/esm2022/lib/plugins/notificaties-api-authentication/models/config.mjs +0 -17
  165. package/esm2022/lib/plugins/notificaties-api-authentication/models/index.mjs +0 -17
  166. package/esm2022/lib/plugins/notificaties-api-authentication/open-notificaties-plugin.module.mjs +0 -35
  167. package/esm2022/lib/plugins/notificaties-api-authentication/open-notificaties-plugin.specification.mjs +0 -56
  168. package/esm2022/lib/plugins/object-token-authentication/assets/object-token-authentication-plugin-logo.mjs +0 -18
  169. package/esm2022/lib/plugins/object-token-authentication/components/object-token-authentication-configuration/object-token-authencation-configuration.component.mjs +0 -74
  170. package/esm2022/lib/plugins/object-token-authentication/models/config.mjs +0 -17
  171. package/esm2022/lib/plugins/object-token-authentication/models/index.mjs +0 -17
  172. package/esm2022/lib/plugins/object-token-authentication/object-token-authentication-plugin.module.mjs +0 -35
  173. package/esm2022/lib/plugins/object-token-authentication/object-token-authentication-plugin.specification.mjs +0 -50
  174. package/esm2022/lib/plugins/objecten-api/assets/index.mjs +0 -17
  175. package/esm2022/lib/plugins/objecten-api/assets/objecten-api-plugin-logo.mjs +0 -18
  176. package/esm2022/lib/plugins/objecten-api/components/delete-object/delete-object.component.mjs +0 -74
  177. package/esm2022/lib/plugins/objecten-api/components/objecten-api-configuration/objecten-api-configuration.component.mjs +0 -88
  178. package/esm2022/lib/plugins/objecten-api/models/config.mjs +0 -17
  179. package/esm2022/lib/plugins/objecten-api/models/index.mjs +0 -17
  180. package/esm2022/lib/plugins/objecten-api/objecten-api-plugin-module.mjs +0 -53
  181. package/esm2022/lib/plugins/objecten-api/objecten-api-plugin.specification.mjs +0 -69
  182. package/esm2022/lib/plugins/objecttypen-api/assets/index.mjs +0 -17
  183. package/esm2022/lib/plugins/objecttypen-api/assets/objecttypen-api-plugin-logo.mjs +0 -18
  184. package/esm2022/lib/plugins/objecttypen-api/components/objecttypen-api-configuration/objecttypen-api-configuration.component.mjs +0 -88
  185. package/esm2022/lib/plugins/objecttypen-api/models/config.mjs +0 -17
  186. package/esm2022/lib/plugins/objecttypen-api/models/index.mjs +0 -17
  187. package/esm2022/lib/plugins/objecttypen-api/objecttypen-api-plugin-module.mjs +0 -52
  188. package/esm2022/lib/plugins/objecttypen-api/objecttypen-api-plugin.specification.mjs +0 -53
  189. package/esm2022/lib/plugins/open-zaak/assets/index.mjs +0 -17
  190. package/esm2022/lib/plugins/open-zaak/assets/open-zaak-plugin-logo.mjs +0 -18
  191. package/esm2022/lib/plugins/open-zaak/components/open-zaak-configuration/open-zaak-configuration.component.mjs +0 -74
  192. package/esm2022/lib/plugins/open-zaak/models/config.mjs +0 -17
  193. package/esm2022/lib/plugins/open-zaak/models/index.mjs +0 -17
  194. package/esm2022/lib/plugins/open-zaak/open-zaak-plugin.module.mjs +0 -35
  195. package/esm2022/lib/plugins/open-zaak/open-zaak-plugin.specification.mjs +0 -56
  196. package/esm2022/lib/plugins/portaaltaak/assets/portaaltaak-plugin-logo.mjs +0 -18
  197. package/esm2022/lib/plugins/portaaltaak/components/complete-portal-task/complete-portal-task.component.mjs +0 -54
  198. package/esm2022/lib/plugins/portaaltaak/components/create-portal-task/create-portal-task.component.mjs +0 -100
  199. package/esm2022/lib/plugins/portaaltaak/components/portaaltaak-configuration/portaaltaak-configuration.component.mjs +0 -105
  200. package/esm2022/lib/plugins/portaaltaak/models/config.mjs +0 -17
  201. package/esm2022/lib/plugins/portaaltaak/models/index.mjs +0 -18
  202. package/esm2022/lib/plugins/portaaltaak/models/object.mjs +0 -17
  203. package/esm2022/lib/plugins/portaaltaak/portaaltaak-plugin.module.mjs +0 -69
  204. package/esm2022/lib/plugins/portaaltaak/portaaltaak-plugin.specification.mjs +0 -166
  205. package/esm2022/lib/plugins/portaaltaak/services/index.mjs +0 -17
  206. package/esm2022/lib/plugins/portaaltaak/services/object.service.mjs +0 -37
  207. package/esm2022/lib/plugins/smart-documents/assets/index.mjs +0 -17
  208. package/esm2022/lib/plugins/smart-documents/assets/smart-documents-plugin-logo.mjs +0 -18
  209. package/esm2022/lib/plugins/smart-documents/components/generate-document-configuration/generate-document-configuration.component.mjs +0 -85
  210. package/esm2022/lib/plugins/smart-documents/components/get-template-names/get-template-names.component.mjs +0 -74
  211. package/esm2022/lib/plugins/smart-documents/components/smart-documents-configuration/smart-documents-configuration.component.mjs +0 -77
  212. package/esm2022/lib/plugins/smart-documents/models/config.mjs +0 -17
  213. package/esm2022/lib/plugins/smart-documents/models/index.mjs +0 -17
  214. package/esm2022/lib/plugins/smart-documents/smart-documents-plugin.module.mjs +0 -69
  215. package/esm2022/lib/plugins/smart-documents/smart-documents-plugin.specification.mjs +0 -101
  216. package/esm2022/lib/plugins/verzoek/assets/verzoek-plugin-logo.mjs +0 -18
  217. package/esm2022/lib/plugins/verzoek/components/verzoek-configuration/verzoek-configuration.component.mjs +0 -234
  218. package/esm2022/lib/plugins/verzoek/models/config.mjs +0 -17
  219. package/esm2022/lib/plugins/verzoek/models/index.mjs +0 -18
  220. package/esm2022/lib/plugins/verzoek/models/verzoek.mjs +0 -17
  221. package/esm2022/lib/plugins/verzoek/services/index.mjs +0 -17
  222. package/esm2022/lib/plugins/verzoek/services/verzoek-plugin.service.mjs +0 -43
  223. package/esm2022/lib/plugins/verzoek/verzoek-plugin.module.mjs +0 -86
  224. package/esm2022/lib/plugins/verzoek/verzoek-plugin.specification.mjs +0 -140
  225. package/esm2022/lib/plugins/zaken-api/assets/index.mjs +0 -17
  226. package/esm2022/lib/plugins/zaken-api/assets/zaken-api-plugin-logo.mjs +0 -18
  227. package/esm2022/lib/plugins/zaken-api/components/create-natuurlijk-persoon-zaak-rol/create-natuurlijk-persoon-zaak-rol.component.mjs +0 -74
  228. package/esm2022/lib/plugins/zaken-api/components/create-niet-natuurlijk-persoon-zaak-rol/create-niet-natuurlijk-persoon-zaak-rol.component.mjs +0 -74
  229. package/esm2022/lib/plugins/zaken-api/components/create-zaak/create-zaak-configuration.component.mjs +0 -172
  230. package/esm2022/lib/plugins/zaken-api/components/create-zaak-resultaat/create-zaak-resultaat-configuration.component.mjs +0 -160
  231. package/esm2022/lib/plugins/zaken-api/components/create-zaakeigenschap/create-zaakeigenschap.component.mjs +0 -160
  232. package/esm2022/lib/plugins/zaken-api/components/delete-zaakeigenschap/delete-zaakeigenschap.component.mjs +0 -159
  233. package/esm2022/lib/plugins/zaken-api/components/end-hersteltermijn/end-hersteltermijn.component.mjs +0 -63
  234. package/esm2022/lib/plugins/zaken-api/components/link-document-to-zaak/link-document-to-zaak-configuration.component.mjs +0 -86
  235. package/esm2022/lib/plugins/zaken-api/components/link-uploaded-document-to-zaak/link-uploaded-document-to-zaak-configuration.component.mjs +0 -60
  236. package/esm2022/lib/plugins/zaken-api/components/relateer-zaken/relateer-zaken.component.mjs +0 -90
  237. package/esm2022/lib/plugins/zaken-api/components/set-zaak-status/set-zaak-status-configuration.component.mjs +0 -160
  238. package/esm2022/lib/plugins/zaken-api/components/set-zaakopschorting/set-zaakopschorting.component.mjs +0 -77
  239. package/esm2022/lib/plugins/zaken-api/components/start-hersteltermijn/start-hersteltermijn-configuration.component.mjs +0 -77
  240. package/esm2022/lib/plugins/zaken-api/components/update-zaakeigenschap/update-zaakeigenschap.component.mjs +0 -160
  241. package/esm2022/lib/plugins/zaken-api/components/zaken-api-configuration/zaken-api-configuration.component.mjs +0 -88
  242. package/esm2022/lib/plugins/zaken-api/models/config.mjs +0 -17
  243. package/esm2022/lib/plugins/zaken-api/models/create-zaak-properties.mjs +0 -6
  244. package/esm2022/lib/plugins/zaken-api/models/eigenschap.mjs +0 -17
  245. package/esm2022/lib/plugins/zaken-api/models/index.mjs +0 -21
  246. package/esm2022/lib/plugins/zaken-api/models/input.mjs +0 -17
  247. package/esm2022/lib/plugins/zaken-api/models/resultaat.mjs +0 -17
  248. package/esm2022/lib/plugins/zaken-api/models/status.mjs +0 -17
  249. package/esm2022/lib/plugins/zaken-api/services/index.mjs +0 -17
  250. package/esm2022/lib/plugins/zaken-api/services/zaken-api.service.mjs +0 -43
  251. package/esm2022/lib/plugins/zaken-api/zaken-api-plugin.module.mjs +0 -155
  252. package/esm2022/lib/plugins/zaken-api/zaken-api-plugin.specification.mjs +0 -347
  253. package/esm2022/lib/services/index.mjs +0 -19
  254. package/esm2022/lib/services/plugin-management.service.mjs +0 -88
  255. package/esm2022/lib/services/plugin-translation.service.mjs +0 -51
  256. package/esm2022/lib/services/plugin.service.mjs +0 -49
  257. package/esm2022/public-api.mjs +0 -111
  258. package/esm2022/valtimo-plugin.mjs +0 -5
@@ -1,160 +0,0 @@
1
- /*
2
- * Copyright 2015-2024 Ritense BV, the Netherlands.
3
- *
4
- * Licensed under EUPL, Version 1.2 (the "License");
5
- * you may not use this file except in compliance with the License.
6
- * You may obtain a copy of the License at
7
- *
8
- * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
9
- *
10
- * Unless required by applicable law or agreed to in writing, software
11
- * distributed under the License is distributed on an "AS IS" basis,
12
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
- * See the License for the specific language governing permissions and
14
- * limitations under the License.
15
- */
16
- import { Component, EventEmitter, Input, Output } from '@angular/core';
17
- import { BehaviorSubject, combineLatest, filter, of, Subject, switchMap, take, tap, } from 'rxjs';
18
- import { map } from 'rxjs/operators';
19
- import { PluginTranslatePipe } from '../../../../pipes';
20
- import * as i0 from "@angular/core";
21
- import * as i1 from "@valtimo/components";
22
- import * as i2 from "@valtimo/document";
23
- import * as i3 from "../../services";
24
- import * as i4 from "../../../../pipes";
25
- import * as i5 from "@angular/common";
26
- import * as i6 from "carbon-components-angular";
27
- import * as i7 from "../../../../pipes/plugin-translate/plugin-translate.pipe";
28
- export class CreateZaakeigenschapComponent {
29
- set pluginId(value) {
30
- this.pluginId$.next(value);
31
- }
32
- constructor(modalService, documentService, zakenApiService, pluginTranslatePipe) {
33
- this.modalService = modalService;
34
- this.documentService = documentService;
35
- this.zakenApiService = zakenApiService;
36
- this.pluginTranslatePipe = pluginTranslatePipe;
37
- this.valid = new EventEmitter();
38
- this.configuration = new EventEmitter();
39
- this.caseDefinitionSelectItems$ = new BehaviorSubject(null);
40
- this.selectedCaseDefinitionName$ = new BehaviorSubject('');
41
- this.clearEigenschapSelection$ = new Subject();
42
- this.loading$ = new BehaviorSubject(true);
43
- this.eigenschapSelectItems$ = this.modalService.modalData$.pipe(switchMap(params => this.documentService.findProcessDocumentDefinitionsByProcessDefinitionKey(params?.processDefinitionKey)), tap(processDocumentDefinitions => {
44
- const caseDefSelectItems = processDocumentDefinitions.map(processDocDef => ({
45
- text: processDocDef.id.documentDefinitionId.name,
46
- id: processDocDef.id.documentDefinitionId.name,
47
- }));
48
- this.caseDefinitionSelectItems$.next(caseDefSelectItems);
49
- if (this.oneSelectItem(caseDefSelectItems)) {
50
- this.selectedCaseDefinitionName$.next(caseDefSelectItems[0].id);
51
- }
52
- }), switchMap(processDocumentDefinitions => combineLatest([
53
- of(processDocumentDefinitions.map(processDoc => processDoc.id.documentDefinitionId.name)),
54
- ...processDocumentDefinitions.map(processDocDef => this.zakenApiService.getEigenschappenByCaseDefinition(processDocDef.id.documentDefinitionId.name)),
55
- ])), map(res => {
56
- const caseDefinitionIds = res[0];
57
- const eigenschappen = res.filter((curr, index) => index !== 0);
58
- const selectObject = {};
59
- caseDefinitionIds.forEach((caseDefinitionId, index) => {
60
- selectObject[caseDefinitionId] = eigenschappen[index].map(eigenschap => ({
61
- id: eigenschap.url,
62
- text: eigenschap.name,
63
- }));
64
- });
65
- return selectObject;
66
- }), tap(selectObject => {
67
- this.prefillConfiguration$.pipe(take(1)).subscribe(prefillConfig => {
68
- const eigenschapUrl = prefillConfig?.eigenschapUrl;
69
- if (eigenschapUrl) {
70
- let selectedCaseDefinitionId;
71
- Object.keys(selectObject).forEach(caseDefinitionId => {
72
- if (selectObject[caseDefinitionId].find(item => item.id === eigenschapUrl)) {
73
- selectedCaseDefinitionId = caseDefinitionId;
74
- }
75
- if (selectedCaseDefinitionId) {
76
- this.selectedCaseDefinitionName$.next(selectedCaseDefinitionId);
77
- }
78
- else {
79
- this.selectedInputOption$.next('text');
80
- }
81
- });
82
- }
83
- });
84
- }), tap(() => {
85
- this.loading$.next(false);
86
- }));
87
- this.selectedInputOption$ = new BehaviorSubject('selection');
88
- this.pluginId$ = new BehaviorSubject('');
89
- this.inputTypeOptions$ = this.pluginId$.pipe(filter(pluginId => !!pluginId), switchMap(pluginId => combineLatest([
90
- this.pluginTranslatePipe.transform('selection', pluginId),
91
- this.pluginTranslatePipe.transform('text', pluginId),
92
- ])), map(([selectionTranslation, textTranslation]) => [
93
- { value: 'selection', title: selectionTranslation },
94
- { value: 'text', title: textTranslation },
95
- ]));
96
- this.formValue$ = new BehaviorSubject(null);
97
- this.valid$ = new BehaviorSubject(false);
98
- }
99
- ngOnInit() {
100
- this.openSaveSubscription();
101
- }
102
- ngOnDestroy() {
103
- this.saveSubscription?.unsubscribe();
104
- }
105
- formValueChange(formValue) {
106
- this.formValue$.next(formValue);
107
- this.handleValid(formValue);
108
- if (formValue.inputTypeEigenschapToggle) {
109
- this.selectedInputOption$.next(formValue.inputTypeEigenschapToggle);
110
- }
111
- }
112
- selectCaseDefinition(caseDefinitionName) {
113
- this.selectedCaseDefinitionName$.next(caseDefinitionName);
114
- this.clearEigenschapSelection$.next();
115
- }
116
- oneSelectItem(selectItems) {
117
- if (Array.isArray(selectItems)) {
118
- return selectItems.length === 1;
119
- }
120
- return false;
121
- }
122
- handleValid(formValue) {
123
- const valid = !!formValue.eigenschapUrl;
124
- this.valid$.next(valid);
125
- this.valid.emit(valid);
126
- }
127
- openSaveSubscription() {
128
- this.saveSubscription = this.save$?.subscribe(save => {
129
- combineLatest([this.formValue$, this.valid$])
130
- .pipe(take(1))
131
- .subscribe(([formValue, valid]) => {
132
- if (valid) {
133
- this.configuration.emit({
134
- eigenschapUrl: formValue.eigenschapUrl,
135
- eigenschapValue: formValue.eigenschapValue,
136
- });
137
- }
138
- });
139
- });
140
- }
141
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CreateZaakeigenschapComponent, deps: [{ token: i1.ModalService }, { token: i2.DocumentService }, { token: i3.ZakenApiService }, { token: i4.PluginTranslatePipe }], target: i0.ɵɵFactoryTarget.Component }); }
142
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: CreateZaakeigenschapComponent, selector: "valtimo-create-zaakeigenschap", inputs: { save$: "save$", disabled$: "disabled$", pluginId: "pluginId", prefillConfiguration$: "prefillConfiguration$" }, outputs: { valid: "valid", configuration: "configuration" }, providers: [PluginTranslatePipe], ngImport: i0, template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-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 caseDefinitionItems: caseDefinitionSelectItems$ | async,\n eigenschapItems: eigenschapSelectItems$ | async,\n selectedCaseDefinitionId: selectedCaseDefinitionName$ | async,\n } as obs\"\n>\n <ng-container *ngIf=\"obs.loading === false; else loading\">\n <v-radio\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 <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 <ng-container *ngIf=\"obs.selectedInputOption === 'selection'\">\n <v-select\n [items]=\"obs.caseDefinitionItems\"\n [margin]=\"true\"\n [widthInPx]=\"350\"\n name=\"caseDefinition\"\n [title]=\"'caseDefinition' | pluginTranslate: obs.pluginId | async\"\n [disabled]=\"\n obs.disabled ||\n obs.selectedInputOption === 'text' ||\n !obs.caseDefinitionItems ||\n oneSelectItem(obs.caseDefinitionItems)\n \"\n [required]=\"true\"\n [loading]=\"!obs.caseDefinitionItems\"\n [tooltip]=\"'caseDefinitionTooltipEigenschap' | pluginTranslate: obs.pluginId | async\"\n (selectedChange)=\"selectCaseDefinition($event)\"\n [defaultSelectionId]=\"obs?.selectedCaseDefinitionId\"\n ></v-select>\n <v-select\n [items]=\"obs.eigenschapItems && obs.eigenschapItems[obs.selectedCaseDefinitionId]\"\n [margin]=\"true\"\n [widthInPx]=\"350\"\n name=\"eigenschapUrl\"\n [title]=\"'eigenschapUrlSelect' | pluginTranslate: obs.pluginId | async\"\n [disabled]=\"\n obs.disabled ||\n obs.selectedInputOption === 'text' ||\n !obs.eigenschapItems ||\n !obs.eigenschapItems[obs.selectedCaseDefinitionId]\n \"\n [defaultSelectionId]=\"obs.prefill?.eigenschapUrl\"\n [required]=\"true\"\n [loading]=\"!obs.eigenschapItems\"\n [tooltip]=\"'eigenschapUrlSelectTooltip' | pluginTranslate: obs.pluginId | async\"\n [clearSelectionSubject$]=\"clearEigenschapSelection$\"\n ></v-select>\n </ng-container>\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", dependencies: [{ kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i1.FormComponent, selector: "v-form", inputs: ["className"], outputs: ["valueChange"] }, { kind: "component", type: i1.InputComponent, selector: "v-input", inputs: ["name", "type", "title", "titleTranslationKey", "defaultValue", "widthPx", "fullWidth", "margin", "smallMargin", "disabled", "step", "min", "maxLength", "tooltip", "required", "hideNumberSpinBox", "smallLabel", "rows", "clear$", "carbonTheme", "placeholder", "dataTestId", "trim"], outputs: ["valueChange"] }, { kind: "component", type: i1.SelectComponent, selector: "v-select", inputs: ["items", "defaultSelection", "defaultSelectionId", "defaultSelectionIds", "disabled", "dropUp", "multiple", "margin", "widthInPx", "notFoundText", "clearAllText", "clearText", "name", "title", "titleTranslationKey", "clearSelectionSubject$", "tooltip", "required", "loading", "loadingText", "placeholder", "smallMargin", "carbonTheme", "appendInline", "dataTestId"], outputs: ["selectedChange"] }, { kind: "component", type: i1.RadioComponent, selector: "v-radio", inputs: ["name", "title", "titleTranslationKey", "defaultValue", "widthPx", "fullWidth", "margin", "smallMargin", "disabled", "tooltip", "required", "smallLabel", "rows", "clear$", "radioValues"], outputs: ["valueChange"] }, { kind: "component", type: i6.Loading, selector: "cds-loading, ibm-loading", inputs: ["title", "isActive", "size", "overlay"] }, { kind: "pipe", type: i5.AsyncPipe, name: "async" }, { kind: "pipe", type: i7.PluginTranslatePipe, name: "pluginTranslate" }] }); }
143
- }
144
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CreateZaakeigenschapComponent, decorators: [{
145
- type: Component,
146
- args: [{ selector: 'valtimo-create-zaakeigenschap', providers: [PluginTranslatePipe], template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-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 caseDefinitionItems: caseDefinitionSelectItems$ | async,\n eigenschapItems: eigenschapSelectItems$ | async,\n selectedCaseDefinitionId: selectedCaseDefinitionName$ | async,\n } as obs\"\n>\n <ng-container *ngIf=\"obs.loading === false; else loading\">\n <v-radio\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 <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 <ng-container *ngIf=\"obs.selectedInputOption === 'selection'\">\n <v-select\n [items]=\"obs.caseDefinitionItems\"\n [margin]=\"true\"\n [widthInPx]=\"350\"\n name=\"caseDefinition\"\n [title]=\"'caseDefinition' | pluginTranslate: obs.pluginId | async\"\n [disabled]=\"\n obs.disabled ||\n obs.selectedInputOption === 'text' ||\n !obs.caseDefinitionItems ||\n oneSelectItem(obs.caseDefinitionItems)\n \"\n [required]=\"true\"\n [loading]=\"!obs.caseDefinitionItems\"\n [tooltip]=\"'caseDefinitionTooltipEigenschap' | pluginTranslate: obs.pluginId | async\"\n (selectedChange)=\"selectCaseDefinition($event)\"\n [defaultSelectionId]=\"obs?.selectedCaseDefinitionId\"\n ></v-select>\n <v-select\n [items]=\"obs.eigenschapItems && obs.eigenschapItems[obs.selectedCaseDefinitionId]\"\n [margin]=\"true\"\n [widthInPx]=\"350\"\n name=\"eigenschapUrl\"\n [title]=\"'eigenschapUrlSelect' | pluginTranslate: obs.pluginId | async\"\n [disabled]=\"\n obs.disabled ||\n obs.selectedInputOption === 'text' ||\n !obs.eigenschapItems ||\n !obs.eigenschapItems[obs.selectedCaseDefinitionId]\n \"\n [defaultSelectionId]=\"obs.prefill?.eigenschapUrl\"\n [required]=\"true\"\n [loading]=\"!obs.eigenschapItems\"\n [tooltip]=\"'eigenschapUrlSelectTooltip' | pluginTranslate: obs.pluginId | async\"\n [clearSelectionSubject$]=\"clearEigenschapSelection$\"\n ></v-select>\n </ng-container>\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" }]
147
- }], ctorParameters: () => [{ type: i1.ModalService }, { type: i2.DocumentService }, { type: i3.ZakenApiService }, { type: i4.PluginTranslatePipe }], propDecorators: { save$: [{
148
- type: Input
149
- }], disabled$: [{
150
- type: Input
151
- }], pluginId: [{
152
- type: Input
153
- }], prefillConfiguration$: [{
154
- type: Input
155
- }], valid: [{
156
- type: Output
157
- }], configuration: [{
158
- type: Output
159
- }] } });
160
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLXphYWtlaWdlbnNjaGFwLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZhbHRpbW8vcGx1Z2luL3NyYy9saWIvcGx1Z2lucy96YWtlbi1hcGkvY29tcG9uZW50cy9jcmVhdGUtemFha2VpZ2Vuc2NoYXAvY3JlYXRlLXphYWtlaWdlbnNjaGFwLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZhbHRpbW8vcGx1Z2luL3NyYy9saWIvcGx1Z2lucy96YWtlbi1hcGkvY29tcG9uZW50cy9jcmVhdGUtemFha2VpZ2Vuc2NoYXAvY3JlYXRlLXphYWtlaWdlbnNjaGFwLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7OztHQWNHO0FBRUgsT0FBTyxFQUFDLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFxQixNQUFNLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFFeEYsT0FBTyxFQUNMLGVBQWUsRUFDZixhQUFhLEVBQ2IsTUFBTSxFQUVOLEVBQUUsRUFDRixPQUFPLEVBRVAsU0FBUyxFQUNULElBQUksRUFDSixHQUFHLEdBQ0osTUFBTSxNQUFNLENBQUM7QUFJZCxPQUFPLEVBQUMsR0FBRyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFFbkMsT0FBTyxFQUFDLG1CQUFtQixFQUFDLE1BQU0sbUJBQW1CLENBQUM7Ozs7Ozs7OztBQU90RCxNQUFNLE9BQU8sNkJBQTZCO0lBS3hDLElBQWEsUUFBUSxDQUFDLEtBQWE7UUFDakMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDN0IsQ0FBQztJQXdHRCxZQUNtQixZQUEwQixFQUMxQixlQUFnQyxFQUNoQyxlQUFnQyxFQUNoQyxtQkFBd0M7UUFIeEMsaUJBQVksR0FBWixZQUFZLENBQWM7UUFD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QUFDLG1CQUFtQixDQUFDLDBCQ3hDbEMseW5JQTZHQTs7NEZEbkVhLDZCQUE2QjtrQkFMekMsU0FBUzsrQkFDRSwrQkFBK0IsYUFFOUIsQ0FBQyxtQkFBbUIsQ0FBQzsrS0FLdkIsS0FBSztzQkFBYixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ08sUUFBUTtzQkFBcEIsS0FBSztnQkFHRyxxQkFBcUI7c0JBQTdCLEtBQUs7Z0JBQ0ksS0FBSztzQkFBZCxNQUFNO2dCQUNHLGFBQWE7c0JBQXRCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IDIwMTUtMjAyNCBSaXRlbnNlIEJWLCB0aGUgTmV0aGVybGFuZHMuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgRVVQTCwgVmVyc2lvbiAxLjIgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiBodHRwczovL2pvaW51cC5lYy5ldXJvcGEuZXUvY29sbGVjdGlvbi9ldXBsL2V1cGwtdGV4dC1ldXBsLTEyXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIGJhc2lzLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5pbXBvcnQge0NvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQsIE91dHB1dH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0Z1bmN0aW9uQ29uZmlndXJhdGlvbkNvbXBvbmVudH0gZnJvbSAnLi4vLi4vLi4vLi4vbW9kZWxzJztcbmltcG9ydCB7XG4gIEJlaGF2aW9yU3ViamVjdCxcbiAgY29tYmluZUxhdGVzdCxcbiAgZmlsdGVyLFxuICBPYnNlcnZhYmxlLFxuICBvZixcbiAgU3ViamVjdCxcbiAgU3Vic2NyaXB0aW9uLFxuICBzd2l0Y2hNYXAsXG4gIHRha2UsXG4gIHRhcCxcbn0gZnJvbSAncnhqcyc7XG5pbXBvcnQge0lucHV0T3B0aW9uLCBDcmVhdGVaYWFrZWlnZW5zY2hhcENvbmZpZ30gZnJvbSAnLi4vLi4vbW9kZWxzJztcbmltcG9ydCB7TW9kYWxTZXJ2aWNlLCBSYWRpb1ZhbHVlLCBTZWxlY3RJdGVtfSBmcm9tICdAdmFsdGltby9jb21wb25lbnRzJztcbmltcG9ydCB7RG9jdW1lbnRTZXJ2aWNlfSBmcm9tICdAdmFsdGltby9kb2N1bWVudCc7XG5pbXBvcnQge21hcH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtaYWtlbkFwaVNlcnZpY2V9IGZyb20gJy4uLy4uL3NlcnZpY2VzJztcbmltcG9ydCB7UGx1Z2luVHJhbnNsYXRlUGlwZX0gZnJvbSAnLi4vLi4vLi4vLi4vcGlwZXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2YWx0aW1vLWNyZWF0ZS16YWFrZWlnZW5zY2hhcCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9jcmVhdGUtemFha2VpZ2Vuc2NoYXAuY29tcG9uZW50Lmh0bWwnLFxuICBwcm92aWRlcnM6IFtQbHVnaW5UcmFuc2xhdGVQaXBlXSxcbn0pXG5leHBvcnQgY2xhc3MgQ3JlYXRlWmFha2VpZ2Vuc2NoYXBDb21wb25lbnRcbiAgaW1wbGVtZW50cyBGdW5jdGlvbkNvbmZpZ3VyYXRpb25Db21wb25lbnQsIE9uSW5pdCwgT25EZXN0cm95XG57XG4gIEBJbnB1dCgpIHNhdmUkOiBPYnNlcnZhYmxlPHZvaWQ+O1xuICBASW5wdXQoKSBkaXNhYmxlZCQ6IE9ic2VydmFibGU8Ym9vbGVhbj47XG4gIEBJbnB1dCgpIHNldCBwbHVnaW5JZCh2YWx1ZTogc3RyaW5nKSB7XG4gICAgdGhpcy5wbHVnaW5JZCQubmV4dCh2YWx1ZSk7XG4gIH1cbiAgQElucHV0KCkgcHJlZmlsbENvbmZpZ3VyYXRpb24kOiBPYnNlcnZhYmxlPENyZWF0ZVphYWtlaWdlbnNjaGFwQ29uZmlnPjtcbiAgQE91dHB1dCgpIHZhbGlkOiBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4gPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG4gIEBPdXRwdXQoKSBjb25maWd1cmF0aW9uOiBFdmVudEVtaXR0ZXI8Q3JlYXRlWmFha2VpZ2Vuc2NoYXBDb25maWc+ID1cbiAgICBuZXcgRXZlbnRFbWl0dGVyPENyZWF0ZVphYWtlaWdlbnNjaGFwQ29uZmlnPigpO1xuXG4gIHJlYWRvbmx5IGNhc2VEZWZpbml0aW9uU2VsZWN0SXRlbXMkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxBcnJheTxTZWxlY3RJdGVtPj4obnVsbCk7XG4gIHJlYWRvbmx5IHNlbGVjdGVkQ2FzZURlZmluaXRpb25OYW1lJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8c3RyaW5nPignJyk7XG4gIHJlYWRvbmx5IGNsZWFyRWlnZW5zY2hhcFNlbGVjdGlvbiQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gIHJlYWRvbmx5IGxvYWRpbmckID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPih0cnVlKTtcblxuICByZWFkb25seSBlaWdlbnNjaGFwU2VsZWN0SXRlbXMkOiBPYnNlcnZhYmxlPHtbY2FzZURlZmluaXRpb25JZDogc3RyaW5nXTogQXJyYXk8U2VsZWN0SXRlbT59PiA9XG4gICAgdGhpcy5tb2RhbFNlcnZpY2UubW9kYWxEYXRhJC5waXBlKFxuICAgICAgc3dpdGNoTWFwKHBhcmFtcyA9PlxuICAgICAgICB0aGlzLmRvY3VtZW50U2VydmljZS5maW5kUHJvY2Vzc0RvY3VtZW50RGVmaW5pdGlvbnNCeVByb2Nlc3NEZWZpbml0aW9uS2V5KFxuICAgICAgICAgIHBhcmFtcz8ucHJvY2Vzc0RlZmluaXRpb25LZXlcbiAgICAgICAgKVxuICAgICAgKSxcbiAgICAgIHRhcChwcm9jZXNzRG9jdW1lbnREZWZpbml0aW9ucyA9PiB7XG4gICAgICAgIGNvbnN0IGNhc2VEZWZTZWxlY3RJdGVtcyA9IHByb2Nlc3NEb2N1bWVudERlZmluaXRpb25zLm1hcChwcm9jZXNzRG9jRGVmID0+ICh7XG4gICAgICAgICAgdGV4dDogcHJvY2Vzc0RvY0RlZi5pZC5kb2N1bWVudERlZmluaXRpb25JZC5uYW1lLFxuICAgICAgICAgIGlkOiBwcm9jZXNzRG9jRGVmLmlkLmRvY3VtZW50RGVmaW5pdGlvbklkLm5hbWUsXG4gICAgICAgIH0pKTtcblxuICAgICAgICB0aGlzLmNhc2VEZWZpbml0aW9uU2VsZWN0SXRlbXMkLm5leHQoY2FzZURlZlNlbGVjdEl0ZW1zKTtcblxuICAgICAgICBpZiAodGhpcy5vbmVTZWxlY3RJdGVtKGNhc2VEZWZTZWxlY3RJdGVtcykpIHtcbiAgICAgICAgICB0aGlzLnNlbGVjdGVkQ2FzZURlZmluaXRpb25OYW1lJC5uZXh0KGNhc2VEZWZTZWxlY3RJdGVtc1swXS5pZCk7XG4gICAgICAgIH1cbiAgICAgIH0pLFxuICAgICAgc3dpdGNoTWFwKHByb2Nlc3NEb2N1bWVudERlZmluaXRpb25zID0+XG4gICAgICAgIGNvbWJpbmVMYXRlc3QoW1xuICAgICAgICAgIG9mKHByb2Nlc3NEb2N1bWVudERlZmluaXRpb25zLm1hcChwcm9jZXNzRG9jID0+IHByb2Nlc3NEb2MuaWQuZG9jdW1lbnREZWZpbml0aW9uSWQubmFtZSkpLFxuICAgICAgICAgIC4uLnByb2Nlc3NEb2N1bWVudERlZmluaXRpb25zLm1hcChwcm9jZXNzRG9jRGVmID0+XG4gICAgICAgICAgICB0aGlzLnpha2VuQXBpU2VydmljZS5nZXRFaWdlbnNjaGFwcGVuQnlDYXNlRGVmaW5pdGlvbihcbiAgICAgICAgICAgICAgcHJvY2Vzc0RvY0RlZi5pZC5kb2N1bWVudERlZmluaXRpb25JZC5uYW1lXG4gICAgICAgICAgICApXG4gICAgICAgICAgKSxcbiAgICAgICAgXSlcbiAgICAgICksXG4gICAgICBtYXAocmVzID0+IHtcbiAgICAgICAgY29uc3QgY2FzZURlZmluaXRpb25JZHMgPSByZXNbMF07XG4gICAgICAgIGNvbnN0IGVpZ2Vuc2NoYXBwZW4gPSByZXMuZmlsdGVyKChjdXJyLCBpbmRleCkgPT4gaW5kZXggIT09IDApO1xuICAgICAgICBjb25zdCBzZWxlY3RPYmplY3QgPSB7fTtcblxuICAgICAgICBjYXNlRGVmaW5pdGlvbklkcy5mb3JFYWNoKChjYXNlRGVmaW5pdGlvbklkLCBpbmRleCkgPT4ge1xuICAgICAgICAgIHNlbGVjdE9iamVjdFtjYXNlRGVmaW5pdGlvbklkXSA9IGVpZ2Vuc2NoYXBwZW5baW5kZXhdLm1hcChlaWdlbnNjaGFwID0+ICh7XG4gICAgICAgICAgICBpZDogZWlnZW5zY2hhcC51cmwsXG4gICAgICAgICAgICB0ZXh0OiBlaWdlbnNjaGFwLm5hbWUsXG4gICAgICAgICAgfSkpO1xuICAgICAgICB9KTtcblxuICAgICAgICByZXR1cm4gc2VsZWN0T2JqZWN0O1xuICAgICAgfSksXG4gICAgICB0YXAoc2VsZWN0T2JqZWN0ID0+IHtcbiAgICAgICAgdGhpcy5wcmVmaWxsQ29uZmlndXJhdGlvbiQucGlwZSh0YWtlKDEpKS5zdWJzY3JpYmUocHJlZmlsbENvbmZpZyA9PiB7XG4gICAgICAgICAgY29uc3QgZWlnZW5zY2hhcFVybCA9IHByZWZpbGxDb25maWc/LmVpZ2Vuc2NoYXBVcmw7XG5cbiAgICAgICAgICBpZiAoZWlnZW5zY2hhcFVybCkge1xuICAgICAgICAgICAgbGV0IHNlbGVjdGVkQ2FzZURlZmluaXRpb25JZCE6IHN0cmluZztcblxuICAgICAgICAgICAgT2JqZWN0LmtleXMoc2VsZWN0T2JqZWN0KS5mb3JFYWNoKGNhc2VEZWZpbml0aW9uSWQgPT4ge1xuICAgICAgICAgICAgICBpZiAoc2VsZWN0T2JqZWN0W2Nhc2VEZWZpbml0aW9uSWRdLmZpbmQoaXRlbSA9PiBpdGVtLmlkID09PSBlaWdlbnNjaGFwVXJsKSkge1xuICAgICAgICAgICAgICAgIHNlbGVjdGVkQ2FzZURlZmluaXRpb25JZCA9IGNhc2VEZWZpbml0aW9uSWQ7XG4gICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICBpZiAoc2VsZWN0ZWRDYXNlRGVmaW5pdGlvbklkKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5zZWxlY3RlZENhc2VEZWZpbml0aW9uTmFtZSQubmV4dChzZWxlY3RlZENhc2VEZWZpbml0aW9uSWQpO1xuICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRJbnB1dE9wdGlvbiQubmV4dCgndGV4dCcpO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgfSksXG4gICAgICB0YXAoKCkgPT4ge1xuICAgICAgICB0aGlzLmxvYWRpbmckLm5leHQoZmFsc2UpO1xuICAgICAgfSlcbiAgICApO1xuXG4gIHJlYWRvbmx5IHNlbGVjdGVkSW5wdXRPcHRpb24kID0gbmV3IEJlaGF2aW9yU3ViamVjdDxJbnB1dE9wdGlvbj4oJ3NlbGVjdGlvbicpO1xuXG4gIHJlYWRvbmx5IHBsdWdpbklkJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8c3RyaW5nPignJyk7XG5cbiAgcmVhZG9ubHkgaW5wdXRUeXBlT3B0aW9ucyQ6IE9ic2VydmFibGU8QXJyYXk8UmFkaW9WYWx1ZT4+ID0gdGhpcy5wbHVnaW5JZCQucGlwZShcbiAgICBmaWx0ZXIocGx1Z2luSWQgPT4gISFwbHVnaW5JZCksXG4gICAgc3dpdGNoTWFwKHBsdWdpbklkID0+XG4gICAgICBjb21iaW5lTGF0ZXN0KFtcbiAgICAgICAgdGhpcy5wbHVnaW5UcmFuc2xhdGVQaXBlLnRyYW5zZm9ybSgnc2VsZWN0aW9uJywgcGx1Z2luSWQpLFxuICAgICAgICB0aGlzLnBsdWdpblRyYW5zbGF0ZVBpcGUudHJhbnNmb3JtKCd0ZXh0JywgcGx1Z2luSWQpLFxuICAgICAgXSlcbiAgICApLFxuICAgIG1hcCgoW3NlbGVjdGlvblRyYW5zbGF0aW9uLCB0ZXh0VHJhbnNsYXRpb25dKSA9PiBbXG4gICAgICB7dmFsdWU6ICdzZWxlY3Rpb24nLCB0aXRsZTogc2VsZWN0aW9uVHJhbnNsYXRpb259LFxuICAgICAge3ZhbHVlOiAndGV4dCcsIHRpdGxlOiB0ZXh0VHJhbnNsYXRpb259LFxuICAgIF0pXG4gICk7XG5cbiAgcHJpdmF0ZSBzYXZlU3Vic2NyaXB0aW9uITogU3Vic2NyaXB0aW9uO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgZm9ybVZhbHVlJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Q3JlYXRlWmFha2VpZ2Vuc2NoYXBDb25maWcgfCBudWxsPihudWxsKTtcbiAgcHJpdmF0ZSByZWFkb25seSB2YWxpZCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KGZhbHNlKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IG1vZGFsU2VydmljZTogTW9kYWxTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgZG9jdW1lbnRTZXJ2aWNlOiBEb2N1bWVudFNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSB6YWtlbkFwaVNlcnZpY2U6IFpha2VuQXBpU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHBsdWdpblRyYW5zbGF0ZVBpcGU6IFBsdWdpblRyYW5zbGF0ZVBpcGVcbiAgKSB7fVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMub3BlblNhdmVTdWJzY3JpcHRpb24oKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMuc2F2ZVN1YnNjcmlwdGlvbj8udW5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIGZvcm1WYWx1ZUNoYW5nZShmb3JtVmFsdWU6IENyZWF0ZVphYWtlaWdlbnNjaGFwQ29uZmlnKTogdm9pZCB7XG4gICAgdGhpcy5mb3JtVmFsdWUkLm5leHQoZm9ybVZhbHVlKTtcbiAgICB0aGlzLmhhbmRsZVZhbGlkKGZvcm1WYWx1ZSk7XG5cbiAgICBpZiAoZm9ybVZhbHVlLmlucHV0VHlwZUVpZ2Vuc2NoYXBUb2dnbGUpIHtcbiAgICAgIHRoaXMuc2VsZWN0ZWRJbnB1dE9wdGlvbiQubmV4dChmb3JtVmFsdWUuaW5wdXRUeXBlRWlnZW5zY2hhcFRvZ2dsZSk7XG4gICAgfVxuICB9XG5cbiAgc2VsZWN0Q2FzZURlZmluaXRpb24oY2FzZURlZmluaXRpb25OYW1lOiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLnNlbGVjdGVkQ2FzZURlZmluaXRpb25OYW1lJC5uZXh0KGNhc2VEZWZpbml0aW9uTmFtZSk7XG4gICAgdGhpcy5jbGVhckVpZ2Vuc2NoYXBTZWxlY3Rpb24kLm5leHQoKTtcbiAgfVxuXG4gIG9uZVNlbGVjdEl0ZW0oc2VsZWN0SXRlbXM6IEFycmF5PFNlbGVjdEl0ZW0+KTogYm9vbGVhbiB7XG4gICAgaWYgKEFycmF5LmlzQXJyYXkoc2VsZWN0SXRlbXMpKSB7XG4gICAgICByZXR1cm4gc2VsZWN0SXRlbXMubGVuZ3RoID09PSAxO1xuICAgIH1cblxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIHByaXZhdGUgaGFuZGxlVmFsaWQoZm9ybVZhbHVlOiBDcmVhdGVaYWFrZWlnZW5zY2hhcENvbmZpZyk6IHZvaWQge1xuICAgIGNvbnN0IHZhbGlkID0gISFmb3JtVmFsdWUuZWlnZW5zY2hhcFVybDtcblxuICAgIHRoaXMudmFsaWQkLm5leHQodmFsaWQpO1xuICAgIHRoaXMudmFsaWQuZW1pdCh2YWxpZCk7XG4gIH1cblxuICBwcml2YXRlIG9wZW5TYXZlU3Vic2NyaXB0aW9uKCk6IHZvaWQge1xuICAgIHRoaXMuc2F2ZVN1YnNjcmlwdGlvbiA9IHRoaXMuc2F2ZSQ/LnN1YnNjcmliZShzYXZlID0+IHtcbiAgICAgIGNvbWJpbmVMYXRlc3QoW3RoaXMuZm9ybVZhbHVlJCwgdGhpcy52YWxpZCRdKVxuICAgICAgICAucGlwZSh0YWtlKDEpKVxuICAgICAgICAuc3Vic2NyaWJlKChbZm9ybVZhbHVlLCB2YWxpZF0pID0+IHtcbiAgICAgICAgICBpZiAodmFsaWQpIHtcbiAgICAgICAgICAgIHRoaXMuY29uZmlndXJhdGlvbi5lbWl0KHtcbiAgICAgICAgICAgICAgZWlnZW5zY2hhcFVybDogZm9ybVZhbHVlLmVpZ2Vuc2NoYXBVcmwsXG4gICAgICAgICAgICAgIGVpZ2Vuc2NoYXBWYWx1ZTogZm9ybVZhbHVlLmVpZ2Vuc2NoYXBWYWx1ZSxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfSk7XG4gIH1cbn1cbiIsIjwhLS1cbiAgfiBDb3B5cmlnaHQgMjAxNS0yMDI0IFJpdGVuc2UgQlYsIHRoZSBOZXRoZXJsYW5kcy5cbiAgflxuICB+IExpY2Vuc2VkIHVuZGVyIEVVUEwsIFZlcnNpb24gMS4yICh0aGUgXCJMaWNlbnNlXCIpO1xuICB+IHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAgfiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAgflxuICB+IGh0dHBzOi8vam9pbnVwLmVjLmV1cm9wYS5ldS9jb2xsZWN0aW9uL2V1cGwvZXVwbC10ZXh0LWV1cGwtMTJcbiAgflxuICB+IFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAgfiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgYmFzaXMsXG4gIH4gV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gIH4gU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICB+IGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICAtLT5cblxuPHYtZm9ybVxuICAodmFsdWVDaGFuZ2UpPVwiZm9ybVZhbHVlQ2hhbmdlKCRldmVudClcIlxuICAqbmdJZj1cIntcbiAgICBkaXNhYmxlZDogZGlzYWJsZWQkIHwgYXN5bmMsXG4gICAgcHJlZmlsbDogcHJlZmlsbENvbmZpZ3VyYXRpb24kID8gKHByZWZpbGxDb25maWd1cmF0aW9uJCB8IGFzeW5jKSA6IG51bGwsXG4gICAgcGx1Z2luSWQ6IHBsdWdpbklkJCB8IGFzeW5jLFxuICAgIHNlbGVjdGVkSW5wdXRPcHRpb246IHNlbGVjdGVkSW5wdXRPcHRpb24kIHwgYXN5bmMsXG4gICAgbG9hZGluZzogbG9hZGluZyQgfCBhc3luYyxcbiAgICBjYXNlRGVmaW5pdGlvbkl0ZW1zOiBjYXNlRGVmaW5pdGlvblNlbGVjdEl0ZW1zJCB8IGFzeW5jLFxuICAgIGVpZ2Vuc2NoYXBJdGVtczogZWlnZW5zY2hhcFNlbGVjdEl0ZW1zJCB8IGFzeW5jLFxuICAgIHNlbGVjdGVkQ2FzZURlZmluaXRpb25JZDogc2VsZWN0ZWRDYXNlRGVmaW5pdGlvbk5hbWUkIHwgYXN5bmMsXG4gIH0gYXMgb2JzXCJcbj5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIm9icy5sb2FkaW5nID09PSBmYWxzZTsgZWxzZSBsb2FkaW5nXCI+XG4gICAgPHYtcmFkaW9cbiAgICAgIG5hbWU9XCJpbnB1dFR5cGVFaWdlbnNjaGFwVG9nZ2xlXCJcbiAgICAgIFtkaXNhYmxlZF09XCJvYnMuZGlzYWJsZWRcIlxuICAgICAgW3RpdGxlXT1cIidpbnB1dFR5cGVFaWdlbnNjaGFwVG9nZ2xlJyB8IHBsdWdpblRyYW5zbGF0ZTogb2JzLnBsdWdpbklkIHwgYXN5bmNcIlxuICAgICAgW3JhZGlvVmFsdWVzXT1cImlucHV0VHlwZU9wdGlvbnMkIHwgYXN5bmNcIlxuICAgICAgW2RlZmF1bHRWYWx1ZV09XCJzZWxlY3RlZElucHV0T3B0aW9uJCB8IGFzeW5jXCJcbiAgICAgIFttYXJnaW5dPVwidHJ1ZVwiXG4gICAgPlxuICAgIDwvdi1yYWRpbz5cbiAgICA8di1pbnB1dFxuICAgICAgKm5nSWY9XCJvYnMuc2VsZWN0ZWRJbnB1dE9wdGlvbiA9PT0gJ3RleHQnXCJcbiAgICAgIG5hbWU9XCJlaWdlbnNjaGFwVXJsXCJcbiAgICAgIFt0aXRsZV09XCInZWlnZW5zY2hhcFVybCcgfCBwbHVnaW5UcmFuc2xhdGU6IG9icy5wbHVnaW5JZCB8IGFzeW5jXCJcbiAgICAgIFttYXJnaW5dPVwidHJ1ZVwiXG4gICAgICBbZGVmYXVsdFZhbHVlXT1cIm9icy5wcmVmaWxsPy5laWdlbnNjaGFwVXJsXCJcbiAgICAgIFtkaXNhYmxlZF09XCJvYnMuZGlzYWJsZWRcIlxuICAgICAgW3JlcXVpcmVkXT1cInRydWVcIlxuICAgICAgW3RyaW1dPVwidHJ1ZVwiXG4gICAgICBbdG9vbHRpcF09XCInZWlnZW5zY2hhcFVybFRvb2x0aXAnIHwgcGx1Z2luVHJhbnNsYXRlOiBvYnMucGx1Z2luSWQgfCBhc3luY1wiXG4gICAgICBbZnVsbFdpZHRoXT1cInRydWVcIlxuICAgID5cbiAgICA8L3YtaW5wdXQ+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIm9icy5zZWxlY3RlZElucHV0T3B0aW9uID09PSAnc2VsZWN0aW9uJ1wiPlxuICAgICAgPHYtc2VsZWN0XG4gICAgICAgIFtpdGVtc109XCJvYnMuY2FzZURlZmluaXRpb25JdGVtc1wiXG4gICAgICAgIFttYXJnaW5dPVwidHJ1ZVwiXG4gICAgICAgIFt3aWR0aEluUHhdPVwiMzUwXCJcbiAgICAgICAgbmFtZT1cImNhc2VEZWZpbml0aW9uXCJcbiAgICAgICAgW3RpdGxlXT1cIidjYXNlRGVmaW5pdGlvbicgfCBwbHVnaW5UcmFuc2xhdGU6IG9icy5wbHVnaW5JZCB8IGFzeW5jXCJcbiAgICAgICAgW2Rpc2FibGVkXT1cIlxuICAgICAgICAgIG9icy5kaXNhYmxlZCB8fFxuICAgICAgICAgIG9icy5zZWxlY3RlZElucHV0T3B0aW9uID09PSAndGV4dCcgfHxcbiAgICAgICAgICAhb2JzLmNhc2VEZWZpbml0aW9uSXRlbXMgfHxcbiAgICAgICAgICBvbmVTZWxlY3RJdGVtKG9icy5jYXNlRGVmaW5pdGlvbkl0ZW1zKVxuICAgICAgICBcIlxuICAgICAgICBbcmVxdWlyZWRdPVwidHJ1ZVwiXG4gICAgICAgIFtsb2FkaW5nXT1cIiFvYnMuY2FzZURlZmluaXRpb25JdGVtc1wiXG4gICAgICAgIFt0b29sdGlwXT1cIidjYXNlRGVmaW5pdGlvblRvb2x0aXBFaWdlbnNjaGFwJyB8IHBsdWdpblRyYW5zbGF0ZTogb2JzLnBsdWdpbklkIHwgYXN5bmNcIlxuICAgICAgICAoc2VsZWN0ZWRDaGFuZ2UpPVwic2VsZWN0Q2FzZURlZmluaXRpb24oJGV2ZW50KVwiXG4gICAgICAgIFtkZWZhdWx0U2VsZWN0aW9uSWRdPVwib2JzPy5zZWxlY3RlZENhc2VEZWZpbml0aW9uSWRcIlxuICAgICAgPjwvdi1zZWxlY3Q+XG4gICAgICA8di1zZWxlY3RcbiAgICAgICAgW2l0ZW1zXT1cIm9icy5laWdlbnNjaGFwSXRlbXMgJiYgb2JzLmVpZ2Vuc2NoYXBJdGVtc1tvYnMuc2VsZWN0ZWRDYXNlRGVmaW5pdGlvbklkXVwiXG4gICAgICAgIFttYXJnaW5dPVwidHJ1ZVwiXG4gICAgICAgIFt3aWR0aEluUHhdPVwiMzUwXCJcbiAgICAgICAgbmFtZT1cImVpZ2Vuc2NoYXBVcmxcIlxuICAgICAgICBbdGl0bGVdPVwiJ2VpZ2Vuc2NoYXBVcmxTZWxlY3QnIHwgcGx1Z2luVHJhbnNsYXRlOiBvYnMucGx1Z2luSWQgfCBhc3luY1wiXG4gICAgICAgIFtkaXNhYmxlZF09XCJcbiAgICAgICAgICBvYnMuZGlzYWJsZWQgfHxcbiAgICAgICAgICBvYnMuc2VsZWN0ZWRJbnB1dE9wdGlvbiA9PT0gJ3RleHQnIHx8XG4gICAgICAgICAgIW9icy5laWdlbnNjaGFwSXRlbXMgfHxcbiAgICAgICAgICAhb2JzLmVpZ2Vuc2NoYXBJdGVtc1tvYnMuc2VsZWN0ZWRDYXNlRGVmaW5pdGlvbklkXVxuICAgICAgICBcIlxuICAgICAgICBbZGVmYXVsdFNlbGVjdGlvbklkXT1cIm9icy5wcmVmaWxsPy5laWdlbnNjaGFwVXJsXCJcbiAgICAgICAgW3JlcXVpcmVkXT1cInRydWVcIlxuICAgICAgICBbbG9hZGluZ109XCIhb2JzLmVpZ2Vuc2NoYXBJdGVtc1wiXG4gICAgICAgIFt0b29sdGlwXT1cIidlaWdlbnNjaGFwVXJsU2VsZWN0VG9vbHRpcCcgfCBwbHVnaW5UcmFuc2xhdGU6IG9icy5wbHVnaW5JZCB8IGFzeW5jXCJcbiAgICAgICAgW2NsZWFyU2VsZWN0aW9uU3ViamVjdCRdPVwiY2xlYXJFaWdlbnNjaGFwU2VsZWN0aW9uJFwiXG4gICAgICA+PC92LXNlbGVjdD5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8di1pbnB1dFxuICAgICAgbmFtZT1cImVpZ2Vuc2NoYXBWYWx1ZVwiXG4gICAgICBbdGl0bGVdPVwiJ2VpZ2Vuc2NoYXBWYWx1ZScgfCBwbHVnaW5UcmFuc2xhdGU6IG9icy5wbHVnaW5JZCB8IGFzeW5jXCJcbiAgICAgIFttYXJnaW5dPVwidHJ1ZVwiXG4gICAgICBbZGVmYXVsdFZhbHVlXT1cIm9icy5wcmVmaWxsPy5laWdlbnNjaGFwVmFsdWVcIlxuICAgICAgW2Rpc2FibGVkXT1cIm9icy5kaXNhYmxlZFwiXG4gICAgICBbcmVxdWlyZWRdPVwiZmFsc2VcIlxuICAgICAgW3Rvb2x0aXBdPVwiJ2VpZ2Vuc2NoYXBWYWx1ZVRvb2x0aXAnIHwgcGx1Z2luVHJhbnNsYXRlOiBvYnMucGx1Z2luSWQgfCBhc3luY1wiXG4gICAgICBbZnVsbFdpZHRoXT1cInRydWVcIlxuICAgID5cbiAgICA8L3YtaW5wdXQ+XG4gIDwvbmctY29udGFpbmVyPlxuPC92LWZvcm0+XG5cbjxuZy10ZW1wbGF0ZSAjbG9hZGluZz5cbiAgPGRpdiBjbGFzcz1cImxvYWRpbmctY29udGFpbmVyXCI+XG4gICAgPGNkcy1sb2FkaW5nPjwvY2RzLWxvYWRpbmc+XG4gIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
@@ -1,159 +0,0 @@
1
- /*
2
- * Copyright 2015-2024 Ritense BV, the Netherlands.
3
- *
4
- * Licensed under EUPL, Version 1.2 (the "License");
5
- * you may not use this file except in compliance with the License.
6
- * You may obtain a copy of the License at
7
- *
8
- * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
9
- *
10
- * Unless required by applicable law or agreed to in writing, software
11
- * distributed under the License is distributed on an "AS IS" basis,
12
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
- * See the License for the specific language governing permissions and
14
- * limitations under the License.
15
- */
16
- import { Component, EventEmitter, Input, Output } from '@angular/core';
17
- import { BehaviorSubject, combineLatest, filter, of, Subject, switchMap, take, tap, } from 'rxjs';
18
- import { map } from 'rxjs/operators';
19
- import { PluginTranslatePipe } from '../../../../pipes';
20
- import * as i0 from "@angular/core";
21
- import * as i1 from "@valtimo/components";
22
- import * as i2 from "@valtimo/document";
23
- import * as i3 from "../../services";
24
- import * as i4 from "../../../../pipes";
25
- import * as i5 from "@angular/common";
26
- import * as i6 from "carbon-components-angular";
27
- import * as i7 from "../../../../pipes/plugin-translate/plugin-translate.pipe";
28
- export class DeleteZaakeigenschapComponent {
29
- set pluginId(value) {
30
- this.pluginId$.next(value);
31
- }
32
- constructor(modalService, documentService, zakenApiService, pluginTranslatePipe) {
33
- this.modalService = modalService;
34
- this.documentService = documentService;
35
- this.zakenApiService = zakenApiService;
36
- this.pluginTranslatePipe = pluginTranslatePipe;
37
- this.valid = new EventEmitter();
38
- this.configuration = new EventEmitter();
39
- this.caseDefinitionSelectItems$ = new BehaviorSubject(null);
40
- this.selectedCaseDefinitionName$ = new BehaviorSubject('');
41
- this.clearEigenschapSelection$ = new Subject();
42
- this.loading$ = new BehaviorSubject(true);
43
- this.eigenschapSelectItems$ = this.modalService.modalData$.pipe(switchMap(params => this.documentService.findProcessDocumentDefinitionsByProcessDefinitionKey(params?.processDefinitionKey)), tap(processDocumentDefinitions => {
44
- const caseDefSelectItems = processDocumentDefinitions.map(processDocDef => ({
45
- text: processDocDef.id.documentDefinitionId.name,
46
- id: processDocDef.id.documentDefinitionId.name,
47
- }));
48
- this.caseDefinitionSelectItems$.next(caseDefSelectItems);
49
- if (this.oneSelectItem(caseDefSelectItems)) {
50
- this.selectedCaseDefinitionName$.next(caseDefSelectItems[0].id);
51
- }
52
- }), switchMap(processDocumentDefinitions => combineLatest([
53
- of(processDocumentDefinitions.map(processDoc => processDoc.id.documentDefinitionId.name)),
54
- ...processDocumentDefinitions.map(processDocDef => this.zakenApiService.getEigenschappenByCaseDefinition(processDocDef.id.documentDefinitionId.name)),
55
- ])), map(res => {
56
- const caseDefinitionIds = res[0];
57
- const eigenschappen = res.filter((curr, index) => index !== 0);
58
- const selectObject = {};
59
- caseDefinitionIds.forEach((caseDefinitionId, index) => {
60
- selectObject[caseDefinitionId] = eigenschappen[index].map(eigenschap => ({
61
- id: eigenschap.url,
62
- text: eigenschap.name,
63
- }));
64
- });
65
- return selectObject;
66
- }), tap(selectObject => {
67
- this.prefillConfiguration$.pipe(take(1)).subscribe(prefillConfig => {
68
- const eigenschapUrl = prefillConfig?.eigenschapUrl;
69
- if (eigenschapUrl) {
70
- let selectedCaseDefinitionId;
71
- Object.keys(selectObject).forEach(caseDefinitionId => {
72
- if (selectObject[caseDefinitionId].find(item => item.id === eigenschapUrl)) {
73
- selectedCaseDefinitionId = caseDefinitionId;
74
- }
75
- if (selectedCaseDefinitionId) {
76
- this.selectedCaseDefinitionName$.next(selectedCaseDefinitionId);
77
- }
78
- else {
79
- this.selectedInputOption$.next('text');
80
- }
81
- });
82
- }
83
- });
84
- }), tap(() => {
85
- this.loading$.next(false);
86
- }));
87
- this.selectedInputOption$ = new BehaviorSubject('selection');
88
- this.pluginId$ = new BehaviorSubject('');
89
- this.inputTypeOptions$ = this.pluginId$.pipe(filter(pluginId => !!pluginId), switchMap(pluginId => combineLatest([
90
- this.pluginTranslatePipe.transform('selection', pluginId),
91
- this.pluginTranslatePipe.transform('text', pluginId),
92
- ])), map(([selectionTranslation, textTranslation]) => [
93
- { value: 'selection', title: selectionTranslation },
94
- { value: 'text', title: textTranslation },
95
- ]));
96
- this.formValue$ = new BehaviorSubject(null);
97
- this.valid$ = new BehaviorSubject(false);
98
- }
99
- ngOnInit() {
100
- this.openSaveSubscription();
101
- }
102
- ngOnDestroy() {
103
- this.saveSubscription?.unsubscribe();
104
- }
105
- formValueChange(formValue) {
106
- this.formValue$.next(formValue);
107
- this.handleValid(formValue);
108
- if (formValue.inputTypeEigenschapToggle) {
109
- this.selectedInputOption$.next(formValue.inputTypeEigenschapToggle);
110
- }
111
- }
112
- selectCaseDefinition(caseDefinitionName) {
113
- this.selectedCaseDefinitionName$.next(caseDefinitionName);
114
- this.clearEigenschapSelection$.next();
115
- }
116
- oneSelectItem(selectItems) {
117
- if (Array.isArray(selectItems)) {
118
- return selectItems.length === 1;
119
- }
120
- return false;
121
- }
122
- handleValid(formValue) {
123
- const valid = !!formValue.eigenschapUrl;
124
- this.valid$.next(valid);
125
- this.valid.emit(valid);
126
- }
127
- openSaveSubscription() {
128
- this.saveSubscription = this.save$?.subscribe(save => {
129
- combineLatest([this.formValue$, this.valid$])
130
- .pipe(take(1))
131
- .subscribe(([formValue, valid]) => {
132
- if (valid) {
133
- this.configuration.emit({
134
- eigenschapUrl: formValue.eigenschapUrl,
135
- });
136
- }
137
- });
138
- });
139
- }
140
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DeleteZaakeigenschapComponent, deps: [{ token: i1.ModalService }, { token: i2.DocumentService }, { token: i3.ZakenApiService }, { token: i4.PluginTranslatePipe }], target: i0.ɵɵFactoryTarget.Component }); }
141
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: DeleteZaakeigenschapComponent, selector: "valtimo-delete-zaakeigenschap", inputs: { save$: "save$", disabled$: "disabled$", pluginId: "pluginId", prefillConfiguration$: "prefillConfiguration$" }, outputs: { valid: "valid", configuration: "configuration" }, providers: [PluginTranslatePipe], ngImport: i0, template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-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 caseDefinitionItems: caseDefinitionSelectItems$ | async,\n eigenschapItems: eigenschapSelectItems$ | async,\n selectedCaseDefinitionId: selectedCaseDefinitionName$ | async,\n } as obs\"\n>\n <ng-container *ngIf=\"obs.loading === false; else loading\">\n <v-radio\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 <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 <ng-container *ngIf=\"obs.selectedInputOption === 'selection'\">\n <v-select\n [items]=\"obs.caseDefinitionItems\"\n [margin]=\"true\"\n [widthInPx]=\"350\"\n name=\"caseDefinition\"\n [title]=\"'caseDefinition' | pluginTranslate: obs.pluginId | async\"\n [disabled]=\"\n obs.disabled ||\n obs.selectedInputOption === 'text' ||\n !obs.caseDefinitionItems ||\n oneSelectItem(obs.caseDefinitionItems)\n \"\n [required]=\"true\"\n [loading]=\"!obs.caseDefinitionItems\"\n [tooltip]=\"'caseDefinitionTooltipEigenschap' | pluginTranslate: obs.pluginId | async\"\n (selectedChange)=\"selectCaseDefinition($event)\"\n [defaultSelectionId]=\"obs?.selectedCaseDefinitionId\"\n ></v-select>\n <v-select\n [items]=\"obs.eigenschapItems && obs.eigenschapItems[obs.selectedCaseDefinitionId]\"\n [margin]=\"true\"\n [widthInPx]=\"350\"\n name=\"eigenschapUrl\"\n [title]=\"'eigenschapUrlSelect' | pluginTranslate: obs.pluginId | async\"\n [disabled]=\"\n obs.disabled ||\n obs.selectedInputOption === 'text' ||\n !obs.eigenschapItems ||\n !obs.eigenschapItems[obs.selectedCaseDefinitionId]\n \"\n [defaultSelectionId]=\"obs.prefill?.eigenschapUrl\"\n [required]=\"true\"\n [loading]=\"!obs.eigenschapItems\"\n [tooltip]=\"'eigenschapUrlSelectTooltip' | pluginTranslate: obs.pluginId | async\"\n [clearSelectionSubject$]=\"clearEigenschapSelection$\"\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", dependencies: [{ kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i1.FormComponent, selector: "v-form", inputs: ["className"], outputs: ["valueChange"] }, { kind: "component", type: i1.InputComponent, selector: "v-input", inputs: ["name", "type", "title", "titleTranslationKey", "defaultValue", "widthPx", "fullWidth", "margin", "smallMargin", "disabled", "step", "min", "maxLength", "tooltip", "required", "hideNumberSpinBox", "smallLabel", "rows", "clear$", "carbonTheme", "placeholder", "dataTestId", "trim"], outputs: ["valueChange"] }, { kind: "component", type: i1.SelectComponent, selector: "v-select", inputs: ["items", "defaultSelection", "defaultSelectionId", "defaultSelectionIds", "disabled", "dropUp", "multiple", "margin", "widthInPx", "notFoundText", "clearAllText", "clearText", "name", "title", "titleTranslationKey", "clearSelectionSubject$", "tooltip", "required", "loading", "loadingText", "placeholder", "smallMargin", "carbonTheme", "appendInline", "dataTestId"], outputs: ["selectedChange"] }, { kind: "component", type: i1.RadioComponent, selector: "v-radio", inputs: ["name", "title", "titleTranslationKey", "defaultValue", "widthPx", "fullWidth", "margin", "smallMargin", "disabled", "tooltip", "required", "smallLabel", "rows", "clear$", "radioValues"], outputs: ["valueChange"] }, { kind: "component", type: i6.Loading, selector: "cds-loading, ibm-loading", inputs: ["title", "isActive", "size", "overlay"] }, { kind: "pipe", type: i5.AsyncPipe, name: "async" }, { kind: "pipe", type: i7.PluginTranslatePipe, name: "pluginTranslate" }] }); }
142
- }
143
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DeleteZaakeigenschapComponent, decorators: [{
144
- type: Component,
145
- args: [{ selector: 'valtimo-delete-zaakeigenschap', providers: [PluginTranslatePipe], template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-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 caseDefinitionItems: caseDefinitionSelectItems$ | async,\n eigenschapItems: eigenschapSelectItems$ | async,\n selectedCaseDefinitionId: selectedCaseDefinitionName$ | async,\n } as obs\"\n>\n <ng-container *ngIf=\"obs.loading === false; else loading\">\n <v-radio\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 <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 <ng-container *ngIf=\"obs.selectedInputOption === 'selection'\">\n <v-select\n [items]=\"obs.caseDefinitionItems\"\n [margin]=\"true\"\n [widthInPx]=\"350\"\n name=\"caseDefinition\"\n [title]=\"'caseDefinition' | pluginTranslate: obs.pluginId | async\"\n [disabled]=\"\n obs.disabled ||\n obs.selectedInputOption === 'text' ||\n !obs.caseDefinitionItems ||\n oneSelectItem(obs.caseDefinitionItems)\n \"\n [required]=\"true\"\n [loading]=\"!obs.caseDefinitionItems\"\n [tooltip]=\"'caseDefinitionTooltipEigenschap' | pluginTranslate: obs.pluginId | async\"\n (selectedChange)=\"selectCaseDefinition($event)\"\n [defaultSelectionId]=\"obs?.selectedCaseDefinitionId\"\n ></v-select>\n <v-select\n [items]=\"obs.eigenschapItems && obs.eigenschapItems[obs.selectedCaseDefinitionId]\"\n [margin]=\"true\"\n [widthInPx]=\"350\"\n name=\"eigenschapUrl\"\n [title]=\"'eigenschapUrlSelect' | pluginTranslate: obs.pluginId | async\"\n [disabled]=\"\n obs.disabled ||\n obs.selectedInputOption === 'text' ||\n !obs.eigenschapItems ||\n !obs.eigenschapItems[obs.selectedCaseDefinitionId]\n \"\n [defaultSelectionId]=\"obs.prefill?.eigenschapUrl\"\n [required]=\"true\"\n [loading]=\"!obs.eigenschapItems\"\n [tooltip]=\"'eigenschapUrlSelectTooltip' | pluginTranslate: obs.pluginId | async\"\n [clearSelectionSubject$]=\"clearEigenschapSelection$\"\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" }]
146
- }], ctorParameters: () => [{ type: i1.ModalService }, { type: i2.DocumentService }, { type: i3.ZakenApiService }, { type: i4.PluginTranslatePipe }], propDecorators: { save$: [{
147
- type: Input
148
- }], disabled$: [{
149
- type: Input
150
- }], pluginId: [{
151
- type: Input
152
- }], prefillConfiguration$: [{
153
- type: Input
154
- }], valid: [{
155
- type: Output
156
- }], configuration: [{
157
- type: Output
158
- }] } });
159
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVsZXRlLXphYWtlaWdlbnNjaGFwLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZhbHRpbW8vcGx1Z2luL3NyYy9saWIvcGx1Z2lucy96YWtlbi1hcGkvY29tcG9uZW50cy9kZWxldGUtemFha2VpZ2Vuc2NoYXAvZGVsZXRlLXphYWtlaWdlbnNjaGFwLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZhbHRpbW8vcGx1Z2luL3NyYy9saWIvcGx1Z2lucy96YWtlbi1hcGkvY29tcG9uZW50cy9kZWxldGUtemFha2VpZ2Vuc2NoYXAvZGVsZXRlLXphYWtlaWdlbnNjaGFwLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7OztHQWNHO0FBRUgsT0FBTyxFQUFDLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFxQixNQUFNLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFFeEYsT0FBTyxFQUNMLGVBQWUsRUFDZixhQUFhLEVBQ2IsTUFBTSxFQUVOLEVBQUUsRUFDRixPQUFPLEVBRVAsU0FBUyxFQUNULElBQUksRUFDSixHQUFHLEdBQ0osTUFBTSxNQUFNLENBQUM7QUFJZCxPQUFPLEVBQUMsR0FBRyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFFbkMsT0FBTyxFQUFDLG1CQUFtQixFQUFDLE1BQU0sbUJBQW1CLENBQUM7Ozs7Ozs7OztBQU90RCxNQUFNLE9BQU8sNkJBQTZCO0lBS3hDLElBQWEsUUFBUSxDQUFDLEtBQWE7UUFDakMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDN0IsQ0FBQztJQXdHRCxZQUNtQixZQUEwQixFQUMxQixlQUFnQyxFQUNoQyxlQUFnQyxFQUNoQyxtQkFBd0M7UUFIeEMsaUJBQVksR0FBWixZQUFZLENBQWM7UUFD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OzRGRHhEYSw2QkFBNkI7a0JBTHpDLFNBQVM7K0JBQ0UsK0JBQStCLGFBRTlCLENBQUMsbUJBQW1CLENBQUM7K0tBS3ZCLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNPLFFBQVE7c0JBQXBCLEtBQUs7Z0JBR0cscUJBQXFCO3NCQUE3QixLQUFLO2dCQUNJLEtBQUs7c0JBQWQsTUFBTTtnQkFDRyxhQUFhO3NCQUF0QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAyMDE1LTIwMjQgUml0ZW5zZSBCViwgdGhlIE5ldGhlcmxhbmRzLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIEVVUEwsIFZlcnNpb24gMS4yICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogaHR0cHM6Ly9qb2ludXAuZWMuZXVyb3BhLmV1L2NvbGxlY3Rpb24vZXVwbC9ldXBsLXRleHQtZXVwbC0xMlxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBiYXNpcyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuaW1wb3J0IHtDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0LCBPdXRwdXR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtGdW5jdGlvbkNvbmZpZ3VyYXRpb25Db21wb25lbnR9IGZyb20gJy4uLy4uLy4uLy4uL21vZGVscyc7XG5pbXBvcnQge1xuICBCZWhhdmlvclN1YmplY3QsXG4gIGNvbWJpbmVMYXRlc3QsXG4gIGZpbHRlcixcbiAgT2JzZXJ2YWJsZSxcbiAgb2YsXG4gIFN1YmplY3QsXG4gIFN1YnNjcmlwdGlvbixcbiAgc3dpdGNoTWFwLFxuICB0YWtlLFxuICB0YXAsXG59IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtJbnB1dE9wdGlvbiwgRGVsZXRlWmFha2VpZ2Vuc2NoYXBDb25maWd9IGZyb20gJy4uLy4uL21vZGVscyc7XG5pbXBvcnQge01vZGFsU2VydmljZSwgUmFkaW9WYWx1ZSwgU2VsZWN0SXRlbX0gZnJvbSAnQHZhbHRpbW8vY29tcG9uZW50cyc7XG5pbXBvcnQge0RvY3VtZW50U2VydmljZX0gZnJvbSAnQHZhbHRpbW8vZG9jdW1lbnQnO1xuaW1wb3J0IHttYXB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7WmFrZW5BcGlTZXJ2aWNlfSBmcm9tICcuLi8uLi9zZXJ2aWNlcyc7XG5pbXBvcnQge1BsdWdpblRyYW5zbGF0ZVBpcGV9IGZyb20gJy4uLy4uLy4uLy4uL3BpcGVzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmFsdGltby1kZWxldGUtemFha2VpZ2Vuc2NoYXAnLFxuICB0ZW1wbGF0ZVVybDogJy4vZGVsZXRlLXphYWtlaWdlbnNjaGFwLmNvbXBvbmVudC5odG1sJyxcbiAgcHJvdmlkZXJzOiBbUGx1Z2luVHJhbnNsYXRlUGlwZV0sXG59KVxuZXhwb3J0IGNsYXNzIERlbGV0ZVphYWtlaWdlbnNjaGFwQ29tcG9uZW50XG4gIGltcGxlbWVudHMgRnVuY3Rpb25Db25maWd1cmF0aW9uQ29tcG9uZW50LCBPbkluaXQsIE9uRGVzdHJveVxue1xuICBASW5wdXQoKSBzYXZlJDogT2JzZXJ2YWJsZTx2b2lkPjtcbiAgQElucHV0KCkgZGlzYWJsZWQkOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xuICBASW5wdXQoKSBzZXQgcGx1Z2luSWQodmFsdWU6IHN0cmluZykge1xuICAgIHRoaXMucGx1Z2luSWQkLm5leHQodmFsdWUpO1xuICB9XG4gIEBJbnB1dCgpIHByZWZpbGxDb25maWd1cmF0aW9uJDogT2JzZXJ2YWJsZTxEZWxldGVaYWFrZWlnZW5zY2hhcENvbmZpZz47XG4gIEBPdXRwdXQoKSB2YWxpZDogRXZlbnRFbWl0dGVyPGJvb2xlYW4+ID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuICBAT3V0cHV0KCkgY29uZmlndXJhdGlvbjogRXZlbnRFbWl0dGVyPERlbGV0ZVphYWtlaWdlbnNjaGFwQ29uZmlnPiA9XG4gICAgbmV3IEV2ZW50RW1pdHRlcjxEZWxldGVaYWFrZWlnZW5zY2hhcENvbmZpZz4oKTtcblxuICByZWFkb25seSBjYXNlRGVmaW5pdGlvblNlbGVjdEl0ZW1zJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8QXJyYXk8U2VsZWN0SXRlbT4+KG51bGwpO1xuICByZWFkb25seSBzZWxlY3RlZENhc2VEZWZpbml0aW9uTmFtZSQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PHN0cmluZz4oJycpO1xuICByZWFkb25seSBjbGVhckVpZ2Vuc2NoYXBTZWxlY3Rpb24kID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICByZWFkb25seSBsb2FkaW5nJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4odHJ1ZSk7XG5cbiAgcmVhZG9ubHkgZWlnZW5zY2hhcFNlbGVjdEl0ZW1zJDogT2JzZXJ2YWJsZTx7W2Nhc2VEZWZpbml0aW9uSWQ6IHN0cmluZ106IEFycmF5PFNlbGVjdEl0ZW0+fT4gPVxuICAgIHRoaXMubW9kYWxTZXJ2aWNlLm1vZGFsRGF0YSQucGlwZShcbiAgICAgIHN3aXRjaE1hcChwYXJhbXMgPT5cbiAgICAgICAgdGhpcy5kb2N1bWVudFNlcnZpY2UuZmluZFByb2Nlc3NEb2N1bWVudERlZmluaXRpb25zQnlQcm9jZXNzRGVmaW5pdGlvbktleShcbiAgICAgICAgICBwYXJhbXM/LnByb2Nlc3NEZWZpbml0aW9uS2V5XG4gICAgICAgIClcbiAgICAgICksXG4gICAgICB0YXAocHJvY2Vzc0RvY3VtZW50RGVmaW5pdGlvbnMgPT4ge1xuICAgICAgICBjb25zdCBjYXNlRGVmU2VsZWN0SXRlbXMgPSBwcm9jZXNzRG9jdW1lbnREZWZpbml0aW9ucy5tYXAocHJvY2Vzc0RvY0RlZiA9PiAoe1xuICAgICAgICAgIHRleHQ6IHByb2Nlc3NEb2NEZWYuaWQuZG9jdW1lbnREZWZpbml0aW9uSWQubmFtZSxcbiAgICAgICAgICBpZDogcHJvY2Vzc0RvY0RlZi5pZC5kb2N1bWVudERlZmluaXRpb25JZC5uYW1lLFxuICAgICAgICB9KSk7XG5cbiAgICAgICAgdGhpcy5jYXNlRGVmaW5pdGlvblNlbGVjdEl0ZW1zJC5uZXh0KGNhc2VEZWZTZWxlY3RJdGVtcyk7XG5cbiAgICAgICAgaWYgKHRoaXMub25lU2VsZWN0SXRlbShjYXNlRGVmU2VsZWN0SXRlbXMpKSB7XG4gICAgICAgICAgdGhpcy5zZWxlY3RlZENhc2VEZWZpbml0aW9uTmFtZSQubmV4dChjYXNlRGVmU2VsZWN0SXRlbXNbMF0uaWQpO1xuICAgICAgICB9XG4gICAgICB9KSxcbiAgICAgIHN3aXRjaE1hcChwcm9jZXNzRG9jdW1lbnREZWZpbml0aW9ucyA9PlxuICAgICAgICBjb21iaW5lTGF0ZXN0KFtcbiAgICAgICAgICBvZihwcm9jZXNzRG9jdW1lbnREZWZpbml0aW9ucy5tYXAocHJvY2Vzc0RvYyA9PiBwcm9jZXNzRG9jLmlkLmRvY3VtZW50RGVmaW5pdGlvbklkLm5hbWUpKSxcbiAgICAgICAgICAuLi5wcm9jZXNzRG9jdW1lbnREZWZpbml0aW9ucy5tYXAocHJvY2Vzc0RvY0RlZiA9PlxuICAgICAgICAgICAgdGhpcy56YWtlbkFwaVNlcnZpY2UuZ2V0RWlnZW5zY2hhcHBlbkJ5Q2FzZURlZmluaXRpb24oXG4gICAgICAgICAgICAgIHByb2Nlc3NEb2NEZWYuaWQuZG9jdW1lbnREZWZpbml0aW9uSWQubmFtZVxuICAgICAgICAgICAgKVxuICAgICAgICAgICksXG4gICAgICAgIF0pXG4gICAgICApLFxuICAgICAgbWFwKHJlcyA9PiB7XG4gICAgICAgIGNvbnN0IGNhc2VEZWZpbml0aW9uSWRzID0gcmVzWzBdO1xuICAgICAgICBjb25zdCBlaWdlbnNjaGFwcGVuID0gcmVzLmZpbHRlcigoY3VyciwgaW5kZXgpID0+IGluZGV4ICE9PSAwKTtcbiAgICAgICAgY29uc3Qgc2VsZWN0T2JqZWN0ID0ge307XG5cbiAgICAgICAgY2FzZURlZmluaXRpb25JZHMuZm9yRWFjaCgoY2FzZURlZmluaXRpb25JZCwgaW5kZXgpID0+IHtcbiAgICAgICAgICBzZWxlY3RPYmplY3RbY2FzZURlZmluaXRpb25JZF0gPSBlaWdlbnNjaGFwcGVuW2luZGV4XS5tYXAoZWlnZW5zY2hhcCA9PiAoe1xuICAgICAgICAgICAgaWQ6IGVpZ2Vuc2NoYXAudXJsLFxuICAgICAgICAgICAgdGV4dDogZWlnZW5zY2hhcC5uYW1lLFxuICAgICAgICAgIH0pKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgcmV0dXJuIHNlbGVjdE9iamVjdDtcbiAgICAgIH0pLFxuICAgICAgdGFwKHNlbGVjdE9iamVjdCA9PiB7XG4gICAgICAgIHRoaXMucHJlZmlsbENvbmZpZ3VyYXRpb24kLnBpcGUodGFrZSgxKSkuc3Vic2NyaWJlKHByZWZpbGxDb25maWcgPT4ge1xuICAgICAgICAgIGNvbnN0IGVpZ2Vuc2NoYXBVcmwgPSBwcmVmaWxsQ29uZmlnPy5laWdlbnNjaGFwVXJsO1xuXG4gICAgICAgICAgaWYgKGVpZ2Vuc2NoYXBVcmwpIHtcbiAgICAgICAgICAgIGxldCBzZWxlY3RlZENhc2VEZWZpbml0aW9uSWQhOiBzdHJpbmc7XG5cbiAgICAgICAgICAgIE9iamVjdC5rZXlzKHNlbGVjdE9iamVjdCkuZm9yRWFjaChjYXNlRGVmaW5pdGlvbklkID0+IHtcbiAgICAgICAgICAgICAgaWYgKHNlbGVjdE9iamVjdFtjYXNlRGVmaW5pdGlvbklkXS5maW5kKGl0ZW0gPT4gaXRlbS5pZCA9PT0gZWlnZW5zY2hhcFVybCkpIHtcbiAgICAgICAgICAgICAgICBzZWxlY3RlZENhc2VEZWZpbml0aW9uSWQgPSBjYXNlRGVmaW5pdGlvbklkO1xuICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgaWYgKHNlbGVjdGVkQ2FzZURlZmluaXRpb25JZCkge1xuICAgICAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRDYXNlRGVmaW5pdGlvbk5hbWUkLm5leHQoc2VsZWN0ZWRDYXNlRGVmaW5pdGlvbklkKTtcbiAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdGVkSW5wdXRPcHRpb24kLm5leHQoJ3RleHQnKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgIH0pLFxuICAgICAgdGFwKCgpID0+IHtcbiAgICAgICAgdGhpcy5sb2FkaW5nJC5uZXh0KGZhbHNlKTtcbiAgICAgIH0pXG4gICAgKTtcblxuICByZWFkb25seSBzZWxlY3RlZElucHV0T3B0aW9uJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8SW5wdXRPcHRpb24+KCdzZWxlY3Rpb24nKTtcblxuICByZWFkb25seSBwbHVnaW5JZCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PHN0cmluZz4oJycpO1xuXG4gIHJlYWRvbmx5IGlucHV0VHlwZU9wdGlvbnMkOiBPYnNlcnZhYmxlPEFycmF5PFJhZGlvVmFsdWU+PiA9IHRoaXMucGx1Z2luSWQkLnBpcGUoXG4gICAgZmlsdGVyKHBsdWdpbklkID0+ICEhcGx1Z2luSWQpLFxuICAgIHN3aXRjaE1hcChwbHVnaW5JZCA9PlxuICAgICAgY29tYmluZUxhdGVzdChbXG4gICAgICAgIHRoaXMucGx1Z2luVHJhbnNsYXRlUGlwZS50cmFuc2Zvcm0oJ3NlbGVjdGlvbicsIHBsdWdpbklkKSxcbiAgICAgICAgdGhpcy5wbHVnaW5UcmFuc2xhdGVQaXBlLnRyYW5zZm9ybSgndGV4dCcsIHBsdWdpbklkKSxcbiAgICAgIF0pXG4gICAgKSxcbiAgICBtYXAoKFtzZWxlY3Rpb25UcmFuc2xhdGlvbiwgdGV4dFRyYW5zbGF0aW9uXSkgPT4gW1xuICAgICAge3ZhbHVlOiAnc2VsZWN0aW9uJywgdGl0bGU6IHNlbGVjdGlvblRyYW5zbGF0aW9ufSxcbiAgICAgIHt2YWx1ZTogJ3RleHQnLCB0aXRsZTogdGV4dFRyYW5zbGF0aW9ufSxcbiAgICBdKVxuICApO1xuXG4gIHByaXZhdGUgc2F2ZVN1YnNjcmlwdGlvbiE6IFN1YnNjcmlwdGlvbjtcblxuICBwcml2YXRlIHJlYWRvbmx5IGZvcm1WYWx1ZSQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PERlbGV0ZVphYWtlaWdlbnNjaGFwQ29uZmlnIHwgbnVsbD4obnVsbCk7XG4gIHByaXZhdGUgcmVhZG9ubHkgdmFsaWQkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPihmYWxzZSk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSBtb2RhbFNlcnZpY2U6IE1vZGFsU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGRvY3VtZW50U2VydmljZTogRG9jdW1lbnRTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgemFrZW5BcGlTZXJ2aWNlOiBaYWtlbkFwaVNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBwbHVnaW5UcmFuc2xhdGVQaXBlOiBQbHVnaW5UcmFuc2xhdGVQaXBlXG4gICkge31cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLm9wZW5TYXZlU3Vic2NyaXB0aW9uKCk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLnNhdmVTdWJzY3JpcHRpb24/LnVuc3Vic2NyaWJlKCk7XG4gIH1cblxuICBmb3JtVmFsdWVDaGFuZ2UoZm9ybVZhbHVlOiBEZWxldGVaYWFrZWlnZW5zY2hhcENvbmZpZyk6IHZvaWQge1xuICAgIHRoaXMuZm9ybVZhbHVlJC5uZXh0KGZvcm1WYWx1ZSk7XG4gICAgdGhpcy5oYW5kbGVWYWxpZChmb3JtVmFsdWUpO1xuXG4gICAgaWYgKGZvcm1WYWx1ZS5pbnB1dFR5cGVFaWdlbnNjaGFwVG9nZ2xlKSB7XG4gICAgICB0aGlzLnNlbGVjdGVkSW5wdXRPcHRpb24kLm5leHQoZm9ybVZhbHVlLmlucHV0VHlwZUVpZ2Vuc2NoYXBUb2dnbGUpO1xuICAgIH1cbiAgfVxuXG4gIHNlbGVjdENhc2VEZWZpbml0aW9uKGNhc2VEZWZpbml0aW9uTmFtZTogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy5zZWxlY3RlZENhc2VEZWZpbml0aW9uTmFtZSQubmV4dChjYXNlRGVmaW5pdGlvbk5hbWUpO1xuICAgIHRoaXMuY2xlYXJFaWdlbnNjaGFwU2VsZWN0aW9uJC5uZXh0KCk7XG4gIH1cblxuICBvbmVTZWxlY3RJdGVtKHNlbGVjdEl0ZW1zOiBBcnJheTxTZWxlY3RJdGVtPik6IGJvb2xlYW4ge1xuICAgIGlmIChBcnJheS5pc0FycmF5KHNlbGVjdEl0ZW1zKSkge1xuICAgICAgcmV0dXJuIHNlbGVjdEl0ZW1zLmxlbmd0aCA9PT0gMTtcbiAgICB9XG5cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBwcml2YXRlIGhhbmRsZVZhbGlkKGZvcm1WYWx1ZTogRGVsZXRlWmFha2VpZ2Vuc2NoYXBDb25maWcpOiB2b2lkIHtcbiAgICBjb25zdCB2YWxpZCA9ICEhZm9ybVZhbHVlLmVpZ2Vuc2NoYXBVcmw7XG5cbiAgICB0aGlzLnZhbGlkJC5uZXh0KHZhbGlkKTtcbiAgICB0aGlzLnZhbGlkLmVtaXQodmFsaWQpO1xuICB9XG5cbiAgcHJpdmF0ZSBvcGVuU2F2ZVN1YnNjcmlwdGlvbigpOiB2b2lkIHtcbiAgICB0aGlzLnNhdmVTdWJzY3JpcHRpb24gPSB0aGlzLnNhdmUkPy5zdWJzY3JpYmUoc2F2ZSA9PiB7XG4gICAgICBjb21iaW5lTGF0ZXN0KFt0aGlzLmZvcm1WYWx1ZSQsIHRoaXMudmFsaWQkXSlcbiAgICAgICAgLnBpcGUodGFrZSgxKSlcbiAgICAgICAgLnN1YnNjcmliZSgoW2Zvcm1WYWx1ZSwgdmFsaWRdKSA9PiB7XG4gICAgICAgICAgaWYgKHZhbGlkKSB7XG4gICAgICAgICAgICB0aGlzLmNvbmZpZ3VyYXRpb24uZW1pdCh7XG4gICAgICAgICAgICAgIGVpZ2Vuc2NoYXBVcmw6IGZvcm1WYWx1ZS5laWdlbnNjaGFwVXJsLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9KTtcbiAgfVxufVxuIiwiPCEtLVxuICB+IENvcHlyaWdodCAyMDE1LTIwMjQgUml0ZW5zZSBCViwgdGhlIE5ldGhlcmxhbmRzLlxuICB+XG4gIH4gTGljZW5zZWQgdW5kZXIgRVVQTCwgVmVyc2lvbiAxLjIgKHRoZSBcIkxpY2Vuc2VcIik7XG4gIH4geW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICB+IFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICB+XG4gIH4gaHR0cHM6Ly9qb2ludXAuZWMuZXVyb3BhLmV1L2NvbGxlY3Rpb24vZXVwbC9ldXBsLXRleHQtZXVwbC0xMlxuICB+XG4gIH4gVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICB+IGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBiYXNpcyxcbiAgfiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAgfiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gIH4gbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gIC0tPlxuXG48di1mb3JtXG4gICh2YWx1ZUNoYW5nZSk9XCJmb3JtVmFsdWVDaGFuZ2UoJGV2ZW50KVwiXG4gICpuZ0lmPVwie1xuICAgIGRpc2FibGVkOiBkaXNhYmxlZCQgfCBhc3luYyxcbiAgICBwcmVmaWxsOiBwcmVmaWxsQ29uZmlndXJhdGlvbiQgPyAocHJlZmlsbENvbmZpZ3VyYXRpb24kIHwgYXN5bmMpIDogbnVsbCxcbiAgICBwbHVnaW5JZDogcGx1Z2luSWQkIHwgYXN5bmMsXG4gICAgc2VsZWN0ZWRJbnB1dE9wdGlvbjogc2VsZWN0ZWRJbnB1dE9wdGlvbiQgfCBhc3luYyxcbiAgICBsb2FkaW5nOiBsb2FkaW5nJCB8IGFzeW5jLFxuICAgIGNhc2VEZWZpbml0aW9uSXRlbXM6IGNhc2VEZWZpbml0aW9uU2VsZWN0SXRlbXMkIHwgYXN5bmMsXG4gICAgZWlnZW5zY2hhcEl0ZW1zOiBlaWdlbnNjaGFwU2VsZWN0SXRlbXMkIHwgYXN5bmMsXG4gICAgc2VsZWN0ZWRDYXNlRGVmaW5pdGlvbklkOiBzZWxlY3RlZENhc2VEZWZpbml0aW9uTmFtZSQgfCBhc3luYyxcbiAgfSBhcyBvYnNcIlxuPlxuICA8bmctY29udGFpbmVyICpuZ0lmPVwib2JzLmxvYWRpbmcgPT09IGZhbHNlOyBlbHNlIGxvYWRpbmdcIj5cbiAgICA8di1yYWRpb1xuICAgICAgbmFtZT1cImlucHV0VHlwZUVpZ2Vuc2NoYXBUb2dnbGVcIlxuICAgICAgW2Rpc2FibGVkXT1cIm9icy5kaXNhYmxlZFwiXG4gICAgICBbdGl0bGVdPVwiJ2lucHV0VHlwZUVpZ2Vuc2NoYXBUb2dnbGUnIHwgcGx1Z2luVHJhbnNsYXRlOiBvYnMucGx1Z2luSWQgfCBhc3luY1wiXG4gICAgICBbcmFkaW9WYWx1ZXNdPVwiaW5wdXRUeXBlT3B0aW9ucyQgfCBhc3luY1wiXG4gICAgICBbZGVmYXVsdFZhbHVlXT1cInNlbGVjdGVkSW5wdXRPcHRpb24kIHwgYXN5bmNcIlxuICAgICAgW21hcmdpbl09XCJ0cnVlXCJcbiAgICA+XG4gICAgPC92LXJhZGlvPlxuICAgIDx2LWlucHV0XG4gICAgICAqbmdJZj1cIm9icy5zZWxlY3RlZElucHV0T3B0aW9uID09PSAndGV4dCdcIlxuICAgICAgbmFtZT1cImVpZ2Vuc2NoYXBVcmxcIlxuICAgICAgW3RpdGxlXT1cIidlaWdlbnNjaGFwVXJsJyB8IHBsdWdpblRyYW5zbGF0ZTogb2JzLnBsdWdpbklkIHwgYXN5bmNcIlxuICAgICAgW21hcmdpbl09XCJ0cnVlXCJcbiAgICAgIFtkZWZhdWx0VmFsdWVdPVwib2JzLnByZWZpbGw/LmVpZ2Vuc2NoYXBVcmxcIlxuICAgICAgW2Rpc2FibGVkXT1cIm9icy5kaXNhYmxlZFwiXG4gICAgICBbcmVxdWlyZWRdPVwidHJ1ZVwiXG4gICAgICBbdHJpbV09XCJ0cnVlXCJcbiAgICAgIFt0b29sdGlwXT1cIidlaWdlbnNjaGFwVXJsVG9vbHRpcCcgfCBwbHVnaW5UcmFuc2xhdGU6IG9icy5wbHVnaW5JZCB8IGFzeW5jXCJcbiAgICAgIFtmdWxsV2lkdGhdPVwidHJ1ZVwiXG4gICAgPlxuICAgIDwvdi1pbnB1dD5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwib2JzLnNlbGVjdGVkSW5wdXRPcHRpb24gPT09ICdzZWxlY3Rpb24nXCI+XG4gICAgICA8di1zZWxlY3RcbiAgICAgICAgW2l0ZW1zXT1cIm9icy5jYXNlRGVmaW5pdGlvbkl0ZW1zXCJcbiAgICAgICAgW21hcmdpbl09XCJ0cnVlXCJcbiAgICAgICAgW3dpZHRoSW5QeF09XCIzNTBcIlxuICAgICAgICBuYW1lPVwiY2FzZURlZmluaXRpb25cIlxuICAgICAgICBbdGl0bGVdPVwiJ2Nhc2VEZWZpbml0aW9uJyB8IHBsdWdpblRyYW5zbGF0ZTogb2JzLnBsdWdpbklkIHwgYXN5bmNcIlxuICAgICAgICBbZGlzYWJsZWRdPVwiXG4gICAgICAgICAgb2JzLmRpc2FibGVkIHx8XG4gICAgICAgICAgb2JzLnNlbGVjdGVkSW5wdXRPcHRpb24gPT09ICd0ZXh0JyB8fFxuICAgICAgICAgICFvYnMuY2FzZURlZmluaXRpb25JdGVtcyB8fFxuICAgICAgICAgIG9uZVNlbGVjdEl0ZW0ob2JzLmNhc2VEZWZpbml0aW9uSXRlbXMpXG4gICAgICAgIFwiXG4gICAgICAgIFtyZXF1aXJlZF09XCJ0cnVlXCJcbiAgICAgICAgW2xvYWRpbmddPVwiIW9icy5jYXNlRGVmaW5pdGlvbkl0ZW1zXCJcbiAgICAgICAgW3Rvb2x0aXBdPVwiJ2Nhc2VEZWZpbml0aW9uVG9vbHRpcEVpZ2Vuc2NoYXAnIHwgcGx1Z2luVHJhbnNsYXRlOiBvYnMucGx1Z2luSWQgfCBhc3luY1wiXG4gICAgICAgIChzZWxlY3RlZENoYW5nZSk9XCJzZWxlY3RDYXNlRGVmaW5pdGlvbigkZXZlbnQpXCJcbiAgICAgICAgW2RlZmF1bHRTZWxlY3Rpb25JZF09XCJvYnM/LnNlbGVjdGVkQ2FzZURlZmluaXRpb25JZFwiXG4gICAgICA+PC92LXNlbGVjdD5cbiAgICAgIDx2LXNlbGVjdFxuICAgICAgICBbaXRlbXNdPVwib2JzLmVpZ2Vuc2NoYXBJdGVtcyAmJiBvYnMuZWlnZW5zY2hhcEl0ZW1zW29icy5zZWxlY3RlZENhc2VEZWZpbml0aW9uSWRdXCJcbiAgICAgICAgW21hcmdpbl09XCJ0cnVlXCJcbiAgICAgICAgW3dpZHRoSW5QeF09XCIzNTBcIlxuICAgICAgICBuYW1lPVwiZWlnZW5zY2hhcFVybFwiXG4gICAgICAgIFt0aXRsZV09XCInZWlnZW5zY2hhcFVybFNlbGVjdCcgfCBwbHVnaW5UcmFuc2xhdGU6IG9icy5wbHVnaW5JZCB8IGFzeW5jXCJcbiAgICAgICAgW2Rpc2FibGVkXT1cIlxuICAgICAgICAgIG9icy5kaXNhYmxlZCB8fFxuICAgICAgICAgIG9icy5zZWxlY3RlZElucHV0T3B0aW9uID09PSAndGV4dCcgfHxcbiAgICAgICAgICAhb2JzLmVpZ2Vuc2NoYXBJdGVtcyB8fFxuICAgICAgICAgICFvYnMuZWlnZW5zY2hhcEl0ZW1zW29icy5zZWxlY3RlZENhc2VEZWZpbml0aW9uSWRdXG4gICAgICAgIFwiXG4gICAgICAgIFtkZWZhdWx0U2VsZWN0aW9uSWRdPVwib2JzLnByZWZpbGw/LmVpZ2Vuc2NoYXBVcmxcIlxuICAgICAgICBbcmVxdWlyZWRdPVwidHJ1ZVwiXG4gICAgICAgIFtsb2FkaW5nXT1cIiFvYnMuZWlnZW5zY2hhcEl0ZW1zXCJcbiAgICAgICAgW3Rvb2x0aXBdPVwiJ2VpZ2Vuc2NoYXBVcmxTZWxlY3RUb29sdGlwJyB8IHBsdWdpblRyYW5zbGF0ZTogb2JzLnBsdWdpbklkIHwgYXN5bmNcIlxuICAgICAgICBbY2xlYXJTZWxlY3Rpb25TdWJqZWN0JF09XCJjbGVhckVpZ2Vuc2NoYXBTZWxlY3Rpb24kXCJcbiAgICAgID48L3Ytc2VsZWN0PlxuICAgIDwvbmctY29udGFpbmVyPlxuICA8L25nLWNvbnRhaW5lcj5cbjwvdi1mb3JtPlxuXG48bmctdGVtcGxhdGUgI2xvYWRpbmc+XG4gIDxkaXYgY2xhc3M9XCJsb2FkaW5nLWNvbnRhaW5lclwiPlxuICAgIDxjZHMtbG9hZGluZz48L2Nkcy1sb2FkaW5nPlxuICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
@@ -1,63 +0,0 @@
1
- /*
2
- * Copyright 2015-2024 Ritense BV, the Netherlands.
3
- *
4
- * Licensed under EUPL, Version 1.2 (the "License");
5
- * you may not use this file except in compliance with the License.
6
- * You may obtain a copy of the License at
7
- *
8
- * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
9
- *
10
- * Unless required by applicable law or agreed to in writing, software
11
- * distributed under the License is distributed on an "AS IS" basis,
12
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
- * See the License for the specific language governing permissions and
14
- * limitations under the License.
15
- */
16
- import { Component, EventEmitter, Input, Output } from '@angular/core';
17
- import { Subscription } from 'rxjs';
18
- import { PluginTranslatePipe } from '../../../../pipes';
19
- import * as i0 from "@angular/core";
20
- import * as i1 from "@valtimo/components";
21
- import * as i2 from "@angular/common";
22
- import * as i3 from "../../../../pipes/plugin-translate/plugin-translate.pipe";
23
- export class EndHersteltermijnComponent {
24
- constructor() {
25
- this.configuration = new EventEmitter();
26
- this.valid = new EventEmitter();
27
- this._saveSubscription = new Subscription();
28
- }
29
- ngOnInit() {
30
- this.openSaveSubscription();
31
- this.emitValid();
32
- }
33
- ngOnDestroy() {
34
- this._saveSubscription.unsubscribe();
35
- }
36
- emitValid() {
37
- this.valid.emit(true);
38
- }
39
- openSaveSubscription() {
40
- this._saveSubscription.add(this.save$?.subscribe(() => {
41
- this.configuration.emit({});
42
- }));
43
- }
44
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: EndHersteltermijnComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
45
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: EndHersteltermijnComponent, selector: "valtimo-end-hersteltermijn", inputs: { disabled$: "disabled$", save$: "save$", prefillConfiguration$: "prefillConfiguration$", pluginId: "pluginId" }, outputs: { configuration: "configuration", valid: "valid" }, providers: [PluginTranslatePipe], ngImport: i0, template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-paragraph [center]=\"true\" [fullWidth]=\"true\">\n {{ 'endHersteltermijnInformation' | pluginTranslate: pluginId | async }}\n</v-paragraph>\n", dependencies: [{ kind: "component", type: i1.ParagraphComponent, selector: "v-paragraph", inputs: ["center", "fullWidth", "margin", "italic", "loading", "dataTestId"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "pipe", type: i3.PluginTranslatePipe, name: "pluginTranslate" }] }); }
46
- }
47
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: EndHersteltermijnComponent, decorators: [{
48
- type: Component,
49
- args: [{ selector: 'valtimo-end-hersteltermijn', providers: [PluginTranslatePipe], template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-paragraph [center]=\"true\" [fullWidth]=\"true\">\n {{ 'endHersteltermijnInformation' | pluginTranslate: pluginId | async }}\n</v-paragraph>\n" }]
50
- }], propDecorators: { disabled$: [{
51
- type: Input
52
- }], save$: [{
53
- type: Input
54
- }], prefillConfiguration$: [{
55
- type: Input
56
- }], pluginId: [{
57
- type: Input
58
- }], configuration: [{
59
- type: Output
60
- }], valid: [{
61
- type: Output
62
- }] } });
63
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW5kLWhlcnN0ZWx0ZXJtaWpuLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZhbHRpbW8vcGx1Z2luL3NyYy9saWIvcGx1Z2lucy96YWtlbi1hcGkvY29tcG9uZW50cy9lbmQtaGVyc3RlbHRlcm1pam4vZW5kLWhlcnN0ZWx0ZXJtaWpuLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZhbHRpbW8vcGx1Z2luL3NyYy9saWIvcGx1Z2lucy96YWtlbi1hcGkvY29tcG9uZW50cy9lbmQtaGVyc3RlbHRlcm1pam4vZW5kLWhlcnN0ZWx0ZXJtaWpuLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7OztHQWNHO0FBQ0gsT0FBTyxFQUFDLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFxQixNQUFNLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDeEYsT0FBTyxFQUFhLFlBQVksRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUU5QyxPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSxtQkFBbUIsQ0FBQzs7Ozs7QUFPdEQsTUFBTSxPQUFPLDBCQUEwQjtJQUx2QztRQWFZLGtCQUFhLEdBQXNCLElBQUksWUFBWSxFQUFPLENBQUM7UUFDM0QsVUFBSyxHQUEwQixJQUFJLFlBQVksRUFBVyxDQUFDO1FBRTdELHNCQUFpQixHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7S0FzQmhEO0lBcEJRLFFBQVE7UUFDYixJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztRQUM1QixJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDbkIsQ0FBQztJQUVNLFdBQVc7UUFDaEIsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3ZDLENBQUM7SUFFTyxTQUFTO1FBQ2YsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDeEIsQ0FBQztJQUVPLG9CQUFvQjtRQUMxQixJQUFJLENBQUMsaUJBQWlCLENBQUMsR0FBRyxDQUN4QixJQUFJLENBQUMsS0FBSyxFQUFFLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDekIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDOUIsQ0FBQyxDQUFDLENBQ0gsQ0FBQztJQUNKLENBQUM7K0dBaENVLDBCQUEwQjttR0FBMUIsMEJBQTBCLDRPQUYxQixDQUFDLG1CQUFtQixDQUFDLDBCQ3ZCbEMsb3lCQW1CQTs7NEZETWEsMEJBQTBCO2tCQUx0QyxTQUFTOytCQUNFLDRCQUE0QixhQUUzQixDQUFDLG1CQUFtQixDQUFDOzhCQUt2QixTQUFTO3NCQUFqQixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxxQkFBcUI7c0JBQTdCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFFSSxhQUFhO3NCQUF0QixNQUFNO2dCQUNHLEtBQUs7c0JBQWQsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgMjAxNS0yMDI0IFJpdGVuc2UgQlYsIHRoZSBOZXRoZXJsYW5kcy5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciBFVVBMLCBWZXJzaW9uIDEuMiAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqIGh0dHBzOi8vam9pbnVwLmVjLmV1cm9wYS5ldS9jb2xsZWN0aW9uL2V1cGwvZXVwbC10ZXh0LWV1cGwtMTJcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgYmFzaXMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5pbXBvcnQge0NvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQsIE91dHB1dH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge09ic2VydmFibGUsIFN1YnNjcmlwdGlvbn0gZnJvbSAncnhqcyc7XG5pbXBvcnQge0Z1bmN0aW9uQ29uZmlndXJhdGlvbkNvbXBvbmVudH0gZnJvbSAnLi4vLi4vLi4vLi4vbW9kZWxzJztcbmltcG9ydCB7UGx1Z2luVHJhbnNsYXRlUGlwZX0gZnJvbSAnLi4vLi4vLi4vLi4vcGlwZXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2YWx0aW1vLWVuZC1oZXJzdGVsdGVybWlqbicsXG4gIHRlbXBsYXRlVXJsOiAnLi9lbmQtaGVyc3RlbHRlcm1pam4uY29tcG9uZW50Lmh0bWwnLFxuICBwcm92aWRlcnM6IFtQbHVnaW5UcmFuc2xhdGVQaXBlXSxcbn0pXG5leHBvcnQgY2xhc3MgRW5kSGVyc3RlbHRlcm1pam5Db21wb25lbnRcbiAgaW1wbGVtZW50cyBGdW5jdGlvbkNvbmZpZ3VyYXRpb25Db21wb25lbnQsIE9uSW5pdCwgT25EZXN0cm95XG57XG4gIEBJbnB1dCgpIGRpc2FibGVkJDogT2JzZXJ2YWJsZTxib29sZWFuPjtcbiAgQElucHV0KCkgc2F2ZSQ6IE9ic2VydmFibGU8dm9pZD47XG4gIEBJbnB1dCgpIHByZWZpbGxDb25maWd1cmF0aW9uJDogT2JzZXJ2YWJsZTxhbnk+O1xuICBASW5wdXQoKSBwbHVnaW5JZDogc3RyaW5nO1xuXG4gIEBPdXRwdXQoKSBjb25maWd1cmF0aW9uOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICBAT3V0cHV0KCkgdmFsaWQ6IEV2ZW50RW1pdHRlcjxib29sZWFuPiA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcblxuICBwcml2YXRlIF9zYXZlU3Vic2NyaXB0aW9uID0gbmV3IFN1YnNjcmlwdGlvbigpO1xuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLm9wZW5TYXZlU3Vic2NyaXB0aW9uKCk7XG4gICAgdGhpcy5lbWl0VmFsaWQoKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLl9zYXZlU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gIH1cblxuICBwcml2YXRlIGVtaXRWYWxpZCgpOiB2b2lkIHtcbiAgICB0aGlzLnZhbGlkLmVtaXQodHJ1ZSk7XG4gIH1cblxuICBwcml2YXRlIG9wZW5TYXZlU3Vic2NyaXB0aW9uKCk6IHZvaWQge1xuICAgIHRoaXMuX3NhdmVTdWJzY3JpcHRpb24uYWRkKFxuICAgICAgdGhpcy5zYXZlJD8uc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgdGhpcy5jb25maWd1cmF0aW9uLmVtaXQoe30pO1xuICAgICAgfSlcbiAgICApO1xuICB9XG59XG4iLCI8IS0tXG4gIH4gQ29weXJpZ2h0IDIwMTUtMjAyNCBSaXRlbnNlIEJWLCB0aGUgTmV0aGVybGFuZHMuXG4gIH5cbiAgfiBMaWNlbnNlZCB1bmRlciBFVVBMLCBWZXJzaW9uIDEuMiAodGhlIFwiTGljZW5zZVwiKTtcbiAgfiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gIH4gWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gIH5cbiAgfiBodHRwczovL2pvaW51cC5lYy5ldXJvcGEuZXUvY29sbGVjdGlvbi9ldXBsL2V1cGwtdGV4dC1ldXBsLTEyXG4gIH5cbiAgfiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gIH4gZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIGJhc2lzLFxuICB+IFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICB+IFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAgfiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAgLS0+XG5cbjx2LXBhcmFncmFwaCBbY2VudGVyXT1cInRydWVcIiBbZnVsbFdpZHRoXT1cInRydWVcIj5cbiAge3sgJ2VuZEhlcnN0ZWx0ZXJtaWpuSW5mb3JtYXRpb24nIHwgcGx1Z2luVHJhbnNsYXRlOiBwbHVnaW5JZCB8IGFzeW5jIH19XG48L3YtcGFyYWdyYXBoPlxuIl19