@valtimo/plugin 13.1.2 → 13.2.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.
- package/fesm2022/valtimo-plugin.mjs +72 -65
- package/fesm2022/valtimo-plugin.mjs.map +1 -1
- package/lib/plugins/zaken-api/components/create-vestiging-zaak-rol/create-vestiging-zaak-rol.component.d.ts.map +1 -1
- package/lib/plugins/zaken-api/components/patch-zaak/patch-zaak-configuration.component.d.ts +0 -3
- package/lib/plugins/zaken-api/components/patch-zaak/patch-zaak-configuration.component.d.ts.map +1 -1
- package/lib/plugins/zaken-api/models/config.d.ts +2 -1
- package/lib/plugins/zaken-api/models/config.d.ts.map +1 -1
- package/lib/plugins/zaken-api/zaken-api-plugin.specification.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"valtimo-plugin.mjs","sources":["../../../../projects/valtimo/plugin/src/lib/constants/injection-tokens.ts","../../../../projects/valtimo/plugin/src/lib/constants/index.ts","../../../../projects/valtimo/plugin/src/lib/services/plugin.service.ts","../../../../projects/valtimo/plugin/src/lib/services/plugin-translation.service.ts","../../../../projects/valtimo/plugin/src/lib/services/plugin-management.service.ts","../../../../projects/valtimo/plugin/src/lib/services/index.ts","../../../../projects/valtimo/plugin/src/lib/models/plugin.ts","../../../../projects/valtimo/plugin/src/lib/models/index.ts","../../../../projects/valtimo/plugin/src/lib/pipes/plugin-translate/plugin-translate.pipe.ts","../../../../projects/valtimo/plugin/src/lib/pipes/plugin-translate/plugin-translate-pipe.module.ts","../../../../projects/valtimo/plugin/src/lib/pipes/plugin-translate/index.ts","../../../../projects/valtimo/plugin/src/lib/pipes/index.ts","../../../../projects/valtimo/plugin/src/lib/components/default-plugin-configuration/default-plugin-configuration.component.ts","../../../../projects/valtimo/plugin/src/lib/components/default-plugin-configuration/default-plugin-configuration.component.html","../../../../projects/valtimo/plugin/src/lib/components/plugin-configuration-container/plugin-configuration-container.component.ts","../../../../projects/valtimo/plugin/src/lib/components/plugin-configuration-container/plugin-configuration-container.component.html","../../../../projects/valtimo/plugin/src/lib/components/default-plugin-configuration/default-plugin-configuration.module.ts","../../../../projects/valtimo/plugin/src/lib/components/plugin-configuration-container/plugin-configuration-container.module.ts","../../../../projects/valtimo/plugin/src/lib/plugins/open-zaak/components/open-zaak-configuration/open-zaak-configuration.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/open-zaak/components/open-zaak-configuration/open-zaak-configuration.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/open-zaak/open-zaak-plugin.module.ts","../../../../projects/valtimo/plugin/src/lib/plugins/open-zaak/assets/open-zaak-plugin-logo.ts","../../../../projects/valtimo/plugin/src/lib/plugins/open-zaak/assets/index.ts","../../../../projects/valtimo/plugin/src/lib/plugins/open-zaak/open-zaak-plugin.specification.ts","../../../../projects/valtimo/plugin/src/lib/plugins/object-token-authentication/components/object-token-authentication-configuration/object-token-authencation-configuration.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/object-token-authentication/components/object-token-authentication-configuration/object-token-authencation-configuration.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/object-token-authentication/object-token-authentication-plugin.module.ts","../../../../projects/valtimo/plugin/src/lib/plugins/object-token-authentication/assets/object-token-authentication-plugin-logo.ts","../../../../projects/valtimo/plugin/src/lib/plugins/object-token-authentication/object-token-authentication-plugin.specification.ts","../../../../projects/valtimo/plugin/src/lib/plugins/smart-documents/components/smart-documents-configuration/smart-documents-configuration.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/smart-documents/components/smart-documents-configuration/smart-documents-configuration.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/smart-documents/components/generate-document-configuration/generate-document-configuration.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/smart-documents/components/generate-document-configuration/generate-document-configuration.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/smart-documents/components/get-template-names/get-template-names.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/smart-documents/components/get-template-names/get-template-names.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/smart-documents/smart-documents-plugin.module.ts","../../../../projects/valtimo/plugin/src/lib/plugins/smart-documents/assets/smart-documents-plugin-logo.ts","../../../../projects/valtimo/plugin/src/lib/plugins/smart-documents/assets/index.ts","../../../../projects/valtimo/plugin/src/lib/plugins/smart-documents/smart-documents-plugin.specification.ts","../../../../projects/valtimo/plugin/src/lib/plugins/documenten-api/services/documenten-api.service.ts","../../../../projects/valtimo/plugin/src/lib/plugins/documenten-api/services/index.ts","../../../../projects/valtimo/plugin/src/lib/plugins/documenten-api/components/documenten-api-configuration/documenten-api-configuration.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/documenten-api/components/documenten-api-configuration/documenten-api-configuration.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/documenten-api/components/store-temp-document/store-temp-document-configuration.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/documenten-api/components/store-temp-document/store-temp-document-configuration.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/documenten-api/components/store-uploaded-document/store-uploaded-document-configuration.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/documenten-api/components/store-uploaded-document/store-uploaded-document-configuration.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/documenten-api/components/download-document/download-document-configuration.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/documenten-api/components/download-document/download-document-configuration.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/documenten-api/components/store-uploaded-document-in-parts/store-uploaded-document-in-parts-configuration.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/documenten-api/components/store-uploaded-document-in-parts/store-uploaded-document-in-parts-configuration.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/documenten-api/documenten-api-plugin.module.ts","../../../../projects/valtimo/plugin/src/lib/plugins/documenten-api/assets/documenten-api-plugin-logo.ts","../../../../projects/valtimo/plugin/src/lib/plugins/documenten-api/assets/index.ts","../../../../projects/valtimo/plugin/src/lib/plugins/documenten-api/documenten-api-plugin.specification.ts","../../../../projects/valtimo/plugin/src/lib/plugins/documenten-api/models/config.ts","../../../../projects/valtimo/plugin/src/lib/plugins/objecttypen-api/components/objecttypen-api-configuration/objecttypen-api-configuration.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/objecttypen-api/components/objecttypen-api-configuration/objecttypen-api-configuration.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/objecttypen-api/objecttypen-api-plugin-module.ts","../../../../projects/valtimo/plugin/src/lib/plugins/objecttypen-api/assets/objecttypen-api-plugin-logo.ts","../../../../projects/valtimo/plugin/src/lib/plugins/objecttypen-api/assets/index.ts","../../../../projects/valtimo/plugin/src/lib/plugins/objecttypen-api/objecttypen-api-plugin.specification.ts","../../../../projects/valtimo/plugin/src/lib/plugins/zaken-api/components/zaken-api-configuration/zaken-api-configuration.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/zaken-api/components/zaken-api-configuration/zaken-api-configuration.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/zaken-api/components/link-document-to-zaak/link-document-to-zaak-configuration.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/zaken-api/components/link-document-to-zaak/link-document-to-zaak-configuration.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/zaken-api/components/link-uploaded-document-to-zaak/link-uploaded-document-to-zaak-configuration.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/zaken-api/components/link-uploaded-document-to-zaak/link-uploaded-document-to-zaak-configuration.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/zaken-api/services/zaken-api.service.ts","../../../../projects/valtimo/plugin/src/lib/plugins/zaken-api/services/index.ts","../../../../projects/valtimo/plugin/src/lib/plugins/zaken-api/components/set-zaak-status/set-zaak-status-configuration.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/zaken-api/components/set-zaak-status/set-zaak-status-configuration.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/zaken-api/components/create-zaak-resultaat/create-zaak-resultaat-configuration.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/zaken-api/components/create-zaak-resultaat/create-zaak-resultaat-configuration.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/zaken-api/models/indicatie-machtiging-values.ts","../../../../projects/valtimo/plugin/src/lib/plugins/zaken-api/components/create-medewerker-zaak-rol/create-medewerker-zaak-rol.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/zaken-api/components/create-medewerker-zaak-rol/create-medewerker-zaak-rol.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/zaken-api/components/create-natuurlijk-persoon-zaak-rol/create-natuurlijk-persoon-zaak-rol.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/zaken-api/components/create-natuurlijk-persoon-zaak-rol/create-natuurlijk-persoon-zaak-rol.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/zaken-api/components/create-niet-natuurlijk-persoon-zaak-rol/create-niet-natuurlijk-persoon-zaak-rol.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/zaken-api/components/create-niet-natuurlijk-persoon-zaak-rol/create-niet-natuurlijk-persoon-zaak-rol.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/zaken-api/components/create-organisatorische-eenheid-zaak-rol/create-organisatorische-eenheid-zaak-rol.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/zaken-api/components/create-organisatorische-eenheid-zaak-rol/create-organisatorische-eenheid-zaak-rol.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/zaken-api/components/create-vestiging-zaak-rol/create-vestiging-zaak-rol.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/zaken-api/components/create-vestiging-zaak-rol/create-vestiging-zaak-rol.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/zaken-api/models/create-zaak-properties.ts","../../../../projects/valtimo/plugin/src/lib/plugins/zaken-api/components/create-zaak/create-zaak-configuration.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/zaken-api/components/create-zaak/create-zaak-configuration.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/zaken-api/components/set-zaakopschorting/set-zaakopschorting.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/zaken-api/components/set-zaakopschorting/set-zaakopschorting.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/zaken-api/components/start-hersteltermijn/start-hersteltermijn-configuration.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/zaken-api/components/start-hersteltermijn/start-hersteltermijn-configuration.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/zaken-api/components/end-hersteltermijn/end-hersteltermijn.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/zaken-api/components/end-hersteltermijn/end-hersteltermijn.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/zaken-api/components/create-zaakeigenschap/create-zaakeigenschap.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/zaken-api/components/create-zaakeigenschap/create-zaakeigenschap.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/zaken-api/components/update-zaakeigenschap/update-zaakeigenschap.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/zaken-api/components/update-zaakeigenschap/update-zaakeigenschap.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/zaken-api/components/delete-zaakeigenschap/delete-zaakeigenschap.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/zaken-api/components/delete-zaakeigenschap/delete-zaakeigenschap.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/zaken-api/components/relateer-zaken/relateer-zaken.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/zaken-api/components/relateer-zaken/relateer-zaken.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/zaken-api/models/patch-zaak-properties.ts","../../../../projects/valtimo/plugin/src/lib/plugins/zaken-api/components/patch-zaak/patch-zaak-configuration.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/zaken-api/components/patch-zaak/patch-zaak-configuration.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/zaken-api/zaken-api-plugin.module.ts","../../../../projects/valtimo/plugin/src/lib/plugins/zaken-api/assets/zaken-api-plugin-logo.ts","../../../../projects/valtimo/plugin/src/lib/plugins/zaken-api/assets/index.ts","../../../../projects/valtimo/plugin/src/lib/plugins/zaken-api/zaken-api-plugin.specification.ts","../../../../projects/valtimo/plugin/src/lib/plugins/objecten-api/components/objecten-api-configuration/objecten-api-configuration.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/objecten-api/components/objecten-api-configuration/objecten-api-configuration.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/objecten-api/components/delete-object/delete-object.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/objecten-api/components/delete-object/delete-object.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/objecten-api/objecten-api-plugin-module.ts","../../../../projects/valtimo/plugin/src/lib/plugins/objecten-api/assets/objecten-api-plugin-logo.ts","../../../../projects/valtimo/plugin/src/lib/plugins/objecten-api/assets/index.ts","../../../../projects/valtimo/plugin/src/lib/plugins/objecten-api/objecten-api-plugin.specification.ts","../../../../projects/valtimo/plugin/src/lib/plugins/catalogi-api/components/catalogi-api-configuration/catalogi-api-configuration.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/catalogi-api/components/catalogi-api-configuration/catalogi-api-configuration.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/catalogi-api/components/get-statustype/get-statustype-configuration.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/catalogi-api/components/get-statustype/get-statustype-configuration.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/catalogi-api/components/get-besluittype/get-besluittype-configuration.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/catalogi-api/components/get-besluittype/get-besluittype-configuration.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/catalogi-api/components/get-resultaattype/get-resultaattype-configuration.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/catalogi-api/components/get-resultaattype/get-resultaattype-configuration.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/catalogi-api/components/get-eigenschap/get-eigenschap-configuration.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/catalogi-api/components/get-eigenschap/get-eigenschap-configuration.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/catalogi-api/catalogi-api-plugin-module.ts","../../../../projects/valtimo/plugin/src/lib/plugins/catalogi-api/assets/catalogi-api-plugin-logo.ts","../../../../projects/valtimo/plugin/src/lib/plugins/catalogi-api/assets/index.ts","../../../../projects/valtimo/plugin/src/lib/plugins/catalogi-api/catalogi-api-plugin.specification.ts","../../../../projects/valtimo/plugin/src/lib/plugins/notificaties-api/components/notificaties-api-configuration/notificaties-api-configuration.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/notificaties-api/components/notificaties-api-configuration/notificaties-api-configuration.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/notificaties-api/notificaties-api-plugin.module.ts","../../../../projects/valtimo/plugin/src/lib/plugins/notificaties-api/assets/notificaties-api-plugin-logo.ts","../../../../projects/valtimo/plugin/src/lib/plugins/notificaties-api/notificaties-api-plugin.specification.ts","../../../../projects/valtimo/plugin/src/lib/plugins/notificaties-api-authentication/components/open-notificaties-configuration/open-notificaties-configuration.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/notificaties-api-authentication/components/open-notificaties-configuration/open-notificaties-configuration.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/notificaties-api-authentication/open-notificaties-plugin.module.ts","../../../../projects/valtimo/plugin/src/lib/plugins/notificaties-api-authentication/assets/open-notificaties-plugin-logo.ts","../../../../projects/valtimo/plugin/src/lib/plugins/notificaties-api-authentication/assets/index.ts","../../../../projects/valtimo/plugin/src/lib/plugins/notificaties-api-authentication/open-notificaties-plugin.specification.ts","../../../../projects/valtimo/plugin/src/lib/plugins/portaaltaak/services/object.service.ts","../../../../projects/valtimo/plugin/src/lib/plugins/portaaltaak/services/index.ts","../../../../projects/valtimo/plugin/src/lib/plugins/portaaltaak/components/portaaltaak-configuration/portaaltaak-configuration.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/portaaltaak/components/portaaltaak-configuration/portaaltaak-configuration.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/portaaltaak/components/create-portal-task/create-portal-task.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/portaaltaak/components/create-portal-task/create-portal-task.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/portaaltaak/components/complete-portal-task/complete-portal-task.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/portaaltaak/components/complete-portal-task/complete-portal-task.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/portaaltaak/portaaltaak-plugin.module.ts","../../../../projects/valtimo/plugin/src/lib/plugins/portaaltaak/assets/portaaltaak-plugin-logo.ts","../../../../projects/valtimo/plugin/src/lib/plugins/portaaltaak/portaaltaak-plugin.specification.ts","../../../../projects/valtimo/plugin/src/lib/plugins/verzoek/services/verzoek-plugin.service.ts","../../../../projects/valtimo/plugin/src/lib/plugins/verzoek/services/index.ts","../../../../projects/valtimo/plugin/src/lib/plugins/verzoek/components/verzoek-configuration/verzoek-configuration.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/verzoek/components/verzoek-configuration/verzoek-configuration.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/verzoek/verzoek-plugin.module.ts","../../../../projects/valtimo/plugin/src/lib/plugins/verzoek/assets/verzoek-plugin-logo.ts","../../../../projects/valtimo/plugin/src/lib/plugins/verzoek/verzoek-plugin.specification.ts","../../../../projects/valtimo/plugin/src/lib/plugins/besluiten-api/components/besluiten-api-configuration/besluiten-api-configuration.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/besluiten-api/components/besluiten-api-configuration/besluiten-api-configuration.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/besluiten-api/services/besluiten-api.service.ts","../../../../projects/valtimo/plugin/src/lib/plugins/besluiten-api/services/index.ts","../../../../projects/valtimo/plugin/src/lib/plugins/besluiten-api/components/create-zaak-besluit/create-zaak-besluit-configuration.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/besluiten-api/components/create-zaak-besluit/create-zaak-besluit-configuration.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/besluiten-api/components/link-document-to-besluit/link-document-to-besluit-configuration.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/besluiten-api/components/link-document-to-besluit/link-document-to-besluit-configuration.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/besluiten-api/besluiten-api-plugin.module.ts","../../../../projects/valtimo/plugin/src/lib/plugins/besluiten-api/assets/besluiten-api-plugin-logo.ts","../../../../projects/valtimo/plugin/src/lib/plugins/besluiten-api/assets/index.ts","../../../../projects/valtimo/plugin/src/lib/plugins/besluiten-api/besluiten-api-plugin.specification.ts","../../../../projects/valtimo/plugin/src/lib/plugins/exact/exact-plugin.service.ts","../../../../projects/valtimo/plugin/src/lib/plugins/exact/components/exact-plugin-configuration/exact-plugin-configuration.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/exact/components/exact-plugin-configuration/exact-plugin-configuration.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/exact/components/exact-action-get-request-configuration/exact-get-request-configuration.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/exact/components/exact-action-get-request-configuration/exact-get-request-configuration.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/exact/components/exact-action-put-request-configuration/exact-put-request-configuration.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/exact/components/exact-action-put-request-configuration/exact-put-request-configuration.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/exact/components/exact-action-post-request-configuration/exact-post-request-configuration.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/exact/components/exact-action-post-request-configuration/exact-post-request-configuration.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/exact/exact.plugin.specification.ts","../../../../projects/valtimo/plugin/src/lib/plugins/exact/components/exact-redirect/exact-redirect.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/exact/components/exact-redirect/exact-redirect.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/exact/exact-plugin-routing.module.ts","../../../../projects/valtimo/plugin/src/lib/plugins/exact/exact-plugin.module.ts","../../../../projects/valtimo/plugin/src/public-api.ts","../../../../projects/valtimo/plugin/src/valtimo-plugin.ts"],"sourcesContent":["/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {InjectionToken} from '@angular/core';\nimport {PluginConfig} from '../models';\n\nconst PLUGINS_TOKEN = new InjectionToken<PluginConfig>(\n 'Provide plugin config; an array of plugin specifications.'\n);\n\nexport {PLUGINS_TOKEN};\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport * from './injection-tokens';\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Inject, Injectable} from '@angular/core';\nimport {PluginConfig, PluginSpecification} from '../models';\nimport {BehaviorSubject, Observable} from 'rxjs';\nimport {map} from 'rxjs/operators';\nimport {PLUGINS_TOKEN} from '../constants';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class PluginService {\n private readonly _pluginSpecifications$ = new BehaviorSubject<Array<PluginSpecification>>([]);\n private readonly _availablePluginIds$ = this._pluginSpecifications$.pipe(\n map(pluginSpecifications => pluginSpecifications.map(specification => specification.pluginId))\n );\n\n constructor(@Inject(PLUGINS_TOKEN) private readonly pluginConfig: PluginConfig) {\n this._pluginSpecifications$.next(pluginConfig);\n }\n\n get pluginSpecifications$(): Observable<Array<PluginSpecification>> {\n return this._pluginSpecifications$.asObservable();\n }\n\n get pluginSpecifications(): Array<PluginSpecification> {\n return this._pluginSpecifications$.getValue();\n }\n\n get availablePluginIds$(): Observable<Array<string>> {\n return this._availablePluginIds$;\n }\n}\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Injectable} from '@angular/core';\nimport {TranslateService} from '@ngx-translate/core';\nimport {PluginService} from './plugin.service';\nimport {PluginSpecification} from '../models';\nimport {combineLatest, Observable} from 'rxjs';\nimport {map} from 'rxjs/operators';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class PluginTranslationService {\n constructor(\n private readonly translateService: TranslateService,\n private readonly pluginService: PluginService\n ) {}\n\n public translate(translateKey: string, pluginDefinitionKey: string): Observable<string> {\n return combineLatest([\n this.pluginService.pluginSpecifications$,\n this.translateService.stream('key'),\n ]).pipe(\n map(([pluginSpecifications]) =>\n this.getTranslation(pluginSpecifications, pluginDefinitionKey, translateKey)\n )\n );\n }\n\n public instant(translateKey: string, pluginDefinitionKey: string): string {\n return this.getTranslation(\n this.pluginService.pluginSpecifications,\n pluginDefinitionKey,\n translateKey\n );\n }\n\n public instantByPluginActionKey(pluginActionKey: string): string {\n return this.getTranslationFromPluginActionKey(pluginActionKey);\n }\n\n public instantPluginTitleByPluginActionKey(pluginActionKey: string): string {\n return this.getPluginTitleFromPluginActionKey(pluginActionKey);\n }\n\n private getTranslation(\n pluginSpecifications: Array<PluginSpecification>,\n pluginDefinitionKey: string,\n translateKey: string\n ): string {\n const currentLang = this.translateService.currentLang;\n const pluginSpecification = pluginSpecifications.find(\n specification => specification.pluginId === pluginDefinitionKey\n );\n const translation = pluginSpecification?.pluginTranslations[currentLang][translateKey];\n return translation || `${pluginDefinitionKey}.${translateKey}`;\n }\n\n private getTranslationFromPluginActionKey(pluginActionKey: string): string {\n const currentLang = this.translateService.currentLang;\n const pluginSpecifications = this.pluginService.pluginSpecifications;\n const pluginActionTranslation = pluginSpecifications.reduce((acc, curr) => {\n const currentLanguageTranslations = curr.pluginTranslations[currentLang];\n const pluginActionTranslation =\n currentLanguageTranslations && currentLanguageTranslations[pluginActionKey];\n return pluginActionTranslation || acc;\n }, '');\n\n return pluginActionTranslation || pluginActionKey;\n }\n\n private getPluginTitleFromPluginActionKey(pluginActionKey: string): string {\n const currentLang = this.translateService.currentLang;\n const pluginSpecifications = this.pluginService.pluginSpecifications;\n return pluginSpecifications.reduce((acc, curr) => {\n const currentLanguageTranslations = curr.pluginTranslations[currentLang];\n const pluginActionTranslation =\n currentLanguageTranslations && currentLanguageTranslations[pluginActionKey];\n const pluginTitleTranslation =\n currentLanguageTranslations && currentLanguageTranslations['title'];\n return (pluginActionTranslation && pluginTitleTranslation) || acc;\n }, '-');\n }\n}\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Injectable} from '@angular/core';\nimport {HttpClient, HttpParams} from '@angular/common/http';\nimport {combineLatest, Observable} from 'rxjs';\nimport {\n PluginConfiguration,\n PluginConfigurationWithLogo,\n PluginDefinition,\n PluginFunction,\n} from '../models';\nimport {ConfigService} from '@valtimo/shared';\nimport {map} from 'rxjs/operators';\nimport {PluginService} from './plugin.service';\nimport {DomSanitizer} from '@angular/platform-browser';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class PluginManagementService {\n private readonly VALTIMO_API_ENDPOINT_URI = this.configService.config.valtimoApi.endpointUri;\n\n constructor(\n private readonly configService: ConfigService,\n private readonly pluginService: PluginService,\n private readonly sanitizer: DomSanitizer,\n private readonly http: HttpClient\n ) {}\n\n public getPluginDefinitions(): Observable<Array<PluginDefinition>> {\n return this.http.get<Array<PluginDefinition>>(\n `${this.VALTIMO_API_ENDPOINT_URI}v1/plugin/definition`\n );\n }\n\n public getPluginFunctions(\n pluginDefinitionId: string,\n activityType: string\n ): Observable<Array<PluginFunction>> {\n const params = new HttpParams().set('activityType', activityType);\n\n return this.http.get<Array<PluginFunction>>(\n `${this.VALTIMO_API_ENDPOINT_URI}v1/plugin/definition/${pluginDefinitionId}/action`,\n {params}\n );\n }\n public getAllPluginConfigurations(): Observable<Array<PluginConfiguration>> {\n return this.http.get<Array<PluginConfiguration>>(\n `${this.VALTIMO_API_ENDPOINT_URI}v1/plugin/configuration`\n );\n }\n\n public getPluginConfigurationsByPluginDefinitionKey(\n pluginDefinitionKey: string\n ): Observable<Array<PluginConfiguration>> {\n return this.http.get<Array<PluginConfiguration>>(\n `${this.VALTIMO_API_ENDPOINT_URI}v1/plugin/configuration?pluginDefinitionKey=${pluginDefinitionKey}`\n );\n }\n\n public getPluginConfigurationsByCategory(\n categoryId: string\n ): Observable<Array<PluginConfiguration>> {\n return this.http.get<Array<PluginConfiguration>>(\n `${this.VALTIMO_API_ENDPOINT_URI}v1/plugin/configuration?category=${categoryId}`\n );\n }\n\n public getPluginConfigurationsWithActionsForActivityType(\n activityType: string\n ): Observable<Array<PluginConfiguration>> {\n return this.http.get<Array<PluginConfiguration>>(\n `${this.VALTIMO_API_ENDPOINT_URI}v1/plugin/configuration?activityType=${activityType}`\n );\n }\n\n public getAllPluginConfigurationsWithLogos(\n activityType?: string\n ): Observable<Array<PluginConfigurationWithLogo>> {\n return activityType && activityType.length > 0\n ? this.returnPluginConfigurationsWithLogos(\n this.getPluginConfigurationsWithActionsForActivityType(activityType)\n )\n : this.returnPluginConfigurationsWithLogos(this.getAllPluginConfigurations());\n }\n\n public savePluginConfiguration(\n pluginConfiguration: PluginConfiguration\n ): Observable<PluginConfiguration> {\n return this.http.post<PluginConfiguration>(\n `${this.VALTIMO_API_ENDPOINT_URI}v1/plugin/configuration`,\n pluginConfiguration\n );\n }\n\n updatePluginConfiguration(\n configurationId: string,\n newConfigurationId: string,\n configurationTitle: string,\n configurationProperties: object\n ): Observable<PluginConfiguration> {\n return this.http.put<PluginConfiguration>(\n `${this.VALTIMO_API_ENDPOINT_URI}v1/plugin/configuration/${configurationId}`,\n {\n newId: newConfigurationId,\n title: configurationTitle,\n properties: configurationProperties,\n }\n );\n }\n\n deletePluginConfiguration(configurationId: string): Observable<void> {\n return this.http.delete<void>(\n `${this.VALTIMO_API_ENDPOINT_URI}v1/plugin/configuration/${configurationId}`\n );\n }\n\n private returnPluginConfigurationsWithLogos(\n pluginConfigurations$: Observable<Array<PluginConfiguration>>\n ): Observable<Array<PluginConfigurationWithLogo>> {\n return combineLatest([pluginConfigurations$, this.pluginService.pluginSpecifications$]).pipe(\n map(([pluginConfigurations, pluginSpecifications]) =>\n pluginConfigurations?.map(pluginConfiguration => {\n const pluginSpecification = pluginSpecifications.find(\n specification => specification.pluginId === pluginConfiguration?.pluginDefinition?.key\n );\n\n return {\n ...pluginConfiguration,\n ...(pluginSpecification?.pluginLogoBase64 && {\n pluginLogoBase64: this.sanitizer.bypassSecurityTrustResourceUrl(\n pluginSpecification?.pluginLogoBase64\n ),\n }),\n };\n })\n )\n );\n }\n}\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport * from './plugin.service';\nexport * from './plugin-translation.service';\nexport * from './plugin-management.service';\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {EventEmitter, Type} from '@angular/core';\nimport {Observable} from 'rxjs';\nimport {SafeResourceUrl} from '@angular/platform-browser';\nimport {CaseManagementParams, ManagementContext} from '@valtimo/shared';\n\ninterface PluginConfigurationData {\n configurationId: string;\n configurationTitle: string;\n [key: string]: any;\n}\n\ninterface DefaultPluginConfigurationData {\n configurationId: string;\n}\n\ninterface FunctionConfigurationData {\n [key: string]: any;\n}\n\ninterface ConfigurationComponent {\n save$: Observable<void>;\n disabled$: Observable<boolean>;\n pluginId: string;\n valid: EventEmitter<boolean>;\n context$?: Observable<[ManagementContext, CaseManagementParams]>;\n}\n\ninterface PluginConfigurationComponent extends ConfigurationComponent {\n prefillConfiguration$?: Observable<PluginConfigurationData>;\n configuration: EventEmitter<PluginConfigurationData>;\n}\n\ninterface FunctionConfigurationComponent extends ConfigurationComponent {\n prefillConfiguration$?: Observable<FunctionConfigurationData>;\n selectedPluginConfigurationData$?: Observable<PluginConfigurationData>;\n configuration: EventEmitter<FunctionConfigurationData>;\n}\n\ninterface PluginSpecification {\n pluginId: string;\n pluginLogoBase64: string;\n pluginConfigurationComponent: Type<PluginConfigurationComponent>;\n functionConfigurationComponents?: {\n [functionId: string]: Type<FunctionConfigurationComponent>;\n };\n pluginTranslations: {\n [langKey: string]: {\n title: string;\n description: string;\n [translationKey: string]: string;\n };\n };\n}\n\ntype PluginConfig = Array<PluginSpecification>;\n\ntype ConfigurationComponentType = 'function' | 'configuration';\n\ninterface PluginDefinition {\n key: string;\n description?: string;\n title?: string;\n}\n\ninterface PluginDefinitionWithLogo extends PluginDefinition {\n pluginLogoBase64?: SafeResourceUrl;\n}\n\ninterface PluginConfiguration {\n definitionKey?: string;\n pluginDefinition?: PluginDefinition;\n id?: string;\n newId?: string;\n title: string;\n properties: object;\n}\n\ninterface PluginConfigurationWithLogo extends PluginConfiguration {\n pluginLogoBase64?: SafeResourceUrl;\n}\n\ninterface PluginFunction {\n description?: string;\n key: string;\n title?: string;\n}\n\nexport {\n PluginSpecification,\n PluginConfig,\n PluginConfigurationComponent,\n ConfigurationComponentType,\n PluginConfigurationData,\n DefaultPluginConfigurationData,\n FunctionConfigurationComponent,\n FunctionConfigurationData,\n PluginConfiguration,\n PluginDefinition,\n PluginFunction,\n PluginDefinitionWithLogo,\n PluginConfigurationWithLogo,\n};\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport * from './plugin';\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Pipe, PipeTransform} from '@angular/core';\nimport {Observable} from 'rxjs';\nimport {PluginTranslationService} from '../../services/plugin-translation.service';\n\n@Pipe({\n name: 'pluginTranslate',\n standalone: false,\n})\nexport class PluginTranslatePipe implements PipeTransform {\n constructor(private readonly pluginTranslationService: PluginTranslationService) {}\n\n transform(translateKey: string, pluginDefinitionKey: string): Observable<string> {\n return this.pluginTranslationService.translate(translateKey, pluginDefinitionKey);\n }\n}\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {PluginTranslatePipe} from './plugin-translate.pipe';\nimport {NgModule} from '@angular/core';\nimport {TranslateModule} from '@ngx-translate/core';\n\n@NgModule({\n imports: [TranslateModule],\n declarations: [PluginTranslatePipe],\n exports: [PluginTranslatePipe],\n})\nexport class PluginTranslatePipeModule {}\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport * from './plugin-translate.pipe';\nexport * from './plugin-translate-pipe.module';\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport * from './plugin-translate';\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {BehaviorSubject, combineLatest, Observable, Subscription, take} from 'rxjs';\nimport {DefaultPluginConfigurationData} from '../../models';\nimport {validate as isValidUUID} from 'uuid';\n\n@Component({\n selector: 'valtimo-default-plugin-configuration',\n templateUrl: './default-plugin-configuration.component.html',\n styleUrls: ['./default-plugin-configuration.component.scss'],\n standalone: false,\n})\nexport class DefaultPluginConfigurationComponent implements OnInit, OnDestroy {\n @Input() save$: Observable<void>;\n @Input() disabled$: Observable<boolean>;\n @Input() prefillConfiguration$: Observable<any>;\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() configuration: EventEmitter<DefaultPluginConfigurationData> =\n new EventEmitter<DefaultPluginConfigurationData>();\n\n private saveSubscription!: Subscription;\n private readonly formValue$ = new BehaviorSubject<DefaultPluginConfigurationData | null>(null);\n private readonly valid$ = new BehaviorSubject<boolean>(false);\n\n ngOnInit(): void {\n this.openSaveSubscription();\n }\n\n ngOnDestroy(): void {\n this.saveSubscription?.unsubscribe();\n }\n\n formValueChange(formValue: DefaultPluginConfigurationData): void {\n this.formValue$.next(formValue);\n this.handleValid(formValue);\n }\n\n private handleValid(formValue: DefaultPluginConfigurationData): void {\n const valid = !formValue.configurationId || isValidUUID(formValue.configurationId);\n this.valid$.next(valid);\n this.valid.emit(valid);\n }\n\n private openSaveSubscription(): void {\n this.saveSubscription = this.save$?.subscribe(save => {\n combineLatest([this.formValue$, this.valid$])\n .pipe(take(1))\n .subscribe(([formValue, valid]) => {\n if (valid) {\n this.configuration.emit(formValue);\n }\n });\n });\n }\n}\n","<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null,\n } as obs\"\n>\n <v-input\n name=\"configurationId\"\n [title]=\"'plugin.configurationId' | translate\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.configurationId\"\n [required]=\"false\"\n [tooltip]=\"'plugin.configurationIdTooltip' | translate\"\n placeholder=\"00000000-0000-0000-0000-000000000000\"\n >\n </v-input>\n</v-form>\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {\n Component,\n ComponentRef,\n EventEmitter,\n Input,\n OnDestroy,\n OnInit,\n Output,\n Type,\n ViewChild,\n ViewContainerRef,\n} from '@angular/core';\nimport {PluginService} from '../../services';\nimport {BehaviorSubject, combineLatest, Observable, Subscription} from 'rxjs';\nimport {map, tap} from 'rxjs/operators';\nimport {\n ConfigurationComponentType,\n DefaultPluginConfigurationData,\n FunctionConfigurationComponent,\n PluginConfiguration,\n PluginConfigurationComponent,\n PluginConfigurationData,\n} from '../../models';\nimport {ActivatedRoute} from '@angular/router';\nimport {getCaseManagementRouteParamsAndContext} from '@valtimo/shared';\n\n@Component({\n selector: 'valtimo-plugin-configuration-container',\n templateUrl: './plugin-configuration-container.component.html',\n styleUrls: ['./plugin-configuration-container.component.scss'],\n standalone: false,\n})\nexport class PluginConfigurationContainerComponent\n implements OnInit, OnDestroy, Omit<PluginConfigurationComponent, 'pluginId'>\n{\n @ViewChild('pluginConfigurationComponent', {static: true, read: ViewContainerRef})\n public dynamicContainer: ViewContainerRef;\n\n @Input() set type(type: ConfigurationComponentType) {\n this._componentType.next(type);\n }\n @Input() set pluginDefinitionKey(key: string) {\n this._pluginDefinitionKey.next(key);\n }\n @Input() set functionKey(key: string) {\n this._functionKey.next(key);\n }\n @Input() save$: Observable<void>;\n @Input() disabled$: Observable<boolean>;\n @Input() selectedPluginConfiguration$: Observable<PluginConfiguration>;\n @Input() prefillConfiguration$: Observable<any>;\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() configuration: EventEmitter<PluginConfigurationData> =\n new EventEmitter<PluginConfigurationData>();\n\n readonly noConfigurationComponentAvailable$ = new BehaviorSubject<boolean>(false);\n readonly componentRef$ = new BehaviorSubject<\n ComponentRef<PluginConfigurationComponent | FunctionConfigurationComponent> | undefined\n >(undefined);\n\n private componentRefSubscription!: Subscription;\n private pluginSubscription!: Subscription;\n private validSubscription!: Subscription;\n private configurationSubscription!: Subscription;\n\n private readonly _componentType = new BehaviorSubject<ConfigurationComponentType | null>(null);\n private readonly _pluginDefinitionKey = new BehaviorSubject<string>('');\n private readonly _functionKey = new BehaviorSubject<string>('');\n private readonly _defaultConfiguration =\n new BehaviorSubject<DefaultPluginConfigurationData | null>(null);\n private readonly _validDefaultConfiguration = new BehaviorSubject<boolean>(true);\n\n readonly isTypeConfiguration$: Observable<boolean> = this._componentType.pipe(\n map(componentType => componentType === 'configuration'),\n tap(isTypeConfiguration => this._validDefaultConfiguration.next(!isTypeConfiguration))\n );\n\n constructor(\n private readonly pluginService: PluginService,\n private readonly route: ActivatedRoute\n ) {}\n\n ngOnInit(): void {\n this.openPluginSubscription();\n this.openComponentInstanceSubscription();\n }\n\n ngOnDestroy(): void {\n this.pluginSubscription?.unsubscribe();\n this.componentRefSubscription?.unsubscribe();\n }\n\n onDefaultConfiguration(defaultConfiguration: DefaultPluginConfigurationData) {\n this._defaultConfiguration.next(defaultConfiguration);\n }\n\n onValidDefaultConfiguration(valid: boolean) {\n this._validDefaultConfiguration.next(valid);\n }\n\n private openPluginSubscription(): void {\n this.pluginSubscription = combineLatest([\n this._pluginDefinitionKey,\n this._functionKey,\n this._componentType,\n this.pluginService.pluginSpecifications$,\n ])\n .pipe(\n tap(([pluginDefinitionKey, functionKey, componentType, pluginSpecifications]) => {\n let configurationComponent!: Type<\n PluginConfigurationComponent | FunctionConfigurationComponent\n >;\n\n this.dynamicContainer.clear();\n\n if (componentType === 'configuration' && pluginDefinitionKey) {\n configurationComponent = pluginSpecifications.find(\n specification => specification.pluginId === pluginDefinitionKey\n )?.pluginConfigurationComponent;\n } else if (componentType === 'function' && pluginDefinitionKey && functionKey) {\n const pluginSpecification = pluginSpecifications.find(\n specification => specification.pluginId === pluginDefinitionKey\n );\n configurationComponent =\n pluginSpecification?.functionConfigurationComponents[functionKey];\n }\n\n if (configurationComponent) {\n const componentRef = this.dynamicContainer.createComponent(configurationComponent);\n this.componentRef$.next(componentRef);\n this.noConfigurationComponentAvailable$.next(false);\n } else {\n this.noConfigurationComponentAvailable$.next(true);\n }\n })\n )\n .subscribe();\n }\n\n private openComponentInstanceSubscription(): void {\n this.componentRefSubscription = combineLatest([\n this.componentRef$,\n this._componentType,\n this._pluginDefinitionKey,\n ]).subscribe(([ref, type, pluginDefinitionKey]) => {\n const instance = ref?.instance;\n\n this.configurationSubscription?.unsubscribe();\n this.validSubscription?.unsubscribe();\n\n if (instance) {\n instance.save$ = this.save$;\n instance.disabled$ = this.disabled$;\n instance.pluginId = pluginDefinitionKey;\n instance.context$ = getCaseManagementRouteParamsAndContext(this.route);\n\n if (this.prefillConfiguration$) {\n instance.prefillConfiguration$ = this.prefillConfiguration$;\n }\n\n if (this.selectedPluginConfiguration$ && type === 'function') {\n (instance as FunctionConfigurationComponent).selectedPluginConfigurationData$ =\n this.selectedPluginConfiguration$.pipe(\n map(configuration =>\n configuration\n ? ({\n configurationId: configuration.id,\n configurationTitle: configuration.title,\n ...configuration.properties,\n } as PluginConfigurationData)\n : undefined\n )\n );\n }\n\n this.validSubscription = combineLatest([\n instance.valid,\n this._validDefaultConfiguration,\n ]).subscribe(([instanceValid, defaultConfigurationValid]) => {\n this.valid.emit(instanceValid && defaultConfigurationValid);\n });\n\n this.configurationSubscription = instance.configuration.subscribe(configuration => {\n const configurationId = this._defaultConfiguration.value?.configurationId;\n this.configuration.emit({\n ...configuration,\n configurationId,\n } as any as PluginConfigurationData);\n });\n }\n });\n }\n}\n","<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<valtimo-default-plugin-configuration\n *ngIf=\"isTypeConfiguration$ | async\"\n [prefillConfiguration$]=\"prefillConfiguration$\"\n [save$]=\"save$\"\n [disabled$]=\"disabled$\"\n (valid)=\"onValidDefaultConfiguration($event)\"\n (configuration)=\"onDefaultConfiguration($event)\"\n>\n</valtimo-default-plugin-configuration>\n<ng-template #pluginConfigurationComponent></ng-template>\n<ng-container *ngIf=\"noConfigurationComponentAvailable$ | async\">\n <v-paragraph [center]=\"true\">{{ 'plugin.noConfigurationComponent' | translate }}</v-paragraph>\n</ng-container>\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {NgModule} from '@angular/core';\nimport {CommonModule} from '@angular/common';\nimport {DefaultPluginConfigurationComponent} from './default-plugin-configuration.component';\nimport {FormModule, InputModule, ParagraphModule} from '@valtimo/components';\nimport {TranslateModule} from '@ngx-translate/core';\nimport {PluginTranslatePipeModule} from '../../pipes';\n\n@NgModule({\n declarations: [DefaultPluginConfigurationComponent],\n imports: [\n CommonModule,\n ParagraphModule,\n TranslateModule,\n PluginTranslatePipeModule,\n FormModule,\n InputModule,\n ],\n exports: [DefaultPluginConfigurationComponent],\n})\nexport class DefaultPluginConfigurationModule {}\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {NgModule} from '@angular/core';\nimport {CommonModule} from '@angular/common';\nimport {PluginConfigurationContainerComponent} from './plugin-configuration-container.component';\nimport {ParagraphModule} from '@valtimo/components';\nimport {TranslateModule} from '@ngx-translate/core';\nimport {DefaultPluginConfigurationModule} from '../default-plugin-configuration/default-plugin-configuration.module';\n\n@NgModule({\n declarations: [PluginConfigurationContainerComponent],\n imports: [CommonModule, ParagraphModule, TranslateModule, DefaultPluginConfigurationModule],\n exports: [PluginConfigurationContainerComponent],\n})\nexport class PluginConfigurationContainerModule {}\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {PluginConfigurationComponent} from '../../../../models';\nimport {BehaviorSubject, combineLatest, Observable, Subscription, take} from 'rxjs';\nimport {OpenZaakConfig} from '../../models';\n\n@Component({\n selector: 'valtimo-open-zaak-configuration',\n templateUrl: './open-zaak-configuration.component.html',\n styleUrls: ['./open-zaak-configuration.component.scss'],\n standalone: false,\n})\nexport class OpenZaakConfigurationComponent\n implements PluginConfigurationComponent, OnInit, OnDestroy\n{\n @Input() save$: Observable<void>;\n @Input() disabled$: Observable<boolean>;\n @Input() pluginId: string;\n @Input() prefillConfiguration$: Observable<OpenZaakConfig>;\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() configuration: EventEmitter<OpenZaakConfig> = new EventEmitter<OpenZaakConfig>();\n\n private saveSubscription!: Subscription;\n\n private readonly formValue$ = new BehaviorSubject<OpenZaakConfig | null>(null);\n private readonly valid$ = new BehaviorSubject<boolean>(false);\n\n ngOnInit(): void {\n this.openSaveSubscription();\n }\n\n ngOnDestroy() {\n this.saveSubscription?.unsubscribe();\n }\n\n formValueChange(formValue: OpenZaakConfig): void {\n this.formValue$.next(formValue);\n this.handleValid(formValue);\n }\n\n private handleValid(formValue: OpenZaakConfig): void {\n const valid = !!(formValue.configurationTitle && formValue.clientId && formValue.clientSecret);\n\n this.valid$.next(valid);\n this.valid.emit(valid);\n }\n\n private openSaveSubscription(): void {\n this.saveSubscription = this.save$?.subscribe(save => {\n combineLatest([this.formValue$, this.valid$])\n .pipe(take(1))\n .subscribe(([formValue, valid]) => {\n if (valid) {\n this.configuration.emit(formValue);\n }\n });\n });\n }\n}\n","<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null,\n } as obs\"\n>\n <v-input\n name=\"configurationTitle\"\n [title]=\"'configurationTitle' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.configurationTitle\"\n [required]=\"true\"\n [trim]=\"true\"\n [tooltip]=\"'configurationTitleTooltip' | pluginTranslate: pluginId | async\"\n placeholder=\"OpenZaak Plugin\"\n >\n </v-input>\n <v-input\n name=\"clientId\"\n [title]=\"'clientId' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.clientId\"\n [required]=\"true\"\n [trim]=\"true\"\n [tooltip]=\"'clientIdTooltip' | pluginTranslate: pluginId | async\"\n placeholder=\"client-id\"\n >\n </v-input>\n <v-input\n name=\"clientSecret\"\n type=\"password\"\n [title]=\"'clientSecret' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.clientSecret\"\n [required]=\"true\"\n [tooltip]=\"'clientSecretTooltip' | pluginTranslate: pluginId | async\"\n placeholder=\"\"\n >\n </v-input>\n</v-form>\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {NgModule} from '@angular/core';\nimport {CommonModule} from '@angular/common';\nimport {OpenZaakConfigurationComponent} from './components/open-zaak-configuration/open-zaak-configuration.component';\nimport {FormModule, InputModule} from '@valtimo/components';\nimport {PluginTranslatePipeModule} from '../../pipes';\n\n@NgModule({\n declarations: [OpenZaakConfigurationComponent],\n imports: [CommonModule, FormModule, InputModule, PluginTranslatePipeModule],\n exports: [OpenZaakConfigurationComponent],\n})\nexport class OpenZaakPluginModule {}\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nconst OPEN_ZAAK_PLUGIN_LOGO_BASE64 =\n 'data:image/png;base64,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';\n\nexport {OPEN_ZAAK_PLUGIN_LOGO_BASE64};\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport * from './open-zaak-plugin-logo';\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {PluginSpecification} from '../../models';\nimport {OpenZaakConfigurationComponent} from './components/open-zaak-configuration/open-zaak-configuration.component';\nimport {OPEN_ZAAK_PLUGIN_LOGO_BASE64} from './assets';\n\nconst openZaakPluginSpecification: PluginSpecification = {\n pluginId: 'openzaak',\n pluginConfigurationComponent: OpenZaakConfigurationComponent,\n pluginLogoBase64: OPEN_ZAAK_PLUGIN_LOGO_BASE64,\n pluginTranslations: {\n nl: {\n title: 'OpenZaak',\n description:\n 'OpenZaak is een productiewaardig API platform die de API-standaard voor zaakgericht werken implementeert (de ZGW-API’s).',\n configurationTitle: 'Configuratienaam',\n configurationTitleTooltip:\n 'Onder deze naam zal de plugin te herkennen zijn in de rest van de applicatie',\n clientId: 'Client ID',\n clientIdTooltip:\n 'Vul hier het clientId in dat geconfigureerd staat onder OpenZaak-beheer (zie API authorisaties > Applicaties). Dit clientId moet de juiste authorisaties hebben voor de benodigde functionaliteit',\n clientSecret: 'Secret',\n clientSecretTooltip: 'Vul de secret in die hoort bij de clientId hierboven',\n },\n en: {\n title: 'OpenZaak',\n description:\n 'OpenZaak is a production-worthy API platform that implements the API standard for case-oriented working (the ZGW APIs).',\n configurationTitle: 'Configuration name',\n configurationTitleTooltip:\n 'Under this name, the plugin will be recognizable in the rest of the application',\n clientId: 'Client ID',\n clientIdTooltip:\n 'Enter the clientId here which is configured under OpenZaak management (see API authorizations > Applications). This clientId must have the correct authorizations for the required functionality',\n clientSecret: 'Secret',\n clientSecretTooltip: 'Enter the secret associated with the clientId above',\n },\n de: {\n title: 'OpenZaak',\n description:\n 'OpenZaak ist eine produktionstaugliche API-Plattform, die den API-Standard für fallorientiertes Arbeiten (die ZGW-APIs) implementiert.',\n configurationTitle: 'Konfigurationsname',\n configurationTitleTooltip:\n 'Unter diesem Namen wird das Plugin im Rest der Anwendung erkennbar sein',\n clientId: 'Client ID',\n clientIdTooltip:\n 'Geben Sie hier die clientId ein, die unter OpenZaak-Verwaltung konfiguriert ist (siehe API-Berechtigungen > Anwendungen). Diese clientId muss die richtigen Berechtigungen für die erforderliche Funktionalität haben',\n clientSecret: 'Secret',\n clientSecretTooltip: 'Geben Sie das mit der obigen clientId verknüpfte Geheimnis ein',\n },\n },\n};\n\nexport {openZaakPluginSpecification};\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {PluginConfigurationComponent} from '../../../../models';\nimport {BehaviorSubject, combineLatest, Observable, Subscription, take} from 'rxjs';\nimport {ObjectTokenAuthenticationConfig} from '../../models';\n\n@Component({\n selector: 'valtimo-object-token-authentication-configuration',\n templateUrl: './object-token-authencation-configuration.component.html',\n styleUrls: ['./object-token-authencation-configuration.component.scss'],\n standalone: false,\n})\nexport class ObjectTokenAuthencationConfigurationComponent\n implements PluginConfigurationComponent, OnInit, OnDestroy\n{\n @Input() save$: Observable<void>;\n @Input() disabled$: Observable<boolean>;\n @Input() pluginId: string;\n @Input() prefillConfiguration$: Observable<ObjectTokenAuthenticationConfig>;\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() configuration: EventEmitter<ObjectTokenAuthenticationConfig> =\n new EventEmitter<ObjectTokenAuthenticationConfig>();\n\n private saveSubscription!: Subscription;\n\n private readonly formValue$ = new BehaviorSubject<ObjectTokenAuthenticationConfig | null>(null);\n private readonly valid$ = new BehaviorSubject<boolean>(false);\n\n ngOnInit(): void {\n this.openSaveSubscription();\n }\n\n ngOnDestroy() {\n this.saveSubscription?.unsubscribe();\n }\n\n formValueChange(formValue: ObjectTokenAuthenticationConfig): void {\n this.formValue$.next(formValue);\n this.handleValid(formValue);\n }\n\n private handleValid(formValue: ObjectTokenAuthenticationConfig): void {\n const valid = !!(formValue.configurationTitle && formValue.token?.length >= 20);\n\n this.valid$.next(valid);\n this.valid.emit(valid);\n }\n\n private openSaveSubscription(): void {\n this.saveSubscription = this.save$?.subscribe(save => {\n combineLatest([this.formValue$, this.valid$])\n .pipe(take(1))\n .subscribe(([formValue, valid]) => {\n if (valid) {\n this.configuration.emit(formValue);\n }\n });\n });\n }\n}\n","<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null,\n } as obs\"\n>\n <v-input\n name=\"configurationTitle\"\n [title]=\"'configurationTitle' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.configurationTitle\"\n [required]=\"true\"\n [trim]=\"true\"\n [tooltip]=\"'configurationTitleTooltip' | pluginTranslate: pluginId | async\"\n placeholder=\"Object Token Authenticatie Plugin\"\n >\n </v-input>\n <v-input\n name=\"token\"\n type=\"password\"\n [title]=\"'token' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.clientId\"\n [required]=\"true\"\n [tooltip]=\"'tokenTooltip' | pluginTranslate: pluginId | async\"\n >\n </v-input>\n</v-form>\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {ObjectTokenAuthencationConfigurationComponent} from './components/object-token-authentication-configuration/object-token-authencation-configuration.component';\nimport {CommonModule} from '@angular/common';\nimport {PluginTranslatePipeModule} from '../../pipes';\nimport {FormModule, InputModule} from '@valtimo/components';\nimport {NgModule} from '@angular/core';\n\n@NgModule({\n declarations: [ObjectTokenAuthencationConfigurationComponent],\n imports: [CommonModule, PluginTranslatePipeModule, FormModule, InputModule],\n exports: [ObjectTokenAuthencationConfigurationComponent],\n})\nexport class ObjectTokenAuthenticationPluginModule {}\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nconst OBJECT_TOKEN_AUTHENTICATION_PLUGIN_LOGO_BASE64 =\n 'data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyBpZD0iTGF5ZXJfMiIgZGF0YS1uYW1lPSJMYXllciAyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAzNDMuMDggMTgwLjIxIj4KICA8ZGVmcz4KICAgIDxzdHlsZT4KICAgICAgLmNscy0xIHsKICAgICAgICBmaWxsOiAjZmZiYzJkOwogICAgICB9CiAgICA8L3N0eWxlPgogIDwvZGVmcz4KICA8ZyBpZD0iTGF5ZXJfMS0yIiBkYXRhLW5hbWU9IkxheWVyIDEiPgogICAgPHBhdGggY2xhc3M9ImNscy0xIiBkPSJtMTQyLjgxLDcxLjgxYy04LjAyLTcuNjUtMTcuMzEtMTIuODQtMjguNTgtMTMuMDUtMTQuMDItLjI2LTMwLjQ4LDEwLjExLTMzLjQzLDI3LjM2LTEuNDIsOC4yOS42NSwxNS45NCw1LjY4LDIyLjYyLDcuNTEsOS45OCwxNy42NSwxNS41MywzMC4xNCwxNS41OSwxMi4yMS4wNiwyMy4yNC00LjA2LDMyLjk4LTExLjUsMi45OS0yLjI4LDUuNzgtNC43Nyw4LjM4LTcuNDguNi0uNjMsMS4yMi0xLjI2LDEuOTItMS43OC44OS0uNjUsMS44OS0uNzksMi42Ny4xNy43Ljg3LjE2LDEuNjYtLjQzLDIuMzMtMy42NCw0LjEzLTcuNDgsOC4wNC0xMS44MywxMS40NS0xMC4zNyw4LjE0LTIyLjE5LDEyLjYzLTM1LjI2LDEyLjgzLTIxLjAzLjMyLTQxLjIyLTE1LjY2LTQzLjctMzYuNTgtMS45NS0xNi41NCw0LjcxLTI5LjI4LDE3LjU3LTM4LjkxLDE1LjQ3LTExLjU3LDMyLjM3LTExLjgyLDQ5LjY4LTQuNjcsMTcuMTUsNy4wOCwzMC4yMywxOS4xNiw0MC43LDM0LjI1LDcuMSwxMC4yMywxNS4yMywxOS40NywyNS4zNiwyNi44Miw2LjE3LDQuNDgsMTIuOTUsNy41NywyMC41NCw4LjQ4LDExLjE0LDEuMzQsMjUuNjYtNC4xNCwzMi40Ny0xNi42Miw2LjItMTEuMzYsNC4zNi0yNS41Mi00LjU1LTM1LjEyLTkuNTktMTAuMzMtMjEuMzktMTQuMDMtMzUuMjctMTEuOTMtMTIuNiwxLjkxLTIzLjAzLDcuOC0zMi4wMywxNi41NS0uNzIuNy0xLjM3LDEuNDYtMi4xMywyLjExLTEuMDQuODktMS45OCwyLjk5LTMuNTYsMS41MS0xLjM1LTEuMjguMS0yLjc3LDEuMDUtMy44NywxMC40NS0xMi4wOCwyMi45OC0yMC42MiwzOS4xNS0yMi45OSwxOC4wNi0yLjY1LDMyLjgxLDMuMzQsNDMuODUsMTcuNjUsMTMuMDMsMTYuODksMTAuNDEsNDMuOTEtOS44Myw1OC4zNC0xNS4yMiwxMC44NS0zMS43MiwxMS44MS00OC43OSw1LjM4LTE2LjUyLTYuMjMtMjkuMjYtMTcuNDktMzkuNTEtMzEuNjItNS41Ny03LjY5LTEwLjg5LTE1LjU1LTE3LjYtMjIuMzNsLTUuNjItNS4wMloiLz4KICAgIDxwYXRoIGQ9Im0zMjMuNDYsODkuNjVjLTEuMy0uMzUtMi42MS0uNy0zLjkxLTEuMDUtMTEuOTEtMy4yMy0xOC4zMS0xMS4yNi0xOC41LTIzLjYyLS4xNi05Ljg3LS4wMy0xOS43NS0uMDYtMjkuNjIsMC0xLjg3LjAzLTMuNzctLjI4LTUuNjEtMS41NS04Ljk4LTcuNzUtMTQuMzEtMTcuNzItMTUuMzlxLTQuODItLjUyLTQuODItNS4zOWMwLTIuMjUuMDYtNC41LS4wMi02Ljc1LS4wNS0xLjQ4LjItMi4yNSwyLTIuMjEsOC41MS4xNywxNi42MywxLjgxLDIzLjkyLDYuMzgsOS43OCw2LjEzLDEzLjg0LDE1LjM5LDEzLjk3LDI2LjU5LjExLDkuNS4wMiwxOSwuMDMsMjguNSwwLDEuNjItLjAxLDMuMjUuMDksNC44Ny40NSw3LjI0LDQuMDksMTIuMTUsMTAuOTIsMTQuNiwzLjU1LDEuMjcsNy4yNywxLjg1LDExLjAyLDEuOSwyLjE1LjAzLDMuMTUuNTUsMi45NSwyLjk5LS4yNSwzLjEtLjE0LDYuMjUtLjAzLDkuMzcuMDYsMS42My0uNTUsMi4yLTIuMTQsMi4yMS0zLjUuMDItNi45Ni40MS0xMC4zNCwxLjQ3LTguMjksMi42Mi0xMi4yNCw3LjUtMTIuNCwxNi4xNC0uMTgsMTAtLjA5LDIwLS4wNywzMCwwLDMuNTEtLjIsNy4wMS0uOTQsMTAuNDMtMi4xNSw5Ljg4LTguMTUsMTYuNjUtMTcuMjgsMjAuNy02LjAxLDIuNjctMTIuMzksMy42NC0xOC45Myw0LjA0LTIuNS4xNS0yLjk1LS43NC0yLjgxLTIuOTIuMTctMi42MS4wMy01LjI1LjA0LTcuODcuMDItMy4yNy4wMy0zLjMyLDMuMTYtMy40OCwyLjM5LS4xMiw0LjcxLS41Niw2Ljk4LTEuMjUsOC4yNi0yLjUzLDEyLjQ2LTcuODIsMTIuNjEtMTYuNDguMTgtMTAuMzcuMS0yMC43NS4wNi0zMS4xMi0uMDEtMy4xNS4yNy02LjI1LDEtOS4yOSwxLjkyLTguMDQsNy4zNC0xMi43OSwxNC45MS0xNS4zNywyLjE4LS43NCw0LjQyLTEuMyw2LjYzLTEuOTQtLjAyLS4yOC0uMDQtLjU1LS4wNS0uODNaIi8+CiAgICA8cGF0aCBkPSJtMTkuMjYsOTAuNDdjMi4xLjYyLDQuMjMsMS4xNyw2LjMsMS44OSw5Ljk4LDMuNDMsMTUuNjIsMTAuNjMsMTUuOTcsMjEuMi4zMywxMC4yNC4xNCwyMC40OS4yMywzMC43My4wMiwyLjI0LjE1LDQuNS40NCw2LjcyLjc3LDUuOTEsMy45LDEwLjE1LDkuMzgsMTIuNTYsMy4zNCwxLjQ3LDYuODcsMi4zNywxMC41MiwyLjMxLDIuMzUtLjA0LDMuMDEuODUsMi44NywzLjA4LS4xOCwyLjk5LS4wOCw2LS4wMyw4Ljk5LjAzLDEuNDItLjEsMi4yOS0xLjk2LDIuMjMtOC4wOS0uMjYtMTUuOTEtMS42Mi0yMy4wNC01LjYyLTkuNi01LjM5LTE0LjY2LTEzLjc2LTE0Ljk1LTI0LjcxLS4yOC0xMC4zNi0uMDktMjAuNzQtLjEtMzEuMTEsMC0yLjM4LS4xNC00LjczLS41Ni03LjA4LS45OS01LjYyLTQuMDctOS41My05LjI5LTExLjc4LTMuODMtMS42Ni03Ljg3LTIuNDYtMTIuMDItMi40Mi0yLjIuMDItMy4xNi0uNTUtMy0yLjk1LjIxLTMuMTEuMTMtNi4yNS4wMi05LjM3LS4wNi0xLjY1LjU4LTIuMTYsMi4xNC0yLjI1LDIuNjEtLjE0LDUuMjEtLjMyLDcuOC0uOSwxMC4xMi0yLjI1LDE0LjczLTcuNjYsMTQuODYtMTguMDcuMTMtMTAuNDkuMDYtMjAuOTkuMDMtMzEuNDktLjAxLTQuNjguOC05LjE4LDIuNzItMTMuNDYsMy4wMS02LjY4LDguMTYtMTEuMjQsMTQuNjQtMTQuMzlDNDguNjIsMS40Nyw1NS40NC4yNCw2Mi41MSwwYzIuMS0uMDcsMi41Mi42NywyLjQ0LDIuNTMtLjEyLDIuOTktLjE2LDYsLjAxLDguOTkuMTEsMi4wMi0uNjcsMi42Ni0yLjU2LDIuNjgtMi44OS4wMy01LjY5LjYyLTguNDMsMS41Ny03LjA2LDIuNDQtMTEuMTMsNy4zLTExLjksMTQuNzgtLjE5LDEuODYtLjMyLDMuNzMtLjMzLDUuNi0uMDYsOS44Ny4xMywxOS43NS0uMTYsMjkuNjEtLjM2LDEyLjA4LTYuNjgsMTkuNjgtMTguNCwyMi44NC0xLjMuMzUtMi42MS43MS0zLjkxLDEuMDYsMCwuMjctLjAyLjUzLS4wMi44WiIvPgogIDwvZz4KPC9zdmc+';\nexport {OBJECT_TOKEN_AUTHENTICATION_PLUGIN_LOGO_BASE64};\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {PluginSpecification} from '../../models';\nimport {ObjectTokenAuthencationConfigurationComponent} from './components/object-token-authentication-configuration/object-token-authencation-configuration.component';\nimport {OBJECT_TOKEN_AUTHENTICATION_PLUGIN_LOGO_BASE64} from './assets/object-token-authentication-plugin-logo';\n\nconst objectTokenAuthenticationPluginSpecification: PluginSpecification = {\n pluginId: 'objecttokenauthentication',\n pluginConfigurationComponent: ObjectTokenAuthencationConfigurationComponent,\n pluginLogoBase64: OBJECT_TOKEN_AUTHENTICATION_PLUGIN_LOGO_BASE64,\n\n pluginTranslations: {\n nl: {\n title: 'Object token authenticatie',\n description:\n 'Auhenticatie met behulp van tokens voor gebruik door de Objecten API en Objecttypen API.',\n configurationTitle: 'Configuratienaam',\n configurationTitleTooltip:\n 'Onder deze naam zal de plug-in te herkennen zijn in de rest van de applicatie',\n token: 'Token',\n tokenTooltip:\n 'Het token is een sleutel waarmee toestemmingen verleend zijn om specifieke objecttypen en objecten te mogen ophalen',\n },\n en: {\n title: 'Object token authentication',\n description: 'Authentication using tokens for use by the Objecten API and Objecttypen API.',\n configurationTitle: 'Configuration name',\n configurationTitleTooltip:\n 'With this name the plugin will be recognizable in the rest of the application',\n token: 'Token',\n tokenTooltip:\n 'The token is a key that grants permissions to access specific object types and objects',\n },\n de: {\n title: 'Object Token-Authentifizierung',\n description:\n 'Authentifizierung mit Token zur Verwendung durch die Objecten API und die Objecttypen API.',\n configurationTitle: 'Konfigurationsname',\n configurationTitleTooltip:\n 'An diesem Namen wird das Plugin im Rest der Anwendung erkennbar sein',\n token: 'Token',\n tokenTooltip:\n 'Das Token ist ein Schlüssel, der Berechtigungen zum Anzeigen bestimmter Objekttypen und Objekte erteilt',\n },\n },\n};\n\nexport {objectTokenAuthenticationPluginSpecification};\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {PluginConfigurationComponent} from '../../../../models';\nimport {BehaviorSubject, combineLatest, Observable, Subscription, take} from 'rxjs';\nimport {SmartDocumentsConfig} from '../../models';\n\n@Component({\n selector: 'valtimo-smart-documents-configuration',\n templateUrl: './smart-documents-configuration.component.html',\n styleUrls: ['./smart-documents-configuration.component.scss'],\n standalone: false,\n})\nexport class SmartDocumentsConfigurationComponent\n implements PluginConfigurationComponent, OnInit, OnDestroy\n{\n @Input() save$: Observable<void>;\n @Input() disabled$: Observable<boolean>;\n @Input() pluginId: string;\n @Input() prefillConfiguration$: Observable<SmartDocumentsConfig>;\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() configuration: EventEmitter<SmartDocumentsConfig> =\n new EventEmitter<SmartDocumentsConfig>();\n\n private saveSubscription!: Subscription;\n\n private readonly formValue$ = new BehaviorSubject<SmartDocumentsConfig | null>(null);\n private readonly valid$ = new BehaviorSubject<boolean>(false);\n\n ngOnInit(): void {\n this.openSaveSubscription();\n }\n\n ngOnDestroy() {\n this.saveSubscription?.unsubscribe();\n }\n\n formValueChange(formValue: SmartDocumentsConfig): void {\n this.formValue$.next(formValue);\n this.handleValid(formValue);\n }\n\n private handleValid(formValue: SmartDocumentsConfig): void {\n const valid = !!(\n formValue.configurationTitle &&\n formValue.url &&\n formValue.password &&\n formValue.username\n );\n\n this.valid$.next(valid);\n this.valid.emit(valid);\n }\n\n private openSaveSubscription(): void {\n this.saveSubscription = this.save$?.subscribe(save => {\n combineLatest([this.formValue$, this.valid$])\n .pipe(take(1))\n .subscribe(([formValue, valid]) => {\n if (valid) {\n this.configuration.emit(formValue);\n }\n });\n });\n }\n}\n","<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null,\n } as obs\"\n>\n <v-input\n name=\"configurationTitle\"\n [title]=\"'configurationTitle' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.configurationTitle\"\n [required]=\"true\"\n [trim]=\"true\"\n [tooltip]=\"'configurationTitleTooltip' | pluginTranslate: pluginId | async\"\n placeholder=\"Smart Documents Plugin\"\n >\n </v-input>\n <v-input\n name=\"url\"\n [title]=\"'url' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.url\"\n [required]=\"true\"\n [trim]=\"true\"\n placeholder=\"\"\n >\n </v-input>\n <v-input\n name=\"username\"\n [title]=\"'username' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.username\"\n [required]=\"true\"\n [trim]=\"true\"\n placeholder=\"\"\n >\n </v-input>\n <v-input\n name=\"password\"\n type=\"password\"\n [title]=\"'password' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.password\"\n [required]=\"true\"\n >\n </v-input>\n</v-form>\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {FunctionConfigurationComponent} from '../../../../models';\nimport {BehaviorSubject, combineLatest, Observable, Subscription, take} from 'rxjs';\nimport {DocumentFormat, GenerateDocumentConfig} from '../../models';\nimport {ValuePathSelectorPrefix} from '@valtimo/components';\n\n@Component({\n selector: 'valtimo-generate-document-configuration',\n templateUrl: './generate-document-configuration.component.html',\n styleUrls: ['./generate-document-configuration.component.scss'],\n standalone: false,\n})\nexport class GenerateDocumentConfigurationComponent\n implements FunctionConfigurationComponent, OnInit, OnDestroy\n{\n @Input() save$: Observable<void>;\n @Input() disabled$: Observable<boolean>;\n @Input() pluginId: string;\n @Input() prefillConfiguration$: Observable<GenerateDocumentConfig>;\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() configuration: EventEmitter<GenerateDocumentConfig> =\n new EventEmitter<GenerateDocumentConfig>();\n\n readonly FORMATS: Array<DocumentFormat> = ['DOCX', 'HTML', 'PDF', 'XML'];\n readonly FORMAT_SELECT_ITEMS: Array<{id: string; text: string}> = this.FORMATS.map(format => ({\n id: format,\n text: format,\n }));\n\n public readonly ValuePathSelectorPrefix = ValuePathSelectorPrefix;\n\n private saveSubscription!: Subscription;\n private readonly formValue$ = new BehaviorSubject<GenerateDocumentConfig | null>(null);\n private readonly valid$ = new BehaviorSubject<boolean>(false);\n\n ngOnInit(): void {\n this.openSaveSubscription();\n }\n\n ngOnDestroy(): void {\n this.saveSubscription?.unsubscribe();\n }\n\n formValueChange(formValue: GenerateDocumentConfig): void {\n this.formValue$.next(formValue);\n this.handleValid(formValue);\n }\n\n private handleValid(formValue: GenerateDocumentConfig): void {\n const valid = !!(\n formValue.templateGroup &&\n formValue.templateName &&\n formValue.format &&\n formValue.resultingDocumentProcessVariableName &&\n formValue.templateData?.length > 0\n );\n\n this.valid$.next(valid);\n this.valid.emit(valid);\n }\n\n private openSaveSubscription(): void {\n this.saveSubscription = this.save$?.subscribe(save => {\n combineLatest([this.formValue$, this.valid$])\n .pipe(take(1))\n .subscribe(([formValue, valid]) => {\n if (valid) {\n this.configuration.emit(formValue);\n }\n });\n });\n }\n}\n","<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-paragraph [margin]=\"true\" [italic]=\"true\">\n {{ 'generateDocumentWarning' | pluginTranslate: pluginId | async }}\n</v-paragraph>\n<v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null,\n } as obs\"\n>\n <v-input\n name=\"templateGroup\"\n [title]=\"'templateGroup' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.templateGroup\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n [trim]=\"true\"\n placeholder=\"\"\n >\n </v-input>\n <v-input\n name=\"templateName\"\n [title]=\"'templateName' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.templateName\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n [trim]=\"true\"\n placeholder=\"\"\n >\n </v-input>\n <v-input\n name=\"resultingDocumentProcessVariableName\"\n [title]=\"'resultingDocumentProcessVariableName' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.resultingDocumentProcessVariableName\"\n [disabled]=\"obs.disabled\"\n [tooltip]=\"'resultingDocumentProcessVariableNameTooltip' | pluginTranslate: pluginId | async\"\n [required]=\"true\"\n [trim]=\"true\"\n placeholder=\"\"\n >\n </v-input>\n <v-select\n [items]=\"FORMAT_SELECT_ITEMS\"\n [margin]=\"true\"\n [widthInPx]=\"150\"\n name=\"format\"\n [title]=\"'format' | pluginTranslate: pluginId | async\"\n [disabled]=\"obs.disabled\"\n [defaultSelectionId]=\"obs.prefill?.format\"\n [required]=\"true\"\n ></v-select>\n\n <valtimo-carbon-multi-input\n name=\"templateData\"\n [title]=\"'templateData' | pluginTranslate: pluginId | async\"\n type=\"keyValuePathSelector\"\n [disabled]=\"obs.disabled\"\n [defaultValues]=\"obs.prefill?.templateData\"\n [margin]=\"true\"\n [required]=\"true\"\n [tooltip]=\"'templateDataTooltip' | pluginTranslate: pluginId | async\"\n valuePathSelectorNotation=\"slashes\"\n [fullWidth]=\"true\"\n [valuePathSelectorPrefixes]=\"[\n ValuePathSelectorPrefix.DOC,\n ValuePathSelectorPrefix.CASE,\n ValuePathSelectorPrefix.ZAAK,\n ]\"\n [valuePathSelectorShowCaseDefinitionSelector]=\"true\"\n [keyColumnFlex]=\"1\"\n [valueColumnFlex]=\"2\"\n [keyColumnTitle]=\"'key' | pluginTranslate: pluginId | async\"\n [valueColumnTitle]=\"'value' | pluginTranslate: pluginId | async\"\n ></valtimo-carbon-multi-input>\n</v-form>\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {BehaviorSubject, combineLatest, Observable, Subscription, take} from 'rxjs';\nimport {GetTemplateNamesConfig} from '../../models';\nimport {FunctionConfigurationComponent} from '../../../../models';\n\n@Component({\n selector: 'valtimo-get-template-names',\n templateUrl: './get-template-names.component.html',\n standalone: false,\n})\nexport class GetTemplateNamesComponent\n implements FunctionConfigurationComponent, OnInit, OnDestroy\n{\n @Input() save$: Observable<void>;\n @Input() disabled$: Observable<boolean>;\n @Input() pluginId: string;\n @Input() prefillConfiguration$: Observable<GetTemplateNamesConfig>;\n @Output() configuration: EventEmitter<GetTemplateNamesConfig> =\n new EventEmitter<GetTemplateNamesConfig>();\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n\n private readonly formValue$ = new BehaviorSubject<GetTemplateNamesConfig | null>(null);\n private saveSubscription!: Subscription;\n private readonly valid$ = new BehaviorSubject<boolean>(false);\n\n ngOnInit(): void {\n this.openSaveSubscription();\n }\n\n ngOnDestroy() {\n this.saveSubscription?.unsubscribe();\n }\n\n formValueChange(formValue: GetTemplateNamesConfig): void {\n this.formValue$.next(formValue);\n this.handleValid(formValue);\n }\n\n private handleValid(formValue: GetTemplateNamesConfig): void {\n const valid = !!(\n formValue.templateGroupName && formValue.resultingTemplateNameListProcessVariableName\n );\n\n this.valid$.next(valid);\n this.valid.emit(valid);\n }\n\n private openSaveSubscription(): void {\n this.saveSubscription = this.save$?.subscribe(save => {\n combineLatest([this.formValue$, this.valid$])\n .pipe(take(1))\n .subscribe(([formValue, valid]) => {\n if (valid) {\n this.configuration.emit(formValue);\n }\n });\n });\n }\n}\n","<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n<v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null,\n } as obs\"\n>\n <v-input\n name=\"templateGroupName\"\n [title]=\"'templateGroupName' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.templateGroupName\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n [trim]=\"true\"\n >\n </v-input>\n <v-input\n name=\"resultingTemplateNameListProcessVariableName\"\n [title]=\"'resultingTemplateNameListProcessVariableName' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.resultingTemplateNameListProcessVariableName\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n [trim]=\"true\"\n >\n </v-input>\n</v-form>\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {NgModule} from '@angular/core';\nimport {CommonModule} from '@angular/common';\nimport {SmartDocumentsConfigurationComponent} from './components/smart-documents-configuration/smart-documents-configuration.component';\nimport {PluginTranslatePipeModule} from '../../pipes';\nimport {\n FormModule,\n InputModule,\n SelectModule,\n CarbonMultiInputModule,\n ParagraphModule,\n} from '@valtimo/components';\nimport {GenerateDocumentConfigurationComponent} from './components/generate-document-configuration/generate-document-configuration.component';\nimport {GetTemplateNamesComponent} from './components/get-template-names/get-template-names.component';\n\n@NgModule({\n declarations: [\n SmartDocumentsConfigurationComponent,\n GenerateDocumentConfigurationComponent,\n GetTemplateNamesComponent,\n ],\n imports: [\n CommonModule,\n PluginTranslatePipeModule,\n FormModule,\n InputModule,\n SelectModule,\n CarbonMultiInputModule,\n ParagraphModule,\n ],\n exports: [\n SmartDocumentsConfigurationComponent,\n GenerateDocumentConfigurationComponent,\n GetTemplateNamesComponent,\n ],\n})\nexport class SmartDocumentsPluginModule {}\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nconst SMART_DOCUMENTS_PLUGIN_LOGO_BASE64 =\n 'data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyBpZD0iTGF5ZXJfMiIgZGF0YS1uYW1lPSJMYXllciAyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNjcuNzIgMTA2LjU1Ij4KICA8ZGVmcz4KICAgIDxzdHlsZT4KICAgICAgLmNscy0xIHsKICAgICAgICBmaWxsOiAjMDE5ZWUwOwogICAgICB9CgogICAgICAuY2xzLTIgewogICAgICAgIGZpbGw6ICNiYjhkYmM7CiAgICAgIH0KCiAgICAgIC5jbHMtMyB7CiAgICAgICAgZmlsbDogI2JmZTZmNzsKICAgICAgfQoKICAgICAgLmNscy00IHsKICAgICAgICBmaWxsOiAjYzU5ZGM3OwogICAgICB9CgogICAgICAuY2xzLTUgewogICAgICAgIGZpbGw6ICNjY2E5Y2U7CiAgICAgIH0KCiAgICAgIC5jbHMtNiB7CiAgICAgICAgZmlsbDogIzliNTY5ZDsKICAgICAgfQoKICAgICAgLmNscy03IHsKICAgICAgICBmaWxsOiAjN2ZjZWVmOwogICAgICB9CgogICAgICAuY2xzLTggewogICAgICAgIGZpbGw6ICM1OWMwZWE7CiAgICAgIH0KCiAgICAgIC5jbHMtOSB7CiAgICAgICAgZmlsbDogIzc5MWM3ZDsKICAgICAgfQogICAgPC9zdHlsZT4KICA8L2RlZnM+CiAgPGcgaWQ9IkxheWVyXzEtMiIgZGF0YS1uYW1lPSJMYXllciAxIj4KICAgIDxnPgogICAgICA8cGF0aCBjbGFzcz0iY2xzLTEiIGQ9Im0yOC44MywyMi42NGMtLjA3LjM5LS4wOC44LS4yMSwxLjE4LS4zNC45OS0uMzIsMS45OS0uMDYsMi45NS44NywzLjE0LDIuNDUsNS44Nyw0Ljg5LDguMDguODcuNzksMS44NywxLjM5LDMuMDQsMS42LDEuODQuMzMsMy4yNy0uNDcsNC40Ny0xLjc3LDEuMzctMS40OSwyLjI3LTMuMjcsMy4wMS01LjEzLDEuMjgtMy4yLDIuMjUtNi40OCwyLjI2LTkuOTYsMC0xLjY5LS40OS0zLjE0LTEuNjctNC40Ni0yLjM1LTIuNjItMi45MS01Ljc1LTEuNzctOS4wNCwxLjE4LTMuNDIsMy43MS01LjQ4LDcuMjgtNS45OCw1LjIyLS43Myw5LjI5LDIuNzksMTAuMjIsNy4xOC45NSw0LjUtMS44LDkuMjUtNi4yNiwxMC40OC0xLjcuNDctMi44OSwxLjQ2LTMuODMsMi44NS0xLjgyLDIuNjktMi43NCw1Ljc0LTMuNDYsOC44Ni0uNiwyLjY1LS45OSw1LjMyLS41Myw4LjA2LjY3LDQuMDMsMy4zNSw1Ljc3LDcuMTQsNS4zLDEuMjgtLjE2LDIuNTEtLjQ4LDMuNjMtMS4xMywxLjM2LS43OCwyLjE5LTEuOTMsMi40Ni0zLjQ5LDEuMTItNi40NSw2LjYtMTEuNTksMTMuMS0xMi41OCw3LjgzLTEuMiwxNS43NywzLjgzLDE3LjY5LDEyLjA5LDEuOTksOC41NC0zLjc5LDE3LjM5LTEyLjQyLDE4LjktNi44NCwxLjItMTMuMjctMS43NS0xNi42NC03Ljc2LS45OS0xLjc2LTIuMzctMi43Ni00LjI3LTMuMTItMS44Mi0uMzQtMy42Ny0uMzUtNS40NC4yNi0zLjA0LDEuMDMtNC43OCwzLjI1LTUuNDUsNi4zLS43NCwzLjM5LS4yNyw2Ljc0LjU1LDEwLjA2LjI5LDEuMi42MiwyLjM5LDEuMjEsMy40OSwxLjY5LDMuMTcsNC4yOSw1LjAyLDcuODYsNS42MSw3LjU3LDEuMjQsMTMuNTMsNy4zMSwxNC41MywxNC44NywxLjM1LDEwLjIzLTUuNjIsMTguNzgtMTUuMDUsMjAuMDYtMTAuNzcsMS40Ni0xOC42OC02LjIzLTE5Ljk0LTE0LjQ4LTEuMDMtNi43OSwxLjA2LTEyLjQ0LDYuMzQtMTYuODQsMS45NS0xLjYzLDIuOTMtMy43OCwyLjk1LTYuMTguMDQtNS4yNi0xLjQyLTEwLjE3LTQuNDMtMTQuNTItMi4wMS0yLjkxLTUuMDYtNC4xNC04LjQ0LTQuNjktMS43LS4yOC0zLjQzLS4zNS01LjE0LS4yMy0yLjIyLjE1LTQuNjEuOTMtNS40NCwzLjk3LTEuMDcsMy45NC01LjIzLDcuOS0xMS41Nyw3LjI5LTQuNDgtLjQzLTguNDktNC4xOS05LjMtOC44NS0uODEtNC42OSwxLjQxLTkuMjksNS41NC0xMS40OSw0LjExLTIuMTksOS4yMi0xLjQ4LDEyLjY1LDEuNzcuNjcuNjMsMS4yNywxLjM0LDEuNzEsMi4xNS43NCwxLjM4LDEuOTMsMi4xLDMuNDEsMi4zNywzLjA1LjU2LDUuNzgtLjQsNy4xOC0yLjYzLjk4LTEuNTYsMS4wOS0zLjI2LjY1LTQuOTYtLjc5LTMuMDQtMi4zOC01LjY2LTQuNjctNy44LTEuMzktMS4zLTMuMDQtMS45Mi01LjAzLTEuNzYtMy4wMi4yNC01LjUtLjkyLTcuMTktMy40NC0xLjc0LTIuNi0xLjg2LTUuNDItLjQxLTguMTcsMS40MS0yLjY4LDMuNzMtNCw2Ljc4LTQuMTksMy45Ny0uMjQsOC41MywzLjE5LDguMTMsOC42My0uMTIuMDktLjE2LjItLjA5LjMzWm0xMC4zNiw2Ni4xMWMtLjE4LDguMiw2Ljk5LDEzLjc2LDEzLjI1LDEzLjY2LDcuNjctLjEzLDEzLjQtNS44NCwxMy41MS0xMy40OS4xMS03LjY2LTYuMjgtMTMuODMtMTMuMjktMTMuODItOC45NC4wMS0xMy44Niw3LjczLTEzLjQ4LDEzLjY2WiIvPgogICAgICA8cGF0aCBjbGFzcz0iY2xzLTkiIGQ9Im0xNDAuNTEsMzEuMjFjMS45OC0yLjM5LDQuNC00LjA1LDcuNTQtNC40NCw0LjcyLS41OSw4LjgxLjQ3LDExLjY4LDQuNi4wNy4xLjE2LjE4LjMuMzQuNC0uNDMuOC0uODUsMS4xOS0xLjI3LDIuODgtMy4wNCw2LjQ3LTQuMDYsMTAuNTUtMy42OSwxLjkzLjE4LDMuNzYuNjcsNS40MSwxLjczLDMuMDIsMS45NCw0LjQxLDQuODMsNC43Nyw4LjMuMS45OS4wNiwxLjk5LjA2LDIuOTksMCw2LjM1LDAsMTIuNywwLDE5LjA1LDAsLjQ0LjAxLjg4LS4wMywxLjMyLS4zMywzLjQ5LTIuNDEsNC40MS01LjA3LDQuMjgtMi42NC0uMTMtNC4wNy0xLjYzLTQuMzItNC4yMy0uMDktLjg4LS4xMi0xLjc1LS4xMi0yLjYzLDAtNS41OSwwLTExLjE4LDAtMTYuNzcsMC0uNTIsMC0xLjA0LS4wNy0xLjU1LS4yNC0yLjA2LTEuNTItMy41Mi0zLjUzLTQuMDQtMy43NS0uOTctNi45NSwxLjEyLTcuNTYsNC45My0uMTEuNzEtLjE3LDEuNDItLjE3LDIuMTQsMCw1LjQ3LDAsMTAuOTQsMCwxNi40MSwwLC43Ni0uMDIsMS41MS0uMTcsMi4yNi0uNTgsMi43NS0yLjUsMy42NC00LjkzLDMuNDUtMi44OC0uMjItNC4yNC0xLjY2LTQuMjctNC41Ny0uMDctNi4xMS0uMDQtMTIuMjItLjA0LTE4LjMzLDAtLjY4LDAtMS4zNS0uMS0yLjAzLS40MS0yLjg3LTIuMTEtNC4zOS01LTQuNDMtLjI4LDAtLjU2LjAzLS44NC4wNC0uMTMtLjA2LS4yMy0uMDQtLjMzLjA3LTMuNDYuNDktNC45MiwzLjQzLTQuOTYsNi4yMy0uMDUsMi45NS0uMDEsNS45LS4wMSw4Ljg2LDAsMi45MSwwLDUuODMsMCw4Ljc0LDAsLjYtLjA2LDEuMTktLjE2LDEuNzgtLjM5LDIuNDUtMi4wOSwzLjk0LTUuMTIsMy42NC0yLjY4LS4yNi0zLjc2LTEuNC00LjE2LTQuMDgtLjA2LS40My0uMTItLjg3LS4xMi0xLjMxLDAtOS4wMiwwLTE4LjAzLDAtMjcuMDUuMTEtLjA4LjE3LS4xOC4wNi0uMy4xNi0xLjA3LjQtMi4wOCwxLjA3LTIuOTksMS40NS0xLjk3LDYuNDItMi4xOSw3LjU5LDEuMTQuMTYuNDUuMzMuODkuMzksMS4zNy0uMDQuMTYtLjAzLjMuMTEuNDEuMjItLjAyLjMzLS4xNS4zNS0uMzZaIi8+CiAgICAgIDxwYXRoIGNsYXNzPSJjbHMtOSIgZD0ibTIwNy4zMyw1OS44NGMtMi43NiwzLjctNi41Nyw1LjIxLTExLjA3LDUuMjQtLjM2LDAtLjcyLDAtMS4wNywwbC0uMjgtLjA0Yy0yLjA3LS4xMS00LjAyLS42NC01LjczLTEuODUtMi4wMy0xLjQzLTMuMTctMy40My0zLjcxLTUuODEtLjUzLTIuMzctLjUyLTQuNzUuMDItNy4xMi41OS0yLjU2LDIuMDUtNC40NSw0LjMzLTUuNzQsMi4yNi0xLjI4LDQuNzQtMS44OCw3LjI2LTIuMywyLjI0LS4zNyw0LjUtLjY0LDYuNzUtLjk2LjMxLS4wNC42My0uMTEuOTQtLjE4LDEuNzgtLjQsMi4yNi0uODYsMi40My0yLjMxLjIyLTEuOTUtLjM2LTMuMjYtMS43Ny0zLjk2LTIuODctMS40Mi03LjY5LS42MS05Ljk1LDEuNjctLjY1LjY1LTEuMjUsMS4zNi0xLjk0LDEuOTUtMi40LDIuMDgtNS44OCwxLjE5LTYuNjYtMS43LS4zOS0xLjQ2LS4wNS0yLjg1LjcxLTQuMTMsMS4xMS0xLjg5LDIuNzktMy4xNiw0LjcyLTQuMTEsMi40Ny0xLjIyLDUuMS0xLjgsNy44NS0xLjg2LDMuMjUtLjA3LDYuNDcuMTMsOS41NywxLjE5LDIuMDMuNywzLjg1LDEuNzMsNS4yLDMuNDYsMS4zNSwxLjczLDEuNzQsMy43MywxLjczLDUuODUtLjAyLDYuNTUtLjAzLDEzLjEtLjA1LDE5LjY1LDAsLjI0LjAzLjQ4LjA0LjcyLS4wOS4xMy0uMDUuMjMuMDYuMzIuMDksMS4yNy4yNSwyLjU0LjI3LDMuODEuMDIsMS41NC0uODEsMi43LTIuMjcsMy4xNi0xLjY1LjUyLTMuMzIuNDYtNC44OC0uMzMtMS4zNy0uNjktMS44OC0xLjk5LTIuMTQtMy40MS0uMDYtLjM1LS4wNi0uNzEtLjA5LTEuMDcsMC0uMDcuMDMtLjE2LDAtLjItLjA5LS4xLS4xOC0uMDMtLjI1LjA2Wm0uMDktMTMuNjJjLTIuNjcsMS4yMy01LjM3LDEuNzItOC4wNiwyLjI4LS45Ny4yLTEuOTIuNTQtMi44LDEuMDMtMS43NC45Ni0yLjM5LDIuNDEtMi4xMyw0LjY3LjE4LDEuNTcsMS4zMywyLjkxLDMuMDgsMy4yNiw0LjU3LjkyLDguNjgtMS4zLDkuNjYtNS43Ny4zOC0xLjc0LjE0LTMuNS4yNC01LjQ3WiIvPgogICAgICA8cGF0aCBjbGFzcz0iY2xzLTkiIGQ9Im0xMTEuNjMsNjUuMDJjLTMuODUuMDQtNy4yOS0uNTEtMTAuNDctMi4yLTEuNjUtLjg3LTMuMDYtMi4wMi00LjAzLTMuNjUtLjgyLTEuMzctMS4wNi0yLjg2LS42Ny00LjM4Ljc1LTIuODgsNC40Ni0zLjk4LDYuOTEtMi4wNi42Mi40OSwxLjIyLDEuMDUsMS43LDEuNjgsMi43LDMuNTUsNy42NiwzLjQ5LDEwLjc0LDIuNTMsMS41Ny0uNDksMi4zNi0xLjU2LDIuNDEtMi45My4wNS0xLjE3LS40My0xLjk5LTEuNTEtMi40Ny0xLjU4LS42OS0zLjI3LTEuMDEtNC45My0xLjQxLTIuNjMtLjY0LTUuMjktMS4xNy03LjgzLTIuMTUtMS44Ny0uNzItMy42NS0xLjU5LTUuMTItMy4wMS0xLjU3LTEuNTItMi4zNi0zLjQtMi40Ni01LjU1LS4yOC01Ljg0LDIuNjMtMTAuMDksOC4yNC0xMS44NCw1LjAxLTEuNTYsMTAuMDEtMS4zMiwxNC45LjUzLDEuNzMuNjYsMy4yOCwxLjY0LDQuNDQsMy4xNS4xLjEzLjIuMjUuMjkuMzgsMS4yNCwxLjgzLDEuMTksNC4wMS0uMTEsNS40My0xLjI2LDEuMzgtMy41MywxLjYtNS40MS41Mi0uOTctLjU2LTEuOC0xLjMzLTIuNzEtMS45Ny0yLjU5LTEuODItNS40MS0xLjk5LTguMzMtMS4wMS0uODYuMjktMS40OC45Mi0xLjc1LDEuODQtLjM4LDEuMzEtLjA1LDIuMjYsMS4xMywyLjk1LDEuMDQuNjEsMi4yMi44OCwzLjM4LDEuMTcsMi45NC43Myw1LjkzLDEuMjQsOC44MywyLjEzLDEuMjYuMzksMi40OS44NSwzLjY2LDEuNDYsMi44MSwxLjQ1LDQuNjMsMy42NCw0Ljk1LDYuODcuNDgsNC45LTEuMTQsOS41OC02LjE4LDEyLjAxLTEuNDEuNjgtMi44OSwxLjE2LTQuNDEsMS40Ni0xLjk2LjM4LTMuOTUuNTktNS42Ni41NFoiLz4KICAgICAgPHBhdGggY2xhc3M9ImNscy05IiBkPSJtMjU5Ljk2LDM0Ljg1YzAsNi40MywwLDEyLjg2LDAsMTkuMjgsMCwuMjgsMCwuNTYuMDQuODQuMTgsMS4zMi41MSwxLjYyLDEuODEsMS43Ny45OS4xMSwxLjk5LjA4LDIuOTcuMywxLjM1LjI5LDIuMDgsMS4wNiwyLjI4LDIuNDIuMzEsMi4xMS0uNzksMy45Mi0yLjg2LDQuNTEtMS40Ni40Mi0yLjk4LjU1LTQuNS40NC0xLjE1LS4wOC0yLjMtLjExLTMuNDUtLjM0LTMuMzktLjY4LTUuMjItMi41OC01LjY4LTYuMDQtLjE3LTEuMy0uMjctMi42MS0uMjctMy45NC4wMS01Ljk5LDAtMTEuOTgsMC0xNy45NywwLS40My4xLS44Ny0uMTMtMS4zNi0uODgtLjA1LTEuOCwwLTIuNy0uMTktMS43LS4zNS0yLjUyLTEuMzYtMi41NC0zLjIzLS4wMi0xLjkuNzQtMi44OSwyLjQ0LTMuMzIuOTQtLjI0LDEuOS0uMDcsMi45NC0uMjMsMC0xLjU1LjAxLTMuMDYsMC00LjU2LDAtLjguMDYtMS41OS4yNS0yLjM3LjQ2LTEuODcsMS44NC0zLjAxLDMuNzUtMy4xMywzLjgxLS4yMyw1LjU4LDEuNDIsNS42LDUuMjMsMCwxLjU5LDAsMy4xOCwwLDQuOS43OSwwLDEuNDkuMDIsMi4yLDAsLjY1LS4wMiwxLjI4LjA2LDEuOS4yMSwxLjI1LjMsMS45OSwxLjEzLDIuMTcsMi40LjA4LjU2LjA5LDEuMTEsMCwxLjY3LS4yMiwxLjMzLTEuMDUsMi4xNi0yLjQ0LDIuNDMtMS4xOS4yMy0yLjM4LjE5LTMuNTguMTctLjA2LS4wMy0uMTEtLjA2LS4xNy0uMDktLjAxLjA3LS4wMi4xMy0uMDQuMloiLz4KICAgICAgPHBhdGggY2xhc3M9ImNscy05IiBkPSJtMjI5LjY3LDMzLjkxYzEuMDgtMS42NywyLjA1LTMuMjksMy40Ni00LjYzLDEuNzUtMS42NSwzLjc3LTIuMzIsNi4xNS0xLjkzLDEuOTQuMzIsMy4zOSwxLjgzLDMuNjMsMy43Ny4xMywxLjA4LjE2LDIuMTYtLjMsMy4xNy0uNjcsMS40Ni0xLjgsMi4zLTMuNDQsMi40LS44NC4wNS0xLjY3LjA3LTIuNTEuMTYtMy43My4zOC01Ljk0LDIuODgtNi4yMiw2LjY5LS4wOSwxLjIzLS4wNSwyLjQ3LS4wNSwzLjcxLDAsMy43NSwwLDcuNTEsMCwxMS4yNiwwLC42OC0uMDYsMS4zNS0uMTYsMi4wMi0uNDIsMy4xLTIuNTcsMy45Ny00Ljg0LDMuODktMy4wMy0uMTEtNC40Ny0xLjYxLTQuNjUtNC42NS0uMDYtLjk2LS4wNi0xLjkyLS4wNi0yLjg3LDAtNy43MSwwLTE1LjQxLDAtMjMuMTIsMC0uOTIuMDQtMS44NC4xNS0yLjc1LjI2LTIuMywxLjc1LTMuNjcsNC4wNC0zLjc5LjMyLS4wMi42NC0uMDEuOTYsMCwyLjIyLjEsMy42NSwxLjQzLDMuODIsMy42NS4wOC45OS4wMSwxLjk5LjAxLDIuOTlaIi8+CiAgICAgIDxwYXRoIGNsYXNzPSJjbHMtMSIgZD0ibTEuNjYsMTAxLjYydi0zNC41M2MuMS0uMDYuMTctLjEzLjIzLS4xMyw0LjkxLS4wMiw5LjgyLS4xNiwxNC43MS40MSw3LjQ0Ljg3LDEzLjAxLDYuMjYsMTQuMDYsMTMuNjguNTcsNC4wMi40LDcuOTMtMS4zOSwxMS42OS0yLjI3LDQuNzgtNS44OSw3LjcxLTExLjIsOC40OC0xLjkuMjctMy44LjQyLTUuNzIuNDEtMy4xNS0uMDItNi4zMSwwLTkuNDYsMC0uMzksMC0uNzgsMC0xLjIzLDBabTQuMzUtNC4zYzMuNjYuMDQsNy4yNC4wNiwxMC44MS0uNDIsNC4wMi0uNTQsNi44MS0yLjc0LDguNDktNi4zNiwxLjE5LTIuNTcsMS4zOC01LjMxLDEuMDEtOC4wNy0uNjctNC45Mi0zLjU3LTguNzMtOC4zOC0xMC4xOS0xLjQyLS40My0yLjg5LS42LTQuMzYtLjcxLTIuNS0uMTktNS4wMS0uMjItNy41OC0uMTd2MjUuOTRaIi8+CiAgICAgIDxwYXRoIGNsYXNzPSJjbHMtMSIgZD0ibTE1NS40NiwxMDEuNThoLTMuOThjLS4yOS0uNDQtLjE2LS44OS0uMTYtMS4zMS0uMDItNC45NS0uMDMtOS45LS4wNC0xNC44NSwwLS44NS0uMTQtMS42Ny0uMzEtMi40OS0uMzktMS44OC0yLjA5LTMuMzYtNC4wMi0zLjU5LTMuOC0uNDUtNy4yMiwyLjM0LTcuODksNi40Mi0uMjEsMS4zLS4zLDIuNjEtLjMsMy45MywwLDMuOTEsMCw3LjgyLDAsMTEuODRoLTQuMjN2LTI1Ljc5Yy43MiwwLDEuNDIsMCwyLjEzLDAsLjY3LDAsMS4zMywwLDIuMDcsMHYyLjgxYy41NS0uMTIuNzctLjUzLDEuMDctLjgxLDMuNC0zLjE3LDguNDgtMy42LDEyLjEyLTEuMDMsMS4yMS44NSwyLjA0LDIsMi43NCwzLjQuODctMS4wNywxLjY4LTIuMDcsMi43LTIuODgsMy4wOS0yLjQ2LDguNTEtMy4zMywxMi4yNC4wMywxLjQxLDEuMjYsMi4xMSwyLjg2LDIuNTIsNC42NC40MSwxLjguNTIsMy42My41Miw1LjQ3LDAsNC40NywwLDguOTQsMCwxMy40MiwwLC4yMy0uMDMuNDctLjA1Ljc3aC00LjJjLS4yNC0uNC0uMTMtLjg1LS4xMy0xLjI3LDAtNC42MywwLTkuMjYsMC0xMy45LDAtMS4yNC0uMTEtMi40Ny0uNDEtMy42Ny0uNDYtMS44Mi0xLjk1LTMuMDctMy43OS0zLjM2LTMuODQtLjYtNy4yLDIuMTMtNy45Niw1LjgyLS4zOCwxLjg0LS41MSwzLjcxLS41MSw1LjU5LDAsMy4xOSwwLDYuMzksMCw5LjU4LDAsLjM5LjA5Ljc5LS4xMywxLjI0WiIvPgogICAgICA8cGF0aCBjbGFzcz0iY2xzLTEiIGQ9Im0xODEuOCw4OS41MWMuMTYsNC4yMSwyLjc1LDcuNTcsNi40Nyw4LjU5LDQuNDYsMS4yMiw4LjEyLS42MSwxMS40OS01LjgsMS4xOC42LDIuMzYsMS4yMSwzLjY2LDEuODgtMS45NSwzLjc1LTQuNTUsNi42OC04LjcxLDcuNzItNS4wNSwxLjI3LTkuNjkuNDgtMTMuNDktMy4zNS02LjM2LTYuNDItNC45OC0xOC4zNiw0LjAzLTIyLjM4LDcuODUtMy41LDE3LjM4LDEsMTguNTgsMTAuMzguMTIuOTUuMjYsMS44OS4xNiwyLjk2aC0yMi4xOVptMTcuMzMtMy44NmMuMTUtLjExLjE0LS4yMywwLS4zNC0xLjE2LTQuMS01LjMyLTYuNjctMTAuMjgtNS45My0yLjk4LjQ0LTUuOTMsMy4wOC02LjMyLDYuMjMuMTEuMDIuMjMuMDcuMzQuMDcsNS40MiwwLDEwLjg0LS4wMiwxNi4yNi0uMDNaIi8+CiAgICAgIDxwYXRoIGNsYXNzPSJjbHMtMSIgZD0ibTIxMy44Nyw3OC42NGMxLjg4LTEuODIsNC4wMy0zLjExLDYuNjYtMy40OSw1LjQ2LS44MSwxMC4wNSwyLjU3LDEwLjkxLDcuNTIuMjksMS42Ni40NSwzLjMyLjQ2LDQuOTkuMDEsNC4zNSwwLDguNzEsMCwxMy4wNiwwLC4yNy4wOC41Ni0uMTcuODVoLTMuOThjLS4yOC0uNDMtLjE1LS44OC0uMTUtMS4zMS0uMDItNC43MS0uMDMtOS40Mi0uMDQtMTQuMTQsMC0uODgtLjExLTEuNzYtLjMyLTIuNjEtLjgxLTMuMjgtMy41NS00Ljk2LTYuOTEtNC4yOS0zLjc0Ljc1LTYuNDIsMy44OS02LjY5LDcuNzEtLjMxLDQuNDMtLjEzLDguODYtLjE5LDEzLjI5LDAsLjQzLDAsLjg2LDAsMS4zNGgtNC4yNnYtMjUuNzdjMS4zNC0uMTMsMi43Mi0uMDQsNC4xNC0uMDUuMjUuOTkuMDIsMS45NS4xNSwyLjg4LS4wMy4xMSwwLC4yLjEuMjYuMTYsMCwuMjYtLjA5LjMxLS4yNFoiLz4KICAgICAgPHBhdGggY2xhc3M9ImNscy0xIiBkPSJtMTIzLjY4LDk4LjUyYy0uNjQuNTMtMS4yNSwxLjExLTEuOTMsMS41OS0yLjgyLDIuMDEtNS45NCwyLjctOS4zLDEuNzgtMy43Ni0xLjAzLTYuMjItNC4xLTYuNzItOC4xNi0uMTUtMS4xOS0uMjUtMi4zOC0uMjktMy41NywwLS4wOS0uMDEtLjE3LS4wMi0uMjZ2LTE0LjA4aDQuMjJjLjI0LjQyLjEyLjg2LjEzLDEuMjkuMDIsNC43MS4wMyw5LjQyLjA0LDE0LjEzLDAsLjk2LjE1LDEuOTEuNDEsMi44My44NSwzLjA5LDMuMTMsNC40MSw2LjI3LDQuMDgsNC4wNC0uNDMsNi45Ny0zLjc0LDcuMjUtNy44Mi4zLTQuMzkuMTMtOC43Ny4xOS0xMy4xNiwwLS40MywwLS44NiwwLTEuMzcsMS40Ni0uMTIsMi44My0uMDgsNC4yNi0uMDN2MjUuNzZoLTQuM3YtMi45N2MuMDUtLjA4LjA0LS4xNS0uMDQtLjItLjA1LjA1LS4xLjExLS4xNS4xNloiLz4KICAgICAgPHBhdGggY2xhc3M9ImNscy0xIiBkPSJtMTAwLjksODEuNmMtMS4xNy43My0yLjI4LDEuNDMtMy40MiwyLjE0LTEuMTEtMS41NC0yLjQtMi43OC00LjA4LTMuNTQtNC42OC0yLjEzLTEwLjYxLS45NC0xMy40NCwzLjY0LTMuMjgsNS4zMi0uMjIsMTIuNzUsNS45MiwxNC4yLDQsLjk1LDcuNjEuMTMsMTAuNTMtMi45NS4zNi0uMzcuNzEtLjc1LDEuMTMtMS4yLDEuMTEuNzMsMi4yLDEuNDUsMy4zNSwyLjIxLS43NSwxLjQ0LTEuODIsMi41OC0zLjExLDMuNDMtNS4xNSwzLjQxLTEwLjYzLDQuMDQtMTYuMjMsMS4zMy01LjItMi41Mi03Ljg3LTguMjMtNy4xMy0xMy45Ni42OS01LjM2LDUuNC0xMC45MSwxMS45NC0xMS42Nyw0LjE0LS40OCw3Ljk0LjIsMTEuMzUsMi42OCwxLjMxLjk1LDIuMzQsMi4xNSwzLjE5LDMuNzFaIi8+CiAgICAgIDxwYXRoIGNsYXNzPSJjbHMtMSIgZD0ibTI2Ny43Miw3OC45NmMtLjk5Ljk1LTEuOSwxLjg0LTIuODcsMi43OC0uNjctLjUxLTEuMy0xLjE4LTIuMDktMS42NC0xLjEyLS42Ni0yLjI3LTEuMTgtMy42Mi0uODYtMS4xMy4yNy0xLjk5LjkyLTIuMjksMi4wNS0uMzIsMS4yMS4wNSwyLjI5LDEuMDYsMy4wOSwxLjE5Ljk1LDIuNTQsMS42NiwzLjg3LDIuMzgsMS4yLjY1LDIuMzMsMS4zOCwzLjM0LDIuMywyLjM5LDIuMTYsMi45OSw0Ljg1LDIuMDYsNy44NC0uOTQsMy4wNS0zLjExLDQuOTUtNi4yNCw1LjQyLTMuODYuNTctNy4wMy0uODItOS41MS0zLjkzLjgzLTEuMDgsMS43MS0yLjA0LDIuNjUtMy4wMS41NS4yMy44My43NCwxLjIzLDEuMSwxLjIsMS4wNiwyLjUsMS44Niw0LjE3LDEuODIsMS41My0uMDQsMi42Ny0uNzgsMy40Ny0yLjAyLjgxLTEuMjYuNDctMy4xLS43MS00LjEzLTEuMDMtLjktMi4yMy0xLjU0LTMuNDQtMi4xNi0xLjI1LS42My0yLjQ0LTEuMzYtMy41My0yLjI0LTIuNjMtMi4xNC0zLjAyLTUuMzMtMi4yNS03LjkyLjgtMi42OCwzLjU3LTQuNjIsNi41Ni00Ljc4LDEuNzMtLjA5LDMuMzIuMjksNC44LDEuMTksMS4yLjczLDIuMjksMS41OCwzLjMzLDIuNzJaIi8+CiAgICAgIDxwYXRoIGNsYXNzPSJjbHMtMSIgZD0ibTIzNS4wNCw3OS41OXYtMy43OWg0LjI0di05LjU2YzEuNDgtLjE2LDIuODMtLjA1LDQuMzEtLjA4djkuNTVoNS4wMWMuMzgsMS4zMy4wNSwyLjU0LjEzLDMuODdoLTQuOTVjLS4yNiwxLjY1LS4xNywxNy4zNC4xMSwxOC41OSwxLjE3LjMzLDIuNDEsMCwzLjY4LjIuMTYsMS4yLjAzLDIuMzguMDksMy42MS0xLjczLjQ3LTMuNDMuNTktNS4xMy4zNC0xLjY5LS4yNS0yLjc0LTEuNDItMy4wMi0zLjEyLS4xMy0uNzktLjE5LTEuNTgtLjE5LTIuMzguMDEtNS4yNywwLTEwLjU0LDAtMTUuODJ2LTEuNDFoLTQuMjlaIi8+CiAgICAgIDxwYXRoIGNsYXNzPSJjbHMtNSIgZD0ibTE0MC41MSwzMS4yMWMtLjAzLjIxLS4xMy4zNS0uMzUuMzYtLjE1LS4xMS0uMTYtLjI1LS4xMS0uNDFsLjQ3LjA0WiIvPgogICAgICA8cGF0aCBjbGFzcz0iY2xzLTMiIGQ9Im0yMTMuODcsNzguNjRjLS4wNS4xNS0uMTUuMjQtLjMxLjI0LS4xLS4wNi0uMTMtLjE1LS4xLS4yNi4xNCwwLC4yNy4wMS40MS4wMloiLz4KICAgICAgPHBhdGggY2xhc3M9ImNscy0zIiBkPSJtMTIzLjY4LDk4LjUyYy4wNS0uMDUuMS0uMTEuMTUtLjE2LjA4LjA1LjEuMTIuMDQuMi0uMDcsMC0uMTMsMC0uMTktLjA0WiIvPgogICAgICA8cGF0aCBjbGFzcz0iY2xzLTMiIGQ9Im0xMDUuNDEsODkuOWMwLC4wOS4wMS4xNy4wMi4yNi0uMTUtLjA4LS4xOC0uMTYtLjAyLS4yNloiLz4KICAgICAgPHBhdGggY2xhc3M9ImNscy01IiBkPSJtMTk0LjkxLDY1LjA0bC4yOC4wNGMtLjEyLjEzLS4yMS4wOS0uMjgtLjA0WiIvPgogICAgICA8cGF0aCBjbGFzcz0iY2xzLTUiIGQ9Im0yMDcuMzMsNTkuODRjLjA3LS4wOS4xNS0uMTUuMjUtLjA2LjAzLjA0LDAsLjEzLDAsLjItLjA5LS4wNS0uMTctLjA5LS4yNi0uMTRaIi8+CiAgICAgIDxwYXRoIGNsYXNzPSJjbHMtMiIgZD0ibTIxNi43MSw1Ny44MmMtLjExLS4wOS0uMTUtLjE5LS4wNi0uMzIuMDMuMDcuMDcuMTMuMDkuMjEsMCwuMDMtLjAyLjA3LS4wNC4xMVoiLz4KICAgICAgPHBhdGggY2xhc3M9ImNscy00IiBkPSJtMTQ1LjQ2LDM1LjE0Yy4wOS0uMS4yLS4xMy4zMy0uMDctLjA5LjExLS4yLjE1LS4zMy4wN1oiLz4KICAgICAgPHBhdGggY2xhc3M9ImNscy02IiBkPSJtMjU5Ljk2LDM0Ljg1Yy4wMS0uMDcuMDItLjEzLjA0LS4yLjA2LjAzLjExLjA2LjE3LjA5LS4wNS4wNi0uMTIuMS0uMi4xMVoiLz4KICAgICAgPHBhdGggY2xhc3M9ImNscy01IiBkPSJtMTMxLDMxLjY1Yy4xLjEzLjA1LjIyLS4wNi4zLS4wNS0uMTItLjAzLS4yMi4wNi0uM1oiLz4KICAgICAgPHBhdGggY2xhc3M9ImNscy04IiBkPSJtMjguODMsMjIuNjRjLS4wNy0uMTQtLjAzLS4yNC4wOS0uMzMuMDYuMTMuMDIuMjQtLjA5LjMzWiIvPgogICAgICA8cGF0aCBjbGFzcz0iY2xzLTEiIGQ9Im01Mi40OSw5OC4zNGMyLjM4LDAsNC4zNC0uNjgsNS45Ni0yLjA3LDQuODYtNC4xOCw0LjM2LTExLjgtMS0xNS40Ni0zLjc3LTIuNTctOC41Ny0yLTExLjU2LDEuNDUtMi4zNCwyLjctMi45NSw1Ljc5LTIuMTIsOS4yNi44OSwzLjcxLDQuNjksNy4wNiw4LjcyLDYuODNaIi8+CiAgICAgIDxwYXRoIGNsYXNzPSJjbHMtNyIgZD0ibTE5OS4xMyw4NS42NWMwLS4xMSwwLS4yMywwLS4zNC4xNC4xMS4xNS4yMywwLC4zNFoiLz4KICAgIDwvZz4KICA8L2c+Cjwvc3ZnPg==';\n\nexport {SMART_DOCUMENTS_PLUGIN_LOGO_BASE64};\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport * from './smart-documents-plugin-logo';\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {PluginSpecification} from '../../models';\nimport {SmartDocumentsConfigurationComponent} from './components/smart-documents-configuration/smart-documents-configuration.component';\nimport {SMART_DOCUMENTS_PLUGIN_LOGO_BASE64} from './assets';\nimport {GenerateDocumentConfigurationComponent} from './components/generate-document-configuration/generate-document-configuration.component';\nimport {GetTemplateNamesComponent} from './components/get-template-names/get-template-names.component';\n\nconst smartDocumentsPluginSpecification: PluginSpecification = {\n pluginId: 'smartdocuments',\n pluginConfigurationComponent: SmartDocumentsConfigurationComponent,\n pluginLogoBase64: SMART_DOCUMENTS_PLUGIN_LOGO_BASE64,\n functionConfigurationComponents: {\n 'generate-document': GenerateDocumentConfigurationComponent,\n 'get-template-names': GetTemplateNamesComponent,\n },\n pluginTranslations: {\n nl: {\n title: 'SmartDocuments',\n description: 'Automatiseer documenten met slimme templates.',\n 'generate-document': 'Document genereren',\n 'get-template-names': 'Templatenamen ophalen',\n configurationTitle: 'Configuratienaam',\n configurationTitleTooltip:\n 'Onder deze naam zal de plugin te herkennen zijn in de rest van de applicatie',\n url: 'SmartDocuments URL',\n username: 'Gebruikersnaam',\n password: 'Wachtwoord',\n templateGroup: 'Template groep',\n templateName: 'Template naam',\n templateGroupName: 'Template groepsnaam',\n resultingTemplateNameListProcessVariableName:\n 'Naam van process variable om lijst in op te slaan',\n templateDataTooltip:\n 'De rechter value-kolom ondersteunt ook het gebruik van procesvariabelen zoals pv: en doc:',\n format: 'Documentformaat',\n templateData: 'Template-data',\n resultingDocumentProcessVariableName: 'Naam procesvariabele voor opslag document',\n resultingDocumentProcessVariableNameTooltip:\n 'De locatie van het gegenereerde document wordt opgeslagen in een procesvariabele. Deze procesvariabele kan gebruikt worden om het document te verwerken in een andere BPMN-taak.',\n generateDocumentWarning:\n 'Deze actie genereert een tijdelijk bestand. Het verwerken hiervan moet door een andere actie worden gedaan.',\n key: 'Sleutel',\n value: 'Waarde',\n },\n en: {\n title: 'SmartDocuments',\n description: 'Automate documents with smart templates.',\n 'generate-document': 'Generate document',\n 'get-template-names': 'Get Template Names',\n configurationTitle: 'Configuration name',\n configurationTitleTooltip:\n 'With this name the plugin will be recognizable in the rest of the application',\n url: 'SmartDocuments URL',\n username: 'Username',\n password: 'Password',\n templateGroup: 'Template group',\n templateName: 'Template name',\n templateGroupName: 'Template group name',\n resultingTemplateNameListProcessVariableName: 'Name of process variable to save the list in',\n\n format: 'Document format',\n templateData: 'Template data',\n templateDataTooltip:\n 'The right value-column also supports the use of process variables such as pv: and doc:',\n resultingDocumentProcessVariableName: 'Process variable name for storing document',\n resultingDocumentProcessVariableNameTooltip:\n 'The location of the generated document is stored in a process variable. This process variable can be used to access the document in another BPMN task.',\n generateDocumentWarning:\n 'This action generates a temporary file. It needs to be stored in a following task.',\n key: 'Key',\n value: 'Value',\n },\n de: {\n title: 'SmartDocuments',\n description: 'Automatisieren Sie Dokumente mit intelligenten Templates.',\n 'generate-document': 'Dokument generieren',\n 'get-template-names': 'Get Template Names',\n configurationTitle: 'Konfigurationsname',\n configurationTitleTooltip:\n 'An diesem Namen wird das Plugin im Rest der Anwendung erkennbar sein',\n url: 'SmartDocuments URL',\n username: 'Nutzername',\n password: 'Passwort',\n templateGroup: 'Template gruppe',\n templateName: 'Template name',\n templateGroupName: 'Template gruppe name',\n resultingTemplateNameListProcessVariableName:\n 'Name der Prozessvariable, um die Liste zu speichern',\n format: 'Dokumentformat',\n templateData: 'Templatedaten',\n templateDataTooltip:\n 'Die rechte Wertespalte unterstützt auch die Verwendung von Prozessvariablen wie pv: und doc:',\n resultingDocumentProcessVariableName: 'Prozessvariablenname zum Speichern des Dokuments',\n resultingDocumentProcessVariableNameTooltip:\n 'Der Ort des generierten Dokuments wird in einer Prozessvariablen gespeichert. Diese Prozessvariable wird verwendet, um in einer anderen BPMN-Aufgabe auf das Dokument zuzugreifen.',\n generateDocumentWarning:\n 'Diese Aktion erzeugt eine temporäre Datei. Die Verarbeitung muss durch eine andere Aktion erfolgen.',\n key: 'Schlüssel',\n value: 'Wert',\n },\n },\n};\n\nexport {smartDocumentsPluginSpecification};\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Injectable} from '@angular/core';\nimport {Observable} from 'rxjs';\nimport {HttpClient} from '@angular/common/http';\nimport {ConfigService} from '@valtimo/shared';\nimport {DocumentenApiManagementAllVersions} from '../models';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class DocumentenApiService {\n private valtimoEndpointUri: string;\n\n constructor(\n private http: HttpClient,\n configService: ConfigService\n ) {\n this.valtimoEndpointUri = configService.config.valtimoApi.endpointUri;\n }\n\n public getManagementApiAllVersions(): Observable<DocumentenApiManagementAllVersions> {\n return this.http.get<DocumentenApiManagementAllVersions>(\n `${this.valtimoEndpointUri}management/v1/documenten-api/versions`\n );\n }\n}\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport * from './documenten-api.service';\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {PluginConfigurationComponent} from '../../../../models';\nimport {BehaviorSubject, combineLatest, map, Observable, Subscription, take} from 'rxjs';\nimport {DocumentenApiConfig} from '../../models';\nimport {PluginManagementService, PluginTranslationService} from '../../../../services';\nimport {TranslateService} from '@ngx-translate/core';\nimport {DocumentenApiService} from '../../services';\n\n@Component({\n selector: 'valtimo-documenten-api-configuration',\n templateUrl: './documenten-api-configuration.component.html',\n standalone: false,\n})\nexport class DocumentenApiConfigurationComponent\n implements PluginConfigurationComponent, OnInit, OnDestroy\n{\n @Input() save$: Observable<void>;\n @Input() disabled$: Observable<boolean>;\n @Input() pluginId: string;\n @Input() prefillConfiguration$: Observable<DocumentenApiConfig>;\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() configuration: EventEmitter<DocumentenApiConfig> =\n new EventEmitter<DocumentenApiConfig>();\n\n private saveSubscription!: Subscription;\n\n private readonly formValue$ = new BehaviorSubject<DocumentenApiConfig | null>(null);\n private readonly valid$ = new BehaviorSubject<boolean>(false);\n\n readonly authenticationPluginSelectItems$: Observable<Array<{id: string; text: string}>> =\n combineLatest([\n this.pluginManagementService.getPluginConfigurationsByCategory(\n 'documenten-api-authentication'\n ),\n this.translateService.stream('key'),\n ]).pipe(\n map(([configurations]) =>\n configurations.map(configuration => ({\n id: configuration.id,\n text: `${configuration.title} - ${this.pluginTranslationService.instant(\n 'title',\n configuration.pluginDefinition.key\n )}`,\n }))\n )\n );\n readonly apiVersionItems$: Observable<Array<{id: string; text: string}>> =\n this.documentenApiService.getManagementApiAllVersions().pipe(\n map(response =>\n response.versions.map(version => ({\n id: version,\n text: version,\n }))\n )\n );\n\n constructor(\n private readonly pluginManagementService: PluginManagementService,\n private readonly translateService: TranslateService,\n private readonly pluginTranslationService: PluginTranslationService,\n private readonly documentenApiService: DocumentenApiService\n ) {}\n\n ngOnInit(): void {\n this.openSaveSubscription();\n }\n\n ngOnDestroy() {\n this.saveSubscription?.unsubscribe();\n }\n\n formValueChange(formValue: DocumentenApiConfig): void {\n if (!formValue.apiVersion) {\n formValue.apiVersion = null;\n }\n this.formValue$.next(formValue);\n this.handleValid(formValue);\n }\n\n private handleValid(formValue: DocumentenApiConfig): void {\n const valid = !!(\n formValue.configurationTitle &&\n formValue.url &&\n formValue.bronorganisatie &&\n formValue.authenticationPluginConfiguration\n );\n\n this.valid$.next(valid);\n this.valid.emit(valid);\n }\n\n private openSaveSubscription(): void {\n this.saveSubscription = this.save$?.subscribe(save => {\n combineLatest([this.formValue$, this.valid$])\n .pipe(take(1))\n .subscribe(([formValue, valid]) => {\n if (valid) {\n this.configuration.emit(formValue);\n }\n });\n });\n }\n}\n","<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null,\n } as obs\"\n>\n <v-input\n name=\"configurationTitle\"\n [title]=\"'configurationTitle' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.configurationTitle\"\n [required]=\"true\"\n [trim]=\"true\"\n [tooltip]=\"'configurationTitleTooltip' | pluginTranslate: pluginId | async\"\n placeholder=\"Documenten API Plugin\"\n >\n </v-input>\n <v-input\n name=\"url\"\n [title]=\"'url' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.url\"\n [required]=\"true\"\n [trim]=\"true\"\n [tooltip]=\"'urlTooltip' | pluginTranslate: pluginId | async\"\n placeholder=\"https://openzaak.example.com/documenten/api/v1/\"\n >\n </v-input>\n <v-input\n name=\"bronorganisatie\"\n type=\"digitOnly\"\n [title]=\"'bronorganisatie' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.bronorganisatie\"\n [required]=\"true\"\n [trim]=\"true\"\n [tooltip]=\"'bronorganisatieTooltip' | pluginTranslate: pluginId | async\"\n placeholder=\"123456789\"\n >\n </v-input>\n <ng-container\n *ngIf=\"{authenticationPluginSelectItems: authenticationPluginSelectItems$ | async} as authObs\"\n >\n <v-select\n [loading]=\"!authObs.authenticationPluginSelectItems\"\n [items]=\"authObs.authenticationPluginSelectItems\"\n [margin]=\"true\"\n name=\"authenticationPluginConfiguration\"\n [title]=\"'authenticationPluginConfiguration' | pluginTranslate: pluginId | async\"\n [disabled]=\"obs.disabled\"\n [defaultSelectionId]=\"obs.prefill?.authenticationPluginConfiguration\"\n [required]=\"true\"\n [tooltip]=\"'authenticationPluginConfigurationTooltip' | pluginTranslate: pluginId | async\"\n ></v-select>\n </ng-container>\n <ng-container *ngIf=\"{apiVersionItems: apiVersionItems$ | async} as pObs\">\n <v-select\n [loading]=\"!pObs.apiVersionItems\"\n [items]=\"pObs.apiVersionItems\"\n [margin]=\"true\"\n name=\"apiVersion\"\n [title]=\"'apiVersion' | pluginTranslate: pluginId | async\"\n [disabled]=\"obs.disabled\"\n [defaultSelectionId]=\"obs.prefill?.apiVersion\"\n [required]=\"false\"\n [tooltip]=\"'apiVersionTooltip' | pluginTranslate: pluginId | async\"\n ></v-select>\n </ng-container>\n</v-form>\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {FunctionConfigurationComponent} from '../../../../models';\nimport {BehaviorSubject, combineLatest, map, Observable, Subscription, take} from 'rxjs';\nimport {DocumentLanguage, DocumentStatus, StoreTempDocumentConfig} from '../../models';\nimport {TranslateService} from '@ngx-translate/core';\nimport {PluginTranslationService} from '../../../../services';\nimport {ConfidentialityLevel} from '../../../documenten-api/models';\n\n@Component({\n selector: 'valtimo-store-temp-document-configuration',\n templateUrl: './store-temp-document-configuration.component.html',\n standalone: false,\n})\nexport class StoreTempDocumentConfigurationComponent\n implements FunctionConfigurationComponent, OnInit, OnDestroy\n{\n @Input() save$: Observable<void>;\n @Input() disabled$: Observable<boolean>;\n @Input() pluginId: string;\n @Input() prefillConfiguration$: Observable<StoreTempDocumentConfig>;\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() configuration: EventEmitter<StoreTempDocumentConfig> =\n new EventEmitter<StoreTempDocumentConfig>();\n\n readonly CONFIDENTIALITY_LEVEL_ITEMS: Array<ConfidentialityLevel> = [\n 'openbaar',\n 'beperkt_openbaar',\n 'intern',\n 'zaakvertrouwelijk',\n 'vertrouwelijk',\n 'confidentieel',\n 'geheim',\n 'zeer_geheim',\n ];\n readonly confidentialityLevelItems$: Observable<Array<{id: string; text: string}>> =\n this.translateService.stream('key').pipe(\n map(() =>\n this.CONFIDENTIALITY_LEVEL_ITEMS.map(confidentialityLevel => ({\n id: confidentialityLevel,\n text: this.pluginTranslationService.instant(confidentialityLevel, this.pluginId),\n }))\n )\n );\n\n readonly LANGUAGE_ITEMS: Array<DocumentLanguage> = ['nld'];\n readonly languageSelectItems$: Observable<Array<{id: DocumentLanguage; text: string}>> =\n this.translateService.stream('key').pipe(\n map(() =>\n this.LANGUAGE_ITEMS.map(item => ({\n id: item,\n text: this.pluginTranslationService.instant(item, this.pluginId),\n }))\n )\n );\n readonly STATUS_ITEMS: Array<DocumentStatus> = [\n 'in_bewerking',\n 'ter_vaststelling',\n 'definitief',\n 'gearchiveerd',\n ];\n readonly statusSelectItems$: Observable<Array<{id: DocumentStatus; text: string}>> =\n this.translateService.stream('key').pipe(\n map(() =>\n this.STATUS_ITEMS.map(item => ({\n id: item,\n text: this.pluginTranslationService.instant(item, this.pluginId),\n }))\n )\n );\n\n private saveSubscription!: Subscription;\n private readonly formValue$ = new BehaviorSubject<StoreTempDocumentConfig | null>(null);\n private readonly valid$ = new BehaviorSubject<boolean>(false);\n\n constructor(\n private readonly translateService: TranslateService,\n private readonly pluginTranslationService: PluginTranslationService\n ) {}\n\n ngOnInit(): void {\n this.openSaveSubscription();\n }\n\n ngOnDestroy(): void {\n this.saveSubscription?.unsubscribe();\n }\n\n formValueChange(formValue: StoreTempDocumentConfig): void {\n this.formValue$.next(formValue);\n this.handleValid(formValue);\n }\n\n private handleValid(formValue: StoreTempDocumentConfig): void {\n const valid = !!(\n formValue.localDocumentLocation &&\n formValue.taal &&\n formValue.status &&\n formValue.informatieobjecttype\n );\n\n this.valid$.next(valid);\n this.valid.emit(valid);\n }\n\n private openSaveSubscription(): void {\n this.saveSubscription = this.save$?.subscribe(save => {\n combineLatest([this.formValue$, this.valid$])\n .pipe(take(1))\n .subscribe(([formValue, valid]) => {\n if (valid) {\n this.configuration.emit(formValue);\n }\n });\n });\n }\n}\n","<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null,\n } as obs\"\n>\n <v-input\n name=\"fileName\"\n [title]=\"'fileName' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.fileName\"\n [disabled]=\"obs.disabled\"\n [tooltip]=\"'fileNameTooltip' | pluginTranslate: pluginId | async\"\n [trim]=\"true\"\n ></v-input>\n <v-select\n [items]=\"confidentialityLevelItems$ | async\"\n [margin]=\"true\"\n [widthInPx]=\"200\"\n name=\"confidentialityLevel\"\n [title]=\"'confidentialityLevel' | pluginTranslate: pluginId | async\"\n [disabled]=\"obs.disabled\"\n [defaultSelectionId]=\"obs.prefill?.confidentialityLevel || CONFIDENTIALITY_LEVEL_ITEMS[3]\"\n [tooltip]=\"'confidentialityLevelTooltip' | pluginTranslate: pluginId | async\"\n ></v-select>\n <v-input\n name=\"title\"\n [title]=\"'inputTitle' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.title\"\n [disabled]=\"obs.disabled\"\n [tooltip]=\"'inputTitleTooltip' | pluginTranslate: pluginId | async\"\n [trim]=\"true\"\n ></v-input>\n <v-input\n name=\"description\"\n [title]=\"'inputDescription' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.description\"\n [disabled]=\"obs.disabled\"\n [tooltip]=\"'inputDescriptionTooltip' | pluginTranslate: pluginId | async\"\n ></v-input>\n <v-input\n name=\"localDocumentLocation\"\n [title]=\"'localDocumentLocation' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.localDocumentLocation\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n [trim]=\"true\"\n [tooltip]=\"'localDocumentLocationTooltip' | pluginTranslate: pluginId | async\"\n >\n </v-input>\n <v-input\n name=\"storedDocumentUrl\"\n [title]=\"'storedDocumentUrl' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.storedDocumentUrl\"\n [disabled]=\"obs.disabled\"\n [trim]=\"true\"\n [tooltip]=\"'storeDocumentUrlTooltip' | pluginTranslate: pluginId | async\"\n >\n </v-input>\n <v-select\n [items]=\"languageSelectItems$ | async\"\n [margin]=\"true\"\n [widthInPx]=\"200\"\n name=\"taal\"\n [title]=\"'taal' | pluginTranslate: pluginId | async\"\n [disabled]=\"obs.disabled\"\n [defaultSelectionId]=\"obs.prefill?.taal || LANGUAGE_ITEMS[0]\"\n [required]=\"true\"\n ></v-select>\n <v-select\n [items]=\"statusSelectItems$ | async\"\n [margin]=\"true\"\n [widthInPx]=\"200\"\n name=\"status\"\n [title]=\"'status' | pluginTranslate: pluginId | async\"\n [disabled]=\"obs.disabled\"\n [defaultSelectionId]=\"obs.prefill?.status || STATUS_ITEMS[2]\"\n [required]=\"true\"\n ></v-select>\n <v-input\n name=\"informatieobjecttype\"\n [title]=\"'informatieobjecttype' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.informatieobjecttype\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n [trim]=\"true\"\n [tooltip]=\"'informatieobjecttypeTooltip' | pluginTranslate: pluginId | async\"\n [fullWidth]=\"true\"\n >\n </v-input>\n</v-form>\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {FunctionConfigurationComponent} from '../../../../models';\nimport {Observable, Subscription} from 'rxjs';\n\n@Component({\n selector: 'valtimo-store-uploaded-document-configuration',\n templateUrl: './store-uploaded-document-configuration.component.html',\n standalone: false,\n})\nexport class StoreUploadedDocumentConfigurationComponent\n implements FunctionConfigurationComponent, OnInit, OnDestroy\n{\n @Input() save$: Observable<void>;\n @Input() disabled$: Observable<boolean>;\n @Input() pluginId: string;\n @Input() prefillConfiguration$: Observable<any>;\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() configuration: EventEmitter<any> = new EventEmitter<any>();\n\n private saveSubscription!: Subscription;\n\n ngOnInit(): void {\n this.openSaveSubscription();\n this.emitValid();\n }\n\n ngOnDestroy(): void {\n this.saveSubscription?.unsubscribe();\n }\n\n private emitValid(): void {\n this.valid.emit(true);\n }\n\n private openSaveSubscription(): void {\n this.saveSubscription = this.save$?.subscribe(save => {\n this.configuration.emit({});\n });\n }\n}\n","<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-paragraph [center]=\"true\" [fullWidth]=\"true\">\n {{ 'storeUploadedDocumentMessage' | pluginTranslate: pluginId | async }}\n</v-paragraph>\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {FunctionConfigurationComponent} from '../../../../models';\nimport {BehaviorSubject, combineLatest, Observable, Subscription, take} from 'rxjs';\nimport {DownloadDocumentConfig} from '../../models';\n\n@Component({\n selector: 'valtimo-download-document-configuration',\n templateUrl: './download-document-configuration.component.html',\n standalone: false,\n})\nexport class DownloadDocumentConfigurationComponent\n implements FunctionConfigurationComponent, OnInit, OnDestroy\n{\n @Input() save$: Observable<void>;\n @Input() disabled$: Observable<boolean>;\n @Input() pluginId: string;\n @Input() prefillConfiguration$: Observable<DownloadDocumentConfig>;\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() configuration: EventEmitter<DownloadDocumentConfig> =\n new EventEmitter<DownloadDocumentConfig>();\n\n private saveSubscription!: Subscription;\n private readonly formValue$ = new BehaviorSubject<DownloadDocumentConfig | null>(null);\n private readonly valid$ = new BehaviorSubject<boolean>(false);\n\n ngOnInit(): void {\n this.openSaveSubscription();\n this.valid.emit(true);\n }\n\n ngOnDestroy(): void {\n this.saveSubscription?.unsubscribe();\n }\n\n private openSaveSubscription(): void {\n this.saveSubscription = this.save$?.subscribe(save => {\n combineLatest([this.formValue$, this.valid$])\n .pipe(take(1))\n .subscribe(([formValue, valid]) => {\n if (valid) {\n this.configuration.emit(formValue);\n }\n });\n });\n }\n\n formValueChange(formValue: DownloadDocumentConfig): void {\n this.formValue$.next(formValue);\n this.handleValid(formValue);\n }\n\n private handleValid(formValue: DownloadDocumentConfig): void {\n const valid = !!formValue.processVariableName;\n\n this.valid$.next(valid);\n this.valid.emit(valid);\n }\n}\n","<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null,\n } as obs\"\n>\n <v-input\n name=\"processVariableName\"\n [title]=\"'processVariableName' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.processVariableName\"\n [disabled]=\"obs.disabled\"\n [required]=\"false\"\n [trim]=\"true\"\n [tooltip]=\"'processVariableTooltip' | pluginTranslate: pluginId | async\"\n ></v-input>\n</v-form>\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {FunctionConfigurationComponent} from '../../../../models';\nimport {Observable, Subscription} from 'rxjs';\n\n@Component({\n selector: 'valtimo-store-uploaded-document-in-parts-configuration',\n templateUrl: './store-uploaded-document-in-parts-configuration.component.html',\n standalone: false,\n})\nexport class StoreUploadedDocumentInPartsConfigurationComponent\n implements FunctionConfigurationComponent, OnInit, OnDestroy\n{\n @Input() save$: Observable<void>;\n @Input() disabled$: Observable<boolean>;\n @Input() pluginId: string;\n @Input() prefillConfiguration$: Observable<any>;\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() configuration: EventEmitter<any> = new EventEmitter<any>();\n\n private saveSubscription!: Subscription;\n\n public ngOnInit(): void {\n this.openSaveSubscription();\n this.emitValid();\n }\n\n public ngOnDestroy(): void {\n this.saveSubscription?.unsubscribe();\n }\n\n private emitValid(): void {\n this.valid.emit(true);\n }\n\n private openSaveSubscription(): void {\n this.saveSubscription = this.save$?.subscribe(() => {\n this.configuration.emit({});\n });\n }\n}\n","<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-paragraph [center]=\"true\" [fullWidth]=\"true\">\n {{ 'storeUploadedDocumentInPartsMessage' | pluginTranslate: pluginId | async }}\n</v-paragraph>\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {NgModule} from '@angular/core';\nimport {CommonModule} from '@angular/common';\nimport {DocumentenApiConfigurationComponent} from './components/documenten-api-configuration/documenten-api-configuration.component';\nimport {PluginTranslatePipeModule} from '../../pipes';\nimport {FormModule, InputModule, ParagraphModule, SelectModule} from '@valtimo/components';\nimport {StoreTempDocumentConfigurationComponent} from './components/store-temp-document/store-temp-document-configuration.component';\nimport {StoreUploadedDocumentConfigurationComponent} from './components/store-uploaded-document/store-uploaded-document-configuration.component';\nimport {DownloadDocumentConfigurationComponent} from './components/download-document/download-document-configuration.component';\nimport {StoreUploadedDocumentInPartsConfigurationComponent} from './components/store-uploaded-document-in-parts/store-uploaded-document-in-parts-configuration.component';\n\n@NgModule({\n declarations: [\n DocumentenApiConfigurationComponent,\n StoreTempDocumentConfigurationComponent,\n StoreUploadedDocumentConfigurationComponent,\n StoreUploadedDocumentInPartsConfigurationComponent,\n DownloadDocumentConfigurationComponent,\n ],\n imports: [\n CommonModule,\n PluginTranslatePipeModule,\n FormModule,\n InputModule,\n SelectModule,\n ParagraphModule,\n ],\n exports: [\n DocumentenApiConfigurationComponent,\n StoreTempDocumentConfigurationComponent,\n StoreUploadedDocumentConfigurationComponent,\n StoreUploadedDocumentInPartsConfigurationComponent,\n DownloadDocumentConfigurationComponent,\n ],\n})\nexport class DocumentenApiPluginModule {}\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nconst DOCUMENTEN_API_PLUGIN_LOGO_BASE64 =\n 'data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB2aWV3Qm94PSIxNTAgMTUgOTYgNTAiPjxkZWZzPjxwYXRoIGlkPSJhIiBkPSJNNTcuMzk2LjIxMUguMjgxdjQ5LjQwNWg1Ny4xMTVWLjIxeiIvPjxwYXRoIGlkPSJjIiBkPSJNNTcuNTY0LjIxMUguNDQ4djQ5LjQwNWg1Ny4xMTZWLjIxeiIvPjwvZGVmcz48ZyBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDE4Ny45MzEgMTUpIj48bWFzayBpZD0iYiIgZmlsbD0iI2ZmZiI+PHVzZSB4bGluazpocmVmPSIjYSIvPjwvbWFzaz48cGF0aCBkPSJNNTcuMzk2IDI0LjkxM2MwLTEzLjU3My0xMS4wMDQtMjQuNjIyLTI0LjU2LTI0LjctLjAyNCAwLS4wNDgtLjAwMy0uMDczLS4wMDNIMjQuNzVhMi41MDQgMi41MDQgMCAxIDAgMCA1LjAxaDcuOTQ1YzEwLjg1OCAwIDE5LjY5NCA4LjgzNCAxOS42OTQgMTkuNjkzIDAgMTAuODYtOC44MzYgMTkuNjk0LTE5LjY5NCAxOS42OTRINS4yODl2LTQuNTc4SC4yODF2OS41ODdoMzIuNDgydi0uMDAxYzEzLjU5LS4wNCAyNC42MzMtMTEuMTA1IDI0LjYzMy0yNC43MDIiIGZpbGw9IiMwMDlGRTQiIG1hc2s9InVybCgjYikiLz48L2c+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTUwIDE1KSI+PG1hc2sgaWQ9ImQiIGZpbGw9IiNmZmYiPjx1c2UgeGxpbms6aHJlZj0iI2MiLz48L21hc2s+PHBhdGggZD0iTS40NDggMjQuOTEzYzAgMTMuNTczIDExLjAwNCAyNC42MjIgMjQuNTYgMjQuNy4wMjQgMCAuMDQ4LjAwMy4wNzMuMDAzaDguMDE0YTIuNTA0IDIuNTA0IDAgMSAwIDAtNS4wMDloLTcuOTQ0Yy0xMC44NTkgMC0xOS42OTQtOC44MzQtMTkuNjk0LTE5LjY5NCAwLTEwLjg1OSA4LjgzNS0xOS42OTQgMTkuNjk0LTE5LjY5NGgyNy40MDR2NC41NzhoNS4wMDlWLjIxSDI1LjA4di4wMDFDMTEuNDkuMjUxLjQ0OCAxMS4zMTYuNDQ4IDI0LjkxMyIgZmlsbD0iIzAwOUZFNCIgbWFzaz0idXJsKCNkKSIvPjwvZz48cGF0aCBmaWxsPSIjMDA0Mzg4IiBkPSJNMTc2LjAxNyA0Mi4xMTZsLTQuNjc4LTEyLjQwMWgtNS42NjRsOC4xNCAyMC4zNjZoMy45MjFsOC40MDEtMjAuMzY2aC01LjM2M3ptMjYuNTQyLjU1OGwtNy45MjgtMTIuOTU5aC02LjQxM3YyMC4zNjdoNC45OTdWMzYuNzg3bDguMTUgMTMuMjk1aDYuMTlWMjkuNzE1aC00Ljk5NnptMTkuMzIzLTQuOTR2NC42NjNoMy41Mzd2Mi42NzdhOS43NzMgOS43NzMgMCAwIDEtMS40MTQuNTRjLS42NTIuMjAzLTEuNDQzLjMwNi0yLjM1NC4zMDYtLjg4IDAtMS42ODYtLjE1LTIuMzk0LS40NDhhNS4zMzggNS4zMzggMCAwIDEtMS44MjQtMS4yNDcgNS41MjIgNS41MjIgMCAwIDEtMS4xNy0xLjg5NGMtLjI3Mi0uNzI5LS40MS0xLjU0OS0uNDEtMi40MzMgMC0uODY3LjEzOC0xLjY4MS40MS0yLjQyYTUuNTAyIDUuNTAyIDAgMCAxIDEuMTctMS45MDggNS4zNzQgNS4zNzQgMCAwIDEgMS44MjQtMS4yNDZjLjcwOS0uMjk4IDEuNTE0LS40NDkgMi4zOTQtLjQ0OSAxLjA2NCAwIDEuOTU5LjE1MSAyLjY1Ny40NDkuNy4yOTcgMS4zMzguNzQgMS44OTggMS4zMThsLjI0Mi4yNDggMy41MTUtMy44MzUtLjIzNy0uMjIxYTguOTIzIDguOTIzIDAgMCAwLTMuNjI3LTIuMDM4Yy0xLjM1LS4zODYtMi44NDctLjU4My00LjQ0OC0uNTgzLTEuNTcyIDAtMy4wNDQuMjUtNC4zNzMuNzQ1YTEwLjEzOSAxMC4xMzkgMCAwIDAtMy40ODEgMi4xNDNjLS45NzUuOTI4LTEuNzQ2IDIuMDY2LTIuMjkgMy4zODQtLjU0MyAxLjMxNS0uODE5IDIuOC0uODE5IDQuNDEzIDAgMS42MTMuMjc2IDMuMDk4LjgyIDQuNDEzLjU0NSAxLjMxOSAxLjMxNCAyLjQ1NyAyLjI4OSAzLjM4NC45NzQuOTI2IDIuMTQ2IDEuNjQ3IDMuNDggMi4xNDMgMS4zMy40OTQgMi44MDIuNzQ0IDQuMzc0Ljc0NCAxLjQ2NCAwIDIuOTItLjE1MiA0LjMzLS40NTJhMTYuMDU0IDE2LjA1NCAwIDAgMCA0LjA5LTEuNDc4bC4xNzctLjA5VjM3LjczM2gtOC4zNjZ6Ii8+PC9nPjwvc3ZnPg==';\n\nexport {DOCUMENTEN_API_PLUGIN_LOGO_BASE64};\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport * from './documenten-api-plugin-logo';\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {PluginSpecification} from '../../models';\nimport {StoreTempDocumentConfigurationComponent} from './components/store-temp-document/store-temp-document-configuration.component';\nimport {DOCUMENTEN_API_PLUGIN_LOGO_BASE64} from './assets';\nimport {DocumentenApiConfigurationComponent} from './components/documenten-api-configuration/documenten-api-configuration.component';\nimport {StoreUploadedDocumentConfigurationComponent} from './components/store-uploaded-document/store-uploaded-document-configuration.component';\nimport {DownloadDocumentConfigurationComponent} from './components/download-document/download-document-configuration.component';\nimport {StoreUploadedDocumentInPartsConfigurationComponent} from './components/store-uploaded-document-in-parts/store-uploaded-document-in-parts-configuration.component';\n\nconst documentenApiPluginSpecification: PluginSpecification = {\n pluginId: 'documentenapi',\n pluginConfigurationComponent: DocumentenApiConfigurationComponent,\n pluginLogoBase64: DOCUMENTEN_API_PLUGIN_LOGO_BASE64,\n functionConfigurationComponents: {\n 'store-temp-document': StoreTempDocumentConfigurationComponent,\n 'store-uploaded-document': StoreUploadedDocumentConfigurationComponent,\n 'store-uploaded-document-in-parts': StoreUploadedDocumentInPartsConfigurationComponent,\n 'download-document': DownloadDocumentConfigurationComponent,\n },\n pluginTranslations: {\n nl: {\n title: 'Documenten API',\n description: 'API voor opslag en ontsluiting van documenten en daarbij behorende metadata.',\n 'store-temp-document': 'Document opslaan',\n 'store-uploaded-document': 'Geupload document opslaan',\n 'store-uploaded-document-in-parts': 'Geupload document opslaan in bestandsdelen',\n 'download-document': 'Download document',\n storeUploadedDocumentMessage:\n 'Het opslaan van een geupload document heeft geen configuratie nodig.',\n storeUploadedDocumentInPartsMessage:\n 'Het opslaan van een geupload document in bestandsdelen heeft geen configuratie nodig',\n configurationTitle: 'Configuratienaam',\n configurationTitleTooltip:\n 'Hier kunt je een eigen naam verzinnen. Onder deze naam zal de plugin te herkennen zijn in de rest van de applicatie',\n url: 'Documenten API URL',\n urlTooltip:\n 'In dit veld moet de verwijzing komen naar de REST API van Documenten. Deze url moet dus eindigen op /documenten/api/v1/',\n bronorganisatie: 'Bronorganisatie RSIN',\n bronorganisatieTooltip:\n 'Vul hier het RSIN van de organisatie in die verantwoordelijk is voor de documenten',\n fileName: 'Bestandsnaam',\n fileNameTooltip:\n 'De naam van het fysieke bestand waarin de inhoud van het document is vastgelegd, inclusief extensie',\n confidentialityLevel: 'Vertrouwelijkheidsaanduiding',\n confidentialityLevelTooltip:\n 'Aanduiding van de mate waarin het document voor de openbaarheid bestemd is',\n inputTitle: 'Titel',\n inputTitleTooltip: 'De naam waaronder het document formeel bekend is',\n inputDescription: 'Beschrijving',\n inputDescriptionTooltip: 'Een generieke beschrijving van de inhoud van het document',\n openbaar: 'Openbaar',\n beperkt_openbaar: 'Beperkt openbaar',\n intern: 'Intern',\n zaakvertrouwelijk: 'Zaakvertrouwelijk',\n vertrouwelijk: 'Vertrouwelijk',\n confidentieel: 'Confidentieel',\n geheim: 'Geheim',\n zeer_geheim: 'Zeer geheim',\n localDocumentLocation: 'Naam procesvariabele met document',\n localDocumentLocationTooltip:\n 'Hier moet de procesvariabele ingevuld worden die wijst naar de locatie waar het document lokaal staat opgeslagen',\n storedDocumentUrl: 'Naam procesvariabele voor opslag document-URL',\n storeDocumentUrlTooltip:\n 'Nadat het document geupload is naar de Documenten API zal de applicatie in deze procesvariabele de URL naar het document opslaan.',\n taal: 'Taal',\n status: 'Status',\n informatieobjecttype: 'URL naar het informatieobjecttype',\n informatieobjecttypeTooltip:\n 'Vul in dit veld de volledige URL naar een informatieobjecttype van een Zaak catalogus. Deze URL moet dus eindigen op /catalogi/api/v1/informatieobjecttypen/{uuid}',\n nld: 'Nederlands',\n in_bewerking: 'In bewerking',\n ter_vaststelling: 'Ter vaststelling',\n definitief: 'Definitief',\n gearchiveerd: 'Gearchiveerd',\n authenticationPluginConfiguration: 'Configuratie authenticatie-plug-in',\n authenticationPluginConfigurationTooltip:\n 'Selecteer de plugin die de authenticatie kan afhandelen. Wanneer de selectiebox leeg blijft zal de authenticatie plugin (bv. OpenZaak) eerst aangemaakt moeten worden',\n apiVersion: 'Documenten API versie',\n apiVersionTooltip: 'Selecteer de versie van de Documenten API',\n downloadDocumentMessage:\n 'Het downloaden van een document vanuit de Documenten API vereist geen configuratie.',\n processVariableName:\n 'Wat is de naam van de procesvariabele waarnaar u het document wilt downloaden?',\n },\n en: {\n title: 'Documenten API',\n description: 'API for storing and accessing documents and associated metadata.',\n 'store-temp-document': 'Save document',\n 'store-uploaded-document': 'Save uploaded document',\n 'store-uploaded-document-in-parts': 'Save uploaded document in parts',\n 'download-document': 'Download document',\n storeUploadedDocumentMessage:\n 'Saving an uploaded document does not require any configuration.',\n storeUploadedDocumentInPartsMessage:\n 'Saving an uploaded document in parts does not require any configuration.',\n configurationTitle: 'Configuration name',\n configurationTitleTooltip:\n 'Here you can enter a name for the plugin. This name will be used to recognize the plugin throughout the rest of the application',\n url: 'Documenten API URL',\n urlTooltip:\n 'This field must contain the URL to the REST API of Documenten, therefore this URL should end with /documenten/api/v1/',\n bronorganisatie: 'Organisation RSIN',\n bronorganisatieTooltip:\n 'Enter here the RSIN of the organization responsible for the documents. The RSIN is a dutch identification number for legal entities and partnerships ',\n fileName: 'File name',\n fileNameTooltip:\n 'The name of the physical file in which the content of the document is captured, including extension',\n confidentialityLevel: 'Confidentiality level',\n confidentialityLevelTooltip:\n 'Indication of the extent to which the document is intended for public access',\n inputTitle: 'Title',\n inputTitleTooltip: 'The name by which the document is formally known',\n inputDescription: 'Description',\n inputDescriptionTooltip: 'A generic description of the content of the document',\n openbaar: 'Public',\n beperkt_openbaar: 'Restricted public',\n intern: 'Internal',\n zaakvertrouwelijk: 'Case confidential',\n vertrouwelijk: 'Private',\n confidentieel: 'Confidential',\n geheim: 'Secret',\n zeer_geheim: 'Very secret',\n localDocumentLocation: 'Name of process variable with document',\n localDocumentLocationTooltip:\n 'Enter the process variable that points to the location where the document is stored locally',\n storedDocumentUrl: 'Process variable name for storing document URL',\n storeDocumentUrlTooltip:\n 'After the document has been uploaded to the Documenten API, the application will store the URL to the document in this process variable.',\n taal: 'Language',\n status: 'Status',\n informatieobjecttype: 'URL to the informationobjecttype',\n informatieobjecttypeTooltip:\n 'Enter the full URL to an information object type of a Zaak catalog in this field. So this URL must end with /catalogi/api/v1/informatieobjecttypen/{uuid}',\n nld: 'Dutch',\n in_bewerking: 'Editing',\n ter_vaststelling: 'To be confirmed',\n definitief: 'Final',\n gearchiveerd: 'Archived',\n authenticationPluginConfiguration: 'Authentication plugin configuration',\n authenticationPluginConfigurationTooltip:\n 'Select the plugin that can handle the authentication. If the selection box remains empty, the authentication plugin (e.g. OpenZaak) will have to be created first',\n apiVersion: 'Documenten API version',\n apiVersionTooltip: 'Select the version of the Documenten API',\n downloadDocumentMessage:\n 'Downloading a document form the Documenten API does not require any configuration.',\n processVariableName:\n 'What is the name of the process variable you want to download the document to?',\n },\n de: {\n title: 'Documenten API',\n description: 'API zum Speichern und Zugreifen auf Dokumente und zugehörige Metadaten.',\n 'store-temp-document': 'Dokument speichern',\n 'store-uploaded-document': 'Hochgeladenes Dokument speichern',\n 'store-uploaded-document-in-parts': 'Hochgeladenes Dokument in Teilen speichern',\n 'download-document': 'Dokument herunterladen',\n storeUploadedDocumentMessage:\n 'Das Speichern eines hochgeladenen Dokuments erfordert keine Konfiguration.',\n storeUploadedDocumentInPartsMessage:\n 'Das Speichern eines hochgeladenen Dokuments in Teilen erfordert keine Konfiguration.',\n configurationTitle: 'Konfigurationsname',\n configurationTitleTooltip:\n 'Hier können Sie einen Namen für das Plugin eingeben. Dieser Name wird verwendet, um das Plugin im Rest der Anwendung zu erkennen',\n url: 'Documenten API URL',\n urlTooltip:\n 'Dieses Feld muss die URL zur REST API von Documenten enthalten, daher sollte diese URL mit enden /documenten/api/v1/',\n bronorganisatie: 'Organisation RSIN',\n bronorganisatieTooltip:\n 'Geben Sie hier den RAIN der für die Dokumente verantwortlichen Organisation ein. Der RAIN ist eine niederländische Identifikationsnummer für juristische Personen und Personengesellschaften',\n fileName: 'Dateiname',\n fileNameTooltip:\n 'Der Name der physischen Datei, in der der Inhalt des Dokuments erfasst wird, einschließlich Erweiterung',\n confidentialityLevel: 'Vertraulichkeitshinweis',\n confidentialityLevelTooltip:\n 'Angabe, inwieweit das Dokument für die Öffentlichkeit bestimmt ist',\n inputTitle: 'Titel',\n inputTitleTooltip: 'Der Name, unter dem das Dokument offiziell bekannt ist',\n inputDescription: 'Beschreibung',\n inputDescriptionTooltip: 'Eine allgemeine Beschreibung des Inhalts des Dokuments',\n openbaar: 'Öffentlichkeit',\n beperkt_openbaar: 'Eingeschränkt_öffentlich',\n intern: 'Intern',\n zaakvertrouwelijk: 'Geschäftlich vertraulich',\n vertrouwelijk: 'Vertraulich',\n confidentieel: 'Geheim',\n geheim: 'Geheimnis',\n zeer_geheim: 'Sehr geheim',\n localDocumentLocation: 'Name Prozessvariable mit Dokument',\n localDocumentLocationTooltip:\n 'Geben Sie die Prozessvariable ein, die auf den Ort zeigt, an dem das Dokument lokal gespeichert ist',\n storedDocumentUrl: 'Name der Prozessvariablen zum Speichern der Dokument-URL',\n storeDocumentUrlTooltip:\n 'Nachdem das Dokument in die Dokumenten-API hochgeladen wurde, speichert die Anwendung die URL zum Dokument in dieser Prozessvariablen.',\n taal: 'Sprache',\n status: 'Status',\n informatieobjecttype: 'URL zum Informationsobjekttyp',\n informatieobjecttypeTooltip:\n 'Geben Sie in diesem Feld die vollständige URL zu einem Informationsobjekttyp eines Case Katalogs. Diese URL muss daher mit enden /catalogi/api/v1/informatieobjecttypen/{uuid}',\n nld: 'Niederländisch',\n in_bewerking: 'In Bearbeitung',\n ter_vaststelling: 'Zu bestimmen',\n definitief: 'Endgültig',\n gearchiveerd: 'Archiviert',\n authenticationPluginConfiguration: 'Authentifizierungs-Plugin-Konfiguration',\n authenticationPluginConfigurationTooltip:\n 'Wählen Sie das Plugin aus, das die Authentifizierung verarbeiten kann. Bleibt das Auswahlfeld leer, muss zunächst das Authentifizierungs-Plugin (z. B. OpenZaak) erstellt werden',\n apiVersion: 'Documenten-API-Version',\n apiVersionTooltip: 'Wählen Sie die Version der Documenten-API aus',\n downloadDocumentMessage:\n 'Das Herunterladen eines Dokuments aus der Documenten-API erfordert keine Konfiguration.',\n processVariableName:\n 'Wie lautet der Name der Prozessvariablen, in die Sie das Dokument herunterladen möchten?',\n },\n },\n};\n\nexport {documentenApiPluginSpecification};\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {PluginConfigurationData} from '../../../models';\n\ninterface DocumentenApiConfig extends PluginConfigurationData {\n url: string;\n bronorganisatie: string;\n authenticationPluginConfiguration: string;\n apiVersion?: string;\n}\n\ntype ConfidentialityLevel =\n | 'openbaar'\n | 'beperkt_openbaar'\n | 'intern'\n | 'zaakvertrouwelijk'\n | 'vertrouwelijk'\n | 'confidentieel'\n | 'geheim'\n | 'zeer_geheim';\n\ntype DocumentLanguage = 'nld';\n\ntype DocumentStatus = 'in_bewerking' | 'ter_vaststelling' | 'definitief' | 'gearchiveerd';\n\ninterface StoreTempDocumentConfig {\n fileName: string;\n confidentialityLevel: ConfidentialityLevel;\n title: string;\n description: string;\n localDocumentLocation: string;\n storedDocumentUrl: string;\n taal: DocumentLanguage;\n status: DocumentStatus;\n informatieobjecttype: string;\n}\n\ninterface DocumentenApiManagementAllVersions {\n versions: Array<string>;\n}\n\nexport interface DownloadDocumentConfig {\n processVariableName: string;\n}\n\nexport {\n DocumentenApiConfig,\n StoreTempDocumentConfig,\n ConfidentialityLevel,\n DocumentLanguage,\n DocumentStatus,\n DocumentenApiManagementAllVersions,\n};\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {PluginConfigurationComponent} from '../../../../models';\nimport {BehaviorSubject, combineLatest, map, Observable, Subscription, take} from 'rxjs';\nimport {ObjecttypenApiConfig} from '../../models';\nimport {PluginManagementService, PluginTranslationService} from '../../../../services';\nimport {TranslateService} from '@ngx-translate/core';\n\n@Component({\n standalone: false,\n selector: 'valtimo-objecttypen-api-configuration',\n templateUrl: './objecttypen-api-configuration.component.html',\n styleUrls: ['./objecttypen-api-configuration.component.scss'],\n})\nexport class ObjecttypenApiConfigurationComponent\n implements PluginConfigurationComponent, OnInit, OnDestroy\n{\n @Input() save$: Observable<void>;\n @Input() disabled$: Observable<boolean>;\n @Input() pluginId: string;\n @Input() prefillConfiguration$: Observable<ObjecttypenApiConfig>;\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() configuration: EventEmitter<ObjecttypenApiConfig> =\n new EventEmitter<ObjecttypenApiConfig>();\n\n private saveSubscription!: Subscription;\n\n private readonly formValue$ = new BehaviorSubject<ObjecttypenApiConfig | null>(null);\n private readonly valid$ = new BehaviorSubject<boolean>(false);\n\n readonly authenticationPluginSelectItems$: Observable<Array<{id: string; text: string}>> =\n combineLatest([\n this.pluginManagementService.getPluginConfigurationsByCategory('objecten-api-authentication'),\n this.translateService.stream('key'),\n ]).pipe(\n map(([configurations]) =>\n configurations.map(configuration => ({\n id: configuration.id,\n text: `${configuration.title} - ${this.pluginTranslationService.instant(\n 'title',\n configuration.pluginDefinition.key\n )}`,\n }))\n )\n );\n\n constructor(\n private readonly pluginManagementService: PluginManagementService,\n private readonly translateService: TranslateService,\n private readonly pluginTranslationService: PluginTranslationService\n ) {}\n\n ngOnInit(): void {\n this.openSaveSubscription();\n }\n\n ngOnDestroy() {\n this.saveSubscription?.unsubscribe();\n }\n\n formValueChange(formValue: ObjecttypenApiConfig): void {\n this.formValue$.next(formValue);\n this.handleValid(formValue);\n }\n\n private handleValid(formValue: ObjecttypenApiConfig): void {\n const valid = !!(\n formValue.configurationTitle &&\n formValue.url &&\n formValue.authenticationPluginConfiguration\n );\n\n this.valid$.next(valid);\n this.valid.emit(valid);\n }\n\n private openSaveSubscription(): void {\n this.saveSubscription = this.save$?.subscribe(save => {\n combineLatest([this.formValue$, this.valid$])\n .pipe(take(1))\n .subscribe(([formValue, valid]) => {\n if (valid) {\n this.configuration.emit(formValue);\n }\n });\n });\n }\n}\n","<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null,\n } as obs\"\n>\n <v-input\n name=\"configurationTitle\"\n [title]=\"'configurationTitle' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.configurationTitle\"\n [required]=\"true\"\n [trim]=\"true\"\n [tooltip]=\"'configurationTitleTooltip' | pluginTranslate: pluginId | async\"\n placeholder=\"Objecttypen API Plugin\"\n >\n </v-input>\n <v-input\n name=\"url\"\n [title]=\"'url' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.url\"\n [required]=\"true\"\n [trim]=\"true\"\n [tooltip]=\"'urlTooltip' | pluginTranslate: pluginId | async\"\n placeholder=\"https://objecttypen.example.com/api/v2/\"\n >\n </v-input>\n <ng-container\n *ngIf=\"{authenticationPluginSelectItems: authenticationPluginSelectItems$ | async} as authObs\"\n >\n <v-select\n [items]=\"authObs.authenticationPluginSelectItems\"\n [margin]=\"true\"\n name=\"authenticationPluginConfiguration\"\n [title]=\"'authenticationPluginConfiguration' | pluginTranslate: pluginId | async\"\n [disabled]=\"obs.disabled\"\n [defaultSelectionId]=\"obs.prefill?.authenticationPluginConfiguration\"\n [required]=\"true\"\n [loading]=\"!authObs.authenticationPluginSelectItems\"\n ></v-select>\n </ng-container>\n</v-form>\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {NgModule} from '@angular/core';\nimport {ObjecttypenApiConfigurationComponent} from './components/objecttypen-api-configuration/objecttypen-api-configuration.component';\nimport {CommonModule} from '@angular/common';\nimport {PluginTranslatePipeModule} from '../../pipes';\nimport {FormModule, InputModule, ParagraphModule, SelectModule} from '@valtimo/components';\n\n@NgModule({\n declarations: [ObjecttypenApiConfigurationComponent],\n imports: [\n CommonModule,\n PluginTranslatePipeModule,\n FormModule,\n InputModule,\n SelectModule,\n ParagraphModule,\n ],\n exports: [ObjecttypenApiConfigurationComponent],\n})\nexport class ObjecttypenApiPluginModule {}\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nconst OBJECTTYPEN_API_PLUGIN_LOGO_BASE64 =\n 'data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyBpZD0iTGF5ZXJfMiIgZGF0YS1uYW1lPSJMYXllciAyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAzNDMuMDggMTgwLjIxIj4KICA8ZGVmcz4KICAgIDxzdHlsZT4KICAgICAgLmNscy0xIHsKICAgICAgICBmaWxsOiAjZmZiYzJkOwogICAgICB9CiAgICA8L3N0eWxlPgogIDwvZGVmcz4KICA8ZyBpZD0iTGF5ZXJfMS0yIiBkYXRhLW5hbWU9IkxheWVyIDEiPgogICAgPHBhdGggY2xhc3M9ImNscy0xIiBkPSJtMTQyLjgxLDcxLjgxYy04LjAyLTcuNjUtMTcuMzEtMTIuODQtMjguNTgtMTMuMDUtMTQuMDItLjI2LTMwLjQ4LDEwLjExLTMzLjQzLDI3LjM2LTEuNDIsOC4yOS42NSwxNS45NCw1LjY4LDIyLjYyLDcuNTEsOS45OCwxNy42NSwxNS41MywzMC4xNCwxNS41OSwxMi4yMS4wNiwyMy4yNC00LjA2LDMyLjk4LTExLjUsMi45OS0yLjI4LDUuNzgtNC43Nyw4LjM4LTcuNDguNi0uNjMsMS4yMi0xLjI2LDEuOTItMS43OC44OS0uNjUsMS44OS0uNzksMi42Ny4xNy43Ljg3LjE2LDEuNjYtLjQzLDIuMzMtMy42NCw0LjEzLTcuNDgsOC4wNC0xMS44MywxMS40NS0xMC4zNyw4LjE0LTIyLjE5LDEyLjYzLTM1LjI2LDEyLjgzLTIxLjAzLjMyLTQxLjIyLTE1LjY2LTQzLjctMzYuNTgtMS45NS0xNi41NCw0LjcxLTI5LjI4LDE3LjU3LTM4LjkxLDE1LjQ3LTExLjU3LDMyLjM3LTExLjgyLDQ5LjY4LTQuNjcsMTcuMTUsNy4wOCwzMC4yMywxOS4xNiw0MC43LDM0LjI1LDcuMSwxMC4yMywxNS4yMywxOS40NywyNS4zNiwyNi44Miw2LjE3LDQuNDgsMTIuOTUsNy41NywyMC41NCw4LjQ4LDExLjE0LDEuMzQsMjUuNjYtNC4xNCwzMi40Ny0xNi42Miw2LjItMTEuMzYsNC4zNi0yNS41Mi00LjU1LTM1LjEyLTkuNTktMTAuMzMtMjEuMzktMTQuMDMtMzUuMjctMTEuOTMtMTIuNiwxLjkxLTIzLjAzLDcuOC0zMi4wMywxNi41NS0uNzIuNy0xLjM3LDEuNDYtMi4xMywyLjExLTEuMDQuODktMS45OCwyLjk5LTMuNTYsMS41MS0xLjM1LTEuMjguMS0yLjc3LDEuMDUtMy44NywxMC40NS0xMi4wOCwyMi45OC0yMC42MiwzOS4xNS0yMi45OSwxOC4wNi0yLjY1LDMyLjgxLDMuMzQsNDMuODUsMTcuNjUsMTMuMDMsMTYuODksMTAuNDEsNDMuOTEtOS44Myw1OC4zNC0xNS4yMiwxMC44NS0zMS43MiwxMS44MS00OC43OSw1LjM4LTE2LjUyLTYuMjMtMjkuMjYtMTcuNDktMzkuNTEtMzEuNjItNS41Ny03LjY5LTEwLjg5LTE1LjU1LTE3LjYtMjIuMzNsLTUuNjItNS4wMloiLz4KICAgIDxwYXRoIGQ9Im0zMjMuNDYsODkuNjVjLTEuMy0uMzUtMi42MS0uNy0zLjkxLTEuMDUtMTEuOTEtMy4yMy0xOC4zMS0xMS4yNi0xOC41LTIzLjYyLS4xNi05Ljg3LS4wMy0xOS43NS0uMDYtMjkuNjIsMC0xLjg3LjAzLTMuNzctLjI4LTUuNjEtMS41NS04Ljk4LTcuNzUtMTQuMzEtMTcuNzItMTUuMzlxLTQuODItLjUyLTQuODItNS4zOWMwLTIuMjUuMDYtNC41LS4wMi02Ljc1LS4wNS0xLjQ4LjItMi4yNSwyLTIuMjEsOC41MS4xNywxNi42MywxLjgxLDIzLjkyLDYuMzgsOS43OCw2LjEzLDEzLjg0LDE1LjM5LDEzLjk3LDI2LjU5LjExLDkuNS4wMiwxOSwuMDMsMjguNSwwLDEuNjItLjAxLDMuMjUuMDksNC44Ny40NSw3LjI0LDQuMDksMTIuMTUsMTAuOTIsMTQuNiwzLjU1LDEuMjcsNy4yNywxLjg1LDExLjAyLDEuOSwyLjE1LjAzLDMuMTUuNTUsMi45NSwyLjk5LS4yNSwzLjEtLjE0LDYuMjUtLjAzLDkuMzcuMDYsMS42My0uNTUsMi4yLTIuMTQsMi4yMS0zLjUuMDItNi45Ni40MS0xMC4zNCwxLjQ3LTguMjksMi42Mi0xMi4yNCw3LjUtMTIuNCwxNi4xNC0uMTgsMTAtLjA5LDIwLS4wNywzMCwwLDMuNTEtLjIsNy4wMS0uOTQsMTAuNDMtMi4xNSw5Ljg4LTguMTUsMTYuNjUtMTcuMjgsMjAuNy02LjAxLDIuNjctMTIuMzksMy42NC0xOC45Myw0LjA0LTIuNS4xNS0yLjk1LS43NC0yLjgxLTIuOTIuMTctMi42MS4wMy01LjI1LjA0LTcuODcuMDItMy4yNy4wMy0zLjMyLDMuMTYtMy40OCwyLjM5LS4xMiw0LjcxLS41Niw2Ljk4LTEuMjUsOC4yNi0yLjUzLDEyLjQ2LTcuODIsMTIuNjEtMTYuNDguMTgtMTAuMzcuMS0yMC43NS4wNi0zMS4xMi0uMDEtMy4xNS4yNy02LjI1LDEtOS4yOSwxLjkyLTguMDQsNy4zNC0xMi43OSwxNC45MS0xNS4zNywyLjE4LS43NCw0LjQyLTEuMyw2LjYzLTEuOTQtLjAyLS4yOC0uMDQtLjU1LS4wNS0uODNaIi8+CiAgICA8cGF0aCBkPSJtMTkuMjYsOTAuNDdjMi4xLjYyLDQuMjMsMS4xNyw2LjMsMS44OSw5Ljk4LDMuNDMsMTUuNjIsMTAuNjMsMTUuOTcsMjEuMi4zMywxMC4yNC4xNCwyMC40OS4yMywzMC43My4wMiwyLjI0LjE1LDQuNS40NCw2LjcyLjc3LDUuOTEsMy45LDEwLjE1LDkuMzgsMTIuNTYsMy4zNCwxLjQ3LDYuODcsMi4zNywxMC41MiwyLjMxLDIuMzUtLjA0LDMuMDEuODUsMi44NywzLjA4LS4xOCwyLjk5LS4wOCw2LS4wMyw4Ljk5LjAzLDEuNDItLjEsMi4yOS0xLjk2LDIuMjMtOC4wOS0uMjYtMTUuOTEtMS42Mi0yMy4wNC01LjYyLTkuNi01LjM5LTE0LjY2LTEzLjc2LTE0Ljk1LTI0LjcxLS4yOC0xMC4zNi0uMDktMjAuNzQtLjEtMzEuMTEsMC0yLjM4LS4xNC00LjczLS41Ni03LjA4LS45OS01LjYyLTQuMDctOS41My05LjI5LTExLjc4LTMuODMtMS42Ni03Ljg3LTIuNDYtMTIuMDItMi40Mi0yLjIuMDItMy4xNi0uNTUtMy0yLjk1LjIxLTMuMTEuMTMtNi4yNS4wMi05LjM3LS4wNi0xLjY1LjU4LTIuMTYsMi4xNC0yLjI1LDIuNjEtLjE0LDUuMjEtLjMyLDcuOC0uOSwxMC4xMi0yLjI1LDE0LjczLTcuNjYsMTQuODYtMTguMDcuMTMtMTAuNDkuMDYtMjAuOTkuMDMtMzEuNDktLjAxLTQuNjguOC05LjE4LDIuNzItMTMuNDYsMy4wMS02LjY4LDguMTYtMTEuMjQsMTQuNjQtMTQuMzlDNDguNjIsMS40Nyw1NS40NC4yNCw2Mi41MSwwYzIuMS0uMDcsMi41Mi42NywyLjQ0LDIuNTMtLjEyLDIuOTktLjE2LDYsLjAxLDguOTkuMTEsMi4wMi0uNjcsMi42Ni0yLjU2LDIuNjgtMi44OS4wMy01LjY5LjYyLTguNDMsMS41Ny03LjA2LDIuNDQtMTEuMTMsNy4zLTExLjksMTQuNzgtLjE5LDEuODYtLjMyLDMuNzMtLjMzLDUuNi0uMDYsOS44Ny4xMywxOS43NS0uMTYsMjkuNjEtLjM2LDEyLjA4LTYuNjgsMTkuNjgtMTguNCwyMi44NC0xLjMuMzUtMi42MS43MS0zLjkxLDEuMDYsMCwuMjctLjAyLjUzLS4wMi44WiIvPgogIDwvZz4KPC9zdmc+';\nexport {OBJECTTYPEN_API_PLUGIN_LOGO_BASE64};\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport * from './objecttypen-api-plugin-logo';\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {PluginSpecification} from '../../models';\nimport {ObjecttypenApiConfigurationComponent} from './components/objecttypen-api-configuration/objecttypen-api-configuration.component';\nimport {OBJECTTYPEN_API_PLUGIN_LOGO_BASE64} from './assets';\n\nconst objecttypenApiPluginSpecification: PluginSpecification = {\n pluginId: 'objecttypenapi',\n pluginConfigurationComponent: ObjecttypenApiConfigurationComponent,\n pluginLogoBase64: OBJECTTYPEN_API_PLUGIN_LOGO_BASE64,\n\n pluginTranslations: {\n nl: {\n title: 'Objecttypen API',\n url: 'Objecttypen API URL',\n urlTooltip: 'In dit veld moet de verwijzing komen naar de REST API van Objecttypen',\n description:\n 'Met de Overige Objecten Registratie API-specificaties (Objecttypen) kunnen gemeenten eenduidig objecten registreren, opslaan en ontsluiten.',\n configurationTitle: 'Configuratienaam',\n configurationTitleTooltip:\n 'Onder deze naam zal de plugin te herkennen zijn in de rest van de applicatie',\n authenticationPluginConfiguration: 'Configuratie authenticatie-plug-in',\n },\n en: {\n title: 'Objecttypen API',\n url: 'Objecttypen API URL',\n urlTooltip: 'This field must contain the URL to the REST API of Objecttypen',\n description:\n 'With the Other Objects Registration API specifications (Object types), municipalities can unambiguously register, store and access objects.',\n configurationTitle: 'Configuration name',\n configurationTitleTooltip:\n 'With this name the plugin will be recognizable in the rest of the application',\n authenticationPluginConfiguration: 'Authentication plugin configuration',\n },\n de: {\n title: 'Objecttypen API',\n url: 'Objecttypen API URL',\n urlTooltip: 'Dieses Feld muss die URL zur REST API von Objecttypen enthalten',\n description:\n 'Mit den Spezifikationen der Other Objects Registration API (Objekttypen) können Kommunen Objekte eindeutig registrieren, speichern und darauf zugreifen.',\n configurationTitle: 'Konfigurationsname',\n configurationTitleTooltip:\n 'An diesem Namen wird das Plugin im Rest der Anwendung erkennbar sein',\n authenticationPluginConfiguration: 'Authentifizierungs-Plugin-Konfiguration',\n },\n },\n};\n\nexport {objecttypenApiPluginSpecification};\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {PluginConfigurationComponent} from '../../../../models';\nimport {BehaviorSubject, combineLatest, map, Observable, Subscription, take} from 'rxjs';\nimport {PluginManagementService, PluginTranslationService} from '../../../../services';\nimport {TranslateService} from '@ngx-translate/core';\nimport {ZakenApiConfig} from '../../models';\n\n@Component({\n standalone: false,\n selector: 'valtimo-zaken-api-configuration',\n templateUrl: './zaken-api-configuration.component.html',\n styleUrls: ['./zaken-api-configuration.component.scss'],\n})\nexport class ZakenApiConfigurationComponent\n implements PluginConfigurationComponent, OnInit, OnDestroy\n{\n @Input() save$: Observable<void>;\n @Input() disabled$: Observable<boolean>;\n @Input() pluginId: string;\n @Input() prefillConfiguration$: Observable<ZakenApiConfig>;\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() configuration: EventEmitter<ZakenApiConfig> = new EventEmitter<ZakenApiConfig>();\n\n private saveSubscription!: Subscription;\n\n private readonly formValue$ = new BehaviorSubject<ZakenApiConfig | null>(null);\n private readonly valid$ = new BehaviorSubject<boolean>(false);\n\n readonly authenticationPluginSelectItems$: Observable<Array<{id: string; text: string}>> =\n combineLatest([\n this.pluginManagementService.getPluginConfigurationsByCategory('zaken-api-authentication'),\n this.translateService.stream('key'),\n ]).pipe(\n map(([configurations]) =>\n configurations.map(configuration => ({\n id: configuration.id,\n text: `${configuration.title} - ${this.pluginTranslationService.instant(\n 'title',\n configuration.pluginDefinition.key\n )}`,\n }))\n )\n );\n\n constructor(\n private readonly pluginManagementService: PluginManagementService,\n private readonly translateService: TranslateService,\n private readonly pluginTranslationService: PluginTranslationService\n ) {}\n\n ngOnInit(): void {\n this.openSaveSubscription();\n }\n\n ngOnDestroy() {\n this.saveSubscription?.unsubscribe();\n }\n\n formValueChange(formValue: ZakenApiConfig): void {\n this.formValue$.next(formValue);\n this.handleValid(formValue);\n }\n\n private handleValid(formValue: ZakenApiConfig): void {\n const valid = !!(\n formValue.configurationTitle &&\n formValue.url &&\n formValue.authenticationPluginConfiguration\n );\n\n this.valid$.next(valid);\n this.valid.emit(valid);\n }\n\n private openSaveSubscription(): void {\n this.saveSubscription = this.save$?.subscribe(save => {\n combineLatest([this.formValue$, this.valid$])\n .pipe(take(1))\n .subscribe(([formValue, valid]) => {\n if (valid) {\n this.configuration.emit(formValue);\n }\n });\n });\n }\n}\n","<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null,\n } as obs\"\n>\n <v-input\n name=\"configurationTitle\"\n [title]=\"'configurationTitle' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.configurationTitle\"\n [required]=\"true\"\n [trim]=\"true\"\n [tooltip]=\"'configurationTitleTooltip' | pluginTranslate: pluginId | async\"\n placeholder=\"Zaken API Plugin\"\n >\n </v-input>\n <v-input\n name=\"url\"\n [title]=\"'url' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.url\"\n [required]=\"true\"\n [trim]=\"true\"\n [tooltip]=\"'urlTooltip' | pluginTranslate: pluginId | async\"\n placeholder=\"https://openzaak.example.com/zaken/api/v1/ \"\n >\n </v-input>\n <ng-container\n *ngIf=\"{authenticationPluginSelectItems: authenticationPluginSelectItems$ | async} as authObs\"\n >\n <v-select\n [loading]=\"!authObs.authenticationPluginSelectItems\"\n [items]=\"authObs.authenticationPluginSelectItems\"\n [margin]=\"true\"\n name=\"authenticationPluginConfiguration\"\n [title]=\"'authenticationPluginConfiguration' | pluginTranslate: pluginId | async\"\n [disabled]=\"obs.disabled\"\n [defaultSelectionId]=\"obs.prefill?.authenticationPluginConfiguration\"\n [required]=\"true\"\n [tooltip]=\"'authenticationPluginConfigurationTooltip' | pluginTranslate: pluginId | async\"\n ></v-select>\n </ng-container>\n</v-form>\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {FunctionConfigurationComponent} from '../../../../models';\nimport {BehaviorSubject, combineLatest, map, Observable, Subscription, take} from 'rxjs';\nimport {PluginManagementService, PluginTranslationService} from '../../../../services';\nimport {TranslateService} from '@ngx-translate/core';\nimport {LinkDocumentToZaakConfig} from '../../models';\n\n@Component({\n standalone: false,\n selector: 'valtimo-link-document-to-zaak-configuration',\n templateUrl: './link-document-to-zaak-configuration.component.html',\n styleUrls: ['./link-document-to-zaak-configuration.component.scss'],\n})\nexport class LinkDocumentToZaakConfigurationComponent\n implements FunctionConfigurationComponent, OnInit, OnDestroy\n{\n @Input() save$: Observable<void>;\n @Input() disabled$: Observable<boolean>;\n @Input() pluginId: string;\n @Input() prefillConfiguration$: Observable<LinkDocumentToZaakConfig>;\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() configuration: EventEmitter<LinkDocumentToZaakConfig> =\n new EventEmitter<LinkDocumentToZaakConfig>();\n\n private saveSubscription!: Subscription;\n\n private readonly formValue$ = new BehaviorSubject<LinkDocumentToZaakConfig | null>(null);\n private readonly valid$ = new BehaviorSubject<boolean>(false);\n\n readonly authenticationPluginSelectItems$: Observable<Array<{id: string; text: string}>> =\n combineLatest([\n this.pluginManagementService.getPluginConfigurationsByCategory('link-document-to-zaak'),\n this.translateService.stream('key'),\n ]).pipe(\n map(([configurations]) =>\n configurations.map(configuration => ({\n id: configuration.id,\n text: `${configuration.title} - ${this.pluginTranslationService.instant(\n 'title',\n configuration.pluginDefinition.key\n )}`,\n }))\n )\n );\n\n constructor(\n private readonly pluginManagementService: PluginManagementService,\n private readonly translateService: TranslateService,\n private readonly pluginTranslationService: PluginTranslationService\n ) {}\n\n ngOnInit(): void {\n this.openSaveSubscription();\n }\n\n ngOnDestroy() {\n this.saveSubscription?.unsubscribe();\n }\n\n formValueChange(formValue: LinkDocumentToZaakConfig): void {\n this.formValue$.next(formValue);\n this.handleValid(formValue);\n }\n\n private handleValid(formValue: LinkDocumentToZaakConfig): void {\n const valid = !!formValue.documentUrl;\n\n this.valid$.next(valid);\n this.valid.emit(valid);\n }\n\n private openSaveSubscription(): void {\n this.saveSubscription = this.save$?.subscribe(save => {\n combineLatest([this.formValue$, this.valid$])\n .pipe(take(1))\n .subscribe(([formValue, valid]) => {\n if (valid) {\n this.configuration.emit(formValue);\n }\n });\n });\n }\n}\n","<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-paragraph [margin]=\"true\" [italic]=\"true\">\n {{ 'linkDocumentInformation' | pluginTranslate: pluginId | async }}\n</v-paragraph>\n<v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null,\n } as obs\"\n>\n <v-input\n name=\"documentUrl\"\n [title]=\"'documentUrl' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.documentUrl\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n [trim]=\"true\"\n [tooltip]=\"'documentUrlTooltip' | pluginTranslate: pluginId | async\"\n [fullWidth]=\"true\"\n >\n </v-input>\n <v-input\n name=\"titel\"\n [title]=\"'titel' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.titel\"\n [disabled]=\"obs.disabled\"\n [required]=\"false\"\n [trim]=\"true\"\n [tooltip]=\"'titelTooltip' | pluginTranslate: pluginId | async\"\n [widthPx]=\"350\"\n >\n </v-input>\n <v-input\n name=\"beschrijving\"\n [title]=\"'beschrijving' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.beschrijving\"\n [disabled]=\"obs.disabled\"\n [required]=\"false\"\n [tooltip]=\"'beschrijvingTooltip' | pluginTranslate: pluginId | async\"\n [fullWidth]=\"true\"\n >\n </v-input>\n</v-form>\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {FunctionConfigurationComponent} from '../../../../models';\nimport {Observable, Subscription} from 'rxjs';\n\n@Component({\n standalone: false,\n selector: 'valtimo-link-uploaded-document-to-zaak-configuration',\n templateUrl: './link-uploaded-document-to-zaak-configuration.component.html',\n styleUrls: ['./link-uploaded-document-to-zaak-configuration.component.scss'],\n})\nexport class LinkUploadedDocumentToZaakConfigurationComponent\n implements FunctionConfigurationComponent, OnInit, OnDestroy\n{\n @Input() save$: Observable<void>;\n @Input() disabled$: Observable<boolean>;\n @Input() pluginId: string;\n @Input() prefillConfiguration$: Observable<any>;\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() configuration: EventEmitter<any> = new EventEmitter<any>();\n\n private saveSubscription!: Subscription;\n\n ngOnInit(): void {\n this.openSaveSubscription();\n this.emitValid();\n }\n\n ngOnDestroy(): void {\n this.saveSubscription?.unsubscribe();\n }\n\n private emitValid(): void {\n this.valid.emit(true);\n }\n\n private openSaveSubscription(): void {\n this.saveSubscription = this.save$?.subscribe(save => {\n this.configuration.emit({});\n });\n }\n}\n","<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-paragraph [center]=\"true\" [fullWidth]=\"true\">\n {{ 'linkUploadedDocumentToZaakMessage' | pluginTranslate: pluginId | async }}\n</v-paragraph>\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Injectable} from '@angular/core';\nimport {Observable} from 'rxjs';\nimport {HttpClient} from '@angular/common/http';\nimport {ConfigService} from '@valtimo/shared';\nimport {ResultaatType, StatusType} from '../models';\nimport {Eigenschap} from '../models/eigenschap';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ZakenApiService {\n private valtimoEndpointUri: string;\n\n constructor(\n private http: HttpClient,\n configService: ConfigService\n ) {\n this.valtimoEndpointUri = configService.config.valtimoApi.endpointUri;\n }\n\n public getStatusTypesByCaseAndVersion(\n caseDefinitionKey: string,\n versionTag: string\n ): Observable<Array<StatusType>> {\n return this.http.get<Array<StatusType>>(\n `${this.valtimoEndpointUri}v1/case-definition/${caseDefinitionKey}/version/${versionTag}/zaaktype/statustype`\n );\n }\n\n public getResultaatTypesByCaseAndVersion(\n caseDefinitionKey: string,\n versionTag: string\n ): Observable<Array<ResultaatType>> {\n return this.http.get<Array<ResultaatType>>(\n `${this.valtimoEndpointUri}v1/case-definition/${caseDefinitionKey}/version/${versionTag}/zaaktype/resultaattype`\n );\n }\n public getEigenschappenByCaseAndVersion(\n caseDefinitionKey: string,\n versionTag: string\n ): Observable<Array<Eigenschap>> {\n return this.http.get<Array<Eigenschap>>(\n `${this.valtimoEndpointUri}management/v1/case-definition/${caseDefinitionKey}/version/${versionTag}/catalogi-eigenschappen`\n );\n }\n}\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport * from './zaken-api.service';\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {FunctionConfigurationComponent} from '../../../../models';\nimport {\n BehaviorSubject,\n combineLatest,\n filter,\n Observable,\n Subject,\n Subscription,\n switchMap,\n take,\n tap,\n} from 'rxjs';\nimport {InputOption, SetZaakStatusConfig} from '../../models';\nimport {RadioValue, SelectItem} from '@valtimo/components';\nimport {map} from 'rxjs/operators';\nimport {ZakenApiService} from '../../services';\nimport {PluginTranslatePipe} from '../../../../pipes';\nimport {CaseManagementParams, ManagementContext} from '@valtimo/shared';\n\n@Component({\n standalone: false,\n selector: 'valtimo-set-zaak-status-configuration',\n templateUrl: './set-zaak-status-configuration.component.html',\n styleUrls: ['./set-zaak-status-configuration.component.scss'],\n providers: [PluginTranslatePipe],\n})\nexport class SetZaakStatusConfigurationComponent\n implements FunctionConfigurationComponent, OnInit, OnDestroy\n{\n @Input() save$: Observable<void>;\n @Input() disabled$: Observable<boolean>;\n @Input() set pluginId(value: string) {\n this.pluginId$.next(value);\n }\n @Input() prefillConfiguration$: Observable<SetZaakStatusConfig>;\n @Input() context$: Observable<[ManagementContext, CaseManagementParams]>;\n\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() configuration: EventEmitter<SetZaakStatusConfig> =\n new EventEmitter<SetZaakStatusConfig>();\n\n readonly clearStatusSelection$ = new Subject<void>();\n readonly loading$ = new BehaviorSubject<boolean>(true);\n readonly selectedInputOption$ = new BehaviorSubject<InputOption>('selection');\n readonly pluginId$ = new BehaviorSubject<string>('');\n readonly formValue$ = new BehaviorSubject<SetZaakStatusConfig | null>(null);\n readonly valid$ = new BehaviorSubject<boolean>(false);\n readonly statusTypeSelectItems$ = new BehaviorSubject<SelectItem[]>([]);\n\n readonly inputTypeOptions$: Observable<Array<RadioValue>> = this.pluginId$.pipe(\n filter(pluginId => !!pluginId),\n switchMap(pluginId =>\n combineLatest([\n this.pluginTranslatePipe.transform('selection', pluginId),\n this.pluginTranslatePipe.transform('text', pluginId),\n ])\n ),\n map(([selectionTranslation, textTranslation]) => [\n {value: 'selection', title: selectionTranslation},\n {value: 'text', title: textTranslation},\n ])\n );\n\n private readonly _subscriptions = new Subscription();\n\n constructor(\n private readonly zakenApiService: ZakenApiService,\n private readonly pluginTranslatePipe: PluginTranslatePipe\n ) {}\n\n public ngOnInit(): void {\n this.initContextHandling();\n this.initSaveHandling();\n }\n\n public ngOnDestroy(): void {\n this._subscriptions.unsubscribe();\n }\n\n public formValueChange(formValue: SetZaakStatusConfig): void {\n this.formValue$.next(formValue);\n this.handleValid(formValue);\n\n if (formValue.inputTypeZaakStatusToggle) {\n this.selectedInputOption$.next(formValue.inputTypeZaakStatusToggle);\n }\n }\n\n public oneSelectItem(selectItems: Array<SelectItem>): boolean {\n return Array.isArray(selectItems) && selectItems.length === 1;\n }\n\n private initContextHandling(): void {\n if (!this.context$) {\n return;\n }\n\n const contextSub = this.context$\n .pipe(\n filter(([context]) => {\n if (context === 'independent') {\n this.selectedInputOption$.next('text');\n this.loading$.next(false);\n }\n return context === 'case';\n }),\n switchMap(([_, params]) =>\n combineLatest([\n this.zakenApiService.getStatusTypesByCaseAndVersion(\n params.caseDefinitionKey,\n params.caseDefinitionVersionTag\n ),\n this.context$,\n ])\n ),\n tap(([statusTypeItems, params]) => {\n this.statusTypeSelectItems$.next(\n statusTypeItems.map(item => ({id: item.url, text: item.name}))\n );\n this.selectedInputOption$.next('selection');\n this.loading$.next(false);\n })\n )\n .subscribe();\n\n this._subscriptions.add(contextSub);\n }\n\n private initSaveHandling(): void {\n if (!this.save$) {\n return;\n }\n\n const saveSub = this.save$.subscribe(() => {\n combineLatest([this.formValue$, this.valid$])\n .pipe(take(1))\n .subscribe(([formValue, valid]) => {\n if (valid) {\n this.configuration.emit({\n statustoelichting: formValue.statustoelichting,\n statustypeUrl: formValue.statustypeUrl,\n });\n }\n });\n });\n\n this._subscriptions.add(saveSub);\n }\n\n private handleValid(formValue: SetZaakStatusConfig): void {\n const valid = !!formValue.statustypeUrl;\n this.valid$.next(valid);\n this.valid.emit(valid);\n }\n}\n","<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null,\n pluginId: pluginId$ | async,\n selectedInputOption: selectedInputOption$ | async,\n loading: loading$ | async,\n statusTypeItems: statusTypeSelectItems$ | async,\n context: context$ | async,\n } as obs\"\n>\n <ng-container *ngIf=\"obs.loading === false; else loading\">\n <v-input\n name=\"statustoelichting\"\n [title]=\"'statustoelichting' | pluginTranslate: obs.pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.statustoelichting\"\n [disabled]=\"obs.disabled\"\n [required]=\"false\"\n [tooltip]=\"'statustoelichtingTooltip' | pluginTranslate: obs.pluginId | async\"\n [fullWidth]=\"true\"\n >\n </v-input>\n\n <v-radio\n *ngIf=\"obs?.context?.[0] === 'case'\"\n name=\"inputTypeZaakStatusToggle\"\n [disabled]=\"obs.disabled\"\n [title]=\"'inputTypeZaakStatusToggle' | pluginTranslate: obs.pluginId | async\"\n [radioValues]=\"inputTypeOptions$ | async\"\n [defaultValue]=\"selectedInputOption$ | async\"\n [margin]=\"true\"\n >\n </v-radio>\n\n <v-input\n *ngIf=\"obs.selectedInputOption === 'text'\"\n name=\"statustypeUrl\"\n [title]=\"'statustypeUrl' | pluginTranslate: obs.pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.statustypeUrl\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n [trim]=\"true\"\n [tooltip]=\"'statustypeUrlTooltip' | pluginTranslate: obs.pluginId | async\"\n [fullWidth]=\"true\"\n >\n </v-input>\n\n <ng-container *ngIf=\"obs.selectedInputOption === 'selection'\">\n <v-select\n [items]=\"obs.statusTypeItems\"\n [margin]=\"true\"\n [widthInPx]=\"350\"\n name=\"statustypeUrl\"\n [title]=\"'statustypeUrlSelect' | pluginTranslate: obs.pluginId | async\"\n [disabled]=\"obs.disabled || obs.selectedInputOption === 'text' || !obs.statusTypeItems\"\n [defaultSelectionId]=\"obs.prefill?.statustypeUrl\"\n [required]=\"true\"\n [loading]=\"!obs.statusTypeItems\"\n [tooltip]=\"'statustypeUrlSelectTooltip' | pluginTranslate: obs.pluginId | async\"\n [clearSelectionSubject$]=\"clearStatusSelection$\"\n ></v-select>\n </ng-container>\n </ng-container>\n</v-form>\n\n<ng-template #loading>\n <div class=\"loading-container\">\n <cds-loading></cds-loading>\n </div>\n</ng-template>\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {FunctionConfigurationComponent} from '../../../../models';\nimport {\n BehaviorSubject,\n combineLatest,\n filter,\n Observable,\n Subject,\n Subscription,\n switchMap,\n take,\n tap,\n} from 'rxjs';\nimport {CreateZaakResultaatConfig, InputOption} from '../../models';\nimport {RadioValue, SelectItem} from '@valtimo/components';\nimport {map} from 'rxjs/operators';\nimport {ZakenApiService} from '../../services';\nimport {PluginTranslatePipe} from '../../../../pipes';\nimport {CaseManagementParams, ManagementContext} from '@valtimo/shared';\n\n@Component({\n standalone: false,\n selector: 'valtimo-create-zaak-resultaat-configuration',\n templateUrl: './create-zaak-resultaat-configuration.component.html',\n styleUrls: ['./create-zaak-resultaat-configuration.component.scss'],\n providers: [PluginTranslatePipe],\n})\nexport class CreateZaakResultaatConfigurationComponent\n implements FunctionConfigurationComponent, OnInit, OnDestroy\n{\n @Input() public save$: Observable<void>;\n @Input() public disabled$: Observable<boolean>;\n @Input() public set pluginId(value: string) {\n this.pluginId$.next(value);\n }\n @Input() public prefillConfiguration$: Observable<CreateZaakResultaatConfig>;\n @Input() public context$: Observable<[ManagementContext, CaseManagementParams]>;\n\n @Output() public valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() public configuration: EventEmitter<CreateZaakResultaatConfig> =\n new EventEmitter<CreateZaakResultaatConfig>();\n\n public readonly clearStatusSelection$ = new Subject<void>();\n\n public readonly loading$ = new BehaviorSubject<boolean>(true);\n\n public readonly resultaatTypeSelectItems$ = new BehaviorSubject<SelectItem[]>([]);\n\n public readonly selectedInputOption$ = new BehaviorSubject<InputOption>('selection');\n\n public readonly pluginId$ = new BehaviorSubject<string>('');\n\n public readonly inputTypeOptions$: Observable<Array<RadioValue>> = this.pluginId$.pipe(\n filter(pluginId => !!pluginId),\n switchMap(pluginId =>\n combineLatest([\n this.pluginTranslatePipe.transform('selection', pluginId),\n this.pluginTranslatePipe.transform('text', pluginId),\n ])\n ),\n map(([selectionTranslation, textTranslation]) => [\n {value: 'selection', title: selectionTranslation},\n {value: 'text', title: textTranslation},\n ])\n );\n\n private readonly formValue$ = new BehaviorSubject<CreateZaakResultaatConfig | null>(null);\n private readonly valid$ = new BehaviorSubject<boolean>(false);\n\n private readonly _subscriptions = new Subscription();\n\n constructor(\n private readonly zakenApiService: ZakenApiService,\n private readonly pluginTranslatePipe: PluginTranslatePipe\n ) {}\n\n public ngOnInit(): void {\n this.initContextHandling();\n this.openSaveSubscription();\n }\n\n public ngOnDestroy() {\n this._subscriptions.unsubscribe();\n }\n\n public formValueChange(formValue: CreateZaakResultaatConfig): void {\n this.formValue$.next(formValue);\n this.handleValid(formValue);\n\n if (formValue.inputTypeZaakResultaatToggle) {\n this.selectedInputOption$.next(formValue.inputTypeZaakResultaatToggle);\n }\n }\n\n public oneSelectItem(selectItems: Array<SelectItem>): boolean {\n if (Array.isArray(selectItems)) {\n return selectItems.length === 1;\n }\n\n return false;\n }\n\n private handleValid(formValue: CreateZaakResultaatConfig): void {\n const valid = !!formValue.resultaattypeUrl;\n\n this.valid$.next(valid);\n this.valid.emit(valid);\n }\n\n private initContextHandling(): void {\n if (!this.context$) return;\n\n const contextSub = this.context$\n .pipe(\n filter(([context]) => {\n if (context === 'independent') {\n this.selectedInputOption$.next('text');\n this.loading$.next(false);\n }\n return context === 'case';\n }),\n switchMap(([_, params]) =>\n combineLatest([\n this.zakenApiService.getResultaatTypesByCaseAndVersion(\n params.caseDefinitionKey,\n params.caseDefinitionVersionTag\n ),\n this.prefillConfiguration$.pipe(take(1)),\n ])\n ),\n tap(([resultaatTypes, prefill]) => {\n const selectItems = resultaatTypes.map(rt => ({id: rt.url, text: rt.name}));\n this.resultaatTypeSelectItems$.next(selectItems);\n\n const matched = selectItems.find(item => item.id === prefill?.resultaattypeUrl);\n this.selectedInputOption$.next(matched ? 'selection' : 'text');\n\n this.loading$.next(false);\n })\n )\n .subscribe();\n\n this._subscriptions.add(contextSub);\n }\n\n private openSaveSubscription(): void {\n this._subscriptions.add(\n this.save$?.subscribe(save => {\n combineLatest([this.formValue$, this.valid$])\n .pipe(take(1))\n .subscribe(([formValue, valid]) => {\n if (valid) {\n this.configuration.emit({\n toelichting: formValue.toelichting,\n resultaattypeUrl: formValue.resultaattypeUrl,\n });\n }\n });\n })\n );\n }\n}\n","<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null,\n pluginId: pluginId$ | async,\n selectedInputOption: selectedInputOption$ | async,\n loading: loading$ | async,\n resultaatTypeItems: resultaatTypeSelectItems$ | async,\n context: context$ | async,\n } as obs\"\n>\n <ng-container *ngIf=\"obs.loading === false; else loading\">\n <v-input\n name=\"toelichting\"\n [title]=\"'resultaattoelichting' | pluginTranslate: obs.pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.toelichting\"\n [disabled]=\"obs.disabled\"\n [required]=\"false\"\n [tooltip]=\"'resultaattoelichtingTooltip' | pluginTranslate: obs.pluginId | async\"\n [fullWidth]=\"true\"\n >\n </v-input>\n\n <v-radio\n *ngIf=\"obs?.context?.[0] === 'case'\"\n name=\"inputTypeZaakResultaatToggle\"\n [disabled]=\"obs.disabled\"\n [title]=\"'inputTypeZaakResultaatToggle' | pluginTranslate: obs.pluginId | async\"\n [radioValues]=\"inputTypeOptions$ | async\"\n [defaultValue]=\"selectedInputOption$ | async\"\n [margin]=\"true\"\n >\n </v-radio>\n\n <v-input\n *ngIf=\"obs.selectedInputOption === 'text'\"\n name=\"resultaattypeUrl\"\n [title]=\"'resultaattypeUrl' | pluginTranslate: obs.pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.resultaattypeUrl\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n [trim]=\"true\"\n [tooltip]=\"'resultaattypeUrlTooltip' | pluginTranslate: obs.pluginId | async\"\n [fullWidth]=\"true\"\n >\n </v-input>\n\n <ng-container *ngIf=\"obs.selectedInputOption === 'selection'\">\n <v-select\n [items]=\"obs.resultaatTypeItem\"\n [margin]=\"true\"\n [widthInPx]=\"350\"\n name=\"resultaattypeUrl\"\n [title]=\"'resultaattypeUrlSelect' | pluginTranslate: obs.pluginId | async\"\n [disabled]=\"obs.disabled || obs.selectedInputOption === 'text' || !obs.resultaatTypeItems\"\n [defaultSelectionId]=\"obs.prefill?.resultaattypeUrl\"\n [required]=\"true\"\n [loading]=\"!obs.resultaatTypeItems\"\n [tooltip]=\"'resultaattypeUrlSelectTooltip' | pluginTranslate: obs.pluginId | async\"\n [clearSelectionSubject$]=\"clearStatusSelection$\"\n ></v-select>\n </ng-container>\n </ng-container>\n</v-form>\n\n<ng-template #loading>\n <div class=\"loading-container\">\n <cds-loading></cds-loading>\n </div>\n</ng-template>\n","import {RadioValue} from '@valtimo/components';\n\nexport const INDICATIE_MACHTIGING_VALUES: Array<RadioValue> = [{\n value: '',\n title: 'N.v.t',\n titleTranslationKey: 'nvt'\n}, {\n value: 'gemachtigde',\n title: 'Gemachtigde',\n titleTranslationKey: 'gemachtigde'\n}, {\n value: 'machtiginggever',\n title: 'Machtiginggever',\n titleTranslationKey: 'machtiginggever'\n}];\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {FunctionConfigurationComponent} from '../../../../models';\nimport {BehaviorSubject, combineLatest, Observable, Subscription, take} from 'rxjs';\nimport {CreateMedewerkerZaakRolConfig} from '../../models';\nimport {INDICATIE_MACHTIGING_VALUES} from '../../models/indicatie-machtiging-values';\n\n@Component({\n standalone: false,\n selector: 'valtimo-create-medewerker-zaak-rol-configuration',\n templateUrl: './create-medewerker-zaak-rol.component.html',\n})\nexport class CreateMedewerkerZaakRolComponent implements FunctionConfigurationComponent, OnInit, OnDestroy {\n @Input() save$: Observable<void>;\n @Input() disabled$: Observable<boolean>;\n @Input() pluginId: string;\n @Input() prefillConfiguration$: Observable<CreateMedewerkerZaakRolConfig>;\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() configuration: EventEmitter<CreateMedewerkerZaakRolConfig> =\n new EventEmitter<CreateMedewerkerZaakRolConfig>();\n\n public readonly INDICATIE_MACHTIGING_VALUES = INDICATIE_MACHTIGING_VALUES;\n\n private _saveSubscription!: Subscription;\n private readonly _formValue$ =\n new BehaviorSubject<CreateMedewerkerZaakRolConfig | null>(null);\n private readonly _valid$ = new BehaviorSubject<boolean>(false);\n\n public ngOnInit(): void {\n this.openSaveSubscription();\n }\n\n public ngOnDestroy(): void {\n this._saveSubscription?.unsubscribe();\n }\n\n public formValueChange(formValue: CreateMedewerkerZaakRolConfig): void {\n this._formValue$.next(formValue);\n this.handleValid(formValue);\n }\n\n private handleValid(formValue: CreateMedewerkerZaakRolConfig): void {\n const valid = !!(\n formValue.rolToelichting &&\n formValue.roltypeUrl &&\n formValue.identificatie &&\n formValue.voorletters &&\n formValue.achternaam\n );\n this._valid$.next(valid);\n this.valid.emit(valid);\n }\n\n private openSaveSubscription(): void {\n this._saveSubscription = this.save$?.subscribe(save => {\n combineLatest([this._formValue$, this._valid$])\n .pipe(take(1))\n .subscribe(([formValue, valid]) => {\n if (valid) {\n this.configuration.emit(formValue);\n }\n });\n });\n }\n}\n","<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null,\n } as obs\"\n>\n <v-input\n name=\"roltypeUrl\"\n [title]=\"'roltypeUrl' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.roltypeUrl\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n [trim]=\"true\"\n [tooltip]=\"'roltypeUrlTooltip' | pluginTranslate: pluginId | async\"\n [fullWidth]=\"true\"\n >\n </v-input>\n\n <v-input\n name=\"rolToelichting\"\n [title]=\"'rolToelichting' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.rolToelichting\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n [trim]=\"true\"\n [tooltip]=\"'rolToelichtingTooltip' | pluginTranslate: pluginId | async\"\n [fullWidth]=\"true\"\n >\n </v-input>\n\n <v-input\n name=\"identificatie\"\n [title]=\"'identificatie' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.identificatie\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n [trim]=\"true\"\n [tooltip]=\"'identificatieMedewerkerTooltip' | pluginTranslate: pluginId | async\"\n [fullWidth]=\"true\"\n >\n </v-input>\n\n <v-input\n name=\"achternaam\"\n [title]=\"'achternaam' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.achternaam\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n [trim]=\"true\"\n [tooltip]=\"'achternaamTooltip' | pluginTranslate: pluginId | async\"\n [fullWidth]=\"true\"\n >\n </v-input>\n\n <v-input\n name=\"voorletters\"\n [title]=\"'voorletters' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.voorletters\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n [trim]=\"true\"\n [tooltip]=\"'voorlettersTooltip' | pluginTranslate: pluginId | async\"\n [fullWidth]=\"true\"\n >\n </v-input>\n\n <v-input\n name=\"voorvoegselAchternaam\"\n [title]=\"'voorvoegselAchternaam' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.voorvoegselAchternaam\"\n [disabled]=\"obs.disabled\"\n [required]=\"false\"\n [trim]=\"true\"\n [tooltip]=\"'voorvoegselAchternaamTooltip' | pluginTranslate: pluginId | async\"\n [fullWidth]=\"true\"\n >\n </v-input>\n\n <v-input\n name=\"afwijkendeNaamBetrokkene\"\n [title]=\"'afwijkendeNaamBetrokkene' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.afwijkendeNaamBetrokkene\"\n [disabled]=\"obs.disabled\"\n [required]=\"false\"\n [trim]=\"true\"\n [tooltip]=\"'afwijkendeNaamBetrokkeneTooltip' | pluginTranslate: pluginId | async\"\n [fullWidth]=\"true\"\n >\n </v-input>\n\n <v-radio\n name=\"indicatieMachtiging\"\n [title]=\"'indicatieMachtiging' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.indicatieMachtiging\"\n [disabled]=\"obs.disabled\"\n [required]=\"false\"\n [tooltip]=\"'indicatieMachtigingTooltip' | pluginTranslate: pluginId | async\"\n [fullWidth]=\"true\"\n [radioValues]=\"INDICATIE_MACHTIGING_VALUES\"\n >\n </v-radio>\n</v-form>\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {FunctionConfigurationComponent} from '../../../../models';\nimport {BehaviorSubject, combineLatest, Observable, Subscription, take} from 'rxjs';\nimport {CreateNatuurlijkePersoonZaakRolConfig} from '../../models';\n\n@Component({\n standalone: false,\n selector: 'valtimo-create-natuurlijk-persoon-zaak-rol-configuration',\n templateUrl: './create-natuurlijk-persoon-zaak-rol.component.html',\n})\nexport class CreateNatuurlijkPersoonZaakRolComponent implements FunctionConfigurationComponent, OnInit, OnDestroy {\n @Input() save$: Observable<void>;\n @Input() disabled$: Observable<boolean>;\n @Input() pluginId: string;\n @Input() prefillConfiguration$: Observable<CreateNatuurlijkePersoonZaakRolConfig>;\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() configuration: EventEmitter<CreateNatuurlijkePersoonZaakRolConfig> =\n new EventEmitter<CreateNatuurlijkePersoonZaakRolConfig>();\n\n private _saveSubscription!: Subscription;\n\n private readonly _formValue$ =\n new BehaviorSubject<CreateNatuurlijkePersoonZaakRolConfig | null>(null);\n private readonly _valid$ = new BehaviorSubject<boolean>(false);\n\n public ngOnInit(): void {\n this.openSaveSubscription();\n }\n\n public ngOnDestroy(): void {\n this._saveSubscription?.unsubscribe();\n }\n\n public formValueChange(formValue: CreateNatuurlijkePersoonZaakRolConfig): void {\n this._formValue$.next(formValue);\n this.handleValid(formValue);\n }\n\n private handleValid(formValue: CreateNatuurlijkePersoonZaakRolConfig): void {\n const valid = !!(formValue.rolToelichting && formValue.roltypeUrl);\n\n this._valid$.next(valid);\n this.valid.emit(valid);\n }\n\n private openSaveSubscription(): void {\n this._saveSubscription = this.save$?.subscribe(save => {\n combineLatest([this._formValue$, this._valid$])\n .pipe(take(1))\n .subscribe(([formValue, valid]) => {\n if (valid) {\n this.configuration.emit(formValue);\n }\n });\n });\n }\n}\n","<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null,\n } as obs\"\n>\n <v-input\n name=\"roltypeUrl\"\n [title]=\"'roltypeUrl' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.roltypeUrl\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n [trim]=\"true\"\n [tooltip]=\"'roltypeUrlTooltip' | pluginTranslate: pluginId | async\"\n [fullWidth]=\"true\"\n >\n </v-input>\n\n <v-input\n name=\"rolToelichting\"\n [title]=\"'rolToelichting' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.rolToelichting\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n [tooltip]=\"'rolToelichtingTooltip' | pluginTranslate: pluginId | async\"\n [fullWidth]=\"true\"\n >\n </v-input>\n\n <v-input\n name=\"inpBsn\"\n [title]=\"'inpBsn' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.inpBsn\"\n [disabled]=\"obs.disabled\"\n [required]=\"false\"\n [trim]=\"true\"\n [tooltip]=\"'inpBsnTooltip' | pluginTranslate: pluginId | async\"\n [fullWidth]=\"true\"\n >\n </v-input>\n\n <v-input\n name=\"anpIdentificatie\"\n [title]=\"'anpIdentificatie' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.anpIdentificatie\"\n [disabled]=\"obs.disabled\"\n [required]=\"false\"\n [trim]=\"true\"\n [tooltip]=\"'anpIdentificatieTooltip' | pluginTranslate: pluginId | async\"\n [fullWidth]=\"true\"\n >\n </v-input>\n\n <v-input\n name=\"inpA_nummer\"\n [title]=\"'inpA_nummer' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.inpA_nummer\"\n [disabled]=\"obs.disabled\"\n [required]=\"false\"\n [trim]=\"true\"\n [tooltip]=\"'inpA_nummerTooltip' | pluginTranslate: pluginId | async\"\n [fullWidth]=\"true\"\n >\n </v-input>\n</v-form>\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {FunctionConfigurationComponent} from '../../../../models';\nimport {BehaviorSubject, combineLatest, Observable, Subscription, take} from 'rxjs';\nimport {CreateNietNatuurlijkePersoonZaakRolConfig} from '../../models';\n\n@Component({\n standalone: false,\n selector: 'valtimo-create-niet-natuurlijk-persoon-zaak-rol-configuration',\n templateUrl: './create-niet-natuurlijk-persoon-zaak-rol.component.html',\n})\nexport class CreateNietNatuurlijkPersoonZaakRolComponent implements FunctionConfigurationComponent, OnInit, OnDestroy {\n @Input() save$: Observable<void>;\n @Input() disabled$: Observable<boolean>;\n @Input() pluginId: string;\n @Input() prefillConfiguration$: Observable<CreateNietNatuurlijkePersoonZaakRolConfig>;\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() configuration: EventEmitter<CreateNietNatuurlijkePersoonZaakRolConfig> =\n new EventEmitter<CreateNietNatuurlijkePersoonZaakRolConfig>();\n\n private _saveSubscription!: Subscription;\n\n private readonly _formValue$ =\n new BehaviorSubject<CreateNietNatuurlijkePersoonZaakRolConfig | null>(null);\n private readonly _valid$ = new BehaviorSubject<boolean>(false);\n\n public ngOnInit(): void {\n this.openSaveSubscription();\n }\n\n public ngOnDestroy(): void {\n this._saveSubscription?.unsubscribe();\n }\n\n public formValueChange(formValue: CreateNietNatuurlijkePersoonZaakRolConfig): void {\n this._formValue$.next(formValue);\n this.handleValid(formValue);\n }\n\n private handleValid(formValue: CreateNietNatuurlijkePersoonZaakRolConfig): void {\n const valid = !!(formValue.rolToelichting && formValue.roltypeUrl);\n\n this._valid$.next(valid);\n this.valid.emit(valid);\n }\n\n private openSaveSubscription(): void {\n this._saveSubscription = this.save$?.subscribe(save => {\n combineLatest([this._formValue$, this._valid$])\n .pipe(take(1))\n .subscribe(([formValue, valid]) => {\n if (valid) {\n this.configuration.emit(formValue);\n }\n });\n });\n }\n}\n","<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null,\n } as obs\"\n>\n <v-input\n name=\"roltypeUrl\"\n [title]=\"'roltypeUrl' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.roltypeUrl\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n [trim]=\"true\"\n [tooltip]=\"'roltypeUrlTooltip' | pluginTranslate: pluginId | async\"\n [fullWidth]=\"true\"\n >\n </v-input>\n\n <v-input\n name=\"rolToelichting\"\n [title]=\"'rolToelichting' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.rolToelichting\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n [tooltip]=\"'rolToelichtingTooltip' | pluginTranslate: pluginId | async\"\n [fullWidth]=\"true\"\n >\n </v-input>\n\n <v-input\n name=\"innNnpId\"\n [title]=\"'innNnpId' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.innNnpId\"\n [disabled]=\"obs.disabled\"\n [required]=\"false\"\n [trim]=\"true\"\n [tooltip]=\"'innNnpIdTooltip' | pluginTranslate: pluginId | async\"\n [fullWidth]=\"true\"\n >\n </v-input>\n\n <v-input\n name=\"annIdentificatie\"\n [title]=\"'annIdentificatie' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.annIdentificatie\"\n [disabled]=\"obs.disabled\"\n [required]=\"false\"\n [trim]=\"true\"\n [tooltip]=\"'annIdentificatieTooltip' | pluginTranslate: pluginId | async\"\n [fullWidth]=\"true\"\n >\n </v-input>\n\n <v-input\n name=\"kvkNummer\"\n [title]=\"'kvkNummer' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.kvkNummer\"\n [disabled]=\"obs.disabled\"\n [required]=\"false\"\n [trim]=\"true\"\n [tooltip]=\"'kvkNummerTooltip' | pluginTranslate: pluginId | async\"\n [fullWidth]=\"true\"\n >\n </v-input>\n\n <v-input\n name=\"vestigingsNummer\"\n [title]=\"'vestigingsNummer' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.vestigingsNummer\"\n [disabled]=\"obs.disabled\"\n [required]=\"false\"\n [trim]=\"true\"\n [tooltip]=\"'vestigingsNummerTooltip' | pluginTranslate: pluginId | async\"\n [fullWidth]=\"true\"\n >\n </v-input>\n</v-form>\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {FunctionConfigurationComponent} from '../../../../models';\nimport {BehaviorSubject, combineLatest, Observable, Subscription, take} from 'rxjs';\nimport {CreateOrganisatorischeEenheidZaakRolConfig} from '../../models';\nimport {INDICATIE_MACHTIGING_VALUES} from '../../models/indicatie-machtiging-values';\n\n@Component({\n standalone: false,\n selector: 'valtimo-create-organisatorische-eenheid-zaak-rol-configuration',\n templateUrl: './create-organisatorische-eenheid-zaak-rol.component.html'\n})\nexport class CreateOrganisatorischeEenheidZaakRolComponent implements FunctionConfigurationComponent, OnInit, OnDestroy {\n @Input() save$: Observable<void>;\n @Input() disabled$: Observable<boolean>;\n @Input() pluginId: string;\n @Input() prefillConfiguration$: Observable<CreateOrganisatorischeEenheidZaakRolConfig>;\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() configuration: EventEmitter<CreateOrganisatorischeEenheidZaakRolConfig> =\n new EventEmitter<CreateOrganisatorischeEenheidZaakRolConfig>();\n\n public readonly INDICATIE_MACHTIGING_VALUES = INDICATIE_MACHTIGING_VALUES;\n\n private _saveSubscription!: Subscription;\n private readonly _formValue$ =\n new BehaviorSubject<CreateOrganisatorischeEenheidZaakRolConfig | null>(null);\n private readonly _valid$ = new BehaviorSubject<boolean>(false);\n\n public ngOnInit(): void {\n this.openSaveSubscription();\n }\n\n public ngOnDestroy(): void {\n this._saveSubscription?.unsubscribe();\n }\n\n public formValueChange(formValue: CreateOrganisatorischeEenheidZaakRolConfig): void {\n this._formValue$.next(formValue);\n this.handleValid(formValue);\n }\n\n private handleValid(formValue: CreateOrganisatorischeEenheidZaakRolConfig): void {\n const valid = !!(\n formValue.rolToelichting &&\n formValue.roltypeUrl &&\n formValue.identificatie &&\n formValue.naam &&\n formValue.isGehuisvestIn\n );\n\n this._valid$.next(valid);\n this.valid.emit(valid);\n }\n\n private openSaveSubscription(): void {\n this._saveSubscription = this.save$?.subscribe(save => {\n combineLatest([this._formValue$, this._valid$])\n .pipe(take(1))\n .subscribe(([formValue, valid]) => {\n if (valid) {\n this.configuration.emit(formValue);\n }\n });\n });\n }\n}\n","<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null,\n } as obs\"\n>\n <v-input\n name=\"roltypeUrl\"\n [title]=\"'roltypeUrl' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.roltypeUrl\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n [trim]=\"true\"\n [tooltip]=\"'roltypeUrlTooltip' | pluginTranslate: pluginId | async\"\n [fullWidth]=\"true\"\n >\n </v-input>\n\n <v-input\n name=\"rolToelichting\"\n [title]=\"'rolToelichting' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.rolToelichting\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n [trim]=\"true\"\n [tooltip]=\"'rolToelichtingTooltip' | pluginTranslate: pluginId | async\"\n [fullWidth]=\"true\"\n >\n </v-input>\n\n <v-input\n name=\"identificatie\"\n [title]=\"'identificatie' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.identificatie\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n [trim]=\"true\"\n [tooltip]=\"'identificatieOrganisatorischeEenheidTooltip' | pluginTranslate: pluginId | async\"\n [fullWidth]=\"true\"\n >\n </v-input>\n\n <v-input\n name=\"naam\"\n [title]=\"'naam' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.naam\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n [trim]=\"true\"\n [tooltip]=\"'naamTooltip' | pluginTranslate: pluginId | async\"\n [fullWidth]=\"true\"\n >\n </v-input>\n\n <v-input\n name=\"isGehuisvestIn\"\n [title]=\"'isGehuisvestIn' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.isGehuisvestIn\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n [trim]=\"true\"\n [tooltip]=\"'isGehuisvestInTooltip' | pluginTranslate: pluginId | async\"\n [fullWidth]=\"true\"\n >\n </v-input>\n\n <v-input\n name=\"afwijkendeNaamBetrokkene\"\n [title]=\"'afwijkendeNaamBetrokkene' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.afwijkendeNaamBetrokkene\"\n [disabled]=\"obs.disabled\"\n [required]=\"false\"\n [trim]=\"true\"\n [tooltip]=\"'afwijkendeNaamBetrokkeneTooltip' | pluginTranslate: pluginId | async\"\n [fullWidth]=\"true\"\n >\n </v-input>\n\n <v-radio\n name=\"indicatieMachtiging\"\n [title]=\"'indicatieMachtiging' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.indicatieMachtiging\"\n [disabled]=\"obs.disabled\"\n [required]=\"false\"\n [tooltip]=\"'indicatieMachtigingTooltip' | pluginTranslate: pluginId | async\"\n [fullWidth]=\"true\"\n [radioValues]=\"INDICATIE_MACHTIGING_VALUES\"\n >\n </v-radio>\n</v-form>\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {FunctionConfigurationComponent} from '../../../../models';\nimport {BehaviorSubject, combineLatest, Observable, Subscription, take} from 'rxjs';\nimport {CreateVestigingZaakRolConfig} from '../../models';\n\n@Component({\n standalone: false,\n selector: 'valtimo-create-vestiging-zaak-rol-configuration',\n templateUrl: './create-vestiging-zaak-rol.component.html',\n})\nexport class CreateVestigingZaakRolComponent implements FunctionConfigurationComponent, OnInit, OnDestroy {\n @Input() save$: Observable<void>;\n @Input() disabled$: Observable<boolean>;\n @Input() pluginId: string;\n @Input() prefillConfiguration$: Observable<CreateVestigingZaakRolConfig>;\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() configuration: EventEmitter<CreateVestigingZaakRolConfig> =\n new EventEmitter<CreateVestigingZaakRolConfig>();\n\n private _saveSubscription!: Subscription;\n\n private readonly _formValue$ =\n new BehaviorSubject<CreateVestigingZaakRolConfig | null>(null);\n private readonly _valid$ = new BehaviorSubject<boolean>(false);\n\n public ngOnInit(): void {\n this.openSaveSubscription();\n }\n\n public ngOnDestroy(): void {\n this._saveSubscription?.unsubscribe();\n }\n\n public formValueChange(formValue: CreateVestigingZaakRolConfig): void {\n this._formValue$.next(formValue);\n this.handleValid(formValue);\n }\n\n private handleValid(formValue: CreateVestigingZaakRolConfig): void {\n const valid = !!(\n formValue.rolToelichting &&\n formValue.roltypeUrl &&\n formValue.kvkNummer &&\n formValue.vestigingsNummer\n );\n\n this._valid$.next(valid);\n this.valid.emit(valid);\n }\n\n private openSaveSubscription(): void {\n this._saveSubscription = this.save$?.subscribe(save => {\n combineLatest([this._formValue$, this._valid$])\n .pipe(take(1))\n .subscribe(([formValue, valid]) => {\n if (valid) {\n this.configuration.emit(formValue);\n }\n });\n });\n }\n}\n","<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null,\n } as obs\"\n>\n <v-input\n name=\"roltypeUrl\"\n [title]=\"'roltypeUrl' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.roltypeUrl\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n [trim]=\"true\"\n [tooltip]=\"'roltypeUrlTooltip' | pluginTranslate: pluginId | async\"\n [fullWidth]=\"true\"\n >\n </v-input>\n\n <v-input\n name=\"rolToelichting\"\n [title]=\"'rolToelichting' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.rolToelichting\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n [tooltip]=\"'rolToelichtingTooltip' | pluginTranslate: pluginId | async\"\n [fullWidth]=\"true\"\n >\n </v-input>\n\n <v-input\n name=\"kvkNummer\"\n [title]=\"'kvkNummer' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.kvkNummer\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n [trim]=\"true\"\n [tooltip]=\"'kvkNummerTooltip' | pluginTranslate: pluginId | async\"\n [fullWidth]=\"true\"\n >\n </v-input>\n\n <v-input\n name=\"vestigingsNummer\"\n [title]=\"'vestigingsNummer' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.vestigingsNummer\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n [trim]=\"true\"\n [tooltip]=\"'vestigingsNummerTooltip' | pluginTranslate: pluginId | async\"\n [fullWidth]=\"true\"\n >\n </v-input>\n</v-form>\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport const CreateZaakExtraPropertyOptions = [\n 'description',\n 'plannedEndDate',\n 'finalDeliveryDate',\n] as const;\nexport type CreateZaakExtraProperties = (typeof CreateZaakExtraPropertyOptions)[number];\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {FunctionConfigurationComponent} from '../../../../models';\nimport {\n BehaviorSubject,\n combineLatest,\n filter,\n map,\n Observable,\n Subscription,\n switchMap,\n take,\n tap,\n} from 'rxjs';\nimport {CreateZaakConfig, InputOption} from '../../models';\nimport {OpenZaakService, ZaakType, ZaakTypeLink} from '@valtimo/resource';\nimport {DocumentService} from '@valtimo/document';\nimport {ModalService, RadioValue, SelectItem} from '@valtimo/components';\nimport {PluginTranslatePipe} from '../../../../pipes';\nimport {Add16, TrashCan16} from '@carbon/icons';\nimport {IconService} from 'carbon-components-angular';\nimport {CreateZaakExtraProperties, CreateZaakExtraPropertyOptions} from '../../models/create-zaak-properties';\nimport {CaseManagementParams, ManagementContext} from '@valtimo/shared';\n\n@Component({\n standalone: false,\n selector: 'valtimo-create-zaak-configuration',\n templateUrl: './create-zaak-configuration.component.html',\n styleUrls: ['./create-zaak-configuration.component.scss'],\n providers: [PluginTranslatePipe],\n})\nexport class CreateZaakConfigurationComponent\n implements FunctionConfigurationComponent, OnInit, OnDestroy\n{\n @Input() save$: Observable<void>;\n @Input() disabled$: Observable<boolean>;\n @Input() set pluginId(value: string) {\n this.pluginId$.next(value);\n }\n @Input() context$: Observable<[ManagementContext, CaseManagementParams]>;\n\n @Input() prefillConfiguration$: Observable<CreateZaakConfig>;\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() configuration: EventEmitter<CreateZaakConfig> = new EventEmitter<CreateZaakConfig>();\n\n public readonly propertyList: Array<CreateZaakExtraProperties> = [];\n\n readonly pluginId$ = new BehaviorSubject<string>('');\n readonly selectedInputOption$ = new BehaviorSubject<InputOption>('selection');\n\n readonly inputTypeOptions$: Observable<Array<RadioValue>> = this.pluginId$.pipe(\n filter(pluginId => !!pluginId),\n switchMap(pluginId =>\n combineLatest([\n this.pluginTranslatePipe.transform('selection', pluginId),\n this.pluginTranslatePipe.transform('text', pluginId),\n ])\n ),\n map(([selectionTranslation, textTranslation]) => [\n {value: 'selection', title: selectionTranslation},\n {value: 'text', title: textTranslation},\n ])\n );\n\n private saveSubscription!: Subscription;\n\n private readonly formValue$ = new BehaviorSubject<CreateZaakConfig | null>(null);\n private readonly valid$ = new BehaviorSubject<boolean>(false);\n private readonly _properties = new Map<CreateZaakExtraProperties, string>();\n\n readonly loading$ = new BehaviorSubject<boolean>(true);\n\n readonly zaakTypeItems$: Observable<Array<SelectItem>> = this.modalService.modalData$.pipe(\n switchMap(() => this.context$),\n tap(([context]) => {\n if (context === 'independent') {\n this.selectedInputOption$.next('text');\n this.loading$.next(false);\n }\n }),\n filter(([context]) => context === 'case'),\n switchMap(([context, params]) =>\n combineLatest([\n this.openZaakService.getZaakTypes(),\n context === 'case'\n ? this.openZaakService.getZaakTypeLink(\n params.caseDefinitionKey,\n params.caseDefinitionVersionTag\n )\n : null,\n ])\n ),\n map(results => {\n const zaakTypes = results[0] as Array<ZaakType>;\n const zaakTypeLink = results[1] as ZaakTypeLink;\n\n return [zaakTypeLink]\n .filter(zaakTypeLink => !!zaakTypeLink?.zaakTypeUrl)\n .map(zaakTypeLink => ({\n id: zaakTypeLink.zaakTypeUrl,\n text:\n zaakTypes.find(zaakType => zaakType.url === zaakTypeLink.zaakTypeUrl)?.omschrijving ||\n zaakTypeLink.zaakTypeUrl,\n }));\n }),\n tap(zaakTypeSelectItems => {\n this.prefillConfiguration$.pipe(take(1)).subscribe(prefillConfig => {\n const zaakTypeUrl = prefillConfig?.zaaktypeUrl;\n\n if (\n zaakTypeUrl &&\n !((zaakTypeSelectItems as Array<SelectItem>) || []).find(item => item.id === zaakTypeUrl)\n ) {\n this.selectedInputOption$.next('text');\n }\n });\n }),\n tap(() => {\n this.loading$.next(false);\n })\n );\n\n constructor(\n private readonly openZaakService: OpenZaakService,\n private readonly documentService: DocumentService,\n private readonly modalService: ModalService,\n private readonly pluginTranslatePipe: PluginTranslatePipe,\n private readonly iconService: IconService\n ) {\n this.iconService.registerAll([Add16, TrashCan16]);\n }\n\n ngOnInit(): void {\n this.openSaveSubscription();\n\n this.prefillConfiguration$.pipe(take(1)).subscribe(prefill => {\n CreateZaakExtraPropertyOptions.filter(property => prefill && !!prefill[property]).forEach(property =>\n this.addCaseProperty(property)\n );\n });\n }\n\n ngOnDestroy() {\n this.saveSubscription?.unsubscribe();\n }\n\n formValueChange(formValue: CreateZaakConfig): void {\n this._properties.forEach((value, key) => (formValue[key] = value));\n\n const inputTypeZaakTypeToggle = formValue.inputTypeZaakTypeToggle;\n this.formValue$.next(formValue);\n this.handleValid(formValue);\n\n if (inputTypeZaakTypeToggle) {\n this.selectedInputOption$.next(inputTypeZaakTypeToggle);\n }\n }\n\n oneSelectItem(selectItems: Array<SelectItem>): boolean {\n if (Array.isArray(selectItems)) {\n return selectItems.length === 1;\n }\n\n return false;\n }\n\n selectItemsIncludeId(selectItems: Array<SelectItem>, id: string): boolean {\n if (Array.isArray(selectItems)) {\n return !!selectItems.find(item => item.id === id);\n }\n\n return false;\n }\n\n private handleValid(formValue: CreateZaakConfig): void {\n const isPropertyInvalid = this.propertyList.some(property => !!!formValue[property]);\n const valid = !!(formValue.rsin && formValue.zaaktypeUrl) && !isPropertyInvalid;\n\n this.valid$.next(valid);\n this.valid.emit(valid);\n }\n\n private openSaveSubscription(): void {\n this.saveSubscription = this.save$?.subscribe(save => {\n combineLatest([this.formValue$, this.valid$])\n .pipe(take(1))\n .subscribe(([formValue, valid]) => {\n if (valid) {\n const payload: CreateZaakConfig = {\n rsin: formValue.rsin,\n zaaktypeUrl: formValue.zaaktypeUrl,\n manualZaakTypeUrl: formValue.manualZaakTypeUrl,\n };\n this.propertyList.forEach(property => (payload[property] = formValue[property]));\n this.configuration.emit(payload);\n }\n });\n });\n }\n\n public addCaseProperty(property: CreateZaakExtraProperties): void {\n this.propertyList.push(property);\n }\n\n public removeCaseProperty(property: CreateZaakExtraProperties): void {\n this.propertyList.splice(this.propertyList.indexOf(property), 1);\n this._properties.delete(property);\n this.onPropertyChanged(property, undefined);\n }\n\n public hasPropertyBeenAdded(property: CreateZaakExtraProperties): boolean {\n return this.propertyList.indexOf(property) !== -1;\n }\n\n public onPropertyChanged(property: CreateZaakExtraProperties, value: any): void {\n this._properties.set(property, value);\n this.formValue$\n .pipe(\n filter(formValue => formValue !== null),\n take(1)\n )\n .subscribe(formValue => {\n this.formValueChange(formValue);\n });\n }\n}\n","<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<ng-container\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null,\n pluginId: pluginId$ | async,\n selectedInputOption: selectedInputOption$ | async,\n zaakTypeSelectItems: zaakTypeItems$ | async,\n loading: loading$ | async,\n context: context$ | async,\n } as obs\"\n>\n <ng-container *ngIf=\"obs.loading === false; else loading\">\n <v-paragraph [margin]=\"true\" [italic]=\"true\">\n {{ 'createZaakInformation' | pluginTranslate: obs.pluginId | async }}\n </v-paragraph>\n\n <v-form (valueChange)=\"formValueChange($event)\">\n <v-input\n name=\"rsin\"\n [title]=\"'rsin' | pluginTranslate: obs.pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.rsin\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n [trim]=\"true\"\n [tooltip]=\"'rsinTooltip' | pluginTranslate: obs.pluginId | async\"\n [widthPx]=\"350\"\n >\n </v-input>\n\n <v-radio\n *ngIf=\"obs?.context?.[0] === 'case'\"\n name=\"inputTypeZaakTypeToggle\"\n [disabled]=\"obs.disabled\"\n [title]=\"'inputTypeZaakTypeToggle' | pluginTranslate: obs.pluginId | async\"\n [radioValues]=\"inputTypeOptions$ | async\"\n [defaultValue]=\"selectedInputOption$ | async\"\n [margin]=\"true\"\n >\n </v-radio>\n\n <v-input\n *ngIf=\"obs.selectedInputOption === 'text'\"\n name=\"zaaktypeUrl\"\n [title]=\"'zaakTypeUrl' | pluginTranslate: obs.pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.zaaktypeUrl\"\n [disabled]=\"obs.disabled || obs.selectedInputOption === 'selection'\"\n [required]=\"true\"\n [trim]=\"true\"\n [tooltip]=\"'zaakTypeTooltip' | pluginTranslate: obs.pluginId | async\"\n [fullWidth]=\"true\"\n >\n </v-input>\n\n <ng-container *ngIf=\"obs.selectedInputOption === 'selection'\">\n <v-select\n [items]=\"obs.zaakTypeSelectItems\"\n [margin]=\"true\"\n [widthInPx]=\"350\"\n name=\"zaaktypeUrl\"\n [title]=\"'zaakType' | pluginTranslate: obs.pluginId | async\"\n [disabled]=\"\n obs.disabled ||\n obs.selectedInputOption === 'text' ||\n oneSelectItem(obs.zaakTypeSelectItems)\n \"\n [defaultSelectionId]=\"\n (selectItemsIncludeId(obs.zaakTypeSelectItems, obs.prefill?.zaaktypeUrl) &&\n obs.prefill?.zaaktypeUrl) ||\n (oneSelectItem(obs.zaakTypeSelectItems) && obs.zaakTypeSelectItems[0].id)\n \"\n [required]=\"true\"\n [loading]=\"!obs.zaakTypeSelectItems\"\n [tooltip]=\"'zaakTypeSelectTooltip' | pluginTranslate: obs.pluginId | async\"\n ></v-select>\n </ng-container>\n\n @for (property of propertyList; track property) {\n @if (property === 'description') {\n <div class=\"property-input\">\n <v-input\n name=\"description\"\n [title]=\"'beschrijving' | pluginTranslate: obs.pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.description\"\n [required]=\"true\"\n (valueChange)=\"onPropertyChanged('description', $event)\"\n />\n\n <button class=\"btn btn-space delete-button\" (click)=\"removeCaseProperty('description')\">\n <svg class=\"cds--btn__icon\" cdsIcon=\"trash-can\" size=\"16\"></svg>\n </button>\n </div>\n } @else if (property === 'plannedEndDate') {\n <div class=\"property-input\">\n <v-input\n name=\"plannedEndDate\"\n [title]=\"'plannedEndDate' | pluginTranslate: obs.pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.plannedEndDate\"\n [required]=\"true\"\n [trim]=\"true\"\n [tooltip]=\"'dateformatTooltip' | pluginTranslate: obs.pluginId | async\"\n (valueChange)=\"onPropertyChanged('plannedEndDate', $event)\"\n ></v-input>\n\n <button\n class=\"btn btn-space delete-button\"\n (click)=\"removeCaseProperty('plannedEndDate')\"\n >\n <svg class=\"cds--btn__icon\" cdsIcon=\"trash-can\" size=\"16\"></svg>\n </button>\n </div>\n } @else if (property === 'finalDeliveryDate') {\n <div class=\"property-input\">\n <v-input\n name=\"finalDeliveryDate\"\n [title]=\"'finalDeliveryDate' | pluginTranslate: obs.pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.finalDeliveryDate\"\n [required]=\"true\"\n [trim]=\"true\"\n [tooltip]=\"'dateformatTooltip' | pluginTranslate: obs.pluginId | async\"\n (valueChange)=\"onPropertyChanged('finalDeliveryDate', $event)\"\n ></v-input>\n\n <button\n class=\"btn btn-space delete-button\"\n (click)=\"removeCaseProperty('finalDeliveryDate')\"\n >\n <svg class=\"cds--btn__icon\" cdsIcon=\"trash-can\" size=\"16\"></svg>\n </button>\n </div>\n }\n }\n\n <button\n cdsButton=\"primary\"\n [size]=\"'md'\"\n [cdsOverflowMenu]=\"addCasePropertyList\"\n [customPane]=\"true\"\n placement=\"bottom\"\n >\n {{ 'addZaakProperty' | pluginTranslate: obs.pluginId | async }}\n\n <svg class=\"cds--btn__icon\" cdsIcon=\"add\" size=\"16\"></svg>\n </button>\n </v-form>\n </ng-container>\n</ng-container>\n\n<ng-template #loading>\n <div class=\"loading-container\">\n <cds-loading></cds-loading>\n </div>\n</ng-template>\n\n<ng-template #addCasePropertyList>\n <cds-overflow-menu-option\n (click)=\"addCaseProperty('description')\"\n *ngIf=\"!hasPropertyBeenAdded('description')\"\n >\n {{ 'beschrijving' | pluginTranslate: (pluginId$ | async) | async }}\n </cds-overflow-menu-option>\n\n <cds-overflow-menu-option\n (click)=\"addCaseProperty('plannedEndDate')\"\n *ngIf=\"!hasPropertyBeenAdded('plannedEndDate')\"\n >\n {{ 'plannedEndDate' | pluginTranslate: (pluginId$ | async) | async }}\n </cds-overflow-menu-option>\n\n <cds-overflow-menu-option\n (click)=\"addCaseProperty('finalDeliveryDate')\"\n *ngIf=\"!hasPropertyBeenAdded('finalDeliveryDate')\"\n >\n {{ 'finalDeliveryDate' | pluginTranslate: (pluginId$ | async) | async }}\n </cds-overflow-menu-option>\n</ng-template>\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {FunctionConfigurationComponent} from '../../../../models';\nimport {BehaviorSubject, combineLatest, Observable, Subscription, take} from 'rxjs';\nimport {SetZaakopschortingConfig} from '../../models';\nimport {PluginTranslatePipe} from '../../../../pipes';\n\n@Component({\n standalone: false,\n providers: [PluginTranslatePipe],\n selector: 'valtimo-set-zaak-opschorting-configuration',\n templateUrl: './set-zaakopschorting.component.html',\n})\nexport class SetZaakopschortingComponent\n implements FunctionConfigurationComponent, OnInit, OnDestroy\n{\n @Input() disabled$: Observable<boolean>;\n @Input() pluginId: string;\n @Input() prefillConfiguration$: Observable<SetZaakopschortingConfig>;\n @Input() save$: Observable<void>;\n @Output() configuration: EventEmitter<SetZaakopschortingConfig> =\n new EventEmitter<SetZaakopschortingConfig>();\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n\n private readonly formValue$ = new BehaviorSubject<SetZaakopschortingConfig | null>(null);\n private saveSubscription!: Subscription;\n private readonly valid$ = new BehaviorSubject<boolean>(false);\n\n public ngOnInit(): void {\n this.openSaveSubscription();\n }\n\n public ngOnDestroy(): void {\n this.saveSubscription?.unsubscribe();\n }\n\n public formValueChange(formValue: SetZaakopschortingConfig): void {\n this.formValue$.next(formValue);\n this.handleValid(formValue);\n }\n\n private handleValid(formValue: SetZaakopschortingConfig): void {\n const valid = !!(\n formValue.toelichtingVerlenging &&\n formValue.toelichtingOpschorting &&\n formValue.verlengingsduur\n );\n\n this.valid$.next(valid);\n this.valid.emit(valid);\n }\n\n private openSaveSubscription(): void {\n this.saveSubscription = this.save$?.subscribe(save => {\n combineLatest([this.formValue$, this.valid$])\n .pipe(take(1))\n .subscribe(([formValue, valid]) => {\n if (valid) {\n this.configuration.emit(formValue);\n }\n });\n });\n }\n}\n","<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null,\n } as obs\"\n>\n <v-input\n name=\"verlengingsduur\"\n [title]=\"'verlengingsduur' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.verlengingsduur\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n [trim]=\"true\"\n [fullWidth]=\"true\"\n >\n </v-input>\n\n <v-input\n name=\"toelichtingVerlenging\"\n [title]=\"'toelichtingVerlenging' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.toelichtingVerlenging\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n [fullWidth]=\"true\"\n >\n </v-input>\n\n <v-input\n name=\"toelichtingOpschorting\"\n [title]=\"'toelichtingOpschorting' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.toelichtingOpschorting\"\n [disabled]=\"\"\n [required]=\"true\"\n [fullWidth]=\"true\"\n >\n </v-input>\n</v-form>\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {FunctionConfigurationComponent} from '../../../../models';\nimport {BehaviorSubject, combineLatest, Observable, Subscription, take} from 'rxjs';\nimport {StartHersteltermijnConfig} from '../../models';\nimport {PluginTranslatePipe} from '../../../../pipes';\n\n@Component({\n standalone: false,\n selector: 'valtimo-start-hersteltermijn-configuration',\n templateUrl: './start-hersteltermijn-configuration.component.html',\n providers: [PluginTranslatePipe],\n})\nexport class StartHersteltermijnConfigurationComponent\n implements FunctionConfigurationComponent, OnInit, OnDestroy\n{\n @Input() save$: Observable<void>;\n @Input() disabled$: Observable<boolean>;\n @Input() pluginId: string;\n @Input() prefillConfiguration$: Observable<StartHersteltermijnConfig>;\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() configuration: EventEmitter<StartHersteltermijnConfig> =\n new EventEmitter<StartHersteltermijnConfig>();\n\n private saveSubscription!: Subscription;\n\n private readonly formValue$ = new BehaviorSubject<StartHersteltermijnConfig | null>(null);\n private readonly valid$ = new BehaviorSubject<boolean>(false);\n\n ngOnInit(): void {\n this.openSaveSubscription();\n }\n\n ngOnDestroy() {\n this.saveSubscription?.unsubscribe();\n }\n\n formValueChange(formValue: StartHersteltermijnConfig): void {\n this.formValue$.next(formValue);\n this.handleValid(formValue);\n }\n\n private handleValid(formValue: StartHersteltermijnConfig): void {\n const valid = !!formValue.maxDurationInDays;\n\n this.valid$.next(valid);\n this.valid.emit(valid);\n }\n\n private openSaveSubscription(): void {\n this.saveSubscription = this.save$?.subscribe(save => {\n combineLatest([this.formValue$, this.valid$])\n .pipe(take(1))\n .subscribe(([formValue, valid]) => {\n if (valid) {\n this.configuration.emit({\n maxDurationInDays: formValue.maxDurationInDays,\n });\n }\n });\n });\n }\n}\n","<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<ng-container\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null,\n } as obs\"\n>\n <ng-container>\n <v-paragraph [margin]=\"true\" [italic]=\"true\">\n {{ 'startHersteltermijnInformation' | pluginTranslate: pluginId | async }}\n </v-paragraph>\n <v-form (valueChange)=\"formValueChange($event)\">\n <v-input\n name=\"maxDurationInDays\"\n [min]=\"1\"\n [title]=\"'maxDurationInDays' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.maxDurationInDays\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n [trim]=\"true\"\n [tooltip]=\"'maxDurationInDaysTooltip' | pluginTranslate: pluginId | async\"\n [widthPx]=\"350\"\n >\n </v-input>\n </v-form>\n </ng-container>\n</ng-container>\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {Observable, Subscription} from 'rxjs';\nimport {FunctionConfigurationComponent} from '../../../../models';\nimport {PluginTranslatePipe} from '../../../../pipes';\n\n@Component({\n standalone: false,\n selector: 'valtimo-end-hersteltermijn',\n templateUrl: './end-hersteltermijn.component.html',\n providers: [PluginTranslatePipe],\n})\nexport class EndHersteltermijnComponent\n implements FunctionConfigurationComponent, OnInit, OnDestroy\n{\n @Input() disabled$: Observable<boolean>;\n @Input() save$: Observable<void>;\n @Input() prefillConfiguration$: Observable<any>;\n @Input() pluginId: string;\n\n @Output() configuration: EventEmitter<any> = new EventEmitter<any>();\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n\n private _saveSubscription = new Subscription();\n\n public ngOnInit(): void {\n this.openSaveSubscription();\n this.emitValid();\n }\n\n public ngOnDestroy(): void {\n this._saveSubscription.unsubscribe();\n }\n\n private emitValid(): void {\n this.valid.emit(true);\n }\n\n private openSaveSubscription(): void {\n this._saveSubscription.add(\n this.save$?.subscribe(() => {\n this.configuration.emit({});\n })\n );\n }\n}\n","<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-paragraph [center]=\"true\" [fullWidth]=\"true\">\n {{ 'endHersteltermijnInformation' | pluginTranslate: pluginId | async }}\n</v-paragraph>\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {FunctionConfigurationComponent} from '../../../../models';\nimport {\n BehaviorSubject,\n combineLatest,\n filter,\n Observable,\n Subscription,\n switchMap,\n take,\n tap,\n} from 'rxjs';\nimport {CreateZaakeigenschapConfig, InputOption} from '../../models';\nimport {RadioValue, SelectItem} from '@valtimo/components';\nimport {DocumentService} from '@valtimo/document';\nimport {map} from 'rxjs/operators';\nimport {ZakenApiService} from '../../services';\nimport {PluginTranslatePipe} from '../../../../pipes';\nimport {CaseManagementParams, ManagementContext} from '@valtimo/shared';\n\n@Component({\n standalone: false,\n selector: 'valtimo-create-zaakeigenschap',\n templateUrl: './create-zaakeigenschap.component.html',\n providers: [PluginTranslatePipe],\n})\nexport class CreateZaakeigenschapComponent\n implements FunctionConfigurationComponent, OnInit, OnDestroy\n{\n @Input() save$: Observable<void>;\n @Input() disabled$: Observable<boolean>;\n @Input() set pluginId(value: string) {\n this.pluginId$.next(value);\n }\n @Input() prefillConfiguration$: Observable<CreateZaakeigenschapConfig>;\n @Input() context$: Observable<[ManagementContext, CaseManagementParams]>;\n\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() configuration: EventEmitter<CreateZaakeigenschapConfig> =\n new EventEmitter<CreateZaakeigenschapConfig>();\n\n readonly loading$ = new BehaviorSubject<boolean>(true);\n readonly selectedInputOption$ = new BehaviorSubject<InputOption>('selection');\n readonly pluginId$ = new BehaviorSubject<string>('');\n readonly formValue$ = new BehaviorSubject<CreateZaakeigenschapConfig | null>(null);\n readonly valid$ = new BehaviorSubject<boolean>(false);\n readonly eigenschapSelectItems$ = new BehaviorSubject<SelectItem[]>([]);\n readonly inputTypeOptions$: Observable<Array<RadioValue>> = this.pluginId$.pipe(\n filter(pluginId => !!pluginId),\n switchMap(pluginId =>\n combineLatest([\n this.pluginTranslatePipe.transform('selection', pluginId),\n this.pluginTranslatePipe.transform('text', pluginId),\n ])\n ),\n map(([selectionTranslation, textTranslation]) => [\n {value: 'selection', title: selectionTranslation},\n {value: 'text', title: textTranslation},\n ])\n );\n\n private readonly _subscriptions = new Subscription();\n\n constructor(\n private readonly documentService: DocumentService,\n private readonly zakenApiService: ZakenApiService,\n private readonly pluginTranslatePipe: PluginTranslatePipe\n ) {}\n\n public ngOnInit(): void {\n this.initEigenschapHandling();\n this.initSaveHandling();\n }\n\n public ngOnDestroy(): void {\n this._subscriptions.unsubscribe();\n }\n\n public formValueChange(formValue: CreateZaakeigenschapConfig): void {\n this.formValue$.next(formValue);\n this.handleValid(formValue);\n\n if (formValue.inputTypeEigenschapToggle) {\n this.selectedInputOption$.next(formValue.inputTypeEigenschapToggle);\n }\n }\n\n public oneSelectItem(selectItems: Array<SelectItem>): boolean {\n return Array.isArray(selectItems) && selectItems.length === 1;\n }\n\n private initEigenschapHandling(): void {\n if (!this.context$) {\n return;\n }\n\n const sub = this.context$\n .pipe(\n filter(([context]) => {\n if (context === 'independent') {\n this.selectedInputOption$.next('text');\n this.loading$.next(false);\n }\n return context === 'case';\n }),\n switchMap(([_, params]) =>\n this.zakenApiService.getEigenschappenByCaseAndVersion(\n params.caseDefinitionKey,\n params.caseDefinitionVersionTag\n )\n ),\n tap(eigenschappen => {\n this.eigenschapSelectItems$.next(\n eigenschappen.map(item => ({id: item.url, text: item.name}))\n );\n this.selectedInputOption$.next('selection');\n this.loading$.next(false);\n })\n )\n .subscribe();\n\n this._subscriptions.add(sub);\n }\n\n private initSaveHandling(): void {\n if (!this.save$) return;\n\n const sub = this.save$.subscribe(() => {\n combineLatest([this.formValue$, this.valid$])\n .pipe(take(1))\n .subscribe(([formValue, valid]) => {\n if (valid) {\n this.configuration.emit({\n eigenschapUrl: formValue.eigenschapUrl,\n eigenschapValue: formValue.eigenschapValue,\n });\n }\n });\n });\n\n this._subscriptions.add(sub);\n }\n\n private handleValid(formValue: CreateZaakeigenschapConfig): void {\n const valid = !!formValue.eigenschapUrl;\n this.valid$.next(valid);\n this.valid.emit(valid);\n }\n}\n","<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null,\n pluginId: pluginId$ | async,\n selectedInputOption: selectedInputOption$ | async,\n loading: loading$ | async,\n eigenschapItems: eigenschapSelectItems$ | async,\n context: context$ | async,\n } as obs\"\n>\n <ng-container *ngIf=\"obs.loading === false; else loading\">\n <v-radio\n *ngIf=\"obs?.context?.[0] === 'case'\"\n name=\"inputTypeEigenschapToggle\"\n [disabled]=\"obs.disabled\"\n [title]=\"'inputTypeEigenschapToggle' | pluginTranslate: obs.pluginId | async\"\n [radioValues]=\"inputTypeOptions$ | async\"\n [defaultValue]=\"selectedInputOption$ | async\"\n [margin]=\"true\"\n >\n </v-radio>\n\n <v-input\n *ngIf=\"obs.selectedInputOption === 'text'\"\n name=\"eigenschapUrl\"\n [title]=\"'eigenschapUrl' | pluginTranslate: obs.pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.eigenschapUrl\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n [trim]=\"true\"\n [tooltip]=\"'eigenschapUrlTooltip' | pluginTranslate: obs.pluginId | async\"\n [fullWidth]=\"true\"\n >\n </v-input>\n\n <ng-container *ngIf=\"obs.selectedInputOption === 'selection'\">\n <v-select\n [items]=\"obs.eigenschapItems\"\n [margin]=\"true\"\n [widthInPx]=\"350\"\n name=\"eigenschapUrl\"\n [title]=\"'eigenschapUrlSelect' | pluginTranslate: obs.pluginId | async\"\n [disabled]=\"obs.disabled || obs.selectedInputOption === 'text' || !obs.eigenschapItem\"\n [defaultSelectionId]=\"obs.prefill?.eigenschapUrl\"\n [required]=\"true\"\n [loading]=\"!obs.eigenschapItems\"\n [tooltip]=\"'eigenschapUrlSelectTooltip' | pluginTranslate: obs.pluginId | async\"\n ></v-select>\n </ng-container>\n\n <v-input\n name=\"eigenschapValue\"\n [title]=\"'eigenschapValue' | pluginTranslate: obs.pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.eigenschapValue\"\n [disabled]=\"obs.disabled\"\n [required]=\"false\"\n [tooltip]=\"'eigenschapValueTooltip' | pluginTranslate: obs.pluginId | async\"\n [fullWidth]=\"true\"\n >\n </v-input>\n </ng-container>\n</v-form>\n\n<ng-template #loading>\n <div class=\"loading-container\">\n <cds-loading></cds-loading>\n </div>\n</ng-template>\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {FunctionConfigurationComponent} from '../../../../models';\nimport {\n BehaviorSubject,\n combineLatest,\n filter,\n Observable,\n Subscription,\n switchMap,\n take,\n tap,\n} from 'rxjs';\nimport {InputOption, UpdateZaakeigenschapConfig} from '../../models';\nimport {RadioValue, SelectItem} from '@valtimo/components';\nimport {ZakenApiService} from '../../services';\nimport {PluginTranslatePipe} from '../../../../pipes';\nimport {CaseManagementParams, ManagementContext} from '@valtimo/shared';\nimport {map} from 'rxjs/operators';\n\n@Component({\n standalone: false,\n selector: 'valtimo-update-zaakeigenschap',\n templateUrl: './update-zaakeigenschap.component.html',\n providers: [PluginTranslatePipe],\n})\nexport class UpdateZaakeigenschapComponent\n implements FunctionConfigurationComponent, OnInit, OnDestroy\n{\n @Input() public save$: Observable<void>;\n @Input() public disabled$: Observable<boolean>;\n @Input() public set pluginId(value: string) {\n this.pluginId$.next(value);\n }\n @Input() public prefillConfiguration$: Observable<UpdateZaakeigenschapConfig>;\n @Input() public context$: Observable<[ManagementContext, CaseManagementParams]>;\n\n @Output() public valid = new EventEmitter<boolean>();\n @Output() public configuration = new EventEmitter<UpdateZaakeigenschapConfig>();\n\n public readonly loading$ = new BehaviorSubject<boolean>(true);\n public readonly selectedInputOption$ = new BehaviorSubject<InputOption>('selection');\n public readonly pluginId$ = new BehaviorSubject<string>('');\n public readonly formValue$ = new BehaviorSubject<UpdateZaakeigenschapConfig | null>(null);\n public readonly valid$ = new BehaviorSubject<boolean>(false);\n public readonly eigenschapSelectItems$ = new BehaviorSubject<SelectItem[]>([]);\n\n public readonly inputTypeOptions$: Observable<Array<RadioValue>> = this.pluginId$.pipe(\n filter(pluginId => !!pluginId),\n switchMap(pluginId =>\n combineLatest([\n this.pluginTranslatePipe.transform('selection', pluginId),\n this.pluginTranslatePipe.transform('text', pluginId),\n ])\n ),\n map(([selectionTranslation, textTranslation]) => [\n {value: 'selection', title: selectionTranslation},\n {value: 'text', title: textTranslation},\n ])\n );\n\n private readonly _subscriptions = new Subscription();\n\n constructor(\n private readonly zakenApiService: ZakenApiService,\n private readonly pluginTranslatePipe: PluginTranslatePipe\n ) {}\n\n public ngOnInit(): void {\n this.initEigenschapHandling();\n this.initSaveHandling();\n }\n\n public ngOnDestroy(): void {\n this._subscriptions.unsubscribe();\n }\n\n public formValueChange(formValue: UpdateZaakeigenschapConfig): void {\n this.formValue$.next(formValue);\n this.handleValid(formValue);\n\n if (formValue.inputTypeEigenschapToggle) {\n this.selectedInputOption$.next(formValue.inputTypeEigenschapToggle);\n }\n }\n\n private initEigenschapHandling(): void {\n if (!this.context$) return;\n\n const sub = this.context$\n .pipe(\n filter(([context]) => {\n if (context === 'independent') {\n this.selectedInputOption$.next('text');\n this.loading$.next(false);\n }\n return context === 'case';\n }),\n switchMap(([_, params]) =>\n combineLatest([\n this.zakenApiService.getEigenschappenByCaseAndVersion(\n params.caseDefinitionKey,\n params.caseDefinitionVersionTag\n ),\n this.prefillConfiguration$.pipe(take(1)),\n ])\n ),\n tap(([eigenschappen, prefill]) => {\n const selectItems = eigenschappen.map(item => ({id: item.url, text: item.name}));\n this.eigenschapSelectItems$.next(selectItems);\n\n const matched = selectItems.find(item => item.id === prefill?.eigenschapUrl);\n this.selectedInputOption$.next(matched ? 'selection' : 'text');\n\n this.loading$.next(false);\n })\n )\n .subscribe();\n\n this._subscriptions.add(sub);\n }\n\n private initSaveHandling(): void {\n if (!this.save$) return;\n\n const sub = this.save$.subscribe(() => {\n combineLatest([this.formValue$, this.valid$])\n .pipe(take(1))\n .subscribe(([formValue, valid]) => {\n if (valid) {\n this.configuration.emit({\n eigenschapUrl: formValue.eigenschapUrl,\n eigenschapValue: formValue.eigenschapValue,\n });\n }\n });\n });\n\n this._subscriptions.add(sub);\n }\n\n private handleValid(formValue: UpdateZaakeigenschapConfig): void {\n const valid = !!formValue.eigenschapUrl;\n this.valid$.next(valid);\n this.valid.emit(valid);\n }\n}\n","<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null,\n pluginId: pluginId$ | async,\n selectedInputOption: selectedInputOption$ | async,\n loading: loading$ | async,\n eigenschapItems: eigenschapSelectItems$ | async,\n context: context$ | async,\n } as obs\"\n>\n <ng-container *ngIf=\"obs.loading === false; else loading\">\n <v-radio\n *ngIf=\"obs?.context?.[0] === 'case'\"\n name=\"inputTypeEigenschapToggle\"\n [disabled]=\"obs.disabled\"\n [title]=\"'inputTypeEigenschapToggle' | pluginTranslate: obs.pluginId | async\"\n [radioValues]=\"inputTypeOptions$ | async\"\n [defaultValue]=\"selectedInputOption$ | async\"\n [margin]=\"true\"\n >\n </v-radio>\n\n <v-input\n *ngIf=\"obs.selectedInputOption === 'text'\"\n name=\"eigenschapUrl\"\n [title]=\"'eigenschapUrl' | pluginTranslate: obs.pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.eigenschapUrl\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n [trim]=\"true\"\n [tooltip]=\"'eigenschapUrlTooltip' | pluginTranslate: obs.pluginId | async\"\n [fullWidth]=\"true\"\n >\n </v-input>\n\n <ng-container *ngIf=\"obs.selectedInputOption === 'selection'\">\n <v-select\n [items]=\"obs.eigenschapItems\"\n [margin]=\"true\"\n [widthInPx]=\"350\"\n name=\"eigenschapUrl\"\n [title]=\"'eigenschapUrlSelect' | pluginTranslate: obs.pluginId | async\"\n [disabled]=\"obs.disabled || obs.selectedInputOption === 'text' || !obs.eigenschapItems\"\n [defaultSelectionId]=\"obs.prefill?.eigenschapUrl\"\n [required]=\"true\"\n [loading]=\"!obs.eigenschapItems\"\n [tooltip]=\"'eigenschapUrlSelectTooltip' | pluginTranslate: obs.pluginId | async\"\n ></v-select>\n </ng-container>\n\n <v-input\n name=\"eigenschapValue\"\n [title]=\"'eigenschapValue' | pluginTranslate: obs.pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.eigenschapValue\"\n [disabled]=\"obs.disabled\"\n [required]=\"false\"\n [tooltip]=\"'eigenschapValueTooltip' | pluginTranslate: obs.pluginId | async\"\n [fullWidth]=\"true\"\n >\n </v-input>\n </ng-container>\n</v-form>\n\n<ng-template #loading>\n <div class=\"loading-container\">\n <cds-loading></cds-loading>\n </div>\n</ng-template>\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {FunctionConfigurationComponent} from '../../../../models';\nimport {\n BehaviorSubject,\n combineLatest,\n filter,\n Observable,\n Subscription,\n switchMap,\n take,\n tap,\n} from 'rxjs';\nimport {DeleteZaakeigenschapConfig, InputOption} from '../../models';\nimport {RadioValue, SelectItem} from '@valtimo/components';\nimport {ZakenApiService} from '../../services';\nimport {PluginTranslatePipe} from '../../../../pipes';\nimport {CaseManagementParams, ManagementContext} from '@valtimo/shared';\nimport {map} from 'rxjs/operators';\n\n@Component({\n standalone: false,\n selector: 'valtimo-delete-zaakeigenschap',\n templateUrl: './delete-zaakeigenschap.component.html',\n providers: [PluginTranslatePipe],\n})\nexport class DeleteZaakeigenschapComponent\n implements FunctionConfigurationComponent, OnInit, OnDestroy\n{\n @Input() public save$: Observable<void>;\n @Input() public disabled$: Observable<boolean>;\n @Input() public set pluginId(value: string) {\n this.pluginId$.next(value);\n }\n @Input() public prefillConfiguration$: Observable<DeleteZaakeigenschapConfig>;\n @Input() public context$: Observable<[ManagementContext, CaseManagementParams]>;\n\n @Output() public valid = new EventEmitter<boolean>();\n @Output() public configuration = new EventEmitter<DeleteZaakeigenschapConfig>();\n\n public readonly loading$ = new BehaviorSubject<boolean>(true);\n public readonly selectedInputOption$ = new BehaviorSubject<InputOption>('selection');\n public readonly pluginId$ = new BehaviorSubject<string>('');\n public readonly formValue$ = new BehaviorSubject<DeleteZaakeigenschapConfig | null>(null);\n public readonly valid$ = new BehaviorSubject<boolean>(false);\n public readonly eigenschapSelectItems$ = new BehaviorSubject<SelectItem[]>([]);\n\n public readonly inputTypeOptions$: Observable<Array<RadioValue>> = this.pluginId$.pipe(\n filter(pluginId => !!pluginId),\n switchMap(pluginId =>\n combineLatest([\n this.pluginTranslatePipe.transform('selection', pluginId),\n this.pluginTranslatePipe.transform('text', pluginId),\n ])\n ),\n map(([selectionTranslation, textTranslation]) => [\n {value: 'selection', title: selectionTranslation},\n {value: 'text', title: textTranslation},\n ])\n );\n\n private readonly _subscriptions = new Subscription();\n\n constructor(\n private readonly zakenApiService: ZakenApiService,\n private readonly pluginTranslatePipe: PluginTranslatePipe\n ) {}\n\n public ngOnInit(): void {\n this.initEigenschapHandling();\n this.initSaveHandling();\n }\n\n public ngOnDestroy(): void {\n this._subscriptions.unsubscribe();\n }\n\n formValueChange(formValue: DeleteZaakeigenschapConfig): void {\n this.formValue$.next(formValue);\n this.handleValid(formValue);\n\n if (formValue.inputTypeEigenschapToggle) {\n this.selectedInputOption$.next(formValue.inputTypeEigenschapToggle);\n }\n }\n\n private initEigenschapHandling(): void {\n if (!this.context$) return;\n\n const sub = this.context$\n .pipe(\n filter(([context]) => {\n if (context === 'independent') {\n this.selectedInputOption$.next('text');\n this.loading$.next(false);\n }\n return context === 'case';\n }),\n switchMap(([_, params]) =>\n combineLatest([\n this.zakenApiService.getEigenschappenByCaseAndVersion(\n params.caseDefinitionKey,\n params.caseDefinitionVersionTag\n ),\n this.prefillConfiguration$.pipe(take(1)),\n ])\n ),\n tap(([eigenschappen, prefill]) => {\n const selectItems = eigenschappen.map(item => ({id: item.url, text: item.name}));\n this.eigenschapSelectItems$.next(selectItems);\n\n const matched = selectItems.find(item => item.id === prefill?.eigenschapUrl);\n this.selectedInputOption$.next(matched ? 'selection' : 'text');\n\n this.loading$.next(false);\n })\n )\n .subscribe();\n\n this._subscriptions.add(sub);\n }\n\n private initSaveHandling(): void {\n if (!this.save$) return;\n\n const sub = this.save$.subscribe(() => {\n combineLatest([this.formValue$, this.valid$])\n .pipe(take(1))\n .subscribe(([formValue, valid]) => {\n if (valid) {\n this.configuration.emit({\n eigenschapUrl: formValue.eigenschapUrl,\n });\n }\n });\n });\n\n this._subscriptions.add(sub);\n }\n\n private handleValid(formValue: DeleteZaakeigenschapConfig): void {\n const valid = !!formValue.eigenschapUrl;\n this.valid$.next(valid);\n this.valid.emit(valid);\n }\n}\n","<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null,\n pluginId: pluginId$ | async,\n selectedInputOption: selectedInputOption$ | async,\n loading: loading$ | async,\n eigenschapItems: eigenschapSelectItems$ | async,\n context: context$ | async,\n } as obs\"\n>\n <ng-container *ngIf=\"obs.loading === false; else loading\">\n <v-radio\n *ngIf=\"obs?.context?.[0] === 'case'\"\n name=\"inputTypeEigenschapToggle\"\n [disabled]=\"obs.disabled\"\n [title]=\"'inputTypeEigenschapToggle' | pluginTranslate: obs.pluginId | async\"\n [radioValues]=\"inputTypeOptions$ | async\"\n [defaultValue]=\"selectedInputOption$ | async\"\n [margin]=\"true\"\n >\n </v-radio>\n\n <v-input\n *ngIf=\"obs.selectedInputOption === 'text'\"\n name=\"eigenschapUrl\"\n [title]=\"'eigenschapUrl' | pluginTranslate: obs.pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.eigenschapUrl\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n [trim]=\"true\"\n [tooltip]=\"'eigenschapUrlTooltip' | pluginTranslate: obs.pluginId | async\"\n [fullWidth]=\"true\"\n >\n </v-input>\n\n <ng-container *ngIf=\"obs.selectedInputOption === 'selection'\">\n <v-select\n [items]=\"obs.eigenschapItems\"\n [margin]=\"true\"\n [widthInPx]=\"350\"\n name=\"eigenschapUrl\"\n [title]=\"'eigenschapUrlSelect' | pluginTranslate: obs.pluginId | async\"\n [disabled]=\"obs.disabled || obs.selectedInputOption === 'text' || !obs.eigenschapItems\"\n [defaultSelectionId]=\"obs.prefill?.eigenschapUrl\"\n [required]=\"true\"\n [loading]=\"!obs.eigenschapItems\"\n [tooltip]=\"'eigenschapUrlSelectTooltip' | pluginTranslate: obs.pluginId | async\"\n ></v-select>\n </ng-container>\n </ng-container>\n</v-form>\n\n<ng-template #loading>\n <div class=\"loading-container\">\n <cds-loading></cds-loading>\n </div>\n</ng-template>\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {FunctionConfigurationComponent} from '../../../../models';\nimport {\n BehaviorSubject,\n combineLatest,\n filter,\n map,\n Observable,\n Subscription,\n switchMap,\n take,\n} from 'rxjs';\nimport {RelateerZakenConfig} from '../../models';\nimport {PluginTranslatePipe} from '../../../../pipes';\nimport {SelectItem} from '@valtimo/components';\n\n@Component({\n selector: 'valtimo-relateer-zaken',\n templateUrl: './relateer-zaken.component.html',\n providers: [PluginTranslatePipe],\n standalone: false,\n})\nexport class RelateerZakenComponent implements FunctionConfigurationComponent, OnInit, OnDestroy {\n @Input() save$: Observable<void>;\n @Input() disabled$: Observable<boolean>;\n @Input() set pluginId(value: string) {\n this.pluginId$.next(value);\n }\n @Input() prefillConfiguration$: Observable<RelateerZakenConfig>;\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() configuration: EventEmitter<RelateerZakenConfig> =\n new EventEmitter<RelateerZakenConfig>();\n\n readonly pluginId$ = new BehaviorSubject<string>('');\n public readonly aardRelatieOptions$: Observable<Array<SelectItem>> = this.pluginId$.pipe(\n filter(pluginId => !!pluginId),\n switchMap(pluginId =>\n combineLatest([\n this.pluginTranslatePipe.transform('option-vervolg', pluginId),\n this.pluginTranslatePipe.transform('option-onderwerp', pluginId),\n this.pluginTranslatePipe.transform('option-bijdrage', pluginId),\n ])\n ),\n map(([vervolgText, onderwerpText, bijdrageText]) => [\n {id: 'vervolg', text: vervolgText},\n {id: 'onderwerp', text: onderwerpText},\n {id: 'bijdrage', text: bijdrageText},\n ])\n );\n\n private saveSubscription!: Subscription;\n\n private readonly formValue$ = new BehaviorSubject<RelateerZakenConfig | null>(null);\n private readonly valid$ = new BehaviorSubject<boolean>(false);\n\n constructor(private readonly pluginTranslatePipe: PluginTranslatePipe) {}\n\n ngOnInit(): void {\n this.openSaveSubscription();\n }\n\n ngOnDestroy() {\n this.saveSubscription?.unsubscribe();\n }\n\n formValueChange(formValue: RelateerZakenConfig): void {\n this.formValue$.next(formValue);\n this.handleValid(formValue);\n }\n\n private handleValid(formValue: RelateerZakenConfig): void {\n const valid = !!formValue.teRelaterenZaakUri && !!formValue.aardRelatie;\n\n this.valid$.next(valid);\n this.valid.emit(valid);\n }\n\n private openSaveSubscription(): void {\n this.saveSubscription = this.save$?.subscribe(save => {\n combineLatest([this.formValue$, this.valid$])\n .pipe(take(1))\n .subscribe(([formValue, valid]) => {\n if (valid) {\n this.configuration.emit(formValue);\n }\n });\n });\n }\n}\n","<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"{\n pluginId: pluginId$ | async,\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null,\n } as obs\"\n>\n <v-input\n name=\"teRelaterenZaakUri\"\n [title]=\"'teRelaterenZaakUri' | pluginTranslate: obs.pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.teRelaterenZaakUri\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n ></v-input>\n <v-select\n [items]=\"aardRelatieOptions$ | async\"\n name=\"aardRelatie\"\n [title]=\"'aardRelatie' | pluginTranslate: obs.pluginId | async\"\n [disabled]=\"obs.disabled\"\n [defaultSelectionId]=\"obs.prefill?.aardRelatie\"\n [required]=\"true\"\n ></v-select>\n</v-form>\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport const PatchZaakPropertyOptions = [\n 'description',\n 'explanation',\n 'plannedEndDate',\n 'finalDeliveryDate',\n 'publicationDate',\n 'communicationChannel',\n 'communicationChannelName',\n 'paymentIndication',\n 'lastPaymentDate',\n 'caseGeometryType',\n 'caseGeometryCoordinates',\n 'mainCase',\n 'archiveActionDate',\n 'startDateRetentionPeriod'\n] as const;\nexport type PatchZaakProperties = (typeof PatchZaakPropertyOptions)[number];\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {FunctionConfigurationComponent} from '../../../../models';\nimport {BehaviorSubject, combineLatest, Observable, Subscription, take} from 'rxjs';\nimport {PatchZaakConfig} from '../../models';\nimport {IconService} from 'carbon-components-angular';\nimport {Add16, TrashCan16} from '@carbon/icons';\nimport {PatchZaakProperties, PatchZaakPropertyOptions} from '../../models/patch-zaak-properties';\n\n@Component({\n standalone: false,\n selector: 'valtimo-patch-zaak-configuration',\n templateUrl: './patch-zaak-configuration.component.html',\n styleUrl: './patch-zaak-configuration.component.scss',\n})\nexport class PatchZaakConfigurationComponent implements FunctionConfigurationComponent, OnInit, OnDestroy {\n @Input() disabled$: Observable<boolean>;\n @Input() pluginId: string;\n @Input() save$: Observable<void>;\n @Input() prefillConfiguration$: Observable<PatchZaakConfig>;\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() configuration: EventEmitter<PatchZaakConfig> = new EventEmitter<PatchZaakConfig>();\n\n public readonly propertyOptions: string[] = Object.values(PatchZaakPropertyOptions);\n public readonly propertyList: Array<PatchZaakProperties> = [];\n public readonly geometryTypes: string[] =\n ['Point', 'MultiPoint', 'LineString', 'MultiLineString', 'Polygon', 'GeometryCollection', 'MultiPolygon'];\n public readonly paymentIndicationTypes: string[] = ['nvt', 'nog_niet', 'gedeeltelijk', 'geheel'];\n\n protected readonly CASE_GEOMETRY_TYPE: string = 'caseGeometryType';\n protected readonly CASE_GEOMETRY_COORDINATES: string = 'caseGeometryCoordinates';\n protected readonly PAYMENT_INDICATION_TYPE: string = 'paymentIndication';\n\n private readonly DATA_TEST_ID_PREFIX: string = 'patch-zaak-property_';\n private readonly _formValue$ = new BehaviorSubject<PatchZaakConfig>({});\n private readonly _properties = new Map<PatchZaakProperties, string>();\n private _saveSubscription!: Subscription;\n private readonly _valid$ = new BehaviorSubject<boolean>(false);\n\n constructor(\n private readonly iconService: IconService\n ) {\n this.iconService.registerAll([Add16, TrashCan16]);\n }\n\n public ngOnInit(): void {\n this.openSaveSubscription();\n\n this.prefillConfiguration$.pipe(take(1)).subscribe(prefill => {\n if (prefill) {\n PatchZaakPropertyOptions.filter(property => !!prefill[property])\n .forEach(property => this.addProperty(property));\n }\n });\n }\n\n public ngOnDestroy(): void {\n this._saveSubscription?.unsubscribe();\n }\n\n public onFormValueChanged(formValue: PatchZaakConfig): void {\n this._formValue$.next(formValue);\n this.handleValid(formValue);\n }\n\n public onPropertyChanged(property: PatchZaakProperties, value: any): void {\n this._properties.set(property, value);\n const formValue = this._formValue$.value;\n this._properties.forEach((value, key) => {\n formValue[key] = value;\n });\n this.onFormValueChanged(formValue);\n }\n\n public prefillValueFor(property: string, prefill: PatchZaakConfig): string | null {\n return (prefill != null) ? prefill[property] : null;\n }\n\n public translationKeyFor(property: string): string {\n return (property === 'description' ? 'omschrijving' : property);\n }\n\n public translationKeyForPropertyList(property: string): string {\n return (property === this.CASE_GEOMETRY_TYPE ? 'caseGeometry' : this.translationKeyFor(property));\n }\n\n public addProperty(property: PatchZaakProperties): void {\n this.propertyList.push(property);\n }\n\n public removeProperty(property: PatchZaakProperties): void {\n this.propertyList.splice(this.propertyList.indexOf(property), 1);\n this._properties.delete(property);\n this.onPropertyChanged(property, undefined);\n\n if (property === this.CASE_GEOMETRY_TYPE) {\n this.removeProperty(this.CASE_GEOMETRY_COORDINATES as PatchZaakProperties);\n }\n }\n\n public hasPropertyBeenAdded(property: PatchZaakProperties): boolean {\n return this.propertyList.indexOf(property) !== -1;\n }\n\n public dataTestIdFor(property: PatchZaakProperties): string {\n return this.DATA_TEST_ID_PREFIX + property\n }\n\n public presetPropertyWithValue(property: PatchZaakProperties, value: string): void {\n const input =\n document.querySelector<HTMLInputElement>(`[data-testid=\"${this.DATA_TEST_ID_PREFIX + property}\"]`);\n if (input) {\n input.value = value;\n input.dispatchEvent(new Event('input'));\n }\n }\n\n private handleValid(formValue: PatchZaakConfig): void {\n const isPropertyInvalid = this.propertyList.some(property => !!!formValue[property]);\n const valid = !isPropertyInvalid\n this._valid$.next(valid);\n this.valid.emit(valid);\n }\n\n private openSaveSubscription(): void {\n this._saveSubscription = this.save$?.subscribe(save => {\n combineLatest([this._formValue$, this._valid$])\n .pipe(take(1))\n .subscribe(([formValue, valid]) => {\n if (valid) {\n const payload: PatchZaakConfig = { };\n this.propertyList.forEach(property => (payload[property] = formValue[property]));\n this.configuration.emit(formValue);\n }\n });\n });\n }\n}\n","<ng-container\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null\n } as obs\"\n>\n <v-paragraph [margin]=\"true\" [italic]=\"true\">\n {{ 'patchZaakInformation' | pluginTranslate: pluginId | async }}\n </v-paragraph>\n\n <div class=\"row\">\n <div class=\"col-12\">\n\n <button\n cdsButton=\"primary\"\n [size]=\"'md'\"\n [cdsOverflowMenu]=\"addPropertyList\"\n [customPane]=\"true\"\n placement=\"bottom\"\n class=\"add-button\"\n >\n {{ 'addPatchZaakProperty' | pluginTranslate: pluginId | async }}\n <svg class=\"cds--btn__icon\" cdsIcon=\"add\" size=\"16\"></svg>\n </button>\n </div>\n </div>\n\n <v-form (valueChange)=\"onFormValueChanged($event)\" style=\"background-color: orange\">\n @for (property of propertyList; track property) {\n @if (property !== CASE_GEOMETRY_COORDINATES) {\n <div class=\"row\">\n <div class=\"col-11\">\n @if (property === CASE_GEOMETRY_TYPE) {\n <v-input\n [name]=\"CASE_GEOMETRY_TYPE\"\n [title]=\"translationKeyFor(CASE_GEOMETRY_TYPE) | pluginTranslate: pluginId | async\"\n [required]=\"true\"\n [defaultValue]=\"prefillValueFor(CASE_GEOMETRY_TYPE, obs.prefill)\"\n [margin]=\"false\"\n (valueChange)=\"onPropertyChanged(CASE_GEOMETRY_TYPE, $event)\"\n [dataTestId]=\"dataTestIdFor(CASE_GEOMETRY_TYPE)\"\n />\n <div class=\"presets\">\n <span>Presets:</span>\n <ng-template ngFor let-preset [ngForOf]=\"geometryTypes\" let-isFirst=\"first\">\n <ng-template [ngIf]=\"!isFirst\"> | </ng-template><a (click)=\"presetPropertyWithValue(CASE_GEOMETRY_TYPE, preset)\" class=\"preset\">{{ preset }}</a>\n </ng-template>\n </div>\n <v-input\n [name]=\"CASE_GEOMETRY_COORDINATES\"\n [title]=\"translationKeyFor(CASE_GEOMETRY_COORDINATES) | pluginTranslate: pluginId | async\"\n [tooltip]=\"translationKeyFor(`${CASE_GEOMETRY_COORDINATES}Tooltip`) | pluginTranslate: pluginId | async\"\n [required]=\"true\"\n [defaultValue]=\"prefillValueFor(CASE_GEOMETRY_COORDINATES, obs.prefill)\"\n [margin]=\"true\"\n (valueChange)=\"onPropertyChanged(CASE_GEOMETRY_COORDINATES, $event)\"\n [dataTestId]=\"dataTestIdFor(CASE_GEOMETRY_COORDINATES)\"\n />\n } @else if (property.includes('Date')) {\n <v-input\n [name]=\"property\"\n [title]=\"translationKeyFor(property) | pluginTranslate: pluginId | async\"\n [tooltip]=\"'dateformatTooltip' | pluginTranslate: pluginId | async\"\n [required]=\"true\"\n [defaultValue]=\"prefillValueFor(property, obs.prefill)\"\n [margin]=\"true\"\n [trim]=\"true\"\n (valueChange)=\"onPropertyChanged(property, $event)\"\n [dataTestId]=\"dataTestIdFor(property)\"\n ></v-input>\n } @else {\n <v-input\n [name]=\"property\"\n [title]=\"translationKeyFor(property) | pluginTranslate: pluginId | async\"\n [required]=\"true\"\n [defaultValue]=\"prefillValueFor(property, obs.prefill)\"\n [margin]=\"(property !== PAYMENT_INDICATION_TYPE)\"\n [trim]=\"true\"\n (valueChange)=\"onPropertyChanged(property, $event)\"\n [dataTestId]=\"dataTestIdFor(property)\"\n />\n @if (property === PAYMENT_INDICATION_TYPE) {\n <div class=\"presets\">\n <span>Presets:</span>\n <ng-template ngFor let-preset [ngForOf]=\"paymentIndicationTypes\" let-isFirst=\"first\">\n <ng-template [ngIf]=\"!isFirst\"> | </ng-template><a (click)=\"presetPropertyWithValue(PAYMENT_INDICATION_TYPE, preset)\" class=\"preset\">{{ preset }}</a>\n </ng-template>\n </div>\n }\n }\n </div>\n <div class=\"col-1\">\n <button\n class=\"btn btn-space delete-button\"\n (click)=\"removeProperty(property)\">\n <svg class=\"cds--btn__icon\" cdsIcon=\"trash-can\" size=\"16\"></svg>\n </button>\n </div>\n </div>\n }\n }\n </v-form>\n</ng-container>\n\n<ng-template #addPropertyList>\n @for (propertyOption of propertyOptions; track propertyOption) {\n @if (propertyOption !== CASE_GEOMETRY_COORDINATES) {\n <cds-overflow-menu-option\n *ngIf=\"!hasPropertyBeenAdded(propertyOption)\"\n (click)=\"addProperty(propertyOption)\"\n >\n {{ translationKeyForPropertyList(propertyOption) | pluginTranslate: pluginId | async }}\n </cds-overflow-menu-option>\n }\n }\n</ng-template>\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {NgModule} from '@angular/core';\nimport {CommonModule} from '@angular/common';\nimport {PluginTranslatePipeModule} from '../../pipes';\nimport {\n FormModule,\n InputLabelModule,\n InputModule,\n ParagraphModule,\n RadioModule,\n SelectModule,\n} from '@valtimo/components';\nimport {\n ButtonModule,\n DatePickerInputModule,\n DialogModule,\n IconModule,\n LoadingModule,\n ToggleModule,\n} from 'carbon-components-angular';\nimport {TranslateModule} from '@ngx-translate/core';\nimport {ZakenApiConfigurationComponent} from './components/zaken-api-configuration/zaken-api-configuration.component';\nimport {LinkDocumentToZaakConfigurationComponent} from './components/link-document-to-zaak/link-document-to-zaak-configuration.component';\nimport {LinkUploadedDocumentToZaakConfigurationComponent} from './components/link-uploaded-document-to-zaak/link-uploaded-document-to-zaak-configuration.component';\nimport {SetZaakStatusConfigurationComponent} from './components/set-zaak-status/set-zaak-status-configuration.component';\nimport {CreateZaakResultaatConfigurationComponent} from './components/create-zaak-resultaat/create-zaak-resultaat-configuration.component';\nimport {CreateMedewerkerZaakRolComponent} from './components/create-medewerker-zaak-rol/create-medewerker-zaak-rol.component';\nimport {CreateNatuurlijkPersoonZaakRolComponent} from './components/create-natuurlijk-persoon-zaak-rol/create-natuurlijk-persoon-zaak-rol.component';\nimport {CreateNietNatuurlijkPersoonZaakRolComponent} from './components/create-niet-natuurlijk-persoon-zaak-rol/create-niet-natuurlijk-persoon-zaak-rol.component';\nimport {CreateOrganisatorischeEenheidZaakRolComponent} from './components/create-organisatorische-eenheid-zaak-rol/create-organisatorische-eenheid-zaak-rol.component';\nimport {CreateVestigingZaakRolComponent} from './components/create-vestiging-zaak-rol/create-vestiging-zaak-rol.component';\nimport {CreateZaakConfigurationComponent} from './components/create-zaak/create-zaak-configuration.component';\nimport {SetZaakopschortingComponent} from './components/set-zaakopschorting/set-zaakopschorting.component';\nimport {StartHersteltermijnConfigurationComponent} from './components/start-hersteltermijn/start-hersteltermijn-configuration.component';\nimport {EndHersteltermijnComponent} from './components/end-hersteltermijn/end-hersteltermijn.component';\nimport {CreateZaakeigenschapComponent} from './components/create-zaakeigenschap/create-zaakeigenschap.component';\nimport {UpdateZaakeigenschapComponent} from './components/update-zaakeigenschap/update-zaakeigenschap.component';\nimport {DeleteZaakeigenschapComponent} from './components/delete-zaakeigenschap/delete-zaakeigenschap.component';\nimport {RelateerZakenComponent} from './components/relateer-zaken/relateer-zaken.component';\nimport {PatchZaakConfigurationComponent} from './components/patch-zaak/patch-zaak-configuration.component';\n\n@NgModule({\n declarations: [\n ZakenApiConfigurationComponent,\n LinkDocumentToZaakConfigurationComponent,\n LinkUploadedDocumentToZaakConfigurationComponent,\n SetZaakStatusConfigurationComponent,\n CreateZaakResultaatConfigurationComponent,\n CreateMedewerkerZaakRolComponent,\n CreateNatuurlijkPersoonZaakRolComponent,\n CreateNietNatuurlijkPersoonZaakRolComponent,\n CreateOrganisatorischeEenheidZaakRolComponent,\n CreateVestigingZaakRolComponent,\n CreateZaakConfigurationComponent,\n SetZaakopschortingComponent,\n StartHersteltermijnConfigurationComponent,\n EndHersteltermijnComponent,\n CreateZaakeigenschapComponent,\n UpdateZaakeigenschapComponent,\n DeleteZaakeigenschapComponent,\n RelateerZakenComponent,\n PatchZaakConfigurationComponent,\n ],\n imports: [\n CommonModule,\n PluginTranslatePipeModule,\n FormModule,\n InputModule,\n SelectModule,\n ParagraphModule,\n ToggleModule,\n InputLabelModule,\n RadioModule,\n LoadingModule,\n ButtonModule,\n DialogModule,\n IconModule,\n TranslateModule,\n DatePickerInputModule,\n ],\n exports: [\n ZakenApiConfigurationComponent,\n LinkDocumentToZaakConfigurationComponent,\n LinkUploadedDocumentToZaakConfigurationComponent,\n SetZaakStatusConfigurationComponent,\n CreateZaakResultaatConfigurationComponent,\n CreateZaakConfigurationComponent,\n CreateMedewerkerZaakRolComponent,\n CreateNatuurlijkPersoonZaakRolComponent,\n CreateNietNatuurlijkPersoonZaakRolComponent,\n CreateOrganisatorischeEenheidZaakRolComponent,\n CreateVestigingZaakRolComponent,\n SetZaakopschortingComponent,\n StartHersteltermijnConfigurationComponent,\n EndHersteltermijnComponent,\n CreateZaakeigenschapComponent,\n UpdateZaakeigenschapComponent,\n DeleteZaakeigenschapComponent,\n RelateerZakenComponent,\n ],\n})\nexport class ZakenApiPluginModule {}\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nconst ZAKEN_API_PLUGIN_LOGO_BASE64 =\n 'data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB2aWV3Qm94PSIxNTAgMTUgOTYgNTAiPjxkZWZzPjxwYXRoIGlkPSJhIiBkPSJNNTcuMzk2LjIxMUguMjgxdjQ5LjQwNWg1Ny4xMTVWLjIxeiIvPjxwYXRoIGlkPSJjIiBkPSJNNTcuNTY0LjIxMUguNDQ4djQ5LjQwNWg1Ny4xMTZWLjIxeiIvPjwvZGVmcz48ZyBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDE4Ny45MzEgMTUpIj48bWFzayBpZD0iYiIgZmlsbD0iI2ZmZiI+PHVzZSB4bGluazpocmVmPSIjYSIvPjwvbWFzaz48cGF0aCBkPSJNNTcuMzk2IDI0LjkxM2MwLTEzLjU3My0xMS4wMDQtMjQuNjIyLTI0LjU2LTI0LjctLjAyNCAwLS4wNDgtLjAwMy0uMDczLS4wMDNIMjQuNzVhMi41MDQgMi41MDQgMCAxIDAgMCA1LjAxaDcuOTQ1YzEwLjg1OCAwIDE5LjY5NCA4LjgzNCAxOS42OTQgMTkuNjkzIDAgMTAuODYtOC44MzYgMTkuNjk0LTE5LjY5NCAxOS42OTRINS4yODl2LTQuNTc4SC4yODF2OS41ODdoMzIuNDgydi0uMDAxYzEzLjU5LS4wNCAyNC42MzMtMTEuMTA1IDI0LjYzMy0yNC43MDIiIGZpbGw9IiMwMDlGRTQiIG1hc2s9InVybCgjYikiLz48L2c+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTUwIDE1KSI+PG1hc2sgaWQ9ImQiIGZpbGw9IiNmZmYiPjx1c2UgeGxpbms6aHJlZj0iI2MiLz48L21hc2s+PHBhdGggZD0iTS40NDggMjQuOTEzYzAgMTMuNTczIDExLjAwNCAyNC42MjIgMjQuNTYgMjQuNy4wMjQgMCAuMDQ4LjAwMy4wNzMuMDAzaDguMDE0YTIuNTA0IDIuNTA0IDAgMSAwIDAtNS4wMDloLTcuOTQ0Yy0xMC44NTkgMC0xOS42OTQtOC44MzQtMTkuNjk0LTE5LjY5NCAwLTEwLjg1OSA4LjgzNS0xOS42OTQgMTkuNjk0LTE5LjY5NGgyNy40MDR2NC41NzhoNS4wMDlWLjIxSDI1LjA4di4wMDFDMTEuNDkuMjUxLjQ0OCAxMS4zMTYuNDQ4IDI0LjkxMyIgZmlsbD0iIzAwOUZFNCIgbWFzaz0idXJsKCNkKSIvPjwvZz48cGF0aCBmaWxsPSIjMDA0Mzg4IiBkPSJNMTc2LjAxNyA0Mi4xMTZsLTQuNjc4LTEyLjQwMWgtNS42NjRsOC4xNCAyMC4zNjZoMy45MjFsOC40MDEtMjAuMzY2aC01LjM2M3ptMjYuNTQyLjU1OGwtNy45MjgtMTIuOTU5aC02LjQxM3YyMC4zNjdoNC45OTdWMzYuNzg3bDguMTUgMTMuMjk1aDYuMTlWMjkuNzE1aC00Ljk5NnptMTkuMzIzLTQuOTR2NC42NjNoMy41Mzd2Mi42NzdhOS43NzMgOS43NzMgMCAwIDEtMS40MTQuNTRjLS42NTIuMjAzLTEuNDQzLjMwNi0yLjM1NC4zMDYtLjg4IDAtMS42ODYtLjE1LTIuMzk0LS40NDhhNS4zMzggNS4zMzggMCAwIDEtMS44MjQtMS4yNDcgNS41MjIgNS41MjIgMCAwIDEtMS4xNy0xLjg5NGMtLjI3Mi0uNzI5LS40MS0xLjU0OS0uNDEtMi40MzMgMC0uODY3LjEzOC0xLjY4MS40MS0yLjQyYTUuNTAyIDUuNTAyIDAgMCAxIDEuMTctMS45MDggNS4zNzQgNS4zNzQgMCAwIDEgMS44MjQtMS4yNDZjLjcwOS0uMjk4IDEuNTE0LS40NDkgMi4zOTQtLjQ0OSAxLjA2NCAwIDEuOTU5LjE1MSAyLjY1Ny40NDkuNy4yOTcgMS4zMzguNzQgMS44OTggMS4zMThsLjI0Mi4yNDggMy41MTUtMy44MzUtLjIzNy0uMjIxYTguOTIzIDguOTIzIDAgMCAwLTMuNjI3LTIuMDM4Yy0xLjM1LS4zODYtMi44NDctLjU4My00LjQ0OC0uNTgzLTEuNTcyIDAtMy4wNDQuMjUtNC4zNzMuNzQ1YTEwLjEzOSAxMC4xMzkgMCAwIDAtMy40ODEgMi4xNDNjLS45NzUuOTI4LTEuNzQ2IDIuMDY2LTIuMjkgMy4zODQtLjU0MyAxLjMxNS0uODE5IDIuOC0uODE5IDQuNDEzIDAgMS42MTMuMjc2IDMuMDk4LjgyIDQuNDEzLjU0NSAxLjMxOSAxLjMxNCAyLjQ1NyAyLjI4OSAzLjM4NC45NzQuOTI2IDIuMTQ2IDEuNjQ3IDMuNDggMi4xNDMgMS4zMy40OTQgMi44MDIuNzQ0IDQuMzc0Ljc0NCAxLjQ2NCAwIDIuOTItLjE1MiA0LjMzLS40NTJhMTYuMDU0IDE2LjA1NCAwIDAgMCA0LjA5LTEuNDc4bC4xNzctLjA5VjM3LjczM2gtOC4zNjZ6Ii8+PC9nPjwvc3ZnPg==';\n\nexport {ZAKEN_API_PLUGIN_LOGO_BASE64};\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport * from './zaken-api-plugin-logo';\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {PluginSpecification} from '../../models';\nimport {ZAKEN_API_PLUGIN_LOGO_BASE64} from './assets';\nimport {LinkDocumentToZaakConfigurationComponent} from './components/link-document-to-zaak/link-document-to-zaak-configuration.component';\nimport {ZakenApiConfigurationComponent} from './components/zaken-api-configuration/zaken-api-configuration.component';\nimport {LinkUploadedDocumentToZaakConfigurationComponent} from './components/link-uploaded-document-to-zaak/link-uploaded-document-to-zaak-configuration.component';\nimport {SetZaakStatusConfigurationComponent} from './components/set-zaak-status/set-zaak-status-configuration.component';\nimport {CreateZaakResultaatConfigurationComponent} from './components/create-zaak-resultaat/create-zaak-resultaat-configuration.component';\nimport {CreateNatuurlijkPersoonZaakRolComponent} from './components/create-natuurlijk-persoon-zaak-rol/create-natuurlijk-persoon-zaak-rol.component';\nimport {CreateNietNatuurlijkPersoonZaakRolComponent} from './components/create-niet-natuurlijk-persoon-zaak-rol/create-niet-natuurlijk-persoon-zaak-rol.component';\nimport {CreateZaakConfigurationComponent} from './components/create-zaak/create-zaak-configuration.component';\nimport {SetZaakopschortingComponent} from './components/set-zaakopschorting/set-zaakopschorting.component';\nimport {StartHersteltermijnConfigurationComponent} from './components/start-hersteltermijn/start-hersteltermijn-configuration.component';\nimport {EndHersteltermijnComponent} from './components/end-hersteltermijn/end-hersteltermijn.component';\nimport {CreateZaakeigenschapComponent} from './components/create-zaakeigenschap/create-zaakeigenschap.component';\nimport {UpdateZaakeigenschapComponent} from './components/update-zaakeigenschap/update-zaakeigenschap.component';\nimport {DeleteZaakeigenschapComponent} from './components/delete-zaakeigenschap/delete-zaakeigenschap.component';\nimport {RelateerZakenComponent} from './components/relateer-zaken/relateer-zaken.component';\nimport {\n CreateOrganisatorischeEenheidZaakRolComponent\n} from './components/create-organisatorische-eenheid-zaak-rol/create-organisatorische-eenheid-zaak-rol.component';\nimport {\n CreateMedewerkerZaakRolComponent\n} from './components/create-medewerker-zaak-rol/create-medewerker-zaak-rol.component';\nimport {\n CreateVestigingZaakRolComponent\n} from './components/create-vestiging-zaak-rol/create-vestiging-zaak-rol.component';\nimport {PatchZaakConfigurationComponent} from './components/patch-zaak/patch-zaak-configuration.component';\n\nconst zakenApiPluginSpecification: PluginSpecification = {\n pluginId: 'zakenapi',\n pluginConfigurationComponent: ZakenApiConfigurationComponent,\n pluginLogoBase64: ZAKEN_API_PLUGIN_LOGO_BASE64,\n functionConfigurationComponents: {\n 'link-document-to-zaak': LinkDocumentToZaakConfigurationComponent,\n 'link-uploaded-document-to-zaak': LinkUploadedDocumentToZaakConfigurationComponent,\n 'set-zaakstatus': SetZaakStatusConfigurationComponent,\n 'create-zaakresultaat': CreateZaakResultaatConfigurationComponent,\n 'create-zaak': CreateZaakConfigurationComponent,\n 'create-natuurlijk-persoon-zaak-rol': CreateNatuurlijkPersoonZaakRolComponent,\n 'create-niet-natuurlijk-persoon-zaak-rol': CreateNietNatuurlijkPersoonZaakRolComponent,\n 'create-medewerker-zaak-rol': CreateMedewerkerZaakRolComponent,\n 'create-organisatorische-eenheid-zaak-rol': CreateOrganisatorischeEenheidZaakRolComponent,\n 'create-vestiging-zaak-rol': CreateVestigingZaakRolComponent,\n 'set-zaakopschorting': SetZaakopschortingComponent,\n 'start-hersteltermijn': StartHersteltermijnConfigurationComponent,\n 'end-hersteltermijn': EndHersteltermijnComponent,\n 'create-zaakeigenschap': CreateZaakeigenschapComponent,\n 'update-zaakeigenschap': UpdateZaakeigenschapComponent,\n 'delete-zaakeigenschap': DeleteZaakeigenschapComponent,\n 'relateer-zaken': RelateerZakenComponent,\n 'patch-zaak': PatchZaakConfigurationComponent\n },\n pluginTranslations: {\n nl: {\n title: 'Zaken API',\n url: 'Zaken API URL',\n urlTooltip:\n 'In dit veld moet de verwijzing komen naar de REST api van Open zaak. Deze url moet dus eindigen op /zaken/api/v1/',\n description:\n 'De API ondersteunt het opslaan en het naar andere applicaties ontsluiten van gegevens over alle gemeentelijke zaken, van elk type.',\n 'link-document-to-zaak': 'Koppel document aan zaak',\n 'link-uploaded-document-to-zaak': 'Koppel geupload document aan zaak',\n linkUploadedDocumentToZaakMessage:\n 'Het koppelen van een geupload document aan een zaak heeft geen configuratie nodig.',\n configurationTitle: 'Configuratienaam',\n configurationTitleTooltip:\n 'Onder deze naam zal de plugin te herkennen zijn in de rest van de applicatie',\n documentUrl: 'URL naar het document',\n documentUrlTooltip:\n 'Dit veld ondersteunt URLs en proces variabelen. Gebruik pv:variable om een proces variabele uit te lezen',\n titel: 'Documenttitel',\n titelTooltip:\n '(Optioneel) Vult het titel veld in de metadata van de link tussen de Zaak en het Document',\n beschrijving: 'Documentbeschrijving',\n beschrijvingTooltip:\n '(Optioneel) Vult het beschrijving veld in de metadata van de link tussen de Zaak en het Document',\n authenticationPluginConfiguration: 'Configuratie authenticatie-plug-in',\n authenticationPluginConfigurationTooltip:\n 'Selecteer de plugin die de authenticatie kan afhandelen. Wanneer de selectiebox leeg blijft zal de authenticatie plugin (bv. OpenZaak) eerst aangemaakt moeten worden',\n linkDocumentInformation:\n 'Deze actie koppelt een document uit de Documenten API aan de zaak die bij het dossier hoort.',\n 'create-zaak': 'Zaak aanmaken',\n createZaakInformation:\n 'Deze actie creëert een zaak in de Zaken API en koppeld de nieuwe zaak aan het dossier.',\n rsin: 'RSIN',\n rsinTooltip: 'Rechtspersonen en Samenwerkingsverbanden Informatienummer',\n verlengingsduur: 'Aantal dagen dat de einddatum wordt verlengd (in cijfers)',\n toelichtingVerlenging: 'Reden voor verlenging',\n toelichtingOpschorting: 'Reden voor opschorting',\n zaakType: 'Zaaktype',\n zaakTypeUrl: 'Zaaktype-URL',\n zaakTypeTooltip: 'In dit veld moet de verwijzing komen naar de type zaak.',\n zaakTypeSelectTooltip:\n 'In dit veld moet de verwijzing komen naar de type zaak. Als er slechts één zaaktype beschikbaar is, wordt deze standaard geselecteerd.',\n inputTypeZaakTypeToggle: 'Invoertype Zaaktype-URL',\n text: 'Tekst',\n selection: 'Selectie',\n 'create-natuurlijk-persoon-zaak-rol': 'Zaakrol aanmaken - Natuurlijk persoon',\n 'create-niet-natuurlijk-persoon-zaak-rol': 'Zaakrol aanmaken - Niet natuurlijk persoon',\n 'create-medewerker-zaak-rol': 'Zaakrol aanmaken - Medewerker',\n 'create-organisatorische-eenheid-zaak-rol': 'Zaakrol aanmaken - Organisatorische eenheid',\n 'create-vestiging-zaak-rol': 'Zaakrol aanmaken - Vestiging',\n 'set-zaakopschorting': 'Schort een zaak op',\n 'start-hersteltermijn': 'Start hersteltermijn',\n startRecoveryPeriodInformation:\n 'Deze actie start een hersteltermijn voor de zaak die aan dit proces is gekoppeld.',\n maxDurationInDays: 'Maximale duur in dagen',\n maxDurationInDaysTooltip:\n 'De ingevoerde waarde vertegenwoordigt de maximale duur van de hersteltermijn in dagen.',\n 'end-hersteltermijn': 'Beëindig hersteltermijn',\n endHersteltermijnInformation: 'Beëindigt de momenteel lopende hersteltermijn van de Zaak',\n 'create-zaakeigenschap': 'Creëer zaakeigenschap',\n 'update-zaakeigenschap': 'Bijwerken zaakeigenschap',\n 'delete-zaakeigenschap': 'Verwijder zaakeigenschap',\n eigenschapUrl: 'Eigenschap URL',\n eigenschapUrlTooltip: 'URL-referentie naar de eigenschap.',\n eigenschapValue: 'Eigenschap waarde',\n eigenschapValueTooltip: 'De waarde van de zaakeigenschap',\n eigenschapUrlSelect: 'Eigenschap',\n eigenschapUrlSelectTooltip: 'Selecteer een eigenschap.',\n inputTypeEigenschapToggle: 'Invoertype eigenschap-URL',\n caseDefinitionTooltipEigenschap:\n 'Selecteer de dossierdefinitie waarvan u een eigenschap wilt selecteren. Als er slechts één eigenschap beschikbaar is, wordt deze standaard geselecteerd.',\n roltypeUrl: 'Roltype URL',\n rolToelichting: 'Roltoelichting',\n inpBsn: 'Initiator BSN',\n anpIdentificatie: 'Ander natuurlijk persoon identificatie',\n annIdentificatie: 'Ander niet natuurlijk persoon identificatie',\n annIdentificatieTooltip:\n 'Het door de gemeente uitgegeven unieke nummer voor een ander niet-natuurlijk persoon (annIdentificatie). (Max. 17 tekens)',\n inpA_nummer: 'Administratienummer persoon',\n innNnpId: 'Niet natuurlijk persoonsnummer',\n innNnpIdTooltip:\n 'Het door een kamer toegekend uniek nummer voor de ingeschreven niet-natuurlijk persoon (innNnpId). (Max. 9 tekens)',\n roltypeUrlTooltip: 'URL naar een roltype binnen het Zaaktype van een Zaak',\n rolToelichtingTooltip: 'Omschrijving van de aard van de rol',\n inpBsnTooltip: 'Het burgerservicenummer van de initiator (Numeriek, max 9 tekens)',\n anpIdentificatieTooltip:\n 'Het door de gemeente uitgegeven unieke nummer voor een ander natuurlijk persoon. (Max. 17 tekens)',\n inpA_nummerTooltip: 'Het administratienummer van de persoon, bedoeld in de Wet BRP. (Numeriek, max. 10 tekens)',\n 'set-zaakstatus': 'Zaakstatus aanmaken',\n statustypeUrl: 'Zaakstatus type URL',\n statustypeUrlTooltip: 'URL-referentie naar het statustype.',\n statustoelichting: 'Zaakstatus toelichting',\n statustoelichtingTooltip:\n 'Een, voor de initiator van de zaak relevante, toelichting op de status van een zaak.',\n 'create-zaakresultaat': 'Zaakresultaat aanmaken',\n resultaattypeUrl: 'Zaakresultaat type URL',\n resultaattypeUrlTooltip: 'URL-referentie naar het resultaattype.',\n resultaattoelichting: 'Zaakresultaat toelichting',\n resultaattoelichtingTooltip: 'Een toelichting op wat het resultaat van de zaak inhoudt.',\n caseDefinition: 'Dossierdefinitie',\n caseDefinitionTooltip:\n 'Selecteer de dossierdefinitie waarvan u een Zaakstatus-type wilt selecteren. Als er slechts één statustype beschikbaar is, wordt deze standaard geselecteerd.',\n caseDefinitionTooltipResultaat:\n 'Selecteer de dossierdefinitie waarvan u een Zaakresultaat-type wilt selecteren. Als er slechts één resultaattype beschikbaar is, wordt deze standaard geselecteerd.',\n statustypeUrlSelect: 'Zaakstatus',\n statustypeUrlSelectTooltip: 'Selecteer het statustype.',\n resultaattypeUrlSelect: 'Zaakresultaat',\n resultaattypeUrlSelectTooltip: 'Selecteer het resultaattype.',\n inputTypeZaakStatusToggle: 'Invoertype Zaakstatus-URL',\n inputTypeZaakResultaatToggle: 'Invoertype Zaakresultaat-URL',\n addZaakProperty: 'Voeg nieuwe parameter toe',\n 'relateer-zaken': 'Relateer zaken',\n teRelaterenZaakUri: 'URL naar de te relateren zaak',\n aardRelatie: 'Aard van de relatie',\n 'option-vervolg': 'De andere zaak gaf aanleiding tot het starten van de onderhanden zaak.',\n 'option-onderwerp':\n 'De andere zaak is relevant voor cq. is onderwerp van de onderhanden zaak.',\n 'option-bijdrage':\n 'Aan het bereiken van de uitkomst van de andere zaak levert de onderhanden zaak een bijdrage.',\n identificatie: 'Identificatie',\n identificatieMedewerkerTooltip: 'Een korte unieke aanduiding van de medewerker. (Max. 24 tekens)',\n identificatieOrganisatorischeEenheidTooltip: 'Een korte identificatie van de organisatorische eenheid. (Max. 24 tekens)',\n voorletters: 'Voorletters',\n voorlettersTooltip: 'De verzameling letters die gevormd wordt door de eerste letter van alle in volgorde voorkomende voornamen. (Max. 20 tekens)',\n achternaam: 'Achternaam',\n achternaamTooltip: 'De achternaam zoals de medewerker die in het dagelijkse verkeer gebruikt. (Max. 200 tekens)',\n voorvoegselAchternaam: 'Achternaam voorvoegsel',\n voorvoegselAchternaamTooltip: 'Deel van de geslachtsnaam dat voorkomt in Tabel 36 (GBA), voorvoegseltabel, en door een spatie van de geslachtsnaam is. (Max. 10 tekens)',\n afwijkendeNaamBetrokkene: 'Afwijkende naam betrokkene',\n afwijkendeNaamBetrokkeneTooltip: 'De naam van de betrokkene waaronder deze in relatie tot de zaak aangesproken wil worden. (Max. 625 tekens)',\n indicatieMachtiging: 'Indicatie machtiging',\n indicatieMachtigingTooltip: 'Het type machtiging.',\n nvt: 'N.v.t',\n gemachtigde: 'Gemachtigde',\n machtiginggever: 'Machtiginggever',\n naam: 'Naam',\n naamTooltip: 'De feitelijke naam van de organisatorische eenheid.',\n isGehuisvestIn: 'Is gehuisvest in',\n isGehuisvestInTooltip: 'Locatie waar de organisatorische eenheid gehuisvest is. (Max. 24 tekens)',\n kvkNummer: 'KVK-nummer',\n kvkNummerTooltip: 'Een uniek nummer toegekend door de Kamer van Koophandel. (Max. 8 tekens)',\n vestigingsNummer: 'Vestigingsnummer',\n vestigingsNummerTooltip: 'Een korte unieke aanduiding van de Vestiging. (Max. 24 tekens)',\n 'patch-zaak': 'Zaak bijwerken',\n patchZaakInformation: 'Deze actie maakt het mogelijk eigenschappen van de Zaak in de Zaken API gekoppeld aan het dossier bij te werken.',\n addPatchZaakProperty: 'Voeg parameter toe',\n dateformatTooltip:\n 'Een datum in formaat van yyyy-mm-dd. Kan ook een verwijzing zijn naar het document of process, bijvoorbeeld doc:customer/startDatum of pv:startDatum',\n omschrijving: 'Omschrijving',\n explanation: 'Toelichting',\n plannedEndDate: 'Geplande eind datum',\n finalDeliveryDate: 'Laatste opleveringsdatum',\n publicationDate: 'Publicatiedatum',\n communicationChannel: 'Communicatiekanaal (URL)',\n communicationChannelName: 'Communicatiekanaal naam',\n paymentIndication: 'Betalingsindicatie',\n lastPaymentDate: 'Laatste betaaldatum',\n caseGeometry: 'Zaakgeometrie',\n caseGeometryType: 'Zaakgeometrie type',\n caseGeometryCoordinates: 'Zaakgeometrie coördinaten',\n caseGeometryCoordinatesTooltip: 'Lijst van punten, bv [0.0, 1.0]',\n mainCase: 'Hoofdzaak',\n archiveActionDate: 'Archief actiedatum',\n startDateRetentionPeriod: 'Startdatum bewaartermijn'\n },\n en: {\n title: 'Zaken API',\n url: 'URL',\n urlTooltip:\n 'This field must contain the URL to the rest API of Open Zaak, therefore this URL should end with /zaken/api/v1/',\n description:\n 'The API supports the storage and disclosure of data on all municipal matters to other applications, of all types.',\n 'link-document-to-zaak': 'Link document to zaak',\n 'link-uploaded-document-to-zaak': 'Link uploaded document to zaak',\n linkUploadedDocumentToZaakMessage:\n 'Linking an uploaded document to a zaak requires no configuration.',\n configurationTitle: 'Configuration name',\n configurationTitleTooltip:\n 'With this name the plugin will be recognizable in the rest of the application',\n documentUrl: 'URL to the document',\n documentUrlTooltip:\n 'This field supports URLs and process variables. Use pv:variable to read a process variable',\n titel: 'Document title',\n titelTooltip:\n '(Optional) Fills the title field in the metadata of the link between the Zaak and the Document',\n beschrijving: 'Document description',\n beschrijvingTooltip:\n '(Optional) Fills the description field in the metadata of the link between the Zaak and the Document',\n authenticationPluginConfiguration: 'Authentication plugin configuration',\n authenticationPluginConfigurationTooltip:\n 'Select the plugin that can handle the authentication. If the selection box remains empty, the authentication plugin (e.g. OpenZaak) will have to be created first',\n linkDocumentInformation:\n 'This action links a document from the Documents API to the zaak associated with the case.',\n 'create-zaak': 'Create zaak',\n createZaakInformation:\n 'This action creates a zaak in the Zaken API and links the new zaak with the case.',\n rsin: 'RSIN',\n rsinTooltip: 'Legal Entities and Partnerships Information Number',\n verlengingsduur: 'Amount of days to prolong (in numbers)',\n toelichtingVerlenging: 'Reason for prolonging',\n toelichtingOpschorting: 'Reason for suspending',\n zaakType: 'Zaaktype',\n zaakTypeUrl: 'Zaaktype URL',\n zaakTypeTooltip: 'In this field the reference must be made to the type of the zaak.',\n zaakTypeSelectTooltip:\n 'In this field the reference must be made to the type of the zaak. If only one zaaktype is available, it will be selected by default.',\n inputTypeZaakTypeToggle: 'Input type Zaaktype-URL',\n text: 'Text',\n selection: 'Selection',\n 'create-natuurlijk-persoon-zaak-rol': 'Create Zaakrol - natural person',\n 'create-niet-natuurlijk-persoon-zaak-rol': 'Create Zaakrol - not a natural person',\n 'create-medewerker-zaak-rol': 'Create Zaakrol - Employee',\n 'create-organisatorische-eenheid-zaak-rol': 'Create Zaakrol - Organizational unit',\n 'create-vestiging-zaak-rol': 'Create Zaakrol - Branch',\n 'set-zaakopschorting': 'Suspend case',\n 'start-hersteltermijn': 'Start recovery period',\n startHersteltermijnInformation:\n 'This action initiates a recovery period for the case associated with this process.',\n maxDurationInDays: 'Maximum duration in days',\n maxDurationInDaysTooltip:\n 'The entered value represents the maximum duration of the recovery period in days.',\n 'end-hersteltermijn': 'End recovery period',\n endHersteltermijnInformation: 'Ends the currently running recovery period of the Zaak',\n 'create-zaakeigenschap': 'Create zaakeigenschap',\n 'update-zaakeigenschap': 'Update zaakeigenschap',\n 'delete-zaakeigenschap': 'Delete zaakeigenschap',\n eigenschapUrl: 'Property URL',\n eigenschapUrlTooltip: 'URL reference to the eigenschap.',\n eigenschapValue: 'Eigenschap value',\n eigenschapValueTooltip: 'The value of the zaakeigenschap',\n eigenschapUrlSelect: 'Eigenschap',\n eigenschapUrlSelectTooltip: 'Select a eigenschap.',\n inputTypeEigenschapToggle: 'Input type eigenschap-URL',\n caseDefinitionTooltipEigenschap:\n 'Select the case definition from which you want to select an eigenschap. If only one eigenschap is available, it will be selected by default.',\n roltypeUrl: 'Role type URL',\n rolToelichting: 'Role explanation',\n inpBsn: 'Initiator BSN',\n anpIdentificatie: 'Other natural person identification',\n annIdentificatie: 'Other not natural person identification',\n annIdentificatieTooltip:\n 'The unique number issued by the municipality for another non-natural person (annIdentificatie). (Max. 17 characters)',\n inpA_nummer: 'Administration number person',\n innNnpId: 'Not a natural personal number',\n innNnpIdTooltip:\n 'The unique number assigned by the government for the registered non-natural person (innNnpId). (Max. 9 characters)',\n roltypeUrlTooltip: 'URL to a role type within the Zaaktype of a Zaak',\n rolToelichtingTooltip: 'Description of the nature of the role',\n inpBsnTooltip: \"The initiator's social security number\",\n anpIdentificatieTooltip:\n 'The unique number issued by the municipality for another natural person. (Max. 17 characters)',\n inpA_nummerTooltip: 'The administration number of the person, as referred to in the Wet BRP. (Numeric, max. 10 characters)',\n 'set-zaakstatus': 'Create zaakstatus',\n statustypeUrl: 'Zaakstatus type URL',\n statustypeUrlTooltip: 'URL reference to the status type.',\n statustoelichting: 'Zaakstatus explanation',\n statustoelichtingTooltip:\n 'An explanation of the status of a zaak that is relevant to the initiator of the zaak.',\n 'create-zaakresultaat': 'Create Zaakresultaat',\n resultaattypeUrl: 'Zaakresultaat type URL',\n resultaattypeUrlTooltip: 'URL reference to the resultaat type.',\n resultaattoelichting: 'Zaakresultaat explanation',\n resultaattoelichtingTooltip: 'An explanation of what the result of the zaak means.',\n caseDefinition: 'Case definition',\n caseDefinitionTooltip:\n 'Select the case definition from which you want to select a Zaakstatus type. If only one status type is available, it will be selected by default.',\n caseDefinitionTooltipResultaat:\n 'Select the case definition from which you want to select a Resultaat type. If only one resultaat type is available, it will be selected by default.',\n statustypeUrlSelect: 'Zaakstatus',\n statustypeUrlSelectTooltip: 'Select the status type.',\n resultaattypeUrlSelect: 'Zaakresultaat',\n resultaattypeUrlSelectTooltip: 'Select the resultaat type.',\n inputTypeZaakStatusToggle: 'Input type Zaakstatus-URL',\n inputTypeZaakResultaatToggle: 'Input type Zaakresultaat-URL',\n addZaakProperty: 'Add new case property',\n 'relateer-zaken': 'Add relation between two Zaken',\n teRelaterenZaakUri: 'URL to the Zaak to be related',\n aardRelatie: 'Nature of the relationship',\n 'option-vervolg': 'The other Zaak prompted the start of the current Zaak.',\n 'option-onderwerp': 'The other Zaak is relevant to or the subject of the current Zaak.',\n 'option-bijdrage': 'The current Zaak contributes to the outcome of the other Zaak.',\n identificatie: 'Identification',\n identificatieMedewerkerTooltip: 'A short unique designation of the employee. (Max. 24 characters)',\n identificatieOrganisatorischeEenheidTooltip: 'A short identification of the organizational unit. (Max. 24 characters)',\n voorletters: 'Initials',\n voorlettersTooltip: 'The collection of letters formed by the first letter of all forenames in order. (Max. 20 characters)',\n achternaam: 'Last name',\n achternaamTooltip: 'The last name as used by the employee in daily life. (Max. 200 characters)',\n voorvoegselAchternaam: 'Prefix to last name',\n voorvoegselAchternaamTooltip: 'Part of the genus name that appears in Table 36 (GBA), prefix table, and is separated from the genus name by a space. (Max. 10 characters)',\n afwijkendeNaamBetrokkene: 'Alternative name of the person involved',\n afwijkendeNaamBetrokkeneTooltip: 'The name of the person involved under which they wish to be addressed in relation to the case. (Max. 625 characters)',\n indicatieMachtiging: 'Authorization indication',\n indicatieMachtigingTooltip: 'The type that represents the authorization indication',\n nvt: 'N/A',\n gemachtigde: 'Authorized representative',\n machtiginggever: 'Authorizing party',\n naam: 'Name',\n naamTooltip: 'The actual name of the organizational unit.',\n isGehuisvestIn: 'Is housed in',\n isGehuisvestInTooltip: 'Location where the organizational unit is housed. (Max. 24 characters)',\n kvkNummer: 'Chamber of Commerce number',\n kvkNummerTooltip: 'A unique number assigned by the Chamber of Commerce. (Max. 8 characters)',\n vestigingsNummer: 'Branch number',\n vestigingsNummerTooltip: 'A short unique designation of the branch. (Max. 24 characters)',\n 'patch-zaak': 'Update zaak',\n patchZaakInformation: 'This action allows you to update properties of a Zaak in the Zaken API which is linked to the case.',\n dateformatTooltip:\n 'A date in the format of yyyy-mm-dd. Can also be a reference to the document or process, for example doc:customer/startDate or pv:startDate',\n addPatchZaakProperty: 'Add property',\n omschrijving: 'Description',\n explanation: 'Explanation',\n plannedEndDate: 'Planned end date',\n finalDeliveryDate: 'Final delivery date',\n publicationDate: 'Publication date',\n communicationChannel: 'Communication channel (URL)',\n communicationChannelName: 'Communication channel name',\n paymentIndication: 'Payment indication',\n lastPaymentDate: 'Last payment date',\n caseGeometry: 'Case geometry',\n caseGeometryType: 'Case geometry type',\n caseGeometryCoordinates: 'Case geometry coordinates',\n caseGeometryCoordinatesTooltip: 'List of points, i.e. [0.0, 1.0]',\n mainCase: 'Main case',\n archiveActionDate: 'Archive action date',\n startDateRetentionPeriod: 'Start date of retention period'\n },\n de: {\n title: 'Zaken API',\n url: 'URL',\n urlTooltip:\n 'Dieses Feld muss die URL zur rest API von Open Zaak enthalten, daher sollte diese URL mit enden /zaken/api/v1/',\n description:\n 'Die API unterstützt die Speicherung und Weitergabe von Daten zu allen kommunalen Belangen an andere Anwendungen.',\n 'link-document-to-zaak': 'Dokument mit Zaak verknüpfen',\n 'link-uploaded-document-to-zaak': 'Hochgeladenes Dokument mit Zaak verknüpfen',\n linkUploadedDocumentToZaakMessage:\n 'Das Verknüpfen eines hochgeladenen Dokuments mit einem Zaak erfordert keine Konfiguration.',\n configurationTitle: 'Konfigurationsname',\n configurationTitleTooltip:\n 'An diesem Namen wird das Plugin im Rest der Anwendung erkennbar sein',\n documentUrl: 'URL zum Dokument',\n documentUrlTooltip:\n 'Dieses Feld unterstützt URLs und Prozessvariablen. Verwenden Sie pv:Variablen, um eine Prozessvariable zu lesen',\n titel: 'Dokumenttitel',\n titelTooltip:\n '(Optional) Füllt das Titelfeld in den Metadaten des Links zwischen dem Zaak und dem Dokument aus',\n beschrijving: 'Dokumentbeschreibung',\n beschrijvingTooltip:\n '(Optional) Füllt das Beschreibungsfeld in den Metadaten des Links zwischen dem Zaak und dem Dokument aus',\n authenticationPluginConfiguration: 'Authentifizierungs-Plugin-Konfiguration',\n authenticationPluginConfigurationTooltip:\n 'Wählen Sie das Plugin aus, das die Authentifizierung verarbeiten kann. Bleibt das Auswahlfeld leer, muss zunächst das Authentifizierungs-Plugin (z. B. OpenZaak) erstellt werden',\n linkDocumentInformation:\n 'Diese Aktion verknüpft ein Dokument aus der Dokumenten-API mit dem mit dem Fall verknüpften Zaak.',\n 'create-zaak': 'Zaak erschaffen',\n createZaakInformation:\n 'Diese Aktion hat einen zaak in der Zaken-API definiert und den neuen zaak mit dem Fall verknüpft.',\n rsin: 'RSIN',\n rsinTooltip: 'Informationsnummer für juristische Personen und Partnerschaften.',\n verlengingsduur: 'Anzahl der Tage, um die das Enddatum verlängert wird (in Zahlen)',\n toelichtingVerlenging: 'Grund für die Verlängerung',\n toelichtingOpschorting: 'Grund für die Suspendierung',\n zaakType: 'Zaaktype',\n zaakTypeUrl: 'Zaaktype-URL',\n zaakTypeTooltip: 'In diesem Feld muss auf die zaaktype verwiesen werden.',\n zaakTypeSelectTooltip:\n 'In diesem Feld muss auf die zaaktype verwiesen werden. Wenn nur ein Zaaktyp verfügbar ist, wird dieser standardmäßig ausgewählt.',\n inputTypeZaakTypeToggle: 'Eingabetyp Zaaktype-URL',\n text: 'Text',\n selection: 'Auswahl',\n 'create-natuurlijk-persoon-zaak-rol': 'Zaakrol erstellen – natürliche Person',\n 'create-niet-natuurlijk-persoon-zaak-rol': 'Zaakrol erstellen – keine natürliche Person',\n 'create-medewerker-zaak-rol': 'Zaakrol erstellen – Mitarbeiter',\n 'create-organisatorische-eenheid-zaak-rol': 'Zaakrol erstellen – Organisationseinheit',\n 'create-vestiging-zaak-rol': 'Zaakrol erstellen – Niederlassung',\n 'set-zaakopschorting': 'Einen Fall aussetzen',\n 'start-hersteltermijn': 'Beginnen Sie mit der Erholungsphase',\n startHersteltermijnInformation:\n 'Diese Aktion startet eine Erholungszeit für den Fall, der mit diesem Prozess verknüpft ist.',\n maxDurationInDays: 'Maximale Dauer in Tagen',\n maxDurationInDaysTooltip:\n 'Der eingegebene Wert stellt die maximale Dauer der Erholungszeit in Tagen dar.',\n 'end-hersteltermijn': 'Beenden Sie mit der Erholungsphase',\n endHersteltermijnInformation: 'Beenden die aktuelle Erholungsphase des Case',\n 'create-zaakeigenschap': 'Zaakeigenschaft erstellen',\n 'update-zaakeigenschap': 'Zaakeigenschaft aktualisieren',\n 'delete-zaakeigenschap': 'Zaakeigenschaft löschen',\n eigenschapUrl: 'Eigenschafts-URL',\n eigenschapUrlTooltip: 'URL-Referenz zur Eigenschaft.',\n eigenschapValue: 'Eigenschaftswert',\n eigenschapValueTooltip: 'Der Wert der Zaakeigenschaft',\n inputTypeEigenschapToggle: 'Eingabetyp eigenschap-URL',\n eigenschapUrlSelect: 'Eigenschap',\n eigenschapUrlSelectTooltip: 'Wählen Sie den eigenschap aus.',\n caseDefinitionTooltipEigenschap:\n 'Wählen Sie die eigenschap aus, aus der Sie einen eigenschap auswählen möchten. Wenn nur ein Statustyp verfügbar ist, wird dieser standardmäßig ausgewählt.',\n roltypeUrl: 'Rollentyp-URL',\n rolToelichting: 'Rollenerklärung',\n inpBsn: 'Initiator BSN',\n anpIdentificatie: 'Andere Identifizierung natürlicher Personen',\n annIdentificatie: 'Andere Identifizierung keine natürlicher Personen',\n annIdentificatieTooltip:\n 'Die eindeutige Nummer, die von der Gemeinde für eine andere nicht natürliche Person vergeben wird (annIdentificatie). (Max. 17 Zeichen)',\n inpA_nummer: 'Verwaltungsnummer Person',\n innNnpId: 'Keine natürliche Personennummer',\n innNnpIdTooltip:\n 'Die von der Regierung vergebene eindeutige Nummer für die registrierte nicht natürliche Person (innNnpId). (Max. 9 Zeichen)',\n roltypeUrlTooltip: 'URL zu einem Rollentyp innerhalb des Zaaktypes eines Zaaks',\n rolToelichtingTooltip: 'Beschreibung der Art der Rolle',\n inpBsnTooltip: 'Die Sozialversicherungsnummer des Initiators',\n anpIdentificatieTooltip:\n 'Die eindeutige Nummer, die von der Gemeinde für eine andere natürliche Person vergeben wird. (Max. 17 Zeichen)',\n inpA_nummerTooltip: 'Die Verwaltungsnummer der Person im Sinne des Wet BRP. (Numerisch, max. 10 Zeichen)',\n 'set-zaakstatus': 'Fallstatus erstellen',\n statustypeUrl: 'URL des Zaakstatustyps',\n statustypeUrlTooltip: 'URL-Referenz zum Statustyp.',\n statustoelichting: 'Erklärung des Zaakstatus',\n statustoelichtingTooltip:\n 'Eine Erklärung des Status eines zaak, die für den Initiator des Zaak relevant ist.',\n 'create-zaakresultaat': 'Zaakgebnis erstellen',\n resultaattypeUrl: 'URL des Zaakgebnistyps',\n resultaattypeUrlTooltip: 'URL-Verweis auf den Ergebnistyp.',\n resultaattoelichting: 'Geschäftsergebniserklärung',\n resultaattoelichtingTooltip: 'Eine Erklärung, was das Ergebnis des Zaak beinhaltet.',\n caseDefinition: 'Falltyp',\n caseDefinitionTooltip:\n 'Wählen Sie die Falltyp aus, aus der Sie einen Zaakstatus-typ auswählen möchten. Wenn nur ein Statustyp verfügbar ist, wird dieser standardmäßig ausgewählt.',\n caseDefinitionTooltipResultaat:\n 'Wählen Sie die Falltyp aus, aus der Sie einen Zaakresultaat-typ auswählen möchten. Wenn nur ein Resultaattyp verfügbar ist, wird dieser standardmäßig ausgewählt.',\n statustypeUrlSelect: 'Zaakstatus',\n statustypeUrlSelectTooltip: 'Wählen Sie den Statustyp aus.',\n resultaattypeUrlSelect: 'Zaakresultaat',\n resultaattypeUrlSelectTooltip: 'Wählen Sie den Resultaattype aus.',\n inputTypeZaakStatusToggle: 'Eingabetyp Zaakstatus-URL',\n inputTypeZaakResultaatToggle: 'Eingabetyp Zaakresultaat-URL',\n addZaakProperty: 'Neue Case-Eigenschaft hinzufügen',\n 'relateer-zaken': 'Beziehung zwischen Zaken herstellen',\n teRelaterenZaakUri: 'URL zum zu verknüpfenden Zaak',\n aardRelatie: 'Art der Beziehung',\n 'option-vervolg': 'Der andere Zaak gab Anlass zur Einleitung des aktuellen Zaak.',\n 'option-onderwerp': 'Der andere Zaak ist relevant für bzw. Gegenstand des aktuellen Zaak.',\n 'option-bijdrage': 'Der aktuelle Zaak trägt zum Ergebnis des anderen Zaak bei.',\n identificatie: 'Identifikation',\n identificatieMedewerkerTooltip: 'Eine kurze, eindeutige Bezeichnung des Mitarbeiters. (Max. 24 Zeichen)',\n identificatieOrganisatorischeEenheidTooltip: 'Eine kurze Identifikation der organisatorischen Einheit. (Max. 24 Zeichen)',\n voorletters: 'Initialen',\n voorlettersTooltip: 'Die Sammlung von Buchstaben, die durch den ersten Buchstaben aller in Reihenfolge vorkommenden Vornamen gebildet wird.',\n achternaam: 'Nachname',\n achternaamTooltip: 'Der Nachname, wie ihn der Mitarbeiter im täglichen Verkehr verwendet. (Max. 200 Zeichen)',\n voorvoegselAchternaam: 'Nachnamenspräfix',\n voorvoegselAchternaamTooltip: 'Teil des Gattungsnamens, der in Tabelle 36 (GBA), Präfixtabelle, erscheint und durch ein Leerzeichen vom Gattungsnamen getrennt ist. (Max. 10 Zeichen)',\n afwijkendeNaamBetrokkene: 'Abweichender Name der betroffenen Person',\n afwijkendeNaamBetrokkeneTooltip: 'Der Name der betroffenen Person, unter dem sie im Zusammenhang mit dem Vorgang angesprochen werden möchte. (Max. 625 Zeichen)',\n indicatieMachtiging: 'Vollmachtsanzeige',\n indicatieMachtigingTooltip: 'Der Typ, der die Vollmachtsanzeige darstellt',\n nvt: 'Nicht zutreffend',\n gemachtigde: 'Bevollmächtigter',\n machtiginggever: 'Vollmachtgeber',\n naam: 'Name',\n naamTooltip: 'Der tatsächliche Name der organisatorischen Einheit.',\n isGehuisvestIn: 'Ist untergebracht in',\n isGehuisvestInTooltip: 'Ort, an dem die organisatorische Einheit untergebracht ist. (Max. 24 Zeichen)',\n kvkNummer: 'Handelskammernummer',\n kvkNummerTooltip: 'Eine eindeutige Nummer, die von der Handelskammer vergeben wird. (Max. 8 Zeichen)',\n vestigingsNummer: 'Niederlassungsnummer',\n vestigingsNummerTooltip: 'Eine kurze eindeutige Bezeichnung der Niederlassung. (Max. 24 Zeichen)',\n 'patch-zaak': 'Zaak aktualisieren',\n patchZaakInformation: 'Mit dieser Aktion können Sie die Eigenschaften des Falls in der mit der Datei verknüpften Zaken-API aktualisieren.',\n addPatchZaakProperty: 'Parameter hinzufügen',\n dateformatTooltip:\n 'Ein Datum im Format yyyy-mm-dd. Kann auch ein Verweis auf das Dokument oder den Prozess sein, zum Beispiel doc:kunde/startDatum oder pv:startDatum',\n omschrijving: 'Beschreibung',\n explanation: 'Erläuterung',\n plannedEndDate: 'Geplantes Enddatum',\n finalDeliveryDate: 'Letztes Lieferdatum',\n publicationDate: 'Veröffentlichungsdatum',\n communicationChannel: 'Kommunikationskanal (URL)',\n communicationChannelName: 'Name des Kommunikationskanals',\n paymentIndication: 'Zahlungsanzeige',\n lastPaymentDate: 'Letztes Zahlungsdatum',\n caseGeometry: 'Vorgangsgeometrie',\n caseGeometryType: 'Vorgangsgeometrie type',\n caseGeometryCoordinates: 'Vorgangsgeometrie Koordinaten',\n caseGeometryCoordinatesTooltip: 'Liste von Punkten, zB [0.0, 1.0]',\n mainCase: 'Hauptvorgang',\n archiveActionDate: 'Archivierungsaktionsdatum',\n startDateRetentionPeriod: 'Startdatum der Aufbewahrungsfrist'\n },\n },\n};\n\nexport {zakenApiPluginSpecification};\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {PluginConfigurationComponent} from '../../../../models';\nimport {BehaviorSubject, combineLatest, map, Observable, Subscription, take} from 'rxjs';\nimport {ObjectenApiConfig} from '../../models';\nimport {PluginManagementService, PluginTranslationService} from '../../../../services';\nimport {TranslateService} from '@ngx-translate/core';\n\n@Component({\n standalone: false,\n selector: 'valtimo-objecten-api-configuration',\n templateUrl: './objecten-api-configuration.component.html',\n styleUrls: ['./objecten-api-configuration.component.scss'],\n})\nexport class ObjectenApiConfigurationComponent\n implements PluginConfigurationComponent, OnInit, OnDestroy\n{\n @Input() save$: Observable<void>;\n @Input() disabled$: Observable<boolean>;\n @Input() pluginId: string;\n @Input() prefillConfiguration$: Observable<ObjectenApiConfig>;\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() configuration: EventEmitter<ObjectenApiConfig> = new EventEmitter<ObjectenApiConfig>();\n\n private saveSubscription!: Subscription;\n\n private readonly formValue$ = new BehaviorSubject<ObjectenApiConfig | null>(null);\n private readonly valid$ = new BehaviorSubject<boolean>(false);\n\n readonly authenticationPluginSelectItems$: Observable<Array<{id: string; text: string}>> =\n combineLatest([\n this.pluginManagementService.getPluginConfigurationsByCategory('objecten-api-authentication'),\n this.translateService.stream('key'),\n ]).pipe(\n map(([configurations]) =>\n configurations.map(configuration => ({\n id: configuration.id,\n text: `${configuration.title} - ${this.pluginTranslationService.instant(\n 'title',\n configuration.pluginDefinition.key\n )}`,\n }))\n )\n );\n\n constructor(\n private readonly pluginManagementService: PluginManagementService,\n private readonly translateService: TranslateService,\n private readonly pluginTranslationService: PluginTranslationService\n ) {}\n\n ngOnInit(): void {\n this.openSaveSubscription();\n }\n\n ngOnDestroy() {\n this.saveSubscription?.unsubscribe();\n }\n\n formValueChange(formValue: ObjectenApiConfig): void {\n this.formValue$.next(formValue);\n this.handleValid(formValue);\n }\n\n private handleValid(formValue: ObjectenApiConfig): void {\n const valid = !!(\n formValue.configurationTitle &&\n formValue.url &&\n formValue.authenticationPluginConfiguration\n );\n\n this.valid$.next(valid);\n this.valid.emit(valid);\n }\n\n private openSaveSubscription(): void {\n this.saveSubscription = this.save$?.subscribe(save => {\n combineLatest([this.formValue$, this.valid$])\n .pipe(take(1))\n .subscribe(([formValue, valid]) => {\n if (valid) {\n this.configuration.emit(formValue);\n }\n });\n });\n }\n}\n","<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null,\n } as obs\"\n>\n <v-input\n name=\"configurationTitle\"\n [title]=\"'configurationTitle' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.configurationTitle\"\n [required]=\"true\"\n [trim]=\"true\"\n [tooltip]=\"'configurationTitleTooltip' | pluginTranslate: pluginId | async\"\n placeholder=\"Objecten API Plugin\"\n >\n </v-input>\n <v-input\n name=\"url\"\n [title]=\"'url' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.url\"\n [required]=\"true\"\n [trim]=\"true\"\n [tooltip]=\"'urlTooltip' | pluginTranslate: pluginId | async\"\n placeholder=\"https://objectenapi.example.com/api/v2/\"\n >\n </v-input>\n <ng-container\n *ngIf=\"{authenticationPluginSelectItems: authenticationPluginSelectItems$ | async} as authObs\"\n >\n <v-select\n [items]=\"authObs.authenticationPluginSelectItems\"\n [margin]=\"true\"\n name=\"authenticationPluginConfiguration\"\n [title]=\"'authenticationPluginConfiguration' | pluginTranslate: pluginId | async\"\n [disabled]=\"obs.disabled\"\n [defaultSelectionId]=\"obs.prefill?.authenticationPluginConfiguration\"\n [required]=\"true\"\n [loading]=\"!authObs.authenticationPluginSelectItems\"\n ></v-select>\n </ng-container>\n</v-form>\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {FunctionConfigurationComponent} from '../../../../models';\nimport {BehaviorSubject, combineLatest, Observable, Subscription, take} from 'rxjs';\nimport {DeleteObjectConfig} from '../../models';\n\n@Component({\n standalone: false,\n selector: 'valtimo-delete-object',\n templateUrl: './delete-object.component.html',\n styleUrls: ['./delete-object.component.scss'],\n})\nexport class DeleteObjectComponent implements FunctionConfigurationComponent, OnInit, OnDestroy {\n @Input() save$: Observable<void>;\n @Input() disabled$: Observable<boolean>;\n @Input() pluginId: string;\n @Input() prefillConfiguration$: Observable<DeleteObjectConfig>;\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() configuration: EventEmitter<DeleteObjectConfig> =\n new EventEmitter<DeleteObjectConfig>();\n\n private saveSubscription!: Subscription;\n private readonly formValue$ = new BehaviorSubject<DeleteObjectConfig | null>(null);\n private readonly valid$ = new BehaviorSubject<boolean>(false);\n\n ngOnInit(): void {\n this.openSaveSubscription();\n }\n\n ngOnDestroy(): void {\n this.saveSubscription?.unsubscribe();\n }\n\n formValueChange(formValue: DeleteObjectConfig): void {\n this.formValue$.next(formValue);\n this.handleValid(formValue);\n }\n\n private handleValid(formValue: DeleteObjectConfig): void {\n const valid = !!formValue.objectUrl;\n\n this.valid$.next(valid);\n this.valid.emit(valid);\n }\n\n private openSaveSubscription(): void {\n this.saveSubscription = this.save$?.subscribe(save => {\n combineLatest([this.formValue$, this.valid$])\n .pipe(take(1))\n .subscribe(([formValue, valid]) => {\n if (valid) {\n this.configuration.emit(formValue);\n }\n });\n });\n }\n}\n","<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-paragraph [margin]=\"true\" [italic]=\"true\">\n {{ 'deleteObjectWarning' | pluginTranslate: pluginId | async }}\n</v-paragraph>\n<v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null,\n } as obs\"\n>\n <v-input\n name=\"objectUrl\"\n [title]=\"'objectUrl' | pluginTranslate: pluginId | async\"\n [tooltip]=\"'objectUrlTooltip' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.objectUrl\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n [trim]=\"true\"\n [fullWidth]=\"true\"\n ></v-input>\n</v-form>\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {NgModule} from '@angular/core';\nimport {ObjectenApiConfigurationComponent} from './components/objecten-api-configuration/objecten-api-configuration.component';\nimport {CommonModule} from '@angular/common';\nimport {PluginTranslatePipeModule} from '../../pipes';\nimport {FormModule, InputModule, ParagraphModule, SelectModule} from '@valtimo/components';\nimport {DeleteObjectComponent} from './components/delete-object/delete-object.component';\n\n@NgModule({\n declarations: [ObjectenApiConfigurationComponent, DeleteObjectComponent],\n imports: [\n CommonModule,\n PluginTranslatePipeModule,\n FormModule,\n InputModule,\n SelectModule,\n ParagraphModule,\n ],\n exports: [ObjectenApiConfigurationComponent, DeleteObjectComponent],\n})\nexport class ObjectenApiPluginModule {}\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nconst OBJECTEN_API_PLUGIN_LOGO_BASE64 =\n 'data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyBpZD0iTGF5ZXJfMiIgZGF0YS1uYW1lPSJMYXllciAyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAzNDMuMDggMTgwLjIxIj4KICA8ZGVmcz4KICAgIDxzdHlsZT4KICAgICAgLmNscy0xIHsKICAgICAgICBmaWxsOiAjZmZiYzJkOwogICAgICB9CiAgICA8L3N0eWxlPgogIDwvZGVmcz4KICA8ZyBpZD0iTGF5ZXJfMS0yIiBkYXRhLW5hbWU9IkxheWVyIDEiPgogICAgPHBhdGggY2xhc3M9ImNscy0xIiBkPSJtMTQyLjgxLDcxLjgxYy04LjAyLTcuNjUtMTcuMzEtMTIuODQtMjguNTgtMTMuMDUtMTQuMDItLjI2LTMwLjQ4LDEwLjExLTMzLjQzLDI3LjM2LTEuNDIsOC4yOS42NSwxNS45NCw1LjY4LDIyLjYyLDcuNTEsOS45OCwxNy42NSwxNS41MywzMC4xNCwxNS41OSwxMi4yMS4wNiwyMy4yNC00LjA2LDMyLjk4LTExLjUsMi45OS0yLjI4LDUuNzgtNC43Nyw4LjM4LTcuNDguNi0uNjMsMS4yMi0xLjI2LDEuOTItMS43OC44OS0uNjUsMS44OS0uNzksMi42Ny4xNy43Ljg3LjE2LDEuNjYtLjQzLDIuMzMtMy42NCw0LjEzLTcuNDgsOC4wNC0xMS44MywxMS40NS0xMC4zNyw4LjE0LTIyLjE5LDEyLjYzLTM1LjI2LDEyLjgzLTIxLjAzLjMyLTQxLjIyLTE1LjY2LTQzLjctMzYuNTgtMS45NS0xNi41NCw0LjcxLTI5LjI4LDE3LjU3LTM4LjkxLDE1LjQ3LTExLjU3LDMyLjM3LTExLjgyLDQ5LjY4LTQuNjcsMTcuMTUsNy4wOCwzMC4yMywxOS4xNiw0MC43LDM0LjI1LDcuMSwxMC4yMywxNS4yMywxOS40NywyNS4zNiwyNi44Miw2LjE3LDQuNDgsMTIuOTUsNy41NywyMC41NCw4LjQ4LDExLjE0LDEuMzQsMjUuNjYtNC4xNCwzMi40Ny0xNi42Miw2LjItMTEuMzYsNC4zNi0yNS41Mi00LjU1LTM1LjEyLTkuNTktMTAuMzMtMjEuMzktMTQuMDMtMzUuMjctMTEuOTMtMTIuNiwxLjkxLTIzLjAzLDcuOC0zMi4wMywxNi41NS0uNzIuNy0xLjM3LDEuNDYtMi4xMywyLjExLTEuMDQuODktMS45OCwyLjk5LTMuNTYsMS41MS0xLjM1LTEuMjguMS0yLjc3LDEuMDUtMy44NywxMC40NS0xMi4wOCwyMi45OC0yMC42MiwzOS4xNS0yMi45OSwxOC4wNi0yLjY1LDMyLjgxLDMuMzQsNDMuODUsMTcuNjUsMTMuMDMsMTYuODksMTAuNDEsNDMuOTEtOS44Myw1OC4zNC0xNS4yMiwxMC44NS0zMS43MiwxMS44MS00OC43OSw1LjM4LTE2LjUyLTYuMjMtMjkuMjYtMTcuNDktMzkuNTEtMzEuNjItNS41Ny03LjY5LTEwLjg5LTE1LjU1LTE3LjYtMjIuMzNsLTUuNjItNS4wMloiLz4KICAgIDxwYXRoIGQ9Im0zMjMuNDYsODkuNjVjLTEuMy0uMzUtMi42MS0uNy0zLjkxLTEuMDUtMTEuOTEtMy4yMy0xOC4zMS0xMS4yNi0xOC41LTIzLjYyLS4xNi05Ljg3LS4wMy0xOS43NS0uMDYtMjkuNjIsMC0xLjg3LjAzLTMuNzctLjI4LTUuNjEtMS41NS04Ljk4LTcuNzUtMTQuMzEtMTcuNzItMTUuMzlxLTQuODItLjUyLTQuODItNS4zOWMwLTIuMjUuMDYtNC41LS4wMi02Ljc1LS4wNS0xLjQ4LjItMi4yNSwyLTIuMjEsOC41MS4xNywxNi42MywxLjgxLDIzLjkyLDYuMzgsOS43OCw2LjEzLDEzLjg0LDE1LjM5LDEzLjk3LDI2LjU5LjExLDkuNS4wMiwxOSwuMDMsMjguNSwwLDEuNjItLjAxLDMuMjUuMDksNC44Ny40NSw3LjI0LDQuMDksMTIuMTUsMTAuOTIsMTQuNiwzLjU1LDEuMjcsNy4yNywxLjg1LDExLjAyLDEuOSwyLjE1LjAzLDMuMTUuNTUsMi45NSwyLjk5LS4yNSwzLjEtLjE0LDYuMjUtLjAzLDkuMzcuMDYsMS42My0uNTUsMi4yLTIuMTQsMi4yMS0zLjUuMDItNi45Ni40MS0xMC4zNCwxLjQ3LTguMjksMi42Mi0xMi4yNCw3LjUtMTIuNCwxNi4xNC0uMTgsMTAtLjA5LDIwLS4wNywzMCwwLDMuNTEtLjIsNy4wMS0uOTQsMTAuNDMtMi4xNSw5Ljg4LTguMTUsMTYuNjUtMTcuMjgsMjAuNy02LjAxLDIuNjctMTIuMzksMy42NC0xOC45Myw0LjA0LTIuNS4xNS0yLjk1LS43NC0yLjgxLTIuOTIuMTctMi42MS4wMy01LjI1LjA0LTcuODcuMDItMy4yNy4wMy0zLjMyLDMuMTYtMy40OCwyLjM5LS4xMiw0LjcxLS41Niw2Ljk4LTEuMjUsOC4yNi0yLjUzLDEyLjQ2LTcuODIsMTIuNjEtMTYuNDguMTgtMTAuMzcuMS0yMC43NS4wNi0zMS4xMi0uMDEtMy4xNS4yNy02LjI1LDEtOS4yOSwxLjkyLTguMDQsNy4zNC0xMi43OSwxNC45MS0xNS4zNywyLjE4LS43NCw0LjQyLTEuMyw2LjYzLTEuOTQtLjAyLS4yOC0uMDQtLjU1LS4wNS0uODNaIi8+CiAgICA8cGF0aCBkPSJtMTkuMjYsOTAuNDdjMi4xLjYyLDQuMjMsMS4xNyw2LjMsMS44OSw5Ljk4LDMuNDMsMTUuNjIsMTAuNjMsMTUuOTcsMjEuMi4zMywxMC4yNC4xNCwyMC40OS4yMywzMC43My4wMiwyLjI0LjE1LDQuNS40NCw2LjcyLjc3LDUuOTEsMy45LDEwLjE1LDkuMzgsMTIuNTYsMy4zNCwxLjQ3LDYuODcsMi4zNywxMC41MiwyLjMxLDIuMzUtLjA0LDMuMDEuODUsMi44NywzLjA4LS4xOCwyLjk5LS4wOCw2LS4wMyw4Ljk5LjAzLDEuNDItLjEsMi4yOS0xLjk2LDIuMjMtOC4wOS0uMjYtMTUuOTEtMS42Mi0yMy4wNC01LjYyLTkuNi01LjM5LTE0LjY2LTEzLjc2LTE0Ljk1LTI0LjcxLS4yOC0xMC4zNi0uMDktMjAuNzQtLjEtMzEuMTEsMC0yLjM4LS4xNC00LjczLS41Ni03LjA4LS45OS01LjYyLTQuMDctOS41My05LjI5LTExLjc4LTMuODMtMS42Ni03Ljg3LTIuNDYtMTIuMDItMi40Mi0yLjIuMDItMy4xNi0uNTUtMy0yLjk1LjIxLTMuMTEuMTMtNi4yNS4wMi05LjM3LS4wNi0xLjY1LjU4LTIuMTYsMi4xNC0yLjI1LDIuNjEtLjE0LDUuMjEtLjMyLDcuOC0uOSwxMC4xMi0yLjI1LDE0LjczLTcuNjYsMTQuODYtMTguMDcuMTMtMTAuNDkuMDYtMjAuOTkuMDMtMzEuNDktLjAxLTQuNjguOC05LjE4LDIuNzItMTMuNDYsMy4wMS02LjY4LDguMTYtMTEuMjQsMTQuNjQtMTQuMzlDNDguNjIsMS40Nyw1NS40NC4yNCw2Mi41MSwwYzIuMS0uMDcsMi41Mi42NywyLjQ0LDIuNTMtLjEyLDIuOTktLjE2LDYsLjAxLDguOTkuMTEsMi4wMi0uNjcsMi42Ni0yLjU2LDIuNjgtMi44OS4wMy01LjY5LjYyLTguNDMsMS41Ny03LjA2LDIuNDQtMTEuMTMsNy4zLTExLjksMTQuNzgtLjE5LDEuODYtLjMyLDMuNzMtLjMzLDUuNi0uMDYsOS44Ny4xMywxOS43NS0uMTYsMjkuNjEtLjM2LDEyLjA4LTYuNjgsMTkuNjgtMTguNCwyMi44NC0xLjMuMzUtMi42MS43MS0zLjkxLDEuMDYsMCwuMjctLjAyLjUzLS4wMi44WiIvPgogIDwvZz4KPC9zdmc+';\n\nexport {OBJECTEN_API_PLUGIN_LOGO_BASE64};\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport * from './objecten-api-plugin-logo';\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {PluginSpecification} from '../../models';\nimport {ObjectenApiConfigurationComponent} from './components/objecten-api-configuration/objecten-api-configuration.component';\nimport {OBJECTEN_API_PLUGIN_LOGO_BASE64} from './assets';\nimport {DeleteObjectComponent} from './components/delete-object/delete-object.component';\n\nconst objectenApiPluginSpecification: PluginSpecification = {\n pluginId: 'objectenapi',\n pluginConfigurationComponent: ObjectenApiConfigurationComponent,\n pluginLogoBase64: OBJECTEN_API_PLUGIN_LOGO_BASE64,\n functionConfigurationComponents: {\n 'delete-object': DeleteObjectComponent,\n },\n pluginTranslations: {\n nl: {\n title: 'Objecten API',\n url: 'Objecten API URL',\n urlTooltip: 'Een URL naar de REST API van Objecten',\n description:\n 'Met de Overige Objecten Registratie API-specificaties (Objecten) kunnen gemeenten eenduidig objecten registreren, opslaan en ontsluiten.',\n configurationTitle: 'Configuratienaam',\n configurationTitleTooltip:\n 'Onder deze naam zal de plug-in te herkennen zijn in de rest van de applicatie',\n authenticationPluginConfiguration: 'Configuratie authenticatie-plug-in',\n 'delete-object': 'Object verwijderen',\n deleteObjectWarning:\n 'Waarschuwing: de objecten die met deze actie verwijderd worden mogen niet gekoppeld zijn aan een Zaak.',\n objectUrl: 'Object URL',\n objectUrlTooltip:\n \"De URL van het object dat verwijderd moet worden uit de Objecten API. De ingevoerde waarde mag een procesvariable zijn, bijvoorbeeld: 'pv:object'.\",\n },\n en: {\n title: 'Objecten API',\n url: 'Objecten API URL',\n urlTooltip: 'A URL to the REST API of Objects',\n description:\n 'With the Other Objects Registration API specifications (Objects), municipalities can unambiguously register, store and access objects.',\n configurationTitle: 'Configuration name',\n configurationTitleTooltip:\n 'With this name the plugin will be recognizable in the rest of the application',\n authenticationPluginConfiguration: 'Authentication plugin configuration',\n 'delete-object': 'Delete object',\n deleteObjectWarning:\n 'Warning: the objects that are deleted with this action must not be linked to a Zaak.',\n objectUrl: 'Object URL',\n objectUrlTooltip:\n \"The URL of the object to be removed from the Objecten API. The value entered may be a process variable, for example: 'pv:object'.\",\n },\n de: {\n title: 'Objecten API',\n url: 'Objecten API URL',\n urlTooltip: 'Die URL zur REST API von Objecten',\n description:\n 'Mit den Spezifikationen der Other Objects Registration API (Objecten) können Kommunen Objecten eindeutig registrieren, speichern und darauf zugreifen.',\n configurationTitle: 'Konfigurationsname',\n configurationTitleTooltip:\n 'An diesem Namen wird das Plugin im Rest der Anwendung erkennbar sein',\n authenticationPluginConfiguration: 'Authentifizierungs-Plugin-Konfiguration',\n 'delete-object': 'Objekt löschen',\n deleteObjectWarning:\n 'Achtung: Die Objekte, die mit dieser Aktion gelöscht werden, dürfen nicht mit einem Zaak verknüpft werden.',\n objectUrl: 'Objekt URL',\n objectUrlTooltip:\n \"Die URL des Objekts, das aus der Objecten API entfernt werden soll. Der eingegebene Wert kann eine Prozessvariable sein, zum Beispiel: 'pv:object'.\",\n },\n },\n};\n\nexport {objectenApiPluginSpecification};\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {PluginConfigurationComponent} from '../../../../models';\nimport {BehaviorSubject, combineLatest, map, Observable, Subscription, take} from 'rxjs';\nimport {CatalogiApiConfig} from '../../models';\nimport {PluginManagementService, PluginTranslationService} from '../../../../services';\nimport {TranslateService} from '@ngx-translate/core';\n\n@Component({\n standalone: false,\n selector: 'valtimo-catalogi-api-configuration',\n templateUrl: './catalogi-api-configuration.component.html',\n styleUrls: ['./catalogi-api-configuration.component.scss'],\n})\nexport class CatalogiApiConfigurationComponent\n implements PluginConfigurationComponent, OnInit, OnDestroy\n{\n @Input() save$: Observable<void>;\n @Input() disabled$: Observable<boolean>;\n @Input() pluginId: string;\n @Input() prefillConfiguration$: Observable<CatalogiApiConfig>;\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() configuration: EventEmitter<CatalogiApiConfig> = new EventEmitter<CatalogiApiConfig>();\n readonly authenticationPluginSelectItems$: Observable<Array<{id: string; text: string}>> =\n combineLatest([\n this.pluginManagementService.getPluginConfigurationsByCategory('catalogi-api-authentication'),\n this.translateService.stream('key'),\n ]).pipe(\n map(([configurations]) =>\n configurations.map(configuration => ({\n id: configuration.id,\n text: `${configuration.title} - ${this.pluginTranslationService.instant(\n 'title',\n configuration.pluginDefinition.key\n )}`,\n }))\n )\n );\n private saveSubscription!: Subscription;\n private readonly formValue$ = new BehaviorSubject<CatalogiApiConfig | null>(null);\n private readonly valid$ = new BehaviorSubject<boolean>(false);\n\n constructor(\n private readonly pluginManagementService: PluginManagementService,\n private readonly translateService: TranslateService,\n private readonly pluginTranslationService: PluginTranslationService\n ) {}\n\n ngOnInit(): void {\n this.openSaveSubscription();\n }\n\n ngOnDestroy() {\n this.saveSubscription?.unsubscribe();\n }\n\n formValueChange(formValue: CatalogiApiConfig): void {\n this.formValue$.next(formValue);\n this.handleValid(formValue);\n }\n\n private handleValid(formValue: CatalogiApiConfig): void {\n const valid = !!(\n formValue.configurationTitle &&\n formValue.url &&\n formValue.authenticationPluginConfiguration\n );\n\n this.valid$.next(valid);\n this.valid.emit(valid);\n }\n\n private openSaveSubscription(): void {\n this.saveSubscription = this.save$?.subscribe(save => {\n combineLatest([this.formValue$, this.valid$])\n .pipe(take(1))\n .subscribe(([formValue, valid]) => {\n if (valid) {\n this.configuration.emit(formValue);\n }\n });\n });\n }\n}\n","<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null,\n } as obs\"\n>\n <v-input\n name=\"configurationTitle\"\n [title]=\"'configurationTitle' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.configurationTitle\"\n [required]=\"true\"\n [trim]=\"true\"\n [tooltip]=\"'configurationTitleTooltip' | pluginTranslate: pluginId | async\"\n placeholder=\"Catalogi API Plugin\"\n >\n </v-input>\n <v-input\n name=\"url\"\n [title]=\"'url' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.url\"\n [required]=\"true\"\n [trim]=\"true\"\n [tooltip]=\"'urlTooltip' | pluginTranslate: pluginId | async\"\n placeholder=\"https://openzaak.example.com/catalogi/api/v1/ \"\n >\n </v-input>\n <ng-container\n *ngIf=\"{authenticationPluginSelectItems: authenticationPluginSelectItems$ | async} as authObs\"\n >\n <v-select\n [items]=\"authObs.authenticationPluginSelectItems\"\n [margin]=\"true\"\n name=\"authenticationPluginConfiguration\"\n [title]=\"'authenticationPluginConfiguration' | pluginTranslate: pluginId | async\"\n [disabled]=\"obs.disabled\"\n [defaultSelectionId]=\"obs.prefill?.authenticationPluginConfiguration\"\n [required]=\"true\"\n [loading]=\"!authObs.authenticationPluginSelectItems\"\n ></v-select>\n </ng-container>\n</v-form>\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {FunctionConfigurationComponent} from '../../../../models';\nimport {BehaviorSubject, combineLatest, Observable, Subscription, take} from 'rxjs';\nimport {GetStatustypeConfig} from '../../models';\n\n@Component({\n standalone: false,\n selector: 'valtimo-set-statustype-configuration',\n templateUrl: './get-statustype-configuration.component.html',\n styleUrls: ['./get-statustype-configuration.component.scss'],\n})\nexport class GetStatustypeConfigurationComponent\n implements FunctionConfigurationComponent, OnInit, OnDestroy\n{\n @Input() save$: Observable<void>;\n @Input() disabled$: Observable<boolean>;\n @Input() pluginId: string;\n @Input() prefillConfiguration$: Observable<GetStatustypeConfig>;\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() configuration: EventEmitter<GetStatustypeConfig> =\n new EventEmitter<GetStatustypeConfig>();\n\n private saveSubscription!: Subscription;\n\n private readonly formValue$ = new BehaviorSubject<GetStatustypeConfig | null>(null);\n private readonly valid$ = new BehaviorSubject<boolean>(false);\n\n ngOnInit(): void {\n this.openSaveSubscription();\n }\n\n ngOnDestroy() {\n this.saveSubscription?.unsubscribe();\n }\n\n formValueChange(formValue: GetStatustypeConfig): void {\n this.formValue$.next(formValue);\n this.handleValid(formValue);\n }\n\n private handleValid(formValue: GetStatustypeConfig): void {\n const valid = !!(formValue.statustype && formValue.processVariable);\n\n this.valid$.next(valid);\n this.valid.emit(valid);\n }\n\n private openSaveSubscription(): void {\n this.saveSubscription = this.save$?.subscribe(save => {\n combineLatest([this.formValue$, this.valid$])\n .pipe(take(1))\n .subscribe(([formValue, valid]) => {\n if (valid) {\n this.configuration.emit(formValue);\n }\n });\n });\n }\n}\n","<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-paragraph [margin]=\"true\" [italic]=\"true\">\n {{ 'getStatustypeInformation' | pluginTranslate: pluginId | async }}\n</v-paragraph>\n<v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null,\n } as obs\"\n>\n <v-input\n name=\"statustype\"\n [title]=\"'statustype' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.statustype\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n [trim]=\"true\"\n [tooltip]=\"'statustypeTooltip' | pluginTranslate: pluginId | async\"\n [fullWidth]=\"true\"\n >\n </v-input>\n <v-input\n name=\"processVariable\"\n [title]=\"'processVariable' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.processVariable\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n [trim]=\"true\"\n [tooltip]=\"'processVariableTooltip' | pluginTranslate: pluginId | async\"\n [fullWidth]=\"true\"\n >\n </v-input>\n</v-form>\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {FunctionConfigurationComponent} from '../../../../models';\nimport {BehaviorSubject, combineLatest, Observable, Subscription, take} from 'rxjs';\nimport {GetBesluittypeConfig} from '../../models';\n\n@Component({\n standalone: false,\n selector: 'valtimo-set-besluittype-configuration',\n templateUrl: './get-besluittype-configuration.component.html',\n styleUrls: ['./get-besluittype-configuration.component.scss'],\n})\nexport class GetBesluittypeConfigurationComponent\n implements FunctionConfigurationComponent, OnInit, OnDestroy\n{\n @Input() save$: Observable<void>;\n @Input() disabled$: Observable<boolean>;\n @Input() pluginId: string;\n @Input() prefillConfiguration$: Observable<GetBesluittypeConfig>;\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() configuration: EventEmitter<GetBesluittypeConfig> =\n new EventEmitter<GetBesluittypeConfig>();\n\n private saveSubscription!: Subscription;\n\n private readonly formValue$ = new BehaviorSubject<GetBesluittypeConfig | null>(null);\n private readonly valid$ = new BehaviorSubject<boolean>(false);\n\n ngOnInit(): void {\n this.openSaveSubscription();\n }\n\n ngOnDestroy() {\n this.saveSubscription?.unsubscribe();\n }\n\n formValueChange(formValue: GetBesluittypeConfig): void {\n this.formValue$.next(formValue);\n this.handleValid(formValue);\n }\n\n private handleValid(formValue: GetBesluittypeConfig): void {\n const valid = !!(formValue.besluittype && formValue.processVariable);\n\n this.valid$.next(valid);\n this.valid.emit(valid);\n }\n\n private openSaveSubscription(): void {\n this.saveSubscription = this.save$?.subscribe(save => {\n combineLatest([this.formValue$, this.valid$])\n .pipe(take(1))\n .subscribe(([formValue, valid]) => {\n if (valid) {\n this.configuration.emit(formValue);\n }\n });\n });\n }\n}\n","<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-paragraph [margin]=\"true\" [italic]=\"true\">\n {{ 'getBesluittypeInformation' | pluginTranslate: pluginId | async }}\n</v-paragraph>\n<v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null,\n } as obs\"\n>\n <v-input\n name=\"besluittype\"\n [title]=\"'besluittype' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.besluittype\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n [trim]=\"true\"\n [tooltip]=\"'besluittypeTooltip' | pluginTranslate: pluginId | async\"\n [fullWidth]=\"true\"\n >\n </v-input>\n <v-input\n name=\"processVariable\"\n [title]=\"'processVariable' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.processVariable\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n [trim]=\"true\"\n [tooltip]=\"'besluitProcessVariableTooltip' | pluginTranslate: pluginId | async\"\n [fullWidth]=\"true\"\n >\n </v-input>\n</v-form>\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {FunctionConfigurationComponent} from '../../../../models';\nimport {BehaviorSubject, combineLatest, Observable, Subscription, take} from 'rxjs';\nimport {GetResultaattypeConfig} from '../../models';\n\n@Component({\n standalone: false,\n selector: 'valtimo-set-resultaattype-configuration',\n templateUrl: './get-resultaattype-configuration.component.html',\n styleUrls: ['./get-resultaattype-configuration.component.scss'],\n})\nexport class GetResultaattypeConfigurationComponent\n implements FunctionConfigurationComponent, OnInit, OnDestroy\n{\n @Input() save$: Observable<void>;\n @Input() disabled$: Observable<boolean>;\n @Input() pluginId: string;\n @Input() prefillConfiguration$: Observable<GetResultaattypeConfig>;\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() configuration: EventEmitter<GetResultaattypeConfig> =\n new EventEmitter<GetResultaattypeConfig>();\n\n private saveSubscription!: Subscription;\n\n private readonly formValue$ = new BehaviorSubject<GetResultaattypeConfig | null>(null);\n private readonly valid$ = new BehaviorSubject<boolean>(false);\n\n ngOnInit(): void {\n this.openSaveSubscription();\n }\n\n ngOnDestroy() {\n this.saveSubscription?.unsubscribe();\n }\n\n formValueChange(formValue: GetResultaattypeConfig): void {\n this.formValue$.next(formValue);\n this.handleValid(formValue);\n }\n\n private handleValid(formValue: GetResultaattypeConfig): void {\n const valid = !!(formValue.resultaattype && formValue.processVariable);\n\n this.valid$.next(valid);\n this.valid.emit(valid);\n }\n\n private openSaveSubscription(): void {\n this.saveSubscription = this.save$?.subscribe(save => {\n combineLatest([this.formValue$, this.valid$])\n .pipe(take(1))\n .subscribe(([formValue, valid]) => {\n if (valid) {\n this.configuration.emit(formValue);\n }\n });\n });\n }\n}\n","<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-paragraph [margin]=\"true\" [italic]=\"true\">\n {{ 'getResultaattypeInformation' | pluginTranslate: pluginId | async }}\n</v-paragraph>\n<v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null,\n } as obs\"\n>\n <v-input\n name=\"resultaattype\"\n [title]=\"'resultaattype' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.resultaattype\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n [trim]=\"true\"\n [tooltip]=\"'resultaattypeTooltip' | pluginTranslate: pluginId | async\"\n [fullWidth]=\"true\"\n >\n </v-input>\n <v-input\n name=\"processVariable\"\n [title]=\"'processVariable' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.processVariable\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n [trim]=\"true\"\n [tooltip]=\"'reslutaatProcessVariableTooltip' | pluginTranslate: pluginId | async\"\n [fullWidth]=\"true\"\n >\n </v-input>\n</v-form>\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {BehaviorSubject, combineLatest, Observable, Subscription, take} from 'rxjs';\nimport {GetEigenschapConfig} from '../../models';\nimport {FunctionConfigurationComponent} from '../../../../models';\n\n@Component({\n standalone: false,\n selector: 'valtimo-get-eigenschap-configuration',\n templateUrl: './get-eigenschap-configuration.component.html',\n styleUrls: ['./get-eigenschap-configuration.component.scss'],\n})\nexport class GetEigenschapConfigurationComponent\n implements FunctionConfigurationComponent, OnInit, OnDestroy\n{\n @Input() public save$: Observable<void>;\n @Input() public disabled$: Observable<boolean>;\n @Input() public pluginId: string;\n @Input() public prefillConfiguration$: Observable<GetEigenschapConfig>;\n @Output() public valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() public configuration: EventEmitter<GetEigenschapConfig> =\n new EventEmitter<GetEigenschapConfig>();\n\n private _saveSubscription!: Subscription;\n\n private readonly formValue$ = new BehaviorSubject<GetEigenschapConfig | null>(null);\n private readonly valid$ = new BehaviorSubject<boolean>(false);\n\n public ngOnInit(): void {\n this.openSaveSubscription();\n }\n\n public ngOnDestroy() {\n this._saveSubscription?.unsubscribe();\n }\n\n public formValueChange(formValue: GetEigenschapConfig): void {\n this.formValue$.next(formValue);\n this.handleValid(formValue);\n }\n\n private handleValid(formValue: GetEigenschapConfig): void {\n const valid = !!(formValue.eigenschap && formValue.processVariable);\n\n this.valid$.next(valid);\n this.valid.emit(valid);\n }\n\n private openSaveSubscription(): void {\n this._saveSubscription = this.save$?.subscribe(save => {\n combineLatest([this.formValue$, this.valid$])\n .pipe(take(1))\n .subscribe(([formValue, valid]) => {\n if (valid) {\n this.configuration.emit(formValue);\n }\n });\n });\n }\n}\n","<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-paragraph [margin]=\"true\" [italic]=\"true\">\n {{ 'getEigenschapInformation' | pluginTranslate: pluginId | async }}\n</v-paragraph>\n\n<v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null,\n } as obs\"\n>\n <v-input\n name=\"eigenschap\"\n [title]=\"'eigenschap' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.eigenschap\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n [trim]=\"true\"\n [tooltip]=\"'eigenschapTooltip' | pluginTranslate: pluginId | async\"\n [fullWidth]=\"true\"\n >\n </v-input>\n\n <v-input\n name=\"processVariable\"\n [title]=\"'processVariable' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.processVariable\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n [trim]=\"true\"\n [tooltip]=\"'eigenschapProcessVariableTooltip' | pluginTranslate: pluginId | async\"\n [fullWidth]=\"true\"\n >\n </v-input>\n</v-form>\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {NgModule} from '@angular/core';\nimport {CatalogiApiConfigurationComponent} from './components/catalogi-api-configuration/catalogi-api-configuration.component';\nimport {CommonModule} from '@angular/common';\nimport {PluginTranslatePipeModule} from '../../pipes';\nimport {FormModule, InputModule, ParagraphModule, SelectModule} from '@valtimo/components';\nimport {GetStatustypeConfigurationComponent} from './components/get-statustype/get-statustype-configuration.component';\nimport {GetBesluittypeConfigurationComponent} from './components/get-besluittype/get-besluittype-configuration.component';\nimport {GetResultaattypeConfigurationComponent} from './components/get-resultaattype/get-resultaattype-configuration.component';\nimport {GetEigenschapConfigurationComponent} from './components/get-eigenschap/get-eigenschap-configuration.component';\n\n@NgModule({\n declarations: [\n CatalogiApiConfigurationComponent,\n GetBesluittypeConfigurationComponent,\n GetResultaattypeConfigurationComponent,\n GetStatustypeConfigurationComponent,\n GetEigenschapConfigurationComponent,\n ],\n imports: [\n CommonModule,\n PluginTranslatePipeModule,\n FormModule,\n InputModule,\n SelectModule,\n ParagraphModule,\n ],\n exports: [\n CatalogiApiConfigurationComponent,\n GetBesluittypeConfigurationComponent,\n GetResultaattypeConfigurationComponent,\n GetStatustypeConfigurationComponent,\n GetEigenschapConfigurationComponent,\n ],\n})\nexport class CatalogiApiPluginModule {}\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nconst CATALOGI_API_PLUGIN_LOGO_BASE64 =\n 'data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB2aWV3Qm94PSIxNTAgMTUgOTYgNTAiPjxkZWZzPjxwYXRoIGlkPSJhIiBkPSJNNTcuMzk2LjIxMUguMjgxdjQ5LjQwNWg1Ny4xMTVWLjIxeiIvPjxwYXRoIGlkPSJjIiBkPSJNNTcuNTY0LjIxMUguNDQ4djQ5LjQwNWg1Ny4xMTZWLjIxeiIvPjwvZGVmcz48ZyBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDE4Ny45MzEgMTUpIj48bWFzayBpZD0iYiIgZmlsbD0iI2ZmZiI+PHVzZSB4bGluazpocmVmPSIjYSIvPjwvbWFzaz48cGF0aCBkPSJNNTcuMzk2IDI0LjkxM2MwLTEzLjU3My0xMS4wMDQtMjQuNjIyLTI0LjU2LTI0LjctLjAyNCAwLS4wNDgtLjAwMy0uMDczLS4wMDNIMjQuNzVhMi41MDQgMi41MDQgMCAxIDAgMCA1LjAxaDcuOTQ1YzEwLjg1OCAwIDE5LjY5NCA4LjgzNCAxOS42OTQgMTkuNjkzIDAgMTAuODYtOC44MzYgMTkuNjk0LTE5LjY5NCAxOS42OTRINS4yODl2LTQuNTc4SC4yODF2OS41ODdoMzIuNDgydi0uMDAxYzEzLjU5LS4wNCAyNC42MzMtMTEuMTA1IDI0LjYzMy0yNC43MDIiIGZpbGw9IiMwMDlGRTQiIG1hc2s9InVybCgjYikiLz48L2c+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTUwIDE1KSI+PG1hc2sgaWQ9ImQiIGZpbGw9IiNmZmYiPjx1c2UgeGxpbms6aHJlZj0iI2MiLz48L21hc2s+PHBhdGggZD0iTS40NDggMjQuOTEzYzAgMTMuNTczIDExLjAwNCAyNC42MjIgMjQuNTYgMjQuNy4wMjQgMCAuMDQ4LjAwMy4wNzMuMDAzaDguMDE0YTIuNTA0IDIuNTA0IDAgMSAwIDAtNS4wMDloLTcuOTQ0Yy0xMC44NTkgMC0xOS42OTQtOC44MzQtMTkuNjk0LTE5LjY5NCAwLTEwLjg1OSA4LjgzNS0xOS42OTQgMTkuNjk0LTE5LjY5NGgyNy40MDR2NC41NzhoNS4wMDlWLjIxSDI1LjA4di4wMDFDMTEuNDkuMjUxLjQ0OCAxMS4zMTYuNDQ4IDI0LjkxMyIgZmlsbD0iIzAwOUZFNCIgbWFzaz0idXJsKCNkKSIvPjwvZz48cGF0aCBmaWxsPSIjMDA0Mzg4IiBkPSJNMTc2LjAxNyA0Mi4xMTZsLTQuNjc4LTEyLjQwMWgtNS42NjRsOC4xNCAyMC4zNjZoMy45MjFsOC40MDEtMjAuMzY2aC01LjM2M3ptMjYuNTQyLjU1OGwtNy45MjgtMTIuOTU5aC02LjQxM3YyMC4zNjdoNC45OTdWMzYuNzg3bDguMTUgMTMuMjk1aDYuMTlWMjkuNzE1aC00Ljk5NnptMTkuMzIzLTQuOTR2NC42NjNoMy41Mzd2Mi42NzdhOS43NzMgOS43NzMgMCAwIDEtMS40MTQuNTRjLS42NTIuMjAzLTEuNDQzLjMwNi0yLjM1NC4zMDYtLjg4IDAtMS42ODYtLjE1LTIuMzk0LS40NDhhNS4zMzggNS4zMzggMCAwIDEtMS44MjQtMS4yNDcgNS41MjIgNS41MjIgMCAwIDEtMS4xNy0xLjg5NGMtLjI3Mi0uNzI5LS40MS0xLjU0OS0uNDEtMi40MzMgMC0uODY3LjEzOC0xLjY4MS40MS0yLjQyYTUuNTAyIDUuNTAyIDAgMCAxIDEuMTctMS45MDggNS4zNzQgNS4zNzQgMCAwIDEgMS44MjQtMS4yNDZjLjcwOS0uMjk4IDEuNTE0LS40NDkgMi4zOTQtLjQ0OSAxLjA2NCAwIDEuOTU5LjE1MSAyLjY1Ny40NDkuNy4yOTcgMS4zMzguNzQgMS44OTggMS4zMThsLjI0Mi4yNDggMy41MTUtMy44MzUtLjIzNy0uMjIxYTguOTIzIDguOTIzIDAgMCAwLTMuNjI3LTIuMDM4Yy0xLjM1LS4zODYtMi44NDctLjU4My00LjQ0OC0uNTgzLTEuNTcyIDAtMy4wNDQuMjUtNC4zNzMuNzQ1YTEwLjEzOSAxMC4xMzkgMCAwIDAtMy40ODEgMi4xNDNjLS45NzUuOTI4LTEuNzQ2IDIuMDY2LTIuMjkgMy4zODQtLjU0MyAxLjMxNS0uODE5IDIuOC0uODE5IDQuNDEzIDAgMS42MTMuMjc2IDMuMDk4LjgyIDQuNDEzLjU0NSAxLjMxOSAxLjMxNCAyLjQ1NyAyLjI4OSAzLjM4NC45NzQuOTI2IDIuMTQ2IDEuNjQ3IDMuNDggMi4xNDMgMS4zMy40OTQgMi44MDIuNzQ0IDQuMzc0Ljc0NCAxLjQ2NCAwIDIuOTItLjE1MiA0LjMzLS40NTJhMTYuMDU0IDE2LjA1NCAwIDAgMCA0LjA5LTEuNDc4bC4xNzctLjA5VjM3LjczM2gtOC4zNjZ6Ii8+PC9nPjwvc3ZnPg==';\n\nexport {CATALOGI_API_PLUGIN_LOGO_BASE64};\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport * from './catalogi-api-plugin-logo';\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {PluginSpecification} from '../../models';\nimport {CatalogiApiConfigurationComponent} from './components/catalogi-api-configuration/catalogi-api-configuration.component';\nimport {CATALOGI_API_PLUGIN_LOGO_BASE64} from './assets';\nimport {GetStatustypeConfigurationComponent} from './components/get-statustype/get-statustype-configuration.component';\nimport {GetBesluittypeConfigurationComponent} from './components/get-besluittype/get-besluittype-configuration.component';\nimport {GetResultaattypeConfigurationComponent} from './components/get-resultaattype/get-resultaattype-configuration.component';\nimport {GetEigenschapConfigurationComponent} from './components/get-eigenschap/get-eigenschap-configuration.component';\n\nconst catalogiApiPluginSpecification: PluginSpecification = {\n pluginId: 'catalogiapi',\n pluginConfigurationComponent: CatalogiApiConfigurationComponent,\n pluginLogoBase64: CATALOGI_API_PLUGIN_LOGO_BASE64,\n functionConfigurationComponents: {\n 'get-besluittype': GetBesluittypeConfigurationComponent,\n 'get-resultaattype': GetResultaattypeConfigurationComponent,\n 'get-statustype': GetStatustypeConfigurationComponent,\n 'get-eigenschap': GetEigenschapConfigurationComponent,\n },\n pluginTranslations: {\n nl: {\n title: 'Catalogi API',\n url: 'Catalogi API URL',\n urlTooltip: 'Een URL naar de REST API van Catalogi',\n description:\n 'API voor opslag en ontsluiting van zaaktype-catalogi, zaaktypen en onderliggende typen.',\n configurationTitle: 'Configuratienaam',\n configurationTitleTooltip:\n 'De naam van de huidige plugin-configuratie. Onder deze naam kan de configuratie in de rest van de applicatie teruggevonden worden.',\n authenticationPluginConfiguration: 'Configuratie authenticatie-plug-in',\n 'get-statustype': 'Statustype opvragen',\n getStatustypeInformation:\n 'De statustype wordt opgehaald en daarna opgeslagen in een procesvariabele.',\n statustype: 'Statustype',\n statustypeTooltip: 'Generieke aanduiding van de aard van een status.',\n processVariable: 'Naam procesvariabele',\n processVariableTooltip:\n 'Nadat de statustype is opgehaald, wordt deze opgeslagen in een procesvariabele met deze naam.',\n 'get-besluittype': 'Besluittype opvragen',\n getBesluittypeInformation:\n 'Het besluittype wordt opgehaald en daarna opgeslagen in een procesvariabele.',\n besluittype: 'Besluittype',\n besluittypeTooltip: 'Omschrijving van de aard van het besluit.',\n besluitProcessVariableTooltip:\n 'Nadat de besluittype is opgehaald, wordt deze opgeslagen in een procesvariabele met deze naam.',\n 'get-resultaattype': 'Resultaattype opvragen',\n getResultaattypeInformation:\n 'Het resultaattype wordt opgehaald en daarna opgeslagen in een procesvariabele.',\n resultaattype: 'Resultaattype',\n resultaattypeTooltip: 'Omschrijving van de aard van het resultaat.',\n reslutaatProcessVariableTooltip:\n 'Nadat de resultaattype is opgehaald, wordt deze opgeslagen in een procesvariabele met deze naam.',\n 'get-eigenschap': 'Eigenschap opvragen',\n getEigenschapInformation:\n 'De eigenschap wordt opgehaald en daarna opgeslagen in een procesvariabele',\n eigenschap: 'Eigenschap',\n eigenschapTooltip: 'Naam van de aard van het eigenschaap.',\n eigenschapProcessVariableTooltip:\n 'Nadat de eigenschap is opgehaald, wordt deze opgeslagen in een procesvariabele met deze naam.',\n },\n en: {\n title: 'Catalogi API',\n url: 'Catalogi API URL',\n urlTooltip: 'A URL to the REST API of Catalogi',\n description: 'API for storage and retrieval of zaaktype catalogs, zaaktypes and child types.',\n configurationTitle: 'Configuration name',\n configurationTitleTooltip:\n 'The name of the current plugin configuration. Under this name, the configuration can be found in the rest of the application.',\n authenticationPluginConfiguration: 'Authentication plugin configuration',\n 'get-statustype': 'Retrieve statustype',\n getStatustypeInformation:\n 'The statustype is retrieved and then stored in a process variable.',\n statustype: 'Statustype',\n statustypeTooltip: 'Generic indication of the nature of a status.',\n processVariable: 'Process variable name',\n processVariableTooltip:\n 'Once the statustype is retrieved, it is stored in a process variable with the given name.',\n 'get-besluittype': 'Retrieve besluittype',\n getBesluittypeInformation:\n 'The besluittype is retrieved and then stored in a process variable.',\n besluittype: 'Besluittype',\n besluittypeTooltip: 'Description of the nature of the decision.',\n besluitProcessVariableTooltip:\n 'After the besluittype is retrieved, it is stored in a process variable with this name.',\n 'get-resultaattype': 'Retrieve resultaattype',\n getResultaattypeInformation:\n 'The resultaattype is retrieved and then stored in a process variable.',\n resultaattype: 'Resultaattype',\n resultaattypeTooltip: 'Description of the nature of the result.',\n reslutaatProcessVariableTooltip:\n 'After the resultaattype is retrieved, it is stored in a process variable with this name.',\n 'get-eigenschap': 'Retrieve eigenschap',\n getEigenschapInformation: 'The eigenschap is retrieved and then stored in a process variable',\n eigenschap: 'Eigenschap',\n eigenschapTooltip: 'Name of the nature of the eigenschaap.',\n eigenschapProcessVariableTooltip:\n 'After the eigenschap is retrieved, it is stored in a process variable with this name.',\n },\n de: {\n title: 'Catalogi API',\n url: 'Catalogi API URL',\n urlTooltip: 'Die URL zur REST API von Catalogi',\n description:\n 'API zum Speichern und Abrufen von Falltypkatalogen, Falltypen und untergeordneten Typen.',\n configurationTitle: 'Konfigurationsname',\n configurationTitleTooltip:\n 'Der Name der aktuellen Plugin-Konfiguration. Unter diesem Namen ist die Konfiguration im Rest der Anwendung zu finden.',\n authenticationPluginConfiguration: 'Authentifizierungs-Plugin-Konfiguration',\n 'get-statustype': 'Statustype anfordern',\n getStatustypeInformation:\n 'Der Statustyp wird abgerufen und dann in einer Prozessvariablen gespeichert.',\n statustype: 'Statustype',\n statustypeTooltip: 'Generische Angabe der Art eines Status.',\n processVariable: 'Prozessvariablenname',\n processVariableTooltip:\n 'Sobald der Statustype abgerufen wurde, wird er in einer Prozessvariablen mit diesem Namen gespeichert.',\n 'get-besluittype': 'Besluittype anfordern',\n getBesluittypeInformation:\n 'Der besluittype wird abgerufen und dann in einer Prozessvariablen gespeichert.',\n besluittype: 'Besluittype',\n besluittypeTooltip: 'Beschreibung der Art der besluit.',\n besluitProcessVariableTooltip:\n 'Sobald der besluittype abgerufen wurde, wird er in einer Prozessvariablen mit diesem Namen gespeichert.',\n 'get-resultaattype': 'Resultaattype anfordern',\n getResultaattypeInformation:\n 'Der resultaattype wird abgerufen und dann in einer Prozessvariablen gespeichert.',\n resultaattype: 'Resultaattype',\n resultaattypeTooltip: 'Beschreibung der Art der resultaat.',\n reslutaatProcessVariableTooltip:\n 'Sobald der resultaattype abgerufen wurde, wird er in einer Prozessvariablen mit diesem Namen gespeichert.',\n 'get-eigenschap': 'Eigenschap anfordern',\n getEigenschapInformation:\n 'Der eigenschap wird abgerufen und dann in einer Prozessvariablen gespeichert.',\n eigenschap: 'Eigenschap',\n eigenschapTooltip: 'Name der Art der eigenschap.',\n eigenschapProcessVariableTooltip:\n 'Sobald der eigenschap abgerufen wurde, wird er in einer Prozessvariablen mit diesem Namen gespeichert.',\n },\n },\n};\n\nexport {catalogiApiPluginSpecification};\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {PluginConfigurationComponent} from '../../../../models';\nimport {BehaviorSubject, combineLatest, map, Observable, Subscription, take} from 'rxjs';\nimport {NotificatiesApiConfig} from '../../models';\nimport {PluginManagementService, PluginTranslationService} from '../../../../services';\nimport {TranslateService} from '@ngx-translate/core';\n\n@Component({\n standalone: false,\n selector: 'valtimo-notificaties-api-configuration',\n templateUrl: './notificaties-api-configuration.component.html',\n styleUrls: ['./notificaties-api-configuration.component.scss'],\n})\nexport class NotificatiesApiConfigurationComponent\n implements PluginConfigurationComponent, OnInit, OnDestroy\n{\n @Input() save$: Observable<void>;\n @Input() disabled$: Observable<boolean>;\n @Input() pluginId: string;\n @Input() prefillConfiguration$: Observable<NotificatiesApiConfig>;\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() configuration: EventEmitter<NotificatiesApiConfig> =\n new EventEmitter<NotificatiesApiConfig>();\n readonly authenticationPluginSelectItems$: Observable<Array<{id: string; text: string}>> =\n combineLatest([\n this.pluginManagementService.getPluginConfigurationsByCategory(\n 'notificaties-api-authentication'\n ),\n this.translateService.stream('key'),\n ]).pipe(\n map(([configurations]) =>\n configurations.map(configuration => ({\n id: configuration.id,\n text: `${configuration.title} - ${this.pluginTranslationService.instant(\n 'title',\n configuration.pluginDefinition.key\n )}`,\n }))\n )\n );\n private saveSubscription!: Subscription;\n private readonly formValue$ = new BehaviorSubject<NotificatiesApiConfig | null>(null);\n private readonly valid$ = new BehaviorSubject<boolean>(false);\n\n constructor(\n private readonly pluginManagementService: PluginManagementService,\n private readonly translateService: TranslateService,\n private readonly pluginTranslationService: PluginTranslationService\n ) {}\n\n ngOnInit(): void {\n this.openSaveSubscription();\n }\n\n ngOnDestroy() {\n this.saveSubscription?.unsubscribe();\n }\n\n formValueChange(formValue: NotificatiesApiConfig): void {\n this.formValue$.next(formValue);\n this.handleValid(formValue);\n }\n\n private handleValid(formValue: NotificatiesApiConfig): void {\n const valid = !!(formValue.configurationTitle && formValue.url && formValue.callbackUrl);\n\n this.valid$.next(valid);\n this.valid.emit(valid);\n }\n\n private openSaveSubscription(): void {\n this.saveSubscription = this.save$?.subscribe(save => {\n combineLatest([this.formValue$, this.valid$])\n .pipe(take(1))\n .subscribe(([formValue, valid]) => {\n if (valid) {\n this.configuration.emit(formValue);\n }\n });\n });\n }\n}\n","<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null,\n } as obs\"\n>\n <v-input\n name=\"configurationTitle\"\n [title]=\"'configurationTitle' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.configurationTitle\"\n [required]=\"true\"\n [trim]=\"true\"\n [tooltip]=\"'configurationTitleTooltip' | pluginTranslate: pluginId | async\"\n placeholder=\"Notificaties API Plugin\"\n >\n </v-input>\n <v-input\n name=\"url\"\n [title]=\"'url' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.url\"\n [required]=\"true\"\n [trim]=\"true\"\n [tooltip]=\"'urlTooltip' | pluginTranslate: pluginId | async\"\n placeholder=\"https://opennotificaties.example.com/api/v1/\"\n >\n </v-input>\n <v-input\n name=\"callbackUrl\"\n [title]=\"'callbackUrl' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.callbackUrl\"\n [required]=\"true\"\n [trim]=\"true\"\n [tooltip]=\"'callbackUrlTooltip' | pluginTranslate: pluginId | async\"\n placeholder=\"https://{gzac-back-end-url}/api/v1/notificatiesapi/callback\"\n >\n </v-input>\n <ng-container\n *ngIf=\"{authenticationPluginSelectItems: authenticationPluginSelectItems$ | async} as authObs\"\n >\n <v-select\n [items]=\"authObs.authenticationPluginSelectItems\"\n [margin]=\"true\"\n name=\"authenticationPluginConfiguration\"\n [title]=\"'authenticationPluginConfiguration' | pluginTranslate: pluginId | async\"\n [disabled]=\"obs.disabled\"\n [defaultSelectionId]=\"obs.prefill?.authenticationPluginConfiguration\"\n [required]=\"true\"\n [loading]=\"!authObs.authenticationPluginSelectItems\"\n ></v-select>\n </ng-container>\n</v-form>\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {NgModule} from '@angular/core';\nimport {NotificatiesApiConfigurationComponent} from './components/notificaties-api-configuration/notificaties-api-configuration.component';\nimport {PluginTranslatePipeModule} from '../../pipes';\nimport {CommonModule} from '@angular/common';\nimport {FormModule, InputModule, ParagraphModule, SelectModule} from '@valtimo/components';\n\n@NgModule({\n declarations: [NotificatiesApiConfigurationComponent],\n imports: [\n CommonModule,\n PluginTranslatePipeModule,\n FormModule,\n InputModule,\n SelectModule,\n ParagraphModule,\n ],\n exports: [NotificatiesApiConfigurationComponent],\n})\nexport class NotificatiesApiPluginModule {}\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nconst NOTIFICATIES_API_PLUGIN_LOGO_BASE64 =\n 'data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB2aWV3Qm94PSIxNTAgMTUgOTYgNTAiPjxkZWZzPjxwYXRoIGlkPSJhIiBkPSJNNTcuMzk2LjIxMUguMjgxdjQ5LjQwNWg1Ny4xMTVWLjIxeiIvPjxwYXRoIGlkPSJjIiBkPSJNNTcuNTY0LjIxMUguNDQ4djQ5LjQwNWg1Ny4xMTZWLjIxeiIvPjwvZGVmcz48ZyBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDE4Ny45MzEgMTUpIj48bWFzayBpZD0iYiIgZmlsbD0iI2ZmZiI+PHVzZSB4bGluazpocmVmPSIjYSIvPjwvbWFzaz48cGF0aCBkPSJNNTcuMzk2IDI0LjkxM2MwLTEzLjU3My0xMS4wMDQtMjQuNjIyLTI0LjU2LTI0LjctLjAyNCAwLS4wNDgtLjAwMy0uMDczLS4wMDNIMjQuNzVhMi41MDQgMi41MDQgMCAxIDAgMCA1LjAxaDcuOTQ1YzEwLjg1OCAwIDE5LjY5NCA4LjgzNCAxOS42OTQgMTkuNjkzIDAgMTAuODYtOC44MzYgMTkuNjk0LTE5LjY5NCAxOS42OTRINS4yODl2LTQuNTc4SC4yODF2OS41ODdoMzIuNDgydi0uMDAxYzEzLjU5LS4wNCAyNC42MzMtMTEuMTA1IDI0LjYzMy0yNC43MDIiIGZpbGw9IiMwMDlGRTQiIG1hc2s9InVybCgjYikiLz48L2c+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTUwIDE1KSI+PG1hc2sgaWQ9ImQiIGZpbGw9IiNmZmYiPjx1c2UgeGxpbms6aHJlZj0iI2MiLz48L21hc2s+PHBhdGggZD0iTS40NDggMjQuOTEzYzAgMTMuNTczIDExLjAwNCAyNC42MjIgMjQuNTYgMjQuNy4wMjQgMCAuMDQ4LjAwMy4wNzMuMDAzaDguMDE0YTIuNTA0IDIuNTA0IDAgMSAwIDAtNS4wMDloLTcuOTQ0Yy0xMC44NTkgMC0xOS42OTQtOC44MzQtMTkuNjk0LTE5LjY5NCAwLTEwLjg1OSA4LjgzNS0xOS42OTQgMTkuNjk0LTE5LjY5NGgyNy40MDR2NC41NzhoNS4wMDlWLjIxSDI1LjA4di4wMDFDMTEuNDkuMjUxLjQ0OCAxMS4zMTYuNDQ4IDI0LjkxMyIgZmlsbD0iIzAwOUZFNCIgbWFzaz0idXJsKCNkKSIvPjwvZz48cGF0aCBmaWxsPSIjMDA0Mzg4IiBkPSJNMTc2LjAxNyA0Mi4xMTZsLTQuNjc4LTEyLjQwMWgtNS42NjRsOC4xNCAyMC4zNjZoMy45MjFsOC40MDEtMjAuMzY2aC01LjM2M3ptMjYuNTQyLjU1OGwtNy45MjgtMTIuOTU5aC02LjQxM3YyMC4zNjdoNC45OTdWMzYuNzg3bDguMTUgMTMuMjk1aDYuMTlWMjkuNzE1aC00Ljk5NnptMTkuMzIzLTQuOTR2NC42NjNoMy41Mzd2Mi42NzdhOS43NzMgOS43NzMgMCAwIDEtMS40MTQuNTRjLS42NTIuMjAzLTEuNDQzLjMwNi0yLjM1NC4zMDYtLjg4IDAtMS42ODYtLjE1LTIuMzk0LS40NDhhNS4zMzggNS4zMzggMCAwIDEtMS44MjQtMS4yNDcgNS41MjIgNS41MjIgMCAwIDEtMS4xNy0xLjg5NGMtLjI3Mi0uNzI5LS40MS0xLjU0OS0uNDEtMi40MzMgMC0uODY3LjEzOC0xLjY4MS40MS0yLjQyYTUuNTAyIDUuNTAyIDAgMCAxIDEuMTctMS45MDggNS4zNzQgNS4zNzQgMCAwIDEgMS44MjQtMS4yNDZjLjcwOS0uMjk4IDEuNTE0LS40NDkgMi4zOTQtLjQ0OSAxLjA2NCAwIDEuOTU5LjE1MSAyLjY1Ny40NDkuNy4yOTcgMS4zMzguNzQgMS44OTggMS4zMThsLjI0Mi4yNDggMy41MTUtMy44MzUtLjIzNy0uMjIxYTguOTIzIDguOTIzIDAgMCAwLTMuNjI3LTIuMDM4Yy0xLjM1LS4zODYtMi44NDctLjU4My00LjQ0OC0uNTgzLTEuNTcyIDAtMy4wNDQuMjUtNC4zNzMuNzQ1YTEwLjEzOSAxMC4xMzkgMCAwIDAtMy40ODEgMi4xNDNjLS45NzUuOTI4LTEuNzQ2IDIuMDY2LTIuMjkgMy4zODQtLjU0MyAxLjMxNS0uODE5IDIuOC0uODE5IDQuNDEzIDAgMS42MTMuMjc2IDMuMDk4LjgyIDQuNDEzLjU0NSAxLjMxOSAxLjMxNCAyLjQ1NyAyLjI4OSAzLjM4NC45NzQuOTI2IDIuMTQ2IDEuNjQ3IDMuNDggMi4xNDMgMS4zMy40OTQgMi44MDIuNzQ0IDQuMzc0Ljc0NCAxLjQ2NCAwIDIuOTItLjE1MiA0LjMzLS40NTJhMTYuMDU0IDE2LjA1NCAwIDAgMCA0LjA5LTEuNDc4bC4xNzctLjA5VjM3LjczM2gtOC4zNjZ6Ii8+PC9nPjwvc3ZnPg==';\n\nexport {NOTIFICATIES_API_PLUGIN_LOGO_BASE64};\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {PluginSpecification} from '../../models';\nimport {NotificatiesApiConfigurationComponent} from './components/notificaties-api-configuration/notificaties-api-configuration.component';\nimport {NOTIFICATIES_API_PLUGIN_LOGO_BASE64} from './assets/notificaties-api-plugin-logo';\n\nconst notificatiesApiPluginSpecification: PluginSpecification = {\n pluginId: 'notificatiesapi',\n pluginConfigurationComponent: NotificatiesApiConfigurationComponent,\n pluginLogoBase64: NOTIFICATIES_API_PLUGIN_LOGO_BASE64,\n pluginTranslations: {\n nl: {\n title: 'Notificaties API',\n url: 'Notificaties API URL',\n urlTooltip: 'Een URL naar de REST API van Notificaties',\n callbackUrl: 'Callback URL',\n callbackUrlTooltip: 'Het GZAC API-endpoint waar notificaties naartoe moeten worden gestuurd.',\n description: 'Een API om een notificatierouteringscomponent te benaderen.',\n configurationTitle: 'Configuratienaam',\n configurationTitleTooltip:\n 'De naam van de huidige plugin-configuratie. Onder deze naam kan de configuratie in de rest van de applicatie teruggevonden worden.',\n authenticationPluginConfiguration: 'Configuratie authenticatie-plug-in',\n },\n en: {\n title: 'Notificaties API',\n url: 'Notificaties API URL',\n urlTooltip: 'A URL to the REST API of Notificaties',\n callbackUrl: 'Callback URL',\n callbackUrlTooltip: 'The GZAC API-endpoint where notifications should be sent.',\n description: 'An API to access a notification routing component.',\n configurationTitle: 'Configuration name',\n configurationTitleTooltip:\n 'The name of the current plugin configuration. Under this name, the configuration can be found in the rest of the application.',\n authenticationPluginConfiguration: 'Authentication plugin configuration',\n },\n de: {\n title: 'Notificaties API',\n url: 'Notificaties API URL',\n urlTooltip: 'Die URL zur REST API von Notificaties',\n callbackUrl: 'Callback URL',\n callbackUrlTooltip:\n 'Der GZAC-API-endpoint, an den Benachrichtigungen gesendet werden sollen.',\n description: 'Eine API für den Zugriff auf eine Komponente für das Benachrichtigungsrouting.',\n configurationTitle: 'Konfigurationsname',\n configurationTitleTooltip:\n 'Der Name der aktuellen Plugin-Konfiguration. Unter diesem Namen ist die Konfiguration im Rest der Anwendung zu finden.',\n authenticationPluginConfiguration: 'Authentifizierungs-Plugin-Konfiguration',\n },\n },\n};\n\nexport {notificatiesApiPluginSpecification};\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {PluginConfigurationComponent} from '../../../../models';\nimport {BehaviorSubject, combineLatest, Observable, Subscription, take} from 'rxjs';\nimport {OpenNotificatiesConfig} from '../../models';\n\n@Component({\n standalone: false,\n selector: 'valtimo-open-notificaties-configuration',\n templateUrl: './open-notificaties-configuration.component.html',\n styleUrls: ['./open-notificaties-configuration.component.scss'],\n})\nexport class OpenNotificatiesConfigurationComponent\n implements PluginConfigurationComponent, OnInit, OnDestroy\n{\n @Input() save$: Observable<void>;\n @Input() disabled$: Observable<boolean>;\n @Input() pluginId: string;\n @Input() prefillConfiguration$: Observable<OpenNotificatiesConfig>;\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() configuration: EventEmitter<OpenNotificatiesConfig> =\n new EventEmitter<OpenNotificatiesConfig>();\n\n private saveSubscription!: Subscription;\n\n private readonly formValue$ = new BehaviorSubject<OpenNotificatiesConfig | null>(null);\n private readonly valid$ = new BehaviorSubject<boolean>(false);\n\n ngOnInit(): void {\n this.openSaveSubscription();\n }\n\n ngOnDestroy() {\n this.saveSubscription?.unsubscribe();\n }\n\n formValueChange(formValue: OpenNotificatiesConfig): void {\n this.formValue$.next(formValue);\n this.handleValid(formValue);\n }\n\n private handleValid(formValue: OpenNotificatiesConfig): void {\n const valid = !!(formValue.configurationTitle && formValue.clientId && formValue.clientSecret);\n\n this.valid$.next(valid);\n this.valid.emit(valid);\n }\n\n private openSaveSubscription(): void {\n this.saveSubscription = this.save$?.subscribe(save => {\n combineLatest([this.formValue$, this.valid$])\n .pipe(take(1))\n .subscribe(([formValue, valid]) => {\n if (valid) {\n this.configuration.emit(formValue);\n }\n });\n });\n }\n}\n","<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null,\n } as obs\"\n>\n <v-input\n name=\"configurationTitle\"\n [title]=\"'configurationTitle' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.configurationTitle\"\n [required]=\"true\"\n [trim]=\"true\"\n [tooltip]=\"'configurationTitleTooltip' | pluginTranslate: pluginId | async\"\n placeholder=\"Open Notificaties Plugin\"\n >\n </v-input>\n <v-input\n name=\"clientId\"\n [title]=\"'clientId' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.clientId\"\n [required]=\"true\"\n [tooltip]=\"'clientIdTooltip' | pluginTranslate: pluginId | async\"\n placeholder=\"client-id\"\n >\n </v-input>\n <v-input\n name=\"clientSecret\"\n type=\"password\"\n [title]=\"'clientSecret' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.clientSecret\"\n [required]=\"true\"\n [tooltip]=\"'clientSecretTooltip' | pluginTranslate: pluginId | async\"\n >\n </v-input>\n</v-form>\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {NgModule} from '@angular/core';\nimport {CommonModule} from '@angular/common';\nimport {OpenNotificatiesConfigurationComponent} from './components/open-notificaties-configuration/open-notificaties-configuration.component';\nimport {FormModule, InputModule} from '@valtimo/components';\nimport {PluginTranslatePipeModule} from '../../pipes';\n\n@NgModule({\n declarations: [OpenNotificatiesConfigurationComponent],\n imports: [CommonModule, FormModule, InputModule, PluginTranslatePipeModule],\n exports: [OpenNotificatiesConfigurationComponent],\n})\nexport class OpenNotificatiesPluginModule {}\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nconst OPEN_NOTIFICATIES_PLUGIN_LOGO_BASE64 =\n 'data:image/png;base64,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';\n\nexport {OPEN_NOTIFICATIES_PLUGIN_LOGO_BASE64};\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport * from './open-notificaties-plugin-logo';\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {PluginSpecification} from '../../models';\nimport {OpenNotificatiesConfigurationComponent} from './components/open-notificaties-configuration/open-notificaties-configuration.component';\nimport {OPEN_NOTIFICATIES_PLUGIN_LOGO_BASE64} from './assets';\n\nconst openNotificatiesPluginSpecification: PluginSpecification = {\n pluginId: 'notificatiesapiauthentication',\n pluginConfigurationComponent: OpenNotificatiesConfigurationComponent,\n pluginLogoBase64: OPEN_NOTIFICATIES_PLUGIN_LOGO_BASE64,\n pluginTranslations: {\n nl: {\n title: 'OpenNotificaties',\n description:\n 'OpenNotificaties is een productiewaardig API platform die de API-standaard voor zaakgericht werken implementeert (de ZGW-API’s).',\n configurationTitle: 'Configuratienaam',\n configurationTitleTooltip:\n 'Onder deze naam zal de plugin te herkennen zijn in de rest van de applicatie',\n clientId: 'Client ID',\n clientIdTooltip:\n 'Vul hier het clientId in dat geconfigureerd staat onder OpenNotificaties-beheer (zie API authorisaties > Applicaties). Dit clientId moet de juiste authorisaties hebben voor de benodigde functionaliteit',\n clientSecret: 'Secret',\n clientSecretTooltip: 'Vul de secret in die hoort bij de clientId hierboven',\n },\n en: {\n title: 'OpenNotificaties',\n description:\n 'OpenNotificaties is a production-worthy API platform that implements the API standard for case-oriented working (the ZGW APIs).',\n configurationTitle: 'Configuration name',\n configurationTitleTooltip:\n 'Under this name, the plugin will be recognizable in the rest of the application',\n clientId: 'Client ID',\n clientIdTooltip:\n 'Enter the clientId here which is configured under OpenNotificaties management (see API authorizations > Applications). This clientId must have the correct authorizations for the required functionality',\n clientSecret: 'Secret',\n clientSecretTooltip: 'Enter the secret associated with the clientId above',\n },\n de: {\n title: 'OpenNotificaties',\n description:\n 'OpenNotificaties ist eine produktionstaugliche API-Plattform, die den API-Standard für fallorientiertes Arbeiten (die ZGW-APIs) implementiert.',\n configurationTitle: 'Konfigurationsname',\n configurationTitleTooltip:\n 'Unter diesem Namen wird das Plugin im Rest der Anwendung erkennbar sein',\n clientId: 'Client ID',\n clientIdTooltip:\n 'Geben Sie hier die clientId ein, die unter OpenNotificaties-Verwaltung konfiguriert ist (siehe API-Berechtigungen > Anwendungen). Diese clientId muss die richtigen Berechtigungen für die erforderliche Funktionalität haben',\n clientSecret: 'Secret',\n clientSecretTooltip: 'Geben Sie das mit der obigen clientId verknüpfte Geheimnis ein',\n },\n },\n};\n\nexport {openNotificatiesPluginSpecification};\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Injectable} from '@angular/core';\nimport {Observable} from 'rxjs';\nimport {HttpClient} from '@angular/common/http';\nimport {ConfigService} from '@valtimo/shared';\nimport {Objecttype} from '../models';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ObjectService {\n private valtimoEndpointUri: string;\n\n constructor(\n private http: HttpClient,\n configService: ConfigService\n ) {\n this.valtimoEndpointUri = configService.config.valtimoApi.endpointUri;\n }\n\n public getAllObjects(): Observable<Objecttype[]> {\n return this.http.get<Objecttype[]>(\n `${this.valtimoEndpointUri}v1/object/management/configuration`\n );\n }\n}\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport * from './object.service';\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {PluginConfigurationComponent} from '../../../../models';\nimport {BehaviorSubject, combineLatest, map, Observable, Subscription, take} from 'rxjs';\nimport {PortaaltaakConfig} from '../../models';\nimport {PluginManagementService, PluginTranslationService} from '../../../../services';\nimport {TranslateService} from '@ngx-translate/core';\nimport {SelectItem} from '@valtimo/components';\nimport {ProcessService} from '@valtimo/process';\nimport {ObjectService} from '../../services';\n\n@Component({\n standalone: false,\n selector: 'valtimo-portaaltaak-configuration',\n templateUrl: './portaaltaak-configuration.component.html',\n styleUrls: ['./portaaltaak-configuration.component.scss'],\n})\nexport class PortaaltaakConfigurationComponent\n implements PluginConfigurationComponent, OnInit, OnDestroy\n{\n @Input() save$: Observable<void>;\n @Input() disabled$: Observable<boolean>;\n @Input() pluginId: string;\n @Input() prefillConfiguration$: Observable<PortaaltaakConfig>;\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() configuration: EventEmitter<PortaaltaakConfig> = new EventEmitter<PortaaltaakConfig>();\n readonly notificatiesApiPluginSelectItems$: Observable<Array<SelectItem>> = combineLatest([\n this.pluginManagementService.getPluginConfigurationsByPluginDefinitionKey('notificatiesapi'),\n this.translateService.stream('key'),\n ]).pipe(\n map(([configurations]) =>\n configurations.map(configuration => ({\n id: configuration.id,\n text: `${configuration.title} - ${this.pluginTranslationService.instant(\n 'title',\n configuration.pluginDefinition.key\n )}`,\n }))\n )\n );\n readonly objectManagementConfigurationItems$: Observable<Array<SelectItem>> = combineLatest([\n this.objectManagementService.getAllObjects(),\n this.translateService.stream('key'),\n ]).pipe(\n map(([objectManagementConfigurations]) =>\n objectManagementConfigurations.map(configuration => ({\n id: configuration.id,\n text: `${configuration.title}`,\n }))\n )\n );\n\n readonly processSelectItems$: Observable<Array<SelectItem>> = this.processService\n .getProcessDefinitions()\n .pipe(\n map(processDefinitions =>\n processDefinitions.map(processDefinition => ({\n id: processDefinition.key,\n text: processDefinition.name,\n }))\n )\n );\n\n private saveSubscription!: Subscription;\n private readonly formValue$ = new BehaviorSubject<PortaaltaakConfig | null>(null);\n private readonly valid$ = new BehaviorSubject<boolean>(false);\n\n constructor(\n private readonly pluginManagementService: PluginManagementService,\n private readonly objectManagementService: ObjectService,\n private readonly translateService: TranslateService,\n private readonly pluginTranslationService: PluginTranslationService,\n private readonly processService: ProcessService\n ) {}\n\n ngOnInit(): void {\n this.openSaveSubscription();\n }\n\n ngOnDestroy() {\n this.saveSubscription?.unsubscribe();\n }\n\n formValueChange(formValue: PortaaltaakConfig): void {\n this.formValue$.next(formValue);\n this.handleValid(formValue);\n }\n\n private handleValid(formValue: PortaaltaakConfig): void {\n const valid = !!(\n formValue.configurationTitle &&\n formValue.notificatiesApiPluginConfiguration &&\n formValue.objectManagementConfigurationId\n );\n\n this.valid$.next(valid);\n this.valid.emit(valid);\n }\n\n private openSaveSubscription(): void {\n this.saveSubscription = this.save$?.subscribe(save => {\n combineLatest([this.formValue$, this.valid$])\n .pipe(take(1))\n .subscribe(([formValue, valid]) => {\n if (valid) {\n this.configuration.emit(formValue);\n }\n });\n });\n }\n}\n","<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null,\n } as obs\"\n>\n <v-input\n name=\"configurationTitle\"\n [title]=\"'configurationTitle' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.configurationTitle\"\n [required]=\"true\"\n [trim]=\"true\"\n [tooltip]=\"'configurationTitleTooltip' | pluginTranslate: pluginId | async\"\n placeholder=\"Portaaltaak Plugin\"\n >\n </v-input>\n <ng-container\n *ngIf=\"notificatiesApiPluginSelectItems$ | async as notificatiesApiPluginSelectItems\"\n >\n <v-select\n [items]=\"notificatiesApiPluginSelectItems\"\n [margin]=\"true\"\n name=\"notificatiesApiPluginConfiguration\"\n [title]=\"'notificatiesApiPluginConfiguration' | pluginTranslate: pluginId | async\"\n [disabled]=\"obs.disabled\"\n [defaultSelectionId]=\"obs.prefill?.notificatiesApiPluginConfiguration\"\n [required]=\"true\"\n [loading]=\"!notificatiesApiPluginSelectItems\"\n [tooltip]=\"'notificatiesApiPluginConfigurationTooltip' | pluginTranslate: pluginId | async\"\n ></v-select>\n </ng-container>\n <ng-container\n *ngIf=\"objectManagementConfigurationItems$ | async as objectManagementConfigurationItems\"\n >\n <v-select\n [items]=\"objectManagementConfigurationItems\"\n [margin]=\"true\"\n name=\"objectManagementConfigurationId\"\n [title]=\"'objectManagementConfiguration' | pluginTranslate: pluginId | async\"\n [disabled]=\"obs.disabled\"\n [defaultSelectionId]=\"obs.prefill?.objectManagementConfigurationId\"\n [required]=\"true\"\n [loading]=\"!objectManagementConfigurationItems\"\n [tooltip]=\"'objectManagementConfigurationTooltip' | pluginTranslate: pluginId | async\"\n ></v-select>\n </ng-container>\n <ng-container *ngIf=\"{processSelectItems: processSelectItems$ | async} as vars\">\n <v-select\n [items]=\"vars.processSelectItems\"\n [margin]=\"true\"\n name=\"completeTaakProcess\"\n [title]=\"'completeTaakProcess' | pluginTranslate: pluginId | async\"\n [disabled]=\"obs.disabled\"\n [defaultSelectionId]=\"obs.prefill?.completeTaakProcess\"\n [required]=\"true\"\n [loading]=\"!vars.processSelectItems\"\n [tooltip]=\"'completeTaakProcessTooltip' | pluginTranslate: pluginId | async\"\n ></v-select>\n </ng-container>\n</v-form>\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {FunctionConfigurationComponent} from '../../../../models';\nimport {BehaviorSubject, combineLatest, map, Observable, Subscription, take} from 'rxjs';\nimport {TranslateService} from '@ngx-translate/core';\nimport {PluginTranslationService} from '../../../../services';\nimport {CreatePortalTaskConfig, FormType, OtherReceiver, Receiver} from '../../models';\nimport {SelectItem, ValuePathSelectorPrefix} from '@valtimo/components';\n\n@Component({\n standalone: false,\n selector: 'valtimo-create-portal-task',\n templateUrl: './create-portal-task.component.html',\n styleUrls: ['./create-portal-task.component.scss'],\n})\nexport class CreatePortalTaskComponent\n implements FunctionConfigurationComponent, OnInit, OnDestroy\n{\n @Input() save$: Observable<void>;\n @Input() disabled$: Observable<boolean>;\n @Input() pluginId: string;\n @Input() prefillConfiguration$: Observable<CreatePortalTaskConfig>;\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() configuration: EventEmitter<CreatePortalTaskConfig> =\n new EventEmitter<CreatePortalTaskConfig>();\n readonly FORM_TYPE_ITEMS: Array<FormType> = ['id', 'url'];\n readonly formTypeSelectItems$ = this.selectItemsToTranslatedItems(this.FORM_TYPE_ITEMS);\n\n readonly RECEIVER_ITEMS: Array<Receiver> = ['zaakInitiator', 'other'];\n readonly receiverSelectItems$ = this.selectItemsToTranslatedItems(this.RECEIVER_ITEMS);\n\n readonly OTHER_RECEIVER_ITEMS: Array<OtherReceiver> = ['kvk', 'bsn'];\n readonly otherReceiverSelectItems$ = this.selectItemsToTranslatedItems(this.OTHER_RECEIVER_ITEMS);\n\n private saveSubscription!: Subscription;\n private readonly formValue$ = new BehaviorSubject<CreatePortalTaskConfig | null>(null);\n readonly formTypeIsUrl$: Observable<boolean> = this.formValue$.pipe(\n map(value => !!(value?.formType === 'url'))\n );\n readonly receiverIsOther$: Observable<boolean> = this.formValue$.pipe(\n map(value => !!(value?.receiver === 'other'))\n );\n private readonly valid$ = new BehaviorSubject<boolean>(false);\n\n public readonly ValuePathSelectorPrefix = ValuePathSelectorPrefix;\n\n constructor(\n private readonly translateService: TranslateService,\n private readonly pluginTranslationService: PluginTranslationService\n ) {}\n\n ngOnInit(): void {\n this.openSaveSubscription();\n }\n\n ngOnDestroy(): void {\n this.saveSubscription?.unsubscribe();\n }\n\n formValueChange(formValue: CreatePortalTaskConfig): void {\n this.formValue$.next(formValue);\n this.handleValid(formValue);\n }\n\n private handleValid(formValue: CreatePortalTaskConfig): void {\n const valid =\n !!formValue.formType &&\n (!!(formValue.formType === 'url' && formValue.formTypeUrl) ||\n !!(formValue.formType === 'id' && formValue.formTypeId)) &&\n !!formValue?.receiver &&\n (formValue.receiver === 'other'\n ? !!(formValue.identificationValue && formValue.identificationKey)\n : true);\n\n this.valid$.next(valid);\n this.valid.emit(valid);\n }\n\n private openSaveSubscription(): void {\n this.saveSubscription = this.save$?.subscribe(save => {\n combineLatest([this.formValue$, this.valid$])\n .pipe(take(1))\n .subscribe(([formValue, valid]) => {\n if (valid) {\n this.configuration.emit(formValue);\n }\n });\n });\n }\n\n private selectItemsToTranslatedItems(selectItems: Array<string>): Observable<Array<SelectItem>> {\n return this.translateService.stream('key').pipe(\n map(() =>\n selectItems.map(item => ({\n id: item,\n text: this.pluginTranslationService.instant(item, this.pluginId),\n }))\n )\n );\n }\n}\n","<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null,\n formTypeIsUrl: formTypeIsUrl$ | async,\n receiverIsOther: receiverIsOther$ | async,\n } as obs\"\n>\n <v-select\n [items]=\"formTypeSelectItems$ | async\"\n [margin]=\"true\"\n [widthInPx]=\"250\"\n name=\"formType\"\n [title]=\"'formType' | pluginTranslate: pluginId | async\"\n [disabled]=\"obs.disabled\"\n [defaultSelectionId]=\"obs.prefill?.formType || FORM_TYPE_ITEMS[0]\"\n [tooltip]=\"'formTypeTooltip' | pluginTranslate: pluginId | async\"\n [required]=\"true\"\n [clearable]=\"false\"\n ></v-select>\n\n <v-input\n *ngIf=\"obs.formTypeIsUrl === false\"\n name=\"formTypeId\"\n [title]=\"'formTypeId' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.formTypeId\"\n [disabled]=\"obs.disabled\"\n [trim]=\"true\"\n [tooltip]=\"'formTypeIdTooltip' | pluginTranslate: pluginId | async\"\n [required]=\"true\"\n ></v-input>\n\n <v-input\n *ngIf=\"obs.formTypeIsUrl\"\n name=\"formTypeUrl\"\n [title]=\"'formTypeUrl' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.formTypeUrl\"\n [disabled]=\"obs.disabled\"\n [tooltip]=\"'formTypeUrlTooltip' | pluginTranslate: pluginId | async\"\n [required]=\"true\"\n [trim]=\"true\"\n ></v-input>\n\n <valtimo-carbon-multi-input\n name=\"sendData\"\n [title]=\"'sendData' | pluginTranslate: pluginId | async\"\n type=\"keyValuePathSelector\"\n [disabled]=\"obs.disabled\"\n [defaultValues]=\"obs.prefill?.sendData\"\n [margin]=\"true\"\n [required]=\"false\"\n [tooltip]=\"'sendDataTooltip' | pluginTranslate: pluginId | async\"\n [minimumAmountOfRows]=\"0\"\n [initialAmountOfRows]=\"0\"\n [fullWidth]=\"true\"\n valuePathSelectorNotation=\"slashes\"\n [valuePathSelectorPrefixes]=\"[ValuePathSelectorPrefix.DOC]\"\n [valuePathSelectorShowCaseDefinitionSelector]=\"true\"\n [keyColumnFlex]=\"1\"\n [valueColumnFlex]=\"2\"\n [keyColumnTitle]=\"'destinationInObject' | pluginTranslate: pluginId | async\"\n [valueColumnTitle]=\"'value' | pluginTranslate: pluginId | async\"\n ></valtimo-carbon-multi-input>\n\n <valtimo-carbon-multi-input\n name=\"receiveData\"\n [title]=\"'receiveData' | pluginTranslate: pluginId | async\"\n type=\"valuePathSelectorValue\"\n [disabled]=\"obs.disabled\"\n [defaultValues]=\"obs.prefill?.receiveData\"\n [margin]=\"true\"\n [required]=\"false\"\n [tooltip]=\"'receiveDataTooltip' | pluginTranslate: pluginId | async\"\n [minimumAmountOfRows]=\"0\"\n [initialAmountOfRows]=\"0\"\n [fullWidth]=\"true\"\n valuePathSelectorNotation=\"slashes\"\n [valuePathSelectorPrefixes]=\"[ValuePathSelectorPrefix.DOC]\"\n [valuePathSelectorShowCaseDefinitionSelector]=\"true\"\n [keyColumnFlex]=\"2\"\n [valueColumnFlex]=\"1\"\n [keyColumnTitle]=\"'destination' | pluginTranslate: pluginId | async\"\n [valueColumnTitle]=\"'source' | pluginTranslate: pluginId | async\"\n ></valtimo-carbon-multi-input>\n\n <v-select\n [items]=\"receiverSelectItems$ | async\"\n [margin]=\"true\"\n [widthInPx]=\"250\"\n name=\"receiver\"\n [title]=\"'receiver' | pluginTranslate: pluginId | async\"\n [disabled]=\"obs.disabled\"\n [defaultSelectionId]=\"obs.prefill?.receiver || RECEIVER_ITEMS[0]\"\n [tooltip]=\"'receiverTooltip' | pluginTranslate: pluginId | async\"\n [required]=\"true\"\n [clearable]=\"false\"\n ></v-select>\n\n <v-input\n *ngIf=\"obs.receiverIsOther\"\n name=\"identificationKey\"\n [title]=\"'identificationKey' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.identificationKey\"\n [disabled]=\"obs.disabled\"\n [tooltip]=\"'identificationKeyTooltip' | pluginTranslate: pluginId | async\"\n [required]=\"true\"\n [trim]=\"true\"\n ></v-input>\n\n <v-input\n *ngIf=\"obs.receiverIsOther\"\n name=\"identificationValue\"\n [title]=\"'identificationValue' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.identificationValue\"\n [disabled]=\"obs.disabled\"\n [tooltip]=\"'identificationValueTooltip' | pluginTranslate: pluginId | async\"\n [required]=\"true\"\n [trim]=\"true\"\n ></v-input>\n\n <v-input\n name=\"verloopDurationInDays\"\n [title]=\"'verloopDurationInDays' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.verloopDurationInDays?.toString()\"\n [disabled]=\"obs.disabled\"\n [tooltip]=\"'verloopDurationInDaysTooltip' | pluginTranslate: pluginId | async\"\n [required]=\"false\"\n ></v-input>\n</v-form>\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {FunctionConfigurationComponent} from '../../../../models';\nimport {Observable, Subscription} from 'rxjs';\n\n@Component({\n standalone: false,\n selector: 'valtimo-complete-portal-task',\n templateUrl: './complete-portal-task.component.html',\n styleUrls: ['./complete-portal-task.component.scss'],\n})\nexport class CompletePortalTaskComponent\n implements FunctionConfigurationComponent, OnInit, OnDestroy\n{\n @Input() save$: Observable<void>;\n @Input() disabled$: Observable<boolean>;\n @Input() pluginId: string;\n @Input() prefillConfiguration$: Observable<any>;\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() configuration: EventEmitter<any> = new EventEmitter<any>();\n private saveSubscription!: Subscription;\n\n ngOnInit(): void {\n this.openSaveSubscription();\n this.valid.emit(true);\n }\n\n ngOnDestroy(): void {\n this.saveSubscription?.unsubscribe();\n }\n\n private openSaveSubscription(): void {\n this.saveSubscription = this.save$?.subscribe(save => {\n this.configuration.emit({});\n });\n }\n}\n","<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {NgModule} from '@angular/core';\nimport {PortaaltaakConfigurationComponent} from './components/portaaltaak-configuration/portaaltaak-configuration.component';\nimport {PluginTranslatePipeModule} from '../../pipes';\nimport {CommonModule} from '@angular/common';\nimport {\n FormModule,\n InputModule,\n CarbonMultiInputModule,\n ParagraphModule,\n SelectModule,\n} from '@valtimo/components';\nimport {CreatePortalTaskComponent} from './components/create-portal-task/create-portal-task.component';\nimport {CompletePortalTaskComponent} from './components/complete-portal-task/complete-portal-task.component';\n\n@NgModule({\n declarations: [\n PortaaltaakConfigurationComponent,\n CreatePortalTaskComponent,\n CompletePortalTaskComponent,\n ],\n imports: [\n CommonModule,\n PluginTranslatePipeModule,\n FormModule,\n InputModule,\n SelectModule,\n ParagraphModule,\n CarbonMultiInputModule,\n ],\n exports: [\n PortaaltaakConfigurationComponent,\n CreatePortalTaskComponent,\n CompletePortalTaskComponent,\n ],\n})\nexport class PortaaltaakPluginModule {}\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nconst PORTAALTAAK_PLUGIN_LOGO_BASE64 =\n 'data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB2aWV3Qm94PSIxNTAgMTUgOTYgNTAiPjxkZWZzPjxwYXRoIGlkPSJhIiBkPSJNNTcuMzk2LjIxMUguMjgxdjQ5LjQwNWg1Ny4xMTVWLjIxeiIvPjxwYXRoIGlkPSJjIiBkPSJNNTcuNTY0LjIxMUguNDQ4djQ5LjQwNWg1Ny4xMTZWLjIxeiIvPjwvZGVmcz48ZyBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDE4Ny45MzEgMTUpIj48bWFzayBpZD0iYiIgZmlsbD0iI2ZmZiI+PHVzZSB4bGluazpocmVmPSIjYSIvPjwvbWFzaz48cGF0aCBkPSJNNTcuMzk2IDI0LjkxM2MwLTEzLjU3My0xMS4wMDQtMjQuNjIyLTI0LjU2LTI0LjctLjAyNCAwLS4wNDgtLjAwMy0uMDczLS4wMDNIMjQuNzVhMi41MDQgMi41MDQgMCAxIDAgMCA1LjAxaDcuOTQ1YzEwLjg1OCAwIDE5LjY5NCA4LjgzNCAxOS42OTQgMTkuNjkzIDAgMTAuODYtOC44MzYgMTkuNjk0LTE5LjY5NCAxOS42OTRINS4yODl2LTQuNTc4SC4yODF2OS41ODdoMzIuNDgydi0uMDAxYzEzLjU5LS4wNCAyNC42MzMtMTEuMTA1IDI0LjYzMy0yNC43MDIiIGZpbGw9IiMwMDlGRTQiIG1hc2s9InVybCgjYikiLz48L2c+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTUwIDE1KSI+PG1hc2sgaWQ9ImQiIGZpbGw9IiNmZmYiPjx1c2UgeGxpbms6aHJlZj0iI2MiLz48L21hc2s+PHBhdGggZD0iTS40NDggMjQuOTEzYzAgMTMuNTczIDExLjAwNCAyNC42MjIgMjQuNTYgMjQuNy4wMjQgMCAuMDQ4LjAwMy4wNzMuMDAzaDguMDE0YTIuNTA0IDIuNTA0IDAgMSAwIDAtNS4wMDloLTcuOTQ0Yy0xMC44NTkgMC0xOS42OTQtOC44MzQtMTkuNjk0LTE5LjY5NCAwLTEwLjg1OSA4LjgzNS0xOS42OTQgMTkuNjk0LTE5LjY5NGgyNy40MDR2NC41NzhoNS4wMDlWLjIxSDI1LjA4di4wMDFDMTEuNDkuMjUxLjQ0OCAxMS4zMTYuNDQ4IDI0LjkxMyIgZmlsbD0iIzAwOUZFNCIgbWFzaz0idXJsKCNkKSIvPjwvZz48cGF0aCBmaWxsPSIjMDA0Mzg4IiBkPSJNMTc2LjAxNyA0Mi4xMTZsLTQuNjc4LTEyLjQwMWgtNS42NjRsOC4xNCAyMC4zNjZoMy45MjFsOC40MDEtMjAuMzY2aC01LjM2M3ptMjYuNTQyLjU1OGwtNy45MjgtMTIuOTU5aC02LjQxM3YyMC4zNjdoNC45OTdWMzYuNzg3bDguMTUgMTMuMjk1aDYuMTlWMjkuNzE1aC00Ljk5NnptMTkuMzIzLTQuOTR2NC42NjNoMy41Mzd2Mi42NzdhOS43NzMgOS43NzMgMCAwIDEtMS40MTQuNTRjLS42NTIuMjAzLTEuNDQzLjMwNi0yLjM1NC4zMDYtLjg4IDAtMS42ODYtLjE1LTIuMzk0LS40NDhhNS4zMzggNS4zMzggMCAwIDEtMS44MjQtMS4yNDcgNS41MjIgNS41MjIgMCAwIDEtMS4xNy0xLjg5NGMtLjI3Mi0uNzI5LS40MS0xLjU0OS0uNDEtMi40MzMgMC0uODY3LjEzOC0xLjY4MS40MS0yLjQyYTUuNTAyIDUuNTAyIDAgMCAxIDEuMTctMS45MDggNS4zNzQgNS4zNzQgMCAwIDEgMS44MjQtMS4yNDZjLjcwOS0uMjk4IDEuNTE0LS40NDkgMi4zOTQtLjQ0OSAxLjA2NCAwIDEuOTU5LjE1MSAyLjY1Ny40NDkuNy4yOTcgMS4zMzguNzQgMS44OTggMS4zMThsLjI0Mi4yNDggMy41MTUtMy44MzUtLjIzNy0uMjIxYTguOTIzIDguOTIzIDAgMCAwLTMuNjI3LTIuMDM4Yy0xLjM1LS4zODYtMi44NDctLjU4My00LjQ0OC0uNTgzLTEuNTcyIDAtMy4wNDQuMjUtNC4zNzMuNzQ1YTEwLjEzOSAxMC4xMzkgMCAwIDAtMy40ODEgMi4xNDNjLS45NzUuOTI4LTEuNzQ2IDIuMDY2LTIuMjkgMy4zODQtLjU0MyAxLjMxNS0uODE5IDIuOC0uODE5IDQuNDEzIDAgMS42MTMuMjc2IDMuMDk4LjgyIDQuNDEzLjU0NSAxLjMxOSAxLjMxNCAyLjQ1NyAyLjI4OSAzLjM4NC45NzQuOTI2IDIuMTQ2IDEuNjQ3IDMuNDggMi4xNDMgMS4zMy40OTQgMi44MDIuNzQ0IDQuMzc0Ljc0NCAxLjQ2NCAwIDIuOTItLjE1MiA0LjMzLS40NTJhMTYuMDU0IDE2LjA1NCAwIDAgMCA0LjA5LTEuNDc4bC4xNzctLjA5VjM3LjczM2gtOC4zNjZ6Ii8+PC9nPjwvc3ZnPg==';\nexport {PORTAALTAAK_PLUGIN_LOGO_BASE64};\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {PluginSpecification} from '../../models';\nimport {PortaaltaakConfigurationComponent} from './components/portaaltaak-configuration/portaaltaak-configuration.component';\nimport {PORTAALTAAK_PLUGIN_LOGO_BASE64} from './assets/portaaltaak-plugin-logo';\nimport {CreatePortalTaskComponent} from './components/create-portal-task/create-portal-task.component';\nimport {CompletePortalTaskComponent} from './components/complete-portal-task/complete-portal-task.component';\n\nconst portaaltaakPluginSpecification: PluginSpecification = {\n pluginId: 'portaaltaak',\n pluginConfigurationComponent: PortaaltaakConfigurationComponent,\n pluginLogoBase64: PORTAALTAAK_PLUGIN_LOGO_BASE64,\n functionConfigurationComponents: {\n 'create-portaaltaak': CreatePortalTaskComponent,\n 'complete-portaaltaak': CompletePortalTaskComponent,\n },\n pluginTranslations: {\n nl: {\n title: 'Portaaltaak',\n description: 'Een component om een portaaltaakrouteringscomponent te benaderen.',\n configurationTitle: 'Configuratienaam',\n configurationTitleTooltip:\n 'De naam van de huidige plugin-configuratie. Onder deze naam kan de configuratie in de rest van de applicatie teruggevonden worden.',\n notificatiesApiPluginConfiguration: 'Notificaties API plugin',\n notificatiesApiPluginConfigurationTooltip:\n 'Selecteer de Notificaties API plugin. Wanneer de selectiebox leeg is, zal de notificatie API plugin eerst aangemaakt moeten worden.',\n objectManagementConfiguration: 'Object management configuratie',\n objectManagementConfigurationTooltip:\n 'Selecteer de gewenste object management configuratie. Wanneer de selectiebox leeg is, zal de object management configuratie eerst aangemaakt moeten worden.',\n 'create-portaaltaak': 'Portaaltaak aanmaken',\n 'complete-portaaltaak': 'Portaaltaak afronden',\n formType: 'Formuliertype',\n formTypeTooltip:\n 'Kies hier of het te tonen formulier afkomstig moet zijn van een ingestelde definitie, of van een externe URL.',\n id: 'Formulierdefinitie',\n url: 'URL',\n formTypeId: 'Formulier ID',\n formTypeIdTooltip: 'Het ID van het formulier dat getoond moet worden',\n formTypeUrl: 'Formulier URL',\n formTypeUrlTooltip: 'Een URL die wijst naar het formulier dat getoond moet worden',\n sendData: 'Taakgegevens voor de ontvanger',\n sendDataTooltip:\n \"Vul hier sleutels en waarden in voor data die verstuurd moet worden naar de Objecten API. De sleutel is hier het pad in het object dat gevuld moet worden (bijvoorbeeld 'firstName'). De waarde wijst naar de data waarmee dit veld gevuld moet worden (bijvoorbeeld 'doc:/customer/firstName').\",\n receiveData: 'Ingevulde gegevens door de ontvanger',\n receiveDataTooltip:\n \"Vul hier sleutels en waarden in voor data die ontvangen moet worden van de Objecten API. De sleutel is hier de locatie waar de data opgeslagen moet worden (bijvoorbeeld 'doc:/customer/signedAgreement'). De waarde wijst naar het pad in het object waar de data vandaan moet komen (bijvoorbeeld '/signedAgreement').\",\n receiver: 'Ontvanger',\n receiverTooltip: 'Bepaal hier bij wie de data van de afgeronde taak terecht moet komen.',\n zaakInitiator: 'Zaak-initiator',\n other: 'Anders',\n otherReceiver: 'Andere ontvanger',\n otherReceiverTooltip:\n 'U heeft de optie geselecteerd voor een andere ontvanger. Selecteer hier welk type dit moet zijn.',\n kvk: 'KVK-nummer',\n bsn: 'Burgerservicenummer (BSN)',\n kvkTooltip: 'Het KVK-nummer van de gewenste ontvanger.',\n bsnTooltip: 'Het Burgerservicenummer (BSN) van de gewenste ontvanger.',\n completeTaakProcess: 'Geüploade documentverwerkingsproces',\n completeTaakProcessTooltip:\n 'Het proces dat de geüploade documenten in de portal moet afhandelen.',\n identificationKey: 'Identificatiesleutel',\n identificationKeyTooltip:\n \"De ingevoerde sleutel bepaalt hoe de ontvanger wordt geïdentificeerd. Geldige voorbeelden zijn 'bsn' of 'kvk'.\",\n identificationValue: 'Identificatiewaarde',\n identificationValueTooltip:\n \"De waarde waarmee de ontvanger wordt geïdentificeerd. Wanneer er bijvoorbeeld in het veld 'Identificatiesleutel' de waarde 'bsn' is ingevoerd, kan er in dit veld een burgerservicenummer worden ingevoerd (bijvoorbeeld 558099476).\",\n verloopDurationInDays: 'Verlooptijd taak in dagen',\n verloopDurationInDaysTooltip:\n 'Het aantal dagen na aanmaken van een taak dat deze verloopt. Deze wordt alleen ingesteld voor de portaal taak, niet in het BPMN proces.',\n destinationInObject: 'Pad in het object',\n value: 'Waarde',\n destination: 'Bestemming',\n source: 'Bron',\n },\n en: {\n title: 'Portal task',\n description: 'A component to access a portal task routing component.',\n configurationTitle: 'Configuration name',\n configurationTitleTooltip:\n 'The name of the current plugin configuration. Under this name, the configuration can be found in the rest of the application.',\n notificatiesApiPluginConfiguration: 'Notificaties API plugin',\n notificatiesApiPluginConfigurationTooltip:\n 'Select the Notificaties API plugin. If the selection box remains empty, the Notificaties API plugin will first have to be created.',\n objectManagementConfiguration: 'Object management configuration',\n objectManagementConfigurationTooltip:\n 'Select the object management configuration. If the selection box remains empty, the object management configuration will first have to be created.',\n 'create-portaaltaak': 'Create portal task',\n 'complete-portaaltaak': 'Complete portal task',\n formType: 'Form type',\n formTypeTooltip:\n 'Choose here whether the form to be displayed should come from a set definition or from an external URL.',\n id: 'Form definition',\n url: 'URL',\n formTypeId: 'Form ID',\n formTypeIdTooltip: 'The ID of the form to be displayed',\n formTypeUrl: 'Form URL',\n formTypeUrlTooltip: 'A URL pointing to the form to be displayed',\n sendData: 'Task data for the recipient',\n sendDataTooltip:\n \"Enter keys and values here for data to be sent to the Objecten API. The key here is the path in the object to be populated (e.g. 'firstName'). The value points to the data with which this field must be filled (e.g. 'doc:/customer/firstName').\",\n receiveData: 'Information entered by the recipient',\n receiveDataTooltip:\n \"Enter keys and values here for data to be received from the Objecten API. The key here is the location where the data should be stored (e.g. 'doc:/customer/signedAgreement'). The value points to the path in the object where the data should come from (e.g. '/signedAgreement').\",\n receiver: 'Receiver',\n receiverTooltip: 'Determine here who should receive the data of the completed task.',\n zaakInitiator: 'Case initiator',\n other: 'Other',\n otherReceiver: 'Other receiver',\n otherReceiverTooltip:\n 'You have selected the option for another receiver. Select here which type this should be.',\n kvk: 'KVK number',\n bsn: 'Citizen service number (BSN)',\n kvkTooltip: 'The KVK number of the desired receiver.',\n bsnTooltip: 'The Citizen service number (BSN) of the desired receiver',\n completeTaakProcess: 'Process to complete Portaaltaak',\n completeTaakProcessTooltip:\n 'The process that should handle the uploaded documents in the portal.',\n identificationKey: 'Identification key',\n identificationKeyTooltip:\n \"The key entered determines how the recipient is identified. Valid examples are 'bsn' or 'kvk'.\",\n identificationValue: 'Identification value',\n identificationValueTooltip:\n \"The value that identifies the recipient. For example, if the value 'bsn' is entered in the 'Identification key' field, a citizen service number can be entered in this field (for example 558099476).\",\n verloopDurationInDays: 'Number of days for the task to expire',\n verloopDurationInDaysTooltip:\n 'The number of days from the creation time until the task expires. This will only be used in the portal task. The BPMN due date needs to be configured separately.',\n destinationInObject: 'Path in the object',\n value: 'Value',\n destination: 'Destination',\n source: 'Source',\n },\n de: {\n title: 'Portalaufgabe',\n description:\n 'Eine Komponente für den Zugriff auf eine Portal-Aufgabenweiterleitungskomponente.',\n configurationTitle: 'Konfigurationsname',\n configurationTitleTooltip:\n 'Der Name der aktuellen Plugin-Konfiguration. Unter diesem Namen ist die Konfiguration im Rest der Anwendung zu finden.',\n notificatiesApiPluginConfiguration: 'Benachrichtigungs-API plugin',\n notificatiesApiPluginConfigurationTooltip:\n 'Wählen Sie das Benachrichtigungs-API-Plugin aus. Bleibt das Auswahlfeld leer, muss das Benachrichtigungs-API-Plugin erst erstellt werden.',\n objectManagementConfiguration: 'Objektverwaltungskonfiguration',\n objectManagementConfigurationTooltip:\n 'Wählen Sie die Objektverwaltungskonfiguration aus. Bleibt das Auswahlfeld leer, muss zunächst die Objektverwaltungskonfiguration erstellt werden.',\n 'create-portaaltaak': 'Portalaufgabe erstellen',\n 'complete-portaaltaak': 'Portalaufgabe abschließen',\n formType: 'Formulartyp',\n formTypeTooltip:\n 'Wählen Sie hier aus, ob das anzuzeigende Formular aus einer Set-Definition oder von einer externen URL stammen soll.',\n id: 'Formulardefinition',\n url: 'URL',\n sendData: 'Auftragsdaten für den Empfänger',\n sendDataTooltip:\n \"Geben Sie hier Schlüssel und Werte für Daten ein, die an die Objecten API gesendet werden sollen. Der Schlüssel ist hier der Pfad im Objekt, das gefüllt werden soll (z. B. 'firstName'). Der Wert zeigt auf die Daten, mit denen dieses Feld gefüllt werden muss (z. B. 'doc:/customer/firstName').\",\n receiveData: 'Vom Empfänger eingegebene Informationen',\n receiveDataTooltip:\n \"Geben Sie hier Schlüssel und Werte für Daten ein, die von der Objecten API empfangen werden sollen. Der Schlüssel ist hier der Ort, an dem die Daten gespeichert werden sollen (z. B. 'doc:/customer/signedAgreement'). Der Wert zeigt auf den Pfad im Objekt, aus dem die Daten stammen sollen (z. B. '/signedAgreement').\",\n receiver: 'Empfänger',\n receiverTooltip:\n 'Bestimmen Sie hier, wer die Daten der abgeschlossenen Aufgabe erhalten soll.',\n zaakInitiator: 'Initiator des Falles',\n other: 'Andere',\n otherReceiver: 'Anderer Empfänger',\n otherReceiverTooltip:\n 'Sie haben die Option für einen anderen Empfänger gewählt. Wählen Sie hier aus, welcher Typ das sein soll.',\n kvk: 'KVK-Nummer',\n bsn: 'Bürgerservicenummer (BSN)',\n kvkTooltip: 'Die KVK-Nummer des gewünschten Empfängers.',\n bsnTooltip: 'Die Bürgerservicenummer (BSN) des gewünschten Empfängers.',\n completeTaakProcess: 'Handhabungsprozess für hochgeladene Dokumente',\n completeTaakProcessTooltip:\n 'Der Prozess, der die hochgeladenen Dokumente im Portal handhaben soll.',\n identificationKey: 'Identifikationsschlüssel',\n identificationKeyTooltip:\n \"Der eingegebene Schlüssel bestimmt, wie der Empfänger identifiziert wird. Gültige Beispiele sind 'bsn' oder 'kvk'.\",\n identificationValue: 'Identifikationswert',\n identificationValueTooltip:\n \"Der Wert, der den Empfänger identifiziert. Wird beispielsweise im Feld 'Identifikationsschlüssel' der Wert 'bsn' eingetragen, kann in diesem Feld eine Sozialversicherungsnummer eingetragen werden (z. B. 558099476).\",\n verloopDurationInDays: 'Ablaufzeit der Aufgabe in Tagen',\n verloopDurationInDaysTooltip:\n 'Die Anzahl der Tage vom Erstellungszeitpunkt bis zum Ablauf der Aufgabe. Dies wird nur in der Portalaufgabe verwendet. Das BPMN-Fälligkeitsdatum muss separat konfiguriert werden.',\n destinationInObject: 'Pfad im Objekt',\n value: 'Wert',\n destination: 'Ziel',\n source: 'Quelle',\n },\n },\n};\n\nexport {portaaltaakPluginSpecification};\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Injectable} from '@angular/core';\nimport {catchError, Observable, of} from 'rxjs';\nimport {HttpClient} from '@angular/common/http';\nimport {ConfigService, Page} from '@valtimo/shared';\nimport {CaseListItem, Objecttype, Roltype} from '../models';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class VerzoekPluginService {\n private valtimoEndpointUri: string;\n\n constructor(\n private http: HttpClient,\n configService: ConfigService\n ) {\n this.valtimoEndpointUri = configService.config?.valtimoApi?.endpointUri;\n }\n\n getAllObjects(): Observable<Objecttype[]> {\n return this.http.get<Objecttype[]>(\n `${this.valtimoEndpointUri}v1/object/management/configuration`\n );\n }\n\n getRoltypesByCaseDefinition(\n caseDefinitionKey: string,\n params: {caseDefinitionVersionTag?: string}\n ): Observable<Array<Roltype>> {\n Object.keys(params).forEach(paramKey => {\n const paramValue = params[paramKey];\n if (paramValue == null) {\n params[paramKey] = '';\n }\n });\n\n return this.http\n .get<\n Array<Roltype>\n >(`${this.valtimoEndpointUri}v1/case-definition/${caseDefinitionKey}/zaaktype/roltype`, {params})\n .pipe(catchError(() => of([])));\n }\n\n public getCaseDefinitions(params: any): Observable<Page<CaseListItem>> {\n return this.http.get<Page<CaseListItem>>(\n `${this.valtimoEndpointUri}management/v1/case-definition`,\n {params}\n );\n }\n}\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport * from './verzoek-plugin.service';\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {\n Component,\n EventEmitter,\n Input,\n OnDestroy,\n OnInit,\n Output,\n QueryList,\n ViewChildren,\n} from '@angular/core';\nimport {PluginConfigurationComponent} from '../../../../models';\nimport {\n BehaviorSubject,\n combineLatest,\n filter,\n map,\n Observable,\n of,\n Subscription,\n take,\n tap,\n} from 'rxjs';\nimport {CopyStrategy, VerzoekConfig, VerzoekType} from '../../models';\nimport {PluginManagementService, PluginTranslationService} from '../../../../services';\nimport {TranslateService} from '@ngx-translate/core';\nimport {\n ModalService,\n MultiInputValues,\n RadioValue,\n SelectItem,\n ValuePathSelectorPrefix,\n VModalComponent,\n} from '@valtimo/components';\nimport {VerzoekPluginService} from '../../services';\nimport {ProcessService} from '@valtimo/process';\nimport {DataTable16} from '@carbon/icons';\nimport {IconService} from 'carbon-components-angular';\n\n@Component({\n standalone: false,\n selector: 'valtimo-verzoek-configuration',\n templateUrl: './verzoek-configuration.component.html',\n styleUrls: ['./verzoek-configuration.component.scss'],\n})\nexport class VerzoekConfigurationComponent\n implements PluginConfigurationComponent, OnInit, OnDestroy\n{\n @ViewChildren(VModalComponent) mappingModals: QueryList<VModalComponent>;\n\n @Input() save$: Observable<void>;\n @Input() disabled$: Observable<boolean>;\n @Input() pluginId: string;\n @Input() prefillConfiguration$: Observable<VerzoekConfig>;\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() configuration: EventEmitter<VerzoekConfig> = new EventEmitter<VerzoekConfig>();\n\n mappedPrefill$: Observable<VerzoekConfig>;\n\n readonly notificatiePluginSelectItems$: Observable<Array<SelectItem>> = combineLatest([\n this.pluginManagementService.getPluginConfigurationsByPluginDefinitionKey('notificatiesapi'),\n this.translateService.stream('key'),\n ]).pipe(\n map(([configurations]) =>\n configurations.map(configuration => ({\n id: configuration.id,\n text: `${configuration.title} - ${this.pluginTranslationService.instant(\n 'title',\n configuration.pluginDefinition.key\n )}`,\n }))\n )\n );\n\n readonly objectManagementSelectItems$: Observable<Array<SelectItem>> = this.verzoekPluginService\n .getAllObjects()\n .pipe(\n map(objects =>\n objects.map(object => ({\n id: object.id,\n text: object.title,\n }))\n )\n );\n\n readonly processSelectItems$: Observable<Array<SelectItem>> = this.processService\n .getProcessDefinitions()\n .pipe(\n map(processDefinitions =>\n processDefinitions.map(processDefinition => ({\n id: processDefinition.key,\n text: processDefinition.name ?? '',\n }))\n )\n );\n\n readonly caseSelectItems$: Observable<Array<SelectItem>> = this.verzoekPluginService\n .getCaseDefinitions({active: true})\n .pipe(\n map(caseDefinitions =>\n caseDefinitions.content.map(caseDefinition => ({\n id: caseDefinition.caseDefinitionKey,\n text: caseDefinition.caseDefinitionKey,\n }))\n )\n );\n\n readonly RADIO_ITEMS: Array<CopyStrategy> = ['full', 'specified'];\n readonly radioItems$: Observable<Array<RadioValue>> = this.translateService.stream('key').pipe(\n map(() =>\n this.RADIO_ITEMS.map(radioItem => ({\n value: radioItem,\n title: this.pluginTranslationService.instant(radioItem, this.pluginId),\n }))\n )\n );\n\n readonly caseVersionTagSelectItemsObservables: {\n [uuid: string]: {caseDefinitionKey: string; items: Observable<Array<SelectItem>>};\n } = {};\n\n readonly rolTypeSelectItemsObservables: {\n [uuid: string]: {caseDefinitionId: string; items: Observable<Array<SelectItem>>};\n } = {};\n\n readonly showMappingButtons: {[uuid: string]: boolean} = {};\n\n readonly showMappingModalsDelay: {[uuid: string]: boolean} = {};\n\n readonly tempMappings: {[uuid: string]: MultiInputValues} = {};\n\n readonly mappings: {[uuid: string]: MultiInputValues} = {};\n\n private saveSubscription!: Subscription;\n\n private readonly formValue$ = new BehaviorSubject<VerzoekConfig | null>(null);\n private readonly valid$ = new BehaviorSubject<boolean>(false);\n\n public getSelectedCaseDefinitionKeyForIndex(index: number): Observable<string> {\n return this.formValue$.pipe(\n map(\n formValue =>\n Array.isArray(formValue.verzoekProperties) &&\n formValue.verzoekProperties[index]?.caseDefinitionKey\n )\n );\n }\n\n public readonly ValuePathSelectorPrefix = ValuePathSelectorPrefix;\n\n constructor(\n private readonly pluginManagementService: PluginManagementService,\n private readonly translateService: TranslateService,\n private readonly pluginTranslationService: PluginTranslationService,\n private readonly verzoekPluginService: VerzoekPluginService,\n private readonly processService: ProcessService,\n private readonly modalService: ModalService,\n private readonly iconService: IconService\n ) {\n this.iconService.registerAll([DataTable16]);\n }\n\n ngOnInit(): void {\n this.openSaveSubscription();\n this.setMappedPrefill();\n }\n\n ngOnDestroy() {\n this.saveSubscription?.unsubscribe();\n }\n\n formValueChange(formValue: VerzoekConfig): void {\n this.formValue$.next(formValue);\n this.handleValid(formValue);\n }\n\n verzoekTypeFormChange(formValue: VerzoekType, uuid: string): void {\n const caseDefinitionKey = formValue?.caseDefinitionKey;\n const caseDefinitionVersionTag = formValue?.caseDefinitionVersionTag;\n const caseDefinitionId = `${caseDefinitionKey}:${caseDefinitionVersionTag}`;\n const rolTypeSelectItemsObservables = this.rolTypeSelectItemsObservables;\n const caseVersionTagSelectItemsObservables = this.caseVersionTagSelectItemsObservables;\n\n this.showMappingButtons[uuid] = formValue.copyStrategy === 'specified';\n\n if (caseDefinitionKey) {\n if (\n !caseVersionTagSelectItemsObservables[uuid] ||\n caseVersionTagSelectItemsObservables[uuid].caseDefinitionKey !== caseDefinitionKey\n ) {\n caseVersionTagSelectItemsObservables[uuid] = {\n caseDefinitionKey,\n items: this.verzoekPluginService.getCaseDefinitions({caseDefinitionKey}).pipe(\n map(caseDefinitions =>\n [{text: 'Active version', id: ''}].concat(\n caseDefinitions.content.map(caseDefinition => ({\n text: caseDefinition.caseDefinitionVersionTag,\n id: caseDefinition.caseDefinitionVersionTag,\n }))\n )\n )\n ),\n };\n }\n if (\n !rolTypeSelectItemsObservables[uuid] ||\n rolTypeSelectItemsObservables[uuid].caseDefinitionId !== caseDefinitionId\n ) {\n rolTypeSelectItemsObservables[uuid] = {\n caseDefinitionId,\n items: this.verzoekPluginService\n .getRoltypesByCaseDefinition(caseDefinitionKey, {caseDefinitionVersionTag})\n .pipe(\n map(rolTypes => rolTypes.map(rolType => ({text: rolType.name, id: rolType.url})))\n ),\n };\n }\n } else {\n caseVersionTagSelectItemsObservables[uuid] = {\n caseDefinitionKey,\n items: of([]),\n };\n rolTypeSelectItemsObservables[uuid] = {\n caseDefinitionId,\n items: of([]),\n };\n }\n }\n\n deleteRow(uuid: string): void {\n delete this.caseVersionTagSelectItemsObservables[uuid];\n delete this.rolTypeSelectItemsObservables[uuid];\n }\n\n openMappingModal(uuid: string): void {\n this.showMappingModalsDelay[uuid] = true;\n this.modalService.openModal(\n this.mappingModals.find(mappingModal => mappingModal.parentId === uuid)\n );\n }\n\n closeMappingModal(uuid): void {\n this.modalService.closeModal();\n\n setTimeout(() => {\n this.showMappingModalsDelay[uuid] = false;\n }, 250);\n }\n\n mappingValueChange(newValue: MultiInputValues, uuid: string): void {\n this.tempMappings[uuid] = newValue;\n }\n\n saveMapping(uuid: string): void {\n this.mappings[uuid] = [...this.tempMappings[uuid]];\n this.tempMappings[uuid] = [];\n this.closeMappingModal(uuid);\n }\n\n private handleValid(formValue: VerzoekConfig): void {\n const validForm = !!(\n formValue.configurationTitle &&\n formValue.notificatiesApiPluginConfiguration &&\n formValue.rsin &&\n formValue.processToStart\n );\n const verzoekTypen = formValue.verzoekProperties || [];\n const validVerzoekTypen = verzoekTypen.filter(\n type =>\n !!(\n type.type &&\n type.caseDefinitionKey &&\n type.objectManagementId &&\n type.initiatorRoltypeUrl &&\n type.processDefinitionKey &&\n type.initiatorRolDescription\n )\n );\n const valid = validForm && verzoekTypen.length === validVerzoekTypen.length;\n this.valid$.next(valid);\n this.valid.emit(valid);\n }\n\n private openSaveSubscription(): void {\n this.saveSubscription = this.save$?.subscribe(save => {\n combineLatest([this.formValue$, this.valid$])\n .pipe(take(1))\n .subscribe(([formValue, valid]) => {\n const formValueToSave: VerzoekConfig = {\n ...formValue,\n verzoekProperties: formValue.verzoekProperties.map(verzoek => {\n const verzoekToReturn: VerzoekType = {...verzoek};\n delete verzoekToReturn.uuid;\n\n if (!verzoek.caseDefinitionVersionTag) {\n verzoekToReturn.caseDefinitionVersionTag = null;\n }\n\n if (this.mappings[verzoek.uuid] && verzoek.copyStrategy === 'specified') {\n verzoekToReturn.mapping = this.mappings[verzoek.uuid];\n }\n\n return {\n ...verzoekToReturn,\n ...(verzoekToReturn.mapping && {\n mapping: verzoekToReturn.mapping.map(verzoekMapping => ({\n source: verzoekMapping.key,\n target: verzoekMapping.value,\n })) as Array<any>,\n }),\n };\n }),\n };\n if (valid) {\n this.configuration.emit(formValueToSave);\n }\n });\n });\n }\n\n private setMappedPrefill(): void {\n this.mappedPrefill$ = this.prefillConfiguration$.pipe(\n filter(prefill => !!prefill),\n map(prefill => ({\n ...prefill,\n verzoekProperties: prefill.verzoekProperties.map(verzoekType => ({\n ...verzoekType,\n ...(verzoekType.mapping &&\n Array.isArray(verzoekType.mapping) && {\n mapping: verzoekType.mapping.map(mapping => ({\n key: mapping.source,\n value: mapping.target,\n })),\n }),\n })),\n })),\n tap(prefill => {\n setTimeout(() => {\n this.formValue$.pipe(take(1)).subscribe(formValue => {\n const prefillVerzoeken = prefill?.verzoekProperties;\n const formValueVerzoeken = formValue?.verzoekProperties;\n\n prefillVerzoeken.forEach((verzoek, index) => {\n const mappingForVerzoek = verzoek?.mapping;\n const uuidForMapping = formValueVerzoeken[index].uuid;\n\n if (mappingForVerzoek && uuidForMapping) {\n this.mappings[uuidForMapping] = mappingForVerzoek;\n }\n });\n });\n }, 250);\n })\n );\n }\n}\n","<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: mappedPrefill$ ? (mappedPrefill$ | async) : null,\n } as obs\"\n>\n <v-input\n name=\"configurationTitle\"\n [title]=\"'configurationTitle' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.configurationTitle\"\n [required]=\"true\"\n [trim]=\"true\"\n [tooltip]=\"'configurationTitleTooltip' | pluginTranslate: pluginId | async\"\n placeholder=\"Verzoek Plugin\"\n >\n </v-input>\n <ng-container\n *ngIf=\"{notificatiePluginSelectItems: notificatiePluginSelectItems$ | async} as vars\"\n >\n <v-select\n [items]=\"vars.notificatiePluginSelectItems\"\n [margin]=\"true\"\n name=\"notificatiesApiPluginConfiguration\"\n [title]=\"'notificatiesApiPluginConfiguration' | pluginTranslate: pluginId | async\"\n [disabled]=\"obs.disabled\"\n [defaultSelectionId]=\"obs.prefill?.notificatiesApiPluginConfiguration\"\n [required]=\"true\"\n [loading]=\"!vars.notificatiePluginSelectItems\"\n [tooltip]=\"'notificatiesApiPluginConfigurationTooltip' | pluginTranslate: pluginId | async\"\n ></v-select>\n </ng-container>\n <ng-container *ngIf=\"{processSelectItems: processSelectItems$ | async} as vars\">\n <v-select\n [items]=\"vars.processSelectItems\"\n [margin]=\"true\"\n name=\"processToStart\"\n [title]=\"'processToStart' | pluginTranslate: pluginId | async\"\n [disabled]=\"obs.disabled\"\n [defaultSelectionId]=\"obs.prefill?.processToStart\"\n [required]=\"true\"\n [loading]=\"!vars.processSelectItems\"\n [tooltip]=\"'processToStartTooltip' | pluginTranslate: pluginId | async\"\n ></v-select>\n </ng-container>\n <v-input\n name=\"rsin\"\n [title]=\"'rsin' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.rsin\"\n [required]=\"true\"\n [trim]=\"true\"\n [tooltip]=\"'rsinTooltip' | pluginTranslate: pluginId | async\"\n placeholder=\"\"\n >\n </v-input>\n <v-multi-input-form\n name=\"verzoekProperties\"\n [title]=\"'verzoekProperties' | pluginTranslate: pluginId | async\"\n [formTemplate]=\"mappingForm\"\n [addRowText]=\"'addVerzoekType' | pluginTranslate: pluginId | async\"\n [required]=\"false\"\n [tooltip]=\"'verzoekPropertiesTooltip' | pluginTranslate: pluginId | async\"\n (deleteRowEvent)=\"deleteRow($event)\"\n [initialAmountOfRows]=\"0\"\n [minimumAmountOfRows]=\"0\"\n [defaultValues]=\"obs.prefill?.verzoekProperties\"\n >\n </v-multi-input-form>\n</v-form>\n\n<ng-template\n #mappingForm\n let-index=\"index\"\n let-uuid=\"uuid\"\n let-changeFunction=\"changeFunction\"\n let-prefill=\"prefill\"\n>\n <ng-container\n *ngIf=\"{\n disabled: disabled$ | async,\n } as obs\"\n >\n <v-form (valueChange)=\"changeFunction($event, uuid); verzoekTypeFormChange($event, uuid)\">\n <v-input\n name=\"type\"\n [title]=\"'type' | pluginTranslate: pluginId | async\"\n [margin]=\"false\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"prefill?.type\"\n [required]=\"true\"\n [trim]=\"true\"\n [tooltip]=\"'typeTooltip' | pluginTranslate: pluginId | async\"\n [smallMargin]=\"true\"\n placeholder=\"\"\n >\n </v-input>\n <ng-container *ngIf=\"{caseSelectItems: caseSelectItems$ | async} as vars\">\n <v-select\n [items]=\"vars.caseSelectItems\"\n [smallMargin]=\"true\"\n name=\"caseDefinitionKey\"\n [title]=\"'caseDefinitionKey' | pluginTranslate: pluginId | async\"\n [disabled]=\"obs.disabled\"\n [defaultSelectionId]=\"prefill?.caseDefinitionKey\"\n [required]=\"true\"\n [loading]=\"!vars.caseSelectItems\"\n [tooltip]=\"'caseDefinitionKeyTooltip' | pluginTranslate: pluginId | async\"\n ></v-select>\n </ng-container>\n <ng-container>\n <v-select\n [items]=\"\n caseVersionTagSelectItemsObservables[uuid]?.caseDefinitionKey &&\n (caseVersionTagSelectItemsObservables[uuid].items | async)\n \"\n [smallMargin]=\"true\"\n name=\"caseDefinitionVersionTag\"\n [title]=\"'caseDefinitionVersionTag' | pluginTranslate: pluginId | async\"\n [disabled]=\"\n obs.disabled || !caseVersionTagSelectItemsObservables[uuid]?.caseDefinitionKey\n \"\n [defaultSelectionId]=\"prefill?.caseDefinitionVersionTag\"\n [required]=\"true\"\n [tooltip]=\"'caseDefinitionVersionTagTooltip' | pluginTranslate: pluginId | async\"\n ></v-select>\n </ng-container>\n <ng-container\n *ngIf=\"{objectManagementSelectItems: objectManagementSelectItems$ | async} as vars\"\n >\n <v-select\n [items]=\"vars.objectManagementSelectItems\"\n [smallMargin]=\"true\"\n name=\"objectManagementId\"\n [title]=\"'objectManagementId' | pluginTranslate: pluginId | async\"\n [disabled]=\"obs.disabled\"\n [defaultSelectionId]=\"prefill?.objectManagementId\"\n [required]=\"true\"\n [loading]=\"!vars.objectManagementSelectItems\"\n [tooltip]=\"'objectManagementIdTooltip' | pluginTranslate: pluginId | async\"\n ></v-select>\n </ng-container>\n <v-select\n [items]=\"\n rolTypeSelectItemsObservables[uuid]?.caseDefinitionId &&\n (rolTypeSelectItemsObservables[uuid].items | async)\n \"\n [smallMargin]=\"true\"\n name=\"initiatorRoltypeUrl\"\n [title]=\"'initiatorRoltypeUrl' | pluginTranslate: pluginId | async\"\n [disabled]=\"obs.disabled || !rolTypeSelectItemsObservables[uuid]?.caseDefinitionId\"\n [defaultSelectionId]=\"prefill?.initiatorRoltypeUrl\"\n [required]=\"true\"\n [tooltip]=\"'initiatorRoltypeUrlTooltip' | pluginTranslate: pluginId | async\"\n ></v-select>\n <v-input\n name=\"initiatorRolDescription\"\n [title]=\"'initiatorRolDescription' | pluginTranslate: pluginId | async\"\n [margin]=\"false\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"prefill?.initiatorRolDescription || 'Initiator'\"\n [required]=\"true\"\n [tooltip]=\"'initiatorRolDescriptionTooltip' | pluginTranslate: pluginId | async\"\n [smallMargin]=\"true\"\n placeholder=\"\"\n >\n </v-input>\n <ng-container *ngIf=\"{processSelectItems: processSelectItems$ | async} as vars\">\n <v-select\n [items]=\"vars.processSelectItems\"\n [smallMargin]=\"true\"\n name=\"processDefinitionKey\"\n [title]=\"'processDefinitionKey' | pluginTranslate: pluginId | async\"\n [disabled]=\"obs.disabled\"\n [defaultSelectionId]=\"prefill?.processDefinitionKey\"\n [required]=\"true\"\n [loading]=\"!vars.processSelectItems\"\n [tooltip]=\"'processDefinitionKeyTooltip' | pluginTranslate: pluginId | async\"\n ></v-select>\n </ng-container>\n <v-radio\n name=\"copyStrategy\"\n [disabled]=\"obs.disabled\"\n [title]=\"'copyStrategy' | pluginTranslate: pluginId | async\"\n [tooltip]=\"'copyStrategyTooltip' | pluginTranslate: pluginId | async\"\n [radioValues]=\"radioItems$ | async\"\n [smallMargin]=\"true\"\n [defaultValue]=\"prefill?.copyStrategy || 'full'\"\n >\n </v-radio>\n <ng-container *ngIf=\"showMappingButtons[uuid]\">\n <v-input-label\n [title]=\"'mapping' | pluginTranslate: pluginId | async\"\n [tooltip]=\"'mappingTooltip' | pluginTranslate: pluginId | async\"\n >\n </v-input-label>\n\n <button cdsButton (click)=\"openMappingModal(uuid)\" mdiIcon=\"table\">\n <svg cdsIcon=\"data-table\" size=\"16\"></svg>\n {{ 'setMapping' | pluginTranslate: pluginId | async }}\n </button>\n </ng-container>\n <v-input class=\"hidden-input\" name=\"uuid\" [defaultValue]=\"uuid\"> </v-input>\n </v-form>\n <v-modal [parentId]=\"uuid\" (closeEvent)=\"closeMappingModal(uuid)\" [maxWidthPx]=\"960\">\n <div role=\"header\">\n <h3 cdsModalHeaderHeading>{{ 'setMapping' | pluginTranslate: pluginId | async }}</h3>\n </div>\n\n <div role=\"content\">\n <div class=\"cds--text-input__field-wrapper\">\n <cds-label [disabled]=\"obs.disabled\">\n <span class=\"label-with-tooltip select-label\">\n {{ 'mapping' | pluginTranslate: pluginId | async }}\n <v-tooltip-icon\n [tooltip]=\"'mappingTooltip' | pluginTranslate: pluginId | async\"\n [disabled]=\"obs.disabled\"\n ></v-tooltip-icon>\n </span>\n </cds-label>\n <valtimo-carbon-multi-input\n *ngIf=\"showMappingModalsDelay[uuid]\"\n type=\"keyValuePathSelector\"\n (valueChange)=\"mappingValueChange($event, uuid)\"\n [defaultValues]=\"mappings[uuid] || prefill?.mapping\"\n [valueColumnTitle]=\"'target' | pluginTranslate: pluginId | async\"\n [keyColumnTitle]=\"'source' | pluginTranslate: pluginId | async\"\n [fullWidth]=\"true\"\n valuePathSelectorNotation=\"slashes\"\n [valuePathSelectorCaseDefinitionKey]=\"\n getSelectedCaseDefinitionKeyForIndex(index) | async\n \"\n [valuePathSelectorPrefixes]=\"[ValuePathSelectorPrefix.DOC]\"\n [keyColumnFlex]=\"1\"\n [valueColumnFlex]=\"2\"\n ></valtimo-carbon-multi-input>\n </div>\n </div>\n\n <div role=\"footer\" class=\"modal-buttons-container\">\n <button\n cdsButton=\"secondary\"\n [attr.modal-primary-focus]=\"true\"\n (click)=\"closeMappingModal(uuid)\"\n [disabled]=\"obs.disabled\"\n >\n {{ 'close' | pluginTranslate: pluginId | async }}\n </button>\n\n <button\n cdsButton=\"primary\"\n [attr.modal-primary-focus]=\"true\"\n [disabled]=\"obs.disabled\"\n (click)=\"saveMapping(uuid)\"\n [disabled]=\"obs.disabled\"\n >\n {{ 'save' | pluginTranslate: pluginId | async }}\n </button>\n </div>\n </v-modal>\n </ng-container>\n</ng-template>\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {NgModule} from '@angular/core';\nimport {VerzoekConfigurationComponent} from './components/verzoek-configuration/verzoek-configuration.component';\nimport {PluginTranslatePipeModule} from '../../pipes';\nimport {CommonModule} from '@angular/common';\nimport {\n ButtonModule as CarbonButtonModule,\n IconModule,\n InputModule as CarbonInputModule,\n ModalModule,\n} from 'carbon-components-angular';\nimport {\n CarbonMultiInputModule,\n FormModule,\n InputLabelModule,\n InputModule,\n MultiInputFormModule,\n ParagraphModule,\n RadioModule,\n SelectModule,\n TooltipIconModule,\n ValtimoCdsModalDirective,\n VModalModule,\n} from '@valtimo/components';\n\n@NgModule({\n declarations: [VerzoekConfigurationComponent],\n imports: [\n CommonModule,\n PluginTranslatePipeModule,\n FormModule,\n InputModule,\n SelectModule,\n ParagraphModule,\n MultiInputFormModule,\n RadioModule,\n InputLabelModule,\n ModalModule,\n CarbonInputModule,\n TooltipIconModule,\n CarbonMultiInputModule,\n CarbonButtonModule,\n ValtimoCdsModalDirective,\n VModalModule,\n IconModule,\n ],\n exports: [VerzoekConfigurationComponent],\n})\nexport class VerzoekPluginModule {}\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nconst VERZOEK_PLUGIN_LOGO_BASE64 =\n 'data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB2aWV3Qm94PSIxNTAgMTUgOTYgNTAiPjxkZWZzPjxwYXRoIGlkPSJhIiBkPSJNNTcuMzk2LjIxMUguMjgxdjQ5LjQwNWg1Ny4xMTVWLjIxeiIvPjxwYXRoIGlkPSJjIiBkPSJNNTcuNTY0LjIxMUguNDQ4djQ5LjQwNWg1Ny4xMTZWLjIxeiIvPjwvZGVmcz48ZyBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDE4Ny45MzEgMTUpIj48bWFzayBpZD0iYiIgZmlsbD0iI2ZmZiI+PHVzZSB4bGluazpocmVmPSIjYSIvPjwvbWFzaz48cGF0aCBkPSJNNTcuMzk2IDI0LjkxM2MwLTEzLjU3My0xMS4wMDQtMjQuNjIyLTI0LjU2LTI0LjctLjAyNCAwLS4wNDgtLjAwMy0uMDczLS4wMDNIMjQuNzVhMi41MDQgMi41MDQgMCAxIDAgMCA1LjAxaDcuOTQ1YzEwLjg1OCAwIDE5LjY5NCA4LjgzNCAxOS42OTQgMTkuNjkzIDAgMTAuODYtOC44MzYgMTkuNjk0LTE5LjY5NCAxOS42OTRINS4yODl2LTQuNTc4SC4yODF2OS41ODdoMzIuNDgydi0uMDAxYzEzLjU5LS4wNCAyNC42MzMtMTEuMTA1IDI0LjYzMy0yNC43MDIiIGZpbGw9IiMwMDlGRTQiIG1hc2s9InVybCgjYikiLz48L2c+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTUwIDE1KSI+PG1hc2sgaWQ9ImQiIGZpbGw9IiNmZmYiPjx1c2UgeGxpbms6aHJlZj0iI2MiLz48L21hc2s+PHBhdGggZD0iTS40NDggMjQuOTEzYzAgMTMuNTczIDExLjAwNCAyNC42MjIgMjQuNTYgMjQuNy4wMjQgMCAuMDQ4LjAwMy4wNzMuMDAzaDguMDE0YTIuNTA0IDIuNTA0IDAgMSAwIDAtNS4wMDloLTcuOTQ0Yy0xMC44NTkgMC0xOS42OTQtOC44MzQtMTkuNjk0LTE5LjY5NCAwLTEwLjg1OSA4LjgzNS0xOS42OTQgMTkuNjk0LTE5LjY5NGgyNy40MDR2NC41NzhoNS4wMDlWLjIxSDI1LjA4di4wMDFDMTEuNDkuMjUxLjQ0OCAxMS4zMTYuNDQ4IDI0LjkxMyIgZmlsbD0iIzAwOUZFNCIgbWFzaz0idXJsKCNkKSIvPjwvZz48cGF0aCBmaWxsPSIjMDA0Mzg4IiBkPSJNMTc2LjAxNyA0Mi4xMTZsLTQuNjc4LTEyLjQwMWgtNS42NjRsOC4xNCAyMC4zNjZoMy45MjFsOC40MDEtMjAuMzY2aC01LjM2M3ptMjYuNTQyLjU1OGwtNy45MjgtMTIuOTU5aC02LjQxM3YyMC4zNjdoNC45OTdWMzYuNzg3bDguMTUgMTMuMjk1aDYuMTlWMjkuNzE1aC00Ljk5NnptMTkuMzIzLTQuOTR2NC42NjNoMy41Mzd2Mi42NzdhOS43NzMgOS43NzMgMCAwIDEtMS40MTQuNTRjLS42NTIuMjAzLTEuNDQzLjMwNi0yLjM1NC4zMDYtLjg4IDAtMS42ODYtLjE1LTIuMzk0LS40NDhhNS4zMzggNS4zMzggMCAwIDEtMS44MjQtMS4yNDcgNS41MjIgNS41MjIgMCAwIDEtMS4xNy0xLjg5NGMtLjI3Mi0uNzI5LS40MS0xLjU0OS0uNDEtMi40MzMgMC0uODY3LjEzOC0xLjY4MS40MS0yLjQyYTUuNTAyIDUuNTAyIDAgMCAxIDEuMTctMS45MDggNS4zNzQgNS4zNzQgMCAwIDEgMS44MjQtMS4yNDZjLjcwOS0uMjk4IDEuNTE0LS40NDkgMi4zOTQtLjQ0OSAxLjA2NCAwIDEuOTU5LjE1MSAyLjY1Ny40NDkuNy4yOTcgMS4zMzguNzQgMS44OTggMS4zMThsLjI0Mi4yNDggMy41MTUtMy44MzUtLjIzNy0uMjIxYTguOTIzIDguOTIzIDAgMCAwLTMuNjI3LTIuMDM4Yy0xLjM1LS4zODYtMi44NDctLjU4My00LjQ0OC0uNTgzLTEuNTcyIDAtMy4wNDQuMjUtNC4zNzMuNzQ1YTEwLjEzOSAxMC4xMzkgMCAwIDAtMy40ODEgMi4xNDNjLS45NzUuOTI4LTEuNzQ2IDIuMDY2LTIuMjkgMy4zODQtLjU0MyAxLjMxNS0uODE5IDIuOC0uODE5IDQuNDEzIDAgMS42MTMuMjc2IDMuMDk4LjgyIDQuNDEzLjU0NSAxLjMxOSAxLjMxNCAyLjQ1NyAyLjI4OSAzLjM4NC45NzQuOTI2IDIuMTQ2IDEuNjQ3IDMuNDggMi4xNDMgMS4zMy40OTQgMi44MDIuNzQ0IDQuMzc0Ljc0NCAxLjQ2NCAwIDIuOTItLjE1MiA0LjMzLS40NTJhMTYuMDU0IDE2LjA1NCAwIDAgMCA0LjA5LTEuNDc4bC4xNzctLjA5VjM3LjczM2gtOC4zNjZ6Ii8+PC9nPjwvc3ZnPg==';\n\nexport {VERZOEK_PLUGIN_LOGO_BASE64};\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {PluginSpecification} from '../../models';\nimport {VerzoekConfigurationComponent} from './components/verzoek-configuration/verzoek-configuration.component';\nimport {VERZOEK_PLUGIN_LOGO_BASE64} from './assets/verzoek-plugin-logo';\n\nconst verzoekPluginSpecification: PluginSpecification = {\n pluginId: 'verzoek',\n pluginConfigurationComponent: VerzoekConfigurationComponent,\n pluginLogoBase64: VERZOEK_PLUGIN_LOGO_BASE64,\n pluginTranslations: {\n nl: {\n title: 'Verzoek',\n description:\n 'De Verzoek-plugin handelt aanvragen af en maakt een Zaakdossier aan. Een Verzoek is een Object in de Objecten API en wordt meestal met behulp van een portaal aangemaakt.',\n configurationTitle: 'Configuratienaam',\n configurationTitleTooltip:\n 'De naam van de huidige plugin-configuratie. Onder deze naam kan de configuratie in de rest van de applicatie teruggevonden worden.',\n notificatiesApiPluginConfiguration: 'Notificaties API-configuratie',\n objectManagementId: 'Object management-configuratie',\n processToStart: 'Proces',\n rsin: 'RSIN',\n verzoekProperties: 'Verzoektypen',\n type: 'Type',\n caseDefinitionKey: 'Dossierdefinitie',\n caseDefinitionVersionTag: 'Dossierdefinitie versie',\n initiatorRoltypeUrl: 'Roltype',\n processDefinitionKey: 'Procesdefinitie',\n initiatorRolDescription: 'Rolbeschrijving',\n addVerzoekType: 'Verzoektype toevoegen',\n verzoekPropertiesTooltip:\n 'De verzoektypen die aangemaakt worden wannneer er een notificatie binnenkomt.',\n notificatiesApiPluginConfigurationTooltip:\n 'Configuratie van de Notificaties API die wordt gebruikt om te communiceren tussen GZAC en andere applicaties.',\n objectManagementIdTooltip:\n 'Configuratie van het object dat wordt gebruikt om een verzoek op te slaan.',\n processToStartTooltip: 'Het proces dat een zaak aanmaakt wanneer een notificatie binnenkomt.',\n rsinTooltip: 'Dit nummer moet voldoen aan dezelfde specificaties als een BSN-nummer.',\n typeTooltip:\n \"Het type van het verzoek dat wordt gebruikt om het object te identificeren. Bv. 'verzoek'.\",\n caseDefinitionKeyTooltip:\n 'Selecteer hier het dossiertype waarvan een instantie gestart moet worden wanneer er een verzoek binnenkomt.',\n caseDefinitionVersionTagTooltip:\n 'Vul hier de versie in van het dossiertype waarvan een instantie gestart moet worden wanneer er een verzoek binnenkomt.',\n initiatorRoltypeUrlTooltip:\n 'Het roltype van de aanvrager die wordt opgeslagen wanneer er een verzoek binnenkomt.',\n initiatorRolDescriptionTooltip:\n 'Een beschrijving van het roltype van de aanvrager die wordt opgeslagen wanneer er een verzoek binnenkomt.',\n processDefinitionKeyTooltip:\n 'Selecteer hier het proces dat gestart moet worden wanneer het eerder geselecteerde systeemproces afgerond is.',\n copyStrategy: 'Kopieerstrategie',\n copyStrategyTooltip:\n 'Met deze optie wordt bepaald of het volledige Verzoek-object in het document terecht komt, of slechts de gespecifieerde velden.',\n full: 'Volledig',\n specified: 'Gespecifieerde velden',\n mapping: 'Mapping',\n setMapping: 'Mapping instellen',\n mappingTooltip:\n \"Stel hier de velden in die gekopieerd moeten worden van het Verzoek-object naar het document. Bijvoorbeeld: '/voorletters' -> 'doc:/voorletters-machtiginggever'.\",\n close: 'Sluiten',\n save: 'Opslaan',\n target: 'Bestemming',\n source: 'Bron',\n },\n en: {\n title: 'Verzoek',\n description:\n 'The Verzoek plugin handles requests and creates a Zaakdossier. A Verzoek is an Object in the Objecten API and is usually created using a portal.',\n configurationTitle: 'Configuration name',\n configurationTitleTooltip:\n 'The name of the current plugin configuration. Under this name, the configuration can be found in the rest of the application.',\n notificatiesApiPluginConfiguration: 'Notificaties API configuration',\n objectManagementId: 'Object management configuration',\n processToStart: 'Process',\n rsin: 'RSIN',\n verzoekProperties: 'Verzoek types',\n type: 'Type',\n caseDefinitionKey: 'Case definition',\n caseDefinitionVersionTag: 'Case definition version',\n initiatorRoltypeUrl: 'Role type',\n processDefinitionKey: 'Process definition',\n initiatorRolDescription: 'Role description',\n addVerzoekType: 'Add verzoek type',\n verzoekPropertiesTooltip:\n 'The verzoek types that are created when a notification is received.',\n notificatiesApiPluginConfigurationTooltip:\n 'Configuration of the Notificaties API used to communicate between GZAC and other applications.',\n objectManagementIdTooltip: 'Configuration of the object used to store a verzoek.',\n processToStartTooltip: 'The process that creates a case when a notification is received.',\n rsinTooltip: 'This number must meet the same specifications as a BSN number.',\n typeTooltip: \"The type of verzoek used to identify the object. Eg. 'verzoek'.\",\n caseDefinitionKeyTooltip:\n 'The case type of which an instance should be started when a verzoek comes in.',\n caseDefinitionVersionTagTooltip:\n 'The version of the case type of which an instance should be started when a verzoek comes in.',\n initiatorRoltypeUrlTooltip:\n 'The role type of the requestor that is saved when a verzoek comes in.',\n initiatorRolDescriptionTooltip:\n \"A description of the requester's role type that is saved when a verzoek comes in.\",\n processDefinitionKeyTooltip:\n 'Select the process that should be started when the previously selected system process has finished.',\n copyStrategy: 'Copy strategy',\n copyStrategyTooltip:\n 'This option determines whether the entire Verzoek object is included in the document, or only the defined fields.',\n full: 'Complete',\n specified: 'Specified fields',\n mapping: 'Mapping',\n setMapping: 'Set mapping',\n mappingTooltip:\n \"Set the fields to be copied from the Verzoek object to the document. For example: '/voorletters' -> 'doc:/voorletters-machtiginggever'.\",\n close: 'Close',\n save: 'Save',\n target: 'Target',\n source: 'Source',\n },\n de: {\n title: 'Verzoek',\n description:\n 'Das Verzoek-Plugin verarbeitet Anfragen und erstellt eine Zaakdossier. Eine Verzoek ist ein Object in der Objecten API und wird normalerweise mithilfe eines Portals erstellt.',\n configurationTitle: 'Konfigurationsname',\n configurationTitleTooltip:\n 'Der Name der aktuellen Plugin-Konfiguration. Unter diesem Namen ist die Konfiguration im Rest der Anwendung zu finden.',\n notificatiesApiPluginConfiguration: 'Notificaties API-Konfiguration',\n objectManagementId: 'Object management-Konfiguration',\n processToStart: 'Prozess',\n rsin: 'RSIN',\n verzoekProperties: 'Verzoektypen',\n type: 'Typ',\n caseDefinitionKey: 'Dateidefinition',\n caseDefinitionVersionTag: 'Falldefinitionsversion',\n initiatorRoltypeUrl: 'Rollentyp',\n processDefinitionKey: 'Prozessdefinition',\n initiatorRolDescription: 'Rollenbeschreibung',\n addVerzoekType: 'Verzoektyp hinzufügen',\n verzoekPropertiesTooltip:\n 'Die Verzoektypen die erstellt werden wenn eine Benachrichtigung eintrifft.',\n notificatiesApiPluginConfigurationTooltip:\n 'Konfiguration der Notificaties API, die für die Kommunikation zwischen GZAC und anderen Anwendungen verwendet wird.',\n objectManagementIdTooltip:\n 'Konfiguration des Objects, das zum Speichern einer Verzoek verwendet wird.',\n processToStartTooltip:\n 'Der Prozess, der einen Fall erstellt, wenn eine Benachrichtigung eintrifft.',\n rsinTooltip: 'Diese Nummer muss die gleichen Spezifikationen wie eine BSN-Nummer erfüllen.',\n typeTooltip:\n \"Der Verzoektyp, der zum Identifizieren des Objects verwendet wird. Z.B. 'verzoek'.\",\n caseDefinitionKeyTooltip:\n 'Wählen Sie hier den Falltyp aus, von dem eine Instanz gestartet werden soll, wenn eine Verzoek eintrifft.',\n caseDefinitionVersionTagTooltip:\n 'Die Version des Falltyps, dessen Instanz bei eingehender Verzoek gestartet werden soll.',\n initiatorRoltypeUrlTooltip:\n 'Der Rollentyp des Anforderers, der gespeichert wird, wenn eine Verzoek eingeht.',\n initiatorRolDescriptionTooltip:\n 'Eine Beschreibung des Rollentyps des Anforderers, die gespeichert wird, wenn eine Verzoek eingeht.',\n processDefinitionKeyTooltip:\n 'Wählen Sie hier den Prozess aus, der gestartet werden soll, wenn der zuvor ausgewählte Systemprozess beendet ist.',\n copyStrategy: 'Kopierstrategie',\n copyStrategyTooltip:\n 'Diese Option legt fest, ob das gesamte Verzoek-Objekt in das Dokument aufgenommen wird oder nur die definierten Felder.',\n full: 'Vollständig',\n specified: 'Angegebene Felder',\n mapping: 'Mapping',\n setMapping: 'Mapping festlegen',\n mappingTooltip:\n \"Legen Sie hier die Felder fest, die vom Verzoek-Objekt in das Dokument kopiert werden sollen. Zum Beispiel: '/voorletters' -> 'doc:/voorletters-machtiginggever'.\",\n close: 'Schließen',\n save: 'Speichern',\n target: 'Ziel',\n source: 'Ursprung',\n },\n },\n};\n\nexport {verzoekPluginSpecification};\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {PluginConfigurationComponent} from '../../../../models';\nimport {BehaviorSubject, combineLatest, map, Observable, Subscription, take} from 'rxjs';\nimport {BesluitenApiConfig} from '../../models';\nimport {PluginManagementService, PluginTranslationService} from '../../../../services';\nimport {TranslateService} from '@ngx-translate/core';\n\n@Component({\n standalone: false,\n selector: 'valtimo-besluiten-api-configuration',\n templateUrl: './besluiten-api-configuration.component.html',\n styleUrls: ['./besluiten-api-configuration.component.scss'],\n})\nexport class BesluitenApiConfigurationComponent\n implements PluginConfigurationComponent, OnInit, OnDestroy\n{\n @Input() save$: Observable<void>;\n @Input() disabled$: Observable<boolean>;\n @Input() pluginId: string;\n @Input() prefillConfiguration$: Observable<BesluitenApiConfig>;\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() configuration: EventEmitter<BesluitenApiConfig> =\n new EventEmitter<BesluitenApiConfig>();\n readonly authenticationPluginSelectItems$: Observable<Array<{id: string; text: string}>> =\n combineLatest([\n this.pluginManagementService.getPluginConfigurationsByCategory(\n 'besluiten-api-authentication'\n ),\n this.translateService.stream('key'),\n ]).pipe(\n map(([configurations]) =>\n configurations.map(configuration => ({\n id: configuration.id,\n text: `${configuration.title} - ${this.pluginTranslationService.instant(\n 'title',\n configuration.pluginDefinition.key\n )}`,\n }))\n )\n );\n private saveSubscription!: Subscription;\n private readonly formValue$ = new BehaviorSubject<BesluitenApiConfig | null>(null);\n private readonly valid$ = new BehaviorSubject<boolean>(false);\n\n constructor(\n private readonly pluginManagementService: PluginManagementService,\n private readonly translateService: TranslateService,\n private readonly pluginTranslationService: PluginTranslationService\n ) {}\n\n ngOnInit(): void {\n this.openSaveSubscription();\n }\n\n ngOnDestroy() {\n this.saveSubscription?.unsubscribe();\n }\n\n formValueChange(formValue: BesluitenApiConfig): void {\n this.formValue$.next(formValue);\n this.handleValid(formValue);\n }\n\n private handleValid(formValue: BesluitenApiConfig): void {\n const valid = !!(\n formValue.configurationTitle &&\n formValue.rsin &&\n formValue.url &&\n formValue.authenticationPluginConfiguration\n );\n\n this.valid$.next(valid);\n this.valid.emit(valid);\n }\n\n private openSaveSubscription(): void {\n this.saveSubscription = this.save$?.subscribe(save => {\n combineLatest([this.formValue$, this.valid$])\n .pipe(take(1))\n .subscribe(([formValue, valid]) => {\n if (valid) {\n this.configuration.emit(formValue);\n }\n });\n });\n }\n}\n","<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null,\n } as obs\"\n>\n <v-input\n name=\"configurationTitle\"\n [title]=\"'configurationTitle' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.configurationTitle\"\n [required]=\"true\"\n [trim]=\"true\"\n [tooltip]=\"'configurationTitleTooltip' | pluginTranslate: pluginId | async\"\n placeholder=\"Besluiten API Plugin\"\n >\n </v-input>\n <v-input\n name=\"rsin\"\n [title]=\"'rsin' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.rsin\"\n [required]=\"true\"\n [trim]=\"true\"\n [tooltip]=\"'rsinTooltip' | pluginTranslate: pluginId | async\"\n placeholder=\"123456789\"\n >\n </v-input>\n <v-input\n name=\"url\"\n [title]=\"'url' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.url\"\n [required]=\"true\"\n [trim]=\"true\"\n [tooltip]=\"'urlTooltip' | pluginTranslate: pluginId | async\"\n placeholder=\"https://openzaak.example.com/besluiten/api/v1/ \"\n >\n </v-input>\n <ng-container\n *ngIf=\"{authenticationPluginSelectItems: authenticationPluginSelectItems$ | async} as authObs\"\n >\n <v-select\n [items]=\"authObs.authenticationPluginSelectItems\"\n [margin]=\"true\"\n name=\"authenticationPluginConfiguration\"\n [title]=\"'authenticationPluginConfiguration' | pluginTranslate: pluginId | async\"\n [disabled]=\"obs.disabled\"\n [defaultSelectionId]=\"obs.prefill?.authenticationPluginConfiguration\"\n [required]=\"true\"\n [loading]=\"!authObs.authenticationPluginSelectItems\"\n ></v-select>\n </ng-container>\n</v-form>\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Injectable} from '@angular/core';\nimport {Observable} from 'rxjs';\nimport {HttpClient} from '@angular/common/http';\nimport {ConfigService} from '@valtimo/shared';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class BesluitenApiService {\n private valtimoEndpointUri: string;\n\n constructor(\n private http: HttpClient,\n configService: ConfigService\n ) {\n this.valtimoEndpointUri = configService.config.valtimoApi.endpointUri;\n }\n\n public getBesluitTypesByCaseAndVersion(\n caseDefinitionKey: string,\n versionTag: string\n ): Observable<Array<any>> {\n return this.http.get<Array<any>>(\n `${this.valtimoEndpointUri}v1/case-definition/${caseDefinitionKey}/version/${versionTag}/zaaktype/besluittype`\n );\n }\n}\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport * from './besluiten-api.service';\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {FunctionConfigurationComponent} from '../../../../models';\nimport {\n BehaviorSubject,\n combineLatest,\n filter,\n map,\n Observable,\n Subject,\n Subscription,\n switchMap,\n take,\n tap,\n} from 'rxjs';\nimport {CreateZaakBesluitConfig, Vervalredenen} from '../../models';\nimport {PluginTranslationService} from '../../../../services';\nimport {TranslateService} from '@ngx-translate/core';\nimport {ModalService, RadioValue, SelectItem} from '@valtimo/components';\nimport {DocumentService} from '@valtimo/document';\nimport {BesluitenApiService} from '../../services';\nimport {InputOption} from '../../../zaken-api/models';\nimport {PluginTranslatePipe} from '../../../../pipes';\nimport {CaseManagementParams, ManagementContext} from '@valtimo/shared';\n\n@Component({\n standalone: false,\n selector: 'valtimo-create-zaak-besluit-configuration',\n templateUrl: './create-zaak-besluit-configuration.component.html',\n styleUrls: ['./create-zaak-besluit-configuration.component.scss'],\n providers: [PluginTranslatePipe],\n})\nexport class CreateZaakBesluitConfigurationComponent\n implements FunctionConfigurationComponent, OnInit, OnDestroy\n{\n @Input() save$: Observable<void>;\n @Input() disabled$: Observable<boolean>;\n @Input() set pluginId(value: string) {\n this.pluginId$.next(value);\n }\n @Input() prefillConfiguration$: Observable<CreateZaakBesluitConfig>;\n @Input() context$: Observable<[ManagementContext, CaseManagementParams]>;\n\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() configuration: EventEmitter<CreateZaakBesluitConfig> =\n new EventEmitter<CreateZaakBesluitConfig>();\n\n readonly VERVALREDENEN: Array<Vervalredenen> = [\n 'tijdelijk',\n 'ingetrokken_overheid',\n 'ingetrokken_belanghebbende',\n ];\n\n readonly vervalredenenSelectItems$: Observable<Array<{id: Vervalredenen; text: string}>> =\n this.translateService.stream('key').pipe(\n switchMap(() => this.pluginId$),\n map(pluginId =>\n this.VERVALREDENEN.map(item => ({\n id: item,\n text: this.pluginTranslationService.instant(item, pluginId),\n }))\n )\n );\n\n readonly selectedInputOption$ = new BehaviorSubject<InputOption>('selection');\n readonly selectedStartDateInputOption$ = new BehaviorSubject<InputOption>('selection');\n readonly selectedExpirationDateInputOption$ = new BehaviorSubject<InputOption>('selection');\n readonly loading$ = new BehaviorSubject<boolean>(true);\n readonly pluginId$ = new BehaviorSubject<string>('');\n readonly clearBesluitSelection$ = new Subject<void>();\n readonly besluitTypeSelectItems$ = new BehaviorSubject<SelectItem[]>([]);\n\n readonly inputTypeOptions$: Observable<Array<RadioValue>> = this.pluginId$.pipe(\n filter(pluginId => !!pluginId),\n switchMap(pluginId =>\n combineLatest([\n this.pluginTranslatePipe.transform('selection', pluginId),\n this.pluginTranslatePipe.transform('text', pluginId),\n ])\n ),\n map(([selectionTranslation, textTranslation]) => [\n {value: 'selection', title: selectionTranslation},\n {value: 'text', title: textTranslation},\n ])\n );\n\n readonly startDateInputTypeOptions$ = this.inputTypeOptions$;\n readonly expirationDateInputTypeOptions$ = this.inputTypeOptions$;\n\n private readonly formValue$ = new BehaviorSubject<CreateZaakBesluitConfig | null>(null);\n private readonly valid$ = new BehaviorSubject<boolean>(false);\n private readonly _subscriptions = new Subscription();\n\n constructor(\n private readonly translateService: TranslateService,\n private readonly pluginTranslationService: PluginTranslationService,\n private readonly modalService: ModalService,\n private readonly documentService: DocumentService,\n private readonly besluitenApiService: BesluitenApiService,\n private readonly pluginTranslatePipe: PluginTranslatePipe\n ) {}\n\n public ngOnInit(): void {\n this.initBesluitHandling();\n this.initSaveHandling();\n }\n\n public ngOnDestroy(): void {\n this._subscriptions.unsubscribe();\n }\n\n public formValueChange(formValue: CreateZaakBesluitConfig): void {\n this.formValue$.next(formValue);\n this.handleValid(formValue);\n\n if (formValue.inputTypeBesluitToggle) {\n this.selectedInputOption$.next(formValue.inputTypeBesluitToggle);\n }\n\n if (formValue.inputTypeStartingDateToggle) {\n this.selectedStartDateInputOption$.next(formValue.inputTypeStartingDateToggle);\n }\n\n if (formValue.inputTypeExpirationDateToggle) {\n this.selectedExpirationDateInputOption$.next(formValue.inputTypeExpirationDateToggle);\n }\n }\n\n public oneSelectItem(selectItems: Array<SelectItem>): boolean {\n return Array.isArray(selectItems) && selectItems.length === 1;\n }\n\n private initBesluitHandling(): void {\n if (!this.context$) return;\n\n const sub = this.context$\n .pipe(\n filter(([context]) => {\n if (context === 'independent') {\n this.selectedInputOption$.next('text');\n this.loading$.next(false);\n }\n return context === 'case';\n }),\n switchMap(([_, params]) =>\n this.besluitenApiService.getBesluitTypesByCaseAndVersion(\n params.caseDefinitionKey,\n params.caseDefinitionVersionTag\n )\n ),\n tap(besluitTypes => {\n this.besluitTypeSelectItems$.next(\n besluitTypes.map(item => ({id: item.url, text: item.name}))\n );\n this.selectedInputOption$.next('selection');\n this.loading$.next(false);\n })\n )\n .subscribe();\n\n this._subscriptions.add(sub);\n }\n\n private initSaveHandling(): void {\n if (!this.save$) return;\n\n const sub = this.save$.subscribe(() => {\n combineLatest([this.formValue$, this.valid$])\n .pipe(take(1))\n .subscribe(([formValue, valid]) => {\n if (valid) {\n this.configuration.emit(formValue);\n }\n });\n });\n\n this._subscriptions.add(sub);\n }\n\n private handleValid(formValue: CreateZaakBesluitConfig): void {\n const valid = !!formValue.besluittypeUrl && !!formValue.ingangsdatum;\n this.valid$.next(valid);\n this.valid.emit(valid);\n }\n}\n","<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<ng-container\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null,\n besluitTypeItems: besluitTypeSelectItems$ | async,\n selectedInputOption: selectedInputOption$ | async,\n selectedStartDateInputOption: selectedStartDateInputOption$ | async,\n selectedExpirationDateInputOption: selectedExpirationDateInputOption$ | async,\n pluginId: pluginId$ | async,\n loading: loading$ | async,\n context: context$ | async,\n } as obs\"\n>\n <ng-container *ngIf=\"obs.loading === false; else loading\">\n <v-paragraph [margin]=\"true\" [italic]=\"true\">\n {{ 'createZaakBesluitInformation' | pluginTranslate: obs.pluginId | async }}\n </v-paragraph>\n\n <v-form (valueChange)=\"formValueChange($event)\">\n <v-radio\n *ngIf=\"obs.context && obs.context[0] && obs.context[0] === 'case'\"\n name=\"inputTypeBesluitToggle\"\n [disabled]=\"obs.disabled\"\n [title]=\"'inputTypeBesluitToggle' | pluginTranslate: obs.pluginId | async\"\n [radioValues]=\"inputTypeOptions$ | async\"\n [defaultValue]=\"selectedInputOption$ | async\"\n [margin]=\"true\"\n >\n </v-radio>\n\n <v-input\n *ngIf=\"obs.selectedInputOption === 'text'\"\n name=\"besluittypeUrl\"\n [title]=\"'besluittypeUrl' | pluginTranslate: obs.pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.besluittypeUrl\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n [trim]=\"true\"\n [tooltip]=\"'besluittypeUrlTooltip' | pluginTranslate: obs.pluginId | async\"\n [widthPx]=\"350\"\n >\n </v-input>\n\n <ng-container *ngIf=\"obs.selectedInputOption === 'selection'\">\n <v-select\n [items]=\"obs.besluitTypeItems\"\n [margin]=\"true\"\n [widthInPx]=\"350\"\n name=\"besluittypeUrl\"\n [title]=\"'besluittypeUrlSelect' | pluginTranslate: obs.pluginId | async\"\n [disabled]=\"obs.disabled || obs.selectedInputOption === 'text' || !obs.besluitTypeItems\"\n [defaultSelectionId]=\"obs.prefill?.besluittypeUrl\"\n [required]=\"true\"\n [loading]=\"!obs.besluitTypeItems\"\n [tooltip]=\"'besluittypeUrlSelectTooltip' | pluginTranslate: obs.pluginId | async\"\n [clearSelectionSubject$]=\"clearBesluitSelection$\"\n ></v-select>\n </ng-container>\n\n <v-input\n name=\"toelichting\"\n [title]=\"'toelichting' | pluginTranslate: obs.pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.toelichting\"\n [disabled]=\"obs.disabled\"\n [required]=\"false\"\n [tooltip]=\"'toelichtingTooltip' | pluginTranslate: obs.pluginId | async\"\n [widthPx]=\"350\"\n >\n </v-input>\n\n <v-input\n name=\"bestuursorgaan\"\n [title]=\"'bestuursorgaan' | pluginTranslate: obs.pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.bestuursorgaan\"\n [disabled]=\"obs.disabled\"\n [required]=\"false\"\n [trim]=\"true\"\n [tooltip]=\"'bestuursorgaanTooltip' | pluginTranslate: obs.pluginId | async\"\n [widthPx]=\"350\"\n >\n </v-input>\n\n <v-radio\n name=\"inputTypeStartingDateToggle\"\n [disabled]=\"obs.disabled\"\n [title]=\"'inputTypeStartingDateToggle' | pluginTranslate: obs.pluginId | async\"\n [radioValues]=\"startDateInputTypeOptions$ | async\"\n [defaultValue]=\"obs.prefill?.inputTypeStartingDateToggle || 'selection'\"\n [margin]=\"true\"\n >\n </v-radio>\n\n <v-input\n *ngIf=\"obs.selectedStartDateInputOption === 'text'\"\n name=\"ingangsdatum\"\n [title]=\"'ingangsdatum' | pluginTranslate: obs.pluginId | async\"\n [defaultValue]=\"obs.prefill?.ingangsdatum\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n [trim]=\"true\"\n [tooltip]=\"'ingangsdatumTooltip' | pluginTranslate: obs.pluginId | async\"\n [widthPx]=\"350\"\n [margin]=\"true\"\n >\n </v-input>\n\n <v-date-picker\n *ngIf=\"obs.selectedStartDateInputOption === 'selection'\"\n name=\"ingangsdatum\"\n [title]=\"'ingangsdatum' | pluginTranslate: obs.pluginId | async\"\n [defaultDate]=\"obs.prefill?.ingangsdatum\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n [tooltip]=\"'ingangsdatumTooltip' | pluginTranslate: obs.pluginId | async\"\n [widthPx]=\"100\"\n [margin]=\"true\"\n ></v-date-picker>\n\n <v-radio\n name=\"inputTypeExpirationDateToggle\"\n [disabled]=\"obs.disabled\"\n [title]=\"'inputTypeExpirationDateToggle' | pluginTranslate: obs.pluginId | async\"\n [radioValues]=\"expirationDateInputTypeOptions$ | async\"\n [defaultValue]=\"obs.prefill?.inputTypeExpirationDateToggle || 'selection'\"\n [margin]=\"true\"\n >\n </v-radio>\n\n <v-input\n *ngIf=\"obs.selectedExpirationDateInputOption === 'text'\"\n name=\"vervaldatum\"\n [title]=\"'vervaldatum' | pluginTranslate: obs.pluginId | async\"\n [defaultValue]=\"obs.prefill?.vervaldatum\"\n [disabled]=\"obs.disabled\"\n [required]=\"false\"\n [trim]=\"true\"\n [tooltip]=\"'vervaldatumTooltip' | pluginTranslate: obs.pluginId | async\"\n [widthPx]=\"350\"\n [margin]=\"true\"\n >\n </v-input>\n\n <v-date-picker\n *ngIf=\"obs.selectedExpirationDateInputOption === 'selection'\"\n name=\"vervaldatum\"\n [title]=\"'vervaldatum' | pluginTranslate: obs.pluginId | async\"\n [defaultDate]=\"obs.prefill?.vervaldatum\"\n [disabled]=\"obs.disabled\"\n [required]=\"false\"\n [tooltip]=\"'vervaldatumTooltip' | pluginTranslate: obs.pluginId | async\"\n [widthPx]=\"100\"\n [margin]=\"true\"\n ></v-date-picker>\n\n <v-select\n name=\"vervalreden\"\n [title]=\"'vervalreden' | pluginTranslate: obs.pluginId | async\"\n [items]=\"vervalredenenSelectItems$ | async\"\n [defaultSelectionId]=\"obs.prefill?.vervalreden\"\n [disabled]=\"obs.disabled\"\n [required]=\"false\"\n [tooltip]=\"'vervalredenTooltip' | pluginTranslate: obs.pluginId | async\"\n [widthInPx]=\"350\"\n [margin]=\"true\"\n ></v-select>\n\n <v-date-picker\n name=\"publicatiedatum\"\n [title]=\"'publicatiedatum' | pluginTranslate: obs.pluginId | async\"\n [defaultDate]=\"obs.prefill?.publicatiedatum\"\n [disabled]=\"obs.disabled\"\n [required]=\"false\"\n [tooltip]=\"'publicatiedatumTooltip' | pluginTranslate: obs.pluginId | async\"\n [widthPx]=\"100\"\n [margin]=\"true\"\n ></v-date-picker>\n\n <v-date-picker\n name=\"verzenddatum\"\n [title]=\"'verzenddatum' | pluginTranslate: obs.pluginId | async\"\n [defaultDate]=\"obs.prefill?.verzenddatum\"\n [disabled]=\"obs.disabled\"\n [required]=\"false\"\n [tooltip]=\"'verzenddatumTooltip' | pluginTranslate: obs.pluginId | async\"\n [widthPx]=\"100\"\n [margin]=\"true\"\n ></v-date-picker>\n\n <v-date-picker\n name=\"uiterlijkeReactieDatum\"\n [title]=\"'uiterlijkeReactieDatum' | pluginTranslate: obs.pluginId | async\"\n [defaultDate]=\"obs.prefill?.uiterlijkeReactieDatum\"\n [disabled]=\"obs.disabled\"\n [required]=\"false\"\n [tooltip]=\"'uiterlijkeReactieDatumTooltip' | pluginTranslate: obs.pluginId | async\"\n [widthPx]=\"100\"\n [margin]=\"true\"\n ></v-date-picker>\n\n <v-input\n name=\"createdBesluitUrl\"\n [title]=\"'besluitUrlProcessVariable' | pluginTranslate: obs.pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.createdBesluitUrl\"\n [disabled]=\"obs.disabled\"\n [required]=\"false\"\n [tooltip]=\"'besluitUrlProcessVariableTooltip' | pluginTranslate: obs.pluginId | async\"\n [widthPx]=\"350\"\n >\n </v-input>\n </v-form>\n </ng-container>\n</ng-container>\n\n<ng-template #loading>\n <div class=\"loading-container\">\n <cds-loading></cds-loading>\n </div>\n</ng-template>\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {FunctionConfigurationComponent} from '../../../../models';\nimport {BehaviorSubject, combineLatest, Observable, Subscription, take} from 'rxjs';\nimport {LinkDocumentToBesluitConfig} from '../../models';\n\n@Component({\n standalone: false,\n selector: 'valtimo-link-document-to-besluit-configuration',\n templateUrl: './link-document-to-besluit-configuration.component.html',\n styleUrls: ['./link-document-to-besluit-configuration.component.scss'],\n})\nexport class LinkDocumentToBesluitConfigurationComponent\n implements FunctionConfigurationComponent, OnInit, OnDestroy\n{\n @Input() save$: Observable<void>;\n @Input() disabled$: Observable<boolean>;\n @Input() pluginId: string;\n @Input() prefillConfiguration$: Observable<LinkDocumentToBesluitConfig>;\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() configuration: EventEmitter<LinkDocumentToBesluitConfig> =\n new EventEmitter<LinkDocumentToBesluitConfig>();\n\n private saveSubscription!: Subscription;\n private readonly formValue$ = new BehaviorSubject<LinkDocumentToBesluitConfig | null>(null);\n private readonly valid$ = new BehaviorSubject<boolean>(false);\n\n ngOnInit(): void {\n this.openSaveSubscription();\n }\n\n ngOnDestroy(): void {\n this.saveSubscription?.unsubscribe();\n }\n\n formValueChange(formValue: LinkDocumentToBesluitConfig): void {\n this.formValue$.next(formValue);\n this.handleValid(formValue);\n }\n\n private handleValid(formValue: LinkDocumentToBesluitConfig): void {\n const valid = !!(formValue.besluitUrl || formValue.documentUrl);\n\n this.valid$.next(valid);\n this.valid.emit(valid);\n }\n\n private openSaveSubscription(): void {\n this.saveSubscription = this.save$?.subscribe(save => {\n combineLatest([this.formValue$, this.valid$])\n .pipe(take(1))\n .subscribe(([formValue, valid]) => {\n if (valid) {\n this.configuration.emit(formValue);\n }\n });\n });\n }\n}\n","<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-paragraph [margin]=\"true\" [italic]=\"true\">\n {{ 'linkDocumentToBesluitInformation' | pluginTranslate: pluginId | async }}\n</v-paragraph>\n<v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null,\n } as obs\"\n>\n <v-input\n name=\"besluitUrl\"\n [title]=\"'besluitUrl' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.besluitUrl\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n [trim]=\"true\"\n [tooltip]=\"'besluitUrlTooltip' | pluginTranslate: pluginId | async\"\n [widthPx]=\"350\"\n >\n </v-input>\n <v-input\n name=\"documentUrl\"\n [title]=\"'documentUrl' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.documentUrl\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n [trim]=\"true\"\n [tooltip]=\"'documentUrlTooltip' | pluginTranslate: pluginId | async\"\n [widthPx]=\"350\"\n >\n </v-input>\n</v-form>\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {NgModule} from '@angular/core';\nimport {BesluitenApiConfigurationComponent} from './components/besluiten-api-configuration/besluiten-api-configuration.component';\nimport {CommonModule} from '@angular/common';\nimport {PluginTranslatePipeModule} from '../../pipes';\nimport {CreateZaakBesluitConfigurationComponent} from './components/create-zaak-besluit/create-zaak-besluit-configuration.component';\nimport {LinkDocumentToBesluitConfigurationComponent} from './components/link-document-to-besluit/link-document-to-besluit-configuration.component';\nimport {LoadingModule} from 'carbon-components-angular';\nimport {\n DatePickerModule,\n FormModule,\n InputModule,\n ParagraphModule,\n RadioModule,\n SelectModule,\n} from '@valtimo/components';\n\n@NgModule({\n declarations: [\n BesluitenApiConfigurationComponent,\n CreateZaakBesluitConfigurationComponent,\n LinkDocumentToBesluitConfigurationComponent,\n ],\n imports: [\n CommonModule,\n PluginTranslatePipeModule,\n FormModule,\n InputModule,\n SelectModule,\n DatePickerModule,\n ParagraphModule,\n RadioModule,\n LoadingModule,\n ],\n exports: [\n BesluitenApiConfigurationComponent,\n CreateZaakBesluitConfigurationComponent,\n LinkDocumentToBesluitConfigurationComponent,\n ],\n})\nexport class BesluitenApiPluginModule {}\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nconst BESLUITEN_API_PLUGIN_LOGO_BASE64 =\n 'data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB2aWV3Qm94PSIxNTAgMTUgOTYgNTAiPjxkZWZzPjxwYXRoIGlkPSJhIiBkPSJNNTcuMzk2LjIxMUguMjgxdjQ5LjQwNWg1Ny4xMTVWLjIxeiIvPjxwYXRoIGlkPSJjIiBkPSJNNTcuNTY0LjIxMUguNDQ4djQ5LjQwNWg1Ny4xMTZWLjIxeiIvPjwvZGVmcz48ZyBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDE4Ny45MzEgMTUpIj48bWFzayBpZD0iYiIgZmlsbD0iI2ZmZiI+PHVzZSB4bGluazpocmVmPSIjYSIvPjwvbWFzaz48cGF0aCBkPSJNNTcuMzk2IDI0LjkxM2MwLTEzLjU3My0xMS4wMDQtMjQuNjIyLTI0LjU2LTI0LjctLjAyNCAwLS4wNDgtLjAwMy0uMDczLS4wMDNIMjQuNzVhMi41MDQgMi41MDQgMCAxIDAgMCA1LjAxaDcuOTQ1YzEwLjg1OCAwIDE5LjY5NCA4LjgzNCAxOS42OTQgMTkuNjkzIDAgMTAuODYtOC44MzYgMTkuNjk0LTE5LjY5NCAxOS42OTRINS4yODl2LTQuNTc4SC4yODF2OS41ODdoMzIuNDgydi0uMDAxYzEzLjU5LS4wNCAyNC42MzMtMTEuMTA1IDI0LjYzMy0yNC43MDIiIGZpbGw9IiMwMDlGRTQiIG1hc2s9InVybCgjYikiLz48L2c+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTUwIDE1KSI+PG1hc2sgaWQ9ImQiIGZpbGw9IiNmZmYiPjx1c2UgeGxpbms6aHJlZj0iI2MiLz48L21hc2s+PHBhdGggZD0iTS40NDggMjQuOTEzYzAgMTMuNTczIDExLjAwNCAyNC42MjIgMjQuNTYgMjQuNy4wMjQgMCAuMDQ4LjAwMy4wNzMuMDAzaDguMDE0YTIuNTA0IDIuNTA0IDAgMSAwIDAtNS4wMDloLTcuOTQ0Yy0xMC44NTkgMC0xOS42OTQtOC44MzQtMTkuNjk0LTE5LjY5NCAwLTEwLjg1OSA4LjgzNS0xOS42OTQgMTkuNjk0LTE5LjY5NGgyNy40MDR2NC41NzhoNS4wMDlWLjIxSDI1LjA4di4wMDFDMTEuNDkuMjUxLjQ0OCAxMS4zMTYuNDQ4IDI0LjkxMyIgZmlsbD0iIzAwOUZFNCIgbWFzaz0idXJsKCNkKSIvPjwvZz48cGF0aCBmaWxsPSIjMDA0Mzg4IiBkPSJNMTc2LjAxNyA0Mi4xMTZsLTQuNjc4LTEyLjQwMWgtNS42NjRsOC4xNCAyMC4zNjZoMy45MjFsOC40MDEtMjAuMzY2aC01LjM2M3ptMjYuNTQyLjU1OGwtNy45MjgtMTIuOTU5aC02LjQxM3YyMC4zNjdoNC45OTdWMzYuNzg3bDguMTUgMTMuMjk1aDYuMTlWMjkuNzE1aC00Ljk5NnptMTkuMzIzLTQuOTR2NC42NjNoMy41Mzd2Mi42NzdhOS43NzMgOS43NzMgMCAwIDEtMS40MTQuNTRjLS42NTIuMjAzLTEuNDQzLjMwNi0yLjM1NC4zMDYtLjg4IDAtMS42ODYtLjE1LTIuMzk0LS40NDhhNS4zMzggNS4zMzggMCAwIDEtMS44MjQtMS4yNDcgNS41MjIgNS41MjIgMCAwIDEtMS4xNy0xLjg5NGMtLjI3Mi0uNzI5LS40MS0xLjU0OS0uNDEtMi40MzMgMC0uODY3LjEzOC0xLjY4MS40MS0yLjQyYTUuNTAyIDUuNTAyIDAgMCAxIDEuMTctMS45MDggNS4zNzQgNS4zNzQgMCAwIDEgMS44MjQtMS4yNDZjLjcwOS0uMjk4IDEuNTE0LS40NDkgMi4zOTQtLjQ0OSAxLjA2NCAwIDEuOTU5LjE1MSAyLjY1Ny40NDkuNy4yOTcgMS4zMzguNzQgMS44OTggMS4zMThsLjI0Mi4yNDggMy41MTUtMy44MzUtLjIzNy0uMjIxYTguOTIzIDguOTIzIDAgMCAwLTMuNjI3LTIuMDM4Yy0xLjM1LS4zODYtMi44NDctLjU4My00LjQ0OC0uNTgzLTEuNTcyIDAtMy4wNDQuMjUtNC4zNzMuNzQ1YTEwLjEzOSAxMC4xMzkgMCAwIDAtMy40ODEgMi4xNDNjLS45NzUuOTI4LTEuNzQ2IDIuMDY2LTIuMjkgMy4zODQtLjU0MyAxLjMxNS0uODE5IDIuOC0uODE5IDQuNDEzIDAgMS42MTMuMjc2IDMuMDk4LjgyIDQuNDEzLjU0NSAxLjMxOSAxLjMxNCAyLjQ1NyAyLjI4OSAzLjM4NC45NzQuOTI2IDIuMTQ2IDEuNjQ3IDMuNDggMi4xNDMgMS4zMy40OTQgMi44MDIuNzQ0IDQuMzc0Ljc0NCAxLjQ2NCAwIDIuOTItLjE1MiA0LjMzLS40NTJhMTYuMDU0IDE2LjA1NCAwIDAgMCA0LjA5LTEuNDc4bC4xNzctLjA5VjM3LjczM2gtOC4zNjZ6Ii8+PC9nPjwvc3ZnPg==';\n\nexport {BESLUITEN_API_PLUGIN_LOGO_BASE64};\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport * from './besluiten-api-plugin-logo';\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {PluginSpecification} from '../../models';\nimport {BesluitenApiConfigurationComponent} from './components/besluiten-api-configuration/besluiten-api-configuration.component';\nimport {BESLUITEN_API_PLUGIN_LOGO_BASE64} from './assets';\nimport {CreateZaakBesluitConfigurationComponent} from './components/create-zaak-besluit/create-zaak-besluit-configuration.component';\nimport {LinkDocumentToBesluitConfigurationComponent} from './components/link-document-to-besluit/link-document-to-besluit-configuration.component';\n\nconst besluitenApiPluginSpecification: PluginSpecification = {\n pluginId: 'besluitenapi',\n pluginConfigurationComponent: BesluitenApiConfigurationComponent,\n pluginLogoBase64: BESLUITEN_API_PLUGIN_LOGO_BASE64,\n functionConfigurationComponents: {\n 'create-besluit': CreateZaakBesluitConfigurationComponent,\n 'link-document-to-besluit': LinkDocumentToBesluitConfigurationComponent,\n },\n pluginTranslations: {\n nl: {\n title: 'Besluiten API',\n rsin: 'RSIN',\n rsinTooltip: 'Rechtspersonen en Samenwerkingsverbanden Informatienummer',\n url: 'Besluiten API URL',\n urlTooltip: 'Een URL naar de REST API van Besluiten',\n description: 'API voor opslag en ontsluiting van besluiten en daarbij behorende metadata.',\n configurationTitle: 'Configuratienaam',\n configurationTitleTooltip:\n 'De naam van de huidige plugin-configuratie. Onder deze naam kan de configuratie in de rest van de applicatie teruggevonden worden.',\n authenticationPluginConfiguration: 'Configuratie authenticatie-plug-in',\n 'create-besluit': 'Zaakbesluit aanmaken',\n createZaakBesluitInformation: 'Deze actie creëert een zaakbesluit in de Besluiten API.',\n besluittypeUrl: 'Besluittype-URL',\n besluittypeUrlTooltip: 'URL-referentie naar het besluittype',\n toelichting: 'Toelichting',\n toelichtingTooltip: 'Toelichting bij het besluit.',\n bestuursorgaan: 'Bestuursorgaan',\n bestuursorgaanTooltip:\n 'Een orgaan van een rechtspersoon krachtens publiekrecht ingesteld of een persoon of college, met enig openbaar gezag bekleed onder wiens verantwoordelijkheid het besluit vastgesteld is.',\n ingangsdatum: 'Ingangsdatum',\n ingangsdatumTooltip:\n 'Ingangsdatum van de werkingsperiode van het besluit. Ondersteunt de value resolver, bijv: pv:ingangsdatum of doc:/besluit/ingangsdatum. Ondersteunende datum voorbeelden: 2024-04-01, 2024-04-01T12:10:00, 2024-04-01T12:10:06.069Z. Selecteer Tekst om de document of proces variabel property te gebruiken en Selectie om een datum uit een kalender te selecteren',\n vervaldatum: 'Vervaldatum',\n vervaldatumTooltip:\n 'Datum waarop de werkingsperiode van het besluit eindigt. Ondersteunt de value resolver, bijv: pv:vervaldatum of doc:/besluit/vervaldatum. Ondersteunende datum voorbeelden: 2024-04-01, 2024-04-01T12:10:00, 2024-04-01T12:10:06.069Z. Selecteer Tekst om de document of proces variabel property te gebruiken en Selectie om een datum uit een kalender te selecteren',\n vervalreden: 'Vervalreden',\n vervalredenTooltip:\n 'De omschrijving die aangeeft op grond waarvan het besluit is of komt te vervallen.',\n tijdelijk: 'Tijdelijk',\n ingetrokken_overheid: 'Ingetrokken door overheid',\n ingetrokken_belanghebbende: 'Ingetrokken door belanghebbende',\n publicatiedatum: 'Publicatiedatum',\n publicatiedatumTooltip: 'Datum waarop het besluit gepubliceerd wordt.',\n verzenddatum: 'Verzenddatum',\n verzenddatumTooltip: 'Datum waarop het besluit verzonden is.',\n uiterlijkeReactieDatum: 'Uiterlijke reactie datum',\n uiterlijkeReactieDatumTooltip: 'De datum tot wanneer verweer tegen het besluit mogelijk is.',\n besluitUrlProcessVariable: 'Naam procesvariabele met besluit URL',\n besluitUrlProcessVariableTooltip:\n 'Hier moet de naam van de procesvariabele ingevuld worden waarin de besluit URL lokaal staat opgeslagen',\n 'link-document-to-besluit': 'Link Document aan Besluit',\n linkDocumentToBesluitInformation:\n 'Deze actie linkt een document aan een zaakbesluit in de Besluiten API.',\n besluitUrl: 'Besluit URL',\n besluitUrlTooltip: 'URL-referentie naar het besluit',\n documentUrl: 'Document URL',\n documentUrlTooltip: 'URL-referentie naar het document',\n inputTypeBesluitToggle: 'Invoertype Besluit-URL',\n inputTypeStartingDateToggle: 'Invoertype Begindatum',\n inputTypeExpirationDateToggle: 'Invoertype vervaldatum',\n text: 'Tekst',\n selection: 'Selectie',\n caseDefinition: 'Dossierdefinitie',\n caseDefinitionTooltip:\n 'Selecteer de dossierdefinitie waarvan u een Besluit-type wilt selecteren. Als er slechts één besluittype beschikbaar is, wordt deze standaard geselecteerd.',\n besluittypeUrlSelect: 'Besluittype',\n besluittypeUrlSelectTooltip: 'Selecteer het besluittype.',\n },\n en: {\n title: 'Besluiten API',\n rsin: 'RSIN',\n rsinTooltip: 'Legal Entities and Partnerships Information Number',\n url: 'Besluiten API URL',\n urlTooltip: 'A URL to the REST API of Besluiten',\n description: 'API for storage and access to decisions and associated metadata.',\n configurationTitle: 'Configuration name',\n configurationTitleTooltip:\n 'The name of the current plugin configuration. Under this name, the configuration can be found in the rest of the application.',\n authenticationPluginConfiguration: 'Authentication plugin configuration',\n 'create-besluit': 'Create Zaakbesluit',\n createZaakBesluitInformation: 'This action creates a Zaakbesluit in the Besluiten API.',\n besluittypeUrl: 'Besluit type URL',\n besluittypeUrlTooltip: 'URL reference to the besluit type',\n toelichting: 'Explanation',\n toelichtingTooltip: 'Explanation to the besluit.',\n bestuursorgaan: 'Governing body',\n bestuursorgaanTooltip:\n 'A body of a legal person established under public law or a person or body with any public authority under whose responsibility the decision has been adopted.',\n ingangsdatum: 'Starting date',\n ingangsdatumTooltip:\n 'Commencement date of the effective period of the besluit. Supports the value resolver eg: pv:ingangsdatum or doc:/besluit/ingangsdatum. Supporting date format examples: 2024-04-01, 2024-04-01T12:10:00, 2024-04-01T12:10:06.069Z. Select Text to use document or process variable property and Selection to select a date from a calendar.',\n vervaldatum: 'Expiration date',\n vervaldatumTooltip:\n 'Date on which the period of operation of the besluit ends. Supports the value resolver eg: pv:vervaldatum or doc:/besluit/vervaldatum. Supporting date format examples: 2024-04-01, 2024-04-01T12:10:00, 2024-04-01T12:10:06.069Z. Select Text to use document or process variable property and Selection to select a date from a calendar.',\n vervalreden: 'Reason for expiry',\n vervalredenTooltip:\n 'The description that indicates on the basis of which the decision has been or will be cancelled.',\n tijdelijk: 'Temporary',\n ingetrokken_overheid: 'Withdrawn by government',\n ingetrokken_belanghebbende: 'Withdrawn by interested party',\n publicatiedatum: 'Publication date',\n publicatiedatumTooltip: 'Date on which the besluit is published.',\n verzenddatum: 'Shipment date',\n verzenddatumTooltip: 'Date on which the besluit was sent.',\n uiterlijkeReactieDatum: 'Response deadline',\n uiterlijkeReactieDatumTooltip:\n 'The date until which a defense against the decision is possible.',\n besluitUrlProcessVariable: 'Process variable name with besluit URL',\n besluitUrlProcessVariableTooltip:\n 'Here must be entered the name of the process variable in which the besluit URL is stored locally',\n 'link-document-to-besluit': 'Link Document to Besluit',\n linkDocumentToBesluitInformation:\n 'This action links a document to a zaakbesluit in the Besluiten API.',\n besluitUrl: 'Besluit URL',\n besluitUrlTooltip: 'URL reference to the besluit',\n documentUrl: 'Document URL',\n documentUrlTooltip: 'URL reference to the document',\n inputTypeBesluitToggle: 'Input type Besluit-URL',\n inputTypeStartingDateToggle: 'Input type start date',\n inputTypeExpirationDateToggle: 'Input type expiration date',\n text: 'Text',\n selection: 'Selection',\n caseDefinition: 'Case definition',\n caseDefinitionTooltip:\n 'Select the case definition from which you want to select a Besluit type. If only one Besluit type is available, it will be selected by default.',\n besluittypeUrlSelect: 'Besluittype',\n besluittypeUrlSelectTooltip: 'Select the Besluit type.',\n },\n de: {\n title: 'Besluiten API',\n rsin: 'RSIN',\n rsinTooltip: 'Informationsnummer für juristische Personen und Partnerschaften.',\n url: 'Besluiten API URL',\n urlTooltip: 'Die URL zur REST API von Besluiten',\n description:\n 'API für die Speicherung und den Zugriff auf Entscheidungen und zugehörige Metadaten.',\n configurationTitle: 'Konfigurationsname',\n configurationTitleTooltip:\n 'Der Name der aktuellen Plugin-Konfiguration. Unter diesem Namen ist die Konfiguration im Rest der Anwendung zu finden.',\n authenticationPluginConfiguration: 'Authentifizierungs-Plugin-Konfiguration',\n 'create-besluit': 'Zaakbesluit erstellen',\n createZaakBesluitInformation: 'Diese Aktion erstellt eine Zaakbesluit in der Besluiten-API.',\n besluittypeUrl: 'Entscheidungstyp-URL',\n besluittypeUrlTooltip: 'URL-Referenz zum Entscheidungstyp',\n toelichting: 'Erläuterung',\n toelichtingTooltip: 'Begründung der Entscheidung.',\n bestuursorgaan: 'Leitungsgremium',\n bestuursorgaanTooltip:\n 'Eine Körperschaft einer juristischen Person des öffentlichen Rechts oder eine Person oder Körperschaft einer öffentlichen Behörde, unter deren Verantwortung die Entscheidung getroffen wurde.',\n ingangsdatum: 'Anfangsdatum',\n ingangsdatumTooltip:\n 'Datum des Beginns der Geltungsdauer der Entscheidung. Unterstützt den Werteauflöser, z. B.: pv:ingangsdatum oder doc:/besluit/ingangdatum. Beispiele für unterstützende Datumsformate: 2024-04-01, 2024-04-01T12:10:00, 2024-04-01T12:10:06.069Z. Wählen Sie Text, um die Dokument- oder Prozessvariableneigenschaft zu verwenden, und Auswahl, um ein Datum aus einem Kalender auszuwählen',\n vervaldatum: 'Verfallsdatum',\n vervaldatumTooltip:\n 'Datum, an dem die Geltungsdauer der Entscheidung endet. Unterstützt den Werteauflöser, z. B.: pv:vervaldatum oder doc:/besluit/vervaldatum. Beispiele für unterstützende Datumsformate: 2024-04-01, 2024-04-01T12:10:00, 2024-04-01T12:10:06.069Z. Wählen Sie Text, um die Dokument- oder Prozessvariableneigenschaft zu verwenden, und Auswahl, um ein Datum aus einem Kalender auszuwählen',\n vervalreden: 'Ablaufgrund',\n vervalredenTooltip:\n 'Die Beschreibung, auf deren Grundlage die Entscheidung aufgehoben wurde oder wird.',\n tijdelijk: 'Temporär',\n ingetrokken_overheid: 'Von der Regierung zurückgezogen',\n ingetrokken_belanghebbende: 'Von interessierter Partei zurückgezogen',\n publicatiedatum: 'Veröffentlichungsdatum',\n publicatiedatumTooltip: 'Datum, an dem die Entscheidung veröffentlicht wird.',\n verzenddatum: 'Versanddatum',\n verzenddatumTooltip: 'Datum, an dem die Entscheidung gesendet wurde.',\n uiterlijkeReactieDatum: 'Antwortfrist',\n uiterlijkeReactieDatumTooltip:\n 'Das Datum, bis zu dem eine Verteidigung gegen die Entscheidung möglich ist.',\n besluitUrlProcessVariable: 'Prozessvariablenname mit Entscheidungs-URL',\n besluitUrlProcessVariableTooltip:\n 'Hier muss der Name der Prozessvariable eingetragen werden, in der die Entscheidungs-URL lokal gespeichert wird',\n 'link-document-to-besluit': 'Verknüpf Document zum Besluit',\n linkDocumentToBesluitInformation:\n 'Diese Aktion verknüpft ein Dokument mit einer Fallentscheidung in der Besluiten API.',\n besluitUrl: 'Besluit URL',\n besluitUrlTooltip: 'URL-Referenz zum besluit',\n documentUrl: 'Document URL',\n documentUrlTooltip: 'URL-Referenz zum document',\n inputTypeBesluitToggle: 'Eingabetyp Besluit-URL',\n inputTypeStartingDateToggle: 'Eingabetyp Begindatum',\n inputTypeExpirationDateToggle: 'Eingabetyp Einddatum',\n text: 'Text',\n selection: 'Auswahl',\n caseDefinition: 'Falltyp',\n caseDefinitionTooltip:\n 'Wählen Sie die Falltyp aus, aus der Sie einen Besluit-typ auswählen möchten. Wenn nur ein Besluit-typ verfügbar ist, wird dieser standardmäßig ausgewählt.',\n besluittypeUrlSelect: 'Besluittype',\n besluittypeUrlSelectTooltip: 'Wählen Sie den Besluit-typ aus.',\n },\n },\n};\n\nexport {besluitenApiPluginSpecification};\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Injectable} from '@angular/core';\nimport {HttpClient} from '@angular/common/http';\nimport {ConfigService} from '@valtimo/shared';\nimport {Observable} from 'rxjs';\nimport ExactRefreshToken from './exact-refresh-token';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ExactPluginService {\n private valtimoEndpointUri: string;\n\n constructor(\n private http: HttpClient,\n configService: ConfigService\n ) {\n this.valtimoEndpointUri = configService.config.valtimoApi.endpointUri;\n }\n\n exchangeAuthorizationCode(\n clientId: string,\n clientSecret: string,\n code: string\n ): Observable<ExactRefreshToken> {\n return this.http.post<ExactRefreshToken>(`${this.valtimoEndpointUri}v1/plugin/exact/exchange`, {\n clientId,\n clientSecret,\n code,\n });\n }\n}\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {PluginConfigurationComponent} from '../../../../models';\nimport {BehaviorSubject, combineLatest, Observable, Subscription, take} from 'rxjs';\nimport {ExactPluginService} from '../../exact-plugin.service';\nimport {ExactPluginConfig} from '../../exact-plugin';\nimport {Checkmark16} from '@carbon/icons';\nimport {IconService} from 'carbon-components-angular';\n\n@Component({\n standalone: false,\n selector: 'valtimo-exact-plugin-configuration',\n templateUrl: './exact-plugin-configuration.component.html',\n})\n// The component explicitly implements the PluginConfigurationComponent interface\nexport class ExactPluginConfigurationComponent\n implements PluginConfigurationComponent, OnInit, OnDestroy\n{\n @Input() save$: Observable<void>;\n @Input() disabled$: Observable<boolean>;\n @Input() pluginId: string;\n @Input() prefillConfiguration$: Observable<ExactPluginConfig>;\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() configuration: EventEmitter<ExactPluginConfig> = new EventEmitter<ExactPluginConfig>();\n\n private saveSubscription!: Subscription;\n private readonly formValue$ = new BehaviorSubject<ExactPluginConfig | null>(null);\n private readonly valid$ = new BehaviorSubject<boolean>(false);\n private storageCallbackFun!: (any) => void;\n\n constructor(\n private readonly exactPluginService: ExactPluginService,\n private readonly iconService: IconService\n ) {\n this.iconService.registerAll([Checkmark16]);\n }\n\n ngOnInit(): void {\n this.openSaveSubscription();\n this.storageCallbackFun = this.onReceiveToken.bind(this);\n window.addEventListener('storage', this.storageCallbackFun);\n }\n\n onReceiveToken(event): void {\n if (event.key === 'exactAuthorizationCode') {\n this.formValue$\n .pipe(take(1))\n .subscribe(formValue => {\n this.exchangeAuthorizationCode(formValue, localStorage.getItem('exactAuthorizationCode'));\n })\n .unsubscribe();\n }\n }\n\n ngOnDestroy() {\n this.saveSubscription?.unsubscribe();\n window.removeEventListener('storage', this.storageCallbackFun);\n }\n\n exchangeAuthorizationCode(formValue, code): void {\n this.exactPluginService\n .exchangeAuthorizationCode(formValue.clientId, formValue.clientSecret, code)\n .subscribe(response => {\n formValue.accessToken = response.accessToken;\n formValue.accessTokenExpiresOn = response.accessTokenExpiresOn;\n formValue.refreshToken = response.refreshToken;\n formValue.refreshTokenExpiresOn = response.refreshTokenExpiresOn;\n this.formValueChange(formValue);\n });\n }\n\n formValueChange(formValue: ExactPluginConfig): void {\n this.formValue$.next(formValue);\n this.handleValid(formValue);\n }\n\n openAuthenticationWindow(): void {\n this.formValue$\n .subscribe((formValue: ExactPluginConfig) => {\n const redirect_url = window.location.origin + '/plugins/exact/redirect';\n window.open(\n `https://start.exactonline.nl/api/oauth2/auth?client_id=${formValue.clientId}&redirect_uri=${redirect_url}&response_type=code&force_login=0`,\n '_blank'\n );\n })\n .unsubscribe();\n }\n\n private handleValid(formValue: ExactPluginConfig): void {\n const valid = !!(\n formValue.clientId &&\n formValue.clientSecret &&\n formValue.accessToken &&\n formValue.refreshToken\n );\n\n this.valid$.next(valid);\n this.valid.emit(valid);\n }\n\n private openSaveSubscription(): void {\n this.saveSubscription = this.save$?.subscribe(save => {\n combineLatest([this.formValue$, this.valid$])\n .pipe(take(1))\n .subscribe(([formValue, valid]) => {\n if (valid) {\n this.configuration.emit(formValue);\n }\n });\n });\n }\n}\n","<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null,\n } as obs\"\n>\n <v-input\n name=\"configurationTitle\"\n [title]=\"'configurationTitle' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.configurationTitle\"\n [required]=\"true\"\n [trim]=\"true\"\n [tooltip]=\"'configurationTitleTooltip' | pluginTranslate: pluginId | async\"\n >\n </v-input>\n <v-input\n name=\"clientId\"\n [title]=\"'clientId' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.clientId\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n [trim]=\"true\"\n ></v-input>\n <v-input\n name=\"clientSecret\"\n [title]=\"'clientSecret' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.clientSecret\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n >\n </v-input>\n\n <button cdsButton=\"secondary\" (click)=\"openAuthenticationWindow()\">\n <svg cdsIcon=\"close\" size=\"16\"></svg>\n Give authorization\n </button>\n</v-form>\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {BehaviorSubject, combineLatest, Observable, Subscription, take} from 'rxjs';\nimport {FunctionConfigurationComponent} from '../../../../models';\nimport ExactGetRequestConfiguration from './exact-get-request-configuration';\n\n@Component({\n standalone: false,\n selector: 'valtimo-exact-get-request-configuration',\n templateUrl: './exact-get-request-configuration.component.html',\n})\n// The component explicitly implements the PluginConfigurationComponent interface\nexport class ExactGetRequestConfigurationComponent\n implements FunctionConfigurationComponent, OnInit, OnDestroy\n{\n @Input() save$: Observable<void>;\n @Input() disabled$: Observable<boolean>;\n @Input() pluginId: string;\n @Input() prefillConfiguration$: Observable<ExactGetRequestConfiguration>;\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() configuration: EventEmitter<ExactGetRequestConfiguration> =\n new EventEmitter<ExactGetRequestConfiguration>();\n\n private saveSubscription!: Subscription;\n\n private readonly formValue$ = new BehaviorSubject<ExactGetRequestConfiguration | null>(null);\n private readonly valid$ = new BehaviorSubject<boolean>(false);\n\n formValues: any = null;\n\n ngOnInit(): void {\n this.openSaveSubscription();\n }\n\n ngOnDestroy() {\n this.saveSubscription?.unsubscribe();\n }\n\n formValueChange(input: any): void {\n const formValue: ExactGetRequestConfiguration = {\n properties: {\n uri: input.uri,\n bean: input.bean,\n },\n };\n\n this.formValue$.next(formValue);\n this.handleValid(formValue);\n }\n\n private handleValid(formValue: ExactGetRequestConfiguration): void {\n const valid = !!(formValue.properties.uri || formValue.properties.bean);\n\n this.valid$.next(valid);\n this.valid.emit(valid);\n }\n\n private openSaveSubscription(): void {\n this.saveSubscription = this.save$?.subscribe(save => {\n combineLatest([this.formValue$, this.valid$])\n .pipe(take(1))\n .subscribe(([formValue, valid]) => {\n if (valid) {\n this.configuration.emit(formValue);\n }\n });\n });\n }\n}\n","<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null,\n } as obs\"\n>\n <v-input\n name=\"uri\"\n type=\"text\"\n [title]=\"'uri' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.properties?.uri\"\n [required]=\"false\"\n [trim]=\"true\"\n [widthPx]=\"350\"\n ></v-input>\n\n <v-input\n name=\"bean\"\n type=\"text\"\n [title]=\"'bean' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.properties?.bean\"\n [required]=\"false\"\n [trim]=\"true\"\n [widthPx]=\"350\"\n ></v-input>\n</v-form>\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {BehaviorSubject, combineLatest, Observable, Subscription, take} from 'rxjs';\nimport {FunctionConfigurationComponent} from '../../../../models';\nimport ExactPutRequestConfiguration from './exact-put-request-configuration';\n\n@Component({\n standalone: false,\n selector: 'valtimo-exact-put-request-configuration',\n templateUrl: './exact-put-request-configuration.component.html',\n})\n// The component explicitly implements the PluginConfigurationComponent interface\nexport class ExactPutRequestConfigurationComponent\n implements FunctionConfigurationComponent, OnInit, OnDestroy\n{\n @Input() save$: Observable<void>;\n @Input() disabled$: Observable<boolean>;\n @Input() pluginId: string;\n @Input() prefillConfiguration$: Observable<ExactPutRequestConfiguration>;\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() configuration: EventEmitter<ExactPutRequestConfiguration> =\n new EventEmitter<ExactPutRequestConfiguration>();\n\n private saveSubscription!: Subscription;\n\n private readonly formValue$ = new BehaviorSubject<ExactPutRequestConfiguration | null>(null);\n private readonly valid$ = new BehaviorSubject<boolean>(false);\n\n formValues: any = null;\n\n ngOnInit(): void {\n this.openSaveSubscription();\n }\n\n ngOnDestroy() {\n this.saveSubscription?.unsubscribe();\n }\n\n formValueChange(input: any): void {\n const formValue: ExactPutRequestConfiguration = {\n properties: {\n uri: input.uri,\n content: input.content,\n bean: input.bean,\n },\n };\n\n this.formValue$.next(formValue);\n this.handleValid(formValue);\n }\n\n private handleValid(formValue: ExactPutRequestConfiguration): void {\n const valid = !!(\n (formValue.properties.uri && formValue.properties.content) ||\n formValue.properties.bean\n );\n\n this.valid$.next(valid);\n this.valid.emit(valid);\n }\n\n private openSaveSubscription(): void {\n this.saveSubscription = this.save$?.subscribe(save => {\n combineLatest([this.formValue$, this.valid$])\n .pipe(take(1))\n .subscribe(([formValue, valid]) => {\n if (valid) {\n this.configuration.emit(formValue);\n }\n });\n });\n }\n}\n","<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null,\n } as obs\"\n>\n <v-input\n name=\"uri\"\n type=\"text\"\n [title]=\"'uri' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.properties?.uri\"\n [required]=\"false\"\n [trim]=\"true\"\n [widthPx]=\"350\"\n ></v-input>\n\n <v-input\n name=\"content\"\n type=\"text\"\n [title]=\"'content' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.properties?.content\"\n [required]=\"false\"\n [widthPx]=\"350\"\n ></v-input>\n\n <v-input\n name=\"bean\"\n type=\"text\"\n [title]=\"'bean' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.properties?.bean\"\n [required]=\"false\"\n [widthPx]=\"350\"\n ></v-input>\n</v-form>\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {BehaviorSubject, combineLatest, Observable, Subscription, take} from 'rxjs';\nimport {FunctionConfigurationComponent} from '../../../../models';\nimport ExactPostRequestConfiguration from './exact-post-request-configuration';\n\n@Component({\n standalone: false,\n selector: 'valtimo-exact-post-request-configuration',\n templateUrl: './exact-post-request-configuration.component.html',\n})\n// The component explicitly implements the PluginConfigurationComponent interface\nexport class ExactPostRequestConfigurationComponent\n implements FunctionConfigurationComponent, OnInit, OnDestroy\n{\n @Input() save$: Observable<void>;\n @Input() disabled$: Observable<boolean>;\n @Input() pluginId: string;\n @Input() prefillConfiguration$: Observable<ExactPostRequestConfiguration>;\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() configuration: EventEmitter<ExactPostRequestConfiguration> =\n new EventEmitter<ExactPostRequestConfiguration>();\n\n private saveSubscription!: Subscription;\n\n private readonly formValue$ = new BehaviorSubject<ExactPostRequestConfiguration | null>(null);\n private readonly valid$ = new BehaviorSubject<boolean>(false);\n\n formValues: any = null;\n\n ngOnInit(): void {\n this.openSaveSubscription();\n }\n\n ngOnDestroy() {\n this.saveSubscription?.unsubscribe();\n }\n\n formValueChange(input: any): void {\n const formValue: ExactPostRequestConfiguration = {\n properties: {\n uri: input.uri,\n content: input.content,\n bean: input.bean,\n },\n };\n\n this.formValue$.next(formValue);\n this.handleValid(formValue);\n }\n\n private handleValid(formValue: ExactPostRequestConfiguration): void {\n const valid = !!(\n (formValue.properties.uri && formValue.properties.content) ||\n formValue.properties.bean\n );\n\n this.valid$.next(valid);\n this.valid.emit(valid);\n }\n\n private openSaveSubscription(): void {\n this.saveSubscription = this.save$?.subscribe(save => {\n combineLatest([this.formValue$, this.valid$])\n .pipe(take(1))\n .subscribe(([formValue, valid]) => {\n if (valid) {\n this.configuration.emit(formValue);\n }\n });\n });\n }\n}\n","<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null,\n } as obs\"\n>\n <v-input\n name=\"uri\"\n type=\"text\"\n [title]=\"'uri' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.properties?.uri\"\n [required]=\"false\"\n [trim]=\"true\"\n [widthPx]=\"350\"\n ></v-input>\n\n <v-input\n name=\"content\"\n type=\"text\"\n [title]=\"'content' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.properties?.content\"\n [required]=\"false\"\n [widthPx]=\"350\"\n ></v-input>\n\n <v-input\n name=\"bean\"\n type=\"text\"\n [title]=\"'bean' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.properties?.bean\"\n [required]=\"false\"\n [widthPx]=\"350\"\n ></v-input>\n</v-form>\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {PluginSpecification} from '../../models';\nimport {ExactPluginConfigurationComponent} from './components/exact-plugin-configuration/exact-plugin-configuration.component';\nimport {ExactGetRequestConfigurationComponent} from './components/exact-action-get-request-configuration/exact-get-request-configuration.component';\nimport {ExactPutRequestConfigurationComponent} from './components/exact-action-put-request-configuration/exact-put-request-configuration.component';\nimport {ExactPostRequestConfigurationComponent} from './components/exact-action-post-request-configuration/exact-post-request-configuration.component';\n\nconst exactPluginSpecification: PluginSpecification = {\n pluginId: 'exact',\n pluginConfigurationComponent: ExactPluginConfigurationComponent,\n pluginLogoBase64:\n 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAKgAAAAkCAMAAAAq54ElAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAACqVBMVEUAAADWIinZJCrZJirYJCrZJSvaJSv/AADXKCjcIyvWJCn/AADMMzPYJyfdKC3aJi3bJCrZJivXKCjRLi7XJSvZJivaJivYJSrZJSrZJivZJivZJSrXJC3YJivYJivYJSrZJinmGjPaJSvZJSvaJSvYJSvZJSq/QEDaJSrZJirYJyfaJSraJSvcIy7aJSvZJivaJSvZJivaJirdIiLZJircKSnZJirYJSvZJSvZJivYJSr/AADbJCTYJSvaJSvYJSvYJivaJSvSHi3ZJCvZJirbJivYJyvZJivaJSvYJyzaJSzYJSvXJSvYJCvZJirYJyfZJivaJSvZJibaJSrZJSrZJSvZJivYJSvYJSrbJirZJi3aJSvYJivVKyvZJivYJSvZJSvaJSrZJivYJCnYJSvZJivYJSvZJSrZJivaJSvYJyraJivWISnZJiraJSzfIDDYJivaJSvYJivYJivZJSveJyzXJSrXJCvYJyvYJynfICDYJivYJCrVKyvbJCzZJivYJSnZJivaJivYJSvZJizfJSvXJCvaJSvaJSnYJyvZJivaJSvbJivbJCvaJSzaJSrZJSrYJivYJSrbJCTYJivZJirZJirbJivZJivYJCvZJSraJSnZJivZJirZJirZJinaJinZJiraJSvjHBzaJSrYJyrhJCvYJSvZJirZJSrZJivZJSrZJivXJCzbJCrbJirZJivYJSraJSnZJiraJSvYJiraJSzbJCTXJC3bJC7dIivYJirZJivZJivZJivXKCjbJiraJivYJivZJirYJSrZJivZJivZJirYJSrZJivaJSvaJSrbJiraJivVICvYJSrWIinWKSmqVVXVJCrbJCrYJSneJyfZJSnbJC7ZJCrZJi/ZJinYJSnaJCvVJCvYJSndKSnZJCr////a6T7OAAAA4nRSTlMARL2vW/zpAhMkMgEFJy0iMe0mC1qa16T4PFj3OfnSnVcKWZnWsrsEdOwN1OEW73LjZOsPvSzyuNCungMOv2B9nNsRfrx+Ql/1NCl8U1TlGmuPFPH5tGyll4Yo8L4Mp5am2udprPPGzzWET+4fw0wQ+92V+p8uZ007YwjLYhIjoG9liHZRMEfce0iU1Y0qRZLOxasHxKm1k5t3wqaoeT1dREPiCdNWKrm2yV7HakYrgKGYPuaJqksVPxweo3jR0iCFZsxJsfSB2Wg29pGM5BhuJRkDK1uXJ6AyeRtRfY8qgiWT0Pv9JgAAAAFiS0dE4sYBnhwAAAAHdElNRQfiChMHJTUkS/K4AAAEWklEQVRYw+2Y90MURxTHX/RWNHeiWCIiZwXRCBgwFMEGoiIWRDSKgJpY46mgZ+8NeyWxJxqikdgSNBoS0iyxd43GXv4Tb2/ezM4uO8Oe7g/+4Ptp3vu+efvZ29mZtwfwbtoHtfxWG951cyh+q/Me9D1oABZUt96HvDnBRYf1dYnBGG0A4NTNaNigrstC7XoaaAiNNbII2bhJ048Ug/mu2QyHoc253DAMtggHcBknuVu2am2AbdO2XYQuJ1IDZdbeEmZUh45KdfNd7+NOOI6OYcn1YzHWGUxAVfskjq/dOd6ovzFol0/NLqeCQkIiOklB9PdJxkhXpwhUUVJSae1u7aurbwrq6q4IQaEH9Xpidi/009JBDKr0pr9nhmIfaB9FAsrA3H39bj90M/uDDNSdRWoPUCyDDhwkMPp+xCRKQdmjHpzNL4UhIAVVcvzy0FzroMNEpYYj6GcsEjFiZB5nuM5G5aNcEAWF9OUajZNT+Ql5Y8Z+Tmt94ZfHsdrR47Xa/TTQCTQWVzPoRPQnTRYsDbodKV+y7Sqim2gdTfFgylTVm0b3gek1b/g1gRYVE3dGunARz8QZ3lk4mDBbvOLnYM5cdTvB2omj4O1B56E7X3ztBQsNUyW5UOgmOYt843D2KGwAxV+geLHk4ktCdDOXSjeRNJK0zDdcjhOC7QBdQbzclXqL05VdVcxNbNnYeLCVrOZ2kzUka61PyCPDfKcV0LjlAltH9PXmt7FBX3ejpuRu0kubI033twE+aQsZbrWle1pqDhphOL22McWhE4pKBQ9MBU3Bfc0W0FJLoFDCNsSvdO/Z14oEdDsZ7rAFdLQlUGckU3by8RWKDHQENjS2gO6yBLqbk1prYfMjkoG2I8M9lkD3fiOwb4meY+Vl2hfKSbFav79fkYLiK5gGdmxP2Dtlflems3C+asz3upnJB6jQFCNjyrQPjYMaaE9spdrYAfoDuockH1Plhqm7qPIj8bfz2Yc10EHccfrWoIfQ3SgG7Y0p8fTQV46gcpS4xwSgWZheXr1mE+wCnJZBXdjFtTgu4izz4ik7NygJ5yb+RKQC4v4sAI2in1cdqndZqDSyDAoVtCk/cbKLGWf2L5hwyrdYo3HcqdCvncYHmGAOCrNYr/xrpb7qb7Rh/t0y6Dou5o3nrIoc5PSLao/a8Tenr/8ffvFPepN/lTPzcKCbTWurJ1U2i3tIENJFVkib9L8Fd/KPXz5DW3Zy6yupelb1Gsq3J0hNNpPOqdIaQ9DClr/PLQE9j32TF5ew819UL5SoboYcFOaFikD7BA4KQ8SgVXXQuUiTF8/AyCV1RQfny0HhcrEAtHJw4KDgiBWAsqYpg/2jAFeuYuy0urWc98hBISzWHBRO5gcOCtnXPKag13F44yaXfIsm3FK92129UlC4kxNiCgpZBYGDAty999/aU/creBsKD/7H4UNdJ/UIo70I/uMnT5+lVBhtClf7uUNX+wUVXjpevKKXeA1u5WsFezws2AAAACV0RVh0ZGF0ZTpjcmVhdGUAMjAxOC0xMC0xOVQwNzozNzo1MyswMDowMIPF6M0AAAAldEVYdGRhdGU6bW9kaWZ5ADIwMTgtMTAtMTlUMDc6Mzc6NTMrMDA6MDDymFBxAAAAAElFTkSuQmCC',\n functionConfigurationComponents: {\n 'exact-get-request': ExactGetRequestConfigurationComponent,\n 'exact-post-request': ExactPostRequestConfigurationComponent,\n 'exact-put-request': ExactPutRequestConfigurationComponent,\n },\n pluginTranslations: {\n nl: {\n title: 'Exact Plugin',\n description: 'Plugin to set up Exact API connection',\n configurationTitle: 'Configuratienaam',\n clientId: 'Client Id',\n clientSecret: 'Client Secret',\n 'exact-get-request': 'Exact GET request',\n 'exact-post-request': 'Exact POST request',\n 'exact-put-request': 'Exact PUT request',\n uri: 'URI',\n bean: 'Service class',\n content: 'Bericht',\n },\n en: {\n title: 'Exact Plugin',\n description: 'Plugin to set up Exact API connection',\n configurationTitle: 'Configuratienaam',\n clientId: 'Client Id',\n clientSecret: 'Client Secret',\n 'exact-get-request': 'Exact GET request',\n 'exact-post-request': 'Exact POST request',\n 'exact-put-request': 'Exact PUT request',\n uri: 'URI',\n bean: 'Service class',\n content: 'Content',\n },\n de: {\n title: 'Exact Plugin',\n description: 'Plugin zum Einrichten einer Exact-API-Verbindung',\n configurationTitle: 'Konfigurationsname',\n clientId: 'Kunden ID',\n clientSecret: 'Client-Geheimnis',\n 'exact-get-request': 'Exakte GET-Anfrage',\n 'exact-post-request': 'Exakte POST-Anfrage',\n 'exact-put-request': 'Exakte PUT-Anfrage',\n uri: 'URI',\n bean: 'Serviceklasse',\n content: 'Inhalt',\n },\n },\n};\n\nexport {exactPluginSpecification};\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, OnInit} from '@angular/core';\nimport {ActivatedRoute} from '@angular/router';\n\n@Component({\n standalone: false,\n selector: 'valtimo-exact-redirect',\n templateUrl: './exact-redirect.component.html',\n})\nexport class ExactRedirectComponent implements OnInit {\n constructor(private route: ActivatedRoute) {}\n\n ngOnInit(): void {\n this.route.queryParams.subscribe(params => {\n localStorage.setItem('exactAuthorizationCode', params.code);\n window.close();\n });\n }\n}\n","<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<p>You can close this page.</p>\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {NgModule} from '@angular/core';\nimport {RouterModule, Routes} from '@angular/router';\nimport {CommonModule} from '@angular/common';\nimport {AuthGuardService} from '@valtimo/security';\nimport {ROLE_ADMIN} from '@valtimo/shared';\nimport {ExactRedirectComponent} from './components/exact-redirect/exact-redirect.component';\n\nconst routes: Routes = [\n {\n path: 'plugins/exact/redirect',\n component: ExactRedirectComponent,\n canActivate: [AuthGuardService],\n data: {title: 'Exact Redirect', roles: [ROLE_ADMIN]},\n },\n];\n\n@NgModule({\n declarations: [],\n imports: [CommonModule, RouterModule.forChild(routes)],\n exports: [RouterModule],\n})\nexport class ExactPluginRoutingModule {}\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {NgModule} from '@angular/core';\nimport {CommonModule} from '@angular/common';\nimport {FormModule, InputModule} from '@valtimo/components';\nimport {PluginTranslatePipeModule} from '../../pipes';\nimport {ExactPluginRoutingModule} from './exact-plugin-routing.module';\nimport {ExactGetRequestConfigurationComponent} from './components/exact-action-get-request-configuration/exact-get-request-configuration.component';\nimport {ExactPostRequestConfigurationComponent} from './components/exact-action-post-request-configuration/exact-post-request-configuration.component';\nimport {ExactPutRequestConfigurationComponent} from './components/exact-action-put-request-configuration/exact-put-request-configuration.component';\nimport {ExactPluginConfigurationComponent} from './components/exact-plugin-configuration/exact-plugin-configuration.component';\nimport {ExactRedirectComponent} from './components/exact-redirect/exact-redirect.component';\nimport {ButtonModule, IconModule} from 'carbon-components-angular';\n\n@NgModule({\n declarations: [\n ExactGetRequestConfigurationComponent,\n ExactPostRequestConfigurationComponent,\n ExactPutRequestConfigurationComponent,\n ExactPluginConfigurationComponent,\n ExactRedirectComponent,\n ],\n imports: [\n CommonModule,\n ExactPluginRoutingModule,\n PluginTranslatePipeModule,\n FormModule,\n InputModule,\n ButtonModule,\n ExactPluginRoutingModule,\n IconModule,\n ],\n exports: [],\n})\nexport class ExactPluginModule {}\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*\n * Public API Surface of plugin\n */\n\nexport * from './lib/services';\nexport * from './lib/models';\nexport * from './lib/pipes';\nexport * from './lib/constants';\n/* plugin configuration container */\nexport * from './lib/components/plugin-configuration-container/plugin-configuration-container.component';\nexport * from './lib/components/plugin-configuration-container/plugin-configuration-container.module';\n/* open-zaak plugin */\nexport * from './lib/plugins/open-zaak/open-zaak-plugin.module';\nexport * from './lib/plugins/open-zaak/components/open-zaak-configuration/open-zaak-configuration.component';\nexport * from './lib/plugins/open-zaak/open-zaak-plugin.specification';\n/* object token authentication plugin */\nexport * from './lib/plugins/object-token-authentication/object-token-authentication-plugin.module';\nexport * from './lib/plugins/object-token-authentication/object-token-authentication-plugin.specification';\nexport * from './lib/plugins/object-token-authentication/components/object-token-authentication-configuration/object-token-authencation-configuration.component';\n/* smart-documents plugin */\nexport * from './lib/plugins/smart-documents/smart-documents-plugin.module';\nexport * from './lib/plugins/smart-documents/smart-documents-plugin.specification';\nexport * from './lib/plugins/smart-documents/components/smart-documents-configuration/smart-documents-configuration.component';\nexport * from './lib/plugins/smart-documents/components/generate-document-configuration/generate-document-configuration.component';\nexport * from './lib/plugins/smart-documents/components/get-template-names/get-template-names.component';\n/* documenten api plugin */\nexport * from './lib/plugins/documenten-api/documenten-api-plugin.module';\nexport * from './lib/plugins/documenten-api/documenten-api-plugin.specification';\nexport * from './lib/plugins/documenten-api/models/config';\nexport * from './lib/plugins/documenten-api/components/store-temp-document/store-temp-document-configuration.component';\nexport * from './lib/plugins/documenten-api/components/documenten-api-configuration/documenten-api-configuration.component';\nexport * from './lib/plugins/documenten-api/components/store-uploaded-document/store-uploaded-document-configuration.component';\nexport * from './lib/plugins/documenten-api/components/download-document/download-document-configuration.component';\nexport * from './lib/plugins/documenten-api/components/store-uploaded-document-in-parts/store-uploaded-document-in-parts-configuration.component';\n/* objecttypen api plugin */\nexport * from './lib/plugins/objecttypen-api/objecttypen-api-plugin-module';\nexport * from './lib/plugins/objecttypen-api/objecttypen-api-plugin.specification';\nexport * from './lib/plugins/objecttypen-api/components/objecttypen-api-configuration/objecttypen-api-configuration.component';\n/* zaken api plugin */\nexport * from './lib/plugins/zaken-api/zaken-api-plugin.module';\nexport * from './lib/plugins/zaken-api/zaken-api-plugin.specification';\nexport * from './lib/plugins/zaken-api/components/zaken-api-configuration/zaken-api-configuration.component';\nexport * from './lib/plugins/zaken-api/components/link-document-to-zaak/link-document-to-zaak-configuration.component';\nexport * from './lib/plugins/zaken-api/components/set-zaak-status/set-zaak-status-configuration.component';\nexport * from './lib/plugins/zaken-api/components/create-zaak-resultaat/create-zaak-resultaat-configuration.component';\nexport * from './lib/plugins/zaken-api/components/link-uploaded-document-to-zaak/link-uploaded-document-to-zaak-configuration.component';\nexport * from './lib/plugins/zaken-api/components/create-natuurlijk-persoon-zaak-rol/create-natuurlijk-persoon-zaak-rol.component';\nexport * from './lib/plugins/zaken-api/components/create-niet-natuurlijk-persoon-zaak-rol/create-niet-natuurlijk-persoon-zaak-rol.component';\nexport * from './lib/plugins/zaken-api/components/create-medewerker-zaak-rol/create-medewerker-zaak-rol.component';\nexport * from './lib/plugins/zaken-api/components/create-organisatorische-eenheid-zaak-rol/create-organisatorische-eenheid-zaak-rol.component';\nexport * from './lib/plugins/zaken-api/components/create-vestiging-zaak-rol/create-vestiging-zaak-rol.component';\nexport * from './lib/plugins/zaken-api/components/create-zaak/create-zaak-configuration.component';\nexport * from './lib/plugins/zaken-api/components/set-zaakopschorting/set-zaakopschorting.component';\nexport * from './lib/plugins/zaken-api/components/start-hersteltermijn/start-hersteltermijn-configuration.component';\nexport * from './lib/plugins/zaken-api/components/end-hersteltermijn/end-hersteltermijn.component';\nexport * from './lib/plugins/zaken-api/components/create-zaakeigenschap/create-zaakeigenschap.component';\nexport * from './lib/plugins/zaken-api/components/update-zaakeigenschap/update-zaakeigenschap.component';\nexport * from './lib/plugins/zaken-api/components/delete-zaakeigenschap/delete-zaakeigenschap.component';\nexport * from './lib/plugins/zaken-api/components/relateer-zaken/relateer-zaken.component';\n/* objecten api plugin */\nexport * from './lib/plugins/objecten-api/objecten-api-plugin-module';\nexport * from './lib/plugins/objecten-api/objecten-api-plugin.specification';\nexport * from './lib/plugins/objecten-api/components/objecten-api-configuration/objecten-api-configuration.component';\nexport * from './lib/plugins/objecten-api/components/delete-object/delete-object.component';\n/* catalogi api plugin */\nexport * from './lib/plugins/catalogi-api/catalogi-api-plugin-module';\nexport * from './lib/plugins/catalogi-api/catalogi-api-plugin.specification';\nexport * from './lib/plugins/catalogi-api/components/catalogi-api-configuration/catalogi-api-configuration.component';\nexport * from './lib/plugins/catalogi-api/components/get-besluittype/get-besluittype-configuration.component';\nexport * from './lib/plugins/catalogi-api/components/get-resultaattype/get-resultaattype-configuration.component';\nexport * from './lib/plugins/catalogi-api/components/get-statustype/get-statustype-configuration.component';\nexport * from './lib/plugins/catalogi-api/components/get-eigenschap/get-eigenschap-configuration.component';\n/* notificaties api plugin */\nexport * from './lib/plugins/notificaties-api/notificaties-api-plugin.module';\nexport * from './lib/plugins/notificaties-api/notificaties-api-plugin.specification';\nexport * from './lib/plugins/notificaties-api/components/notificaties-api-configuration/notificaties-api-configuration.component';\n/* notificaties api authentication plugin */\nexport * from './lib/plugins/notificaties-api-authentication/open-notificaties-plugin.module';\nexport * from './lib/plugins/notificaties-api-authentication/open-notificaties-plugin.specification';\nexport * from './lib/plugins/notificaties-api-authentication/components/open-notificaties-configuration/open-notificaties-configuration.component';\n/* portaaltaak plugin */\nexport * from './lib/plugins/portaaltaak/portaaltaak-plugin.module';\nexport * from './lib/plugins/portaaltaak/portaaltaak-plugin.specification';\nexport * from './lib/plugins/portaaltaak/components/portaaltaak-configuration/portaaltaak-configuration.component';\nexport * from './lib/plugins/portaaltaak/components/create-portal-task/create-portal-task.component';\nexport * from './lib/plugins/portaaltaak/components/complete-portal-task/complete-portal-task.component';\n/* verzoek plugin */\nexport * from './lib/plugins/verzoek/verzoek-plugin.module';\nexport * from './lib/plugins/verzoek/verzoek-plugin.specification';\nexport * from './lib/plugins/verzoek/components/verzoek-configuration/verzoek-configuration.component';\n/* besluiten plugin */\nexport * from './lib/plugins/besluiten-api/besluiten-api-plugin.module';\nexport * from './lib/plugins/besluiten-api/besluiten-api-plugin.specification';\nexport * from './lib/plugins/besluiten-api/components/besluiten-api-configuration/besluiten-api-configuration.component';\nexport * from './lib/plugins/besluiten-api/components/create-zaak-besluit/create-zaak-besluit-configuration.component';\nexport * from './lib/plugins/besluiten-api/components/link-document-to-besluit/link-document-to-besluit-configuration.component';\n/* exact */\nexport * from './lib/plugins/exact/exact.plugin.specification';\nexport * from './lib/plugins/exact/exact-plugin.module';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1","i2.PluginService","i4","i1.PluginTranslationService","isValidUUID","i2","i3","i1.PluginService","i5.DefaultPluginConfigurationComponent","i6","i3.PluginTranslatePipe","map","i1.PluginManagementService","i3.DocumentenApiService","i5","i6.PluginTranslatePipe","i2.PluginTranslationService","i5.PluginTranslatePipe","tap","i1.ZakenApiService","i2.PluginTranslatePipe","i4.PluginTranslatePipe","i7.PluginTranslatePipe","i2.ZakenApiService","i1.PluginTranslatePipe","i2.ObjectService","i3.VerzoekPluginService","i7","i8.PluginTranslatePipe","CarbonInputModule","CarbonButtonModule","i5.BesluitenApiService","i8","i9.PluginTranslatePipe","i1.ExactPluginService"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"valtimo-plugin.mjs","sources":["../../../../projects/valtimo/plugin/src/lib/constants/injection-tokens.ts","../../../../projects/valtimo/plugin/src/lib/constants/index.ts","../../../../projects/valtimo/plugin/src/lib/services/plugin.service.ts","../../../../projects/valtimo/plugin/src/lib/services/plugin-translation.service.ts","../../../../projects/valtimo/plugin/src/lib/services/plugin-management.service.ts","../../../../projects/valtimo/plugin/src/lib/services/index.ts","../../../../projects/valtimo/plugin/src/lib/models/plugin.ts","../../../../projects/valtimo/plugin/src/lib/models/index.ts","../../../../projects/valtimo/plugin/src/lib/pipes/plugin-translate/plugin-translate.pipe.ts","../../../../projects/valtimo/plugin/src/lib/pipes/plugin-translate/plugin-translate-pipe.module.ts","../../../../projects/valtimo/plugin/src/lib/pipes/plugin-translate/index.ts","../../../../projects/valtimo/plugin/src/lib/pipes/index.ts","../../../../projects/valtimo/plugin/src/lib/components/default-plugin-configuration/default-plugin-configuration.component.ts","../../../../projects/valtimo/plugin/src/lib/components/default-plugin-configuration/default-plugin-configuration.component.html","../../../../projects/valtimo/plugin/src/lib/components/plugin-configuration-container/plugin-configuration-container.component.ts","../../../../projects/valtimo/plugin/src/lib/components/plugin-configuration-container/plugin-configuration-container.component.html","../../../../projects/valtimo/plugin/src/lib/components/default-plugin-configuration/default-plugin-configuration.module.ts","../../../../projects/valtimo/plugin/src/lib/components/plugin-configuration-container/plugin-configuration-container.module.ts","../../../../projects/valtimo/plugin/src/lib/plugins/open-zaak/components/open-zaak-configuration/open-zaak-configuration.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/open-zaak/components/open-zaak-configuration/open-zaak-configuration.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/open-zaak/open-zaak-plugin.module.ts","../../../../projects/valtimo/plugin/src/lib/plugins/open-zaak/assets/open-zaak-plugin-logo.ts","../../../../projects/valtimo/plugin/src/lib/plugins/open-zaak/assets/index.ts","../../../../projects/valtimo/plugin/src/lib/plugins/open-zaak/open-zaak-plugin.specification.ts","../../../../projects/valtimo/plugin/src/lib/plugins/object-token-authentication/components/object-token-authentication-configuration/object-token-authencation-configuration.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/object-token-authentication/components/object-token-authentication-configuration/object-token-authencation-configuration.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/object-token-authentication/object-token-authentication-plugin.module.ts","../../../../projects/valtimo/plugin/src/lib/plugins/object-token-authentication/assets/object-token-authentication-plugin-logo.ts","../../../../projects/valtimo/plugin/src/lib/plugins/object-token-authentication/object-token-authentication-plugin.specification.ts","../../../../projects/valtimo/plugin/src/lib/plugins/smart-documents/components/smart-documents-configuration/smart-documents-configuration.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/smart-documents/components/smart-documents-configuration/smart-documents-configuration.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/smart-documents/components/generate-document-configuration/generate-document-configuration.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/smart-documents/components/generate-document-configuration/generate-document-configuration.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/smart-documents/components/get-template-names/get-template-names.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/smart-documents/components/get-template-names/get-template-names.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/smart-documents/smart-documents-plugin.module.ts","../../../../projects/valtimo/plugin/src/lib/plugins/smart-documents/assets/smart-documents-plugin-logo.ts","../../../../projects/valtimo/plugin/src/lib/plugins/smart-documents/assets/index.ts","../../../../projects/valtimo/plugin/src/lib/plugins/smart-documents/smart-documents-plugin.specification.ts","../../../../projects/valtimo/plugin/src/lib/plugins/documenten-api/services/documenten-api.service.ts","../../../../projects/valtimo/plugin/src/lib/plugins/documenten-api/services/index.ts","../../../../projects/valtimo/plugin/src/lib/plugins/documenten-api/components/documenten-api-configuration/documenten-api-configuration.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/documenten-api/components/documenten-api-configuration/documenten-api-configuration.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/documenten-api/components/store-temp-document/store-temp-document-configuration.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/documenten-api/components/store-temp-document/store-temp-document-configuration.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/documenten-api/components/store-uploaded-document/store-uploaded-document-configuration.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/documenten-api/components/store-uploaded-document/store-uploaded-document-configuration.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/documenten-api/components/download-document/download-document-configuration.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/documenten-api/components/download-document/download-document-configuration.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/documenten-api/components/store-uploaded-document-in-parts/store-uploaded-document-in-parts-configuration.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/documenten-api/components/store-uploaded-document-in-parts/store-uploaded-document-in-parts-configuration.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/documenten-api/documenten-api-plugin.module.ts","../../../../projects/valtimo/plugin/src/lib/plugins/documenten-api/assets/documenten-api-plugin-logo.ts","../../../../projects/valtimo/plugin/src/lib/plugins/documenten-api/assets/index.ts","../../../../projects/valtimo/plugin/src/lib/plugins/documenten-api/documenten-api-plugin.specification.ts","../../../../projects/valtimo/plugin/src/lib/plugins/documenten-api/models/config.ts","../../../../projects/valtimo/plugin/src/lib/plugins/objecttypen-api/components/objecttypen-api-configuration/objecttypen-api-configuration.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/objecttypen-api/components/objecttypen-api-configuration/objecttypen-api-configuration.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/objecttypen-api/objecttypen-api-plugin-module.ts","../../../../projects/valtimo/plugin/src/lib/plugins/objecttypen-api/assets/objecttypen-api-plugin-logo.ts","../../../../projects/valtimo/plugin/src/lib/plugins/objecttypen-api/assets/index.ts","../../../../projects/valtimo/plugin/src/lib/plugins/objecttypen-api/objecttypen-api-plugin.specification.ts","../../../../projects/valtimo/plugin/src/lib/plugins/zaken-api/components/zaken-api-configuration/zaken-api-configuration.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/zaken-api/components/zaken-api-configuration/zaken-api-configuration.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/zaken-api/components/link-document-to-zaak/link-document-to-zaak-configuration.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/zaken-api/components/link-document-to-zaak/link-document-to-zaak-configuration.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/zaken-api/components/link-uploaded-document-to-zaak/link-uploaded-document-to-zaak-configuration.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/zaken-api/components/link-uploaded-document-to-zaak/link-uploaded-document-to-zaak-configuration.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/zaken-api/services/zaken-api.service.ts","../../../../projects/valtimo/plugin/src/lib/plugins/zaken-api/services/index.ts","../../../../projects/valtimo/plugin/src/lib/plugins/zaken-api/components/set-zaak-status/set-zaak-status-configuration.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/zaken-api/components/set-zaak-status/set-zaak-status-configuration.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/zaken-api/components/create-zaak-resultaat/create-zaak-resultaat-configuration.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/zaken-api/components/create-zaak-resultaat/create-zaak-resultaat-configuration.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/zaken-api/models/indicatie-machtiging-values.ts","../../../../projects/valtimo/plugin/src/lib/plugins/zaken-api/components/create-medewerker-zaak-rol/create-medewerker-zaak-rol.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/zaken-api/components/create-medewerker-zaak-rol/create-medewerker-zaak-rol.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/zaken-api/components/create-natuurlijk-persoon-zaak-rol/create-natuurlijk-persoon-zaak-rol.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/zaken-api/components/create-natuurlijk-persoon-zaak-rol/create-natuurlijk-persoon-zaak-rol.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/zaken-api/components/create-niet-natuurlijk-persoon-zaak-rol/create-niet-natuurlijk-persoon-zaak-rol.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/zaken-api/components/create-niet-natuurlijk-persoon-zaak-rol/create-niet-natuurlijk-persoon-zaak-rol.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/zaken-api/components/create-organisatorische-eenheid-zaak-rol/create-organisatorische-eenheid-zaak-rol.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/zaken-api/components/create-organisatorische-eenheid-zaak-rol/create-organisatorische-eenheid-zaak-rol.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/zaken-api/components/create-vestiging-zaak-rol/create-vestiging-zaak-rol.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/zaken-api/components/create-vestiging-zaak-rol/create-vestiging-zaak-rol.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/zaken-api/models/create-zaak-properties.ts","../../../../projects/valtimo/plugin/src/lib/plugins/zaken-api/components/create-zaak/create-zaak-configuration.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/zaken-api/components/create-zaak/create-zaak-configuration.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/zaken-api/components/set-zaakopschorting/set-zaakopschorting.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/zaken-api/components/set-zaakopschorting/set-zaakopschorting.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/zaken-api/components/start-hersteltermijn/start-hersteltermijn-configuration.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/zaken-api/components/start-hersteltermijn/start-hersteltermijn-configuration.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/zaken-api/components/end-hersteltermijn/end-hersteltermijn.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/zaken-api/components/end-hersteltermijn/end-hersteltermijn.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/zaken-api/components/create-zaakeigenschap/create-zaakeigenschap.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/zaken-api/components/create-zaakeigenschap/create-zaakeigenschap.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/zaken-api/components/update-zaakeigenschap/update-zaakeigenschap.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/zaken-api/components/update-zaakeigenschap/update-zaakeigenschap.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/zaken-api/components/delete-zaakeigenschap/delete-zaakeigenschap.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/zaken-api/components/delete-zaakeigenschap/delete-zaakeigenschap.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/zaken-api/components/relateer-zaken/relateer-zaken.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/zaken-api/components/relateer-zaken/relateer-zaken.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/zaken-api/models/patch-zaak-properties.ts","../../../../projects/valtimo/plugin/src/lib/plugins/zaken-api/components/patch-zaak/patch-zaak-configuration.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/zaken-api/components/patch-zaak/patch-zaak-configuration.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/zaken-api/zaken-api-plugin.module.ts","../../../../projects/valtimo/plugin/src/lib/plugins/zaken-api/assets/zaken-api-plugin-logo.ts","../../../../projects/valtimo/plugin/src/lib/plugins/zaken-api/assets/index.ts","../../../../projects/valtimo/plugin/src/lib/plugins/zaken-api/zaken-api-plugin.specification.ts","../../../../projects/valtimo/plugin/src/lib/plugins/objecten-api/components/objecten-api-configuration/objecten-api-configuration.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/objecten-api/components/objecten-api-configuration/objecten-api-configuration.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/objecten-api/components/delete-object/delete-object.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/objecten-api/components/delete-object/delete-object.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/objecten-api/objecten-api-plugin-module.ts","../../../../projects/valtimo/plugin/src/lib/plugins/objecten-api/assets/objecten-api-plugin-logo.ts","../../../../projects/valtimo/plugin/src/lib/plugins/objecten-api/assets/index.ts","../../../../projects/valtimo/plugin/src/lib/plugins/objecten-api/objecten-api-plugin.specification.ts","../../../../projects/valtimo/plugin/src/lib/plugins/catalogi-api/components/catalogi-api-configuration/catalogi-api-configuration.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/catalogi-api/components/catalogi-api-configuration/catalogi-api-configuration.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/catalogi-api/components/get-statustype/get-statustype-configuration.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/catalogi-api/components/get-statustype/get-statustype-configuration.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/catalogi-api/components/get-besluittype/get-besluittype-configuration.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/catalogi-api/components/get-besluittype/get-besluittype-configuration.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/catalogi-api/components/get-resultaattype/get-resultaattype-configuration.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/catalogi-api/components/get-resultaattype/get-resultaattype-configuration.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/catalogi-api/components/get-eigenschap/get-eigenschap-configuration.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/catalogi-api/components/get-eigenschap/get-eigenschap-configuration.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/catalogi-api/catalogi-api-plugin-module.ts","../../../../projects/valtimo/plugin/src/lib/plugins/catalogi-api/assets/catalogi-api-plugin-logo.ts","../../../../projects/valtimo/plugin/src/lib/plugins/catalogi-api/assets/index.ts","../../../../projects/valtimo/plugin/src/lib/plugins/catalogi-api/catalogi-api-plugin.specification.ts","../../../../projects/valtimo/plugin/src/lib/plugins/notificaties-api/components/notificaties-api-configuration/notificaties-api-configuration.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/notificaties-api/components/notificaties-api-configuration/notificaties-api-configuration.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/notificaties-api/notificaties-api-plugin.module.ts","../../../../projects/valtimo/plugin/src/lib/plugins/notificaties-api/assets/notificaties-api-plugin-logo.ts","../../../../projects/valtimo/plugin/src/lib/plugins/notificaties-api/notificaties-api-plugin.specification.ts","../../../../projects/valtimo/plugin/src/lib/plugins/notificaties-api-authentication/components/open-notificaties-configuration/open-notificaties-configuration.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/notificaties-api-authentication/components/open-notificaties-configuration/open-notificaties-configuration.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/notificaties-api-authentication/open-notificaties-plugin.module.ts","../../../../projects/valtimo/plugin/src/lib/plugins/notificaties-api-authentication/assets/open-notificaties-plugin-logo.ts","../../../../projects/valtimo/plugin/src/lib/plugins/notificaties-api-authentication/assets/index.ts","../../../../projects/valtimo/plugin/src/lib/plugins/notificaties-api-authentication/open-notificaties-plugin.specification.ts","../../../../projects/valtimo/plugin/src/lib/plugins/portaaltaak/services/object.service.ts","../../../../projects/valtimo/plugin/src/lib/plugins/portaaltaak/services/index.ts","../../../../projects/valtimo/plugin/src/lib/plugins/portaaltaak/components/portaaltaak-configuration/portaaltaak-configuration.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/portaaltaak/components/portaaltaak-configuration/portaaltaak-configuration.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/portaaltaak/components/create-portal-task/create-portal-task.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/portaaltaak/components/create-portal-task/create-portal-task.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/portaaltaak/components/complete-portal-task/complete-portal-task.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/portaaltaak/components/complete-portal-task/complete-portal-task.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/portaaltaak/portaaltaak-plugin.module.ts","../../../../projects/valtimo/plugin/src/lib/plugins/portaaltaak/assets/portaaltaak-plugin-logo.ts","../../../../projects/valtimo/plugin/src/lib/plugins/portaaltaak/portaaltaak-plugin.specification.ts","../../../../projects/valtimo/plugin/src/lib/plugins/verzoek/services/verzoek-plugin.service.ts","../../../../projects/valtimo/plugin/src/lib/plugins/verzoek/services/index.ts","../../../../projects/valtimo/plugin/src/lib/plugins/verzoek/components/verzoek-configuration/verzoek-configuration.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/verzoek/components/verzoek-configuration/verzoek-configuration.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/verzoek/verzoek-plugin.module.ts","../../../../projects/valtimo/plugin/src/lib/plugins/verzoek/assets/verzoek-plugin-logo.ts","../../../../projects/valtimo/plugin/src/lib/plugins/verzoek/verzoek-plugin.specification.ts","../../../../projects/valtimo/plugin/src/lib/plugins/besluiten-api/components/besluiten-api-configuration/besluiten-api-configuration.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/besluiten-api/components/besluiten-api-configuration/besluiten-api-configuration.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/besluiten-api/services/besluiten-api.service.ts","../../../../projects/valtimo/plugin/src/lib/plugins/besluiten-api/services/index.ts","../../../../projects/valtimo/plugin/src/lib/plugins/besluiten-api/components/create-zaak-besluit/create-zaak-besluit-configuration.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/besluiten-api/components/create-zaak-besluit/create-zaak-besluit-configuration.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/besluiten-api/components/link-document-to-besluit/link-document-to-besluit-configuration.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/besluiten-api/components/link-document-to-besluit/link-document-to-besluit-configuration.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/besluiten-api/besluiten-api-plugin.module.ts","../../../../projects/valtimo/plugin/src/lib/plugins/besluiten-api/assets/besluiten-api-plugin-logo.ts","../../../../projects/valtimo/plugin/src/lib/plugins/besluiten-api/assets/index.ts","../../../../projects/valtimo/plugin/src/lib/plugins/besluiten-api/besluiten-api-plugin.specification.ts","../../../../projects/valtimo/plugin/src/lib/plugins/exact/exact-plugin.service.ts","../../../../projects/valtimo/plugin/src/lib/plugins/exact/components/exact-plugin-configuration/exact-plugin-configuration.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/exact/components/exact-plugin-configuration/exact-plugin-configuration.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/exact/components/exact-action-get-request-configuration/exact-get-request-configuration.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/exact/components/exact-action-get-request-configuration/exact-get-request-configuration.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/exact/components/exact-action-put-request-configuration/exact-put-request-configuration.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/exact/components/exact-action-put-request-configuration/exact-put-request-configuration.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/exact/components/exact-action-post-request-configuration/exact-post-request-configuration.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/exact/components/exact-action-post-request-configuration/exact-post-request-configuration.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/exact/exact.plugin.specification.ts","../../../../projects/valtimo/plugin/src/lib/plugins/exact/components/exact-redirect/exact-redirect.component.ts","../../../../projects/valtimo/plugin/src/lib/plugins/exact/components/exact-redirect/exact-redirect.component.html","../../../../projects/valtimo/plugin/src/lib/plugins/exact/exact-plugin-routing.module.ts","../../../../projects/valtimo/plugin/src/lib/plugins/exact/exact-plugin.module.ts","../../../../projects/valtimo/plugin/src/public-api.ts","../../../../projects/valtimo/plugin/src/valtimo-plugin.ts"],"sourcesContent":["/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {InjectionToken} from '@angular/core';\nimport {PluginConfig} from '../models';\n\nconst PLUGINS_TOKEN = new InjectionToken<PluginConfig>(\n 'Provide plugin config; an array of plugin specifications.'\n);\n\nexport {PLUGINS_TOKEN};\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport * from './injection-tokens';\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Inject, Injectable} from '@angular/core';\nimport {PluginConfig, PluginSpecification} from '../models';\nimport {BehaviorSubject, Observable} from 'rxjs';\nimport {map} from 'rxjs/operators';\nimport {PLUGINS_TOKEN} from '../constants';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class PluginService {\n private readonly _pluginSpecifications$ = new BehaviorSubject<Array<PluginSpecification>>([]);\n private readonly _availablePluginIds$ = this._pluginSpecifications$.pipe(\n map(pluginSpecifications => pluginSpecifications.map(specification => specification.pluginId))\n );\n\n constructor(@Inject(PLUGINS_TOKEN) private readonly pluginConfig: PluginConfig) {\n this._pluginSpecifications$.next(pluginConfig);\n }\n\n get pluginSpecifications$(): Observable<Array<PluginSpecification>> {\n return this._pluginSpecifications$.asObservable();\n }\n\n get pluginSpecifications(): Array<PluginSpecification> {\n return this._pluginSpecifications$.getValue();\n }\n\n get availablePluginIds$(): Observable<Array<string>> {\n return this._availablePluginIds$;\n }\n}\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Injectable} from '@angular/core';\nimport {TranslateService} from '@ngx-translate/core';\nimport {PluginService} from './plugin.service';\nimport {PluginSpecification} from '../models';\nimport {combineLatest, Observable} from 'rxjs';\nimport {map} from 'rxjs/operators';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class PluginTranslationService {\n constructor(\n private readonly translateService: TranslateService,\n private readonly pluginService: PluginService\n ) {}\n\n public translate(translateKey: string, pluginDefinitionKey: string): Observable<string> {\n return combineLatest([\n this.pluginService.pluginSpecifications$,\n this.translateService.stream('key'),\n ]).pipe(\n map(([pluginSpecifications]) =>\n this.getTranslation(pluginSpecifications, pluginDefinitionKey, translateKey)\n )\n );\n }\n\n public instant(translateKey: string, pluginDefinitionKey: string): string {\n return this.getTranslation(\n this.pluginService.pluginSpecifications,\n pluginDefinitionKey,\n translateKey\n );\n }\n\n public instantByPluginActionKey(pluginActionKey: string): string {\n return this.getTranslationFromPluginActionKey(pluginActionKey);\n }\n\n public instantPluginTitleByPluginActionKey(pluginActionKey: string): string {\n return this.getPluginTitleFromPluginActionKey(pluginActionKey);\n }\n\n private getTranslation(\n pluginSpecifications: Array<PluginSpecification>,\n pluginDefinitionKey: string,\n translateKey: string\n ): string {\n const currentLang = this.translateService.currentLang;\n const pluginSpecification = pluginSpecifications.find(\n specification => specification.pluginId === pluginDefinitionKey\n );\n const translation = pluginSpecification?.pluginTranslations[currentLang][translateKey];\n return translation || `${pluginDefinitionKey}.${translateKey}`;\n }\n\n private getTranslationFromPluginActionKey(pluginActionKey: string): string {\n const currentLang = this.translateService.currentLang;\n const pluginSpecifications = this.pluginService.pluginSpecifications;\n const pluginActionTranslation = pluginSpecifications.reduce((acc, curr) => {\n const currentLanguageTranslations = curr.pluginTranslations[currentLang];\n const pluginActionTranslation =\n currentLanguageTranslations && currentLanguageTranslations[pluginActionKey];\n return pluginActionTranslation || acc;\n }, '');\n\n return pluginActionTranslation || pluginActionKey;\n }\n\n private getPluginTitleFromPluginActionKey(pluginActionKey: string): string {\n const currentLang = this.translateService.currentLang;\n const pluginSpecifications = this.pluginService.pluginSpecifications;\n return pluginSpecifications.reduce((acc, curr) => {\n const currentLanguageTranslations = curr.pluginTranslations[currentLang];\n const pluginActionTranslation =\n currentLanguageTranslations && currentLanguageTranslations[pluginActionKey];\n const pluginTitleTranslation =\n currentLanguageTranslations && currentLanguageTranslations['title'];\n return (pluginActionTranslation && pluginTitleTranslation) || acc;\n }, '-');\n }\n}\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Injectable} from '@angular/core';\nimport {HttpClient, HttpParams} from '@angular/common/http';\nimport {combineLatest, Observable} from 'rxjs';\nimport {\n PluginConfiguration,\n PluginConfigurationWithLogo,\n PluginDefinition,\n PluginFunction,\n} from '../models';\nimport {ConfigService} from '@valtimo/shared';\nimport {map} from 'rxjs/operators';\nimport {PluginService} from './plugin.service';\nimport {DomSanitizer} from '@angular/platform-browser';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class PluginManagementService {\n private readonly VALTIMO_API_ENDPOINT_URI = this.configService.config.valtimoApi.endpointUri;\n\n constructor(\n private readonly configService: ConfigService,\n private readonly pluginService: PluginService,\n private readonly sanitizer: DomSanitizer,\n private readonly http: HttpClient\n ) {}\n\n public getPluginDefinitions(): Observable<Array<PluginDefinition>> {\n return this.http.get<Array<PluginDefinition>>(\n `${this.VALTIMO_API_ENDPOINT_URI}v1/plugin/definition`\n );\n }\n\n public getPluginFunctions(\n pluginDefinitionId: string,\n activityType: string\n ): Observable<Array<PluginFunction>> {\n const params = new HttpParams().set('activityType', activityType);\n\n return this.http.get<Array<PluginFunction>>(\n `${this.VALTIMO_API_ENDPOINT_URI}v1/plugin/definition/${pluginDefinitionId}/action`,\n {params}\n );\n }\n public getAllPluginConfigurations(): Observable<Array<PluginConfiguration>> {\n return this.http.get<Array<PluginConfiguration>>(\n `${this.VALTIMO_API_ENDPOINT_URI}v1/plugin/configuration`\n );\n }\n\n public getPluginConfigurationsByPluginDefinitionKey(\n pluginDefinitionKey: string\n ): Observable<Array<PluginConfiguration>> {\n return this.http.get<Array<PluginConfiguration>>(\n `${this.VALTIMO_API_ENDPOINT_URI}v1/plugin/configuration?pluginDefinitionKey=${pluginDefinitionKey}`\n );\n }\n\n public getPluginConfigurationsByCategory(\n categoryId: string\n ): Observable<Array<PluginConfiguration>> {\n return this.http.get<Array<PluginConfiguration>>(\n `${this.VALTIMO_API_ENDPOINT_URI}v1/plugin/configuration?category=${categoryId}`\n );\n }\n\n public getPluginConfigurationsWithActionsForActivityType(\n activityType: string\n ): Observable<Array<PluginConfiguration>> {\n return this.http.get<Array<PluginConfiguration>>(\n `${this.VALTIMO_API_ENDPOINT_URI}v1/plugin/configuration?activityType=${activityType}`\n );\n }\n\n public getAllPluginConfigurationsWithLogos(\n activityType?: string\n ): Observable<Array<PluginConfigurationWithLogo>> {\n return activityType && activityType.length > 0\n ? this.returnPluginConfigurationsWithLogos(\n this.getPluginConfigurationsWithActionsForActivityType(activityType)\n )\n : this.returnPluginConfigurationsWithLogos(this.getAllPluginConfigurations());\n }\n\n public savePluginConfiguration(\n pluginConfiguration: PluginConfiguration\n ): Observable<PluginConfiguration> {\n return this.http.post<PluginConfiguration>(\n `${this.VALTIMO_API_ENDPOINT_URI}v1/plugin/configuration`,\n pluginConfiguration\n );\n }\n\n updatePluginConfiguration(\n configurationId: string,\n newConfigurationId: string,\n configurationTitle: string,\n configurationProperties: object\n ): Observable<PluginConfiguration> {\n return this.http.put<PluginConfiguration>(\n `${this.VALTIMO_API_ENDPOINT_URI}v1/plugin/configuration/${configurationId}`,\n {\n newId: newConfigurationId,\n title: configurationTitle,\n properties: configurationProperties,\n }\n );\n }\n\n deletePluginConfiguration(configurationId: string): Observable<void> {\n return this.http.delete<void>(\n `${this.VALTIMO_API_ENDPOINT_URI}v1/plugin/configuration/${configurationId}`\n );\n }\n\n private returnPluginConfigurationsWithLogos(\n pluginConfigurations$: Observable<Array<PluginConfiguration>>\n ): Observable<Array<PluginConfigurationWithLogo>> {\n return combineLatest([pluginConfigurations$, this.pluginService.pluginSpecifications$]).pipe(\n map(([pluginConfigurations, pluginSpecifications]) =>\n pluginConfigurations?.map(pluginConfiguration => {\n const pluginSpecification = pluginSpecifications.find(\n specification => specification.pluginId === pluginConfiguration?.pluginDefinition?.key\n );\n\n return {\n ...pluginConfiguration,\n ...(pluginSpecification?.pluginLogoBase64 && {\n pluginLogoBase64: this.sanitizer.bypassSecurityTrustResourceUrl(\n pluginSpecification?.pluginLogoBase64\n ),\n }),\n };\n })\n )\n );\n }\n}\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport * from './plugin.service';\nexport * from './plugin-translation.service';\nexport * from './plugin-management.service';\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {EventEmitter, Type} from '@angular/core';\nimport {Observable} from 'rxjs';\nimport {SafeResourceUrl} from '@angular/platform-browser';\nimport {CaseManagementParams, ManagementContext} from '@valtimo/shared';\n\ninterface PluginConfigurationData {\n configurationId: string;\n configurationTitle: string;\n [key: string]: any;\n}\n\ninterface DefaultPluginConfigurationData {\n configurationId: string;\n}\n\ninterface FunctionConfigurationData {\n [key: string]: any;\n}\n\ninterface ConfigurationComponent {\n save$: Observable<void>;\n disabled$: Observable<boolean>;\n pluginId: string;\n valid: EventEmitter<boolean>;\n context$?: Observable<[ManagementContext, CaseManagementParams]>;\n}\n\ninterface PluginConfigurationComponent extends ConfigurationComponent {\n prefillConfiguration$?: Observable<PluginConfigurationData>;\n configuration: EventEmitter<PluginConfigurationData>;\n}\n\ninterface FunctionConfigurationComponent extends ConfigurationComponent {\n prefillConfiguration$?: Observable<FunctionConfigurationData>;\n selectedPluginConfigurationData$?: Observable<PluginConfigurationData>;\n configuration: EventEmitter<FunctionConfigurationData>;\n}\n\ninterface PluginSpecification {\n pluginId: string;\n pluginLogoBase64: string;\n pluginConfigurationComponent: Type<PluginConfigurationComponent>;\n functionConfigurationComponents?: {\n [functionId: string]: Type<FunctionConfigurationComponent>;\n };\n pluginTranslations: {\n [langKey: string]: {\n title: string;\n description: string;\n [translationKey: string]: string;\n };\n };\n}\n\ntype PluginConfig = Array<PluginSpecification>;\n\ntype ConfigurationComponentType = 'function' | 'configuration';\n\ninterface PluginDefinition {\n key: string;\n description?: string;\n title?: string;\n}\n\ninterface PluginDefinitionWithLogo extends PluginDefinition {\n pluginLogoBase64?: SafeResourceUrl;\n}\n\ninterface PluginConfiguration {\n definitionKey?: string;\n pluginDefinition?: PluginDefinition;\n id?: string;\n newId?: string;\n title: string;\n properties: object;\n}\n\ninterface PluginConfigurationWithLogo extends PluginConfiguration {\n pluginLogoBase64?: SafeResourceUrl;\n}\n\ninterface PluginFunction {\n description?: string;\n key: string;\n title?: string;\n}\n\nexport {\n PluginSpecification,\n PluginConfig,\n PluginConfigurationComponent,\n ConfigurationComponentType,\n PluginConfigurationData,\n DefaultPluginConfigurationData,\n FunctionConfigurationComponent,\n FunctionConfigurationData,\n PluginConfiguration,\n PluginDefinition,\n PluginFunction,\n PluginDefinitionWithLogo,\n PluginConfigurationWithLogo,\n};\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport * from './plugin';\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Pipe, PipeTransform} from '@angular/core';\nimport {Observable} from 'rxjs';\nimport {PluginTranslationService} from '../../services/plugin-translation.service';\n\n@Pipe({\n name: 'pluginTranslate',\n standalone: false,\n})\nexport class PluginTranslatePipe implements PipeTransform {\n constructor(private readonly pluginTranslationService: PluginTranslationService) {}\n\n transform(translateKey: string, pluginDefinitionKey: string): Observable<string> {\n return this.pluginTranslationService.translate(translateKey, pluginDefinitionKey);\n }\n}\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {PluginTranslatePipe} from './plugin-translate.pipe';\nimport {NgModule} from '@angular/core';\nimport {TranslateModule} from '@ngx-translate/core';\n\n@NgModule({\n imports: [TranslateModule],\n declarations: [PluginTranslatePipe],\n exports: [PluginTranslatePipe],\n})\nexport class PluginTranslatePipeModule {}\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport * from './plugin-translate.pipe';\nexport * from './plugin-translate-pipe.module';\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport * from './plugin-translate';\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {BehaviorSubject, combineLatest, Observable, Subscription, take} from 'rxjs';\nimport {DefaultPluginConfigurationData} from '../../models';\nimport {validate as isValidUUID} from 'uuid';\n\n@Component({\n selector: 'valtimo-default-plugin-configuration',\n templateUrl: './default-plugin-configuration.component.html',\n styleUrls: ['./default-plugin-configuration.component.scss'],\n standalone: false,\n})\nexport class DefaultPluginConfigurationComponent implements OnInit, OnDestroy {\n @Input() save$: Observable<void>;\n @Input() disabled$: Observable<boolean>;\n @Input() prefillConfiguration$: Observable<any>;\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() configuration: EventEmitter<DefaultPluginConfigurationData> =\n new EventEmitter<DefaultPluginConfigurationData>();\n\n private saveSubscription!: Subscription;\n private readonly formValue$ = new BehaviorSubject<DefaultPluginConfigurationData | null>(null);\n private readonly valid$ = new BehaviorSubject<boolean>(false);\n\n ngOnInit(): void {\n this.openSaveSubscription();\n }\n\n ngOnDestroy(): void {\n this.saveSubscription?.unsubscribe();\n }\n\n formValueChange(formValue: DefaultPluginConfigurationData): void {\n this.formValue$.next(formValue);\n this.handleValid(formValue);\n }\n\n private handleValid(formValue: DefaultPluginConfigurationData): void {\n const valid = !formValue.configurationId || isValidUUID(formValue.configurationId);\n this.valid$.next(valid);\n this.valid.emit(valid);\n }\n\n private openSaveSubscription(): void {\n this.saveSubscription = this.save$?.subscribe(save => {\n combineLatest([this.formValue$, this.valid$])\n .pipe(take(1))\n .subscribe(([formValue, valid]) => {\n if (valid) {\n this.configuration.emit(formValue);\n }\n });\n });\n }\n}\n","<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null,\n } as obs\"\n>\n <v-input\n name=\"configurationId\"\n [title]=\"'plugin.configurationId' | translate\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.configurationId\"\n [required]=\"false\"\n [tooltip]=\"'plugin.configurationIdTooltip' | translate\"\n placeholder=\"00000000-0000-0000-0000-000000000000\"\n >\n </v-input>\n</v-form>\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {\n Component,\n ComponentRef,\n EventEmitter,\n Input,\n OnDestroy,\n OnInit,\n Output,\n Type,\n ViewChild,\n ViewContainerRef,\n} from '@angular/core';\nimport {PluginService} from '../../services';\nimport {BehaviorSubject, combineLatest, Observable, Subscription} from 'rxjs';\nimport {map, tap} from 'rxjs/operators';\nimport {\n ConfigurationComponentType,\n DefaultPluginConfigurationData,\n FunctionConfigurationComponent,\n PluginConfiguration,\n PluginConfigurationComponent,\n PluginConfigurationData,\n} from '../../models';\nimport {ActivatedRoute} from '@angular/router';\nimport {getCaseManagementRouteParamsAndContext} from '@valtimo/shared';\n\n@Component({\n selector: 'valtimo-plugin-configuration-container',\n templateUrl: './plugin-configuration-container.component.html',\n styleUrls: ['./plugin-configuration-container.component.scss'],\n standalone: false,\n})\nexport class PluginConfigurationContainerComponent\n implements OnInit, OnDestroy, Omit<PluginConfigurationComponent, 'pluginId'>\n{\n @ViewChild('pluginConfigurationComponent', {static: true, read: ViewContainerRef})\n public dynamicContainer: ViewContainerRef;\n\n @Input() set type(type: ConfigurationComponentType) {\n this._componentType.next(type);\n }\n @Input() set pluginDefinitionKey(key: string) {\n this._pluginDefinitionKey.next(key);\n }\n @Input() set functionKey(key: string) {\n this._functionKey.next(key);\n }\n @Input() save$: Observable<void>;\n @Input() disabled$: Observable<boolean>;\n @Input() selectedPluginConfiguration$: Observable<PluginConfiguration>;\n @Input() prefillConfiguration$: Observable<any>;\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() configuration: EventEmitter<PluginConfigurationData> =\n new EventEmitter<PluginConfigurationData>();\n\n readonly noConfigurationComponentAvailable$ = new BehaviorSubject<boolean>(false);\n readonly componentRef$ = new BehaviorSubject<\n ComponentRef<PluginConfigurationComponent | FunctionConfigurationComponent> | undefined\n >(undefined);\n\n private componentRefSubscription!: Subscription;\n private pluginSubscription!: Subscription;\n private validSubscription!: Subscription;\n private configurationSubscription!: Subscription;\n\n private readonly _componentType = new BehaviorSubject<ConfigurationComponentType | null>(null);\n private readonly _pluginDefinitionKey = new BehaviorSubject<string>('');\n private readonly _functionKey = new BehaviorSubject<string>('');\n private readonly _defaultConfiguration =\n new BehaviorSubject<DefaultPluginConfigurationData | null>(null);\n private readonly _validDefaultConfiguration = new BehaviorSubject<boolean>(true);\n\n readonly isTypeConfiguration$: Observable<boolean> = this._componentType.pipe(\n map(componentType => componentType === 'configuration'),\n tap(isTypeConfiguration => this._validDefaultConfiguration.next(!isTypeConfiguration))\n );\n\n constructor(\n private readonly pluginService: PluginService,\n private readonly route: ActivatedRoute\n ) {}\n\n ngOnInit(): void {\n this.openPluginSubscription();\n this.openComponentInstanceSubscription();\n }\n\n ngOnDestroy(): void {\n this.pluginSubscription?.unsubscribe();\n this.componentRefSubscription?.unsubscribe();\n }\n\n onDefaultConfiguration(defaultConfiguration: DefaultPluginConfigurationData) {\n this._defaultConfiguration.next(defaultConfiguration);\n }\n\n onValidDefaultConfiguration(valid: boolean) {\n this._validDefaultConfiguration.next(valid);\n }\n\n private openPluginSubscription(): void {\n this.pluginSubscription = combineLatest([\n this._pluginDefinitionKey,\n this._functionKey,\n this._componentType,\n this.pluginService.pluginSpecifications$,\n ])\n .pipe(\n tap(([pluginDefinitionKey, functionKey, componentType, pluginSpecifications]) => {\n let configurationComponent!: Type<\n PluginConfigurationComponent | FunctionConfigurationComponent\n >;\n\n this.dynamicContainer.clear();\n\n if (componentType === 'configuration' && pluginDefinitionKey) {\n configurationComponent = pluginSpecifications.find(\n specification => specification.pluginId === pluginDefinitionKey\n )?.pluginConfigurationComponent;\n } else if (componentType === 'function' && pluginDefinitionKey && functionKey) {\n const pluginSpecification = pluginSpecifications.find(\n specification => specification.pluginId === pluginDefinitionKey\n );\n configurationComponent =\n pluginSpecification?.functionConfigurationComponents[functionKey];\n }\n\n if (configurationComponent) {\n const componentRef = this.dynamicContainer.createComponent(configurationComponent);\n this.componentRef$.next(componentRef);\n this.noConfigurationComponentAvailable$.next(false);\n } else {\n this.noConfigurationComponentAvailable$.next(true);\n }\n })\n )\n .subscribe();\n }\n\n private openComponentInstanceSubscription(): void {\n this.componentRefSubscription = combineLatest([\n this.componentRef$,\n this._componentType,\n this._pluginDefinitionKey,\n ]).subscribe(([ref, type, pluginDefinitionKey]) => {\n const instance = ref?.instance;\n\n this.configurationSubscription?.unsubscribe();\n this.validSubscription?.unsubscribe();\n\n if (instance) {\n instance.save$ = this.save$;\n instance.disabled$ = this.disabled$;\n instance.pluginId = pluginDefinitionKey;\n instance.context$ = getCaseManagementRouteParamsAndContext(this.route);\n\n if (this.prefillConfiguration$) {\n instance.prefillConfiguration$ = this.prefillConfiguration$;\n }\n\n if (this.selectedPluginConfiguration$ && type === 'function') {\n (instance as FunctionConfigurationComponent).selectedPluginConfigurationData$ =\n this.selectedPluginConfiguration$.pipe(\n map(configuration =>\n configuration\n ? ({\n configurationId: configuration.id,\n configurationTitle: configuration.title,\n ...configuration.properties,\n } as PluginConfigurationData)\n : undefined\n )\n );\n }\n\n this.validSubscription = combineLatest([\n instance.valid,\n this._validDefaultConfiguration,\n ]).subscribe(([instanceValid, defaultConfigurationValid]) => {\n this.valid.emit(instanceValid && defaultConfigurationValid);\n });\n\n this.configurationSubscription = instance.configuration.subscribe(configuration => {\n const configurationId = this._defaultConfiguration.value?.configurationId;\n this.configuration.emit({\n ...configuration,\n configurationId,\n } as any as PluginConfigurationData);\n });\n }\n });\n }\n}\n","<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<valtimo-default-plugin-configuration\n *ngIf=\"isTypeConfiguration$ | async\"\n [prefillConfiguration$]=\"prefillConfiguration$\"\n [save$]=\"save$\"\n [disabled$]=\"disabled$\"\n (valid)=\"onValidDefaultConfiguration($event)\"\n (configuration)=\"onDefaultConfiguration($event)\"\n>\n</valtimo-default-plugin-configuration>\n<ng-template #pluginConfigurationComponent></ng-template>\n<ng-container *ngIf=\"noConfigurationComponentAvailable$ | async\">\n <v-paragraph [center]=\"true\">{{ 'plugin.noConfigurationComponent' | translate }}</v-paragraph>\n</ng-container>\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {NgModule} from '@angular/core';\nimport {CommonModule} from '@angular/common';\nimport {DefaultPluginConfigurationComponent} from './default-plugin-configuration.component';\nimport {FormModule, InputModule, ParagraphModule} from '@valtimo/components';\nimport {TranslateModule} from '@ngx-translate/core';\nimport {PluginTranslatePipeModule} from '../../pipes';\n\n@NgModule({\n declarations: [DefaultPluginConfigurationComponent],\n imports: [\n CommonModule,\n ParagraphModule,\n TranslateModule,\n PluginTranslatePipeModule,\n FormModule,\n InputModule,\n ],\n exports: [DefaultPluginConfigurationComponent],\n})\nexport class DefaultPluginConfigurationModule {}\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {NgModule} from '@angular/core';\nimport {CommonModule} from '@angular/common';\nimport {PluginConfigurationContainerComponent} from './plugin-configuration-container.component';\nimport {ParagraphModule} from '@valtimo/components';\nimport {TranslateModule} from '@ngx-translate/core';\nimport {DefaultPluginConfigurationModule} from '../default-plugin-configuration/default-plugin-configuration.module';\n\n@NgModule({\n declarations: [PluginConfigurationContainerComponent],\n imports: [CommonModule, ParagraphModule, TranslateModule, DefaultPluginConfigurationModule],\n exports: [PluginConfigurationContainerComponent],\n})\nexport class PluginConfigurationContainerModule {}\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {PluginConfigurationComponent} from '../../../../models';\nimport {BehaviorSubject, combineLatest, Observable, Subscription, take} from 'rxjs';\nimport {OpenZaakConfig} from '../../models';\n\n@Component({\n selector: 'valtimo-open-zaak-configuration',\n templateUrl: './open-zaak-configuration.component.html',\n styleUrls: ['./open-zaak-configuration.component.scss'],\n standalone: false,\n})\nexport class OpenZaakConfigurationComponent\n implements PluginConfigurationComponent, OnInit, OnDestroy\n{\n @Input() save$: Observable<void>;\n @Input() disabled$: Observable<boolean>;\n @Input() pluginId: string;\n @Input() prefillConfiguration$: Observable<OpenZaakConfig>;\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() configuration: EventEmitter<OpenZaakConfig> = new EventEmitter<OpenZaakConfig>();\n\n private saveSubscription!: Subscription;\n\n private readonly formValue$ = new BehaviorSubject<OpenZaakConfig | null>(null);\n private readonly valid$ = new BehaviorSubject<boolean>(false);\n\n ngOnInit(): void {\n this.openSaveSubscription();\n }\n\n ngOnDestroy() {\n this.saveSubscription?.unsubscribe();\n }\n\n formValueChange(formValue: OpenZaakConfig): void {\n this.formValue$.next(formValue);\n this.handleValid(formValue);\n }\n\n private handleValid(formValue: OpenZaakConfig): void {\n const valid = !!(formValue.configurationTitle && formValue.clientId && formValue.clientSecret);\n\n this.valid$.next(valid);\n this.valid.emit(valid);\n }\n\n private openSaveSubscription(): void {\n this.saveSubscription = this.save$?.subscribe(save => {\n combineLatest([this.formValue$, this.valid$])\n .pipe(take(1))\n .subscribe(([formValue, valid]) => {\n if (valid) {\n this.configuration.emit(formValue);\n }\n });\n });\n }\n}\n","<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null,\n } as obs\"\n>\n <v-input\n name=\"configurationTitle\"\n [title]=\"'configurationTitle' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.configurationTitle\"\n [required]=\"true\"\n [trim]=\"true\"\n [tooltip]=\"'configurationTitleTooltip' | pluginTranslate: pluginId | async\"\n placeholder=\"OpenZaak Plugin\"\n >\n </v-input>\n <v-input\n name=\"clientId\"\n [title]=\"'clientId' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.clientId\"\n [required]=\"true\"\n [trim]=\"true\"\n [tooltip]=\"'clientIdTooltip' | pluginTranslate: pluginId | async\"\n placeholder=\"client-id\"\n >\n </v-input>\n <v-input\n name=\"clientSecret\"\n type=\"password\"\n [title]=\"'clientSecret' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.clientSecret\"\n [required]=\"true\"\n [tooltip]=\"'clientSecretTooltip' | pluginTranslate: pluginId | async\"\n placeholder=\"\"\n >\n </v-input>\n</v-form>\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {NgModule} from '@angular/core';\nimport {CommonModule} from '@angular/common';\nimport {OpenZaakConfigurationComponent} from './components/open-zaak-configuration/open-zaak-configuration.component';\nimport {FormModule, InputModule} from '@valtimo/components';\nimport {PluginTranslatePipeModule} from '../../pipes';\n\n@NgModule({\n declarations: [OpenZaakConfigurationComponent],\n imports: [CommonModule, FormModule, InputModule, PluginTranslatePipeModule],\n exports: [OpenZaakConfigurationComponent],\n})\nexport class OpenZaakPluginModule {}\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nconst OPEN_ZAAK_PLUGIN_LOGO_BASE64 =\n 'data:image/png;base64,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';\n\nexport {OPEN_ZAAK_PLUGIN_LOGO_BASE64};\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport * from './open-zaak-plugin-logo';\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {PluginSpecification} from '../../models';\nimport {OpenZaakConfigurationComponent} from './components/open-zaak-configuration/open-zaak-configuration.component';\nimport {OPEN_ZAAK_PLUGIN_LOGO_BASE64} from './assets';\n\nconst openZaakPluginSpecification: PluginSpecification = {\n pluginId: 'openzaak',\n pluginConfigurationComponent: OpenZaakConfigurationComponent,\n pluginLogoBase64: OPEN_ZAAK_PLUGIN_LOGO_BASE64,\n pluginTranslations: {\n nl: {\n title: 'OpenZaak',\n description:\n 'OpenZaak is een productiewaardig API platform die de API-standaard voor zaakgericht werken implementeert (de ZGW-API’s).',\n configurationTitle: 'Configuratienaam',\n configurationTitleTooltip:\n 'Onder deze naam zal de plugin te herkennen zijn in de rest van de applicatie',\n clientId: 'Client ID',\n clientIdTooltip:\n 'Vul hier het clientId in dat geconfigureerd staat onder OpenZaak-beheer (zie API authorisaties > Applicaties). Dit clientId moet de juiste authorisaties hebben voor de benodigde functionaliteit',\n clientSecret: 'Secret',\n clientSecretTooltip: 'Vul de secret in die hoort bij de clientId hierboven',\n },\n en: {\n title: 'OpenZaak',\n description:\n 'OpenZaak is a production-worthy API platform that implements the API standard for case-oriented working (the ZGW APIs).',\n configurationTitle: 'Configuration name',\n configurationTitleTooltip:\n 'Under this name, the plugin will be recognizable in the rest of the application',\n clientId: 'Client ID',\n clientIdTooltip:\n 'Enter the clientId here which is configured under OpenZaak management (see API authorizations > Applications). This clientId must have the correct authorizations for the required functionality',\n clientSecret: 'Secret',\n clientSecretTooltip: 'Enter the secret associated with the clientId above',\n },\n de: {\n title: 'OpenZaak',\n description:\n 'OpenZaak ist eine produktionstaugliche API-Plattform, die den API-Standard für fallorientiertes Arbeiten (die ZGW-APIs) implementiert.',\n configurationTitle: 'Konfigurationsname',\n configurationTitleTooltip:\n 'Unter diesem Namen wird das Plugin im Rest der Anwendung erkennbar sein',\n clientId: 'Client ID',\n clientIdTooltip:\n 'Geben Sie hier die clientId ein, die unter OpenZaak-Verwaltung konfiguriert ist (siehe API-Berechtigungen > Anwendungen). Diese clientId muss die richtigen Berechtigungen für die erforderliche Funktionalität haben',\n clientSecret: 'Secret',\n clientSecretTooltip: 'Geben Sie das mit der obigen clientId verknüpfte Geheimnis ein',\n },\n },\n};\n\nexport {openZaakPluginSpecification};\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {PluginConfigurationComponent} from '../../../../models';\nimport {BehaviorSubject, combineLatest, Observable, Subscription, take} from 'rxjs';\nimport {ObjectTokenAuthenticationConfig} from '../../models';\n\n@Component({\n selector: 'valtimo-object-token-authentication-configuration',\n templateUrl: './object-token-authencation-configuration.component.html',\n styleUrls: ['./object-token-authencation-configuration.component.scss'],\n standalone: false,\n})\nexport class ObjectTokenAuthencationConfigurationComponent\n implements PluginConfigurationComponent, OnInit, OnDestroy\n{\n @Input() save$: Observable<void>;\n @Input() disabled$: Observable<boolean>;\n @Input() pluginId: string;\n @Input() prefillConfiguration$: Observable<ObjectTokenAuthenticationConfig>;\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() configuration: EventEmitter<ObjectTokenAuthenticationConfig> =\n new EventEmitter<ObjectTokenAuthenticationConfig>();\n\n private saveSubscription!: Subscription;\n\n private readonly formValue$ = new BehaviorSubject<ObjectTokenAuthenticationConfig | null>(null);\n private readonly valid$ = new BehaviorSubject<boolean>(false);\n\n ngOnInit(): void {\n this.openSaveSubscription();\n }\n\n ngOnDestroy() {\n this.saveSubscription?.unsubscribe();\n }\n\n formValueChange(formValue: ObjectTokenAuthenticationConfig): void {\n this.formValue$.next(formValue);\n this.handleValid(formValue);\n }\n\n private handleValid(formValue: ObjectTokenAuthenticationConfig): void {\n const valid = !!(formValue.configurationTitle && formValue.token?.length >= 20);\n\n this.valid$.next(valid);\n this.valid.emit(valid);\n }\n\n private openSaveSubscription(): void {\n this.saveSubscription = this.save$?.subscribe(save => {\n combineLatest([this.formValue$, this.valid$])\n .pipe(take(1))\n .subscribe(([formValue, valid]) => {\n if (valid) {\n this.configuration.emit(formValue);\n }\n });\n });\n }\n}\n","<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null,\n } as obs\"\n>\n <v-input\n name=\"configurationTitle\"\n [title]=\"'configurationTitle' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.configurationTitle\"\n [required]=\"true\"\n [trim]=\"true\"\n [tooltip]=\"'configurationTitleTooltip' | pluginTranslate: pluginId | async\"\n placeholder=\"Object Token Authenticatie Plugin\"\n >\n </v-input>\n <v-input\n name=\"token\"\n type=\"password\"\n [title]=\"'token' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.clientId\"\n [required]=\"true\"\n [tooltip]=\"'tokenTooltip' | pluginTranslate: pluginId | async\"\n >\n </v-input>\n</v-form>\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {ObjectTokenAuthencationConfigurationComponent} from './components/object-token-authentication-configuration/object-token-authencation-configuration.component';\nimport {CommonModule} from '@angular/common';\nimport {PluginTranslatePipeModule} from '../../pipes';\nimport {FormModule, InputModule} from '@valtimo/components';\nimport {NgModule} from '@angular/core';\n\n@NgModule({\n declarations: [ObjectTokenAuthencationConfigurationComponent],\n imports: [CommonModule, PluginTranslatePipeModule, FormModule, InputModule],\n exports: [ObjectTokenAuthencationConfigurationComponent],\n})\nexport class ObjectTokenAuthenticationPluginModule {}\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nconst OBJECT_TOKEN_AUTHENTICATION_PLUGIN_LOGO_BASE64 =\n 'data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyBpZD0iTGF5ZXJfMiIgZGF0YS1uYW1lPSJMYXllciAyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAzNDMuMDggMTgwLjIxIj4KICA8ZGVmcz4KICAgIDxzdHlsZT4KICAgICAgLmNscy0xIHsKICAgICAgICBmaWxsOiAjZmZiYzJkOwogICAgICB9CiAgICA8L3N0eWxlPgogIDwvZGVmcz4KICA8ZyBpZD0iTGF5ZXJfMS0yIiBkYXRhLW5hbWU9IkxheWVyIDEiPgogICAgPHBhdGggY2xhc3M9ImNscy0xIiBkPSJtMTQyLjgxLDcxLjgxYy04LjAyLTcuNjUtMTcuMzEtMTIuODQtMjguNTgtMTMuMDUtMTQuMDItLjI2LTMwLjQ4LDEwLjExLTMzLjQzLDI3LjM2LTEuNDIsOC4yOS42NSwxNS45NCw1LjY4LDIyLjYyLDcuNTEsOS45OCwxNy42NSwxNS41MywzMC4xNCwxNS41OSwxMi4yMS4wNiwyMy4yNC00LjA2LDMyLjk4LTExLjUsMi45OS0yLjI4LDUuNzgtNC43Nyw4LjM4LTcuNDguNi0uNjMsMS4yMi0xLjI2LDEuOTItMS43OC44OS0uNjUsMS44OS0uNzksMi42Ny4xNy43Ljg3LjE2LDEuNjYtLjQzLDIuMzMtMy42NCw0LjEzLTcuNDgsOC4wNC0xMS44MywxMS40NS0xMC4zNyw4LjE0LTIyLjE5LDEyLjYzLTM1LjI2LDEyLjgzLTIxLjAzLjMyLTQxLjIyLTE1LjY2LTQzLjctMzYuNTgtMS45NS0xNi41NCw0LjcxLTI5LjI4LDE3LjU3LTM4LjkxLDE1LjQ3LTExLjU3LDMyLjM3LTExLjgyLDQ5LjY4LTQuNjcsMTcuMTUsNy4wOCwzMC4yMywxOS4xNiw0MC43LDM0LjI1LDcuMSwxMC4yMywxNS4yMywxOS40NywyNS4zNiwyNi44Miw2LjE3LDQuNDgsMTIuOTUsNy41NywyMC41NCw4LjQ4LDExLjE0LDEuMzQsMjUuNjYtNC4xNCwzMi40Ny0xNi42Miw2LjItMTEuMzYsNC4zNi0yNS41Mi00LjU1LTM1LjEyLTkuNTktMTAuMzMtMjEuMzktMTQuMDMtMzUuMjctMTEuOTMtMTIuNiwxLjkxLTIzLjAzLDcuOC0zMi4wMywxNi41NS0uNzIuNy0xLjM3LDEuNDYtMi4xMywyLjExLTEuMDQuODktMS45OCwyLjk5LTMuNTYsMS41MS0xLjM1LTEuMjguMS0yLjc3LDEuMDUtMy44NywxMC40NS0xMi4wOCwyMi45OC0yMC42MiwzOS4xNS0yMi45OSwxOC4wNi0yLjY1LDMyLjgxLDMuMzQsNDMuODUsMTcuNjUsMTMuMDMsMTYuODksMTAuNDEsNDMuOTEtOS44Myw1OC4zNC0xNS4yMiwxMC44NS0zMS43MiwxMS44MS00OC43OSw1LjM4LTE2LjUyLTYuMjMtMjkuMjYtMTcuNDktMzkuNTEtMzEuNjItNS41Ny03LjY5LTEwLjg5LTE1LjU1LTE3LjYtMjIuMzNsLTUuNjItNS4wMloiLz4KICAgIDxwYXRoIGQ9Im0zMjMuNDYsODkuNjVjLTEuMy0uMzUtMi42MS0uNy0zLjkxLTEuMDUtMTEuOTEtMy4yMy0xOC4zMS0xMS4yNi0xOC41LTIzLjYyLS4xNi05Ljg3LS4wMy0xOS43NS0uMDYtMjkuNjIsMC0xLjg3LjAzLTMuNzctLjI4LTUuNjEtMS41NS04Ljk4LTcuNzUtMTQuMzEtMTcuNzItMTUuMzlxLTQuODItLjUyLTQuODItNS4zOWMwLTIuMjUuMDYtNC41LS4wMi02Ljc1LS4wNS0xLjQ4LjItMi4yNSwyLTIuMjEsOC41MS4xNywxNi42MywxLjgxLDIzLjkyLDYuMzgsOS43OCw2LjEzLDEzLjg0LDE1LjM5LDEzLjk3LDI2LjU5LjExLDkuNS4wMiwxOSwuMDMsMjguNSwwLDEuNjItLjAxLDMuMjUuMDksNC44Ny40NSw3LjI0LDQuMDksMTIuMTUsMTAuOTIsMTQuNiwzLjU1LDEuMjcsNy4yNywxLjg1LDExLjAyLDEuOSwyLjE1LjAzLDMuMTUuNTUsMi45NSwyLjk5LS4yNSwzLjEtLjE0LDYuMjUtLjAzLDkuMzcuMDYsMS42My0uNTUsMi4yLTIuMTQsMi4yMS0zLjUuMDItNi45Ni40MS0xMC4zNCwxLjQ3LTguMjksMi42Mi0xMi4yNCw3LjUtMTIuNCwxNi4xNC0uMTgsMTAtLjA5LDIwLS4wNywzMCwwLDMuNTEtLjIsNy4wMS0uOTQsMTAuNDMtMi4xNSw5Ljg4LTguMTUsMTYuNjUtMTcuMjgsMjAuNy02LjAxLDIuNjctMTIuMzksMy42NC0xOC45Myw0LjA0LTIuNS4xNS0yLjk1LS43NC0yLjgxLTIuOTIuMTctMi42MS4wMy01LjI1LjA0LTcuODcuMDItMy4yNy4wMy0zLjMyLDMuMTYtMy40OCwyLjM5LS4xMiw0LjcxLS41Niw2Ljk4LTEuMjUsOC4yNi0yLjUzLDEyLjQ2LTcuODIsMTIuNjEtMTYuNDguMTgtMTAuMzcuMS0yMC43NS4wNi0zMS4xMi0uMDEtMy4xNS4yNy02LjI1LDEtOS4yOSwxLjkyLTguMDQsNy4zNC0xMi43OSwxNC45MS0xNS4zNywyLjE4LS43NCw0LjQyLTEuMyw2LjYzLTEuOTQtLjAyLS4yOC0uMDQtLjU1LS4wNS0uODNaIi8+CiAgICA8cGF0aCBkPSJtMTkuMjYsOTAuNDdjMi4xLjYyLDQuMjMsMS4xNyw2LjMsMS44OSw5Ljk4LDMuNDMsMTUuNjIsMTAuNjMsMTUuOTcsMjEuMi4zMywxMC4yNC4xNCwyMC40OS4yMywzMC43My4wMiwyLjI0LjE1LDQuNS40NCw2LjcyLjc3LDUuOTEsMy45LDEwLjE1LDkuMzgsMTIuNTYsMy4zNCwxLjQ3LDYuODcsMi4zNywxMC41MiwyLjMxLDIuMzUtLjA0LDMuMDEuODUsMi44NywzLjA4LS4xOCwyLjk5LS4wOCw2LS4wMyw4Ljk5LjAzLDEuNDItLjEsMi4yOS0xLjk2LDIuMjMtOC4wOS0uMjYtMTUuOTEtMS42Mi0yMy4wNC01LjYyLTkuNi01LjM5LTE0LjY2LTEzLjc2LTE0Ljk1LTI0LjcxLS4yOC0xMC4zNi0uMDktMjAuNzQtLjEtMzEuMTEsMC0yLjM4LS4xNC00LjczLS41Ni03LjA4LS45OS01LjYyLTQuMDctOS41My05LjI5LTExLjc4LTMuODMtMS42Ni03Ljg3LTIuNDYtMTIuMDItMi40Mi0yLjIuMDItMy4xNi0uNTUtMy0yLjk1LjIxLTMuMTEuMTMtNi4yNS4wMi05LjM3LS4wNi0xLjY1LjU4LTIuMTYsMi4xNC0yLjI1LDIuNjEtLjE0LDUuMjEtLjMyLDcuOC0uOSwxMC4xMi0yLjI1LDE0LjczLTcuNjYsMTQuODYtMTguMDcuMTMtMTAuNDkuMDYtMjAuOTkuMDMtMzEuNDktLjAxLTQuNjguOC05LjE4LDIuNzItMTMuNDYsMy4wMS02LjY4LDguMTYtMTEuMjQsMTQuNjQtMTQuMzlDNDguNjIsMS40Nyw1NS40NC4yNCw2Mi41MSwwYzIuMS0uMDcsMi41Mi42NywyLjQ0LDIuNTMtLjEyLDIuOTktLjE2LDYsLjAxLDguOTkuMTEsMi4wMi0uNjcsMi42Ni0yLjU2LDIuNjgtMi44OS4wMy01LjY5LjYyLTguNDMsMS41Ny03LjA2LDIuNDQtMTEuMTMsNy4zLTExLjksMTQuNzgtLjE5LDEuODYtLjMyLDMuNzMtLjMzLDUuNi0uMDYsOS44Ny4xMywxOS43NS0uMTYsMjkuNjEtLjM2LDEyLjA4LTYuNjgsMTkuNjgtMTguNCwyMi44NC0xLjMuMzUtMi42MS43MS0zLjkxLDEuMDYsMCwuMjctLjAyLjUzLS4wMi44WiIvPgogIDwvZz4KPC9zdmc+';\nexport {OBJECT_TOKEN_AUTHENTICATION_PLUGIN_LOGO_BASE64};\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {PluginSpecification} from '../../models';\nimport {ObjectTokenAuthencationConfigurationComponent} from './components/object-token-authentication-configuration/object-token-authencation-configuration.component';\nimport {OBJECT_TOKEN_AUTHENTICATION_PLUGIN_LOGO_BASE64} from './assets/object-token-authentication-plugin-logo';\n\nconst objectTokenAuthenticationPluginSpecification: PluginSpecification = {\n pluginId: 'objecttokenauthentication',\n pluginConfigurationComponent: ObjectTokenAuthencationConfigurationComponent,\n pluginLogoBase64: OBJECT_TOKEN_AUTHENTICATION_PLUGIN_LOGO_BASE64,\n\n pluginTranslations: {\n nl: {\n title: 'Object token authenticatie',\n description:\n 'Auhenticatie met behulp van tokens voor gebruik door de Objecten API en Objecttypen API.',\n configurationTitle: 'Configuratienaam',\n configurationTitleTooltip:\n 'Onder deze naam zal de plug-in te herkennen zijn in de rest van de applicatie',\n token: 'Token',\n tokenTooltip:\n 'Het token is een sleutel waarmee toestemmingen verleend zijn om specifieke objecttypen en objecten te mogen ophalen',\n },\n en: {\n title: 'Object token authentication',\n description: 'Authentication using tokens for use by the Objecten API and Objecttypen API.',\n configurationTitle: 'Configuration name',\n configurationTitleTooltip:\n 'With this name the plugin will be recognizable in the rest of the application',\n token: 'Token',\n tokenTooltip:\n 'The token is a key that grants permissions to access specific object types and objects',\n },\n de: {\n title: 'Object Token-Authentifizierung',\n description:\n 'Authentifizierung mit Token zur Verwendung durch die Objecten API und die Objecttypen API.',\n configurationTitle: 'Konfigurationsname',\n configurationTitleTooltip:\n 'An diesem Namen wird das Plugin im Rest der Anwendung erkennbar sein',\n token: 'Token',\n tokenTooltip:\n 'Das Token ist ein Schlüssel, der Berechtigungen zum Anzeigen bestimmter Objekttypen und Objekte erteilt',\n },\n },\n};\n\nexport {objectTokenAuthenticationPluginSpecification};\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {PluginConfigurationComponent} from '../../../../models';\nimport {BehaviorSubject, combineLatest, Observable, Subscription, take} from 'rxjs';\nimport {SmartDocumentsConfig} from '../../models';\n\n@Component({\n selector: 'valtimo-smart-documents-configuration',\n templateUrl: './smart-documents-configuration.component.html',\n styleUrls: ['./smart-documents-configuration.component.scss'],\n standalone: false,\n})\nexport class SmartDocumentsConfigurationComponent\n implements PluginConfigurationComponent, OnInit, OnDestroy\n{\n @Input() save$: Observable<void>;\n @Input() disabled$: Observable<boolean>;\n @Input() pluginId: string;\n @Input() prefillConfiguration$: Observable<SmartDocumentsConfig>;\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() configuration: EventEmitter<SmartDocumentsConfig> =\n new EventEmitter<SmartDocumentsConfig>();\n\n private saveSubscription!: Subscription;\n\n private readonly formValue$ = new BehaviorSubject<SmartDocumentsConfig | null>(null);\n private readonly valid$ = new BehaviorSubject<boolean>(false);\n\n ngOnInit(): void {\n this.openSaveSubscription();\n }\n\n ngOnDestroy() {\n this.saveSubscription?.unsubscribe();\n }\n\n formValueChange(formValue: SmartDocumentsConfig): void {\n this.formValue$.next(formValue);\n this.handleValid(formValue);\n }\n\n private handleValid(formValue: SmartDocumentsConfig): void {\n const valid = !!(\n formValue.configurationTitle &&\n formValue.url &&\n formValue.password &&\n formValue.username\n );\n\n this.valid$.next(valid);\n this.valid.emit(valid);\n }\n\n private openSaveSubscription(): void {\n this.saveSubscription = this.save$?.subscribe(save => {\n combineLatest([this.formValue$, this.valid$])\n .pipe(take(1))\n .subscribe(([formValue, valid]) => {\n if (valid) {\n this.configuration.emit(formValue);\n }\n });\n });\n }\n}\n","<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null,\n } as obs\"\n>\n <v-input\n name=\"configurationTitle\"\n [title]=\"'configurationTitle' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.configurationTitle\"\n [required]=\"true\"\n [trim]=\"true\"\n [tooltip]=\"'configurationTitleTooltip' | pluginTranslate: pluginId | async\"\n placeholder=\"Smart Documents Plugin\"\n >\n </v-input>\n <v-input\n name=\"url\"\n [title]=\"'url' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.url\"\n [required]=\"true\"\n [trim]=\"true\"\n placeholder=\"\"\n >\n </v-input>\n <v-input\n name=\"username\"\n [title]=\"'username' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.username\"\n [required]=\"true\"\n [trim]=\"true\"\n placeholder=\"\"\n >\n </v-input>\n <v-input\n name=\"password\"\n type=\"password\"\n [title]=\"'password' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.password\"\n [required]=\"true\"\n >\n </v-input>\n</v-form>\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {FunctionConfigurationComponent} from '../../../../models';\nimport {BehaviorSubject, combineLatest, Observable, Subscription, take} from 'rxjs';\nimport {DocumentFormat, GenerateDocumentConfig} from '../../models';\nimport {ValuePathSelectorPrefix} from '@valtimo/components';\n\n@Component({\n selector: 'valtimo-generate-document-configuration',\n templateUrl: './generate-document-configuration.component.html',\n styleUrls: ['./generate-document-configuration.component.scss'],\n standalone: false,\n})\nexport class GenerateDocumentConfigurationComponent\n implements FunctionConfigurationComponent, OnInit, OnDestroy\n{\n @Input() save$: Observable<void>;\n @Input() disabled$: Observable<boolean>;\n @Input() pluginId: string;\n @Input() prefillConfiguration$: Observable<GenerateDocumentConfig>;\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() configuration: EventEmitter<GenerateDocumentConfig> =\n new EventEmitter<GenerateDocumentConfig>();\n\n readonly FORMATS: Array<DocumentFormat> = ['DOCX', 'HTML', 'PDF', 'XML'];\n readonly FORMAT_SELECT_ITEMS: Array<{id: string; text: string}> = this.FORMATS.map(format => ({\n id: format,\n text: format,\n }));\n\n public readonly ValuePathSelectorPrefix = ValuePathSelectorPrefix;\n\n private saveSubscription!: Subscription;\n private readonly formValue$ = new BehaviorSubject<GenerateDocumentConfig | null>(null);\n private readonly valid$ = new BehaviorSubject<boolean>(false);\n\n ngOnInit(): void {\n this.openSaveSubscription();\n }\n\n ngOnDestroy(): void {\n this.saveSubscription?.unsubscribe();\n }\n\n formValueChange(formValue: GenerateDocumentConfig): void {\n this.formValue$.next(formValue);\n this.handleValid(formValue);\n }\n\n private handleValid(formValue: GenerateDocumentConfig): void {\n const valid = !!(\n formValue.templateGroup &&\n formValue.templateName &&\n formValue.format &&\n formValue.resultingDocumentProcessVariableName &&\n formValue.templateData?.length > 0\n );\n\n this.valid$.next(valid);\n this.valid.emit(valid);\n }\n\n private openSaveSubscription(): void {\n this.saveSubscription = this.save$?.subscribe(save => {\n combineLatest([this.formValue$, this.valid$])\n .pipe(take(1))\n .subscribe(([formValue, valid]) => {\n if (valid) {\n this.configuration.emit(formValue);\n }\n });\n });\n }\n}\n","<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-paragraph [margin]=\"true\" [italic]=\"true\">\n {{ 'generateDocumentWarning' | pluginTranslate: pluginId | async }}\n</v-paragraph>\n<v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null,\n } as obs\"\n>\n <v-input\n name=\"templateGroup\"\n [title]=\"'templateGroup' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.templateGroup\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n [trim]=\"true\"\n placeholder=\"\"\n >\n </v-input>\n <v-input\n name=\"templateName\"\n [title]=\"'templateName' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.templateName\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n [trim]=\"true\"\n placeholder=\"\"\n >\n </v-input>\n <v-input\n name=\"resultingDocumentProcessVariableName\"\n [title]=\"'resultingDocumentProcessVariableName' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.resultingDocumentProcessVariableName\"\n [disabled]=\"obs.disabled\"\n [tooltip]=\"'resultingDocumentProcessVariableNameTooltip' | pluginTranslate: pluginId | async\"\n [required]=\"true\"\n [trim]=\"true\"\n placeholder=\"\"\n >\n </v-input>\n <v-select\n [items]=\"FORMAT_SELECT_ITEMS\"\n [margin]=\"true\"\n [widthInPx]=\"150\"\n name=\"format\"\n [title]=\"'format' | pluginTranslate: pluginId | async\"\n [disabled]=\"obs.disabled\"\n [defaultSelectionId]=\"obs.prefill?.format\"\n [required]=\"true\"\n ></v-select>\n\n <valtimo-carbon-multi-input\n name=\"templateData\"\n [title]=\"'templateData' | pluginTranslate: pluginId | async\"\n type=\"keyValuePathSelector\"\n [disabled]=\"obs.disabled\"\n [defaultValues]=\"obs.prefill?.templateData\"\n [margin]=\"true\"\n [required]=\"true\"\n [tooltip]=\"'templateDataTooltip' | pluginTranslate: pluginId | async\"\n valuePathSelectorNotation=\"slashes\"\n [fullWidth]=\"true\"\n [valuePathSelectorPrefixes]=\"[\n ValuePathSelectorPrefix.DOC,\n ValuePathSelectorPrefix.CASE,\n ValuePathSelectorPrefix.ZAAK,\n ]\"\n [valuePathSelectorShowCaseDefinitionSelector]=\"true\"\n [keyColumnFlex]=\"1\"\n [valueColumnFlex]=\"2\"\n [keyColumnTitle]=\"'key' | pluginTranslate: pluginId | async\"\n [valueColumnTitle]=\"'value' | pluginTranslate: pluginId | async\"\n ></valtimo-carbon-multi-input>\n</v-form>\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {BehaviorSubject, combineLatest, Observable, Subscription, take} from 'rxjs';\nimport {GetTemplateNamesConfig} from '../../models';\nimport {FunctionConfigurationComponent} from '../../../../models';\n\n@Component({\n selector: 'valtimo-get-template-names',\n templateUrl: './get-template-names.component.html',\n standalone: false,\n})\nexport class GetTemplateNamesComponent\n implements FunctionConfigurationComponent, OnInit, OnDestroy\n{\n @Input() save$: Observable<void>;\n @Input() disabled$: Observable<boolean>;\n @Input() pluginId: string;\n @Input() prefillConfiguration$: Observable<GetTemplateNamesConfig>;\n @Output() configuration: EventEmitter<GetTemplateNamesConfig> =\n new EventEmitter<GetTemplateNamesConfig>();\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n\n private readonly formValue$ = new BehaviorSubject<GetTemplateNamesConfig | null>(null);\n private saveSubscription!: Subscription;\n private readonly valid$ = new BehaviorSubject<boolean>(false);\n\n ngOnInit(): void {\n this.openSaveSubscription();\n }\n\n ngOnDestroy() {\n this.saveSubscription?.unsubscribe();\n }\n\n formValueChange(formValue: GetTemplateNamesConfig): void {\n this.formValue$.next(formValue);\n this.handleValid(formValue);\n }\n\n private handleValid(formValue: GetTemplateNamesConfig): void {\n const valid = !!(\n formValue.templateGroupName && formValue.resultingTemplateNameListProcessVariableName\n );\n\n this.valid$.next(valid);\n this.valid.emit(valid);\n }\n\n private openSaveSubscription(): void {\n this.saveSubscription = this.save$?.subscribe(save => {\n combineLatest([this.formValue$, this.valid$])\n .pipe(take(1))\n .subscribe(([formValue, valid]) => {\n if (valid) {\n this.configuration.emit(formValue);\n }\n });\n });\n }\n}\n","<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n<v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null,\n } as obs\"\n>\n <v-input\n name=\"templateGroupName\"\n [title]=\"'templateGroupName' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.templateGroupName\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n [trim]=\"true\"\n >\n </v-input>\n <v-input\n name=\"resultingTemplateNameListProcessVariableName\"\n [title]=\"'resultingTemplateNameListProcessVariableName' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.resultingTemplateNameListProcessVariableName\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n [trim]=\"true\"\n >\n </v-input>\n</v-form>\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {NgModule} from '@angular/core';\nimport {CommonModule} from '@angular/common';\nimport {SmartDocumentsConfigurationComponent} from './components/smart-documents-configuration/smart-documents-configuration.component';\nimport {PluginTranslatePipeModule} from '../../pipes';\nimport {\n FormModule,\n InputModule,\n SelectModule,\n CarbonMultiInputModule,\n ParagraphModule,\n} from '@valtimo/components';\nimport {GenerateDocumentConfigurationComponent} from './components/generate-document-configuration/generate-document-configuration.component';\nimport {GetTemplateNamesComponent} from './components/get-template-names/get-template-names.component';\n\n@NgModule({\n declarations: [\n SmartDocumentsConfigurationComponent,\n GenerateDocumentConfigurationComponent,\n GetTemplateNamesComponent,\n ],\n imports: [\n CommonModule,\n PluginTranslatePipeModule,\n FormModule,\n InputModule,\n SelectModule,\n CarbonMultiInputModule,\n ParagraphModule,\n ],\n exports: [\n SmartDocumentsConfigurationComponent,\n GenerateDocumentConfigurationComponent,\n GetTemplateNamesComponent,\n ],\n})\nexport class SmartDocumentsPluginModule {}\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nconst SMART_DOCUMENTS_PLUGIN_LOGO_BASE64 =\n 'data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyBpZD0iTGF5ZXJfMiIgZGF0YS1uYW1lPSJMYXllciAyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNjcuNzIgMTA2LjU1Ij4KICA8ZGVmcz4KICAgIDxzdHlsZT4KICAgICAgLmNscy0xIHsKICAgICAgICBmaWxsOiAjMDE5ZWUwOwogICAgICB9CgogICAgICAuY2xzLTIgewogICAgICAgIGZpbGw6ICNiYjhkYmM7CiAgICAgIH0KCiAgICAgIC5jbHMtMyB7CiAgICAgICAgZmlsbDogI2JmZTZmNzsKICAgICAgfQoKICAgICAgLmNscy00IHsKICAgICAgICBmaWxsOiAjYzU5ZGM3OwogICAgICB9CgogICAgICAuY2xzLTUgewogICAgICAgIGZpbGw6ICNjY2E5Y2U7CiAgICAgIH0KCiAgICAgIC5jbHMtNiB7CiAgICAgICAgZmlsbDogIzliNTY5ZDsKICAgICAgfQoKICAgICAgLmNscy03IHsKICAgICAgICBmaWxsOiAjN2ZjZWVmOwogICAgICB9CgogICAgICAuY2xzLTggewogICAgICAgIGZpbGw6ICM1OWMwZWE7CiAgICAgIH0KCiAgICAgIC5jbHMtOSB7CiAgICAgICAgZmlsbDogIzc5MWM3ZDsKICAgICAgfQogICAgPC9zdHlsZT4KICA8L2RlZnM+CiAgPGcgaWQ9IkxheWVyXzEtMiIgZGF0YS1uYW1lPSJMYXllciAxIj4KICAgIDxnPgogICAgICA8cGF0aCBjbGFzcz0iY2xzLTEiIGQ9Im0yOC44MywyMi42NGMtLjA3LjM5LS4wOC44LS4yMSwxLjE4LS4zNC45OS0uMzIsMS45OS0uMDYsMi45NS44NywzLjE0LDIuNDUsNS44Nyw0Ljg5LDguMDguODcuNzksMS44NywxLjM5LDMuMDQsMS42LDEuODQuMzMsMy4yNy0uNDcsNC40Ny0xLjc3LDEuMzctMS40OSwyLjI3LTMuMjcsMy4wMS01LjEzLDEuMjgtMy4yLDIuMjUtNi40OCwyLjI2LTkuOTYsMC0xLjY5LS40OS0zLjE0LTEuNjctNC40Ni0yLjM1LTIuNjItMi45MS01Ljc1LTEuNzctOS4wNCwxLjE4LTMuNDIsMy43MS01LjQ4LDcuMjgtNS45OCw1LjIyLS43Myw5LjI5LDIuNzksMTAuMjIsNy4xOC45NSw0LjUtMS44LDkuMjUtNi4yNiwxMC40OC0xLjcuNDctMi44OSwxLjQ2LTMuODMsMi44NS0xLjgyLDIuNjktMi43NCw1Ljc0LTMuNDYsOC44Ni0uNiwyLjY1LS45OSw1LjMyLS41Myw4LjA2LjY3LDQuMDMsMy4zNSw1Ljc3LDcuMTQsNS4zLDEuMjgtLjE2LDIuNTEtLjQ4LDMuNjMtMS4xMywxLjM2LS43OCwyLjE5LTEuOTMsMi40Ni0zLjQ5LDEuMTItNi40NSw2LjYtMTEuNTksMTMuMS0xMi41OCw3LjgzLTEuMiwxNS43NywzLjgzLDE3LjY5LDEyLjA5LDEuOTksOC41NC0zLjc5LDE3LjM5LTEyLjQyLDE4LjktNi44NCwxLjItMTMuMjctMS43NS0xNi42NC03Ljc2LS45OS0xLjc2LTIuMzctMi43Ni00LjI3LTMuMTItMS44Mi0uMzQtMy42Ny0uMzUtNS40NC4yNi0zLjA0LDEuMDMtNC43OCwzLjI1LTUuNDUsNi4zLS43NCwzLjM5LS4yNyw2Ljc0LjU1LDEwLjA2LjI5LDEuMi42MiwyLjM5LDEuMjEsMy40OSwxLjY5LDMuMTcsNC4yOSw1LjAyLDcuODYsNS42MSw3LjU3LDEuMjQsMTMuNTMsNy4zMSwxNC41MywxNC44NywxLjM1LDEwLjIzLTUuNjIsMTguNzgtMTUuMDUsMjAuMDYtMTAuNzcsMS40Ni0xOC42OC02LjIzLTE5Ljk0LTE0LjQ4LTEuMDMtNi43OSwxLjA2LTEyLjQ0LDYuMzQtMTYuODQsMS45NS0xLjYzLDIuOTMtMy43OCwyLjk1LTYuMTguMDQtNS4yNi0xLjQyLTEwLjE3LTQuNDMtMTQuNTItMi4wMS0yLjkxLTUuMDYtNC4xNC04LjQ0LTQuNjktMS43LS4yOC0zLjQzLS4zNS01LjE0LS4yMy0yLjIyLjE1LTQuNjEuOTMtNS40NCwzLjk3LTEuMDcsMy45NC01LjIzLDcuOS0xMS41Nyw3LjI5LTQuNDgtLjQzLTguNDktNC4xOS05LjMtOC44NS0uODEtNC42OSwxLjQxLTkuMjksNS41NC0xMS40OSw0LjExLTIuMTksOS4yMi0xLjQ4LDEyLjY1LDEuNzcuNjcuNjMsMS4yNywxLjM0LDEuNzEsMi4xNS43NCwxLjM4LDEuOTMsMi4xLDMuNDEsMi4zNywzLjA1LjU2LDUuNzgtLjQsNy4xOC0yLjYzLjk4LTEuNTYsMS4wOS0zLjI2LjY1LTQuOTYtLjc5LTMuMDQtMi4zOC01LjY2LTQuNjctNy44LTEuMzktMS4zLTMuMDQtMS45Mi01LjAzLTEuNzYtMy4wMi4yNC01LjUtLjkyLTcuMTktMy40NC0xLjc0LTIuNi0xLjg2LTUuNDItLjQxLTguMTcsMS40MS0yLjY4LDMuNzMtNCw2Ljc4LTQuMTksMy45Ny0uMjQsOC41MywzLjE5LDguMTMsOC42My0uMTIuMDktLjE2LjItLjA5LjMzWm0xMC4zNiw2Ni4xMWMtLjE4LDguMiw2Ljk5LDEzLjc2LDEzLjI1LDEzLjY2LDcuNjctLjEzLDEzLjQtNS44NCwxMy41MS0xMy40OS4xMS03LjY2LTYuMjgtMTMuODMtMTMuMjktMTMuODItOC45NC4wMS0xMy44Niw3LjczLTEzLjQ4LDEzLjY2WiIvPgogICAgICA8cGF0aCBjbGFzcz0iY2xzLTkiIGQ9Im0xNDAuNTEsMzEuMjFjMS45OC0yLjM5LDQuNC00LjA1LDcuNTQtNC40NCw0LjcyLS41OSw4LjgxLjQ3LDExLjY4LDQuNi4wNy4xLjE2LjE4LjMuMzQuNC0uNDMuOC0uODUsMS4xOS0xLjI3LDIuODgtMy4wNCw2LjQ3LTQuMDYsMTAuNTUtMy42OSwxLjkzLjE4LDMuNzYuNjcsNS40MSwxLjczLDMuMDIsMS45NCw0LjQxLDQuODMsNC43Nyw4LjMuMS45OS4wNiwxLjk5LjA2LDIuOTksMCw2LjM1LDAsMTIuNywwLDE5LjA1LDAsLjQ0LjAxLjg4LS4wMywxLjMyLS4zMywzLjQ5LTIuNDEsNC40MS01LjA3LDQuMjgtMi42NC0uMTMtNC4wNy0xLjYzLTQuMzItNC4yMy0uMDktLjg4LS4xMi0xLjc1LS4xMi0yLjYzLDAtNS41OSwwLTExLjE4LDAtMTYuNzcsMC0uNTIsMC0xLjA0LS4wNy0xLjU1LS4yNC0yLjA2LTEuNTItMy41Mi0zLjUzLTQuMDQtMy43NS0uOTctNi45NSwxLjEyLTcuNTYsNC45My0uMTEuNzEtLjE3LDEuNDItLjE3LDIuMTQsMCw1LjQ3LDAsMTAuOTQsMCwxNi40MSwwLC43Ni0uMDIsMS41MS0uMTcsMi4yNi0uNTgsMi43NS0yLjUsMy42NC00LjkzLDMuNDUtMi44OC0uMjItNC4yNC0xLjY2LTQuMjctNC41Ny0uMDctNi4xMS0uMDQtMTIuMjItLjA0LTE4LjMzLDAtLjY4LDAtMS4zNS0uMS0yLjAzLS40MS0yLjg3LTIuMTEtNC4zOS01LTQuNDMtLjI4LDAtLjU2LjAzLS44NC4wNC0uMTMtLjA2LS4yMy0uMDQtLjMzLjA3LTMuNDYuNDktNC45MiwzLjQzLTQuOTYsNi4yMy0uMDUsMi45NS0uMDEsNS45LS4wMSw4Ljg2LDAsMi45MSwwLDUuODMsMCw4Ljc0LDAsLjYtLjA2LDEuMTktLjE2LDEuNzgtLjM5LDIuNDUtMi4wOSwzLjk0LTUuMTIsMy42NC0yLjY4LS4yNi0zLjc2LTEuNC00LjE2LTQuMDgtLjA2LS40My0uMTItLjg3LS4xMi0xLjMxLDAtOS4wMiwwLTE4LjAzLDAtMjcuMDUuMTEtLjA4LjE3LS4xOC4wNi0uMy4xNi0xLjA3LjQtMi4wOCwxLjA3LTIuOTksMS40NS0xLjk3LDYuNDItMi4xOSw3LjU5LDEuMTQuMTYuNDUuMzMuODkuMzksMS4zNy0uMDQuMTYtLjAzLjMuMTEuNDEuMjItLjAyLjMzLS4xNS4zNS0uMzZaIi8+CiAgICAgIDxwYXRoIGNsYXNzPSJjbHMtOSIgZD0ibTIwNy4zMyw1OS44NGMtMi43NiwzLjctNi41Nyw1LjIxLTExLjA3LDUuMjQtLjM2LDAtLjcyLDAtMS4wNywwbC0uMjgtLjA0Yy0yLjA3LS4xMS00LjAyLS42NC01LjczLTEuODUtMi4wMy0xLjQzLTMuMTctMy40My0zLjcxLTUuODEtLjUzLTIuMzctLjUyLTQuNzUuMDItNy4xMi41OS0yLjU2LDIuMDUtNC40NSw0LjMzLTUuNzQsMi4yNi0xLjI4LDQuNzQtMS44OCw3LjI2LTIuMywyLjI0LS4zNyw0LjUtLjY0LDYuNzUtLjk2LjMxLS4wNC42My0uMTEuOTQtLjE4LDEuNzgtLjQsMi4yNi0uODYsMi40My0yLjMxLjIyLTEuOTUtLjM2LTMuMjYtMS43Ny0zLjk2LTIuODctMS40Mi03LjY5LS42MS05Ljk1LDEuNjctLjY1LjY1LTEuMjUsMS4zNi0xLjk0LDEuOTUtMi40LDIuMDgtNS44OCwxLjE5LTYuNjYtMS43LS4zOS0xLjQ2LS4wNS0yLjg1LjcxLTQuMTMsMS4xMS0xLjg5LDIuNzktMy4xNiw0LjcyLTQuMTEsMi40Ny0xLjIyLDUuMS0xLjgsNy44NS0xLjg2LDMuMjUtLjA3LDYuNDcuMTMsOS41NywxLjE5LDIuMDMuNywzLjg1LDEuNzMsNS4yLDMuNDYsMS4zNSwxLjczLDEuNzQsMy43MywxLjczLDUuODUtLjAyLDYuNTUtLjAzLDEzLjEtLjA1LDE5LjY1LDAsLjI0LjAzLjQ4LjA0LjcyLS4wOS4xMy0uMDUuMjMuMDYuMzIuMDksMS4yNy4yNSwyLjU0LjI3LDMuODEuMDIsMS41NC0uODEsMi43LTIuMjcsMy4xNi0xLjY1LjUyLTMuMzIuNDYtNC44OC0uMzMtMS4zNy0uNjktMS44OC0xLjk5LTIuMTQtMy40MS0uMDYtLjM1LS4wNi0uNzEtLjA5LTEuMDcsMC0uMDcuMDMtLjE2LDAtLjItLjA5LS4xLS4xOC0uMDMtLjI1LjA2Wm0uMDktMTMuNjJjLTIuNjcsMS4yMy01LjM3LDEuNzItOC4wNiwyLjI4LS45Ny4yLTEuOTIuNTQtMi44LDEuMDMtMS43NC45Ni0yLjM5LDIuNDEtMi4xMyw0LjY3LjE4LDEuNTcsMS4zMywyLjkxLDMuMDgsMy4yNiw0LjU3LjkyLDguNjgtMS4zLDkuNjYtNS43Ny4zOC0xLjc0LjE0LTMuNS4yNC01LjQ3WiIvPgogICAgICA8cGF0aCBjbGFzcz0iY2xzLTkiIGQ9Im0xMTEuNjMsNjUuMDJjLTMuODUuMDQtNy4yOS0uNTEtMTAuNDctMi4yLTEuNjUtLjg3LTMuMDYtMi4wMi00LjAzLTMuNjUtLjgyLTEuMzctMS4wNi0yLjg2LS42Ny00LjM4Ljc1LTIuODgsNC40Ni0zLjk4LDYuOTEtMi4wNi42Mi40OSwxLjIyLDEuMDUsMS43LDEuNjgsMi43LDMuNTUsNy42NiwzLjQ5LDEwLjc0LDIuNTMsMS41Ny0uNDksMi4zNi0xLjU2LDIuNDEtMi45My4wNS0xLjE3LS40My0xLjk5LTEuNTEtMi40Ny0xLjU4LS42OS0zLjI3LTEuMDEtNC45My0xLjQxLTIuNjMtLjY0LTUuMjktMS4xNy03LjgzLTIuMTUtMS44Ny0uNzItMy42NS0xLjU5LTUuMTItMy4wMS0xLjU3LTEuNTItMi4zNi0zLjQtMi40Ni01LjU1LS4yOC01Ljg0LDIuNjMtMTAuMDksOC4yNC0xMS44NCw1LjAxLTEuNTYsMTAuMDEtMS4zMiwxNC45LjUzLDEuNzMuNjYsMy4yOCwxLjY0LDQuNDQsMy4xNS4xLjEzLjIuMjUuMjkuMzgsMS4yNCwxLjgzLDEuMTksNC4wMS0uMTEsNS40My0xLjI2LDEuMzgtMy41MywxLjYtNS40MS41Mi0uOTctLjU2LTEuOC0xLjMzLTIuNzEtMS45Ny0yLjU5LTEuODItNS40MS0xLjk5LTguMzMtMS4wMS0uODYuMjktMS40OC45Mi0xLjc1LDEuODQtLjM4LDEuMzEtLjA1LDIuMjYsMS4xMywyLjk1LDEuMDQuNjEsMi4yMi44OCwzLjM4LDEuMTcsMi45NC43Myw1LjkzLDEuMjQsOC44MywyLjEzLDEuMjYuMzksMi40OS44NSwzLjY2LDEuNDYsMi44MSwxLjQ1LDQuNjMsMy42NCw0Ljk1LDYuODcuNDgsNC45LTEuMTQsOS41OC02LjE4LDEyLjAxLTEuNDEuNjgtMi44OSwxLjE2LTQuNDEsMS40Ni0xLjk2LjM4LTMuOTUuNTktNS42Ni41NFoiLz4KICAgICAgPHBhdGggY2xhc3M9ImNscy05IiBkPSJtMjU5Ljk2LDM0Ljg1YzAsNi40MywwLDEyLjg2LDAsMTkuMjgsMCwuMjgsMCwuNTYuMDQuODQuMTgsMS4zMi41MSwxLjYyLDEuODEsMS43Ny45OS4xMSwxLjk5LjA4LDIuOTcuMywxLjM1LjI5LDIuMDgsMS4wNiwyLjI4LDIuNDIuMzEsMi4xMS0uNzksMy45Mi0yLjg2LDQuNTEtMS40Ni40Mi0yLjk4LjU1LTQuNS40NC0xLjE1LS4wOC0yLjMtLjExLTMuNDUtLjM0LTMuMzktLjY4LTUuMjItMi41OC01LjY4LTYuMDQtLjE3LTEuMy0uMjctMi42MS0uMjctMy45NC4wMS01Ljk5LDAtMTEuOTgsMC0xNy45NywwLS40My4xLS44Ny0uMTMtMS4zNi0uODgtLjA1LTEuOCwwLTIuNy0uMTktMS43LS4zNS0yLjUyLTEuMzYtMi41NC0zLjIzLS4wMi0xLjkuNzQtMi44OSwyLjQ0LTMuMzIuOTQtLjI0LDEuOS0uMDcsMi45NC0uMjMsMC0xLjU1LjAxLTMuMDYsMC00LjU2LDAtLjguMDYtMS41OS4yNS0yLjM3LjQ2LTEuODcsMS44NC0zLjAxLDMuNzUtMy4xMywzLjgxLS4yMyw1LjU4LDEuNDIsNS42LDUuMjMsMCwxLjU5LDAsMy4xOCwwLDQuOS43OSwwLDEuNDkuMDIsMi4yLDAsLjY1LS4wMiwxLjI4LjA2LDEuOS4yMSwxLjI1LjMsMS45OSwxLjEzLDIuMTcsMi40LjA4LjU2LjA5LDEuMTEsMCwxLjY3LS4yMiwxLjMzLTEuMDUsMi4xNi0yLjQ0LDIuNDMtMS4xOS4yMy0yLjM4LjE5LTMuNTguMTctLjA2LS4wMy0uMTEtLjA2LS4xNy0uMDktLjAxLjA3LS4wMi4xMy0uMDQuMloiLz4KICAgICAgPHBhdGggY2xhc3M9ImNscy05IiBkPSJtMjI5LjY3LDMzLjkxYzEuMDgtMS42NywyLjA1LTMuMjksMy40Ni00LjYzLDEuNzUtMS42NSwzLjc3LTIuMzIsNi4xNS0xLjkzLDEuOTQuMzIsMy4zOSwxLjgzLDMuNjMsMy43Ny4xMywxLjA4LjE2LDIuMTYtLjMsMy4xNy0uNjcsMS40Ni0xLjgsMi4zLTMuNDQsMi40LS44NC4wNS0xLjY3LjA3LTIuNTEuMTYtMy43My4zOC01Ljk0LDIuODgtNi4yMiw2LjY5LS4wOSwxLjIzLS4wNSwyLjQ3LS4wNSwzLjcxLDAsMy43NSwwLDcuNTEsMCwxMS4yNiwwLC42OC0uMDYsMS4zNS0uMTYsMi4wMi0uNDIsMy4xLTIuNTcsMy45Ny00Ljg0LDMuODktMy4wMy0uMTEtNC40Ny0xLjYxLTQuNjUtNC42NS0uMDYtLjk2LS4wNi0xLjkyLS4wNi0yLjg3LDAtNy43MSwwLTE1LjQxLDAtMjMuMTIsMC0uOTIuMDQtMS44NC4xNS0yLjc1LjI2LTIuMywxLjc1LTMuNjcsNC4wNC0zLjc5LjMyLS4wMi42NC0uMDEuOTYsMCwyLjIyLjEsMy42NSwxLjQzLDMuODIsMy42NS4wOC45OS4wMSwxLjk5LjAxLDIuOTlaIi8+CiAgICAgIDxwYXRoIGNsYXNzPSJjbHMtMSIgZD0ibTEuNjYsMTAxLjYydi0zNC41M2MuMS0uMDYuMTctLjEzLjIzLS4xMyw0LjkxLS4wMiw5LjgyLS4xNiwxNC43MS40MSw3LjQ0Ljg3LDEzLjAxLDYuMjYsMTQuMDYsMTMuNjguNTcsNC4wMi40LDcuOTMtMS4zOSwxMS42OS0yLjI3LDQuNzgtNS44OSw3LjcxLTExLjIsOC40OC0xLjkuMjctMy44LjQyLTUuNzIuNDEtMy4xNS0uMDItNi4zMSwwLTkuNDYsMC0uMzksMC0uNzgsMC0xLjIzLDBabTQuMzUtNC4zYzMuNjYuMDQsNy4yNC4wNiwxMC44MS0uNDIsNC4wMi0uNTQsNi44MS0yLjc0LDguNDktNi4zNiwxLjE5LTIuNTcsMS4zOC01LjMxLDEuMDEtOC4wNy0uNjctNC45Mi0zLjU3LTguNzMtOC4zOC0xMC4xOS0xLjQyLS40My0yLjg5LS42LTQuMzYtLjcxLTIuNS0uMTktNS4wMS0uMjItNy41OC0uMTd2MjUuOTRaIi8+CiAgICAgIDxwYXRoIGNsYXNzPSJjbHMtMSIgZD0ibTE1NS40NiwxMDEuNThoLTMuOThjLS4yOS0uNDQtLjE2LS44OS0uMTYtMS4zMS0uMDItNC45NS0uMDMtOS45LS4wNC0xNC44NSwwLS44NS0uMTQtMS42Ny0uMzEtMi40OS0uMzktMS44OC0yLjA5LTMuMzYtNC4wMi0zLjU5LTMuOC0uNDUtNy4yMiwyLjM0LTcuODksNi40Mi0uMjEsMS4zLS4zLDIuNjEtLjMsMy45MywwLDMuOTEsMCw3LjgyLDAsMTEuODRoLTQuMjN2LTI1Ljc5Yy43MiwwLDEuNDIsMCwyLjEzLDAsLjY3LDAsMS4zMywwLDIuMDcsMHYyLjgxYy41NS0uMTIuNzctLjUzLDEuMDctLjgxLDMuNC0zLjE3LDguNDgtMy42LDEyLjEyLTEuMDMsMS4yMS44NSwyLjA0LDIsMi43NCwzLjQuODctMS4wNywxLjY4LTIuMDcsMi43LTIuODgsMy4wOS0yLjQ2LDguNTEtMy4zMywxMi4yNC4wMywxLjQxLDEuMjYsMi4xMSwyLjg2LDIuNTIsNC42NC40MSwxLjguNTIsMy42My41Miw1LjQ3LDAsNC40NywwLDguOTQsMCwxMy40MiwwLC4yMy0uMDMuNDctLjA1Ljc3aC00LjJjLS4yNC0uNC0uMTMtLjg1LS4xMy0xLjI3LDAtNC42MywwLTkuMjYsMC0xMy45LDAtMS4yNC0uMTEtMi40Ny0uNDEtMy42Ny0uNDYtMS44Mi0xLjk1LTMuMDctMy43OS0zLjM2LTMuODQtLjYtNy4yLDIuMTMtNy45Niw1LjgyLS4zOCwxLjg0LS41MSwzLjcxLS41MSw1LjU5LDAsMy4xOSwwLDYuMzksMCw5LjU4LDAsLjM5LjA5Ljc5LS4xMywxLjI0WiIvPgogICAgICA8cGF0aCBjbGFzcz0iY2xzLTEiIGQ9Im0xODEuOCw4OS41MWMuMTYsNC4yMSwyLjc1LDcuNTcsNi40Nyw4LjU5LDQuNDYsMS4yMiw4LjEyLS42MSwxMS40OS01LjgsMS4xOC42LDIuMzYsMS4yMSwzLjY2LDEuODgtMS45NSwzLjc1LTQuNTUsNi42OC04LjcxLDcuNzItNS4wNSwxLjI3LTkuNjkuNDgtMTMuNDktMy4zNS02LjM2LTYuNDItNC45OC0xOC4zNiw0LjAzLTIyLjM4LDcuODUtMy41LDE3LjM4LDEsMTguNTgsMTAuMzguMTIuOTUuMjYsMS44OS4xNiwyLjk2aC0yMi4xOVptMTcuMzMtMy44NmMuMTUtLjExLjE0LS4yMywwLS4zNC0xLjE2LTQuMS01LjMyLTYuNjctMTAuMjgtNS45My0yLjk4LjQ0LTUuOTMsMy4wOC02LjMyLDYuMjMuMTEuMDIuMjMuMDcuMzQuMDcsNS40MiwwLDEwLjg0LS4wMiwxNi4yNi0uMDNaIi8+CiAgICAgIDxwYXRoIGNsYXNzPSJjbHMtMSIgZD0ibTIxMy44Nyw3OC42NGMxLjg4LTEuODIsNC4wMy0zLjExLDYuNjYtMy40OSw1LjQ2LS44MSwxMC4wNSwyLjU3LDEwLjkxLDcuNTIuMjksMS42Ni40NSwzLjMyLjQ2LDQuOTkuMDEsNC4zNSwwLDguNzEsMCwxMy4wNiwwLC4yNy4wOC41Ni0uMTcuODVoLTMuOThjLS4yOC0uNDMtLjE1LS44OC0uMTUtMS4zMS0uMDItNC43MS0uMDMtOS40Mi0uMDQtMTQuMTQsMC0uODgtLjExLTEuNzYtLjMyLTIuNjEtLjgxLTMuMjgtMy41NS00Ljk2LTYuOTEtNC4yOS0zLjc0Ljc1LTYuNDIsMy44OS02LjY5LDcuNzEtLjMxLDQuNDMtLjEzLDguODYtLjE5LDEzLjI5LDAsLjQzLDAsLjg2LDAsMS4zNGgtNC4yNnYtMjUuNzdjMS4zNC0uMTMsMi43Mi0uMDQsNC4xNC0uMDUuMjUuOTkuMDIsMS45NS4xNSwyLjg4LS4wMy4xMSwwLC4yLjEuMjYuMTYsMCwuMjYtLjA5LjMxLS4yNFoiLz4KICAgICAgPHBhdGggY2xhc3M9ImNscy0xIiBkPSJtMTIzLjY4LDk4LjUyYy0uNjQuNTMtMS4yNSwxLjExLTEuOTMsMS41OS0yLjgyLDIuMDEtNS45NCwyLjctOS4zLDEuNzgtMy43Ni0xLjAzLTYuMjItNC4xLTYuNzItOC4xNi0uMTUtMS4xOS0uMjUtMi4zOC0uMjktMy41NywwLS4wOS0uMDEtLjE3LS4wMi0uMjZ2LTE0LjA4aDQuMjJjLjI0LjQyLjEyLjg2LjEzLDEuMjkuMDIsNC43MS4wMyw5LjQyLjA0LDE0LjEzLDAsLjk2LjE1LDEuOTEuNDEsMi44My44NSwzLjA5LDMuMTMsNC40MSw2LjI3LDQuMDgsNC4wNC0uNDMsNi45Ny0zLjc0LDcuMjUtNy44Mi4zLTQuMzkuMTMtOC43Ny4xOS0xMy4xNiwwLS40MywwLS44NiwwLTEuMzcsMS40Ni0uMTIsMi44My0uMDgsNC4yNi0uMDN2MjUuNzZoLTQuM3YtMi45N2MuMDUtLjA4LjA0LS4xNS0uMDQtLjItLjA1LjA1LS4xLjExLS4xNS4xNloiLz4KICAgICAgPHBhdGggY2xhc3M9ImNscy0xIiBkPSJtMTAwLjksODEuNmMtMS4xNy43My0yLjI4LDEuNDMtMy40MiwyLjE0LTEuMTEtMS41NC0yLjQtMi43OC00LjA4LTMuNTQtNC42OC0yLjEzLTEwLjYxLS45NC0xMy40NCwzLjY0LTMuMjgsNS4zMi0uMjIsMTIuNzUsNS45MiwxNC4yLDQsLjk1LDcuNjEuMTMsMTAuNTMtMi45NS4zNi0uMzcuNzEtLjc1LDEuMTMtMS4yLDEuMTEuNzMsMi4yLDEuNDUsMy4zNSwyLjIxLS43NSwxLjQ0LTEuODIsMi41OC0zLjExLDMuNDMtNS4xNSwzLjQxLTEwLjYzLDQuMDQtMTYuMjMsMS4zMy01LjItMi41Mi03Ljg3LTguMjMtNy4xMy0xMy45Ni42OS01LjM2LDUuNC0xMC45MSwxMS45NC0xMS42Nyw0LjE0LS40OCw3Ljk0LjIsMTEuMzUsMi42OCwxLjMxLjk1LDIuMzQsMi4xNSwzLjE5LDMuNzFaIi8+CiAgICAgIDxwYXRoIGNsYXNzPSJjbHMtMSIgZD0ibTI2Ny43Miw3OC45NmMtLjk5Ljk1LTEuOSwxLjg0LTIuODcsMi43OC0uNjctLjUxLTEuMy0xLjE4LTIuMDktMS42NC0xLjEyLS42Ni0yLjI3LTEuMTgtMy42Mi0uODYtMS4xMy4yNy0xLjk5LjkyLTIuMjksMi4wNS0uMzIsMS4yMS4wNSwyLjI5LDEuMDYsMy4wOSwxLjE5Ljk1LDIuNTQsMS42NiwzLjg3LDIuMzgsMS4yLjY1LDIuMzMsMS4zOCwzLjM0LDIuMywyLjM5LDIuMTYsMi45OSw0Ljg1LDIuMDYsNy44NC0uOTQsMy4wNS0zLjExLDQuOTUtNi4yNCw1LjQyLTMuODYuNTctNy4wMy0uODItOS41MS0zLjkzLjgzLTEuMDgsMS43MS0yLjA0LDIuNjUtMy4wMS41NS4yMy44My43NCwxLjIzLDEuMSwxLjIsMS4wNiwyLjUsMS44Niw0LjE3LDEuODIsMS41My0uMDQsMi42Ny0uNzgsMy40Ny0yLjAyLjgxLTEuMjYuNDctMy4xLS43MS00LjEzLTEuMDMtLjktMi4yMy0xLjU0LTMuNDQtMi4xNi0xLjI1LS42My0yLjQ0LTEuMzYtMy41My0yLjI0LTIuNjMtMi4xNC0zLjAyLTUuMzMtMi4yNS03LjkyLjgtMi42OCwzLjU3LTQuNjIsNi41Ni00Ljc4LDEuNzMtLjA5LDMuMzIuMjksNC44LDEuMTksMS4yLjczLDIuMjksMS41OCwzLjMzLDIuNzJaIi8+CiAgICAgIDxwYXRoIGNsYXNzPSJjbHMtMSIgZD0ibTIzNS4wNCw3OS41OXYtMy43OWg0LjI0di05LjU2YzEuNDgtLjE2LDIuODMtLjA1LDQuMzEtLjA4djkuNTVoNS4wMWMuMzgsMS4zMy4wNSwyLjU0LjEzLDMuODdoLTQuOTVjLS4yNiwxLjY1LS4xNywxNy4zNC4xMSwxOC41OSwxLjE3LjMzLDIuNDEsMCwzLjY4LjIuMTYsMS4yLjAzLDIuMzguMDksMy42MS0xLjczLjQ3LTMuNDMuNTktNS4xMy4zNC0xLjY5LS4yNS0yLjc0LTEuNDItMy4wMi0zLjEyLS4xMy0uNzktLjE5LTEuNTgtLjE5LTIuMzguMDEtNS4yNywwLTEwLjU0LDAtMTUuODJ2LTEuNDFoLTQuMjlaIi8+CiAgICAgIDxwYXRoIGNsYXNzPSJjbHMtNSIgZD0ibTE0MC41MSwzMS4yMWMtLjAzLjIxLS4xMy4zNS0uMzUuMzYtLjE1LS4xMS0uMTYtLjI1LS4xMS0uNDFsLjQ3LjA0WiIvPgogICAgICA8cGF0aCBjbGFzcz0iY2xzLTMiIGQ9Im0yMTMuODcsNzguNjRjLS4wNS4xNS0uMTUuMjQtLjMxLjI0LS4xLS4wNi0uMTMtLjE1LS4xLS4yNi4xNCwwLC4yNy4wMS40MS4wMloiLz4KICAgICAgPHBhdGggY2xhc3M9ImNscy0zIiBkPSJtMTIzLjY4LDk4LjUyYy4wNS0uMDUuMS0uMTEuMTUtLjE2LjA4LjA1LjEuMTIuMDQuMi0uMDcsMC0uMTMsMC0uMTktLjA0WiIvPgogICAgICA8cGF0aCBjbGFzcz0iY2xzLTMiIGQ9Im0xMDUuNDEsODkuOWMwLC4wOS4wMS4xNy4wMi4yNi0uMTUtLjA4LS4xOC0uMTYtLjAyLS4yNloiLz4KICAgICAgPHBhdGggY2xhc3M9ImNscy01IiBkPSJtMTk0LjkxLDY1LjA0bC4yOC4wNGMtLjEyLjEzLS4yMS4wOS0uMjgtLjA0WiIvPgogICAgICA8cGF0aCBjbGFzcz0iY2xzLTUiIGQ9Im0yMDcuMzMsNTkuODRjLjA3LS4wOS4xNS0uMTUuMjUtLjA2LjAzLjA0LDAsLjEzLDAsLjItLjA5LS4wNS0uMTctLjA5LS4yNi0uMTRaIi8+CiAgICAgIDxwYXRoIGNsYXNzPSJjbHMtMiIgZD0ibTIxNi43MSw1Ny44MmMtLjExLS4wOS0uMTUtLjE5LS4wNi0uMzIuMDMuMDcuMDcuMTMuMDkuMjEsMCwuMDMtLjAyLjA3LS4wNC4xMVoiLz4KICAgICAgPHBhdGggY2xhc3M9ImNscy00IiBkPSJtMTQ1LjQ2LDM1LjE0Yy4wOS0uMS4yLS4xMy4zMy0uMDctLjA5LjExLS4yLjE1LS4zMy4wN1oiLz4KICAgICAgPHBhdGggY2xhc3M9ImNscy02IiBkPSJtMjU5Ljk2LDM0Ljg1Yy4wMS0uMDcuMDItLjEzLjA0LS4yLjA2LjAzLjExLjA2LjE3LjA5LS4wNS4wNi0uMTIuMS0uMi4xMVoiLz4KICAgICAgPHBhdGggY2xhc3M9ImNscy01IiBkPSJtMTMxLDMxLjY1Yy4xLjEzLjA1LjIyLS4wNi4zLS4wNS0uMTItLjAzLS4yMi4wNi0uM1oiLz4KICAgICAgPHBhdGggY2xhc3M9ImNscy04IiBkPSJtMjguODMsMjIuNjRjLS4wNy0uMTQtLjAzLS4yNC4wOS0uMzMuMDYuMTMuMDIuMjQtLjA5LjMzWiIvPgogICAgICA8cGF0aCBjbGFzcz0iY2xzLTEiIGQ9Im01Mi40OSw5OC4zNGMyLjM4LDAsNC4zNC0uNjgsNS45Ni0yLjA3LDQuODYtNC4xOCw0LjM2LTExLjgtMS0xNS40Ni0zLjc3LTIuNTctOC41Ny0yLTExLjU2LDEuNDUtMi4zNCwyLjctMi45NSw1Ljc5LTIuMTIsOS4yNi44OSwzLjcxLDQuNjksNy4wNiw4LjcyLDYuODNaIi8+CiAgICAgIDxwYXRoIGNsYXNzPSJjbHMtNyIgZD0ibTE5OS4xMyw4NS42NWMwLS4xMSwwLS4yMywwLS4zNC4xNC4xMS4xNS4yMywwLC4zNFoiLz4KICAgIDwvZz4KICA8L2c+Cjwvc3ZnPg==';\n\nexport {SMART_DOCUMENTS_PLUGIN_LOGO_BASE64};\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport * from './smart-documents-plugin-logo';\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {PluginSpecification} from '../../models';\nimport {SmartDocumentsConfigurationComponent} from './components/smart-documents-configuration/smart-documents-configuration.component';\nimport {SMART_DOCUMENTS_PLUGIN_LOGO_BASE64} from './assets';\nimport {GenerateDocumentConfigurationComponent} from './components/generate-document-configuration/generate-document-configuration.component';\nimport {GetTemplateNamesComponent} from './components/get-template-names/get-template-names.component';\n\nconst smartDocumentsPluginSpecification: PluginSpecification = {\n pluginId: 'smartdocuments',\n pluginConfigurationComponent: SmartDocumentsConfigurationComponent,\n pluginLogoBase64: SMART_DOCUMENTS_PLUGIN_LOGO_BASE64,\n functionConfigurationComponents: {\n 'generate-document': GenerateDocumentConfigurationComponent,\n 'get-template-names': GetTemplateNamesComponent,\n },\n pluginTranslations: {\n nl: {\n title: 'SmartDocuments',\n description: 'Automatiseer documenten met slimme templates.',\n 'generate-document': 'Document genereren',\n 'get-template-names': 'Templatenamen ophalen',\n configurationTitle: 'Configuratienaam',\n configurationTitleTooltip:\n 'Onder deze naam zal de plugin te herkennen zijn in de rest van de applicatie',\n url: 'SmartDocuments URL',\n username: 'Gebruikersnaam',\n password: 'Wachtwoord',\n templateGroup: 'Template groep',\n templateName: 'Template naam',\n templateGroupName: 'Template groepsnaam',\n resultingTemplateNameListProcessVariableName:\n 'Naam van process variable om lijst in op te slaan',\n templateDataTooltip:\n 'De rechter value-kolom ondersteunt ook het gebruik van procesvariabelen zoals pv: en doc:',\n format: 'Documentformaat',\n templateData: 'Template-data',\n resultingDocumentProcessVariableName: 'Naam procesvariabele voor opslag document',\n resultingDocumentProcessVariableNameTooltip:\n 'De locatie van het gegenereerde document wordt opgeslagen in een procesvariabele. Deze procesvariabele kan gebruikt worden om het document te verwerken in een andere BPMN-taak.',\n generateDocumentWarning:\n 'Deze actie genereert een tijdelijk bestand. Het verwerken hiervan moet door een andere actie worden gedaan.',\n key: 'Sleutel',\n value: 'Waarde',\n },\n en: {\n title: 'SmartDocuments',\n description: 'Automate documents with smart templates.',\n 'generate-document': 'Generate document',\n 'get-template-names': 'Get Template Names',\n configurationTitle: 'Configuration name',\n configurationTitleTooltip:\n 'With this name the plugin will be recognizable in the rest of the application',\n url: 'SmartDocuments URL',\n username: 'Username',\n password: 'Password',\n templateGroup: 'Template group',\n templateName: 'Template name',\n templateGroupName: 'Template group name',\n resultingTemplateNameListProcessVariableName: 'Name of process variable to save the list in',\n\n format: 'Document format',\n templateData: 'Template data',\n templateDataTooltip:\n 'The right value-column also supports the use of process variables such as pv: and doc:',\n resultingDocumentProcessVariableName: 'Process variable name for storing document',\n resultingDocumentProcessVariableNameTooltip:\n 'The location of the generated document is stored in a process variable. This process variable can be used to access the document in another BPMN task.',\n generateDocumentWarning:\n 'This action generates a temporary file. It needs to be stored in a following task.',\n key: 'Key',\n value: 'Value',\n },\n de: {\n title: 'SmartDocuments',\n description: 'Automatisieren Sie Dokumente mit intelligenten Templates.',\n 'generate-document': 'Dokument generieren',\n 'get-template-names': 'Get Template Names',\n configurationTitle: 'Konfigurationsname',\n configurationTitleTooltip:\n 'An diesem Namen wird das Plugin im Rest der Anwendung erkennbar sein',\n url: 'SmartDocuments URL',\n username: 'Nutzername',\n password: 'Passwort',\n templateGroup: 'Template gruppe',\n templateName: 'Template name',\n templateGroupName: 'Template gruppe name',\n resultingTemplateNameListProcessVariableName:\n 'Name der Prozessvariable, um die Liste zu speichern',\n format: 'Dokumentformat',\n templateData: 'Templatedaten',\n templateDataTooltip:\n 'Die rechte Wertespalte unterstützt auch die Verwendung von Prozessvariablen wie pv: und doc:',\n resultingDocumentProcessVariableName: 'Prozessvariablenname zum Speichern des Dokuments',\n resultingDocumentProcessVariableNameTooltip:\n 'Der Ort des generierten Dokuments wird in einer Prozessvariablen gespeichert. Diese Prozessvariable wird verwendet, um in einer anderen BPMN-Aufgabe auf das Dokument zuzugreifen.',\n generateDocumentWarning:\n 'Diese Aktion erzeugt eine temporäre Datei. Die Verarbeitung muss durch eine andere Aktion erfolgen.',\n key: 'Schlüssel',\n value: 'Wert',\n },\n },\n};\n\nexport {smartDocumentsPluginSpecification};\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Injectable} from '@angular/core';\nimport {Observable} from 'rxjs';\nimport {HttpClient} from '@angular/common/http';\nimport {ConfigService} from '@valtimo/shared';\nimport {DocumentenApiManagementAllVersions} from '../models';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class DocumentenApiService {\n private valtimoEndpointUri: string;\n\n constructor(\n private http: HttpClient,\n configService: ConfigService\n ) {\n this.valtimoEndpointUri = configService.config.valtimoApi.endpointUri;\n }\n\n public getManagementApiAllVersions(): Observable<DocumentenApiManagementAllVersions> {\n return this.http.get<DocumentenApiManagementAllVersions>(\n `${this.valtimoEndpointUri}management/v1/documenten-api/versions`\n );\n }\n}\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport * from './documenten-api.service';\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {PluginConfigurationComponent} from '../../../../models';\nimport {BehaviorSubject, combineLatest, map, Observable, Subscription, take} from 'rxjs';\nimport {DocumentenApiConfig} from '../../models';\nimport {PluginManagementService, PluginTranslationService} from '../../../../services';\nimport {TranslateService} from '@ngx-translate/core';\nimport {DocumentenApiService} from '../../services';\n\n@Component({\n selector: 'valtimo-documenten-api-configuration',\n templateUrl: './documenten-api-configuration.component.html',\n standalone: false,\n})\nexport class DocumentenApiConfigurationComponent\n implements PluginConfigurationComponent, OnInit, OnDestroy\n{\n @Input() save$: Observable<void>;\n @Input() disabled$: Observable<boolean>;\n @Input() pluginId: string;\n @Input() prefillConfiguration$: Observable<DocumentenApiConfig>;\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() configuration: EventEmitter<DocumentenApiConfig> =\n new EventEmitter<DocumentenApiConfig>();\n\n private saveSubscription!: Subscription;\n\n private readonly formValue$ = new BehaviorSubject<DocumentenApiConfig | null>(null);\n private readonly valid$ = new BehaviorSubject<boolean>(false);\n\n readonly authenticationPluginSelectItems$: Observable<Array<{id: string; text: string}>> =\n combineLatest([\n this.pluginManagementService.getPluginConfigurationsByCategory(\n 'documenten-api-authentication'\n ),\n this.translateService.stream('key'),\n ]).pipe(\n map(([configurations]) =>\n configurations.map(configuration => ({\n id: configuration.id,\n text: `${configuration.title} - ${this.pluginTranslationService.instant(\n 'title',\n configuration.pluginDefinition.key\n )}`,\n }))\n )\n );\n readonly apiVersionItems$: Observable<Array<{id: string; text: string}>> =\n this.documentenApiService.getManagementApiAllVersions().pipe(\n map(response =>\n response.versions.map(version => ({\n id: version,\n text: version,\n }))\n )\n );\n\n constructor(\n private readonly pluginManagementService: PluginManagementService,\n private readonly translateService: TranslateService,\n private readonly pluginTranslationService: PluginTranslationService,\n private readonly documentenApiService: DocumentenApiService\n ) {}\n\n ngOnInit(): void {\n this.openSaveSubscription();\n }\n\n ngOnDestroy() {\n this.saveSubscription?.unsubscribe();\n }\n\n formValueChange(formValue: DocumentenApiConfig): void {\n if (!formValue.apiVersion) {\n formValue.apiVersion = null;\n }\n this.formValue$.next(formValue);\n this.handleValid(formValue);\n }\n\n private handleValid(formValue: DocumentenApiConfig): void {\n const valid = !!(\n formValue.configurationTitle &&\n formValue.url &&\n formValue.bronorganisatie &&\n formValue.authenticationPluginConfiguration\n );\n\n this.valid$.next(valid);\n this.valid.emit(valid);\n }\n\n private openSaveSubscription(): void {\n this.saveSubscription = this.save$?.subscribe(save => {\n combineLatest([this.formValue$, this.valid$])\n .pipe(take(1))\n .subscribe(([formValue, valid]) => {\n if (valid) {\n this.configuration.emit(formValue);\n }\n });\n });\n }\n}\n","<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null,\n } as obs\"\n>\n <v-input\n name=\"configurationTitle\"\n [title]=\"'configurationTitle' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.configurationTitle\"\n [required]=\"true\"\n [trim]=\"true\"\n [tooltip]=\"'configurationTitleTooltip' | pluginTranslate: pluginId | async\"\n placeholder=\"Documenten API Plugin\"\n >\n </v-input>\n <v-input\n name=\"url\"\n [title]=\"'url' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.url\"\n [required]=\"true\"\n [trim]=\"true\"\n [tooltip]=\"'urlTooltip' | pluginTranslate: pluginId | async\"\n placeholder=\"https://openzaak.example.com/documenten/api/v1/\"\n >\n </v-input>\n <v-input\n name=\"bronorganisatie\"\n type=\"digitOnly\"\n [title]=\"'bronorganisatie' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.bronorganisatie\"\n [required]=\"true\"\n [trim]=\"true\"\n [tooltip]=\"'bronorganisatieTooltip' | pluginTranslate: pluginId | async\"\n placeholder=\"123456789\"\n >\n </v-input>\n <ng-container\n *ngIf=\"{authenticationPluginSelectItems: authenticationPluginSelectItems$ | async} as authObs\"\n >\n <v-select\n [loading]=\"!authObs.authenticationPluginSelectItems\"\n [items]=\"authObs.authenticationPluginSelectItems\"\n [margin]=\"true\"\n name=\"authenticationPluginConfiguration\"\n [title]=\"'authenticationPluginConfiguration' | pluginTranslate: pluginId | async\"\n [disabled]=\"obs.disabled\"\n [defaultSelectionId]=\"obs.prefill?.authenticationPluginConfiguration\"\n [required]=\"true\"\n [tooltip]=\"'authenticationPluginConfigurationTooltip' | pluginTranslate: pluginId | async\"\n ></v-select>\n </ng-container>\n <ng-container *ngIf=\"{apiVersionItems: apiVersionItems$ | async} as pObs\">\n <v-select\n [loading]=\"!pObs.apiVersionItems\"\n [items]=\"pObs.apiVersionItems\"\n [margin]=\"true\"\n name=\"apiVersion\"\n [title]=\"'apiVersion' | pluginTranslate: pluginId | async\"\n [disabled]=\"obs.disabled\"\n [defaultSelectionId]=\"obs.prefill?.apiVersion\"\n [required]=\"false\"\n [tooltip]=\"'apiVersionTooltip' | pluginTranslate: pluginId | async\"\n ></v-select>\n </ng-container>\n</v-form>\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {FunctionConfigurationComponent} from '../../../../models';\nimport {BehaviorSubject, combineLatest, map, Observable, Subscription, take} from 'rxjs';\nimport {DocumentLanguage, DocumentStatus, StoreTempDocumentConfig} from '../../models';\nimport {TranslateService} from '@ngx-translate/core';\nimport {PluginTranslationService} from '../../../../services';\nimport {ConfidentialityLevel} from '../../../documenten-api/models';\n\n@Component({\n selector: 'valtimo-store-temp-document-configuration',\n templateUrl: './store-temp-document-configuration.component.html',\n standalone: false,\n})\nexport class StoreTempDocumentConfigurationComponent\n implements FunctionConfigurationComponent, OnInit, OnDestroy\n{\n @Input() save$: Observable<void>;\n @Input() disabled$: Observable<boolean>;\n @Input() pluginId: string;\n @Input() prefillConfiguration$: Observable<StoreTempDocumentConfig>;\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() configuration: EventEmitter<StoreTempDocumentConfig> =\n new EventEmitter<StoreTempDocumentConfig>();\n\n readonly CONFIDENTIALITY_LEVEL_ITEMS: Array<ConfidentialityLevel> = [\n 'openbaar',\n 'beperkt_openbaar',\n 'intern',\n 'zaakvertrouwelijk',\n 'vertrouwelijk',\n 'confidentieel',\n 'geheim',\n 'zeer_geheim',\n ];\n readonly confidentialityLevelItems$: Observable<Array<{id: string; text: string}>> =\n this.translateService.stream('key').pipe(\n map(() =>\n this.CONFIDENTIALITY_LEVEL_ITEMS.map(confidentialityLevel => ({\n id: confidentialityLevel,\n text: this.pluginTranslationService.instant(confidentialityLevel, this.pluginId),\n }))\n )\n );\n\n readonly LANGUAGE_ITEMS: Array<DocumentLanguage> = ['nld'];\n readonly languageSelectItems$: Observable<Array<{id: DocumentLanguage; text: string}>> =\n this.translateService.stream('key').pipe(\n map(() =>\n this.LANGUAGE_ITEMS.map(item => ({\n id: item,\n text: this.pluginTranslationService.instant(item, this.pluginId),\n }))\n )\n );\n readonly STATUS_ITEMS: Array<DocumentStatus> = [\n 'in_bewerking',\n 'ter_vaststelling',\n 'definitief',\n 'gearchiveerd',\n ];\n readonly statusSelectItems$: Observable<Array<{id: DocumentStatus; text: string}>> =\n this.translateService.stream('key').pipe(\n map(() =>\n this.STATUS_ITEMS.map(item => ({\n id: item,\n text: this.pluginTranslationService.instant(item, this.pluginId),\n }))\n )\n );\n\n private saveSubscription!: Subscription;\n private readonly formValue$ = new BehaviorSubject<StoreTempDocumentConfig | null>(null);\n private readonly valid$ = new BehaviorSubject<boolean>(false);\n\n constructor(\n private readonly translateService: TranslateService,\n private readonly pluginTranslationService: PluginTranslationService\n ) {}\n\n ngOnInit(): void {\n this.openSaveSubscription();\n }\n\n ngOnDestroy(): void {\n this.saveSubscription?.unsubscribe();\n }\n\n formValueChange(formValue: StoreTempDocumentConfig): void {\n this.formValue$.next(formValue);\n this.handleValid(formValue);\n }\n\n private handleValid(formValue: StoreTempDocumentConfig): void {\n const valid = !!(\n formValue.localDocumentLocation &&\n formValue.taal &&\n formValue.status &&\n formValue.informatieobjecttype\n );\n\n this.valid$.next(valid);\n this.valid.emit(valid);\n }\n\n private openSaveSubscription(): void {\n this.saveSubscription = this.save$?.subscribe(save => {\n combineLatest([this.formValue$, this.valid$])\n .pipe(take(1))\n .subscribe(([formValue, valid]) => {\n if (valid) {\n this.configuration.emit(formValue);\n }\n });\n });\n }\n}\n","<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null,\n } as obs\"\n>\n <v-input\n name=\"fileName\"\n [title]=\"'fileName' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.fileName\"\n [disabled]=\"obs.disabled\"\n [tooltip]=\"'fileNameTooltip' | pluginTranslate: pluginId | async\"\n [trim]=\"true\"\n ></v-input>\n <v-select\n [items]=\"confidentialityLevelItems$ | async\"\n [margin]=\"true\"\n [widthInPx]=\"200\"\n name=\"confidentialityLevel\"\n [title]=\"'confidentialityLevel' | pluginTranslate: pluginId | async\"\n [disabled]=\"obs.disabled\"\n [defaultSelectionId]=\"obs.prefill?.confidentialityLevel || CONFIDENTIALITY_LEVEL_ITEMS[3]\"\n [tooltip]=\"'confidentialityLevelTooltip' | pluginTranslate: pluginId | async\"\n ></v-select>\n <v-input\n name=\"title\"\n [title]=\"'inputTitle' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.title\"\n [disabled]=\"obs.disabled\"\n [tooltip]=\"'inputTitleTooltip' | pluginTranslate: pluginId | async\"\n [trim]=\"true\"\n ></v-input>\n <v-input\n name=\"description\"\n [title]=\"'inputDescription' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.description\"\n [disabled]=\"obs.disabled\"\n [tooltip]=\"'inputDescriptionTooltip' | pluginTranslate: pluginId | async\"\n ></v-input>\n <v-input\n name=\"localDocumentLocation\"\n [title]=\"'localDocumentLocation' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.localDocumentLocation\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n [trim]=\"true\"\n [tooltip]=\"'localDocumentLocationTooltip' | pluginTranslate: pluginId | async\"\n >\n </v-input>\n <v-input\n name=\"storedDocumentUrl\"\n [title]=\"'storedDocumentUrl' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.storedDocumentUrl\"\n [disabled]=\"obs.disabled\"\n [trim]=\"true\"\n [tooltip]=\"'storeDocumentUrlTooltip' | pluginTranslate: pluginId | async\"\n >\n </v-input>\n <v-select\n [items]=\"languageSelectItems$ | async\"\n [margin]=\"true\"\n [widthInPx]=\"200\"\n name=\"taal\"\n [title]=\"'taal' | pluginTranslate: pluginId | async\"\n [disabled]=\"obs.disabled\"\n [defaultSelectionId]=\"obs.prefill?.taal || LANGUAGE_ITEMS[0]\"\n [required]=\"true\"\n ></v-select>\n <v-select\n [items]=\"statusSelectItems$ | async\"\n [margin]=\"true\"\n [widthInPx]=\"200\"\n name=\"status\"\n [title]=\"'status' | pluginTranslate: pluginId | async\"\n [disabled]=\"obs.disabled\"\n [defaultSelectionId]=\"obs.prefill?.status || STATUS_ITEMS[2]\"\n [required]=\"true\"\n ></v-select>\n <v-input\n name=\"informatieobjecttype\"\n [title]=\"'informatieobjecttype' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.informatieobjecttype\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n [trim]=\"true\"\n [tooltip]=\"'informatieobjecttypeTooltip' | pluginTranslate: pluginId | async\"\n [fullWidth]=\"true\"\n >\n </v-input>\n</v-form>\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {FunctionConfigurationComponent} from '../../../../models';\nimport {Observable, Subscription} from 'rxjs';\n\n@Component({\n selector: 'valtimo-store-uploaded-document-configuration',\n templateUrl: './store-uploaded-document-configuration.component.html',\n standalone: false,\n})\nexport class StoreUploadedDocumentConfigurationComponent\n implements FunctionConfigurationComponent, OnInit, OnDestroy\n{\n @Input() save$: Observable<void>;\n @Input() disabled$: Observable<boolean>;\n @Input() pluginId: string;\n @Input() prefillConfiguration$: Observable<any>;\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() configuration: EventEmitter<any> = new EventEmitter<any>();\n\n private saveSubscription!: Subscription;\n\n ngOnInit(): void {\n this.openSaveSubscription();\n this.emitValid();\n }\n\n ngOnDestroy(): void {\n this.saveSubscription?.unsubscribe();\n }\n\n private emitValid(): void {\n this.valid.emit(true);\n }\n\n private openSaveSubscription(): void {\n this.saveSubscription = this.save$?.subscribe(save => {\n this.configuration.emit({});\n });\n }\n}\n","<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-paragraph [center]=\"true\" [fullWidth]=\"true\">\n {{ 'storeUploadedDocumentMessage' | pluginTranslate: pluginId | async }}\n</v-paragraph>\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {FunctionConfigurationComponent} from '../../../../models';\nimport {BehaviorSubject, combineLatest, Observable, Subscription, take} from 'rxjs';\nimport {DownloadDocumentConfig} from '../../models';\n\n@Component({\n selector: 'valtimo-download-document-configuration',\n templateUrl: './download-document-configuration.component.html',\n standalone: false,\n})\nexport class DownloadDocumentConfigurationComponent\n implements FunctionConfigurationComponent, OnInit, OnDestroy\n{\n @Input() save$: Observable<void>;\n @Input() disabled$: Observable<boolean>;\n @Input() pluginId: string;\n @Input() prefillConfiguration$: Observable<DownloadDocumentConfig>;\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() configuration: EventEmitter<DownloadDocumentConfig> =\n new EventEmitter<DownloadDocumentConfig>();\n\n private saveSubscription!: Subscription;\n private readonly formValue$ = new BehaviorSubject<DownloadDocumentConfig | null>(null);\n private readonly valid$ = new BehaviorSubject<boolean>(false);\n\n ngOnInit(): void {\n this.openSaveSubscription();\n this.valid.emit(true);\n }\n\n ngOnDestroy(): void {\n this.saveSubscription?.unsubscribe();\n }\n\n private openSaveSubscription(): void {\n this.saveSubscription = this.save$?.subscribe(save => {\n combineLatest([this.formValue$, this.valid$])\n .pipe(take(1))\n .subscribe(([formValue, valid]) => {\n if (valid) {\n this.configuration.emit(formValue);\n }\n });\n });\n }\n\n formValueChange(formValue: DownloadDocumentConfig): void {\n this.formValue$.next(formValue);\n this.handleValid(formValue);\n }\n\n private handleValid(formValue: DownloadDocumentConfig): void {\n const valid = !!formValue.processVariableName;\n\n this.valid$.next(valid);\n this.valid.emit(valid);\n }\n}\n","<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null,\n } as obs\"\n>\n <v-input\n name=\"processVariableName\"\n [title]=\"'processVariableName' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.processVariableName\"\n [disabled]=\"obs.disabled\"\n [required]=\"false\"\n [trim]=\"true\"\n [tooltip]=\"'processVariableTooltip' | pluginTranslate: pluginId | async\"\n ></v-input>\n</v-form>\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {FunctionConfigurationComponent} from '../../../../models';\nimport {Observable, Subscription} from 'rxjs';\n\n@Component({\n selector: 'valtimo-store-uploaded-document-in-parts-configuration',\n templateUrl: './store-uploaded-document-in-parts-configuration.component.html',\n standalone: false,\n})\nexport class StoreUploadedDocumentInPartsConfigurationComponent\n implements FunctionConfigurationComponent, OnInit, OnDestroy\n{\n @Input() save$: Observable<void>;\n @Input() disabled$: Observable<boolean>;\n @Input() pluginId: string;\n @Input() prefillConfiguration$: Observable<any>;\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() configuration: EventEmitter<any> = new EventEmitter<any>();\n\n private saveSubscription!: Subscription;\n\n public ngOnInit(): void {\n this.openSaveSubscription();\n this.emitValid();\n }\n\n public ngOnDestroy(): void {\n this.saveSubscription?.unsubscribe();\n }\n\n private emitValid(): void {\n this.valid.emit(true);\n }\n\n private openSaveSubscription(): void {\n this.saveSubscription = this.save$?.subscribe(() => {\n this.configuration.emit({});\n });\n }\n}\n","<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-paragraph [center]=\"true\" [fullWidth]=\"true\">\n {{ 'storeUploadedDocumentInPartsMessage' | pluginTranslate: pluginId | async }}\n</v-paragraph>\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {NgModule} from '@angular/core';\nimport {CommonModule} from '@angular/common';\nimport {DocumentenApiConfigurationComponent} from './components/documenten-api-configuration/documenten-api-configuration.component';\nimport {PluginTranslatePipeModule} from '../../pipes';\nimport {FormModule, InputModule, ParagraphModule, SelectModule} from '@valtimo/components';\nimport {StoreTempDocumentConfigurationComponent} from './components/store-temp-document/store-temp-document-configuration.component';\nimport {StoreUploadedDocumentConfigurationComponent} from './components/store-uploaded-document/store-uploaded-document-configuration.component';\nimport {DownloadDocumentConfigurationComponent} from './components/download-document/download-document-configuration.component';\nimport {StoreUploadedDocumentInPartsConfigurationComponent} from './components/store-uploaded-document-in-parts/store-uploaded-document-in-parts-configuration.component';\n\n@NgModule({\n declarations: [\n DocumentenApiConfigurationComponent,\n StoreTempDocumentConfigurationComponent,\n StoreUploadedDocumentConfigurationComponent,\n StoreUploadedDocumentInPartsConfigurationComponent,\n DownloadDocumentConfigurationComponent,\n ],\n imports: [\n CommonModule,\n PluginTranslatePipeModule,\n FormModule,\n InputModule,\n SelectModule,\n ParagraphModule,\n ],\n exports: [\n DocumentenApiConfigurationComponent,\n StoreTempDocumentConfigurationComponent,\n StoreUploadedDocumentConfigurationComponent,\n StoreUploadedDocumentInPartsConfigurationComponent,\n DownloadDocumentConfigurationComponent,\n ],\n})\nexport class DocumentenApiPluginModule {}\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nconst DOCUMENTEN_API_PLUGIN_LOGO_BASE64 =\n 'data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB2aWV3Qm94PSIxNTAgMTUgOTYgNTAiPjxkZWZzPjxwYXRoIGlkPSJhIiBkPSJNNTcuMzk2LjIxMUguMjgxdjQ5LjQwNWg1Ny4xMTVWLjIxeiIvPjxwYXRoIGlkPSJjIiBkPSJNNTcuNTY0LjIxMUguNDQ4djQ5LjQwNWg1Ny4xMTZWLjIxeiIvPjwvZGVmcz48ZyBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDE4Ny45MzEgMTUpIj48bWFzayBpZD0iYiIgZmlsbD0iI2ZmZiI+PHVzZSB4bGluazpocmVmPSIjYSIvPjwvbWFzaz48cGF0aCBkPSJNNTcuMzk2IDI0LjkxM2MwLTEzLjU3My0xMS4wMDQtMjQuNjIyLTI0LjU2LTI0LjctLjAyNCAwLS4wNDgtLjAwMy0uMDczLS4wMDNIMjQuNzVhMi41MDQgMi41MDQgMCAxIDAgMCA1LjAxaDcuOTQ1YzEwLjg1OCAwIDE5LjY5NCA4LjgzNCAxOS42OTQgMTkuNjkzIDAgMTAuODYtOC44MzYgMTkuNjk0LTE5LjY5NCAxOS42OTRINS4yODl2LTQuNTc4SC4yODF2OS41ODdoMzIuNDgydi0uMDAxYzEzLjU5LS4wNCAyNC42MzMtMTEuMTA1IDI0LjYzMy0yNC43MDIiIGZpbGw9IiMwMDlGRTQiIG1hc2s9InVybCgjYikiLz48L2c+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTUwIDE1KSI+PG1hc2sgaWQ9ImQiIGZpbGw9IiNmZmYiPjx1c2UgeGxpbms6aHJlZj0iI2MiLz48L21hc2s+PHBhdGggZD0iTS40NDggMjQuOTEzYzAgMTMuNTczIDExLjAwNCAyNC42MjIgMjQuNTYgMjQuNy4wMjQgMCAuMDQ4LjAwMy4wNzMuMDAzaDguMDE0YTIuNTA0IDIuNTA0IDAgMSAwIDAtNS4wMDloLTcuOTQ0Yy0xMC44NTkgMC0xOS42OTQtOC44MzQtMTkuNjk0LTE5LjY5NCAwLTEwLjg1OSA4LjgzNS0xOS42OTQgMTkuNjk0LTE5LjY5NGgyNy40MDR2NC41NzhoNS4wMDlWLjIxSDI1LjA4di4wMDFDMTEuNDkuMjUxLjQ0OCAxMS4zMTYuNDQ4IDI0LjkxMyIgZmlsbD0iIzAwOUZFNCIgbWFzaz0idXJsKCNkKSIvPjwvZz48cGF0aCBmaWxsPSIjMDA0Mzg4IiBkPSJNMTc2LjAxNyA0Mi4xMTZsLTQuNjc4LTEyLjQwMWgtNS42NjRsOC4xNCAyMC4zNjZoMy45MjFsOC40MDEtMjAuMzY2aC01LjM2M3ptMjYuNTQyLjU1OGwtNy45MjgtMTIuOTU5aC02LjQxM3YyMC4zNjdoNC45OTdWMzYuNzg3bDguMTUgMTMuMjk1aDYuMTlWMjkuNzE1aC00Ljk5NnptMTkuMzIzLTQuOTR2NC42NjNoMy41Mzd2Mi42NzdhOS43NzMgOS43NzMgMCAwIDEtMS40MTQuNTRjLS42NTIuMjAzLTEuNDQzLjMwNi0yLjM1NC4zMDYtLjg4IDAtMS42ODYtLjE1LTIuMzk0LS40NDhhNS4zMzggNS4zMzggMCAwIDEtMS44MjQtMS4yNDcgNS41MjIgNS41MjIgMCAwIDEtMS4xNy0xLjg5NGMtLjI3Mi0uNzI5LS40MS0xLjU0OS0uNDEtMi40MzMgMC0uODY3LjEzOC0xLjY4MS40MS0yLjQyYTUuNTAyIDUuNTAyIDAgMCAxIDEuMTctMS45MDggNS4zNzQgNS4zNzQgMCAwIDEgMS44MjQtMS4yNDZjLjcwOS0uMjk4IDEuNTE0LS40NDkgMi4zOTQtLjQ0OSAxLjA2NCAwIDEuOTU5LjE1MSAyLjY1Ny40NDkuNy4yOTcgMS4zMzguNzQgMS44OTggMS4zMThsLjI0Mi4yNDggMy41MTUtMy44MzUtLjIzNy0uMjIxYTguOTIzIDguOTIzIDAgMCAwLTMuNjI3LTIuMDM4Yy0xLjM1LS4zODYtMi44NDctLjU4My00LjQ0OC0uNTgzLTEuNTcyIDAtMy4wNDQuMjUtNC4zNzMuNzQ1YTEwLjEzOSAxMC4xMzkgMCAwIDAtMy40ODEgMi4xNDNjLS45NzUuOTI4LTEuNzQ2IDIuMDY2LTIuMjkgMy4zODQtLjU0MyAxLjMxNS0uODE5IDIuOC0uODE5IDQuNDEzIDAgMS42MTMuMjc2IDMuMDk4LjgyIDQuNDEzLjU0NSAxLjMxOSAxLjMxNCAyLjQ1NyAyLjI4OSAzLjM4NC45NzQuOTI2IDIuMTQ2IDEuNjQ3IDMuNDggMi4xNDMgMS4zMy40OTQgMi44MDIuNzQ0IDQuMzc0Ljc0NCAxLjQ2NCAwIDIuOTItLjE1MiA0LjMzLS40NTJhMTYuMDU0IDE2LjA1NCAwIDAgMCA0LjA5LTEuNDc4bC4xNzctLjA5VjM3LjczM2gtOC4zNjZ6Ii8+PC9nPjwvc3ZnPg==';\n\nexport {DOCUMENTEN_API_PLUGIN_LOGO_BASE64};\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport * from './documenten-api-plugin-logo';\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {PluginSpecification} from '../../models';\nimport {StoreTempDocumentConfigurationComponent} from './components/store-temp-document/store-temp-document-configuration.component';\nimport {DOCUMENTEN_API_PLUGIN_LOGO_BASE64} from './assets';\nimport {DocumentenApiConfigurationComponent} from './components/documenten-api-configuration/documenten-api-configuration.component';\nimport {StoreUploadedDocumentConfigurationComponent} from './components/store-uploaded-document/store-uploaded-document-configuration.component';\nimport {DownloadDocumentConfigurationComponent} from './components/download-document/download-document-configuration.component';\nimport {StoreUploadedDocumentInPartsConfigurationComponent} from './components/store-uploaded-document-in-parts/store-uploaded-document-in-parts-configuration.component';\n\nconst documentenApiPluginSpecification: PluginSpecification = {\n pluginId: 'documentenapi',\n pluginConfigurationComponent: DocumentenApiConfigurationComponent,\n pluginLogoBase64: DOCUMENTEN_API_PLUGIN_LOGO_BASE64,\n functionConfigurationComponents: {\n 'store-temp-document': StoreTempDocumentConfigurationComponent,\n 'store-uploaded-document': StoreUploadedDocumentConfigurationComponent,\n 'store-uploaded-document-in-parts': StoreUploadedDocumentInPartsConfigurationComponent,\n 'download-document': DownloadDocumentConfigurationComponent,\n },\n pluginTranslations: {\n nl: {\n title: 'Documenten API',\n description: 'API voor opslag en ontsluiting van documenten en daarbij behorende metadata.',\n 'store-temp-document': 'Document opslaan',\n 'store-uploaded-document': 'Geupload document opslaan',\n 'store-uploaded-document-in-parts': 'Geupload document opslaan in bestandsdelen',\n 'download-document': 'Download document',\n storeUploadedDocumentMessage:\n 'Het opslaan van een geupload document heeft geen configuratie nodig.',\n storeUploadedDocumentInPartsMessage:\n 'Het opslaan van een geupload document in bestandsdelen heeft geen configuratie nodig',\n configurationTitle: 'Configuratienaam',\n configurationTitleTooltip:\n 'Hier kunt je een eigen naam verzinnen. Onder deze naam zal de plugin te herkennen zijn in de rest van de applicatie',\n url: 'Documenten API URL',\n urlTooltip:\n 'In dit veld moet de verwijzing komen naar de REST API van Documenten. Deze url moet dus eindigen op /documenten/api/v1/',\n bronorganisatie: 'Bronorganisatie RSIN',\n bronorganisatieTooltip:\n 'Vul hier het RSIN van de organisatie in die verantwoordelijk is voor de documenten',\n fileName: 'Bestandsnaam',\n fileNameTooltip:\n 'De naam van het fysieke bestand waarin de inhoud van het document is vastgelegd, inclusief extensie',\n confidentialityLevel: 'Vertrouwelijkheidsaanduiding',\n confidentialityLevelTooltip:\n 'Aanduiding van de mate waarin het document voor de openbaarheid bestemd is',\n inputTitle: 'Titel',\n inputTitleTooltip: 'De naam waaronder het document formeel bekend is',\n inputDescription: 'Beschrijving',\n inputDescriptionTooltip: 'Een generieke beschrijving van de inhoud van het document',\n openbaar: 'Openbaar',\n beperkt_openbaar: 'Beperkt openbaar',\n intern: 'Intern',\n zaakvertrouwelijk: 'Zaakvertrouwelijk',\n vertrouwelijk: 'Vertrouwelijk',\n confidentieel: 'Confidentieel',\n geheim: 'Geheim',\n zeer_geheim: 'Zeer geheim',\n localDocumentLocation: 'Naam procesvariabele met document',\n localDocumentLocationTooltip:\n 'Hier moet de procesvariabele ingevuld worden die wijst naar de locatie waar het document lokaal staat opgeslagen',\n storedDocumentUrl: 'Naam procesvariabele voor opslag document-URL',\n storeDocumentUrlTooltip:\n 'Nadat het document geupload is naar de Documenten API zal de applicatie in deze procesvariabele de URL naar het document opslaan.',\n taal: 'Taal',\n status: 'Status',\n informatieobjecttype: 'URL naar het informatieobjecttype',\n informatieobjecttypeTooltip:\n 'Vul in dit veld de volledige URL naar een informatieobjecttype van een Zaak catalogus. Deze URL moet dus eindigen op /catalogi/api/v1/informatieobjecttypen/{uuid}',\n nld: 'Nederlands',\n in_bewerking: 'In bewerking',\n ter_vaststelling: 'Ter vaststelling',\n definitief: 'Definitief',\n gearchiveerd: 'Gearchiveerd',\n authenticationPluginConfiguration: 'Configuratie authenticatie-plug-in',\n authenticationPluginConfigurationTooltip:\n 'Selecteer de plugin die de authenticatie kan afhandelen. Wanneer de selectiebox leeg blijft zal de authenticatie plugin (bv. OpenZaak) eerst aangemaakt moeten worden',\n apiVersion: 'Documenten API versie',\n apiVersionTooltip: 'Selecteer de versie van de Documenten API',\n downloadDocumentMessage:\n 'Het downloaden van een document vanuit de Documenten API vereist geen configuratie.',\n processVariableName:\n 'Wat is de naam van de procesvariabele waarnaar u het document wilt downloaden?',\n },\n en: {\n title: 'Documenten API',\n description: 'API for storing and accessing documents and associated metadata.',\n 'store-temp-document': 'Save document',\n 'store-uploaded-document': 'Save uploaded document',\n 'store-uploaded-document-in-parts': 'Save uploaded document in parts',\n 'download-document': 'Download document',\n storeUploadedDocumentMessage:\n 'Saving an uploaded document does not require any configuration.',\n storeUploadedDocumentInPartsMessage:\n 'Saving an uploaded document in parts does not require any configuration.',\n configurationTitle: 'Configuration name',\n configurationTitleTooltip:\n 'Here you can enter a name for the plugin. This name will be used to recognize the plugin throughout the rest of the application',\n url: 'Documenten API URL',\n urlTooltip:\n 'This field must contain the URL to the REST API of Documenten, therefore this URL should end with /documenten/api/v1/',\n bronorganisatie: 'Organisation RSIN',\n bronorganisatieTooltip:\n 'Enter here the RSIN of the organization responsible for the documents. The RSIN is a dutch identification number for legal entities and partnerships ',\n fileName: 'File name',\n fileNameTooltip:\n 'The name of the physical file in which the content of the document is captured, including extension',\n confidentialityLevel: 'Confidentiality level',\n confidentialityLevelTooltip:\n 'Indication of the extent to which the document is intended for public access',\n inputTitle: 'Title',\n inputTitleTooltip: 'The name by which the document is formally known',\n inputDescription: 'Description',\n inputDescriptionTooltip: 'A generic description of the content of the document',\n openbaar: 'Public',\n beperkt_openbaar: 'Restricted public',\n intern: 'Internal',\n zaakvertrouwelijk: 'Case confidential',\n vertrouwelijk: 'Private',\n confidentieel: 'Confidential',\n geheim: 'Secret',\n zeer_geheim: 'Very secret',\n localDocumentLocation: 'Name of process variable with document',\n localDocumentLocationTooltip:\n 'Enter the process variable that points to the location where the document is stored locally',\n storedDocumentUrl: 'Process variable name for storing document URL',\n storeDocumentUrlTooltip:\n 'After the document has been uploaded to the Documenten API, the application will store the URL to the document in this process variable.',\n taal: 'Language',\n status: 'Status',\n informatieobjecttype: 'URL to the informationobjecttype',\n informatieobjecttypeTooltip:\n 'Enter the full URL to an information object type of a Zaak catalog in this field. So this URL must end with /catalogi/api/v1/informatieobjecttypen/{uuid}',\n nld: 'Dutch',\n in_bewerking: 'Editing',\n ter_vaststelling: 'To be confirmed',\n definitief: 'Final',\n gearchiveerd: 'Archived',\n authenticationPluginConfiguration: 'Authentication plugin configuration',\n authenticationPluginConfigurationTooltip:\n 'Select the plugin that can handle the authentication. If the selection box remains empty, the authentication plugin (e.g. OpenZaak) will have to be created first',\n apiVersion: 'Documenten API version',\n apiVersionTooltip: 'Select the version of the Documenten API',\n downloadDocumentMessage:\n 'Downloading a document form the Documenten API does not require any configuration.',\n processVariableName:\n 'What is the name of the process variable you want to download the document to?',\n },\n de: {\n title: 'Documenten API',\n description: 'API zum Speichern und Zugreifen auf Dokumente und zugehörige Metadaten.',\n 'store-temp-document': 'Dokument speichern',\n 'store-uploaded-document': 'Hochgeladenes Dokument speichern',\n 'store-uploaded-document-in-parts': 'Hochgeladenes Dokument in Teilen speichern',\n 'download-document': 'Dokument herunterladen',\n storeUploadedDocumentMessage:\n 'Das Speichern eines hochgeladenen Dokuments erfordert keine Konfiguration.',\n storeUploadedDocumentInPartsMessage:\n 'Das Speichern eines hochgeladenen Dokuments in Teilen erfordert keine Konfiguration.',\n configurationTitle: 'Konfigurationsname',\n configurationTitleTooltip:\n 'Hier können Sie einen Namen für das Plugin eingeben. Dieser Name wird verwendet, um das Plugin im Rest der Anwendung zu erkennen',\n url: 'Documenten API URL',\n urlTooltip:\n 'Dieses Feld muss die URL zur REST API von Documenten enthalten, daher sollte diese URL mit enden /documenten/api/v1/',\n bronorganisatie: 'Organisation RSIN',\n bronorganisatieTooltip:\n 'Geben Sie hier den RAIN der für die Dokumente verantwortlichen Organisation ein. Der RAIN ist eine niederländische Identifikationsnummer für juristische Personen und Personengesellschaften',\n fileName: 'Dateiname',\n fileNameTooltip:\n 'Der Name der physischen Datei, in der der Inhalt des Dokuments erfasst wird, einschließlich Erweiterung',\n confidentialityLevel: 'Vertraulichkeitshinweis',\n confidentialityLevelTooltip:\n 'Angabe, inwieweit das Dokument für die Öffentlichkeit bestimmt ist',\n inputTitle: 'Titel',\n inputTitleTooltip: 'Der Name, unter dem das Dokument offiziell bekannt ist',\n inputDescription: 'Beschreibung',\n inputDescriptionTooltip: 'Eine allgemeine Beschreibung des Inhalts des Dokuments',\n openbaar: 'Öffentlichkeit',\n beperkt_openbaar: 'Eingeschränkt_öffentlich',\n intern: 'Intern',\n zaakvertrouwelijk: 'Geschäftlich vertraulich',\n vertrouwelijk: 'Vertraulich',\n confidentieel: 'Geheim',\n geheim: 'Geheimnis',\n zeer_geheim: 'Sehr geheim',\n localDocumentLocation: 'Name Prozessvariable mit Dokument',\n localDocumentLocationTooltip:\n 'Geben Sie die Prozessvariable ein, die auf den Ort zeigt, an dem das Dokument lokal gespeichert ist',\n storedDocumentUrl: 'Name der Prozessvariablen zum Speichern der Dokument-URL',\n storeDocumentUrlTooltip:\n 'Nachdem das Dokument in die Dokumenten-API hochgeladen wurde, speichert die Anwendung die URL zum Dokument in dieser Prozessvariablen.',\n taal: 'Sprache',\n status: 'Status',\n informatieobjecttype: 'URL zum Informationsobjekttyp',\n informatieobjecttypeTooltip:\n 'Geben Sie in diesem Feld die vollständige URL zu einem Informationsobjekttyp eines Case Katalogs. Diese URL muss daher mit enden /catalogi/api/v1/informatieobjecttypen/{uuid}',\n nld: 'Niederländisch',\n in_bewerking: 'In Bearbeitung',\n ter_vaststelling: 'Zu bestimmen',\n definitief: 'Endgültig',\n gearchiveerd: 'Archiviert',\n authenticationPluginConfiguration: 'Authentifizierungs-Plugin-Konfiguration',\n authenticationPluginConfigurationTooltip:\n 'Wählen Sie das Plugin aus, das die Authentifizierung verarbeiten kann. Bleibt das Auswahlfeld leer, muss zunächst das Authentifizierungs-Plugin (z. B. OpenZaak) erstellt werden',\n apiVersion: 'Documenten-API-Version',\n apiVersionTooltip: 'Wählen Sie die Version der Documenten-API aus',\n downloadDocumentMessage:\n 'Das Herunterladen eines Dokuments aus der Documenten-API erfordert keine Konfiguration.',\n processVariableName:\n 'Wie lautet der Name der Prozessvariablen, in die Sie das Dokument herunterladen möchten?',\n },\n },\n};\n\nexport {documentenApiPluginSpecification};\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {PluginConfigurationData} from '../../../models';\n\ninterface DocumentenApiConfig extends PluginConfigurationData {\n url: string;\n bronorganisatie: string;\n authenticationPluginConfiguration: string;\n apiVersion?: string;\n}\n\ntype ConfidentialityLevel =\n | 'openbaar'\n | 'beperkt_openbaar'\n | 'intern'\n | 'zaakvertrouwelijk'\n | 'vertrouwelijk'\n | 'confidentieel'\n | 'geheim'\n | 'zeer_geheim';\n\ntype DocumentLanguage = 'nld';\n\ntype DocumentStatus = 'in_bewerking' | 'ter_vaststelling' | 'definitief' | 'gearchiveerd';\n\ninterface StoreTempDocumentConfig {\n fileName: string;\n confidentialityLevel: ConfidentialityLevel;\n title: string;\n description: string;\n localDocumentLocation: string;\n storedDocumentUrl: string;\n taal: DocumentLanguage;\n status: DocumentStatus;\n informatieobjecttype: string;\n}\n\ninterface DocumentenApiManagementAllVersions {\n versions: Array<string>;\n}\n\nexport interface DownloadDocumentConfig {\n processVariableName: string;\n}\n\nexport {\n DocumentenApiConfig,\n StoreTempDocumentConfig,\n ConfidentialityLevel,\n DocumentLanguage,\n DocumentStatus,\n DocumentenApiManagementAllVersions,\n};\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {PluginConfigurationComponent} from '../../../../models';\nimport {BehaviorSubject, combineLatest, map, Observable, Subscription, take} from 'rxjs';\nimport {ObjecttypenApiConfig} from '../../models';\nimport {PluginManagementService, PluginTranslationService} from '../../../../services';\nimport {TranslateService} from '@ngx-translate/core';\n\n@Component({\n standalone: false,\n selector: 'valtimo-objecttypen-api-configuration',\n templateUrl: './objecttypen-api-configuration.component.html',\n styleUrls: ['./objecttypen-api-configuration.component.scss'],\n})\nexport class ObjecttypenApiConfigurationComponent\n implements PluginConfigurationComponent, OnInit, OnDestroy\n{\n @Input() save$: Observable<void>;\n @Input() disabled$: Observable<boolean>;\n @Input() pluginId: string;\n @Input() prefillConfiguration$: Observable<ObjecttypenApiConfig>;\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() configuration: EventEmitter<ObjecttypenApiConfig> =\n new EventEmitter<ObjecttypenApiConfig>();\n\n private saveSubscription!: Subscription;\n\n private readonly formValue$ = new BehaviorSubject<ObjecttypenApiConfig | null>(null);\n private readonly valid$ = new BehaviorSubject<boolean>(false);\n\n readonly authenticationPluginSelectItems$: Observable<Array<{id: string; text: string}>> =\n combineLatest([\n this.pluginManagementService.getPluginConfigurationsByCategory('objecten-api-authentication'),\n this.translateService.stream('key'),\n ]).pipe(\n map(([configurations]) =>\n configurations.map(configuration => ({\n id: configuration.id,\n text: `${configuration.title} - ${this.pluginTranslationService.instant(\n 'title',\n configuration.pluginDefinition.key\n )}`,\n }))\n )\n );\n\n constructor(\n private readonly pluginManagementService: PluginManagementService,\n private readonly translateService: TranslateService,\n private readonly pluginTranslationService: PluginTranslationService\n ) {}\n\n ngOnInit(): void {\n this.openSaveSubscription();\n }\n\n ngOnDestroy() {\n this.saveSubscription?.unsubscribe();\n }\n\n formValueChange(formValue: ObjecttypenApiConfig): void {\n this.formValue$.next(formValue);\n this.handleValid(formValue);\n }\n\n private handleValid(formValue: ObjecttypenApiConfig): void {\n const valid = !!(\n formValue.configurationTitle &&\n formValue.url &&\n formValue.authenticationPluginConfiguration\n );\n\n this.valid$.next(valid);\n this.valid.emit(valid);\n }\n\n private openSaveSubscription(): void {\n this.saveSubscription = this.save$?.subscribe(save => {\n combineLatest([this.formValue$, this.valid$])\n .pipe(take(1))\n .subscribe(([formValue, valid]) => {\n if (valid) {\n this.configuration.emit(formValue);\n }\n });\n });\n }\n}\n","<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null,\n } as obs\"\n>\n <v-input\n name=\"configurationTitle\"\n [title]=\"'configurationTitle' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.configurationTitle\"\n [required]=\"true\"\n [trim]=\"true\"\n [tooltip]=\"'configurationTitleTooltip' | pluginTranslate: pluginId | async\"\n placeholder=\"Objecttypen API Plugin\"\n >\n </v-input>\n <v-input\n name=\"url\"\n [title]=\"'url' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.url\"\n [required]=\"true\"\n [trim]=\"true\"\n [tooltip]=\"'urlTooltip' | pluginTranslate: pluginId | async\"\n placeholder=\"https://objecttypen.example.com/api/v2/\"\n >\n </v-input>\n <ng-container\n *ngIf=\"{authenticationPluginSelectItems: authenticationPluginSelectItems$ | async} as authObs\"\n >\n <v-select\n [items]=\"authObs.authenticationPluginSelectItems\"\n [margin]=\"true\"\n name=\"authenticationPluginConfiguration\"\n [title]=\"'authenticationPluginConfiguration' | pluginTranslate: pluginId | async\"\n [disabled]=\"obs.disabled\"\n [defaultSelectionId]=\"obs.prefill?.authenticationPluginConfiguration\"\n [required]=\"true\"\n [loading]=\"!authObs.authenticationPluginSelectItems\"\n ></v-select>\n </ng-container>\n</v-form>\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {NgModule} from '@angular/core';\nimport {ObjecttypenApiConfigurationComponent} from './components/objecttypen-api-configuration/objecttypen-api-configuration.component';\nimport {CommonModule} from '@angular/common';\nimport {PluginTranslatePipeModule} from '../../pipes';\nimport {FormModule, InputModule, ParagraphModule, SelectModule} from '@valtimo/components';\n\n@NgModule({\n declarations: [ObjecttypenApiConfigurationComponent],\n imports: [\n CommonModule,\n PluginTranslatePipeModule,\n FormModule,\n InputModule,\n SelectModule,\n ParagraphModule,\n ],\n exports: [ObjecttypenApiConfigurationComponent],\n})\nexport class ObjecttypenApiPluginModule {}\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nconst OBJECTTYPEN_API_PLUGIN_LOGO_BASE64 =\n 'data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyBpZD0iTGF5ZXJfMiIgZGF0YS1uYW1lPSJMYXllciAyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAzNDMuMDggMTgwLjIxIj4KICA8ZGVmcz4KICAgIDxzdHlsZT4KICAgICAgLmNscy0xIHsKICAgICAgICBmaWxsOiAjZmZiYzJkOwogICAgICB9CiAgICA8L3N0eWxlPgogIDwvZGVmcz4KICA8ZyBpZD0iTGF5ZXJfMS0yIiBkYXRhLW5hbWU9IkxheWVyIDEiPgogICAgPHBhdGggY2xhc3M9ImNscy0xIiBkPSJtMTQyLjgxLDcxLjgxYy04LjAyLTcuNjUtMTcuMzEtMTIuODQtMjguNTgtMTMuMDUtMTQuMDItLjI2LTMwLjQ4LDEwLjExLTMzLjQzLDI3LjM2LTEuNDIsOC4yOS42NSwxNS45NCw1LjY4LDIyLjYyLDcuNTEsOS45OCwxNy42NSwxNS41MywzMC4xNCwxNS41OSwxMi4yMS4wNiwyMy4yNC00LjA2LDMyLjk4LTExLjUsMi45OS0yLjI4LDUuNzgtNC43Nyw4LjM4LTcuNDguNi0uNjMsMS4yMi0xLjI2LDEuOTItMS43OC44OS0uNjUsMS44OS0uNzksMi42Ny4xNy43Ljg3LjE2LDEuNjYtLjQzLDIuMzMtMy42NCw0LjEzLTcuNDgsOC4wNC0xMS44MywxMS40NS0xMC4zNyw4LjE0LTIyLjE5LDEyLjYzLTM1LjI2LDEyLjgzLTIxLjAzLjMyLTQxLjIyLTE1LjY2LTQzLjctMzYuNTgtMS45NS0xNi41NCw0LjcxLTI5LjI4LDE3LjU3LTM4LjkxLDE1LjQ3LTExLjU3LDMyLjM3LTExLjgyLDQ5LjY4LTQuNjcsMTcuMTUsNy4wOCwzMC4yMywxOS4xNiw0MC43LDM0LjI1LDcuMSwxMC4yMywxNS4yMywxOS40NywyNS4zNiwyNi44Miw2LjE3LDQuNDgsMTIuOTUsNy41NywyMC41NCw4LjQ4LDExLjE0LDEuMzQsMjUuNjYtNC4xNCwzMi40Ny0xNi42Miw2LjItMTEuMzYsNC4zNi0yNS41Mi00LjU1LTM1LjEyLTkuNTktMTAuMzMtMjEuMzktMTQuMDMtMzUuMjctMTEuOTMtMTIuNiwxLjkxLTIzLjAzLDcuOC0zMi4wMywxNi41NS0uNzIuNy0xLjM3LDEuNDYtMi4xMywyLjExLTEuMDQuODktMS45OCwyLjk5LTMuNTYsMS41MS0xLjM1LTEuMjguMS0yLjc3LDEuMDUtMy44NywxMC40NS0xMi4wOCwyMi45OC0yMC42MiwzOS4xNS0yMi45OSwxOC4wNi0yLjY1LDMyLjgxLDMuMzQsNDMuODUsMTcuNjUsMTMuMDMsMTYuODksMTAuNDEsNDMuOTEtOS44Myw1OC4zNC0xNS4yMiwxMC44NS0zMS43MiwxMS44MS00OC43OSw1LjM4LTE2LjUyLTYuMjMtMjkuMjYtMTcuNDktMzkuNTEtMzEuNjItNS41Ny03LjY5LTEwLjg5LTE1LjU1LTE3LjYtMjIuMzNsLTUuNjItNS4wMloiLz4KICAgIDxwYXRoIGQ9Im0zMjMuNDYsODkuNjVjLTEuMy0uMzUtMi42MS0uNy0zLjkxLTEuMDUtMTEuOTEtMy4yMy0xOC4zMS0xMS4yNi0xOC41LTIzLjYyLS4xNi05Ljg3LS4wMy0xOS43NS0uMDYtMjkuNjIsMC0xLjg3LjAzLTMuNzctLjI4LTUuNjEtMS41NS04Ljk4LTcuNzUtMTQuMzEtMTcuNzItMTUuMzlxLTQuODItLjUyLTQuODItNS4zOWMwLTIuMjUuMDYtNC41LS4wMi02Ljc1LS4wNS0xLjQ4LjItMi4yNSwyLTIuMjEsOC41MS4xNywxNi42MywxLjgxLDIzLjkyLDYuMzgsOS43OCw2LjEzLDEzLjg0LDE1LjM5LDEzLjk3LDI2LjU5LjExLDkuNS4wMiwxOSwuMDMsMjguNSwwLDEuNjItLjAxLDMuMjUuMDksNC44Ny40NSw3LjI0LDQuMDksMTIuMTUsMTAuOTIsMTQuNiwzLjU1LDEuMjcsNy4yNywxLjg1LDExLjAyLDEuOSwyLjE1LjAzLDMuMTUuNTUsMi45NSwyLjk5LS4yNSwzLjEtLjE0LDYuMjUtLjAzLDkuMzcuMDYsMS42My0uNTUsMi4yLTIuMTQsMi4yMS0zLjUuMDItNi45Ni40MS0xMC4zNCwxLjQ3LTguMjksMi42Mi0xMi4yNCw3LjUtMTIuNCwxNi4xNC0uMTgsMTAtLjA5LDIwLS4wNywzMCwwLDMuNTEtLjIsNy4wMS0uOTQsMTAuNDMtMi4xNSw5Ljg4LTguMTUsMTYuNjUtMTcuMjgsMjAuNy02LjAxLDIuNjctMTIuMzksMy42NC0xOC45Myw0LjA0LTIuNS4xNS0yLjk1LS43NC0yLjgxLTIuOTIuMTctMi42MS4wMy01LjI1LjA0LTcuODcuMDItMy4yNy4wMy0zLjMyLDMuMTYtMy40OCwyLjM5LS4xMiw0LjcxLS41Niw2Ljk4LTEuMjUsOC4yNi0yLjUzLDEyLjQ2LTcuODIsMTIuNjEtMTYuNDguMTgtMTAuMzcuMS0yMC43NS4wNi0zMS4xMi0uMDEtMy4xNS4yNy02LjI1LDEtOS4yOSwxLjkyLTguMDQsNy4zNC0xMi43OSwxNC45MS0xNS4zNywyLjE4LS43NCw0LjQyLTEuMyw2LjYzLTEuOTQtLjAyLS4yOC0uMDQtLjU1LS4wNS0uODNaIi8+CiAgICA8cGF0aCBkPSJtMTkuMjYsOTAuNDdjMi4xLjYyLDQuMjMsMS4xNyw2LjMsMS44OSw5Ljk4LDMuNDMsMTUuNjIsMTAuNjMsMTUuOTcsMjEuMi4zMywxMC4yNC4xNCwyMC40OS4yMywzMC43My4wMiwyLjI0LjE1LDQuNS40NCw2LjcyLjc3LDUuOTEsMy45LDEwLjE1LDkuMzgsMTIuNTYsMy4zNCwxLjQ3LDYuODcsMi4zNywxMC41MiwyLjMxLDIuMzUtLjA0LDMuMDEuODUsMi44NywzLjA4LS4xOCwyLjk5LS4wOCw2LS4wMyw4Ljk5LjAzLDEuNDItLjEsMi4yOS0xLjk2LDIuMjMtOC4wOS0uMjYtMTUuOTEtMS42Mi0yMy4wNC01LjYyLTkuNi01LjM5LTE0LjY2LTEzLjc2LTE0Ljk1LTI0LjcxLS4yOC0xMC4zNi0uMDktMjAuNzQtLjEtMzEuMTEsMC0yLjM4LS4xNC00LjczLS41Ni03LjA4LS45OS01LjYyLTQuMDctOS41My05LjI5LTExLjc4LTMuODMtMS42Ni03Ljg3LTIuNDYtMTIuMDItMi40Mi0yLjIuMDItMy4xNi0uNTUtMy0yLjk1LjIxLTMuMTEuMTMtNi4yNS4wMi05LjM3LS4wNi0xLjY1LjU4LTIuMTYsMi4xNC0yLjI1LDIuNjEtLjE0LDUuMjEtLjMyLDcuOC0uOSwxMC4xMi0yLjI1LDE0LjczLTcuNjYsMTQuODYtMTguMDcuMTMtMTAuNDkuMDYtMjAuOTkuMDMtMzEuNDktLjAxLTQuNjguOC05LjE4LDIuNzItMTMuNDYsMy4wMS02LjY4LDguMTYtMTEuMjQsMTQuNjQtMTQuMzlDNDguNjIsMS40Nyw1NS40NC4yNCw2Mi41MSwwYzIuMS0uMDcsMi41Mi42NywyLjQ0LDIuNTMtLjEyLDIuOTktLjE2LDYsLjAxLDguOTkuMTEsMi4wMi0uNjcsMi42Ni0yLjU2LDIuNjgtMi44OS4wMy01LjY5LjYyLTguNDMsMS41Ny03LjA2LDIuNDQtMTEuMTMsNy4zLTExLjksMTQuNzgtLjE5LDEuODYtLjMyLDMuNzMtLjMzLDUuNi0uMDYsOS44Ny4xMywxOS43NS0uMTYsMjkuNjEtLjM2LDEyLjA4LTYuNjgsMTkuNjgtMTguNCwyMi44NC0xLjMuMzUtMi42MS43MS0zLjkxLDEuMDYsMCwuMjctLjAyLjUzLS4wMi44WiIvPgogIDwvZz4KPC9zdmc+';\nexport {OBJECTTYPEN_API_PLUGIN_LOGO_BASE64};\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport * from './objecttypen-api-plugin-logo';\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {PluginSpecification} from '../../models';\nimport {ObjecttypenApiConfigurationComponent} from './components/objecttypen-api-configuration/objecttypen-api-configuration.component';\nimport {OBJECTTYPEN_API_PLUGIN_LOGO_BASE64} from './assets';\n\nconst objecttypenApiPluginSpecification: PluginSpecification = {\n pluginId: 'objecttypenapi',\n pluginConfigurationComponent: ObjecttypenApiConfigurationComponent,\n pluginLogoBase64: OBJECTTYPEN_API_PLUGIN_LOGO_BASE64,\n\n pluginTranslations: {\n nl: {\n title: 'Objecttypen API',\n url: 'Objecttypen API URL',\n urlTooltip: 'In dit veld moet de verwijzing komen naar de REST API van Objecttypen',\n description:\n 'Met de Overige Objecten Registratie API-specificaties (Objecttypen) kunnen gemeenten eenduidig objecten registreren, opslaan en ontsluiten.',\n configurationTitle: 'Configuratienaam',\n configurationTitleTooltip:\n 'Onder deze naam zal de plugin te herkennen zijn in de rest van de applicatie',\n authenticationPluginConfiguration: 'Configuratie authenticatie-plug-in',\n },\n en: {\n title: 'Objecttypen API',\n url: 'Objecttypen API URL',\n urlTooltip: 'This field must contain the URL to the REST API of Objecttypen',\n description:\n 'With the Other Objects Registration API specifications (Object types), municipalities can unambiguously register, store and access objects.',\n configurationTitle: 'Configuration name',\n configurationTitleTooltip:\n 'With this name the plugin will be recognizable in the rest of the application',\n authenticationPluginConfiguration: 'Authentication plugin configuration',\n },\n de: {\n title: 'Objecttypen API',\n url: 'Objecttypen API URL',\n urlTooltip: 'Dieses Feld muss die URL zur REST API von Objecttypen enthalten',\n description:\n 'Mit den Spezifikationen der Other Objects Registration API (Objekttypen) können Kommunen Objekte eindeutig registrieren, speichern und darauf zugreifen.',\n configurationTitle: 'Konfigurationsname',\n configurationTitleTooltip:\n 'An diesem Namen wird das Plugin im Rest der Anwendung erkennbar sein',\n authenticationPluginConfiguration: 'Authentifizierungs-Plugin-Konfiguration',\n },\n },\n};\n\nexport {objecttypenApiPluginSpecification};\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {PluginConfigurationComponent} from '../../../../models';\nimport {BehaviorSubject, combineLatest, map, Observable, Subscription, take} from 'rxjs';\nimport {PluginManagementService, PluginTranslationService} from '../../../../services';\nimport {TranslateService} from '@ngx-translate/core';\nimport {ZakenApiConfig} from '../../models';\n\n@Component({\n standalone: false,\n selector: 'valtimo-zaken-api-configuration',\n templateUrl: './zaken-api-configuration.component.html',\n styleUrls: ['./zaken-api-configuration.component.scss'],\n})\nexport class ZakenApiConfigurationComponent\n implements PluginConfigurationComponent, OnInit, OnDestroy\n{\n @Input() save$: Observable<void>;\n @Input() disabled$: Observable<boolean>;\n @Input() pluginId: string;\n @Input() prefillConfiguration$: Observable<ZakenApiConfig>;\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() configuration: EventEmitter<ZakenApiConfig> = new EventEmitter<ZakenApiConfig>();\n\n private saveSubscription!: Subscription;\n\n private readonly formValue$ = new BehaviorSubject<ZakenApiConfig | null>(null);\n private readonly valid$ = new BehaviorSubject<boolean>(false);\n\n readonly authenticationPluginSelectItems$: Observable<Array<{id: string; text: string}>> =\n combineLatest([\n this.pluginManagementService.getPluginConfigurationsByCategory('zaken-api-authentication'),\n this.translateService.stream('key'),\n ]).pipe(\n map(([configurations]) =>\n configurations.map(configuration => ({\n id: configuration.id,\n text: `${configuration.title} - ${this.pluginTranslationService.instant(\n 'title',\n configuration.pluginDefinition.key\n )}`,\n }))\n )\n );\n\n constructor(\n private readonly pluginManagementService: PluginManagementService,\n private readonly translateService: TranslateService,\n private readonly pluginTranslationService: PluginTranslationService\n ) {}\n\n ngOnInit(): void {\n this.openSaveSubscription();\n }\n\n ngOnDestroy() {\n this.saveSubscription?.unsubscribe();\n }\n\n formValueChange(formValue: ZakenApiConfig): void {\n this.formValue$.next(formValue);\n this.handleValid(formValue);\n }\n\n private handleValid(formValue: ZakenApiConfig): void {\n const valid = !!(\n formValue.configurationTitle &&\n formValue.url &&\n formValue.authenticationPluginConfiguration\n );\n\n this.valid$.next(valid);\n this.valid.emit(valid);\n }\n\n private openSaveSubscription(): void {\n this.saveSubscription = this.save$?.subscribe(save => {\n combineLatest([this.formValue$, this.valid$])\n .pipe(take(1))\n .subscribe(([formValue, valid]) => {\n if (valid) {\n this.configuration.emit(formValue);\n }\n });\n });\n }\n}\n","<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null,\n } as obs\"\n>\n <v-input\n name=\"configurationTitle\"\n [title]=\"'configurationTitle' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.configurationTitle\"\n [required]=\"true\"\n [trim]=\"true\"\n [tooltip]=\"'configurationTitleTooltip' | pluginTranslate: pluginId | async\"\n placeholder=\"Zaken API Plugin\"\n >\n </v-input>\n <v-input\n name=\"url\"\n [title]=\"'url' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.url\"\n [required]=\"true\"\n [trim]=\"true\"\n [tooltip]=\"'urlTooltip' | pluginTranslate: pluginId | async\"\n placeholder=\"https://openzaak.example.com/zaken/api/v1/ \"\n >\n </v-input>\n <ng-container\n *ngIf=\"{authenticationPluginSelectItems: authenticationPluginSelectItems$ | async} as authObs\"\n >\n <v-select\n [loading]=\"!authObs.authenticationPluginSelectItems\"\n [items]=\"authObs.authenticationPluginSelectItems\"\n [margin]=\"true\"\n name=\"authenticationPluginConfiguration\"\n [title]=\"'authenticationPluginConfiguration' | pluginTranslate: pluginId | async\"\n [disabled]=\"obs.disabled\"\n [defaultSelectionId]=\"obs.prefill?.authenticationPluginConfiguration\"\n [required]=\"true\"\n [tooltip]=\"'authenticationPluginConfigurationTooltip' | pluginTranslate: pluginId | async\"\n ></v-select>\n </ng-container>\n</v-form>\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {FunctionConfigurationComponent} from '../../../../models';\nimport {BehaviorSubject, combineLatest, map, Observable, Subscription, take} from 'rxjs';\nimport {PluginManagementService, PluginTranslationService} from '../../../../services';\nimport {TranslateService} from '@ngx-translate/core';\nimport {LinkDocumentToZaakConfig} from '../../models';\n\n@Component({\n standalone: false,\n selector: 'valtimo-link-document-to-zaak-configuration',\n templateUrl: './link-document-to-zaak-configuration.component.html',\n styleUrls: ['./link-document-to-zaak-configuration.component.scss'],\n})\nexport class LinkDocumentToZaakConfigurationComponent\n implements FunctionConfigurationComponent, OnInit, OnDestroy\n{\n @Input() save$: Observable<void>;\n @Input() disabled$: Observable<boolean>;\n @Input() pluginId: string;\n @Input() prefillConfiguration$: Observable<LinkDocumentToZaakConfig>;\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() configuration: EventEmitter<LinkDocumentToZaakConfig> =\n new EventEmitter<LinkDocumentToZaakConfig>();\n\n private saveSubscription!: Subscription;\n\n private readonly formValue$ = new BehaviorSubject<LinkDocumentToZaakConfig | null>(null);\n private readonly valid$ = new BehaviorSubject<boolean>(false);\n\n readonly authenticationPluginSelectItems$: Observable<Array<{id: string; text: string}>> =\n combineLatest([\n this.pluginManagementService.getPluginConfigurationsByCategory('link-document-to-zaak'),\n this.translateService.stream('key'),\n ]).pipe(\n map(([configurations]) =>\n configurations.map(configuration => ({\n id: configuration.id,\n text: `${configuration.title} - ${this.pluginTranslationService.instant(\n 'title',\n configuration.pluginDefinition.key\n )}`,\n }))\n )\n );\n\n constructor(\n private readonly pluginManagementService: PluginManagementService,\n private readonly translateService: TranslateService,\n private readonly pluginTranslationService: PluginTranslationService\n ) {}\n\n ngOnInit(): void {\n this.openSaveSubscription();\n }\n\n ngOnDestroy() {\n this.saveSubscription?.unsubscribe();\n }\n\n formValueChange(formValue: LinkDocumentToZaakConfig): void {\n this.formValue$.next(formValue);\n this.handleValid(formValue);\n }\n\n private handleValid(formValue: LinkDocumentToZaakConfig): void {\n const valid = !!formValue.documentUrl;\n\n this.valid$.next(valid);\n this.valid.emit(valid);\n }\n\n private openSaveSubscription(): void {\n this.saveSubscription = this.save$?.subscribe(save => {\n combineLatest([this.formValue$, this.valid$])\n .pipe(take(1))\n .subscribe(([formValue, valid]) => {\n if (valid) {\n this.configuration.emit(formValue);\n }\n });\n });\n }\n}\n","<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-paragraph [margin]=\"true\" [italic]=\"true\">\n {{ 'linkDocumentInformation' | pluginTranslate: pluginId | async }}\n</v-paragraph>\n<v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null,\n } as obs\"\n>\n <v-input\n name=\"documentUrl\"\n [title]=\"'documentUrl' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.documentUrl\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n [trim]=\"true\"\n [tooltip]=\"'documentUrlTooltip' | pluginTranslate: pluginId | async\"\n [fullWidth]=\"true\"\n >\n </v-input>\n <v-input\n name=\"titel\"\n [title]=\"'titel' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.titel\"\n [disabled]=\"obs.disabled\"\n [required]=\"false\"\n [trim]=\"true\"\n [tooltip]=\"'titelTooltip' | pluginTranslate: pluginId | async\"\n [widthPx]=\"350\"\n >\n </v-input>\n <v-input\n name=\"beschrijving\"\n [title]=\"'beschrijving' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.beschrijving\"\n [disabled]=\"obs.disabled\"\n [required]=\"false\"\n [tooltip]=\"'beschrijvingTooltip' | pluginTranslate: pluginId | async\"\n [fullWidth]=\"true\"\n >\n </v-input>\n</v-form>\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {FunctionConfigurationComponent} from '../../../../models';\nimport {Observable, Subscription} from 'rxjs';\n\n@Component({\n standalone: false,\n selector: 'valtimo-link-uploaded-document-to-zaak-configuration',\n templateUrl: './link-uploaded-document-to-zaak-configuration.component.html',\n styleUrls: ['./link-uploaded-document-to-zaak-configuration.component.scss'],\n})\nexport class LinkUploadedDocumentToZaakConfigurationComponent\n implements FunctionConfigurationComponent, OnInit, OnDestroy\n{\n @Input() save$: Observable<void>;\n @Input() disabled$: Observable<boolean>;\n @Input() pluginId: string;\n @Input() prefillConfiguration$: Observable<any>;\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() configuration: EventEmitter<any> = new EventEmitter<any>();\n\n private saveSubscription!: Subscription;\n\n ngOnInit(): void {\n this.openSaveSubscription();\n this.emitValid();\n }\n\n ngOnDestroy(): void {\n this.saveSubscription?.unsubscribe();\n }\n\n private emitValid(): void {\n this.valid.emit(true);\n }\n\n private openSaveSubscription(): void {\n this.saveSubscription = this.save$?.subscribe(save => {\n this.configuration.emit({});\n });\n }\n}\n","<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-paragraph [center]=\"true\" [fullWidth]=\"true\">\n {{ 'linkUploadedDocumentToZaakMessage' | pluginTranslate: pluginId | async }}\n</v-paragraph>\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Injectable} from '@angular/core';\nimport {Observable} from 'rxjs';\nimport {HttpClient} from '@angular/common/http';\nimport {ConfigService} from '@valtimo/shared';\nimport {ResultaatType, StatusType} from '../models';\nimport {Eigenschap} from '../models/eigenschap';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ZakenApiService {\n private valtimoEndpointUri: string;\n\n constructor(\n private http: HttpClient,\n configService: ConfigService\n ) {\n this.valtimoEndpointUri = configService.config.valtimoApi.endpointUri;\n }\n\n public getStatusTypesByCaseAndVersion(\n caseDefinitionKey: string,\n versionTag: string\n ): Observable<Array<StatusType>> {\n return this.http.get<Array<StatusType>>(\n `${this.valtimoEndpointUri}v1/case-definition/${caseDefinitionKey}/version/${versionTag}/zaaktype/statustype`\n );\n }\n\n public getResultaatTypesByCaseAndVersion(\n caseDefinitionKey: string,\n versionTag: string\n ): Observable<Array<ResultaatType>> {\n return this.http.get<Array<ResultaatType>>(\n `${this.valtimoEndpointUri}v1/case-definition/${caseDefinitionKey}/version/${versionTag}/zaaktype/resultaattype`\n );\n }\n public getEigenschappenByCaseAndVersion(\n caseDefinitionKey: string,\n versionTag: string\n ): Observable<Array<Eigenschap>> {\n return this.http.get<Array<Eigenschap>>(\n `${this.valtimoEndpointUri}management/v1/case-definition/${caseDefinitionKey}/version/${versionTag}/catalogi-eigenschappen`\n );\n }\n}\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport * from './zaken-api.service';\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {FunctionConfigurationComponent} from '../../../../models';\nimport {\n BehaviorSubject,\n combineLatest,\n filter,\n Observable,\n Subject,\n Subscription,\n switchMap,\n take,\n tap,\n} from 'rxjs';\nimport {InputOption, SetZaakStatusConfig} from '../../models';\nimport {RadioValue, SelectItem} from '@valtimo/components';\nimport {map} from 'rxjs/operators';\nimport {ZakenApiService} from '../../services';\nimport {PluginTranslatePipe} from '../../../../pipes';\nimport {CaseManagementParams, ManagementContext} from '@valtimo/shared';\n\n@Component({\n standalone: false,\n selector: 'valtimo-set-zaak-status-configuration',\n templateUrl: './set-zaak-status-configuration.component.html',\n styleUrls: ['./set-zaak-status-configuration.component.scss'],\n providers: [PluginTranslatePipe],\n})\nexport class SetZaakStatusConfigurationComponent\n implements FunctionConfigurationComponent, OnInit, OnDestroy\n{\n @Input() save$: Observable<void>;\n @Input() disabled$: Observable<boolean>;\n @Input() set pluginId(value: string) {\n this.pluginId$.next(value);\n }\n @Input() prefillConfiguration$: Observable<SetZaakStatusConfig>;\n @Input() context$: Observable<[ManagementContext, CaseManagementParams]>;\n\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() configuration: EventEmitter<SetZaakStatusConfig> =\n new EventEmitter<SetZaakStatusConfig>();\n\n readonly clearStatusSelection$ = new Subject<void>();\n readonly loading$ = new BehaviorSubject<boolean>(true);\n readonly selectedInputOption$ = new BehaviorSubject<InputOption>('selection');\n readonly pluginId$ = new BehaviorSubject<string>('');\n readonly formValue$ = new BehaviorSubject<SetZaakStatusConfig | null>(null);\n readonly valid$ = new BehaviorSubject<boolean>(false);\n readonly statusTypeSelectItems$ = new BehaviorSubject<SelectItem[]>([]);\n\n readonly inputTypeOptions$: Observable<Array<RadioValue>> = this.pluginId$.pipe(\n filter(pluginId => !!pluginId),\n switchMap(pluginId =>\n combineLatest([\n this.pluginTranslatePipe.transform('selection', pluginId),\n this.pluginTranslatePipe.transform('text', pluginId),\n ])\n ),\n map(([selectionTranslation, textTranslation]) => [\n {value: 'selection', title: selectionTranslation},\n {value: 'text', title: textTranslation},\n ])\n );\n\n private readonly _subscriptions = new Subscription();\n\n constructor(\n private readonly zakenApiService: ZakenApiService,\n private readonly pluginTranslatePipe: PluginTranslatePipe\n ) {}\n\n public ngOnInit(): void {\n this.initContextHandling();\n this.initSaveHandling();\n }\n\n public ngOnDestroy(): void {\n this._subscriptions.unsubscribe();\n }\n\n public formValueChange(formValue: SetZaakStatusConfig): void {\n this.formValue$.next(formValue);\n this.handleValid(formValue);\n\n if (formValue.inputTypeZaakStatusToggle) {\n this.selectedInputOption$.next(formValue.inputTypeZaakStatusToggle);\n }\n }\n\n public oneSelectItem(selectItems: Array<SelectItem>): boolean {\n return Array.isArray(selectItems) && selectItems.length === 1;\n }\n\n private initContextHandling(): void {\n if (!this.context$) {\n return;\n }\n\n const contextSub = this.context$\n .pipe(\n filter(([context]) => {\n if (context === 'independent') {\n this.selectedInputOption$.next('text');\n this.loading$.next(false);\n }\n return context === 'case';\n }),\n switchMap(([_, params]) =>\n combineLatest([\n this.zakenApiService.getStatusTypesByCaseAndVersion(\n params.caseDefinitionKey,\n params.caseDefinitionVersionTag\n ),\n this.context$,\n ])\n ),\n tap(([statusTypeItems, params]) => {\n this.statusTypeSelectItems$.next(\n statusTypeItems.map(item => ({id: item.url, text: item.name}))\n );\n this.selectedInputOption$.next('selection');\n this.loading$.next(false);\n })\n )\n .subscribe();\n\n this._subscriptions.add(contextSub);\n }\n\n private initSaveHandling(): void {\n if (!this.save$) {\n return;\n }\n\n const saveSub = this.save$.subscribe(() => {\n combineLatest([this.formValue$, this.valid$])\n .pipe(take(1))\n .subscribe(([formValue, valid]) => {\n if (valid) {\n this.configuration.emit({\n statustoelichting: formValue.statustoelichting,\n statustypeUrl: formValue.statustypeUrl,\n });\n }\n });\n });\n\n this._subscriptions.add(saveSub);\n }\n\n private handleValid(formValue: SetZaakStatusConfig): void {\n const valid = !!formValue.statustypeUrl;\n this.valid$.next(valid);\n this.valid.emit(valid);\n }\n}\n","<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null,\n pluginId: pluginId$ | async,\n selectedInputOption: selectedInputOption$ | async,\n loading: loading$ | async,\n statusTypeItems: statusTypeSelectItems$ | async,\n context: context$ | async,\n } as obs\"\n>\n <ng-container *ngIf=\"obs.loading === false; else loading\">\n <v-input\n name=\"statustoelichting\"\n [title]=\"'statustoelichting' | pluginTranslate: obs.pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.statustoelichting\"\n [disabled]=\"obs.disabled\"\n [required]=\"false\"\n [tooltip]=\"'statustoelichtingTooltip' | pluginTranslate: obs.pluginId | async\"\n [fullWidth]=\"true\"\n >\n </v-input>\n\n <v-radio\n *ngIf=\"obs?.context?.[0] === 'case'\"\n name=\"inputTypeZaakStatusToggle\"\n [disabled]=\"obs.disabled\"\n [title]=\"'inputTypeZaakStatusToggle' | pluginTranslate: obs.pluginId | async\"\n [radioValues]=\"inputTypeOptions$ | async\"\n [defaultValue]=\"selectedInputOption$ | async\"\n [margin]=\"true\"\n >\n </v-radio>\n\n <v-input\n *ngIf=\"obs.selectedInputOption === 'text'\"\n name=\"statustypeUrl\"\n [title]=\"'statustypeUrl' | pluginTranslate: obs.pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.statustypeUrl\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n [trim]=\"true\"\n [tooltip]=\"'statustypeUrlTooltip' | pluginTranslate: obs.pluginId | async\"\n [fullWidth]=\"true\"\n >\n </v-input>\n\n <ng-container *ngIf=\"obs.selectedInputOption === 'selection'\">\n <v-select\n [items]=\"obs.statusTypeItems\"\n [margin]=\"true\"\n [widthInPx]=\"350\"\n name=\"statustypeUrl\"\n [title]=\"'statustypeUrlSelect' | pluginTranslate: obs.pluginId | async\"\n [disabled]=\"obs.disabled || obs.selectedInputOption === 'text' || !obs.statusTypeItems\"\n [defaultSelectionId]=\"obs.prefill?.statustypeUrl\"\n [required]=\"true\"\n [loading]=\"!obs.statusTypeItems\"\n [tooltip]=\"'statustypeUrlSelectTooltip' | pluginTranslate: obs.pluginId | async\"\n [clearSelectionSubject$]=\"clearStatusSelection$\"\n ></v-select>\n </ng-container>\n </ng-container>\n</v-form>\n\n<ng-template #loading>\n <div class=\"loading-container\">\n <cds-loading></cds-loading>\n </div>\n</ng-template>\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {FunctionConfigurationComponent} from '../../../../models';\nimport {\n BehaviorSubject,\n combineLatest,\n filter,\n Observable,\n Subject,\n Subscription,\n switchMap,\n take,\n tap,\n} from 'rxjs';\nimport {CreateZaakResultaatConfig, InputOption} from '../../models';\nimport {RadioValue, SelectItem} from '@valtimo/components';\nimport {map} from 'rxjs/operators';\nimport {ZakenApiService} from '../../services';\nimport {PluginTranslatePipe} from '../../../../pipes';\nimport {CaseManagementParams, ManagementContext} from '@valtimo/shared';\n\n@Component({\n standalone: false,\n selector: 'valtimo-create-zaak-resultaat-configuration',\n templateUrl: './create-zaak-resultaat-configuration.component.html',\n styleUrls: ['./create-zaak-resultaat-configuration.component.scss'],\n providers: [PluginTranslatePipe],\n})\nexport class CreateZaakResultaatConfigurationComponent\n implements FunctionConfigurationComponent, OnInit, OnDestroy\n{\n @Input() public save$: Observable<void>;\n @Input() public disabled$: Observable<boolean>;\n @Input() public set pluginId(value: string) {\n this.pluginId$.next(value);\n }\n @Input() public prefillConfiguration$: Observable<CreateZaakResultaatConfig>;\n @Input() public context$: Observable<[ManagementContext, CaseManagementParams]>;\n\n @Output() public valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() public configuration: EventEmitter<CreateZaakResultaatConfig> =\n new EventEmitter<CreateZaakResultaatConfig>();\n\n public readonly clearStatusSelection$ = new Subject<void>();\n\n public readonly loading$ = new BehaviorSubject<boolean>(true);\n\n public readonly resultaatTypeSelectItems$ = new BehaviorSubject<SelectItem[]>([]);\n\n public readonly selectedInputOption$ = new BehaviorSubject<InputOption>('selection');\n\n public readonly pluginId$ = new BehaviorSubject<string>('');\n\n public readonly inputTypeOptions$: Observable<Array<RadioValue>> = this.pluginId$.pipe(\n filter(pluginId => !!pluginId),\n switchMap(pluginId =>\n combineLatest([\n this.pluginTranslatePipe.transform('selection', pluginId),\n this.pluginTranslatePipe.transform('text', pluginId),\n ])\n ),\n map(([selectionTranslation, textTranslation]) => [\n {value: 'selection', title: selectionTranslation},\n {value: 'text', title: textTranslation},\n ])\n );\n\n private readonly formValue$ = new BehaviorSubject<CreateZaakResultaatConfig | null>(null);\n private readonly valid$ = new BehaviorSubject<boolean>(false);\n\n private readonly _subscriptions = new Subscription();\n\n constructor(\n private readonly zakenApiService: ZakenApiService,\n private readonly pluginTranslatePipe: PluginTranslatePipe\n ) {}\n\n public ngOnInit(): void {\n this.initContextHandling();\n this.openSaveSubscription();\n }\n\n public ngOnDestroy() {\n this._subscriptions.unsubscribe();\n }\n\n public formValueChange(formValue: CreateZaakResultaatConfig): void {\n this.formValue$.next(formValue);\n this.handleValid(formValue);\n\n if (formValue.inputTypeZaakResultaatToggle) {\n this.selectedInputOption$.next(formValue.inputTypeZaakResultaatToggle);\n }\n }\n\n public oneSelectItem(selectItems: Array<SelectItem>): boolean {\n if (Array.isArray(selectItems)) {\n return selectItems.length === 1;\n }\n\n return false;\n }\n\n private handleValid(formValue: CreateZaakResultaatConfig): void {\n const valid = !!formValue.resultaattypeUrl;\n\n this.valid$.next(valid);\n this.valid.emit(valid);\n }\n\n private initContextHandling(): void {\n if (!this.context$) return;\n\n const contextSub = this.context$\n .pipe(\n filter(([context]) => {\n if (context === 'independent') {\n this.selectedInputOption$.next('text');\n this.loading$.next(false);\n }\n return context === 'case';\n }),\n switchMap(([_, params]) =>\n combineLatest([\n this.zakenApiService.getResultaatTypesByCaseAndVersion(\n params.caseDefinitionKey,\n params.caseDefinitionVersionTag\n ),\n this.prefillConfiguration$.pipe(take(1)),\n ])\n ),\n tap(([resultaatTypes, prefill]) => {\n const selectItems = resultaatTypes.map(rt => ({id: rt.url, text: rt.name}));\n this.resultaatTypeSelectItems$.next(selectItems);\n\n const matched = selectItems.find(item => item.id === prefill?.resultaattypeUrl);\n this.selectedInputOption$.next(matched ? 'selection' : 'text');\n\n this.loading$.next(false);\n })\n )\n .subscribe();\n\n this._subscriptions.add(contextSub);\n }\n\n private openSaveSubscription(): void {\n this._subscriptions.add(\n this.save$?.subscribe(save => {\n combineLatest([this.formValue$, this.valid$])\n .pipe(take(1))\n .subscribe(([formValue, valid]) => {\n if (valid) {\n this.configuration.emit({\n toelichting: formValue.toelichting,\n resultaattypeUrl: formValue.resultaattypeUrl,\n });\n }\n });\n })\n );\n }\n}\n","<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null,\n pluginId: pluginId$ | async,\n selectedInputOption: selectedInputOption$ | async,\n loading: loading$ | async,\n resultaatTypeItems: resultaatTypeSelectItems$ | async,\n context: context$ | async,\n } as obs\"\n>\n <ng-container *ngIf=\"obs.loading === false; else loading\">\n <v-input\n name=\"toelichting\"\n [title]=\"'resultaattoelichting' | pluginTranslate: obs.pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.toelichting\"\n [disabled]=\"obs.disabled\"\n [required]=\"false\"\n [tooltip]=\"'resultaattoelichtingTooltip' | pluginTranslate: obs.pluginId | async\"\n [fullWidth]=\"true\"\n >\n </v-input>\n\n <v-radio\n *ngIf=\"obs?.context?.[0] === 'case'\"\n name=\"inputTypeZaakResultaatToggle\"\n [disabled]=\"obs.disabled\"\n [title]=\"'inputTypeZaakResultaatToggle' | pluginTranslate: obs.pluginId | async\"\n [radioValues]=\"inputTypeOptions$ | async\"\n [defaultValue]=\"selectedInputOption$ | async\"\n [margin]=\"true\"\n >\n </v-radio>\n\n <v-input\n *ngIf=\"obs.selectedInputOption === 'text'\"\n name=\"resultaattypeUrl\"\n [title]=\"'resultaattypeUrl' | pluginTranslate: obs.pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.resultaattypeUrl\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n [trim]=\"true\"\n [tooltip]=\"'resultaattypeUrlTooltip' | pluginTranslate: obs.pluginId | async\"\n [fullWidth]=\"true\"\n >\n </v-input>\n\n <ng-container *ngIf=\"obs.selectedInputOption === 'selection'\">\n <v-select\n [items]=\"obs.resultaatTypeItem\"\n [margin]=\"true\"\n [widthInPx]=\"350\"\n name=\"resultaattypeUrl\"\n [title]=\"'resultaattypeUrlSelect' | pluginTranslate: obs.pluginId | async\"\n [disabled]=\"obs.disabled || obs.selectedInputOption === 'text' || !obs.resultaatTypeItems\"\n [defaultSelectionId]=\"obs.prefill?.resultaattypeUrl\"\n [required]=\"true\"\n [loading]=\"!obs.resultaatTypeItems\"\n [tooltip]=\"'resultaattypeUrlSelectTooltip' | pluginTranslate: obs.pluginId | async\"\n [clearSelectionSubject$]=\"clearStatusSelection$\"\n ></v-select>\n </ng-container>\n </ng-container>\n</v-form>\n\n<ng-template #loading>\n <div class=\"loading-container\">\n <cds-loading></cds-loading>\n </div>\n</ng-template>\n","import {RadioValue} from '@valtimo/components';\n\nexport const INDICATIE_MACHTIGING_VALUES: Array<RadioValue> = [{\n value: '',\n title: 'N.v.t',\n titleTranslationKey: 'nvt'\n}, {\n value: 'gemachtigde',\n title: 'Gemachtigde',\n titleTranslationKey: 'gemachtigde'\n}, {\n value: 'machtiginggever',\n title: 'Machtiginggever',\n titleTranslationKey: 'machtiginggever'\n}];\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {FunctionConfigurationComponent} from '../../../../models';\nimport {BehaviorSubject, combineLatest, Observable, Subscription, take} from 'rxjs';\nimport {CreateMedewerkerZaakRolConfig} from '../../models';\nimport {INDICATIE_MACHTIGING_VALUES} from '../../models/indicatie-machtiging-values';\n\n@Component({\n standalone: false,\n selector: 'valtimo-create-medewerker-zaak-rol-configuration',\n templateUrl: './create-medewerker-zaak-rol.component.html',\n})\nexport class CreateMedewerkerZaakRolComponent implements FunctionConfigurationComponent, OnInit, OnDestroy {\n @Input() save$: Observable<void>;\n @Input() disabled$: Observable<boolean>;\n @Input() pluginId: string;\n @Input() prefillConfiguration$: Observable<CreateMedewerkerZaakRolConfig>;\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() configuration: EventEmitter<CreateMedewerkerZaakRolConfig> =\n new EventEmitter<CreateMedewerkerZaakRolConfig>();\n\n public readonly INDICATIE_MACHTIGING_VALUES = INDICATIE_MACHTIGING_VALUES;\n\n private _saveSubscription!: Subscription;\n private readonly _formValue$ =\n new BehaviorSubject<CreateMedewerkerZaakRolConfig | null>(null);\n private readonly _valid$ = new BehaviorSubject<boolean>(false);\n\n public ngOnInit(): void {\n this.openSaveSubscription();\n }\n\n public ngOnDestroy(): void {\n this._saveSubscription?.unsubscribe();\n }\n\n public formValueChange(formValue: CreateMedewerkerZaakRolConfig): void {\n this._formValue$.next(formValue);\n this.handleValid(formValue);\n }\n\n private handleValid(formValue: CreateMedewerkerZaakRolConfig): void {\n const valid = !!(\n formValue.rolToelichting &&\n formValue.roltypeUrl &&\n formValue.identificatie &&\n formValue.voorletters &&\n formValue.achternaam\n );\n this._valid$.next(valid);\n this.valid.emit(valid);\n }\n\n private openSaveSubscription(): void {\n this._saveSubscription = this.save$?.subscribe(save => {\n combineLatest([this._formValue$, this._valid$])\n .pipe(take(1))\n .subscribe(([formValue, valid]) => {\n if (valid) {\n this.configuration.emit(formValue);\n }\n });\n });\n }\n}\n","<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null,\n } as obs\"\n>\n <v-input\n name=\"roltypeUrl\"\n [title]=\"'roltypeUrl' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.roltypeUrl\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n [trim]=\"true\"\n [tooltip]=\"'roltypeUrlTooltip' | pluginTranslate: pluginId | async\"\n [fullWidth]=\"true\"\n >\n </v-input>\n\n <v-input\n name=\"rolToelichting\"\n [title]=\"'rolToelichting' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.rolToelichting\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n [trim]=\"true\"\n [tooltip]=\"'rolToelichtingTooltip' | pluginTranslate: pluginId | async\"\n [fullWidth]=\"true\"\n >\n </v-input>\n\n <v-input\n name=\"identificatie\"\n [title]=\"'identificatie' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.identificatie\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n [trim]=\"true\"\n [tooltip]=\"'identificatieMedewerkerTooltip' | pluginTranslate: pluginId | async\"\n [fullWidth]=\"true\"\n >\n </v-input>\n\n <v-input\n name=\"achternaam\"\n [title]=\"'achternaam' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.achternaam\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n [trim]=\"true\"\n [tooltip]=\"'achternaamTooltip' | pluginTranslate: pluginId | async\"\n [fullWidth]=\"true\"\n >\n </v-input>\n\n <v-input\n name=\"voorletters\"\n [title]=\"'voorletters' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.voorletters\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n [trim]=\"true\"\n [tooltip]=\"'voorlettersTooltip' | pluginTranslate: pluginId | async\"\n [fullWidth]=\"true\"\n >\n </v-input>\n\n <v-input\n name=\"voorvoegselAchternaam\"\n [title]=\"'voorvoegselAchternaam' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.voorvoegselAchternaam\"\n [disabled]=\"obs.disabled\"\n [required]=\"false\"\n [trim]=\"true\"\n [tooltip]=\"'voorvoegselAchternaamTooltip' | pluginTranslate: pluginId | async\"\n [fullWidth]=\"true\"\n >\n </v-input>\n\n <v-input\n name=\"afwijkendeNaamBetrokkene\"\n [title]=\"'afwijkendeNaamBetrokkene' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.afwijkendeNaamBetrokkene\"\n [disabled]=\"obs.disabled\"\n [required]=\"false\"\n [trim]=\"true\"\n [tooltip]=\"'afwijkendeNaamBetrokkeneTooltip' | pluginTranslate: pluginId | async\"\n [fullWidth]=\"true\"\n >\n </v-input>\n\n <v-radio\n name=\"indicatieMachtiging\"\n [title]=\"'indicatieMachtiging' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.indicatieMachtiging\"\n [disabled]=\"obs.disabled\"\n [required]=\"false\"\n [tooltip]=\"'indicatieMachtigingTooltip' | pluginTranslate: pluginId | async\"\n [fullWidth]=\"true\"\n [radioValues]=\"INDICATIE_MACHTIGING_VALUES\"\n >\n </v-radio>\n</v-form>\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {FunctionConfigurationComponent} from '../../../../models';\nimport {BehaviorSubject, combineLatest, Observable, Subscription, take} from 'rxjs';\nimport {CreateNatuurlijkePersoonZaakRolConfig} from '../../models';\n\n@Component({\n standalone: false,\n selector: 'valtimo-create-natuurlijk-persoon-zaak-rol-configuration',\n templateUrl: './create-natuurlijk-persoon-zaak-rol.component.html',\n})\nexport class CreateNatuurlijkPersoonZaakRolComponent implements FunctionConfigurationComponent, OnInit, OnDestroy {\n @Input() save$: Observable<void>;\n @Input() disabled$: Observable<boolean>;\n @Input() pluginId: string;\n @Input() prefillConfiguration$: Observable<CreateNatuurlijkePersoonZaakRolConfig>;\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() configuration: EventEmitter<CreateNatuurlijkePersoonZaakRolConfig> =\n new EventEmitter<CreateNatuurlijkePersoonZaakRolConfig>();\n\n private _saveSubscription!: Subscription;\n\n private readonly _formValue$ =\n new BehaviorSubject<CreateNatuurlijkePersoonZaakRolConfig | null>(null);\n private readonly _valid$ = new BehaviorSubject<boolean>(false);\n\n public ngOnInit(): void {\n this.openSaveSubscription();\n }\n\n public ngOnDestroy(): void {\n this._saveSubscription?.unsubscribe();\n }\n\n public formValueChange(formValue: CreateNatuurlijkePersoonZaakRolConfig): void {\n this._formValue$.next(formValue);\n this.handleValid(formValue);\n }\n\n private handleValid(formValue: CreateNatuurlijkePersoonZaakRolConfig): void {\n const valid = !!(formValue.rolToelichting && formValue.roltypeUrl);\n\n this._valid$.next(valid);\n this.valid.emit(valid);\n }\n\n private openSaveSubscription(): void {\n this._saveSubscription = this.save$?.subscribe(save => {\n combineLatest([this._formValue$, this._valid$])\n .pipe(take(1))\n .subscribe(([formValue, valid]) => {\n if (valid) {\n this.configuration.emit(formValue);\n }\n });\n });\n }\n}\n","<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null,\n } as obs\"\n>\n <v-input\n name=\"roltypeUrl\"\n [title]=\"'roltypeUrl' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.roltypeUrl\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n [trim]=\"true\"\n [tooltip]=\"'roltypeUrlTooltip' | pluginTranslate: pluginId | async\"\n [fullWidth]=\"true\"\n >\n </v-input>\n\n <v-input\n name=\"rolToelichting\"\n [title]=\"'rolToelichting' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.rolToelichting\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n [tooltip]=\"'rolToelichtingTooltip' | pluginTranslate: pluginId | async\"\n [fullWidth]=\"true\"\n >\n </v-input>\n\n <v-input\n name=\"inpBsn\"\n [title]=\"'inpBsn' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.inpBsn\"\n [disabled]=\"obs.disabled\"\n [required]=\"false\"\n [trim]=\"true\"\n [tooltip]=\"'inpBsnTooltip' | pluginTranslate: pluginId | async\"\n [fullWidth]=\"true\"\n >\n </v-input>\n\n <v-input\n name=\"anpIdentificatie\"\n [title]=\"'anpIdentificatie' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.anpIdentificatie\"\n [disabled]=\"obs.disabled\"\n [required]=\"false\"\n [trim]=\"true\"\n [tooltip]=\"'anpIdentificatieTooltip' | pluginTranslate: pluginId | async\"\n [fullWidth]=\"true\"\n >\n </v-input>\n\n <v-input\n name=\"inpA_nummer\"\n [title]=\"'inpA_nummer' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.inpA_nummer\"\n [disabled]=\"obs.disabled\"\n [required]=\"false\"\n [trim]=\"true\"\n [tooltip]=\"'inpA_nummerTooltip' | pluginTranslate: pluginId | async\"\n [fullWidth]=\"true\"\n >\n </v-input>\n</v-form>\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {FunctionConfigurationComponent} from '../../../../models';\nimport {BehaviorSubject, combineLatest, Observable, Subscription, take} from 'rxjs';\nimport {CreateNietNatuurlijkePersoonZaakRolConfig} from '../../models';\n\n@Component({\n standalone: false,\n selector: 'valtimo-create-niet-natuurlijk-persoon-zaak-rol-configuration',\n templateUrl: './create-niet-natuurlijk-persoon-zaak-rol.component.html',\n})\nexport class CreateNietNatuurlijkPersoonZaakRolComponent implements FunctionConfigurationComponent, OnInit, OnDestroy {\n @Input() save$: Observable<void>;\n @Input() disabled$: Observable<boolean>;\n @Input() pluginId: string;\n @Input() prefillConfiguration$: Observable<CreateNietNatuurlijkePersoonZaakRolConfig>;\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() configuration: EventEmitter<CreateNietNatuurlijkePersoonZaakRolConfig> =\n new EventEmitter<CreateNietNatuurlijkePersoonZaakRolConfig>();\n\n private _saveSubscription!: Subscription;\n\n private readonly _formValue$ =\n new BehaviorSubject<CreateNietNatuurlijkePersoonZaakRolConfig | null>(null);\n private readonly _valid$ = new BehaviorSubject<boolean>(false);\n\n public ngOnInit(): void {\n this.openSaveSubscription();\n }\n\n public ngOnDestroy(): void {\n this._saveSubscription?.unsubscribe();\n }\n\n public formValueChange(formValue: CreateNietNatuurlijkePersoonZaakRolConfig): void {\n this._formValue$.next(formValue);\n this.handleValid(formValue);\n }\n\n private handleValid(formValue: CreateNietNatuurlijkePersoonZaakRolConfig): void {\n const valid = !!(formValue.rolToelichting && formValue.roltypeUrl);\n\n this._valid$.next(valid);\n this.valid.emit(valid);\n }\n\n private openSaveSubscription(): void {\n this._saveSubscription = this.save$?.subscribe(save => {\n combineLatest([this._formValue$, this._valid$])\n .pipe(take(1))\n .subscribe(([formValue, valid]) => {\n if (valid) {\n this.configuration.emit(formValue);\n }\n });\n });\n }\n}\n","<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null,\n } as obs\"\n>\n <v-input\n name=\"roltypeUrl\"\n [title]=\"'roltypeUrl' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.roltypeUrl\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n [trim]=\"true\"\n [tooltip]=\"'roltypeUrlTooltip' | pluginTranslate: pluginId | async\"\n [fullWidth]=\"true\"\n >\n </v-input>\n\n <v-input\n name=\"rolToelichting\"\n [title]=\"'rolToelichting' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.rolToelichting\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n [tooltip]=\"'rolToelichtingTooltip' | pluginTranslate: pluginId | async\"\n [fullWidth]=\"true\"\n >\n </v-input>\n\n <v-input\n name=\"innNnpId\"\n [title]=\"'innNnpId' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.innNnpId\"\n [disabled]=\"obs.disabled\"\n [required]=\"false\"\n [trim]=\"true\"\n [tooltip]=\"'innNnpIdTooltip' | pluginTranslate: pluginId | async\"\n [fullWidth]=\"true\"\n >\n </v-input>\n\n <v-input\n name=\"annIdentificatie\"\n [title]=\"'annIdentificatie' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.annIdentificatie\"\n [disabled]=\"obs.disabled\"\n [required]=\"false\"\n [trim]=\"true\"\n [tooltip]=\"'annIdentificatieTooltip' | pluginTranslate: pluginId | async\"\n [fullWidth]=\"true\"\n >\n </v-input>\n\n <v-input\n name=\"kvkNummer\"\n [title]=\"'kvkNummer' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.kvkNummer\"\n [disabled]=\"obs.disabled\"\n [required]=\"false\"\n [trim]=\"true\"\n [tooltip]=\"'kvkNummerTooltip' | pluginTranslate: pluginId | async\"\n [fullWidth]=\"true\"\n >\n </v-input>\n\n <v-input\n name=\"vestigingsNummer\"\n [title]=\"'vestigingsNummer' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.vestigingsNummer\"\n [disabled]=\"obs.disabled\"\n [required]=\"false\"\n [trim]=\"true\"\n [tooltip]=\"'vestigingsNummerTooltip' | pluginTranslate: pluginId | async\"\n [fullWidth]=\"true\"\n >\n </v-input>\n</v-form>\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {FunctionConfigurationComponent} from '../../../../models';\nimport {BehaviorSubject, combineLatest, Observable, Subscription, take} from 'rxjs';\nimport {CreateOrganisatorischeEenheidZaakRolConfig} from '../../models';\nimport {INDICATIE_MACHTIGING_VALUES} from '../../models/indicatie-machtiging-values';\n\n@Component({\n standalone: false,\n selector: 'valtimo-create-organisatorische-eenheid-zaak-rol-configuration',\n templateUrl: './create-organisatorische-eenheid-zaak-rol.component.html'\n})\nexport class CreateOrganisatorischeEenheidZaakRolComponent implements FunctionConfigurationComponent, OnInit, OnDestroy {\n @Input() save$: Observable<void>;\n @Input() disabled$: Observable<boolean>;\n @Input() pluginId: string;\n @Input() prefillConfiguration$: Observable<CreateOrganisatorischeEenheidZaakRolConfig>;\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() configuration: EventEmitter<CreateOrganisatorischeEenheidZaakRolConfig> =\n new EventEmitter<CreateOrganisatorischeEenheidZaakRolConfig>();\n\n public readonly INDICATIE_MACHTIGING_VALUES = INDICATIE_MACHTIGING_VALUES;\n\n private _saveSubscription!: Subscription;\n private readonly _formValue$ =\n new BehaviorSubject<CreateOrganisatorischeEenheidZaakRolConfig | null>(null);\n private readonly _valid$ = new BehaviorSubject<boolean>(false);\n\n public ngOnInit(): void {\n this.openSaveSubscription();\n }\n\n public ngOnDestroy(): void {\n this._saveSubscription?.unsubscribe();\n }\n\n public formValueChange(formValue: CreateOrganisatorischeEenheidZaakRolConfig): void {\n this._formValue$.next(formValue);\n this.handleValid(formValue);\n }\n\n private handleValid(formValue: CreateOrganisatorischeEenheidZaakRolConfig): void {\n const valid = !!(\n formValue.rolToelichting &&\n formValue.roltypeUrl &&\n formValue.identificatie &&\n formValue.naam &&\n formValue.isGehuisvestIn\n );\n\n this._valid$.next(valid);\n this.valid.emit(valid);\n }\n\n private openSaveSubscription(): void {\n this._saveSubscription = this.save$?.subscribe(save => {\n combineLatest([this._formValue$, this._valid$])\n .pipe(take(1))\n .subscribe(([formValue, valid]) => {\n if (valid) {\n this.configuration.emit(formValue);\n }\n });\n });\n }\n}\n","<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null,\n } as obs\"\n>\n <v-input\n name=\"roltypeUrl\"\n [title]=\"'roltypeUrl' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.roltypeUrl\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n [trim]=\"true\"\n [tooltip]=\"'roltypeUrlTooltip' | pluginTranslate: pluginId | async\"\n [fullWidth]=\"true\"\n >\n </v-input>\n\n <v-input\n name=\"rolToelichting\"\n [title]=\"'rolToelichting' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.rolToelichting\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n [trim]=\"true\"\n [tooltip]=\"'rolToelichtingTooltip' | pluginTranslate: pluginId | async\"\n [fullWidth]=\"true\"\n >\n </v-input>\n\n <v-input\n name=\"identificatie\"\n [title]=\"'identificatie' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.identificatie\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n [trim]=\"true\"\n [tooltip]=\"'identificatieOrganisatorischeEenheidTooltip' | pluginTranslate: pluginId | async\"\n [fullWidth]=\"true\"\n >\n </v-input>\n\n <v-input\n name=\"naam\"\n [title]=\"'naam' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.naam\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n [trim]=\"true\"\n [tooltip]=\"'naamTooltip' | pluginTranslate: pluginId | async\"\n [fullWidth]=\"true\"\n >\n </v-input>\n\n <v-input\n name=\"isGehuisvestIn\"\n [title]=\"'isGehuisvestIn' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.isGehuisvestIn\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n [trim]=\"true\"\n [tooltip]=\"'isGehuisvestInTooltip' | pluginTranslate: pluginId | async\"\n [fullWidth]=\"true\"\n >\n </v-input>\n\n <v-input\n name=\"afwijkendeNaamBetrokkene\"\n [title]=\"'afwijkendeNaamBetrokkene' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.afwijkendeNaamBetrokkene\"\n [disabled]=\"obs.disabled\"\n [required]=\"false\"\n [trim]=\"true\"\n [tooltip]=\"'afwijkendeNaamBetrokkeneTooltip' | pluginTranslate: pluginId | async\"\n [fullWidth]=\"true\"\n >\n </v-input>\n\n <v-radio\n name=\"indicatieMachtiging\"\n [title]=\"'indicatieMachtiging' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.indicatieMachtiging\"\n [disabled]=\"obs.disabled\"\n [required]=\"false\"\n [tooltip]=\"'indicatieMachtigingTooltip' | pluginTranslate: pluginId | async\"\n [fullWidth]=\"true\"\n [radioValues]=\"INDICATIE_MACHTIGING_VALUES\"\n >\n </v-radio>\n</v-form>\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {FunctionConfigurationComponent} from '../../../../models';\nimport {BehaviorSubject, combineLatest, Observable, Subscription, take} from 'rxjs';\nimport {CreateVestigingZaakRolConfig} from '../../models';\n\n@Component({\n standalone: false,\n selector: 'valtimo-create-vestiging-zaak-rol-configuration',\n templateUrl: './create-vestiging-zaak-rol.component.html',\n})\nexport class CreateVestigingZaakRolComponent implements FunctionConfigurationComponent, OnInit, OnDestroy {\n @Input() save$: Observable<void>;\n @Input() disabled$: Observable<boolean>;\n @Input() pluginId: string;\n @Input() prefillConfiguration$: Observable<CreateVestigingZaakRolConfig>;\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() configuration: EventEmitter<CreateVestigingZaakRolConfig> =\n new EventEmitter<CreateVestigingZaakRolConfig>();\n\n private _saveSubscription!: Subscription;\n\n private readonly _formValue$ =\n new BehaviorSubject<CreateVestigingZaakRolConfig | null>(null);\n private readonly _valid$ = new BehaviorSubject<boolean>(false);\n\n public ngOnInit(): void {\n this.openSaveSubscription();\n }\n\n public ngOnDestroy(): void {\n this._saveSubscription?.unsubscribe();\n }\n\n public formValueChange(formValue: CreateVestigingZaakRolConfig): void {\n this._formValue$.next(formValue);\n this.handleValid(formValue);\n }\n\n private handleValid(formValue: CreateVestigingZaakRolConfig): void {\n const valid = !!(\n formValue.rolToelichting &&\n formValue.roltypeUrl &&\n formValue.handelsnaam &&\n formValue.kvkNummer &&\n formValue.vestigingsNummer\n );\n\n this._valid$.next(valid);\n this.valid.emit(valid);\n }\n\n private openSaveSubscription(): void {\n this._saveSubscription = this.save$?.subscribe(save => {\n combineLatest([this._formValue$, this._valid$])\n .pipe(take(1))\n .subscribe(([formValue, valid]) => {\n if (valid) {\n this.configuration.emit(formValue);\n }\n });\n });\n }\n}\n","<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null,\n } as obs\"\n>\n <v-input\n name=\"roltypeUrl\"\n [title]=\"'roltypeUrl' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.roltypeUrl\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n [trim]=\"true\"\n [tooltip]=\"'roltypeUrlTooltip' | pluginTranslate: pluginId | async\"\n [fullWidth]=\"true\"\n >\n </v-input>\n\n <v-input\n name=\"rolToelichting\"\n [title]=\"'rolToelichting' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.rolToelichting\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n [tooltip]=\"'rolToelichtingTooltip' | pluginTranslate: pluginId | async\"\n [fullWidth]=\"true\"\n >\n </v-input>\n\n <v-input\n name=\"vestigingsNummer\"\n [title]=\"'vestigingsNummer' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.vestigingsNummer\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n [trim]=\"true\"\n [tooltip]=\"'vestigingsNummerTooltip' | pluginTranslate: pluginId | async\"\n [fullWidth]=\"true\"\n >\n </v-input>\n\n <v-input\n name=\"handelsnaam\"\n [title]=\"'handelsnaam' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.handelsnaam\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n [trim]=\"true\"\n [tooltip]=\"'handelsnaamTooltip' | pluginTranslate: pluginId | async\"\n [fullWidth]=\"true\"\n >\n </v-input>\n\n <v-input\n name=\"kvkNummer\"\n [title]=\"'kvkNummer' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.kvkNummer\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n [trim]=\"true\"\n [tooltip]=\"'kvkNummerTooltip' | pluginTranslate: pluginId | async\"\n [fullWidth]=\"true\"\n >\n </v-input>\n</v-form>\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport const CreateZaakExtraPropertyOptions = [\n 'description',\n 'plannedEndDate',\n 'finalDeliveryDate',\n] as const;\nexport type CreateZaakExtraProperties = (typeof CreateZaakExtraPropertyOptions)[number];\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {FunctionConfigurationComponent} from '../../../../models';\nimport {\n BehaviorSubject,\n combineLatest,\n filter,\n map,\n Observable,\n Subscription,\n switchMap,\n take,\n tap,\n} from 'rxjs';\nimport {CreateZaakConfig, InputOption} from '../../models';\nimport {OpenZaakService, ZaakType, ZaakTypeLink} from '@valtimo/resource';\nimport {DocumentService} from '@valtimo/document';\nimport {ModalService, RadioValue, SelectItem} from '@valtimo/components';\nimport {PluginTranslatePipe} from '../../../../pipes';\nimport {Add16, TrashCan16} from '@carbon/icons';\nimport {IconService} from 'carbon-components-angular';\nimport {CreateZaakExtraProperties, CreateZaakExtraPropertyOptions} from '../../models/create-zaak-properties';\nimport {CaseManagementParams, ManagementContext} from '@valtimo/shared';\n\n@Component({\n standalone: false,\n selector: 'valtimo-create-zaak-configuration',\n templateUrl: './create-zaak-configuration.component.html',\n styleUrls: ['./create-zaak-configuration.component.scss'],\n providers: [PluginTranslatePipe],\n})\nexport class CreateZaakConfigurationComponent\n implements FunctionConfigurationComponent, OnInit, OnDestroy\n{\n @Input() save$: Observable<void>;\n @Input() disabled$: Observable<boolean>;\n @Input() set pluginId(value: string) {\n this.pluginId$.next(value);\n }\n @Input() context$: Observable<[ManagementContext, CaseManagementParams]>;\n\n @Input() prefillConfiguration$: Observable<CreateZaakConfig>;\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() configuration: EventEmitter<CreateZaakConfig> = new EventEmitter<CreateZaakConfig>();\n\n public readonly propertyList: Array<CreateZaakExtraProperties> = [];\n\n readonly pluginId$ = new BehaviorSubject<string>('');\n readonly selectedInputOption$ = new BehaviorSubject<InputOption>('selection');\n\n readonly inputTypeOptions$: Observable<Array<RadioValue>> = this.pluginId$.pipe(\n filter(pluginId => !!pluginId),\n switchMap(pluginId =>\n combineLatest([\n this.pluginTranslatePipe.transform('selection', pluginId),\n this.pluginTranslatePipe.transform('text', pluginId),\n ])\n ),\n map(([selectionTranslation, textTranslation]) => [\n {value: 'selection', title: selectionTranslation},\n {value: 'text', title: textTranslation},\n ])\n );\n\n private saveSubscription!: Subscription;\n\n private readonly formValue$ = new BehaviorSubject<CreateZaakConfig | null>(null);\n private readonly valid$ = new BehaviorSubject<boolean>(false);\n private readonly _properties = new Map<CreateZaakExtraProperties, string>();\n\n readonly loading$ = new BehaviorSubject<boolean>(true);\n\n readonly zaakTypeItems$: Observable<Array<SelectItem>> = this.modalService.modalData$.pipe(\n switchMap(() => this.context$),\n tap(([context]) => {\n if (context === 'independent') {\n this.selectedInputOption$.next('text');\n this.loading$.next(false);\n }\n }),\n filter(([context]) => context === 'case'),\n switchMap(([context, params]) =>\n combineLatest([\n this.openZaakService.getZaakTypes(),\n context === 'case'\n ? this.openZaakService.getZaakTypeLink(\n params.caseDefinitionKey,\n params.caseDefinitionVersionTag\n )\n : null,\n ])\n ),\n map(results => {\n const zaakTypes = results[0] as Array<ZaakType>;\n const zaakTypeLink = results[1] as ZaakTypeLink;\n\n return [zaakTypeLink]\n .filter(zaakTypeLink => !!zaakTypeLink?.zaakTypeUrl)\n .map(zaakTypeLink => ({\n id: zaakTypeLink.zaakTypeUrl,\n text:\n zaakTypes.find(zaakType => zaakType.url === zaakTypeLink.zaakTypeUrl)?.omschrijving ||\n zaakTypeLink.zaakTypeUrl,\n }));\n }),\n tap(zaakTypeSelectItems => {\n this.prefillConfiguration$.pipe(take(1)).subscribe(prefillConfig => {\n const zaakTypeUrl = prefillConfig?.zaaktypeUrl;\n\n if (\n zaakTypeUrl &&\n !((zaakTypeSelectItems as Array<SelectItem>) || []).find(item => item.id === zaakTypeUrl)\n ) {\n this.selectedInputOption$.next('text');\n }\n });\n }),\n tap(() => {\n this.loading$.next(false);\n })\n );\n\n constructor(\n private readonly openZaakService: OpenZaakService,\n private readonly documentService: DocumentService,\n private readonly modalService: ModalService,\n private readonly pluginTranslatePipe: PluginTranslatePipe,\n private readonly iconService: IconService\n ) {\n this.iconService.registerAll([Add16, TrashCan16]);\n }\n\n ngOnInit(): void {\n this.openSaveSubscription();\n\n this.prefillConfiguration$.pipe(take(1)).subscribe(prefill => {\n CreateZaakExtraPropertyOptions.filter(property => prefill && !!prefill[property]).forEach(property =>\n this.addCaseProperty(property)\n );\n });\n }\n\n ngOnDestroy() {\n this.saveSubscription?.unsubscribe();\n }\n\n formValueChange(formValue: CreateZaakConfig): void {\n this._properties.forEach((value, key) => (formValue[key] = value));\n\n const inputTypeZaakTypeToggle = formValue.inputTypeZaakTypeToggle;\n this.formValue$.next(formValue);\n this.handleValid(formValue);\n\n if (inputTypeZaakTypeToggle) {\n this.selectedInputOption$.next(inputTypeZaakTypeToggle);\n }\n }\n\n oneSelectItem(selectItems: Array<SelectItem>): boolean {\n if (Array.isArray(selectItems)) {\n return selectItems.length === 1;\n }\n\n return false;\n }\n\n selectItemsIncludeId(selectItems: Array<SelectItem>, id: string): boolean {\n if (Array.isArray(selectItems)) {\n return !!selectItems.find(item => item.id === id);\n }\n\n return false;\n }\n\n private handleValid(formValue: CreateZaakConfig): void {\n const isPropertyInvalid = this.propertyList.some(property => !!!formValue[property]);\n const valid = !!(formValue.rsin && formValue.zaaktypeUrl) && !isPropertyInvalid;\n\n this.valid$.next(valid);\n this.valid.emit(valid);\n }\n\n private openSaveSubscription(): void {\n this.saveSubscription = this.save$?.subscribe(save => {\n combineLatest([this.formValue$, this.valid$])\n .pipe(take(1))\n .subscribe(([formValue, valid]) => {\n if (valid) {\n const payload: CreateZaakConfig = {\n rsin: formValue.rsin,\n zaaktypeUrl: formValue.zaaktypeUrl,\n manualZaakTypeUrl: formValue.manualZaakTypeUrl,\n };\n this.propertyList.forEach(property => (payload[property] = formValue[property]));\n this.configuration.emit(payload);\n }\n });\n });\n }\n\n public addCaseProperty(property: CreateZaakExtraProperties): void {\n this.propertyList.push(property);\n }\n\n public removeCaseProperty(property: CreateZaakExtraProperties): void {\n this.propertyList.splice(this.propertyList.indexOf(property), 1);\n this._properties.delete(property);\n this.onPropertyChanged(property, undefined);\n }\n\n public hasPropertyBeenAdded(property: CreateZaakExtraProperties): boolean {\n return this.propertyList.indexOf(property) !== -1;\n }\n\n public onPropertyChanged(property: CreateZaakExtraProperties, value: any): void {\n this._properties.set(property, value);\n this.formValue$\n .pipe(\n filter(formValue => formValue !== null),\n take(1)\n )\n .subscribe(formValue => {\n this.formValueChange(formValue);\n });\n }\n}\n","<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<ng-container\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null,\n pluginId: pluginId$ | async,\n selectedInputOption: selectedInputOption$ | async,\n zaakTypeSelectItems: zaakTypeItems$ | async,\n loading: loading$ | async,\n context: context$ | async,\n } as obs\"\n>\n <ng-container *ngIf=\"obs.loading === false; else loading\">\n <v-paragraph [margin]=\"true\" [italic]=\"true\">\n {{ 'createZaakInformation' | pluginTranslate: obs.pluginId | async }}\n </v-paragraph>\n\n <v-form (valueChange)=\"formValueChange($event)\">\n <v-input\n name=\"rsin\"\n [title]=\"'rsin' | pluginTranslate: obs.pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.rsin\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n [trim]=\"true\"\n [tooltip]=\"'rsinTooltip' | pluginTranslate: obs.pluginId | async\"\n [widthPx]=\"350\"\n >\n </v-input>\n\n <v-radio\n *ngIf=\"obs?.context?.[0] === 'case'\"\n name=\"inputTypeZaakTypeToggle\"\n [disabled]=\"obs.disabled\"\n [title]=\"'inputTypeZaakTypeToggle' | pluginTranslate: obs.pluginId | async\"\n [radioValues]=\"inputTypeOptions$ | async\"\n [defaultValue]=\"selectedInputOption$ | async\"\n [margin]=\"true\"\n >\n </v-radio>\n\n <v-input\n *ngIf=\"obs.selectedInputOption === 'text'\"\n name=\"zaaktypeUrl\"\n [title]=\"'zaakTypeUrl' | pluginTranslate: obs.pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.zaaktypeUrl\"\n [disabled]=\"obs.disabled || obs.selectedInputOption === 'selection'\"\n [required]=\"true\"\n [trim]=\"true\"\n [tooltip]=\"'zaakTypeTooltip' | pluginTranslate: obs.pluginId | async\"\n [fullWidth]=\"true\"\n >\n </v-input>\n\n <ng-container *ngIf=\"obs.selectedInputOption === 'selection'\">\n <v-select\n [items]=\"obs.zaakTypeSelectItems\"\n [margin]=\"true\"\n [widthInPx]=\"350\"\n name=\"zaaktypeUrl\"\n [title]=\"'zaakType' | pluginTranslate: obs.pluginId | async\"\n [disabled]=\"\n obs.disabled ||\n obs.selectedInputOption === 'text' ||\n oneSelectItem(obs.zaakTypeSelectItems)\n \"\n [defaultSelectionId]=\"\n (selectItemsIncludeId(obs.zaakTypeSelectItems, obs.prefill?.zaaktypeUrl) &&\n obs.prefill?.zaaktypeUrl) ||\n (oneSelectItem(obs.zaakTypeSelectItems) && obs.zaakTypeSelectItems[0].id)\n \"\n [required]=\"true\"\n [loading]=\"!obs.zaakTypeSelectItems\"\n [tooltip]=\"'zaakTypeSelectTooltip' | pluginTranslate: obs.pluginId | async\"\n ></v-select>\n </ng-container>\n\n @for (property of propertyList; track property) {\n @if (property === 'description') {\n <div class=\"property-input\">\n <v-input\n name=\"description\"\n [title]=\"'beschrijving' | pluginTranslate: obs.pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.description\"\n [required]=\"true\"\n (valueChange)=\"onPropertyChanged('description', $event)\"\n />\n\n <button class=\"btn btn-space delete-button\" (click)=\"removeCaseProperty('description')\">\n <svg class=\"cds--btn__icon\" cdsIcon=\"trash-can\" size=\"16\"></svg>\n </button>\n </div>\n } @else if (property === 'plannedEndDate') {\n <div class=\"property-input\">\n <v-input\n name=\"plannedEndDate\"\n [title]=\"'plannedEndDate' | pluginTranslate: obs.pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.plannedEndDate\"\n [required]=\"true\"\n [trim]=\"true\"\n [tooltip]=\"'dateformatTooltip' | pluginTranslate: obs.pluginId | async\"\n (valueChange)=\"onPropertyChanged('plannedEndDate', $event)\"\n ></v-input>\n\n <button\n class=\"btn btn-space delete-button\"\n (click)=\"removeCaseProperty('plannedEndDate')\"\n >\n <svg class=\"cds--btn__icon\" cdsIcon=\"trash-can\" size=\"16\"></svg>\n </button>\n </div>\n } @else if (property === 'finalDeliveryDate') {\n <div class=\"property-input\">\n <v-input\n name=\"finalDeliveryDate\"\n [title]=\"'finalDeliveryDate' | pluginTranslate: obs.pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.finalDeliveryDate\"\n [required]=\"true\"\n [trim]=\"true\"\n [tooltip]=\"'dateformatTooltip' | pluginTranslate: obs.pluginId | async\"\n (valueChange)=\"onPropertyChanged('finalDeliveryDate', $event)\"\n ></v-input>\n\n <button\n class=\"btn btn-space delete-button\"\n (click)=\"removeCaseProperty('finalDeliveryDate')\"\n >\n <svg class=\"cds--btn__icon\" cdsIcon=\"trash-can\" size=\"16\"></svg>\n </button>\n </div>\n }\n }\n\n <button\n cdsButton=\"primary\"\n [size]=\"'md'\"\n [cdsOverflowMenu]=\"addCasePropertyList\"\n [customPane]=\"true\"\n placement=\"bottom\"\n >\n {{ 'addZaakProperty' | pluginTranslate: obs.pluginId | async }}\n\n <svg class=\"cds--btn__icon\" cdsIcon=\"add\" size=\"16\"></svg>\n </button>\n </v-form>\n </ng-container>\n</ng-container>\n\n<ng-template #loading>\n <div class=\"loading-container\">\n <cds-loading></cds-loading>\n </div>\n</ng-template>\n\n<ng-template #addCasePropertyList>\n <cds-overflow-menu-option\n (click)=\"addCaseProperty('description')\"\n *ngIf=\"!hasPropertyBeenAdded('description')\"\n >\n {{ 'beschrijving' | pluginTranslate: (pluginId$ | async) | async }}\n </cds-overflow-menu-option>\n\n <cds-overflow-menu-option\n (click)=\"addCaseProperty('plannedEndDate')\"\n *ngIf=\"!hasPropertyBeenAdded('plannedEndDate')\"\n >\n {{ 'plannedEndDate' | pluginTranslate: (pluginId$ | async) | async }}\n </cds-overflow-menu-option>\n\n <cds-overflow-menu-option\n (click)=\"addCaseProperty('finalDeliveryDate')\"\n *ngIf=\"!hasPropertyBeenAdded('finalDeliveryDate')\"\n >\n {{ 'finalDeliveryDate' | pluginTranslate: (pluginId$ | async) | async }}\n </cds-overflow-menu-option>\n</ng-template>\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {FunctionConfigurationComponent} from '../../../../models';\nimport {BehaviorSubject, combineLatest, Observable, Subscription, take} from 'rxjs';\nimport {SetZaakopschortingConfig} from '../../models';\nimport {PluginTranslatePipe} from '../../../../pipes';\n\n@Component({\n standalone: false,\n providers: [PluginTranslatePipe],\n selector: 'valtimo-set-zaak-opschorting-configuration',\n templateUrl: './set-zaakopschorting.component.html',\n})\nexport class SetZaakopschortingComponent\n implements FunctionConfigurationComponent, OnInit, OnDestroy\n{\n @Input() disabled$: Observable<boolean>;\n @Input() pluginId: string;\n @Input() prefillConfiguration$: Observable<SetZaakopschortingConfig>;\n @Input() save$: Observable<void>;\n @Output() configuration: EventEmitter<SetZaakopschortingConfig> =\n new EventEmitter<SetZaakopschortingConfig>();\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n\n private readonly formValue$ = new BehaviorSubject<SetZaakopschortingConfig | null>(null);\n private saveSubscription!: Subscription;\n private readonly valid$ = new BehaviorSubject<boolean>(false);\n\n public ngOnInit(): void {\n this.openSaveSubscription();\n }\n\n public ngOnDestroy(): void {\n this.saveSubscription?.unsubscribe();\n }\n\n public formValueChange(formValue: SetZaakopschortingConfig): void {\n this.formValue$.next(formValue);\n this.handleValid(formValue);\n }\n\n private handleValid(formValue: SetZaakopschortingConfig): void {\n const valid = !!(\n formValue.toelichtingVerlenging &&\n formValue.toelichtingOpschorting &&\n formValue.verlengingsduur\n );\n\n this.valid$.next(valid);\n this.valid.emit(valid);\n }\n\n private openSaveSubscription(): void {\n this.saveSubscription = this.save$?.subscribe(save => {\n combineLatest([this.formValue$, this.valid$])\n .pipe(take(1))\n .subscribe(([formValue, valid]) => {\n if (valid) {\n this.configuration.emit(formValue);\n }\n });\n });\n }\n}\n","<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null,\n } as obs\"\n>\n <v-input\n name=\"verlengingsduur\"\n [title]=\"'verlengingsduur' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.verlengingsduur\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n [trim]=\"true\"\n [fullWidth]=\"true\"\n >\n </v-input>\n\n <v-input\n name=\"toelichtingVerlenging\"\n [title]=\"'toelichtingVerlenging' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.toelichtingVerlenging\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n [fullWidth]=\"true\"\n >\n </v-input>\n\n <v-input\n name=\"toelichtingOpschorting\"\n [title]=\"'toelichtingOpschorting' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.toelichtingOpschorting\"\n [disabled]=\"\"\n [required]=\"true\"\n [fullWidth]=\"true\"\n >\n </v-input>\n</v-form>\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {FunctionConfigurationComponent} from '../../../../models';\nimport {BehaviorSubject, combineLatest, Observable, Subscription, take} from 'rxjs';\nimport {StartHersteltermijnConfig} from '../../models';\nimport {PluginTranslatePipe} from '../../../../pipes';\n\n@Component({\n standalone: false,\n selector: 'valtimo-start-hersteltermijn-configuration',\n templateUrl: './start-hersteltermijn-configuration.component.html',\n providers: [PluginTranslatePipe],\n})\nexport class StartHersteltermijnConfigurationComponent\n implements FunctionConfigurationComponent, OnInit, OnDestroy\n{\n @Input() save$: Observable<void>;\n @Input() disabled$: Observable<boolean>;\n @Input() pluginId: string;\n @Input() prefillConfiguration$: Observable<StartHersteltermijnConfig>;\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() configuration: EventEmitter<StartHersteltermijnConfig> =\n new EventEmitter<StartHersteltermijnConfig>();\n\n private saveSubscription!: Subscription;\n\n private readonly formValue$ = new BehaviorSubject<StartHersteltermijnConfig | null>(null);\n private readonly valid$ = new BehaviorSubject<boolean>(false);\n\n ngOnInit(): void {\n this.openSaveSubscription();\n }\n\n ngOnDestroy() {\n this.saveSubscription?.unsubscribe();\n }\n\n formValueChange(formValue: StartHersteltermijnConfig): void {\n this.formValue$.next(formValue);\n this.handleValid(formValue);\n }\n\n private handleValid(formValue: StartHersteltermijnConfig): void {\n const valid = !!formValue.maxDurationInDays;\n\n this.valid$.next(valid);\n this.valid.emit(valid);\n }\n\n private openSaveSubscription(): void {\n this.saveSubscription = this.save$?.subscribe(save => {\n combineLatest([this.formValue$, this.valid$])\n .pipe(take(1))\n .subscribe(([formValue, valid]) => {\n if (valid) {\n this.configuration.emit({\n maxDurationInDays: formValue.maxDurationInDays,\n });\n }\n });\n });\n }\n}\n","<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<ng-container\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null,\n } as obs\"\n>\n <ng-container>\n <v-paragraph [margin]=\"true\" [italic]=\"true\">\n {{ 'startHersteltermijnInformation' | pluginTranslate: pluginId | async }}\n </v-paragraph>\n <v-form (valueChange)=\"formValueChange($event)\">\n <v-input\n name=\"maxDurationInDays\"\n [min]=\"1\"\n [title]=\"'maxDurationInDays' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.maxDurationInDays\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n [trim]=\"true\"\n [tooltip]=\"'maxDurationInDaysTooltip' | pluginTranslate: pluginId | async\"\n [widthPx]=\"350\"\n >\n </v-input>\n </v-form>\n </ng-container>\n</ng-container>\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {Observable, Subscription} from 'rxjs';\nimport {FunctionConfigurationComponent} from '../../../../models';\nimport {PluginTranslatePipe} from '../../../../pipes';\n\n@Component({\n standalone: false,\n selector: 'valtimo-end-hersteltermijn',\n templateUrl: './end-hersteltermijn.component.html',\n providers: [PluginTranslatePipe],\n})\nexport class EndHersteltermijnComponent\n implements FunctionConfigurationComponent, OnInit, OnDestroy\n{\n @Input() disabled$: Observable<boolean>;\n @Input() save$: Observable<void>;\n @Input() prefillConfiguration$: Observable<any>;\n @Input() pluginId: string;\n\n @Output() configuration: EventEmitter<any> = new EventEmitter<any>();\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n\n private _saveSubscription = new Subscription();\n\n public ngOnInit(): void {\n this.openSaveSubscription();\n this.emitValid();\n }\n\n public ngOnDestroy(): void {\n this._saveSubscription.unsubscribe();\n }\n\n private emitValid(): void {\n this.valid.emit(true);\n }\n\n private openSaveSubscription(): void {\n this._saveSubscription.add(\n this.save$?.subscribe(() => {\n this.configuration.emit({});\n })\n );\n }\n}\n","<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-paragraph [center]=\"true\" [fullWidth]=\"true\">\n {{ 'endHersteltermijnInformation' | pluginTranslate: pluginId | async }}\n</v-paragraph>\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {FunctionConfigurationComponent} from '../../../../models';\nimport {\n BehaviorSubject,\n combineLatest,\n filter,\n Observable,\n Subscription,\n switchMap,\n take,\n tap,\n} from 'rxjs';\nimport {CreateZaakeigenschapConfig, InputOption} from '../../models';\nimport {RadioValue, SelectItem} from '@valtimo/components';\nimport {DocumentService} from '@valtimo/document';\nimport {map} from 'rxjs/operators';\nimport {ZakenApiService} from '../../services';\nimport {PluginTranslatePipe} from '../../../../pipes';\nimport {CaseManagementParams, ManagementContext} from '@valtimo/shared';\n\n@Component({\n standalone: false,\n selector: 'valtimo-create-zaakeigenschap',\n templateUrl: './create-zaakeigenschap.component.html',\n providers: [PluginTranslatePipe],\n})\nexport class CreateZaakeigenschapComponent\n implements FunctionConfigurationComponent, OnInit, OnDestroy\n{\n @Input() save$: Observable<void>;\n @Input() disabled$: Observable<boolean>;\n @Input() set pluginId(value: string) {\n this.pluginId$.next(value);\n }\n @Input() prefillConfiguration$: Observable<CreateZaakeigenschapConfig>;\n @Input() context$: Observable<[ManagementContext, CaseManagementParams]>;\n\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() configuration: EventEmitter<CreateZaakeigenschapConfig> =\n new EventEmitter<CreateZaakeigenschapConfig>();\n\n readonly loading$ = new BehaviorSubject<boolean>(true);\n readonly selectedInputOption$ = new BehaviorSubject<InputOption>('selection');\n readonly pluginId$ = new BehaviorSubject<string>('');\n readonly formValue$ = new BehaviorSubject<CreateZaakeigenschapConfig | null>(null);\n readonly valid$ = new BehaviorSubject<boolean>(false);\n readonly eigenschapSelectItems$ = new BehaviorSubject<SelectItem[]>([]);\n readonly inputTypeOptions$: Observable<Array<RadioValue>> = this.pluginId$.pipe(\n filter(pluginId => !!pluginId),\n switchMap(pluginId =>\n combineLatest([\n this.pluginTranslatePipe.transform('selection', pluginId),\n this.pluginTranslatePipe.transform('text', pluginId),\n ])\n ),\n map(([selectionTranslation, textTranslation]) => [\n {value: 'selection', title: selectionTranslation},\n {value: 'text', title: textTranslation},\n ])\n );\n\n private readonly _subscriptions = new Subscription();\n\n constructor(\n private readonly documentService: DocumentService,\n private readonly zakenApiService: ZakenApiService,\n private readonly pluginTranslatePipe: PluginTranslatePipe\n ) {}\n\n public ngOnInit(): void {\n this.initEigenschapHandling();\n this.initSaveHandling();\n }\n\n public ngOnDestroy(): void {\n this._subscriptions.unsubscribe();\n }\n\n public formValueChange(formValue: CreateZaakeigenschapConfig): void {\n this.formValue$.next(formValue);\n this.handleValid(formValue);\n\n if (formValue.inputTypeEigenschapToggle) {\n this.selectedInputOption$.next(formValue.inputTypeEigenschapToggle);\n }\n }\n\n public oneSelectItem(selectItems: Array<SelectItem>): boolean {\n return Array.isArray(selectItems) && selectItems.length === 1;\n }\n\n private initEigenschapHandling(): void {\n if (!this.context$) {\n return;\n }\n\n const sub = this.context$\n .pipe(\n filter(([context]) => {\n if (context === 'independent') {\n this.selectedInputOption$.next('text');\n this.loading$.next(false);\n }\n return context === 'case';\n }),\n switchMap(([_, params]) =>\n this.zakenApiService.getEigenschappenByCaseAndVersion(\n params.caseDefinitionKey,\n params.caseDefinitionVersionTag\n )\n ),\n tap(eigenschappen => {\n this.eigenschapSelectItems$.next(\n eigenschappen.map(item => ({id: item.url, text: item.name}))\n );\n this.selectedInputOption$.next('selection');\n this.loading$.next(false);\n })\n )\n .subscribe();\n\n this._subscriptions.add(sub);\n }\n\n private initSaveHandling(): void {\n if (!this.save$) return;\n\n const sub = this.save$.subscribe(() => {\n combineLatest([this.formValue$, this.valid$])\n .pipe(take(1))\n .subscribe(([formValue, valid]) => {\n if (valid) {\n this.configuration.emit({\n eigenschapUrl: formValue.eigenschapUrl,\n eigenschapValue: formValue.eigenschapValue,\n });\n }\n });\n });\n\n this._subscriptions.add(sub);\n }\n\n private handleValid(formValue: CreateZaakeigenschapConfig): void {\n const valid = !!formValue.eigenschapUrl;\n this.valid$.next(valid);\n this.valid.emit(valid);\n }\n}\n","<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null,\n pluginId: pluginId$ | async,\n selectedInputOption: selectedInputOption$ | async,\n loading: loading$ | async,\n eigenschapItems: eigenschapSelectItems$ | async,\n context: context$ | async,\n } as obs\"\n>\n <ng-container *ngIf=\"obs.loading === false; else loading\">\n <v-radio\n *ngIf=\"obs?.context?.[0] === 'case'\"\n name=\"inputTypeEigenschapToggle\"\n [disabled]=\"obs.disabled\"\n [title]=\"'inputTypeEigenschapToggle' | pluginTranslate: obs.pluginId | async\"\n [radioValues]=\"inputTypeOptions$ | async\"\n [defaultValue]=\"selectedInputOption$ | async\"\n [margin]=\"true\"\n >\n </v-radio>\n\n <v-input\n *ngIf=\"obs.selectedInputOption === 'text'\"\n name=\"eigenschapUrl\"\n [title]=\"'eigenschapUrl' | pluginTranslate: obs.pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.eigenschapUrl\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n [trim]=\"true\"\n [tooltip]=\"'eigenschapUrlTooltip' | pluginTranslate: obs.pluginId | async\"\n [fullWidth]=\"true\"\n >\n </v-input>\n\n <ng-container *ngIf=\"obs.selectedInputOption === 'selection'\">\n <v-select\n [items]=\"obs.eigenschapItems\"\n [margin]=\"true\"\n [widthInPx]=\"350\"\n name=\"eigenschapUrl\"\n [title]=\"'eigenschapUrlSelect' | pluginTranslate: obs.pluginId | async\"\n [disabled]=\"obs.disabled || obs.selectedInputOption === 'text' || !obs.eigenschapItem\"\n [defaultSelectionId]=\"obs.prefill?.eigenschapUrl\"\n [required]=\"true\"\n [loading]=\"!obs.eigenschapItems\"\n [tooltip]=\"'eigenschapUrlSelectTooltip' | pluginTranslate: obs.pluginId | async\"\n ></v-select>\n </ng-container>\n\n <v-input\n name=\"eigenschapValue\"\n [title]=\"'eigenschapValue' | pluginTranslate: obs.pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.eigenschapValue\"\n [disabled]=\"obs.disabled\"\n [required]=\"false\"\n [tooltip]=\"'eigenschapValueTooltip' | pluginTranslate: obs.pluginId | async\"\n [fullWidth]=\"true\"\n >\n </v-input>\n </ng-container>\n</v-form>\n\n<ng-template #loading>\n <div class=\"loading-container\">\n <cds-loading></cds-loading>\n </div>\n</ng-template>\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {FunctionConfigurationComponent} from '../../../../models';\nimport {\n BehaviorSubject,\n combineLatest,\n filter,\n Observable,\n Subscription,\n switchMap,\n take,\n tap,\n} from 'rxjs';\nimport {InputOption, UpdateZaakeigenschapConfig} from '../../models';\nimport {RadioValue, SelectItem} from '@valtimo/components';\nimport {ZakenApiService} from '../../services';\nimport {PluginTranslatePipe} from '../../../../pipes';\nimport {CaseManagementParams, ManagementContext} from '@valtimo/shared';\nimport {map} from 'rxjs/operators';\n\n@Component({\n standalone: false,\n selector: 'valtimo-update-zaakeigenschap',\n templateUrl: './update-zaakeigenschap.component.html',\n providers: [PluginTranslatePipe],\n})\nexport class UpdateZaakeigenschapComponent\n implements FunctionConfigurationComponent, OnInit, OnDestroy\n{\n @Input() public save$: Observable<void>;\n @Input() public disabled$: Observable<boolean>;\n @Input() public set pluginId(value: string) {\n this.pluginId$.next(value);\n }\n @Input() public prefillConfiguration$: Observable<UpdateZaakeigenschapConfig>;\n @Input() public context$: Observable<[ManagementContext, CaseManagementParams]>;\n\n @Output() public valid = new EventEmitter<boolean>();\n @Output() public configuration = new EventEmitter<UpdateZaakeigenschapConfig>();\n\n public readonly loading$ = new BehaviorSubject<boolean>(true);\n public readonly selectedInputOption$ = new BehaviorSubject<InputOption>('selection');\n public readonly pluginId$ = new BehaviorSubject<string>('');\n public readonly formValue$ = new BehaviorSubject<UpdateZaakeigenschapConfig | null>(null);\n public readonly valid$ = new BehaviorSubject<boolean>(false);\n public readonly eigenschapSelectItems$ = new BehaviorSubject<SelectItem[]>([]);\n\n public readonly inputTypeOptions$: Observable<Array<RadioValue>> = this.pluginId$.pipe(\n filter(pluginId => !!pluginId),\n switchMap(pluginId =>\n combineLatest([\n this.pluginTranslatePipe.transform('selection', pluginId),\n this.pluginTranslatePipe.transform('text', pluginId),\n ])\n ),\n map(([selectionTranslation, textTranslation]) => [\n {value: 'selection', title: selectionTranslation},\n {value: 'text', title: textTranslation},\n ])\n );\n\n private readonly _subscriptions = new Subscription();\n\n constructor(\n private readonly zakenApiService: ZakenApiService,\n private readonly pluginTranslatePipe: PluginTranslatePipe\n ) {}\n\n public ngOnInit(): void {\n this.initEigenschapHandling();\n this.initSaveHandling();\n }\n\n public ngOnDestroy(): void {\n this._subscriptions.unsubscribe();\n }\n\n public formValueChange(formValue: UpdateZaakeigenschapConfig): void {\n this.formValue$.next(formValue);\n this.handleValid(formValue);\n\n if (formValue.inputTypeEigenschapToggle) {\n this.selectedInputOption$.next(formValue.inputTypeEigenschapToggle);\n }\n }\n\n private initEigenschapHandling(): void {\n if (!this.context$) return;\n\n const sub = this.context$\n .pipe(\n filter(([context]) => {\n if (context === 'independent') {\n this.selectedInputOption$.next('text');\n this.loading$.next(false);\n }\n return context === 'case';\n }),\n switchMap(([_, params]) =>\n combineLatest([\n this.zakenApiService.getEigenschappenByCaseAndVersion(\n params.caseDefinitionKey,\n params.caseDefinitionVersionTag\n ),\n this.prefillConfiguration$.pipe(take(1)),\n ])\n ),\n tap(([eigenschappen, prefill]) => {\n const selectItems = eigenschappen.map(item => ({id: item.url, text: item.name}));\n this.eigenschapSelectItems$.next(selectItems);\n\n const matched = selectItems.find(item => item.id === prefill?.eigenschapUrl);\n this.selectedInputOption$.next(matched ? 'selection' : 'text');\n\n this.loading$.next(false);\n })\n )\n .subscribe();\n\n this._subscriptions.add(sub);\n }\n\n private initSaveHandling(): void {\n if (!this.save$) return;\n\n const sub = this.save$.subscribe(() => {\n combineLatest([this.formValue$, this.valid$])\n .pipe(take(1))\n .subscribe(([formValue, valid]) => {\n if (valid) {\n this.configuration.emit({\n eigenschapUrl: formValue.eigenschapUrl,\n eigenschapValue: formValue.eigenschapValue,\n });\n }\n });\n });\n\n this._subscriptions.add(sub);\n }\n\n private handleValid(formValue: UpdateZaakeigenschapConfig): void {\n const valid = !!formValue.eigenschapUrl;\n this.valid$.next(valid);\n this.valid.emit(valid);\n }\n}\n","<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null,\n pluginId: pluginId$ | async,\n selectedInputOption: selectedInputOption$ | async,\n loading: loading$ | async,\n eigenschapItems: eigenschapSelectItems$ | async,\n context: context$ | async,\n } as obs\"\n>\n <ng-container *ngIf=\"obs.loading === false; else loading\">\n <v-radio\n *ngIf=\"obs?.context?.[0] === 'case'\"\n name=\"inputTypeEigenschapToggle\"\n [disabled]=\"obs.disabled\"\n [title]=\"'inputTypeEigenschapToggle' | pluginTranslate: obs.pluginId | async\"\n [radioValues]=\"inputTypeOptions$ | async\"\n [defaultValue]=\"selectedInputOption$ | async\"\n [margin]=\"true\"\n >\n </v-radio>\n\n <v-input\n *ngIf=\"obs.selectedInputOption === 'text'\"\n name=\"eigenschapUrl\"\n [title]=\"'eigenschapUrl' | pluginTranslate: obs.pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.eigenschapUrl\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n [trim]=\"true\"\n [tooltip]=\"'eigenschapUrlTooltip' | pluginTranslate: obs.pluginId | async\"\n [fullWidth]=\"true\"\n >\n </v-input>\n\n <ng-container *ngIf=\"obs.selectedInputOption === 'selection'\">\n <v-select\n [items]=\"obs.eigenschapItems\"\n [margin]=\"true\"\n [widthInPx]=\"350\"\n name=\"eigenschapUrl\"\n [title]=\"'eigenschapUrlSelect' | pluginTranslate: obs.pluginId | async\"\n [disabled]=\"obs.disabled || obs.selectedInputOption === 'text' || !obs.eigenschapItems\"\n [defaultSelectionId]=\"obs.prefill?.eigenschapUrl\"\n [required]=\"true\"\n [loading]=\"!obs.eigenschapItems\"\n [tooltip]=\"'eigenschapUrlSelectTooltip' | pluginTranslate: obs.pluginId | async\"\n ></v-select>\n </ng-container>\n\n <v-input\n name=\"eigenschapValue\"\n [title]=\"'eigenschapValue' | pluginTranslate: obs.pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.eigenschapValue\"\n [disabled]=\"obs.disabled\"\n [required]=\"false\"\n [tooltip]=\"'eigenschapValueTooltip' | pluginTranslate: obs.pluginId | async\"\n [fullWidth]=\"true\"\n >\n </v-input>\n </ng-container>\n</v-form>\n\n<ng-template #loading>\n <div class=\"loading-container\">\n <cds-loading></cds-loading>\n </div>\n</ng-template>\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {FunctionConfigurationComponent} from '../../../../models';\nimport {\n BehaviorSubject,\n combineLatest,\n filter,\n Observable,\n Subscription,\n switchMap,\n take,\n tap,\n} from 'rxjs';\nimport {DeleteZaakeigenschapConfig, InputOption} from '../../models';\nimport {RadioValue, SelectItem} from '@valtimo/components';\nimport {ZakenApiService} from '../../services';\nimport {PluginTranslatePipe} from '../../../../pipes';\nimport {CaseManagementParams, ManagementContext} from '@valtimo/shared';\nimport {map} from 'rxjs/operators';\n\n@Component({\n standalone: false,\n selector: 'valtimo-delete-zaakeigenschap',\n templateUrl: './delete-zaakeigenschap.component.html',\n providers: [PluginTranslatePipe],\n})\nexport class DeleteZaakeigenschapComponent\n implements FunctionConfigurationComponent, OnInit, OnDestroy\n{\n @Input() public save$: Observable<void>;\n @Input() public disabled$: Observable<boolean>;\n @Input() public set pluginId(value: string) {\n this.pluginId$.next(value);\n }\n @Input() public prefillConfiguration$: Observable<DeleteZaakeigenschapConfig>;\n @Input() public context$: Observable<[ManagementContext, CaseManagementParams]>;\n\n @Output() public valid = new EventEmitter<boolean>();\n @Output() public configuration = new EventEmitter<DeleteZaakeigenschapConfig>();\n\n public readonly loading$ = new BehaviorSubject<boolean>(true);\n public readonly selectedInputOption$ = new BehaviorSubject<InputOption>('selection');\n public readonly pluginId$ = new BehaviorSubject<string>('');\n public readonly formValue$ = new BehaviorSubject<DeleteZaakeigenschapConfig | null>(null);\n public readonly valid$ = new BehaviorSubject<boolean>(false);\n public readonly eigenschapSelectItems$ = new BehaviorSubject<SelectItem[]>([]);\n\n public readonly inputTypeOptions$: Observable<Array<RadioValue>> = this.pluginId$.pipe(\n filter(pluginId => !!pluginId),\n switchMap(pluginId =>\n combineLatest([\n this.pluginTranslatePipe.transform('selection', pluginId),\n this.pluginTranslatePipe.transform('text', pluginId),\n ])\n ),\n map(([selectionTranslation, textTranslation]) => [\n {value: 'selection', title: selectionTranslation},\n {value: 'text', title: textTranslation},\n ])\n );\n\n private readonly _subscriptions = new Subscription();\n\n constructor(\n private readonly zakenApiService: ZakenApiService,\n private readonly pluginTranslatePipe: PluginTranslatePipe\n ) {}\n\n public ngOnInit(): void {\n this.initEigenschapHandling();\n this.initSaveHandling();\n }\n\n public ngOnDestroy(): void {\n this._subscriptions.unsubscribe();\n }\n\n formValueChange(formValue: DeleteZaakeigenschapConfig): void {\n this.formValue$.next(formValue);\n this.handleValid(formValue);\n\n if (formValue.inputTypeEigenschapToggle) {\n this.selectedInputOption$.next(formValue.inputTypeEigenschapToggle);\n }\n }\n\n private initEigenschapHandling(): void {\n if (!this.context$) return;\n\n const sub = this.context$\n .pipe(\n filter(([context]) => {\n if (context === 'independent') {\n this.selectedInputOption$.next('text');\n this.loading$.next(false);\n }\n return context === 'case';\n }),\n switchMap(([_, params]) =>\n combineLatest([\n this.zakenApiService.getEigenschappenByCaseAndVersion(\n params.caseDefinitionKey,\n params.caseDefinitionVersionTag\n ),\n this.prefillConfiguration$.pipe(take(1)),\n ])\n ),\n tap(([eigenschappen, prefill]) => {\n const selectItems = eigenschappen.map(item => ({id: item.url, text: item.name}));\n this.eigenschapSelectItems$.next(selectItems);\n\n const matched = selectItems.find(item => item.id === prefill?.eigenschapUrl);\n this.selectedInputOption$.next(matched ? 'selection' : 'text');\n\n this.loading$.next(false);\n })\n )\n .subscribe();\n\n this._subscriptions.add(sub);\n }\n\n private initSaveHandling(): void {\n if (!this.save$) return;\n\n const sub = this.save$.subscribe(() => {\n combineLatest([this.formValue$, this.valid$])\n .pipe(take(1))\n .subscribe(([formValue, valid]) => {\n if (valid) {\n this.configuration.emit({\n eigenschapUrl: formValue.eigenschapUrl,\n });\n }\n });\n });\n\n this._subscriptions.add(sub);\n }\n\n private handleValid(formValue: DeleteZaakeigenschapConfig): void {\n const valid = !!formValue.eigenschapUrl;\n this.valid$.next(valid);\n this.valid.emit(valid);\n }\n}\n","<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null,\n pluginId: pluginId$ | async,\n selectedInputOption: selectedInputOption$ | async,\n loading: loading$ | async,\n eigenschapItems: eigenschapSelectItems$ | async,\n context: context$ | async,\n } as obs\"\n>\n <ng-container *ngIf=\"obs.loading === false; else loading\">\n <v-radio\n *ngIf=\"obs?.context?.[0] === 'case'\"\n name=\"inputTypeEigenschapToggle\"\n [disabled]=\"obs.disabled\"\n [title]=\"'inputTypeEigenschapToggle' | pluginTranslate: obs.pluginId | async\"\n [radioValues]=\"inputTypeOptions$ | async\"\n [defaultValue]=\"selectedInputOption$ | async\"\n [margin]=\"true\"\n >\n </v-radio>\n\n <v-input\n *ngIf=\"obs.selectedInputOption === 'text'\"\n name=\"eigenschapUrl\"\n [title]=\"'eigenschapUrl' | pluginTranslate: obs.pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.eigenschapUrl\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n [trim]=\"true\"\n [tooltip]=\"'eigenschapUrlTooltip' | pluginTranslate: obs.pluginId | async\"\n [fullWidth]=\"true\"\n >\n </v-input>\n\n <ng-container *ngIf=\"obs.selectedInputOption === 'selection'\">\n <v-select\n [items]=\"obs.eigenschapItems\"\n [margin]=\"true\"\n [widthInPx]=\"350\"\n name=\"eigenschapUrl\"\n [title]=\"'eigenschapUrlSelect' | pluginTranslate: obs.pluginId | async\"\n [disabled]=\"obs.disabled || obs.selectedInputOption === 'text' || !obs.eigenschapItems\"\n [defaultSelectionId]=\"obs.prefill?.eigenschapUrl\"\n [required]=\"true\"\n [loading]=\"!obs.eigenschapItems\"\n [tooltip]=\"'eigenschapUrlSelectTooltip' | pluginTranslate: obs.pluginId | async\"\n ></v-select>\n </ng-container>\n </ng-container>\n</v-form>\n\n<ng-template #loading>\n <div class=\"loading-container\">\n <cds-loading></cds-loading>\n </div>\n</ng-template>\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {FunctionConfigurationComponent} from '../../../../models';\nimport {\n BehaviorSubject,\n combineLatest,\n filter,\n map,\n Observable,\n Subscription,\n switchMap,\n take,\n} from 'rxjs';\nimport {RelateerZakenConfig} from '../../models';\nimport {PluginTranslatePipe} from '../../../../pipes';\nimport {SelectItem} from '@valtimo/components';\n\n@Component({\n selector: 'valtimo-relateer-zaken',\n templateUrl: './relateer-zaken.component.html',\n providers: [PluginTranslatePipe],\n standalone: false,\n})\nexport class RelateerZakenComponent implements FunctionConfigurationComponent, OnInit, OnDestroy {\n @Input() save$: Observable<void>;\n @Input() disabled$: Observable<boolean>;\n @Input() set pluginId(value: string) {\n this.pluginId$.next(value);\n }\n @Input() prefillConfiguration$: Observable<RelateerZakenConfig>;\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() configuration: EventEmitter<RelateerZakenConfig> =\n new EventEmitter<RelateerZakenConfig>();\n\n readonly pluginId$ = new BehaviorSubject<string>('');\n public readonly aardRelatieOptions$: Observable<Array<SelectItem>> = this.pluginId$.pipe(\n filter(pluginId => !!pluginId),\n switchMap(pluginId =>\n combineLatest([\n this.pluginTranslatePipe.transform('option-vervolg', pluginId),\n this.pluginTranslatePipe.transform('option-onderwerp', pluginId),\n this.pluginTranslatePipe.transform('option-bijdrage', pluginId),\n ])\n ),\n map(([vervolgText, onderwerpText, bijdrageText]) => [\n {id: 'vervolg', text: vervolgText},\n {id: 'onderwerp', text: onderwerpText},\n {id: 'bijdrage', text: bijdrageText},\n ])\n );\n\n private saveSubscription!: Subscription;\n\n private readonly formValue$ = new BehaviorSubject<RelateerZakenConfig | null>(null);\n private readonly valid$ = new BehaviorSubject<boolean>(false);\n\n constructor(private readonly pluginTranslatePipe: PluginTranslatePipe) {}\n\n ngOnInit(): void {\n this.openSaveSubscription();\n }\n\n ngOnDestroy() {\n this.saveSubscription?.unsubscribe();\n }\n\n formValueChange(formValue: RelateerZakenConfig): void {\n this.formValue$.next(formValue);\n this.handleValid(formValue);\n }\n\n private handleValid(formValue: RelateerZakenConfig): void {\n const valid = !!formValue.teRelaterenZaakUri && !!formValue.aardRelatie;\n\n this.valid$.next(valid);\n this.valid.emit(valid);\n }\n\n private openSaveSubscription(): void {\n this.saveSubscription = this.save$?.subscribe(save => {\n combineLatest([this.formValue$, this.valid$])\n .pipe(take(1))\n .subscribe(([formValue, valid]) => {\n if (valid) {\n this.configuration.emit(formValue);\n }\n });\n });\n }\n}\n","<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"{\n pluginId: pluginId$ | async,\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null,\n } as obs\"\n>\n <v-input\n name=\"teRelaterenZaakUri\"\n [title]=\"'teRelaterenZaakUri' | pluginTranslate: obs.pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.teRelaterenZaakUri\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n ></v-input>\n <v-select\n [items]=\"aardRelatieOptions$ | async\"\n name=\"aardRelatie\"\n [title]=\"'aardRelatie' | pluginTranslate: obs.pluginId | async\"\n [disabled]=\"obs.disabled\"\n [defaultSelectionId]=\"obs.prefill?.aardRelatie\"\n [required]=\"true\"\n ></v-select>\n</v-form>\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport const PatchZaakPropertyOptions = [\n 'description',\n 'explanation',\n 'plannedEndDate',\n 'finalDeliveryDate',\n 'publicationDate',\n 'communicationChannel',\n 'communicationChannelName',\n 'paymentIndication',\n 'lastPaymentDate',\n 'caseGeometryType',\n 'caseGeometryCoordinates',\n 'mainCase',\n 'archiveActionDate',\n 'startDateRetentionPeriod'\n] as const;\nexport type PatchZaakProperties = (typeof PatchZaakPropertyOptions)[number];\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {FunctionConfigurationComponent} from '../../../../models';\nimport {BehaviorSubject, combineLatest, Observable, Subscription, take} from 'rxjs';\nimport {PatchZaakConfig} from '../../models';\nimport {IconService} from 'carbon-components-angular';\nimport {Add16, TrashCan16} from '@carbon/icons';\nimport {PatchZaakProperties, PatchZaakPropertyOptions} from '../../models/patch-zaak-properties';\n\n@Component({\n standalone: false,\n selector: 'valtimo-patch-zaak-configuration',\n templateUrl: './patch-zaak-configuration.component.html',\n styleUrl: './patch-zaak-configuration.component.scss',\n})\nexport class PatchZaakConfigurationComponent implements FunctionConfigurationComponent, OnInit, OnDestroy {\n @Input() disabled$: Observable<boolean>;\n @Input() pluginId: string;\n @Input() save$: Observable<void>;\n @Input() prefillConfiguration$: Observable<PatchZaakConfig>;\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() configuration: EventEmitter<PatchZaakConfig> = new EventEmitter<PatchZaakConfig>();\n\n public readonly propertyOptions: string[] = Object.values(PatchZaakPropertyOptions);\n public readonly propertyList: Array<PatchZaakProperties> = [];\n public readonly geometryTypes: string[] =\n ['Point', 'MultiPoint', 'LineString', 'MultiLineString', 'Polygon', 'GeometryCollection', 'MultiPolygon'];\n public readonly paymentIndicationTypes: string[] = ['nvt', 'nog_niet', 'gedeeltelijk', 'geheel'];\n\n protected readonly CASE_GEOMETRY_TYPE: string = 'caseGeometryType';\n protected readonly CASE_GEOMETRY_COORDINATES: string = 'caseGeometryCoordinates';\n protected readonly PAYMENT_INDICATION_TYPE: string = 'paymentIndication';\n\n private readonly _formValue$ = new BehaviorSubject<PatchZaakConfig>({});\n private readonly _properties = new Map<PatchZaakProperties, string>();\n private _saveSubscription!: Subscription;\n private readonly _valid$ = new BehaviorSubject<boolean>(false);\n\n constructor(\n private readonly iconService: IconService\n ) {\n this.iconService.registerAll([Add16, TrashCan16]);\n }\n\n public ngOnInit(): void {\n this.openSaveSubscription();\n\n this.prefillConfiguration$.pipe(take(1)).subscribe(prefill => {\n if (prefill) {\n PatchZaakPropertyOptions.filter(property => !!prefill[property])\n .forEach(property => this.addProperty(property));\n }\n });\n }\n\n public ngOnDestroy(): void {\n this._saveSubscription?.unsubscribe();\n }\n\n public onFormValueChanged(formValue: PatchZaakConfig): void {\n this._formValue$.next(formValue);\n this.handleValid(formValue);\n }\n\n public onPropertyChanged(property: PatchZaakProperties, value: any): void {\n this._properties.set(property, value);\n const formValue = this._formValue$.value;\n this._properties.forEach((pValue, pKey) => {\n formValue[pKey] = pValue;\n });\n this.onFormValueChanged(formValue);\n }\n\n public prefillValueFor(property: string, prefill: PatchZaakConfig): string | null {\n return (prefill != null) ? prefill[property] : null;\n }\n\n public translationKeyFor(property: string): string {\n return (property === 'description' ? 'omschrijving' : property);\n }\n\n public translationKeyForPropertyList(property: string): string {\n return (property === this.CASE_GEOMETRY_TYPE ? 'caseGeometry' : this.translationKeyFor(property));\n }\n\n public addProperty(property: PatchZaakProperties): void {\n // only add the property to the list if it is not in the list\n if (this.propertyList.indexOf(property) == -1) {\n this.propertyList.push(property);\n this.onPropertyChanged(property, undefined);\n }\n // add linked field coordinates\n if (property === this.CASE_GEOMETRY_TYPE) {\n this.addProperty(this.CASE_GEOMETRY_COORDINATES as PatchZaakProperties);\n }\n }\n\n public removeProperty(property: PatchZaakProperties): void {\n // only remove the property from the list if it is in the list\n if (this.propertyList.indexOf(property) != -1) {\n this.propertyList.splice(this.propertyList.indexOf(property), 1);\n this.onPropertyChanged(property, undefined);\n }\n // remove linked field coordinates\n if (property === this.CASE_GEOMETRY_TYPE) {\n this.removeProperty(this.CASE_GEOMETRY_COORDINATES as PatchZaakProperties);\n }\n }\n\n public hasPropertyBeenAdded(property: PatchZaakProperties): boolean {\n return this.propertyList.indexOf(property) !== -1;\n }\n\n private handleValid(formValue: PatchZaakConfig): void {\n const isPropertyInvalid = this.propertyList.some(property => !!!formValue[property]);\n const valid = !isPropertyInvalid\n this._valid$.next(valid);\n this.valid.emit(valid);\n }\n\n private openSaveSubscription(): void {\n this._saveSubscription = this.save$?.subscribe(save => {\n combineLatest([this._formValue$, this._valid$])\n .pipe(take(1))\n .subscribe(([formValue, valid]) => {\n if (valid) {\n const payload: PatchZaakConfig = { };\n this.propertyList.forEach(property => (payload[property] = formValue[property]));\n this.configuration.emit(formValue);\n }\n });\n });\n }\n}\n","<ng-container\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null\n } as obs\"\n>\n <v-paragraph [margin]=\"true\" [italic]=\"true\">\n {{ 'patchZaakInformation' | pluginTranslate: pluginId | async }}\n </v-paragraph>\n\n <div class=\"row\">\n <div class=\"col-12\">\n <button\n cdsButton=\"primary\"\n [size]=\"'md'\"\n [cdsOverflowMenu]=\"addPropertyList\"\n [customPane]=\"true\"\n placement=\"bottom\"\n class=\"add-button\"\n >\n {{ 'addPatchZaakProperty' | pluginTranslate: pluginId | async }}\n <svg class=\"cds--btn__icon\" cdsIcon=\"add\" size=\"16\"></svg>\n </button>\n </div>\n </div>\n\n <v-form (valueChange)=\"onFormValueChanged($event)\">\n @for (property of propertyList; track property) {\n <div class=\"row\">\n <div class=\"col-11\">\n @if (property === CASE_GEOMETRY_TYPE) {\n <v-input\n [name]=\"CASE_GEOMETRY_TYPE\"\n [title]=\"translationKeyFor(CASE_GEOMETRY_TYPE) | pluginTranslate: pluginId | async\"\n [required]=\"true\"\n [defaultValue]=\"prefillValueFor(CASE_GEOMETRY_TYPE, obs.prefill)\"\n [margin]=\"true\"\n [presetOptions]=\"geometryTypes\"\n (valueChange)=\"onPropertyChanged(CASE_GEOMETRY_TYPE, $event)\"\n />\n } @else if (property === CASE_GEOMETRY_COORDINATES) {\n <v-input\n [name]=\"CASE_GEOMETRY_COORDINATES\"\n [title]=\"translationKeyFor(CASE_GEOMETRY_COORDINATES) | pluginTranslate: pluginId | async\"\n [tooltip]=\"translationKeyFor(`${CASE_GEOMETRY_COORDINATES}Tooltip`) | pluginTranslate: pluginId | async\"\n [required]=\"true\"\n [defaultValue]=\"prefillValueFor(CASE_GEOMETRY_COORDINATES, obs.prefill)\"\n [margin]=\"true\"\n (valueChange)=\"onPropertyChanged(CASE_GEOMETRY_COORDINATES, $event)\"\n />\n } @else if (property.includes('Date')) {\n <v-input\n [name]=\"property\"\n [title]=\"translationKeyFor(property) | pluginTranslate: pluginId | async\"\n [tooltip]=\"'dateformatTooltip' | pluginTranslate: pluginId | async\"\n [required]=\"true\"\n [defaultValue]=\"prefillValueFor(property, obs.prefill)\"\n [margin]=\"true\"\n [trim]=\"true\"\n (valueChange)=\"onPropertyChanged(property, $event)\"\n ></v-input>\n } @else {\n <v-input\n [name]=\"property\"\n [title]=\"translationKeyFor(property) | pluginTranslate: pluginId | async\"\n [required]=\"true\"\n [defaultValue]=\"prefillValueFor(property, obs.prefill)\"\n [margin]=\"true\"\n [trim]=\"true\"\n [presetOptions]=\"(property === PAYMENT_INDICATION_TYPE) ? paymentIndicationTypes : []\"\n (valueChange)=\"onPropertyChanged(property, $event)\"\n />\n }\n </div>\n <div class=\"col-1\">\n @if (property !== CASE_GEOMETRY_COORDINATES) {\n <button\n class=\"btn btn-space delete-button\"\n (click)=\"removeProperty(property)\">\n <svg class=\"cds--btn__icon\" cdsIcon=\"trash-can\" size=\"16\"></svg>\n </button>\n }\n </div>\n </div>\n }\n </v-form>\n</ng-container>\n\n<ng-template #addPropertyList>\n @for (propertyOption of propertyOptions; track propertyOption) {\n @if (propertyOption !== CASE_GEOMETRY_COORDINATES) {\n <cds-overflow-menu-option\n *ngIf=\"!hasPropertyBeenAdded(propertyOption)\"\n (click)=\"addProperty(propertyOption)\"\n >\n {{ translationKeyForPropertyList(propertyOption) | pluginTranslate: pluginId | async }}\n </cds-overflow-menu-option>\n }\n }\n</ng-template>\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {NgModule} from '@angular/core';\nimport {CommonModule} from '@angular/common';\nimport {PluginTranslatePipeModule} from '../../pipes';\nimport {\n FormModule,\n InputLabelModule,\n InputModule,\n ParagraphModule,\n RadioModule,\n SelectModule,\n} from '@valtimo/components';\nimport {\n ButtonModule,\n DatePickerInputModule,\n DialogModule,\n IconModule,\n LoadingModule,\n ToggleModule,\n} from 'carbon-components-angular';\nimport {TranslateModule} from '@ngx-translate/core';\nimport {ZakenApiConfigurationComponent} from './components/zaken-api-configuration/zaken-api-configuration.component';\nimport {LinkDocumentToZaakConfigurationComponent} from './components/link-document-to-zaak/link-document-to-zaak-configuration.component';\nimport {LinkUploadedDocumentToZaakConfigurationComponent} from './components/link-uploaded-document-to-zaak/link-uploaded-document-to-zaak-configuration.component';\nimport {SetZaakStatusConfigurationComponent} from './components/set-zaak-status/set-zaak-status-configuration.component';\nimport {CreateZaakResultaatConfigurationComponent} from './components/create-zaak-resultaat/create-zaak-resultaat-configuration.component';\nimport {CreateMedewerkerZaakRolComponent} from './components/create-medewerker-zaak-rol/create-medewerker-zaak-rol.component';\nimport {CreateNatuurlijkPersoonZaakRolComponent} from './components/create-natuurlijk-persoon-zaak-rol/create-natuurlijk-persoon-zaak-rol.component';\nimport {CreateNietNatuurlijkPersoonZaakRolComponent} from './components/create-niet-natuurlijk-persoon-zaak-rol/create-niet-natuurlijk-persoon-zaak-rol.component';\nimport {CreateOrganisatorischeEenheidZaakRolComponent} from './components/create-organisatorische-eenheid-zaak-rol/create-organisatorische-eenheid-zaak-rol.component';\nimport {CreateVestigingZaakRolComponent} from './components/create-vestiging-zaak-rol/create-vestiging-zaak-rol.component';\nimport {CreateZaakConfigurationComponent} from './components/create-zaak/create-zaak-configuration.component';\nimport {SetZaakopschortingComponent} from './components/set-zaakopschorting/set-zaakopschorting.component';\nimport {StartHersteltermijnConfigurationComponent} from './components/start-hersteltermijn/start-hersteltermijn-configuration.component';\nimport {EndHersteltermijnComponent} from './components/end-hersteltermijn/end-hersteltermijn.component';\nimport {CreateZaakeigenschapComponent} from './components/create-zaakeigenschap/create-zaakeigenschap.component';\nimport {UpdateZaakeigenschapComponent} from './components/update-zaakeigenschap/update-zaakeigenschap.component';\nimport {DeleteZaakeigenschapComponent} from './components/delete-zaakeigenschap/delete-zaakeigenschap.component';\nimport {RelateerZakenComponent} from './components/relateer-zaken/relateer-zaken.component';\nimport {PatchZaakConfigurationComponent} from './components/patch-zaak/patch-zaak-configuration.component';\n\n@NgModule({\n declarations: [\n ZakenApiConfigurationComponent,\n LinkDocumentToZaakConfigurationComponent,\n LinkUploadedDocumentToZaakConfigurationComponent,\n SetZaakStatusConfigurationComponent,\n CreateZaakResultaatConfigurationComponent,\n CreateMedewerkerZaakRolComponent,\n CreateNatuurlijkPersoonZaakRolComponent,\n CreateNietNatuurlijkPersoonZaakRolComponent,\n CreateOrganisatorischeEenheidZaakRolComponent,\n CreateVestigingZaakRolComponent,\n CreateZaakConfigurationComponent,\n SetZaakopschortingComponent,\n StartHersteltermijnConfigurationComponent,\n EndHersteltermijnComponent,\n CreateZaakeigenschapComponent,\n UpdateZaakeigenschapComponent,\n DeleteZaakeigenschapComponent,\n RelateerZakenComponent,\n PatchZaakConfigurationComponent,\n ],\n imports: [\n CommonModule,\n PluginTranslatePipeModule,\n FormModule,\n InputModule,\n SelectModule,\n ParagraphModule,\n ToggleModule,\n InputLabelModule,\n RadioModule,\n LoadingModule,\n ButtonModule,\n DialogModule,\n IconModule,\n TranslateModule,\n DatePickerInputModule,\n ],\n exports: [\n ZakenApiConfigurationComponent,\n LinkDocumentToZaakConfigurationComponent,\n LinkUploadedDocumentToZaakConfigurationComponent,\n SetZaakStatusConfigurationComponent,\n CreateZaakResultaatConfigurationComponent,\n CreateZaakConfigurationComponent,\n CreateMedewerkerZaakRolComponent,\n CreateNatuurlijkPersoonZaakRolComponent,\n CreateNietNatuurlijkPersoonZaakRolComponent,\n CreateOrganisatorischeEenheidZaakRolComponent,\n CreateVestigingZaakRolComponent,\n SetZaakopschortingComponent,\n StartHersteltermijnConfigurationComponent,\n EndHersteltermijnComponent,\n CreateZaakeigenschapComponent,\n UpdateZaakeigenschapComponent,\n DeleteZaakeigenschapComponent,\n RelateerZakenComponent,\n ],\n})\nexport class ZakenApiPluginModule {}\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nconst ZAKEN_API_PLUGIN_LOGO_BASE64 =\n 'data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB2aWV3Qm94PSIxNTAgMTUgOTYgNTAiPjxkZWZzPjxwYXRoIGlkPSJhIiBkPSJNNTcuMzk2LjIxMUguMjgxdjQ5LjQwNWg1Ny4xMTVWLjIxeiIvPjxwYXRoIGlkPSJjIiBkPSJNNTcuNTY0LjIxMUguNDQ4djQ5LjQwNWg1Ny4xMTZWLjIxeiIvPjwvZGVmcz48ZyBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDE4Ny45MzEgMTUpIj48bWFzayBpZD0iYiIgZmlsbD0iI2ZmZiI+PHVzZSB4bGluazpocmVmPSIjYSIvPjwvbWFzaz48cGF0aCBkPSJNNTcuMzk2IDI0LjkxM2MwLTEzLjU3My0xMS4wMDQtMjQuNjIyLTI0LjU2LTI0LjctLjAyNCAwLS4wNDgtLjAwMy0uMDczLS4wMDNIMjQuNzVhMi41MDQgMi41MDQgMCAxIDAgMCA1LjAxaDcuOTQ1YzEwLjg1OCAwIDE5LjY5NCA4LjgzNCAxOS42OTQgMTkuNjkzIDAgMTAuODYtOC44MzYgMTkuNjk0LTE5LjY5NCAxOS42OTRINS4yODl2LTQuNTc4SC4yODF2OS41ODdoMzIuNDgydi0uMDAxYzEzLjU5LS4wNCAyNC42MzMtMTEuMTA1IDI0LjYzMy0yNC43MDIiIGZpbGw9IiMwMDlGRTQiIG1hc2s9InVybCgjYikiLz48L2c+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTUwIDE1KSI+PG1hc2sgaWQ9ImQiIGZpbGw9IiNmZmYiPjx1c2UgeGxpbms6aHJlZj0iI2MiLz48L21hc2s+PHBhdGggZD0iTS40NDggMjQuOTEzYzAgMTMuNTczIDExLjAwNCAyNC42MjIgMjQuNTYgMjQuNy4wMjQgMCAuMDQ4LjAwMy4wNzMuMDAzaDguMDE0YTIuNTA0IDIuNTA0IDAgMSAwIDAtNS4wMDloLTcuOTQ0Yy0xMC44NTkgMC0xOS42OTQtOC44MzQtMTkuNjk0LTE5LjY5NCAwLTEwLjg1OSA4LjgzNS0xOS42OTQgMTkuNjk0LTE5LjY5NGgyNy40MDR2NC41NzhoNS4wMDlWLjIxSDI1LjA4di4wMDFDMTEuNDkuMjUxLjQ0OCAxMS4zMTYuNDQ4IDI0LjkxMyIgZmlsbD0iIzAwOUZFNCIgbWFzaz0idXJsKCNkKSIvPjwvZz48cGF0aCBmaWxsPSIjMDA0Mzg4IiBkPSJNMTc2LjAxNyA0Mi4xMTZsLTQuNjc4LTEyLjQwMWgtNS42NjRsOC4xNCAyMC4zNjZoMy45MjFsOC40MDEtMjAuMzY2aC01LjM2M3ptMjYuNTQyLjU1OGwtNy45MjgtMTIuOTU5aC02LjQxM3YyMC4zNjdoNC45OTdWMzYuNzg3bDguMTUgMTMuMjk1aDYuMTlWMjkuNzE1aC00Ljk5NnptMTkuMzIzLTQuOTR2NC42NjNoMy41Mzd2Mi42NzdhOS43NzMgOS43NzMgMCAwIDEtMS40MTQuNTRjLS42NTIuMjAzLTEuNDQzLjMwNi0yLjM1NC4zMDYtLjg4IDAtMS42ODYtLjE1LTIuMzk0LS40NDhhNS4zMzggNS4zMzggMCAwIDEtMS44MjQtMS4yNDcgNS41MjIgNS41MjIgMCAwIDEtMS4xNy0xLjg5NGMtLjI3Mi0uNzI5LS40MS0xLjU0OS0uNDEtMi40MzMgMC0uODY3LjEzOC0xLjY4MS40MS0yLjQyYTUuNTAyIDUuNTAyIDAgMCAxIDEuMTctMS45MDggNS4zNzQgNS4zNzQgMCAwIDEgMS44MjQtMS4yNDZjLjcwOS0uMjk4IDEuNTE0LS40NDkgMi4zOTQtLjQ0OSAxLjA2NCAwIDEuOTU5LjE1MSAyLjY1Ny40NDkuNy4yOTcgMS4zMzguNzQgMS44OTggMS4zMThsLjI0Mi4yNDggMy41MTUtMy44MzUtLjIzNy0uMjIxYTguOTIzIDguOTIzIDAgMCAwLTMuNjI3LTIuMDM4Yy0xLjM1LS4zODYtMi44NDctLjU4My00LjQ0OC0uNTgzLTEuNTcyIDAtMy4wNDQuMjUtNC4zNzMuNzQ1YTEwLjEzOSAxMC4xMzkgMCAwIDAtMy40ODEgMi4xNDNjLS45NzUuOTI4LTEuNzQ2IDIuMDY2LTIuMjkgMy4zODQtLjU0MyAxLjMxNS0uODE5IDIuOC0uODE5IDQuNDEzIDAgMS42MTMuMjc2IDMuMDk4LjgyIDQuNDEzLjU0NSAxLjMxOSAxLjMxNCAyLjQ1NyAyLjI4OSAzLjM4NC45NzQuOTI2IDIuMTQ2IDEuNjQ3IDMuNDggMi4xNDMgMS4zMy40OTQgMi44MDIuNzQ0IDQuMzc0Ljc0NCAxLjQ2NCAwIDIuOTItLjE1MiA0LjMzLS40NTJhMTYuMDU0IDE2LjA1NCAwIDAgMCA0LjA5LTEuNDc4bC4xNzctLjA5VjM3LjczM2gtOC4zNjZ6Ii8+PC9nPjwvc3ZnPg==';\n\nexport {ZAKEN_API_PLUGIN_LOGO_BASE64};\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport * from './zaken-api-plugin-logo';\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {PluginSpecification} from '../../models';\nimport {ZAKEN_API_PLUGIN_LOGO_BASE64} from './assets';\nimport {LinkDocumentToZaakConfigurationComponent} from './components/link-document-to-zaak/link-document-to-zaak-configuration.component';\nimport {ZakenApiConfigurationComponent} from './components/zaken-api-configuration/zaken-api-configuration.component';\nimport {LinkUploadedDocumentToZaakConfigurationComponent} from './components/link-uploaded-document-to-zaak/link-uploaded-document-to-zaak-configuration.component';\nimport {SetZaakStatusConfigurationComponent} from './components/set-zaak-status/set-zaak-status-configuration.component';\nimport {CreateZaakResultaatConfigurationComponent} from './components/create-zaak-resultaat/create-zaak-resultaat-configuration.component';\nimport {CreateNatuurlijkPersoonZaakRolComponent} from './components/create-natuurlijk-persoon-zaak-rol/create-natuurlijk-persoon-zaak-rol.component';\nimport {CreateNietNatuurlijkPersoonZaakRolComponent} from './components/create-niet-natuurlijk-persoon-zaak-rol/create-niet-natuurlijk-persoon-zaak-rol.component';\nimport {CreateZaakConfigurationComponent} from './components/create-zaak/create-zaak-configuration.component';\nimport {SetZaakopschortingComponent} from './components/set-zaakopschorting/set-zaakopschorting.component';\nimport {StartHersteltermijnConfigurationComponent} from './components/start-hersteltermijn/start-hersteltermijn-configuration.component';\nimport {EndHersteltermijnComponent} from './components/end-hersteltermijn/end-hersteltermijn.component';\nimport {CreateZaakeigenschapComponent} from './components/create-zaakeigenschap/create-zaakeigenschap.component';\nimport {UpdateZaakeigenschapComponent} from './components/update-zaakeigenschap/update-zaakeigenschap.component';\nimport {DeleteZaakeigenschapComponent} from './components/delete-zaakeigenschap/delete-zaakeigenschap.component';\nimport {RelateerZakenComponent} from './components/relateer-zaken/relateer-zaken.component';\nimport {\n CreateOrganisatorischeEenheidZaakRolComponent\n} from './components/create-organisatorische-eenheid-zaak-rol/create-organisatorische-eenheid-zaak-rol.component';\nimport {\n CreateMedewerkerZaakRolComponent\n} from './components/create-medewerker-zaak-rol/create-medewerker-zaak-rol.component';\nimport {\n CreateVestigingZaakRolComponent\n} from './components/create-vestiging-zaak-rol/create-vestiging-zaak-rol.component';\nimport {PatchZaakConfigurationComponent} from './components/patch-zaak/patch-zaak-configuration.component';\n\nconst zakenApiPluginSpecification: PluginSpecification = {\n pluginId: 'zakenapi',\n pluginConfigurationComponent: ZakenApiConfigurationComponent,\n pluginLogoBase64: ZAKEN_API_PLUGIN_LOGO_BASE64,\n functionConfigurationComponents: {\n 'link-document-to-zaak': LinkDocumentToZaakConfigurationComponent,\n 'link-uploaded-document-to-zaak': LinkUploadedDocumentToZaakConfigurationComponent,\n 'set-zaakstatus': SetZaakStatusConfigurationComponent,\n 'create-zaakresultaat': CreateZaakResultaatConfigurationComponent,\n 'create-zaak': CreateZaakConfigurationComponent,\n 'create-natuurlijk-persoon-zaak-rol': CreateNatuurlijkPersoonZaakRolComponent,\n 'create-niet-natuurlijk-persoon-zaak-rol': CreateNietNatuurlijkPersoonZaakRolComponent,\n 'create-medewerker-zaak-rol': CreateMedewerkerZaakRolComponent,\n 'create-organisatorische-eenheid-zaak-rol': CreateOrganisatorischeEenheidZaakRolComponent,\n 'create-vestiging-zaak-rol': CreateVestigingZaakRolComponent,\n 'set-zaakopschorting': SetZaakopschortingComponent,\n 'start-hersteltermijn': StartHersteltermijnConfigurationComponent,\n 'end-hersteltermijn': EndHersteltermijnComponent,\n 'create-zaakeigenschap': CreateZaakeigenschapComponent,\n 'update-zaakeigenschap': UpdateZaakeigenschapComponent,\n 'delete-zaakeigenschap': DeleteZaakeigenschapComponent,\n 'relateer-zaken': RelateerZakenComponent,\n 'patch-zaak': PatchZaakConfigurationComponent\n },\n pluginTranslations: {\n nl: {\n title: 'Zaken API',\n url: 'Zaken API URL',\n urlTooltip:\n 'In dit veld moet de verwijzing komen naar de REST api van Open zaak. Deze url moet dus eindigen op /zaken/api/v1/',\n description:\n 'De API ondersteunt het opslaan en het naar andere applicaties ontsluiten van gegevens over alle gemeentelijke zaken, van elk type.',\n 'link-document-to-zaak': 'Koppel document aan zaak',\n 'link-uploaded-document-to-zaak': 'Koppel geupload document aan zaak',\n linkUploadedDocumentToZaakMessage:\n 'Het koppelen van een geupload document aan een zaak heeft geen configuratie nodig.',\n configurationTitle: 'Configuratienaam',\n configurationTitleTooltip:\n 'Onder deze naam zal de plugin te herkennen zijn in de rest van de applicatie',\n documentUrl: 'URL naar het document',\n documentUrlTooltip:\n 'Dit veld ondersteunt URLs en proces variabelen. Gebruik pv:variable om een proces variabele uit te lezen',\n titel: 'Documenttitel',\n titelTooltip:\n '(Optioneel) Vult het titel veld in de metadata van de link tussen de Zaak en het Document',\n beschrijving: 'Documentbeschrijving',\n beschrijvingTooltip:\n '(Optioneel) Vult het beschrijving veld in de metadata van de link tussen de Zaak en het Document',\n authenticationPluginConfiguration: 'Configuratie authenticatie-plug-in',\n authenticationPluginConfigurationTooltip:\n 'Selecteer de plugin die de authenticatie kan afhandelen. Wanneer de selectiebox leeg blijft zal de authenticatie plugin (bv. OpenZaak) eerst aangemaakt moeten worden',\n linkDocumentInformation:\n 'Deze actie koppelt een document uit de Documenten API aan de zaak die bij het dossier hoort.',\n 'create-zaak': 'Zaak aanmaken',\n createZaakInformation:\n 'Deze actie creëert een zaak in de Zaken API en koppeld de nieuwe zaak aan het dossier.',\n rsin: 'RSIN',\n rsinTooltip: 'Rechtspersonen en Samenwerkingsverbanden Informatienummer',\n verlengingsduur: 'Aantal dagen dat de einddatum wordt verlengd (in cijfers)',\n toelichtingVerlenging: 'Reden voor verlenging',\n toelichtingOpschorting: 'Reden voor opschorting',\n zaakType: 'Zaaktype',\n zaakTypeUrl: 'Zaaktype-URL',\n zaakTypeTooltip: 'In dit veld moet de verwijzing komen naar de type zaak.',\n zaakTypeSelectTooltip:\n 'In dit veld moet de verwijzing komen naar de type zaak. Als er slechts één zaaktype beschikbaar is, wordt deze standaard geselecteerd.',\n inputTypeZaakTypeToggle: 'Invoertype Zaaktype-URL',\n text: 'Tekst',\n selection: 'Selectie',\n 'create-natuurlijk-persoon-zaak-rol': 'Zaakrol aanmaken - Natuurlijk persoon',\n 'create-niet-natuurlijk-persoon-zaak-rol': 'Zaakrol aanmaken - Niet natuurlijk persoon',\n 'create-medewerker-zaak-rol': 'Zaakrol aanmaken - Medewerker',\n 'create-organisatorische-eenheid-zaak-rol': 'Zaakrol aanmaken - Organisatorische eenheid',\n 'create-vestiging-zaak-rol': 'Zaakrol aanmaken - Vestiging',\n 'set-zaakopschorting': 'Schort een zaak op',\n 'start-hersteltermijn': 'Start hersteltermijn',\n startRecoveryPeriodInformation:\n 'Deze actie start een hersteltermijn voor de zaak die aan dit proces is gekoppeld.',\n maxDurationInDays: 'Maximale duur in dagen',\n maxDurationInDaysTooltip:\n 'De ingevoerde waarde vertegenwoordigt de maximale duur van de hersteltermijn in dagen.',\n 'end-hersteltermijn': 'Beëindig hersteltermijn',\n endHersteltermijnInformation: 'Beëindigt de momenteel lopende hersteltermijn van de Zaak',\n 'create-zaakeigenschap': 'Creëer zaakeigenschap',\n 'update-zaakeigenschap': 'Bijwerken zaakeigenschap',\n 'delete-zaakeigenschap': 'Verwijder zaakeigenschap',\n eigenschapUrl: 'Eigenschap URL',\n eigenschapUrlTooltip: 'URL-referentie naar de eigenschap.',\n eigenschapValue: 'Eigenschap waarde',\n eigenschapValueTooltip: 'De waarde van de zaakeigenschap',\n eigenschapUrlSelect: 'Eigenschap',\n eigenschapUrlSelectTooltip: 'Selecteer een eigenschap.',\n inputTypeEigenschapToggle: 'Invoertype eigenschap-URL',\n caseDefinitionTooltipEigenschap:\n 'Selecteer de dossierdefinitie waarvan u een eigenschap wilt selecteren. Als er slechts één eigenschap beschikbaar is, wordt deze standaard geselecteerd.',\n roltypeUrl: 'Roltype URL',\n rolToelichting: 'Roltoelichting',\n inpBsn: 'Initiator BSN',\n anpIdentificatie: 'Ander natuurlijk persoon identificatie',\n annIdentificatie: 'Ander niet natuurlijk persoon identificatie',\n annIdentificatieTooltip:\n 'Het door de gemeente uitgegeven unieke nummer voor een ander niet-natuurlijk persoon (annIdentificatie). (Max. 17 tekens)',\n inpA_nummer: 'Administratienummer persoon',\n innNnpId: 'Niet natuurlijk persoonsnummer',\n innNnpIdTooltip:\n 'Het door een kamer toegekend uniek nummer voor de ingeschreven niet-natuurlijk persoon (innNnpId). (Max. 9 tekens)',\n roltypeUrlTooltip: 'URL naar een roltype binnen het Zaaktype van een Zaak',\n rolToelichtingTooltip: 'Omschrijving van de aard van de rol',\n inpBsnTooltip: 'Het burgerservicenummer van de initiator (Numeriek, max 9 tekens)',\n anpIdentificatieTooltip:\n 'Het door de gemeente uitgegeven unieke nummer voor een ander natuurlijk persoon. (Max. 17 tekens)',\n inpA_nummerTooltip: 'Het administratienummer van de persoon, bedoeld in de Wet BRP. (Numeriek, max. 10 tekens)',\n 'set-zaakstatus': 'Zaakstatus aanmaken',\n statustypeUrl: 'Zaakstatus type URL',\n statustypeUrlTooltip: 'URL-referentie naar het statustype.',\n statustoelichting: 'Zaakstatus toelichting',\n statustoelichtingTooltip:\n 'Een, voor de initiator van de zaak relevante, toelichting op de status van een zaak.',\n 'create-zaakresultaat': 'Zaakresultaat aanmaken',\n resultaattypeUrl: 'Zaakresultaat type URL',\n resultaattypeUrlTooltip: 'URL-referentie naar het resultaattype.',\n resultaattoelichting: 'Zaakresultaat toelichting',\n resultaattoelichtingTooltip: 'Een toelichting op wat het resultaat van de zaak inhoudt.',\n caseDefinition: 'Dossierdefinitie',\n caseDefinitionTooltip:\n 'Selecteer de dossierdefinitie waarvan u een Zaakstatus-type wilt selecteren. Als er slechts één statustype beschikbaar is, wordt deze standaard geselecteerd.',\n caseDefinitionTooltipResultaat:\n 'Selecteer de dossierdefinitie waarvan u een Zaakresultaat-type wilt selecteren. Als er slechts één resultaattype beschikbaar is, wordt deze standaard geselecteerd.',\n statustypeUrlSelect: 'Zaakstatus',\n statustypeUrlSelectTooltip: 'Selecteer het statustype.',\n resultaattypeUrlSelect: 'Zaakresultaat',\n resultaattypeUrlSelectTooltip: 'Selecteer het resultaattype.',\n inputTypeZaakStatusToggle: 'Invoertype Zaakstatus-URL',\n inputTypeZaakResultaatToggle: 'Invoertype Zaakresultaat-URL',\n addZaakProperty: 'Voeg nieuwe parameter toe',\n 'relateer-zaken': 'Relateer zaken',\n teRelaterenZaakUri: 'URL naar de te relateren zaak',\n aardRelatie: 'Aard van de relatie',\n 'option-vervolg': 'De andere zaak gaf aanleiding tot het starten van de onderhanden zaak.',\n 'option-onderwerp':\n 'De andere zaak is relevant voor cq. is onderwerp van de onderhanden zaak.',\n 'option-bijdrage':\n 'Aan het bereiken van de uitkomst van de andere zaak levert de onderhanden zaak een bijdrage.',\n identificatie: 'Identificatie',\n identificatieMedewerkerTooltip: 'Een korte unieke aanduiding van de medewerker. (Max. 24 tekens)',\n identificatieOrganisatorischeEenheidTooltip: 'Een korte identificatie van de organisatorische eenheid. (Max. 24 tekens)',\n voorletters: 'Voorletters',\n voorlettersTooltip: 'De verzameling letters die gevormd wordt door de eerste letter van alle in volgorde voorkomende voornamen. (Max. 20 tekens)',\n achternaam: 'Achternaam',\n achternaamTooltip: 'De achternaam zoals de medewerker die in het dagelijkse verkeer gebruikt. (Max. 200 tekens)',\n voorvoegselAchternaam: 'Achternaam voorvoegsel',\n voorvoegselAchternaamTooltip: 'Deel van de geslachtsnaam dat voorkomt in Tabel 36 (GBA), voorvoegseltabel, en door een spatie van de geslachtsnaam is. (Max. 10 tekens)',\n afwijkendeNaamBetrokkene: 'Afwijkende naam betrokkene',\n afwijkendeNaamBetrokkeneTooltip: 'De naam van de betrokkene waaronder deze in relatie tot de zaak aangesproken wil worden. (Max. 625 tekens)',\n indicatieMachtiging: 'Indicatie machtiging',\n indicatieMachtigingTooltip: 'Het type machtiging.',\n nvt: 'N.v.t',\n gemachtigde: 'Gemachtigde',\n machtiginggever: 'Machtiginggever',\n naam: 'Naam',\n naamTooltip: 'De feitelijke naam van de organisatorische eenheid.',\n isGehuisvestIn: 'Is gehuisvest in',\n isGehuisvestInTooltip: 'Locatie waar de organisatorische eenheid gehuisvest is. (Max. 24 tekens)',\n handelsnaam: 'Handelsnaam',\n handelsnaamTooltip: 'De naam van de vestiging waaronder gehandeld wordt. (Max. 625 tekens)',\n kvkNummer: 'KVK-nummer',\n kvkNummerTooltip: 'Een uniek nummer toegekend door de Kamer van Koophandel. (Max. 8 tekens)',\n vestigingsNummer: 'Vestigingsnummer',\n vestigingsNummerTooltip: 'Een korte unieke aanduiding van de Vestiging. (Max. 24 tekens)',\n 'patch-zaak': 'Zaak bijwerken',\n patchZaakInformation: 'Deze actie maakt het mogelijk eigenschappen van de Zaak in de Zaken API gekoppeld aan het dossier bij te werken.',\n addPatchZaakProperty: 'Voeg parameter toe',\n dateformatTooltip:\n 'Een datum in formaat van yyyy-mm-dd. Kan ook een verwijzing zijn naar het document of process, bijvoorbeeld doc:customer/startDatum of pv:startDatum',\n omschrijving: 'Omschrijving',\n explanation: 'Toelichting',\n plannedEndDate: 'Geplande eind datum',\n finalDeliveryDate: 'Laatste opleveringsdatum',\n publicationDate: 'Publicatiedatum',\n communicationChannel: 'Communicatiekanaal (URL)',\n communicationChannelName: 'Communicatiekanaal naam',\n paymentIndication: 'Betalingsindicatie',\n lastPaymentDate: 'Laatste betaaldatum',\n caseGeometry: 'Zaakgeometrie',\n caseGeometryType: 'Zaakgeometrie type',\n caseGeometryCoordinates: 'Zaakgeometrie coördinaten',\n caseGeometryCoordinatesTooltip: 'Lijst van punten, bv [0.0, 1.0]',\n mainCase: 'Hoofdzaak',\n archiveActionDate: 'Archief actiedatum',\n startDateRetentionPeriod: 'Startdatum bewaartermijn'\n },\n en: {\n title: 'Zaken API',\n url: 'URL',\n urlTooltip:\n 'This field must contain the URL to the rest API of Open Zaak, therefore this URL should end with /zaken/api/v1/',\n description:\n 'The API supports the storage and disclosure of data on all municipal matters to other applications, of all types.',\n 'link-document-to-zaak': 'Link document to zaak',\n 'link-uploaded-document-to-zaak': 'Link uploaded document to zaak',\n linkUploadedDocumentToZaakMessage:\n 'Linking an uploaded document to a zaak requires no configuration.',\n configurationTitle: 'Configuration name',\n configurationTitleTooltip:\n 'With this name the plugin will be recognizable in the rest of the application',\n documentUrl: 'URL to the document',\n documentUrlTooltip:\n 'This field supports URLs and process variables. Use pv:variable to read a process variable',\n titel: 'Document title',\n titelTooltip:\n '(Optional) Fills the title field in the metadata of the link between the Zaak and the Document',\n beschrijving: 'Document description',\n beschrijvingTooltip:\n '(Optional) Fills the description field in the metadata of the link between the Zaak and the Document',\n authenticationPluginConfiguration: 'Authentication plugin configuration',\n authenticationPluginConfigurationTooltip:\n 'Select the plugin that can handle the authentication. If the selection box remains empty, the authentication plugin (e.g. OpenZaak) will have to be created first',\n linkDocumentInformation:\n 'This action links a document from the Documents API to the zaak associated with the case.',\n 'create-zaak': 'Create zaak',\n createZaakInformation:\n 'This action creates a zaak in the Zaken API and links the new zaak with the case.',\n rsin: 'RSIN',\n rsinTooltip: 'Legal Entities and Partnerships Information Number',\n verlengingsduur: 'Amount of days to prolong (in numbers)',\n toelichtingVerlenging: 'Reason for prolonging',\n toelichtingOpschorting: 'Reason for suspending',\n zaakType: 'Zaaktype',\n zaakTypeUrl: 'Zaaktype URL',\n zaakTypeTooltip: 'In this field the reference must be made to the type of the zaak.',\n zaakTypeSelectTooltip:\n 'In this field the reference must be made to the type of the zaak. If only one zaaktype is available, it will be selected by default.',\n inputTypeZaakTypeToggle: 'Input type Zaaktype-URL',\n text: 'Text',\n selection: 'Selection',\n 'create-natuurlijk-persoon-zaak-rol': 'Create Zaakrol - natural person',\n 'create-niet-natuurlijk-persoon-zaak-rol': 'Create Zaakrol - not a natural person',\n 'create-medewerker-zaak-rol': 'Create Zaakrol - Employee',\n 'create-organisatorische-eenheid-zaak-rol': 'Create Zaakrol - Organizational unit',\n 'create-vestiging-zaak-rol': 'Create Zaakrol - Branch',\n 'set-zaakopschorting': 'Suspend case',\n 'start-hersteltermijn': 'Start recovery period',\n startHersteltermijnInformation:\n 'This action initiates a recovery period for the case associated with this process.',\n maxDurationInDays: 'Maximum duration in days',\n maxDurationInDaysTooltip:\n 'The entered value represents the maximum duration of the recovery period in days.',\n 'end-hersteltermijn': 'End recovery period',\n endHersteltermijnInformation: 'Ends the currently running recovery period of the Zaak',\n 'create-zaakeigenschap': 'Create zaakeigenschap',\n 'update-zaakeigenschap': 'Update zaakeigenschap',\n 'delete-zaakeigenschap': 'Delete zaakeigenschap',\n eigenschapUrl: 'Property URL',\n eigenschapUrlTooltip: 'URL reference to the eigenschap.',\n eigenschapValue: 'Eigenschap value',\n eigenschapValueTooltip: 'The value of the zaakeigenschap',\n eigenschapUrlSelect: 'Eigenschap',\n eigenschapUrlSelectTooltip: 'Select a eigenschap.',\n inputTypeEigenschapToggle: 'Input type eigenschap-URL',\n caseDefinitionTooltipEigenschap:\n 'Select the case definition from which you want to select an eigenschap. If only one eigenschap is available, it will be selected by default.',\n roltypeUrl: 'Role type URL',\n rolToelichting: 'Role explanation',\n inpBsn: 'Initiator BSN',\n anpIdentificatie: 'Other natural person identification',\n annIdentificatie: 'Other not natural person identification',\n annIdentificatieTooltip:\n 'The unique number issued by the municipality for another non-natural person (annIdentificatie). (Max. 17 characters)',\n inpA_nummer: 'Administration number person',\n innNnpId: 'Not a natural personal number',\n innNnpIdTooltip:\n 'The unique number assigned by the government for the registered non-natural person (innNnpId). (Max. 9 characters)',\n roltypeUrlTooltip: 'URL to a role type within the Zaaktype of a Zaak',\n rolToelichtingTooltip: 'Description of the nature of the role',\n inpBsnTooltip: \"The initiator's social security number\",\n anpIdentificatieTooltip:\n 'The unique number issued by the municipality for another natural person. (Max. 17 characters)',\n inpA_nummerTooltip: 'The administration number of the person, as referred to in the Wet BRP. (Numeric, max. 10 characters)',\n 'set-zaakstatus': 'Create zaakstatus',\n statustypeUrl: 'Zaakstatus type URL',\n statustypeUrlTooltip: 'URL reference to the status type.',\n statustoelichting: 'Zaakstatus explanation',\n statustoelichtingTooltip:\n 'An explanation of the status of a zaak that is relevant to the initiator of the zaak.',\n 'create-zaakresultaat': 'Create Zaakresultaat',\n resultaattypeUrl: 'Zaakresultaat type URL',\n resultaattypeUrlTooltip: 'URL reference to the resultaat type.',\n resultaattoelichting: 'Zaakresultaat explanation',\n resultaattoelichtingTooltip: 'An explanation of what the result of the zaak means.',\n caseDefinition: 'Case definition',\n caseDefinitionTooltip:\n 'Select the case definition from which you want to select a Zaakstatus type. If only one status type is available, it will be selected by default.',\n caseDefinitionTooltipResultaat:\n 'Select the case definition from which you want to select a Resultaat type. If only one resultaat type is available, it will be selected by default.',\n statustypeUrlSelect: 'Zaakstatus',\n statustypeUrlSelectTooltip: 'Select the status type.',\n resultaattypeUrlSelect: 'Zaakresultaat',\n resultaattypeUrlSelectTooltip: 'Select the resultaat type.',\n inputTypeZaakStatusToggle: 'Input type Zaakstatus-URL',\n inputTypeZaakResultaatToggle: 'Input type Zaakresultaat-URL',\n addZaakProperty: 'Add new case property',\n 'relateer-zaken': 'Add relation between two Zaken',\n teRelaterenZaakUri: 'URL to the Zaak to be related',\n aardRelatie: 'Nature of the relationship',\n 'option-vervolg': 'The other Zaak prompted the start of the current Zaak.',\n 'option-onderwerp': 'The other Zaak is relevant to or the subject of the current Zaak.',\n 'option-bijdrage': 'The current Zaak contributes to the outcome of the other Zaak.',\n identificatie: 'Identification',\n identificatieMedewerkerTooltip: 'A short unique designation of the employee. (Max. 24 characters)',\n identificatieOrganisatorischeEenheidTooltip: 'A short identification of the organizational unit. (Max. 24 characters)',\n voorletters: 'Initials',\n voorlettersTooltip: 'The collection of letters formed by the first letter of all forenames in order. (Max. 20 characters)',\n achternaam: 'Last name',\n achternaamTooltip: 'The last name as used by the employee in daily life. (Max. 200 characters)',\n voorvoegselAchternaam: 'Prefix to last name',\n voorvoegselAchternaamTooltip: 'Part of the genus name that appears in Table 36 (GBA), prefix table, and is separated from the genus name by a space. (Max. 10 characters)',\n afwijkendeNaamBetrokkene: 'Alternative name of the person involved',\n afwijkendeNaamBetrokkeneTooltip: 'The name of the person involved under which they wish to be addressed in relation to the case. (Max. 625 characters)',\n indicatieMachtiging: 'Authorization indication',\n indicatieMachtigingTooltip: 'The type that represents the authorization indication',\n nvt: 'N/A',\n gemachtigde: 'Authorized representative',\n machtiginggever: 'Authorizing party',\n naam: 'Name',\n naamTooltip: 'The actual name of the organizational unit.',\n isGehuisvestIn: 'Is housed in',\n isGehuisvestInTooltip: 'Location where the organizational unit is housed. (Max. 24 characters)',\n handelsnaam: 'Trade name',\n handelsnaamTooltip: 'The name of the establishment where the business is conducted. (Max. 625 characters)',\n kvkNummer: 'Chamber of Commerce number',\n kvkNummerTooltip: 'A unique number assigned by the Chamber of Commerce. (Max. 8 characters)',\n vestigingsNummer: 'Branch number',\n vestigingsNummerTooltip: 'A short unique designation of the branch. (Max. 24 characters)',\n 'patch-zaak': 'Update zaak',\n patchZaakInformation: 'This action allows you to update properties of a Zaak in the Zaken API which is linked to the case.',\n dateformatTooltip:\n 'A date in the format of yyyy-mm-dd. Can also be a reference to the document or process, for example doc:customer/startDate or pv:startDate',\n addPatchZaakProperty: 'Add property',\n omschrijving: 'Description',\n explanation: 'Explanation',\n plannedEndDate: 'Planned end date',\n finalDeliveryDate: 'Final delivery date',\n publicationDate: 'Publication date',\n communicationChannel: 'Communication channel (URL)',\n communicationChannelName: 'Communication channel name',\n paymentIndication: 'Payment indication',\n lastPaymentDate: 'Last payment date',\n caseGeometry: 'Case geometry',\n caseGeometryType: 'Case geometry type',\n caseGeometryCoordinates: 'Case geometry coordinates',\n caseGeometryCoordinatesTooltip: 'List of points, i.e. [0.0, 1.0]',\n mainCase: 'Main case',\n archiveActionDate: 'Archive action date',\n startDateRetentionPeriod: 'Start date of retention period'\n },\n de: {\n title: 'Zaken API',\n url: 'URL',\n urlTooltip:\n 'Dieses Feld muss die URL zur rest API von Open Zaak enthalten, daher sollte diese URL mit enden /zaken/api/v1/',\n description:\n 'Die API unterstützt die Speicherung und Weitergabe von Daten zu allen kommunalen Belangen an andere Anwendungen.',\n 'link-document-to-zaak': 'Dokument mit Zaak verknüpfen',\n 'link-uploaded-document-to-zaak': 'Hochgeladenes Dokument mit Zaak verknüpfen',\n linkUploadedDocumentToZaakMessage:\n 'Das Verknüpfen eines hochgeladenen Dokuments mit einem Zaak erfordert keine Konfiguration.',\n configurationTitle: 'Konfigurationsname',\n configurationTitleTooltip:\n 'An diesem Namen wird das Plugin im Rest der Anwendung erkennbar sein',\n documentUrl: 'URL zum Dokument',\n documentUrlTooltip:\n 'Dieses Feld unterstützt URLs und Prozessvariablen. Verwenden Sie pv:Variablen, um eine Prozessvariable zu lesen',\n titel: 'Dokumenttitel',\n titelTooltip:\n '(Optional) Füllt das Titelfeld in den Metadaten des Links zwischen dem Zaak und dem Dokument aus',\n beschrijving: 'Dokumentbeschreibung',\n beschrijvingTooltip:\n '(Optional) Füllt das Beschreibungsfeld in den Metadaten des Links zwischen dem Zaak und dem Dokument aus',\n authenticationPluginConfiguration: 'Authentifizierungs-Plugin-Konfiguration',\n authenticationPluginConfigurationTooltip:\n 'Wählen Sie das Plugin aus, das die Authentifizierung verarbeiten kann. Bleibt das Auswahlfeld leer, muss zunächst das Authentifizierungs-Plugin (z. B. OpenZaak) erstellt werden',\n linkDocumentInformation:\n 'Diese Aktion verknüpft ein Dokument aus der Dokumenten-API mit dem mit dem Fall verknüpften Zaak.',\n 'create-zaak': 'Zaak erschaffen',\n createZaakInformation:\n 'Diese Aktion hat einen zaak in der Zaken-API definiert und den neuen zaak mit dem Fall verknüpft.',\n rsin: 'RSIN',\n rsinTooltip: 'Informationsnummer für juristische Personen und Partnerschaften.',\n verlengingsduur: 'Anzahl der Tage, um die das Enddatum verlängert wird (in Zahlen)',\n toelichtingVerlenging: 'Grund für die Verlängerung',\n toelichtingOpschorting: 'Grund für die Suspendierung',\n zaakType: 'Zaaktype',\n zaakTypeUrl: 'Zaaktype-URL',\n zaakTypeTooltip: 'In diesem Feld muss auf die zaaktype verwiesen werden.',\n zaakTypeSelectTooltip:\n 'In diesem Feld muss auf die zaaktype verwiesen werden. Wenn nur ein Zaaktyp verfügbar ist, wird dieser standardmäßig ausgewählt.',\n inputTypeZaakTypeToggle: 'Eingabetyp Zaaktype-URL',\n text: 'Text',\n selection: 'Auswahl',\n 'create-natuurlijk-persoon-zaak-rol': 'Zaakrol erstellen – natürliche Person',\n 'create-niet-natuurlijk-persoon-zaak-rol': 'Zaakrol erstellen – keine natürliche Person',\n 'create-medewerker-zaak-rol': 'Zaakrol erstellen – Mitarbeiter',\n 'create-organisatorische-eenheid-zaak-rol': 'Zaakrol erstellen – Organisationseinheit',\n 'create-vestiging-zaak-rol': 'Zaakrol erstellen – Niederlassung',\n 'set-zaakopschorting': 'Einen Fall aussetzen',\n 'start-hersteltermijn': 'Beginnen Sie mit der Erholungsphase',\n startHersteltermijnInformation:\n 'Diese Aktion startet eine Erholungszeit für den Fall, der mit diesem Prozess verknüpft ist.',\n maxDurationInDays: 'Maximale Dauer in Tagen',\n maxDurationInDaysTooltip:\n 'Der eingegebene Wert stellt die maximale Dauer der Erholungszeit in Tagen dar.',\n 'end-hersteltermijn': 'Beenden Sie mit der Erholungsphase',\n endHersteltermijnInformation: 'Beenden die aktuelle Erholungsphase des Case',\n 'create-zaakeigenschap': 'Zaakeigenschaft erstellen',\n 'update-zaakeigenschap': 'Zaakeigenschaft aktualisieren',\n 'delete-zaakeigenschap': 'Zaakeigenschaft löschen',\n eigenschapUrl: 'Eigenschafts-URL',\n eigenschapUrlTooltip: 'URL-Referenz zur Eigenschaft.',\n eigenschapValue: 'Eigenschaftswert',\n eigenschapValueTooltip: 'Der Wert der Zaakeigenschaft',\n inputTypeEigenschapToggle: 'Eingabetyp eigenschap-URL',\n eigenschapUrlSelect: 'Eigenschap',\n eigenschapUrlSelectTooltip: 'Wählen Sie den eigenschap aus.',\n caseDefinitionTooltipEigenschap:\n 'Wählen Sie die eigenschap aus, aus der Sie einen eigenschap auswählen möchten. Wenn nur ein Statustyp verfügbar ist, wird dieser standardmäßig ausgewählt.',\n roltypeUrl: 'Rollentyp-URL',\n rolToelichting: 'Rollenerklärung',\n inpBsn: 'Initiator BSN',\n anpIdentificatie: 'Andere Identifizierung natürlicher Personen',\n annIdentificatie: 'Andere Identifizierung keine natürlicher Personen',\n annIdentificatieTooltip:\n 'Die eindeutige Nummer, die von der Gemeinde für eine andere nicht natürliche Person vergeben wird (annIdentificatie). (Max. 17 Zeichen)',\n inpA_nummer: 'Verwaltungsnummer Person',\n innNnpId: 'Keine natürliche Personennummer',\n innNnpIdTooltip:\n 'Die von der Regierung vergebene eindeutige Nummer für die registrierte nicht natürliche Person (innNnpId). (Max. 9 Zeichen)',\n roltypeUrlTooltip: 'URL zu einem Rollentyp innerhalb des Zaaktypes eines Zaaks',\n rolToelichtingTooltip: 'Beschreibung der Art der Rolle',\n inpBsnTooltip: 'Die Sozialversicherungsnummer des Initiators',\n anpIdentificatieTooltip:\n 'Die eindeutige Nummer, die von der Gemeinde für eine andere natürliche Person vergeben wird. (Max. 17 Zeichen)',\n inpA_nummerTooltip: 'Die Verwaltungsnummer der Person im Sinne des Wet BRP. (Numerisch, max. 10 Zeichen)',\n 'set-zaakstatus': 'Fallstatus erstellen',\n statustypeUrl: 'URL des Zaakstatustyps',\n statustypeUrlTooltip: 'URL-Referenz zum Statustyp.',\n statustoelichting: 'Erklärung des Zaakstatus',\n statustoelichtingTooltip:\n 'Eine Erklärung des Status eines zaak, die für den Initiator des Zaak relevant ist.',\n 'create-zaakresultaat': 'Zaakgebnis erstellen',\n resultaattypeUrl: 'URL des Zaakgebnistyps',\n resultaattypeUrlTooltip: 'URL-Verweis auf den Ergebnistyp.',\n resultaattoelichting: 'Geschäftsergebniserklärung',\n resultaattoelichtingTooltip: 'Eine Erklärung, was das Ergebnis des Zaak beinhaltet.',\n caseDefinition: 'Falltyp',\n caseDefinitionTooltip:\n 'Wählen Sie die Falltyp aus, aus der Sie einen Zaakstatus-typ auswählen möchten. Wenn nur ein Statustyp verfügbar ist, wird dieser standardmäßig ausgewählt.',\n caseDefinitionTooltipResultaat:\n 'Wählen Sie die Falltyp aus, aus der Sie einen Zaakresultaat-typ auswählen möchten. Wenn nur ein Resultaattyp verfügbar ist, wird dieser standardmäßig ausgewählt.',\n statustypeUrlSelect: 'Zaakstatus',\n statustypeUrlSelectTooltip: 'Wählen Sie den Statustyp aus.',\n resultaattypeUrlSelect: 'Zaakresultaat',\n resultaattypeUrlSelectTooltip: 'Wählen Sie den Resultaattype aus.',\n inputTypeZaakStatusToggle: 'Eingabetyp Zaakstatus-URL',\n inputTypeZaakResultaatToggle: 'Eingabetyp Zaakresultaat-URL',\n addZaakProperty: 'Neue Case-Eigenschaft hinzufügen',\n 'relateer-zaken': 'Beziehung zwischen Zaken herstellen',\n teRelaterenZaakUri: 'URL zum zu verknüpfenden Zaak',\n aardRelatie: 'Art der Beziehung',\n 'option-vervolg': 'Der andere Zaak gab Anlass zur Einleitung des aktuellen Zaak.',\n 'option-onderwerp': 'Der andere Zaak ist relevant für bzw. Gegenstand des aktuellen Zaak.',\n 'option-bijdrage': 'Der aktuelle Zaak trägt zum Ergebnis des anderen Zaak bei.',\n identificatie: 'Identifikation',\n identificatieMedewerkerTooltip: 'Eine kurze, eindeutige Bezeichnung des Mitarbeiters. (Max. 24 Zeichen)',\n identificatieOrganisatorischeEenheidTooltip: 'Eine kurze Identifikation der organisatorischen Einheit. (Max. 24 Zeichen)',\n voorletters: 'Initialen',\n voorlettersTooltip: 'Die Sammlung von Buchstaben, die durch den ersten Buchstaben aller in Reihenfolge vorkommenden Vornamen gebildet wird.',\n achternaam: 'Nachname',\n achternaamTooltip: 'Der Nachname, wie ihn der Mitarbeiter im täglichen Verkehr verwendet. (Max. 200 Zeichen)',\n voorvoegselAchternaam: 'Nachnamenspräfix',\n voorvoegselAchternaamTooltip: 'Teil des Gattungsnamens, der in Tabelle 36 (GBA), Präfixtabelle, erscheint und durch ein Leerzeichen vom Gattungsnamen getrennt ist. (Max. 10 Zeichen)',\n afwijkendeNaamBetrokkene: 'Abweichender Name der betroffenen Person',\n afwijkendeNaamBetrokkeneTooltip: 'Der Name der betroffenen Person, unter dem sie im Zusammenhang mit dem Vorgang angesprochen werden möchte. (Max. 625 Zeichen)',\n indicatieMachtiging: 'Vollmachtsanzeige',\n indicatieMachtigingTooltip: 'Der Typ, der die Vollmachtsanzeige darstellt',\n nvt: 'Nicht zutreffend',\n gemachtigde: 'Bevollmächtigter',\n machtiginggever: 'Vollmachtgeber',\n naam: 'Name',\n naamTooltip: 'Der tatsächliche Name der organisatorischen Einheit.',\n isGehuisvestIn: 'Ist untergebracht in',\n isGehuisvestInTooltip: 'Ort, an dem die organisatorische Einheit untergebracht ist. (Max. 24 Zeichen)',\n handelsnaam: 'Handelsname',\n handelsnaamTooltip: 'Der Name der Niederlassung, in der das Geschäft betrieben wird. (Max. 625 Zeichen)',\n kvkNummer: 'Handelskammernummer',\n kvkNummerTooltip: 'Eine eindeutige Nummer, die von der Handelskammer vergeben wird. (Max. 8 Zeichen)',\n vestigingsNummer: 'Niederlassungsnummer',\n vestigingsNummerTooltip: 'Eine kurze eindeutige Bezeichnung der Niederlassung. (Max. 24 Zeichen)',\n 'patch-zaak': 'Zaak aktualisieren',\n patchZaakInformation: 'Mit dieser Aktion können Sie die Eigenschaften des Falls in der mit der Datei verknüpften Zaken-API aktualisieren.',\n addPatchZaakProperty: 'Parameter hinzufügen',\n dateformatTooltip:\n 'Ein Datum im Format yyyy-mm-dd. Kann auch ein Verweis auf das Dokument oder den Prozess sein, zum Beispiel doc:kunde/startDatum oder pv:startDatum',\n omschrijving: 'Beschreibung',\n explanation: 'Erläuterung',\n plannedEndDate: 'Geplantes Enddatum',\n finalDeliveryDate: 'Letztes Lieferdatum',\n publicationDate: 'Veröffentlichungsdatum',\n communicationChannel: 'Kommunikationskanal (URL)',\n communicationChannelName: 'Name des Kommunikationskanals',\n paymentIndication: 'Zahlungsanzeige',\n lastPaymentDate: 'Letztes Zahlungsdatum',\n caseGeometry: 'Vorgangsgeometrie',\n caseGeometryType: 'Vorgangsgeometrie type',\n caseGeometryCoordinates: 'Vorgangsgeometrie Koordinaten',\n caseGeometryCoordinatesTooltip: 'Liste von Punkten, zB [0.0, 1.0]',\n mainCase: 'Hauptvorgang',\n archiveActionDate: 'Archivierungsaktionsdatum',\n startDateRetentionPeriod: 'Startdatum der Aufbewahrungsfrist'\n },\n },\n};\n\nexport {zakenApiPluginSpecification};\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {PluginConfigurationComponent} from '../../../../models';\nimport {BehaviorSubject, combineLatest, map, Observable, Subscription, take} from 'rxjs';\nimport {ObjectenApiConfig} from '../../models';\nimport {PluginManagementService, PluginTranslationService} from '../../../../services';\nimport {TranslateService} from '@ngx-translate/core';\n\n@Component({\n standalone: false,\n selector: 'valtimo-objecten-api-configuration',\n templateUrl: './objecten-api-configuration.component.html',\n styleUrls: ['./objecten-api-configuration.component.scss'],\n})\nexport class ObjectenApiConfigurationComponent\n implements PluginConfigurationComponent, OnInit, OnDestroy\n{\n @Input() save$: Observable<void>;\n @Input() disabled$: Observable<boolean>;\n @Input() pluginId: string;\n @Input() prefillConfiguration$: Observable<ObjectenApiConfig>;\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() configuration: EventEmitter<ObjectenApiConfig> = new EventEmitter<ObjectenApiConfig>();\n\n private saveSubscription!: Subscription;\n\n private readonly formValue$ = new BehaviorSubject<ObjectenApiConfig | null>(null);\n private readonly valid$ = new BehaviorSubject<boolean>(false);\n\n readonly authenticationPluginSelectItems$: Observable<Array<{id: string; text: string}>> =\n combineLatest([\n this.pluginManagementService.getPluginConfigurationsByCategory('objecten-api-authentication'),\n this.translateService.stream('key'),\n ]).pipe(\n map(([configurations]) =>\n configurations.map(configuration => ({\n id: configuration.id,\n text: `${configuration.title} - ${this.pluginTranslationService.instant(\n 'title',\n configuration.pluginDefinition.key\n )}`,\n }))\n )\n );\n\n constructor(\n private readonly pluginManagementService: PluginManagementService,\n private readonly translateService: TranslateService,\n private readonly pluginTranslationService: PluginTranslationService\n ) {}\n\n ngOnInit(): void {\n this.openSaveSubscription();\n }\n\n ngOnDestroy() {\n this.saveSubscription?.unsubscribe();\n }\n\n formValueChange(formValue: ObjectenApiConfig): void {\n this.formValue$.next(formValue);\n this.handleValid(formValue);\n }\n\n private handleValid(formValue: ObjectenApiConfig): void {\n const valid = !!(\n formValue.configurationTitle &&\n formValue.url &&\n formValue.authenticationPluginConfiguration\n );\n\n this.valid$.next(valid);\n this.valid.emit(valid);\n }\n\n private openSaveSubscription(): void {\n this.saveSubscription = this.save$?.subscribe(save => {\n combineLatest([this.formValue$, this.valid$])\n .pipe(take(1))\n .subscribe(([formValue, valid]) => {\n if (valid) {\n this.configuration.emit(formValue);\n }\n });\n });\n }\n}\n","<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null,\n } as obs\"\n>\n <v-input\n name=\"configurationTitle\"\n [title]=\"'configurationTitle' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.configurationTitle\"\n [required]=\"true\"\n [trim]=\"true\"\n [tooltip]=\"'configurationTitleTooltip' | pluginTranslate: pluginId | async\"\n placeholder=\"Objecten API Plugin\"\n >\n </v-input>\n <v-input\n name=\"url\"\n [title]=\"'url' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.url\"\n [required]=\"true\"\n [trim]=\"true\"\n [tooltip]=\"'urlTooltip' | pluginTranslate: pluginId | async\"\n placeholder=\"https://objectenapi.example.com/api/v2/\"\n >\n </v-input>\n <ng-container\n *ngIf=\"{authenticationPluginSelectItems: authenticationPluginSelectItems$ | async} as authObs\"\n >\n <v-select\n [items]=\"authObs.authenticationPluginSelectItems\"\n [margin]=\"true\"\n name=\"authenticationPluginConfiguration\"\n [title]=\"'authenticationPluginConfiguration' | pluginTranslate: pluginId | async\"\n [disabled]=\"obs.disabled\"\n [defaultSelectionId]=\"obs.prefill?.authenticationPluginConfiguration\"\n [required]=\"true\"\n [loading]=\"!authObs.authenticationPluginSelectItems\"\n ></v-select>\n </ng-container>\n</v-form>\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {FunctionConfigurationComponent} from '../../../../models';\nimport {BehaviorSubject, combineLatest, Observable, Subscription, take} from 'rxjs';\nimport {DeleteObjectConfig} from '../../models';\n\n@Component({\n standalone: false,\n selector: 'valtimo-delete-object',\n templateUrl: './delete-object.component.html',\n styleUrls: ['./delete-object.component.scss'],\n})\nexport class DeleteObjectComponent implements FunctionConfigurationComponent, OnInit, OnDestroy {\n @Input() save$: Observable<void>;\n @Input() disabled$: Observable<boolean>;\n @Input() pluginId: string;\n @Input() prefillConfiguration$: Observable<DeleteObjectConfig>;\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() configuration: EventEmitter<DeleteObjectConfig> =\n new EventEmitter<DeleteObjectConfig>();\n\n private saveSubscription!: Subscription;\n private readonly formValue$ = new BehaviorSubject<DeleteObjectConfig | null>(null);\n private readonly valid$ = new BehaviorSubject<boolean>(false);\n\n ngOnInit(): void {\n this.openSaveSubscription();\n }\n\n ngOnDestroy(): void {\n this.saveSubscription?.unsubscribe();\n }\n\n formValueChange(formValue: DeleteObjectConfig): void {\n this.formValue$.next(formValue);\n this.handleValid(formValue);\n }\n\n private handleValid(formValue: DeleteObjectConfig): void {\n const valid = !!formValue.objectUrl;\n\n this.valid$.next(valid);\n this.valid.emit(valid);\n }\n\n private openSaveSubscription(): void {\n this.saveSubscription = this.save$?.subscribe(save => {\n combineLatest([this.formValue$, this.valid$])\n .pipe(take(1))\n .subscribe(([formValue, valid]) => {\n if (valid) {\n this.configuration.emit(formValue);\n }\n });\n });\n }\n}\n","<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-paragraph [margin]=\"true\" [italic]=\"true\">\n {{ 'deleteObjectWarning' | pluginTranslate: pluginId | async }}\n</v-paragraph>\n<v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null,\n } as obs\"\n>\n <v-input\n name=\"objectUrl\"\n [title]=\"'objectUrl' | pluginTranslate: pluginId | async\"\n [tooltip]=\"'objectUrlTooltip' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.objectUrl\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n [trim]=\"true\"\n [fullWidth]=\"true\"\n ></v-input>\n</v-form>\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {NgModule} from '@angular/core';\nimport {ObjectenApiConfigurationComponent} from './components/objecten-api-configuration/objecten-api-configuration.component';\nimport {CommonModule} from '@angular/common';\nimport {PluginTranslatePipeModule} from '../../pipes';\nimport {FormModule, InputModule, ParagraphModule, SelectModule} from '@valtimo/components';\nimport {DeleteObjectComponent} from './components/delete-object/delete-object.component';\n\n@NgModule({\n declarations: [ObjectenApiConfigurationComponent, DeleteObjectComponent],\n imports: [\n CommonModule,\n PluginTranslatePipeModule,\n FormModule,\n InputModule,\n SelectModule,\n ParagraphModule,\n ],\n exports: [ObjectenApiConfigurationComponent, DeleteObjectComponent],\n})\nexport class ObjectenApiPluginModule {}\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nconst OBJECTEN_API_PLUGIN_LOGO_BASE64 =\n 'data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyBpZD0iTGF5ZXJfMiIgZGF0YS1uYW1lPSJMYXllciAyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAzNDMuMDggMTgwLjIxIj4KICA8ZGVmcz4KICAgIDxzdHlsZT4KICAgICAgLmNscy0xIHsKICAgICAgICBmaWxsOiAjZmZiYzJkOwogICAgICB9CiAgICA8L3N0eWxlPgogIDwvZGVmcz4KICA8ZyBpZD0iTGF5ZXJfMS0yIiBkYXRhLW5hbWU9IkxheWVyIDEiPgogICAgPHBhdGggY2xhc3M9ImNscy0xIiBkPSJtMTQyLjgxLDcxLjgxYy04LjAyLTcuNjUtMTcuMzEtMTIuODQtMjguNTgtMTMuMDUtMTQuMDItLjI2LTMwLjQ4LDEwLjExLTMzLjQzLDI3LjM2LTEuNDIsOC4yOS42NSwxNS45NCw1LjY4LDIyLjYyLDcuNTEsOS45OCwxNy42NSwxNS41MywzMC4xNCwxNS41OSwxMi4yMS4wNiwyMy4yNC00LjA2LDMyLjk4LTExLjUsMi45OS0yLjI4LDUuNzgtNC43Nyw4LjM4LTcuNDguNi0uNjMsMS4yMi0xLjI2LDEuOTItMS43OC44OS0uNjUsMS44OS0uNzksMi42Ny4xNy43Ljg3LjE2LDEuNjYtLjQzLDIuMzMtMy42NCw0LjEzLTcuNDgsOC4wNC0xMS44MywxMS40NS0xMC4zNyw4LjE0LTIyLjE5LDEyLjYzLTM1LjI2LDEyLjgzLTIxLjAzLjMyLTQxLjIyLTE1LjY2LTQzLjctMzYuNTgtMS45NS0xNi41NCw0LjcxLTI5LjI4LDE3LjU3LTM4LjkxLDE1LjQ3LTExLjU3LDMyLjM3LTExLjgyLDQ5LjY4LTQuNjcsMTcuMTUsNy4wOCwzMC4yMywxOS4xNiw0MC43LDM0LjI1LDcuMSwxMC4yMywxNS4yMywxOS40NywyNS4zNiwyNi44Miw2LjE3LDQuNDgsMTIuOTUsNy41NywyMC41NCw4LjQ4LDExLjE0LDEuMzQsMjUuNjYtNC4xNCwzMi40Ny0xNi42Miw2LjItMTEuMzYsNC4zNi0yNS41Mi00LjU1LTM1LjEyLTkuNTktMTAuMzMtMjEuMzktMTQuMDMtMzUuMjctMTEuOTMtMTIuNiwxLjkxLTIzLjAzLDcuOC0zMi4wMywxNi41NS0uNzIuNy0xLjM3LDEuNDYtMi4xMywyLjExLTEuMDQuODktMS45OCwyLjk5LTMuNTYsMS41MS0xLjM1LTEuMjguMS0yLjc3LDEuMDUtMy44NywxMC40NS0xMi4wOCwyMi45OC0yMC42MiwzOS4xNS0yMi45OSwxOC4wNi0yLjY1LDMyLjgxLDMuMzQsNDMuODUsMTcuNjUsMTMuMDMsMTYuODksMTAuNDEsNDMuOTEtOS44Myw1OC4zNC0xNS4yMiwxMC44NS0zMS43MiwxMS44MS00OC43OSw1LjM4LTE2LjUyLTYuMjMtMjkuMjYtMTcuNDktMzkuNTEtMzEuNjItNS41Ny03LjY5LTEwLjg5LTE1LjU1LTE3LjYtMjIuMzNsLTUuNjItNS4wMloiLz4KICAgIDxwYXRoIGQ9Im0zMjMuNDYsODkuNjVjLTEuMy0uMzUtMi42MS0uNy0zLjkxLTEuMDUtMTEuOTEtMy4yMy0xOC4zMS0xMS4yNi0xOC41LTIzLjYyLS4xNi05Ljg3LS4wMy0xOS43NS0uMDYtMjkuNjIsMC0xLjg3LjAzLTMuNzctLjI4LTUuNjEtMS41NS04Ljk4LTcuNzUtMTQuMzEtMTcuNzItMTUuMzlxLTQuODItLjUyLTQuODItNS4zOWMwLTIuMjUuMDYtNC41LS4wMi02Ljc1LS4wNS0xLjQ4LjItMi4yNSwyLTIuMjEsOC41MS4xNywxNi42MywxLjgxLDIzLjkyLDYuMzgsOS43OCw2LjEzLDEzLjg0LDE1LjM5LDEzLjk3LDI2LjU5LjExLDkuNS4wMiwxOSwuMDMsMjguNSwwLDEuNjItLjAxLDMuMjUuMDksNC44Ny40NSw3LjI0LDQuMDksMTIuMTUsMTAuOTIsMTQuNiwzLjU1LDEuMjcsNy4yNywxLjg1LDExLjAyLDEuOSwyLjE1LjAzLDMuMTUuNTUsMi45NSwyLjk5LS4yNSwzLjEtLjE0LDYuMjUtLjAzLDkuMzcuMDYsMS42My0uNTUsMi4yLTIuMTQsMi4yMS0zLjUuMDItNi45Ni40MS0xMC4zNCwxLjQ3LTguMjksMi42Mi0xMi4yNCw3LjUtMTIuNCwxNi4xNC0uMTgsMTAtLjA5LDIwLS4wNywzMCwwLDMuNTEtLjIsNy4wMS0uOTQsMTAuNDMtMi4xNSw5Ljg4LTguMTUsMTYuNjUtMTcuMjgsMjAuNy02LjAxLDIuNjctMTIuMzksMy42NC0xOC45Myw0LjA0LTIuNS4xNS0yLjk1LS43NC0yLjgxLTIuOTIuMTctMi42MS4wMy01LjI1LjA0LTcuODcuMDItMy4yNy4wMy0zLjMyLDMuMTYtMy40OCwyLjM5LS4xMiw0LjcxLS41Niw2Ljk4LTEuMjUsOC4yNi0yLjUzLDEyLjQ2LTcuODIsMTIuNjEtMTYuNDguMTgtMTAuMzcuMS0yMC43NS4wNi0zMS4xMi0uMDEtMy4xNS4yNy02LjI1LDEtOS4yOSwxLjkyLTguMDQsNy4zNC0xMi43OSwxNC45MS0xNS4zNywyLjE4LS43NCw0LjQyLTEuMyw2LjYzLTEuOTQtLjAyLS4yOC0uMDQtLjU1LS4wNS0uODNaIi8+CiAgICA8cGF0aCBkPSJtMTkuMjYsOTAuNDdjMi4xLjYyLDQuMjMsMS4xNyw2LjMsMS44OSw5Ljk4LDMuNDMsMTUuNjIsMTAuNjMsMTUuOTcsMjEuMi4zMywxMC4yNC4xNCwyMC40OS4yMywzMC43My4wMiwyLjI0LjE1LDQuNS40NCw2LjcyLjc3LDUuOTEsMy45LDEwLjE1LDkuMzgsMTIuNTYsMy4zNCwxLjQ3LDYuODcsMi4zNywxMC41MiwyLjMxLDIuMzUtLjA0LDMuMDEuODUsMi44NywzLjA4LS4xOCwyLjk5LS4wOCw2LS4wMyw4Ljk5LjAzLDEuNDItLjEsMi4yOS0xLjk2LDIuMjMtOC4wOS0uMjYtMTUuOTEtMS42Mi0yMy4wNC01LjYyLTkuNi01LjM5LTE0LjY2LTEzLjc2LTE0Ljk1LTI0LjcxLS4yOC0xMC4zNi0uMDktMjAuNzQtLjEtMzEuMTEsMC0yLjM4LS4xNC00LjczLS41Ni03LjA4LS45OS01LjYyLTQuMDctOS41My05LjI5LTExLjc4LTMuODMtMS42Ni03Ljg3LTIuNDYtMTIuMDItMi40Mi0yLjIuMDItMy4xNi0uNTUtMy0yLjk1LjIxLTMuMTEuMTMtNi4yNS4wMi05LjM3LS4wNi0xLjY1LjU4LTIuMTYsMi4xNC0yLjI1LDIuNjEtLjE0LDUuMjEtLjMyLDcuOC0uOSwxMC4xMi0yLjI1LDE0LjczLTcuNjYsMTQuODYtMTguMDcuMTMtMTAuNDkuMDYtMjAuOTkuMDMtMzEuNDktLjAxLTQuNjguOC05LjE4LDIuNzItMTMuNDYsMy4wMS02LjY4LDguMTYtMTEuMjQsMTQuNjQtMTQuMzlDNDguNjIsMS40Nyw1NS40NC4yNCw2Mi41MSwwYzIuMS0uMDcsMi41Mi42NywyLjQ0LDIuNTMtLjEyLDIuOTktLjE2LDYsLjAxLDguOTkuMTEsMi4wMi0uNjcsMi42Ni0yLjU2LDIuNjgtMi44OS4wMy01LjY5LjYyLTguNDMsMS41Ny03LjA2LDIuNDQtMTEuMTMsNy4zLTExLjksMTQuNzgtLjE5LDEuODYtLjMyLDMuNzMtLjMzLDUuNi0uMDYsOS44Ny4xMywxOS43NS0uMTYsMjkuNjEtLjM2LDEyLjA4LTYuNjgsMTkuNjgtMTguNCwyMi44NC0xLjMuMzUtMi42MS43MS0zLjkxLDEuMDYsMCwuMjctLjAyLjUzLS4wMi44WiIvPgogIDwvZz4KPC9zdmc+';\n\nexport {OBJECTEN_API_PLUGIN_LOGO_BASE64};\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport * from './objecten-api-plugin-logo';\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {PluginSpecification} from '../../models';\nimport {ObjectenApiConfigurationComponent} from './components/objecten-api-configuration/objecten-api-configuration.component';\nimport {OBJECTEN_API_PLUGIN_LOGO_BASE64} from './assets';\nimport {DeleteObjectComponent} from './components/delete-object/delete-object.component';\n\nconst objectenApiPluginSpecification: PluginSpecification = {\n pluginId: 'objectenapi',\n pluginConfigurationComponent: ObjectenApiConfigurationComponent,\n pluginLogoBase64: OBJECTEN_API_PLUGIN_LOGO_BASE64,\n functionConfigurationComponents: {\n 'delete-object': DeleteObjectComponent,\n },\n pluginTranslations: {\n nl: {\n title: 'Objecten API',\n url: 'Objecten API URL',\n urlTooltip: 'Een URL naar de REST API van Objecten',\n description:\n 'Met de Overige Objecten Registratie API-specificaties (Objecten) kunnen gemeenten eenduidig objecten registreren, opslaan en ontsluiten.',\n configurationTitle: 'Configuratienaam',\n configurationTitleTooltip:\n 'Onder deze naam zal de plug-in te herkennen zijn in de rest van de applicatie',\n authenticationPluginConfiguration: 'Configuratie authenticatie-plug-in',\n 'delete-object': 'Object verwijderen',\n deleteObjectWarning:\n 'Waarschuwing: de objecten die met deze actie verwijderd worden mogen niet gekoppeld zijn aan een Zaak.',\n objectUrl: 'Object URL',\n objectUrlTooltip:\n \"De URL van het object dat verwijderd moet worden uit de Objecten API. De ingevoerde waarde mag een procesvariable zijn, bijvoorbeeld: 'pv:object'.\",\n },\n en: {\n title: 'Objecten API',\n url: 'Objecten API URL',\n urlTooltip: 'A URL to the REST API of Objects',\n description:\n 'With the Other Objects Registration API specifications (Objects), municipalities can unambiguously register, store and access objects.',\n configurationTitle: 'Configuration name',\n configurationTitleTooltip:\n 'With this name the plugin will be recognizable in the rest of the application',\n authenticationPluginConfiguration: 'Authentication plugin configuration',\n 'delete-object': 'Delete object',\n deleteObjectWarning:\n 'Warning: the objects that are deleted with this action must not be linked to a Zaak.',\n objectUrl: 'Object URL',\n objectUrlTooltip:\n \"The URL of the object to be removed from the Objecten API. The value entered may be a process variable, for example: 'pv:object'.\",\n },\n de: {\n title: 'Objecten API',\n url: 'Objecten API URL',\n urlTooltip: 'Die URL zur REST API von Objecten',\n description:\n 'Mit den Spezifikationen der Other Objects Registration API (Objecten) können Kommunen Objecten eindeutig registrieren, speichern und darauf zugreifen.',\n configurationTitle: 'Konfigurationsname',\n configurationTitleTooltip:\n 'An diesem Namen wird das Plugin im Rest der Anwendung erkennbar sein',\n authenticationPluginConfiguration: 'Authentifizierungs-Plugin-Konfiguration',\n 'delete-object': 'Objekt löschen',\n deleteObjectWarning:\n 'Achtung: Die Objekte, die mit dieser Aktion gelöscht werden, dürfen nicht mit einem Zaak verknüpft werden.',\n objectUrl: 'Objekt URL',\n objectUrlTooltip:\n \"Die URL des Objekts, das aus der Objecten API entfernt werden soll. Der eingegebene Wert kann eine Prozessvariable sein, zum Beispiel: 'pv:object'.\",\n },\n },\n};\n\nexport {objectenApiPluginSpecification};\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {PluginConfigurationComponent} from '../../../../models';\nimport {BehaviorSubject, combineLatest, map, Observable, Subscription, take} from 'rxjs';\nimport {CatalogiApiConfig} from '../../models';\nimport {PluginManagementService, PluginTranslationService} from '../../../../services';\nimport {TranslateService} from '@ngx-translate/core';\n\n@Component({\n standalone: false,\n selector: 'valtimo-catalogi-api-configuration',\n templateUrl: './catalogi-api-configuration.component.html',\n styleUrls: ['./catalogi-api-configuration.component.scss'],\n})\nexport class CatalogiApiConfigurationComponent\n implements PluginConfigurationComponent, OnInit, OnDestroy\n{\n @Input() save$: Observable<void>;\n @Input() disabled$: Observable<boolean>;\n @Input() pluginId: string;\n @Input() prefillConfiguration$: Observable<CatalogiApiConfig>;\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() configuration: EventEmitter<CatalogiApiConfig> = new EventEmitter<CatalogiApiConfig>();\n readonly authenticationPluginSelectItems$: Observable<Array<{id: string; text: string}>> =\n combineLatest([\n this.pluginManagementService.getPluginConfigurationsByCategory('catalogi-api-authentication'),\n this.translateService.stream('key'),\n ]).pipe(\n map(([configurations]) =>\n configurations.map(configuration => ({\n id: configuration.id,\n text: `${configuration.title} - ${this.pluginTranslationService.instant(\n 'title',\n configuration.pluginDefinition.key\n )}`,\n }))\n )\n );\n private saveSubscription!: Subscription;\n private readonly formValue$ = new BehaviorSubject<CatalogiApiConfig | null>(null);\n private readonly valid$ = new BehaviorSubject<boolean>(false);\n\n constructor(\n private readonly pluginManagementService: PluginManagementService,\n private readonly translateService: TranslateService,\n private readonly pluginTranslationService: PluginTranslationService\n ) {}\n\n ngOnInit(): void {\n this.openSaveSubscription();\n }\n\n ngOnDestroy() {\n this.saveSubscription?.unsubscribe();\n }\n\n formValueChange(formValue: CatalogiApiConfig): void {\n this.formValue$.next(formValue);\n this.handleValid(formValue);\n }\n\n private handleValid(formValue: CatalogiApiConfig): void {\n const valid = !!(\n formValue.configurationTitle &&\n formValue.url &&\n formValue.authenticationPluginConfiguration\n );\n\n this.valid$.next(valid);\n this.valid.emit(valid);\n }\n\n private openSaveSubscription(): void {\n this.saveSubscription = this.save$?.subscribe(save => {\n combineLatest([this.formValue$, this.valid$])\n .pipe(take(1))\n .subscribe(([formValue, valid]) => {\n if (valid) {\n this.configuration.emit(formValue);\n }\n });\n });\n }\n}\n","<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null,\n } as obs\"\n>\n <v-input\n name=\"configurationTitle\"\n [title]=\"'configurationTitle' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.configurationTitle\"\n [required]=\"true\"\n [trim]=\"true\"\n [tooltip]=\"'configurationTitleTooltip' | pluginTranslate: pluginId | async\"\n placeholder=\"Catalogi API Plugin\"\n >\n </v-input>\n <v-input\n name=\"url\"\n [title]=\"'url' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.url\"\n [required]=\"true\"\n [trim]=\"true\"\n [tooltip]=\"'urlTooltip' | pluginTranslate: pluginId | async\"\n placeholder=\"https://openzaak.example.com/catalogi/api/v1/ \"\n >\n </v-input>\n <ng-container\n *ngIf=\"{authenticationPluginSelectItems: authenticationPluginSelectItems$ | async} as authObs\"\n >\n <v-select\n [items]=\"authObs.authenticationPluginSelectItems\"\n [margin]=\"true\"\n name=\"authenticationPluginConfiguration\"\n [title]=\"'authenticationPluginConfiguration' | pluginTranslate: pluginId | async\"\n [disabled]=\"obs.disabled\"\n [defaultSelectionId]=\"obs.prefill?.authenticationPluginConfiguration\"\n [required]=\"true\"\n [loading]=\"!authObs.authenticationPluginSelectItems\"\n ></v-select>\n </ng-container>\n</v-form>\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {FunctionConfigurationComponent} from '../../../../models';\nimport {BehaviorSubject, combineLatest, Observable, Subscription, take} from 'rxjs';\nimport {GetStatustypeConfig} from '../../models';\n\n@Component({\n standalone: false,\n selector: 'valtimo-set-statustype-configuration',\n templateUrl: './get-statustype-configuration.component.html',\n styleUrls: ['./get-statustype-configuration.component.scss'],\n})\nexport class GetStatustypeConfigurationComponent\n implements FunctionConfigurationComponent, OnInit, OnDestroy\n{\n @Input() save$: Observable<void>;\n @Input() disabled$: Observable<boolean>;\n @Input() pluginId: string;\n @Input() prefillConfiguration$: Observable<GetStatustypeConfig>;\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() configuration: EventEmitter<GetStatustypeConfig> =\n new EventEmitter<GetStatustypeConfig>();\n\n private saveSubscription!: Subscription;\n\n private readonly formValue$ = new BehaviorSubject<GetStatustypeConfig | null>(null);\n private readonly valid$ = new BehaviorSubject<boolean>(false);\n\n ngOnInit(): void {\n this.openSaveSubscription();\n }\n\n ngOnDestroy() {\n this.saveSubscription?.unsubscribe();\n }\n\n formValueChange(formValue: GetStatustypeConfig): void {\n this.formValue$.next(formValue);\n this.handleValid(formValue);\n }\n\n private handleValid(formValue: GetStatustypeConfig): void {\n const valid = !!(formValue.statustype && formValue.processVariable);\n\n this.valid$.next(valid);\n this.valid.emit(valid);\n }\n\n private openSaveSubscription(): void {\n this.saveSubscription = this.save$?.subscribe(save => {\n combineLatest([this.formValue$, this.valid$])\n .pipe(take(1))\n .subscribe(([formValue, valid]) => {\n if (valid) {\n this.configuration.emit(formValue);\n }\n });\n });\n }\n}\n","<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-paragraph [margin]=\"true\" [italic]=\"true\">\n {{ 'getStatustypeInformation' | pluginTranslate: pluginId | async }}\n</v-paragraph>\n<v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null,\n } as obs\"\n>\n <v-input\n name=\"statustype\"\n [title]=\"'statustype' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.statustype\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n [trim]=\"true\"\n [tooltip]=\"'statustypeTooltip' | pluginTranslate: pluginId | async\"\n [fullWidth]=\"true\"\n >\n </v-input>\n <v-input\n name=\"processVariable\"\n [title]=\"'processVariable' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.processVariable\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n [trim]=\"true\"\n [tooltip]=\"'processVariableTooltip' | pluginTranslate: pluginId | async\"\n [fullWidth]=\"true\"\n >\n </v-input>\n</v-form>\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {FunctionConfigurationComponent} from '../../../../models';\nimport {BehaviorSubject, combineLatest, Observable, Subscription, take} from 'rxjs';\nimport {GetBesluittypeConfig} from '../../models';\n\n@Component({\n standalone: false,\n selector: 'valtimo-set-besluittype-configuration',\n templateUrl: './get-besluittype-configuration.component.html',\n styleUrls: ['./get-besluittype-configuration.component.scss'],\n})\nexport class GetBesluittypeConfigurationComponent\n implements FunctionConfigurationComponent, OnInit, OnDestroy\n{\n @Input() save$: Observable<void>;\n @Input() disabled$: Observable<boolean>;\n @Input() pluginId: string;\n @Input() prefillConfiguration$: Observable<GetBesluittypeConfig>;\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() configuration: EventEmitter<GetBesluittypeConfig> =\n new EventEmitter<GetBesluittypeConfig>();\n\n private saveSubscription!: Subscription;\n\n private readonly formValue$ = new BehaviorSubject<GetBesluittypeConfig | null>(null);\n private readonly valid$ = new BehaviorSubject<boolean>(false);\n\n ngOnInit(): void {\n this.openSaveSubscription();\n }\n\n ngOnDestroy() {\n this.saveSubscription?.unsubscribe();\n }\n\n formValueChange(formValue: GetBesluittypeConfig): void {\n this.formValue$.next(formValue);\n this.handleValid(formValue);\n }\n\n private handleValid(formValue: GetBesluittypeConfig): void {\n const valid = !!(formValue.besluittype && formValue.processVariable);\n\n this.valid$.next(valid);\n this.valid.emit(valid);\n }\n\n private openSaveSubscription(): void {\n this.saveSubscription = this.save$?.subscribe(save => {\n combineLatest([this.formValue$, this.valid$])\n .pipe(take(1))\n .subscribe(([formValue, valid]) => {\n if (valid) {\n this.configuration.emit(formValue);\n }\n });\n });\n }\n}\n","<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-paragraph [margin]=\"true\" [italic]=\"true\">\n {{ 'getBesluittypeInformation' | pluginTranslate: pluginId | async }}\n</v-paragraph>\n<v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null,\n } as obs\"\n>\n <v-input\n name=\"besluittype\"\n [title]=\"'besluittype' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.besluittype\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n [trim]=\"true\"\n [tooltip]=\"'besluittypeTooltip' | pluginTranslate: pluginId | async\"\n [fullWidth]=\"true\"\n >\n </v-input>\n <v-input\n name=\"processVariable\"\n [title]=\"'processVariable' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.processVariable\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n [trim]=\"true\"\n [tooltip]=\"'besluitProcessVariableTooltip' | pluginTranslate: pluginId | async\"\n [fullWidth]=\"true\"\n >\n </v-input>\n</v-form>\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {FunctionConfigurationComponent} from '../../../../models';\nimport {BehaviorSubject, combineLatest, Observable, Subscription, take} from 'rxjs';\nimport {GetResultaattypeConfig} from '../../models';\n\n@Component({\n standalone: false,\n selector: 'valtimo-set-resultaattype-configuration',\n templateUrl: './get-resultaattype-configuration.component.html',\n styleUrls: ['./get-resultaattype-configuration.component.scss'],\n})\nexport class GetResultaattypeConfigurationComponent\n implements FunctionConfigurationComponent, OnInit, OnDestroy\n{\n @Input() save$: Observable<void>;\n @Input() disabled$: Observable<boolean>;\n @Input() pluginId: string;\n @Input() prefillConfiguration$: Observable<GetResultaattypeConfig>;\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() configuration: EventEmitter<GetResultaattypeConfig> =\n new EventEmitter<GetResultaattypeConfig>();\n\n private saveSubscription!: Subscription;\n\n private readonly formValue$ = new BehaviorSubject<GetResultaattypeConfig | null>(null);\n private readonly valid$ = new BehaviorSubject<boolean>(false);\n\n ngOnInit(): void {\n this.openSaveSubscription();\n }\n\n ngOnDestroy() {\n this.saveSubscription?.unsubscribe();\n }\n\n formValueChange(formValue: GetResultaattypeConfig): void {\n this.formValue$.next(formValue);\n this.handleValid(formValue);\n }\n\n private handleValid(formValue: GetResultaattypeConfig): void {\n const valid = !!(formValue.resultaattype && formValue.processVariable);\n\n this.valid$.next(valid);\n this.valid.emit(valid);\n }\n\n private openSaveSubscription(): void {\n this.saveSubscription = this.save$?.subscribe(save => {\n combineLatest([this.formValue$, this.valid$])\n .pipe(take(1))\n .subscribe(([formValue, valid]) => {\n if (valid) {\n this.configuration.emit(formValue);\n }\n });\n });\n }\n}\n","<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-paragraph [margin]=\"true\" [italic]=\"true\">\n {{ 'getResultaattypeInformation' | pluginTranslate: pluginId | async }}\n</v-paragraph>\n<v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null,\n } as obs\"\n>\n <v-input\n name=\"resultaattype\"\n [title]=\"'resultaattype' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.resultaattype\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n [trim]=\"true\"\n [tooltip]=\"'resultaattypeTooltip' | pluginTranslate: pluginId | async\"\n [fullWidth]=\"true\"\n >\n </v-input>\n <v-input\n name=\"processVariable\"\n [title]=\"'processVariable' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.processVariable\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n [trim]=\"true\"\n [tooltip]=\"'reslutaatProcessVariableTooltip' | pluginTranslate: pluginId | async\"\n [fullWidth]=\"true\"\n >\n </v-input>\n</v-form>\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {BehaviorSubject, combineLatest, Observable, Subscription, take} from 'rxjs';\nimport {GetEigenschapConfig} from '../../models';\nimport {FunctionConfigurationComponent} from '../../../../models';\n\n@Component({\n standalone: false,\n selector: 'valtimo-get-eigenschap-configuration',\n templateUrl: './get-eigenschap-configuration.component.html',\n styleUrls: ['./get-eigenschap-configuration.component.scss'],\n})\nexport class GetEigenschapConfigurationComponent\n implements FunctionConfigurationComponent, OnInit, OnDestroy\n{\n @Input() public save$: Observable<void>;\n @Input() public disabled$: Observable<boolean>;\n @Input() public pluginId: string;\n @Input() public prefillConfiguration$: Observable<GetEigenschapConfig>;\n @Output() public valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() public configuration: EventEmitter<GetEigenschapConfig> =\n new EventEmitter<GetEigenschapConfig>();\n\n private _saveSubscription!: Subscription;\n\n private readonly formValue$ = new BehaviorSubject<GetEigenschapConfig | null>(null);\n private readonly valid$ = new BehaviorSubject<boolean>(false);\n\n public ngOnInit(): void {\n this.openSaveSubscription();\n }\n\n public ngOnDestroy() {\n this._saveSubscription?.unsubscribe();\n }\n\n public formValueChange(formValue: GetEigenschapConfig): void {\n this.formValue$.next(formValue);\n this.handleValid(formValue);\n }\n\n private handleValid(formValue: GetEigenschapConfig): void {\n const valid = !!(formValue.eigenschap && formValue.processVariable);\n\n this.valid$.next(valid);\n this.valid.emit(valid);\n }\n\n private openSaveSubscription(): void {\n this._saveSubscription = this.save$?.subscribe(save => {\n combineLatest([this.formValue$, this.valid$])\n .pipe(take(1))\n .subscribe(([formValue, valid]) => {\n if (valid) {\n this.configuration.emit(formValue);\n }\n });\n });\n }\n}\n","<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-paragraph [margin]=\"true\" [italic]=\"true\">\n {{ 'getEigenschapInformation' | pluginTranslate: pluginId | async }}\n</v-paragraph>\n\n<v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null,\n } as obs\"\n>\n <v-input\n name=\"eigenschap\"\n [title]=\"'eigenschap' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.eigenschap\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n [trim]=\"true\"\n [tooltip]=\"'eigenschapTooltip' | pluginTranslate: pluginId | async\"\n [fullWidth]=\"true\"\n >\n </v-input>\n\n <v-input\n name=\"processVariable\"\n [title]=\"'processVariable' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.processVariable\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n [trim]=\"true\"\n [tooltip]=\"'eigenschapProcessVariableTooltip' | pluginTranslate: pluginId | async\"\n [fullWidth]=\"true\"\n >\n </v-input>\n</v-form>\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {NgModule} from '@angular/core';\nimport {CatalogiApiConfigurationComponent} from './components/catalogi-api-configuration/catalogi-api-configuration.component';\nimport {CommonModule} from '@angular/common';\nimport {PluginTranslatePipeModule} from '../../pipes';\nimport {FormModule, InputModule, ParagraphModule, SelectModule} from '@valtimo/components';\nimport {GetStatustypeConfigurationComponent} from './components/get-statustype/get-statustype-configuration.component';\nimport {GetBesluittypeConfigurationComponent} from './components/get-besluittype/get-besluittype-configuration.component';\nimport {GetResultaattypeConfigurationComponent} from './components/get-resultaattype/get-resultaattype-configuration.component';\nimport {GetEigenschapConfigurationComponent} from './components/get-eigenschap/get-eigenschap-configuration.component';\n\n@NgModule({\n declarations: [\n CatalogiApiConfigurationComponent,\n GetBesluittypeConfigurationComponent,\n GetResultaattypeConfigurationComponent,\n GetStatustypeConfigurationComponent,\n GetEigenschapConfigurationComponent,\n ],\n imports: [\n CommonModule,\n PluginTranslatePipeModule,\n FormModule,\n InputModule,\n SelectModule,\n ParagraphModule,\n ],\n exports: [\n CatalogiApiConfigurationComponent,\n GetBesluittypeConfigurationComponent,\n GetResultaattypeConfigurationComponent,\n GetStatustypeConfigurationComponent,\n GetEigenschapConfigurationComponent,\n ],\n})\nexport class CatalogiApiPluginModule {}\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nconst CATALOGI_API_PLUGIN_LOGO_BASE64 =\n 'data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB2aWV3Qm94PSIxNTAgMTUgOTYgNTAiPjxkZWZzPjxwYXRoIGlkPSJhIiBkPSJNNTcuMzk2LjIxMUguMjgxdjQ5LjQwNWg1Ny4xMTVWLjIxeiIvPjxwYXRoIGlkPSJjIiBkPSJNNTcuNTY0LjIxMUguNDQ4djQ5LjQwNWg1Ny4xMTZWLjIxeiIvPjwvZGVmcz48ZyBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDE4Ny45MzEgMTUpIj48bWFzayBpZD0iYiIgZmlsbD0iI2ZmZiI+PHVzZSB4bGluazpocmVmPSIjYSIvPjwvbWFzaz48cGF0aCBkPSJNNTcuMzk2IDI0LjkxM2MwLTEzLjU3My0xMS4wMDQtMjQuNjIyLTI0LjU2LTI0LjctLjAyNCAwLS4wNDgtLjAwMy0uMDczLS4wMDNIMjQuNzVhMi41MDQgMi41MDQgMCAxIDAgMCA1LjAxaDcuOTQ1YzEwLjg1OCAwIDE5LjY5NCA4LjgzNCAxOS42OTQgMTkuNjkzIDAgMTAuODYtOC44MzYgMTkuNjk0LTE5LjY5NCAxOS42OTRINS4yODl2LTQuNTc4SC4yODF2OS41ODdoMzIuNDgydi0uMDAxYzEzLjU5LS4wNCAyNC42MzMtMTEuMTA1IDI0LjYzMy0yNC43MDIiIGZpbGw9IiMwMDlGRTQiIG1hc2s9InVybCgjYikiLz48L2c+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTUwIDE1KSI+PG1hc2sgaWQ9ImQiIGZpbGw9IiNmZmYiPjx1c2UgeGxpbms6aHJlZj0iI2MiLz48L21hc2s+PHBhdGggZD0iTS40NDggMjQuOTEzYzAgMTMuNTczIDExLjAwNCAyNC42MjIgMjQuNTYgMjQuNy4wMjQgMCAuMDQ4LjAwMy4wNzMuMDAzaDguMDE0YTIuNTA0IDIuNTA0IDAgMSAwIDAtNS4wMDloLTcuOTQ0Yy0xMC44NTkgMC0xOS42OTQtOC44MzQtMTkuNjk0LTE5LjY5NCAwLTEwLjg1OSA4LjgzNS0xOS42OTQgMTkuNjk0LTE5LjY5NGgyNy40MDR2NC41NzhoNS4wMDlWLjIxSDI1LjA4di4wMDFDMTEuNDkuMjUxLjQ0OCAxMS4zMTYuNDQ4IDI0LjkxMyIgZmlsbD0iIzAwOUZFNCIgbWFzaz0idXJsKCNkKSIvPjwvZz48cGF0aCBmaWxsPSIjMDA0Mzg4IiBkPSJNMTc2LjAxNyA0Mi4xMTZsLTQuNjc4LTEyLjQwMWgtNS42NjRsOC4xNCAyMC4zNjZoMy45MjFsOC40MDEtMjAuMzY2aC01LjM2M3ptMjYuNTQyLjU1OGwtNy45MjgtMTIuOTU5aC02LjQxM3YyMC4zNjdoNC45OTdWMzYuNzg3bDguMTUgMTMuMjk1aDYuMTlWMjkuNzE1aC00Ljk5NnptMTkuMzIzLTQuOTR2NC42NjNoMy41Mzd2Mi42NzdhOS43NzMgOS43NzMgMCAwIDEtMS40MTQuNTRjLS42NTIuMjAzLTEuNDQzLjMwNi0yLjM1NC4zMDYtLjg4IDAtMS42ODYtLjE1LTIuMzk0LS40NDhhNS4zMzggNS4zMzggMCAwIDEtMS44MjQtMS4yNDcgNS41MjIgNS41MjIgMCAwIDEtMS4xNy0xLjg5NGMtLjI3Mi0uNzI5LS40MS0xLjU0OS0uNDEtMi40MzMgMC0uODY3LjEzOC0xLjY4MS40MS0yLjQyYTUuNTAyIDUuNTAyIDAgMCAxIDEuMTctMS45MDggNS4zNzQgNS4zNzQgMCAwIDEgMS44MjQtMS4yNDZjLjcwOS0uMjk4IDEuNTE0LS40NDkgMi4zOTQtLjQ0OSAxLjA2NCAwIDEuOTU5LjE1MSAyLjY1Ny40NDkuNy4yOTcgMS4zMzguNzQgMS44OTggMS4zMThsLjI0Mi4yNDggMy41MTUtMy44MzUtLjIzNy0uMjIxYTguOTIzIDguOTIzIDAgMCAwLTMuNjI3LTIuMDM4Yy0xLjM1LS4zODYtMi44NDctLjU4My00LjQ0OC0uNTgzLTEuNTcyIDAtMy4wNDQuMjUtNC4zNzMuNzQ1YTEwLjEzOSAxMC4xMzkgMCAwIDAtMy40ODEgMi4xNDNjLS45NzUuOTI4LTEuNzQ2IDIuMDY2LTIuMjkgMy4zODQtLjU0MyAxLjMxNS0uODE5IDIuOC0uODE5IDQuNDEzIDAgMS42MTMuMjc2IDMuMDk4LjgyIDQuNDEzLjU0NSAxLjMxOSAxLjMxNCAyLjQ1NyAyLjI4OSAzLjM4NC45NzQuOTI2IDIuMTQ2IDEuNjQ3IDMuNDggMi4xNDMgMS4zMy40OTQgMi44MDIuNzQ0IDQuMzc0Ljc0NCAxLjQ2NCAwIDIuOTItLjE1MiA0LjMzLS40NTJhMTYuMDU0IDE2LjA1NCAwIDAgMCA0LjA5LTEuNDc4bC4xNzctLjA5VjM3LjczM2gtOC4zNjZ6Ii8+PC9nPjwvc3ZnPg==';\n\nexport {CATALOGI_API_PLUGIN_LOGO_BASE64};\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport * from './catalogi-api-plugin-logo';\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {PluginSpecification} from '../../models';\nimport {CatalogiApiConfigurationComponent} from './components/catalogi-api-configuration/catalogi-api-configuration.component';\nimport {CATALOGI_API_PLUGIN_LOGO_BASE64} from './assets';\nimport {GetStatustypeConfigurationComponent} from './components/get-statustype/get-statustype-configuration.component';\nimport {GetBesluittypeConfigurationComponent} from './components/get-besluittype/get-besluittype-configuration.component';\nimport {GetResultaattypeConfigurationComponent} from './components/get-resultaattype/get-resultaattype-configuration.component';\nimport {GetEigenschapConfigurationComponent} from './components/get-eigenschap/get-eigenschap-configuration.component';\n\nconst catalogiApiPluginSpecification: PluginSpecification = {\n pluginId: 'catalogiapi',\n pluginConfigurationComponent: CatalogiApiConfigurationComponent,\n pluginLogoBase64: CATALOGI_API_PLUGIN_LOGO_BASE64,\n functionConfigurationComponents: {\n 'get-besluittype': GetBesluittypeConfigurationComponent,\n 'get-resultaattype': GetResultaattypeConfigurationComponent,\n 'get-statustype': GetStatustypeConfigurationComponent,\n 'get-eigenschap': GetEigenschapConfigurationComponent,\n },\n pluginTranslations: {\n nl: {\n title: 'Catalogi API',\n url: 'Catalogi API URL',\n urlTooltip: 'Een URL naar de REST API van Catalogi',\n description:\n 'API voor opslag en ontsluiting van zaaktype-catalogi, zaaktypen en onderliggende typen.',\n configurationTitle: 'Configuratienaam',\n configurationTitleTooltip:\n 'De naam van de huidige plugin-configuratie. Onder deze naam kan de configuratie in de rest van de applicatie teruggevonden worden.',\n authenticationPluginConfiguration: 'Configuratie authenticatie-plug-in',\n 'get-statustype': 'Statustype opvragen',\n getStatustypeInformation:\n 'De statustype wordt opgehaald en daarna opgeslagen in een procesvariabele.',\n statustype: 'Statustype',\n statustypeTooltip: 'Generieke aanduiding van de aard van een status.',\n processVariable: 'Naam procesvariabele',\n processVariableTooltip:\n 'Nadat de statustype is opgehaald, wordt deze opgeslagen in een procesvariabele met deze naam.',\n 'get-besluittype': 'Besluittype opvragen',\n getBesluittypeInformation:\n 'Het besluittype wordt opgehaald en daarna opgeslagen in een procesvariabele.',\n besluittype: 'Besluittype',\n besluittypeTooltip: 'Omschrijving van de aard van het besluit.',\n besluitProcessVariableTooltip:\n 'Nadat de besluittype is opgehaald, wordt deze opgeslagen in een procesvariabele met deze naam.',\n 'get-resultaattype': 'Resultaattype opvragen',\n getResultaattypeInformation:\n 'Het resultaattype wordt opgehaald en daarna opgeslagen in een procesvariabele.',\n resultaattype: 'Resultaattype',\n resultaattypeTooltip: 'Omschrijving van de aard van het resultaat.',\n reslutaatProcessVariableTooltip:\n 'Nadat de resultaattype is opgehaald, wordt deze opgeslagen in een procesvariabele met deze naam.',\n 'get-eigenschap': 'Eigenschap opvragen',\n getEigenschapInformation:\n 'De eigenschap wordt opgehaald en daarna opgeslagen in een procesvariabele',\n eigenschap: 'Eigenschap',\n eigenschapTooltip: 'Naam van de aard van het eigenschaap.',\n eigenschapProcessVariableTooltip:\n 'Nadat de eigenschap is opgehaald, wordt deze opgeslagen in een procesvariabele met deze naam.',\n },\n en: {\n title: 'Catalogi API',\n url: 'Catalogi API URL',\n urlTooltip: 'A URL to the REST API of Catalogi',\n description: 'API for storage and retrieval of zaaktype catalogs, zaaktypes and child types.',\n configurationTitle: 'Configuration name',\n configurationTitleTooltip:\n 'The name of the current plugin configuration. Under this name, the configuration can be found in the rest of the application.',\n authenticationPluginConfiguration: 'Authentication plugin configuration',\n 'get-statustype': 'Retrieve statustype',\n getStatustypeInformation:\n 'The statustype is retrieved and then stored in a process variable.',\n statustype: 'Statustype',\n statustypeTooltip: 'Generic indication of the nature of a status.',\n processVariable: 'Process variable name',\n processVariableTooltip:\n 'Once the statustype is retrieved, it is stored in a process variable with the given name.',\n 'get-besluittype': 'Retrieve besluittype',\n getBesluittypeInformation:\n 'The besluittype is retrieved and then stored in a process variable.',\n besluittype: 'Besluittype',\n besluittypeTooltip: 'Description of the nature of the decision.',\n besluitProcessVariableTooltip:\n 'After the besluittype is retrieved, it is stored in a process variable with this name.',\n 'get-resultaattype': 'Retrieve resultaattype',\n getResultaattypeInformation:\n 'The resultaattype is retrieved and then stored in a process variable.',\n resultaattype: 'Resultaattype',\n resultaattypeTooltip: 'Description of the nature of the result.',\n reslutaatProcessVariableTooltip:\n 'After the resultaattype is retrieved, it is stored in a process variable with this name.',\n 'get-eigenschap': 'Retrieve eigenschap',\n getEigenschapInformation: 'The eigenschap is retrieved and then stored in a process variable',\n eigenschap: 'Eigenschap',\n eigenschapTooltip: 'Name of the nature of the eigenschaap.',\n eigenschapProcessVariableTooltip:\n 'After the eigenschap is retrieved, it is stored in a process variable with this name.',\n },\n de: {\n title: 'Catalogi API',\n url: 'Catalogi API URL',\n urlTooltip: 'Die URL zur REST API von Catalogi',\n description:\n 'API zum Speichern und Abrufen von Falltypkatalogen, Falltypen und untergeordneten Typen.',\n configurationTitle: 'Konfigurationsname',\n configurationTitleTooltip:\n 'Der Name der aktuellen Plugin-Konfiguration. Unter diesem Namen ist die Konfiguration im Rest der Anwendung zu finden.',\n authenticationPluginConfiguration: 'Authentifizierungs-Plugin-Konfiguration',\n 'get-statustype': 'Statustype anfordern',\n getStatustypeInformation:\n 'Der Statustyp wird abgerufen und dann in einer Prozessvariablen gespeichert.',\n statustype: 'Statustype',\n statustypeTooltip: 'Generische Angabe der Art eines Status.',\n processVariable: 'Prozessvariablenname',\n processVariableTooltip:\n 'Sobald der Statustype abgerufen wurde, wird er in einer Prozessvariablen mit diesem Namen gespeichert.',\n 'get-besluittype': 'Besluittype anfordern',\n getBesluittypeInformation:\n 'Der besluittype wird abgerufen und dann in einer Prozessvariablen gespeichert.',\n besluittype: 'Besluittype',\n besluittypeTooltip: 'Beschreibung der Art der besluit.',\n besluitProcessVariableTooltip:\n 'Sobald der besluittype abgerufen wurde, wird er in einer Prozessvariablen mit diesem Namen gespeichert.',\n 'get-resultaattype': 'Resultaattype anfordern',\n getResultaattypeInformation:\n 'Der resultaattype wird abgerufen und dann in einer Prozessvariablen gespeichert.',\n resultaattype: 'Resultaattype',\n resultaattypeTooltip: 'Beschreibung der Art der resultaat.',\n reslutaatProcessVariableTooltip:\n 'Sobald der resultaattype abgerufen wurde, wird er in einer Prozessvariablen mit diesem Namen gespeichert.',\n 'get-eigenschap': 'Eigenschap anfordern',\n getEigenschapInformation:\n 'Der eigenschap wird abgerufen und dann in einer Prozessvariablen gespeichert.',\n eigenschap: 'Eigenschap',\n eigenschapTooltip: 'Name der Art der eigenschap.',\n eigenschapProcessVariableTooltip:\n 'Sobald der eigenschap abgerufen wurde, wird er in einer Prozessvariablen mit diesem Namen gespeichert.',\n },\n },\n};\n\nexport {catalogiApiPluginSpecification};\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {PluginConfigurationComponent} from '../../../../models';\nimport {BehaviorSubject, combineLatest, map, Observable, Subscription, take} from 'rxjs';\nimport {NotificatiesApiConfig} from '../../models';\nimport {PluginManagementService, PluginTranslationService} from '../../../../services';\nimport {TranslateService} from '@ngx-translate/core';\n\n@Component({\n standalone: false,\n selector: 'valtimo-notificaties-api-configuration',\n templateUrl: './notificaties-api-configuration.component.html',\n styleUrls: ['./notificaties-api-configuration.component.scss'],\n})\nexport class NotificatiesApiConfigurationComponent\n implements PluginConfigurationComponent, OnInit, OnDestroy\n{\n @Input() save$: Observable<void>;\n @Input() disabled$: Observable<boolean>;\n @Input() pluginId: string;\n @Input() prefillConfiguration$: Observable<NotificatiesApiConfig>;\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() configuration: EventEmitter<NotificatiesApiConfig> =\n new EventEmitter<NotificatiesApiConfig>();\n readonly authenticationPluginSelectItems$: Observable<Array<{id: string; text: string}>> =\n combineLatest([\n this.pluginManagementService.getPluginConfigurationsByCategory(\n 'notificaties-api-authentication'\n ),\n this.translateService.stream('key'),\n ]).pipe(\n map(([configurations]) =>\n configurations.map(configuration => ({\n id: configuration.id,\n text: `${configuration.title} - ${this.pluginTranslationService.instant(\n 'title',\n configuration.pluginDefinition.key\n )}`,\n }))\n )\n );\n private saveSubscription!: Subscription;\n private readonly formValue$ = new BehaviorSubject<NotificatiesApiConfig | null>(null);\n private readonly valid$ = new BehaviorSubject<boolean>(false);\n\n constructor(\n private readonly pluginManagementService: PluginManagementService,\n private readonly translateService: TranslateService,\n private readonly pluginTranslationService: PluginTranslationService\n ) {}\n\n ngOnInit(): void {\n this.openSaveSubscription();\n }\n\n ngOnDestroy() {\n this.saveSubscription?.unsubscribe();\n }\n\n formValueChange(formValue: NotificatiesApiConfig): void {\n this.formValue$.next(formValue);\n this.handleValid(formValue);\n }\n\n private handleValid(formValue: NotificatiesApiConfig): void {\n const valid = !!(formValue.configurationTitle && formValue.url && formValue.callbackUrl);\n\n this.valid$.next(valid);\n this.valid.emit(valid);\n }\n\n private openSaveSubscription(): void {\n this.saveSubscription = this.save$?.subscribe(save => {\n combineLatest([this.formValue$, this.valid$])\n .pipe(take(1))\n .subscribe(([formValue, valid]) => {\n if (valid) {\n this.configuration.emit(formValue);\n }\n });\n });\n }\n}\n","<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null,\n } as obs\"\n>\n <v-input\n name=\"configurationTitle\"\n [title]=\"'configurationTitle' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.configurationTitle\"\n [required]=\"true\"\n [trim]=\"true\"\n [tooltip]=\"'configurationTitleTooltip' | pluginTranslate: pluginId | async\"\n placeholder=\"Notificaties API Plugin\"\n >\n </v-input>\n <v-input\n name=\"url\"\n [title]=\"'url' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.url\"\n [required]=\"true\"\n [trim]=\"true\"\n [tooltip]=\"'urlTooltip' | pluginTranslate: pluginId | async\"\n placeholder=\"https://opennotificaties.example.com/api/v1/\"\n >\n </v-input>\n <v-input\n name=\"callbackUrl\"\n [title]=\"'callbackUrl' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.callbackUrl\"\n [required]=\"true\"\n [trim]=\"true\"\n [tooltip]=\"'callbackUrlTooltip' | pluginTranslate: pluginId | async\"\n placeholder=\"https://{gzac-back-end-url}/api/v1/notificatiesapi/callback\"\n >\n </v-input>\n <ng-container\n *ngIf=\"{authenticationPluginSelectItems: authenticationPluginSelectItems$ | async} as authObs\"\n >\n <v-select\n [items]=\"authObs.authenticationPluginSelectItems\"\n [margin]=\"true\"\n name=\"authenticationPluginConfiguration\"\n [title]=\"'authenticationPluginConfiguration' | pluginTranslate: pluginId | async\"\n [disabled]=\"obs.disabled\"\n [defaultSelectionId]=\"obs.prefill?.authenticationPluginConfiguration\"\n [required]=\"true\"\n [loading]=\"!authObs.authenticationPluginSelectItems\"\n ></v-select>\n </ng-container>\n</v-form>\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {NgModule} from '@angular/core';\nimport {NotificatiesApiConfigurationComponent} from './components/notificaties-api-configuration/notificaties-api-configuration.component';\nimport {PluginTranslatePipeModule} from '../../pipes';\nimport {CommonModule} from '@angular/common';\nimport {FormModule, InputModule, ParagraphModule, SelectModule} from '@valtimo/components';\n\n@NgModule({\n declarations: [NotificatiesApiConfigurationComponent],\n imports: [\n CommonModule,\n PluginTranslatePipeModule,\n FormModule,\n InputModule,\n SelectModule,\n ParagraphModule,\n ],\n exports: [NotificatiesApiConfigurationComponent],\n})\nexport class NotificatiesApiPluginModule {}\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nconst NOTIFICATIES_API_PLUGIN_LOGO_BASE64 =\n 'data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB2aWV3Qm94PSIxNTAgMTUgOTYgNTAiPjxkZWZzPjxwYXRoIGlkPSJhIiBkPSJNNTcuMzk2LjIxMUguMjgxdjQ5LjQwNWg1Ny4xMTVWLjIxeiIvPjxwYXRoIGlkPSJjIiBkPSJNNTcuNTY0LjIxMUguNDQ4djQ5LjQwNWg1Ny4xMTZWLjIxeiIvPjwvZGVmcz48ZyBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDE4Ny45MzEgMTUpIj48bWFzayBpZD0iYiIgZmlsbD0iI2ZmZiI+PHVzZSB4bGluazpocmVmPSIjYSIvPjwvbWFzaz48cGF0aCBkPSJNNTcuMzk2IDI0LjkxM2MwLTEzLjU3My0xMS4wMDQtMjQuNjIyLTI0LjU2LTI0LjctLjAyNCAwLS4wNDgtLjAwMy0uMDczLS4wMDNIMjQuNzVhMi41MDQgMi41MDQgMCAxIDAgMCA1LjAxaDcuOTQ1YzEwLjg1OCAwIDE5LjY5NCA4LjgzNCAxOS42OTQgMTkuNjkzIDAgMTAuODYtOC44MzYgMTkuNjk0LTE5LjY5NCAxOS42OTRINS4yODl2LTQuNTc4SC4yODF2OS41ODdoMzIuNDgydi0uMDAxYzEzLjU5LS4wNCAyNC42MzMtMTEuMTA1IDI0LjYzMy0yNC43MDIiIGZpbGw9IiMwMDlGRTQiIG1hc2s9InVybCgjYikiLz48L2c+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTUwIDE1KSI+PG1hc2sgaWQ9ImQiIGZpbGw9IiNmZmYiPjx1c2UgeGxpbms6aHJlZj0iI2MiLz48L21hc2s+PHBhdGggZD0iTS40NDggMjQuOTEzYzAgMTMuNTczIDExLjAwNCAyNC42MjIgMjQuNTYgMjQuNy4wMjQgMCAuMDQ4LjAwMy4wNzMuMDAzaDguMDE0YTIuNTA0IDIuNTA0IDAgMSAwIDAtNS4wMDloLTcuOTQ0Yy0xMC44NTkgMC0xOS42OTQtOC44MzQtMTkuNjk0LTE5LjY5NCAwLTEwLjg1OSA4LjgzNS0xOS42OTQgMTkuNjk0LTE5LjY5NGgyNy40MDR2NC41NzhoNS4wMDlWLjIxSDI1LjA4di4wMDFDMTEuNDkuMjUxLjQ0OCAxMS4zMTYuNDQ4IDI0LjkxMyIgZmlsbD0iIzAwOUZFNCIgbWFzaz0idXJsKCNkKSIvPjwvZz48cGF0aCBmaWxsPSIjMDA0Mzg4IiBkPSJNMTc2LjAxNyA0Mi4xMTZsLTQuNjc4LTEyLjQwMWgtNS42NjRsOC4xNCAyMC4zNjZoMy45MjFsOC40MDEtMjAuMzY2aC01LjM2M3ptMjYuNTQyLjU1OGwtNy45MjgtMTIuOTU5aC02LjQxM3YyMC4zNjdoNC45OTdWMzYuNzg3bDguMTUgMTMuMjk1aDYuMTlWMjkuNzE1aC00Ljk5NnptMTkuMzIzLTQuOTR2NC42NjNoMy41Mzd2Mi42NzdhOS43NzMgOS43NzMgMCAwIDEtMS40MTQuNTRjLS42NTIuMjAzLTEuNDQzLjMwNi0yLjM1NC4zMDYtLjg4IDAtMS42ODYtLjE1LTIuMzk0LS40NDhhNS4zMzggNS4zMzggMCAwIDEtMS44MjQtMS4yNDcgNS41MjIgNS41MjIgMCAwIDEtMS4xNy0xLjg5NGMtLjI3Mi0uNzI5LS40MS0xLjU0OS0uNDEtMi40MzMgMC0uODY3LjEzOC0xLjY4MS40MS0yLjQyYTUuNTAyIDUuNTAyIDAgMCAxIDEuMTctMS45MDggNS4zNzQgNS4zNzQgMCAwIDEgMS44MjQtMS4yNDZjLjcwOS0uMjk4IDEuNTE0LS40NDkgMi4zOTQtLjQ0OSAxLjA2NCAwIDEuOTU5LjE1MSAyLjY1Ny40NDkuNy4yOTcgMS4zMzguNzQgMS44OTggMS4zMThsLjI0Mi4yNDggMy41MTUtMy44MzUtLjIzNy0uMjIxYTguOTIzIDguOTIzIDAgMCAwLTMuNjI3LTIuMDM4Yy0xLjM1LS4zODYtMi44NDctLjU4My00LjQ0OC0uNTgzLTEuNTcyIDAtMy4wNDQuMjUtNC4zNzMuNzQ1YTEwLjEzOSAxMC4xMzkgMCAwIDAtMy40ODEgMi4xNDNjLS45NzUuOTI4LTEuNzQ2IDIuMDY2LTIuMjkgMy4zODQtLjU0MyAxLjMxNS0uODE5IDIuOC0uODE5IDQuNDEzIDAgMS42MTMuMjc2IDMuMDk4LjgyIDQuNDEzLjU0NSAxLjMxOSAxLjMxNCAyLjQ1NyAyLjI4OSAzLjM4NC45NzQuOTI2IDIuMTQ2IDEuNjQ3IDMuNDggMi4xNDMgMS4zMy40OTQgMi44MDIuNzQ0IDQuMzc0Ljc0NCAxLjQ2NCAwIDIuOTItLjE1MiA0LjMzLS40NTJhMTYuMDU0IDE2LjA1NCAwIDAgMCA0LjA5LTEuNDc4bC4xNzctLjA5VjM3LjczM2gtOC4zNjZ6Ii8+PC9nPjwvc3ZnPg==';\n\nexport {NOTIFICATIES_API_PLUGIN_LOGO_BASE64};\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {PluginSpecification} from '../../models';\nimport {NotificatiesApiConfigurationComponent} from './components/notificaties-api-configuration/notificaties-api-configuration.component';\nimport {NOTIFICATIES_API_PLUGIN_LOGO_BASE64} from './assets/notificaties-api-plugin-logo';\n\nconst notificatiesApiPluginSpecification: PluginSpecification = {\n pluginId: 'notificatiesapi',\n pluginConfigurationComponent: NotificatiesApiConfigurationComponent,\n pluginLogoBase64: NOTIFICATIES_API_PLUGIN_LOGO_BASE64,\n pluginTranslations: {\n nl: {\n title: 'Notificaties API',\n url: 'Notificaties API URL',\n urlTooltip: 'Een URL naar de REST API van Notificaties',\n callbackUrl: 'Callback URL',\n callbackUrlTooltip: 'Het GZAC API-endpoint waar notificaties naartoe moeten worden gestuurd.',\n description: 'Een API om een notificatierouteringscomponent te benaderen.',\n configurationTitle: 'Configuratienaam',\n configurationTitleTooltip:\n 'De naam van de huidige plugin-configuratie. Onder deze naam kan de configuratie in de rest van de applicatie teruggevonden worden.',\n authenticationPluginConfiguration: 'Configuratie authenticatie-plug-in',\n },\n en: {\n title: 'Notificaties API',\n url: 'Notificaties API URL',\n urlTooltip: 'A URL to the REST API of Notificaties',\n callbackUrl: 'Callback URL',\n callbackUrlTooltip: 'The GZAC API-endpoint where notifications should be sent.',\n description: 'An API to access a notification routing component.',\n configurationTitle: 'Configuration name',\n configurationTitleTooltip:\n 'The name of the current plugin configuration. Under this name, the configuration can be found in the rest of the application.',\n authenticationPluginConfiguration: 'Authentication plugin configuration',\n },\n de: {\n title: 'Notificaties API',\n url: 'Notificaties API URL',\n urlTooltip: 'Die URL zur REST API von Notificaties',\n callbackUrl: 'Callback URL',\n callbackUrlTooltip:\n 'Der GZAC-API-endpoint, an den Benachrichtigungen gesendet werden sollen.',\n description: 'Eine API für den Zugriff auf eine Komponente für das Benachrichtigungsrouting.',\n configurationTitle: 'Konfigurationsname',\n configurationTitleTooltip:\n 'Der Name der aktuellen Plugin-Konfiguration. Unter diesem Namen ist die Konfiguration im Rest der Anwendung zu finden.',\n authenticationPluginConfiguration: 'Authentifizierungs-Plugin-Konfiguration',\n },\n },\n};\n\nexport {notificatiesApiPluginSpecification};\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {PluginConfigurationComponent} from '../../../../models';\nimport {BehaviorSubject, combineLatest, Observable, Subscription, take} from 'rxjs';\nimport {OpenNotificatiesConfig} from '../../models';\n\n@Component({\n standalone: false,\n selector: 'valtimo-open-notificaties-configuration',\n templateUrl: './open-notificaties-configuration.component.html',\n styleUrls: ['./open-notificaties-configuration.component.scss'],\n})\nexport class OpenNotificatiesConfigurationComponent\n implements PluginConfigurationComponent, OnInit, OnDestroy\n{\n @Input() save$: Observable<void>;\n @Input() disabled$: Observable<boolean>;\n @Input() pluginId: string;\n @Input() prefillConfiguration$: Observable<OpenNotificatiesConfig>;\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() configuration: EventEmitter<OpenNotificatiesConfig> =\n new EventEmitter<OpenNotificatiesConfig>();\n\n private saveSubscription!: Subscription;\n\n private readonly formValue$ = new BehaviorSubject<OpenNotificatiesConfig | null>(null);\n private readonly valid$ = new BehaviorSubject<boolean>(false);\n\n ngOnInit(): void {\n this.openSaveSubscription();\n }\n\n ngOnDestroy() {\n this.saveSubscription?.unsubscribe();\n }\n\n formValueChange(formValue: OpenNotificatiesConfig): void {\n this.formValue$.next(formValue);\n this.handleValid(formValue);\n }\n\n private handleValid(formValue: OpenNotificatiesConfig): void {\n const valid = !!(formValue.configurationTitle && formValue.clientId && formValue.clientSecret);\n\n this.valid$.next(valid);\n this.valid.emit(valid);\n }\n\n private openSaveSubscription(): void {\n this.saveSubscription = this.save$?.subscribe(save => {\n combineLatest([this.formValue$, this.valid$])\n .pipe(take(1))\n .subscribe(([formValue, valid]) => {\n if (valid) {\n this.configuration.emit(formValue);\n }\n });\n });\n }\n}\n","<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null,\n } as obs\"\n>\n <v-input\n name=\"configurationTitle\"\n [title]=\"'configurationTitle' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.configurationTitle\"\n [required]=\"true\"\n [trim]=\"true\"\n [tooltip]=\"'configurationTitleTooltip' | pluginTranslate: pluginId | async\"\n placeholder=\"Open Notificaties Plugin\"\n >\n </v-input>\n <v-input\n name=\"clientId\"\n [title]=\"'clientId' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.clientId\"\n [required]=\"true\"\n [tooltip]=\"'clientIdTooltip' | pluginTranslate: pluginId | async\"\n placeholder=\"client-id\"\n >\n </v-input>\n <v-input\n name=\"clientSecret\"\n type=\"password\"\n [title]=\"'clientSecret' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.clientSecret\"\n [required]=\"true\"\n [tooltip]=\"'clientSecretTooltip' | pluginTranslate: pluginId | async\"\n >\n </v-input>\n</v-form>\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {NgModule} from '@angular/core';\nimport {CommonModule} from '@angular/common';\nimport {OpenNotificatiesConfigurationComponent} from './components/open-notificaties-configuration/open-notificaties-configuration.component';\nimport {FormModule, InputModule} from '@valtimo/components';\nimport {PluginTranslatePipeModule} from '../../pipes';\n\n@NgModule({\n declarations: [OpenNotificatiesConfigurationComponent],\n imports: [CommonModule, FormModule, InputModule, PluginTranslatePipeModule],\n exports: [OpenNotificatiesConfigurationComponent],\n})\nexport class OpenNotificatiesPluginModule {}\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nconst OPEN_NOTIFICATIES_PLUGIN_LOGO_BASE64 =\n 'data:image/png;base64,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';\n\nexport {OPEN_NOTIFICATIES_PLUGIN_LOGO_BASE64};\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport * from './open-notificaties-plugin-logo';\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {PluginSpecification} from '../../models';\nimport {OpenNotificatiesConfigurationComponent} from './components/open-notificaties-configuration/open-notificaties-configuration.component';\nimport {OPEN_NOTIFICATIES_PLUGIN_LOGO_BASE64} from './assets';\n\nconst openNotificatiesPluginSpecification: PluginSpecification = {\n pluginId: 'notificatiesapiauthentication',\n pluginConfigurationComponent: OpenNotificatiesConfigurationComponent,\n pluginLogoBase64: OPEN_NOTIFICATIES_PLUGIN_LOGO_BASE64,\n pluginTranslations: {\n nl: {\n title: 'OpenNotificaties',\n description:\n 'OpenNotificaties is een productiewaardig API platform die de API-standaard voor zaakgericht werken implementeert (de ZGW-API’s).',\n configurationTitle: 'Configuratienaam',\n configurationTitleTooltip:\n 'Onder deze naam zal de plugin te herkennen zijn in de rest van de applicatie',\n clientId: 'Client ID',\n clientIdTooltip:\n 'Vul hier het clientId in dat geconfigureerd staat onder OpenNotificaties-beheer (zie API authorisaties > Applicaties). Dit clientId moet de juiste authorisaties hebben voor de benodigde functionaliteit',\n clientSecret: 'Secret',\n clientSecretTooltip: 'Vul de secret in die hoort bij de clientId hierboven',\n },\n en: {\n title: 'OpenNotificaties',\n description:\n 'OpenNotificaties is a production-worthy API platform that implements the API standard for case-oriented working (the ZGW APIs).',\n configurationTitle: 'Configuration name',\n configurationTitleTooltip:\n 'Under this name, the plugin will be recognizable in the rest of the application',\n clientId: 'Client ID',\n clientIdTooltip:\n 'Enter the clientId here which is configured under OpenNotificaties management (see API authorizations > Applications). This clientId must have the correct authorizations for the required functionality',\n clientSecret: 'Secret',\n clientSecretTooltip: 'Enter the secret associated with the clientId above',\n },\n de: {\n title: 'OpenNotificaties',\n description:\n 'OpenNotificaties ist eine produktionstaugliche API-Plattform, die den API-Standard für fallorientiertes Arbeiten (die ZGW-APIs) implementiert.',\n configurationTitle: 'Konfigurationsname',\n configurationTitleTooltip:\n 'Unter diesem Namen wird das Plugin im Rest der Anwendung erkennbar sein',\n clientId: 'Client ID',\n clientIdTooltip:\n 'Geben Sie hier die clientId ein, die unter OpenNotificaties-Verwaltung konfiguriert ist (siehe API-Berechtigungen > Anwendungen). Diese clientId muss die richtigen Berechtigungen für die erforderliche Funktionalität haben',\n clientSecret: 'Secret',\n clientSecretTooltip: 'Geben Sie das mit der obigen clientId verknüpfte Geheimnis ein',\n },\n },\n};\n\nexport {openNotificatiesPluginSpecification};\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Injectable} from '@angular/core';\nimport {Observable} from 'rxjs';\nimport {HttpClient} from '@angular/common/http';\nimport {ConfigService} from '@valtimo/shared';\nimport {Objecttype} from '../models';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ObjectService {\n private valtimoEndpointUri: string;\n\n constructor(\n private http: HttpClient,\n configService: ConfigService\n ) {\n this.valtimoEndpointUri = configService.config.valtimoApi.endpointUri;\n }\n\n public getAllObjects(): Observable<Objecttype[]> {\n return this.http.get<Objecttype[]>(\n `${this.valtimoEndpointUri}v1/object/management/configuration`\n );\n }\n}\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport * from './object.service';\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {PluginConfigurationComponent} from '../../../../models';\nimport {BehaviorSubject, combineLatest, map, Observable, Subscription, take} from 'rxjs';\nimport {PortaaltaakConfig} from '../../models';\nimport {PluginManagementService, PluginTranslationService} from '../../../../services';\nimport {TranslateService} from '@ngx-translate/core';\nimport {SelectItem} from '@valtimo/components';\nimport {ProcessService} from '@valtimo/process';\nimport {ObjectService} from '../../services';\n\n@Component({\n standalone: false,\n selector: 'valtimo-portaaltaak-configuration',\n templateUrl: './portaaltaak-configuration.component.html',\n styleUrls: ['./portaaltaak-configuration.component.scss'],\n})\nexport class PortaaltaakConfigurationComponent\n implements PluginConfigurationComponent, OnInit, OnDestroy\n{\n @Input() save$: Observable<void>;\n @Input() disabled$: Observable<boolean>;\n @Input() pluginId: string;\n @Input() prefillConfiguration$: Observable<PortaaltaakConfig>;\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() configuration: EventEmitter<PortaaltaakConfig> = new EventEmitter<PortaaltaakConfig>();\n readonly notificatiesApiPluginSelectItems$: Observable<Array<SelectItem>> = combineLatest([\n this.pluginManagementService.getPluginConfigurationsByPluginDefinitionKey('notificatiesapi'),\n this.translateService.stream('key'),\n ]).pipe(\n map(([configurations]) =>\n configurations.map(configuration => ({\n id: configuration.id,\n text: `${configuration.title} - ${this.pluginTranslationService.instant(\n 'title',\n configuration.pluginDefinition.key\n )}`,\n }))\n )\n );\n readonly objectManagementConfigurationItems$: Observable<Array<SelectItem>> = combineLatest([\n this.objectManagementService.getAllObjects(),\n this.translateService.stream('key'),\n ]).pipe(\n map(([objectManagementConfigurations]) =>\n objectManagementConfigurations.map(configuration => ({\n id: configuration.id,\n text: `${configuration.title}`,\n }))\n )\n );\n\n readonly processSelectItems$: Observable<Array<SelectItem>> = this.processService\n .getProcessDefinitions()\n .pipe(\n map(processDefinitions =>\n processDefinitions.map(processDefinition => ({\n id: processDefinition.key,\n text: processDefinition.name,\n }))\n )\n );\n\n private saveSubscription!: Subscription;\n private readonly formValue$ = new BehaviorSubject<PortaaltaakConfig | null>(null);\n private readonly valid$ = new BehaviorSubject<boolean>(false);\n\n constructor(\n private readonly pluginManagementService: PluginManagementService,\n private readonly objectManagementService: ObjectService,\n private readonly translateService: TranslateService,\n private readonly pluginTranslationService: PluginTranslationService,\n private readonly processService: ProcessService\n ) {}\n\n ngOnInit(): void {\n this.openSaveSubscription();\n }\n\n ngOnDestroy() {\n this.saveSubscription?.unsubscribe();\n }\n\n formValueChange(formValue: PortaaltaakConfig): void {\n this.formValue$.next(formValue);\n this.handleValid(formValue);\n }\n\n private handleValid(formValue: PortaaltaakConfig): void {\n const valid = !!(\n formValue.configurationTitle &&\n formValue.notificatiesApiPluginConfiguration &&\n formValue.objectManagementConfigurationId\n );\n\n this.valid$.next(valid);\n this.valid.emit(valid);\n }\n\n private openSaveSubscription(): void {\n this.saveSubscription = this.save$?.subscribe(save => {\n combineLatest([this.formValue$, this.valid$])\n .pipe(take(1))\n .subscribe(([formValue, valid]) => {\n if (valid) {\n this.configuration.emit(formValue);\n }\n });\n });\n }\n}\n","<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null,\n } as obs\"\n>\n <v-input\n name=\"configurationTitle\"\n [title]=\"'configurationTitle' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.configurationTitle\"\n [required]=\"true\"\n [trim]=\"true\"\n [tooltip]=\"'configurationTitleTooltip' | pluginTranslate: pluginId | async\"\n placeholder=\"Portaaltaak Plugin\"\n >\n </v-input>\n <ng-container\n *ngIf=\"notificatiesApiPluginSelectItems$ | async as notificatiesApiPluginSelectItems\"\n >\n <v-select\n [items]=\"notificatiesApiPluginSelectItems\"\n [margin]=\"true\"\n name=\"notificatiesApiPluginConfiguration\"\n [title]=\"'notificatiesApiPluginConfiguration' | pluginTranslate: pluginId | async\"\n [disabled]=\"obs.disabled\"\n [defaultSelectionId]=\"obs.prefill?.notificatiesApiPluginConfiguration\"\n [required]=\"true\"\n [loading]=\"!notificatiesApiPluginSelectItems\"\n [tooltip]=\"'notificatiesApiPluginConfigurationTooltip' | pluginTranslate: pluginId | async\"\n ></v-select>\n </ng-container>\n <ng-container\n *ngIf=\"objectManagementConfigurationItems$ | async as objectManagementConfigurationItems\"\n >\n <v-select\n [items]=\"objectManagementConfigurationItems\"\n [margin]=\"true\"\n name=\"objectManagementConfigurationId\"\n [title]=\"'objectManagementConfiguration' | pluginTranslate: pluginId | async\"\n [disabled]=\"obs.disabled\"\n [defaultSelectionId]=\"obs.prefill?.objectManagementConfigurationId\"\n [required]=\"true\"\n [loading]=\"!objectManagementConfigurationItems\"\n [tooltip]=\"'objectManagementConfigurationTooltip' | pluginTranslate: pluginId | async\"\n ></v-select>\n </ng-container>\n <ng-container *ngIf=\"{processSelectItems: processSelectItems$ | async} as vars\">\n <v-select\n [items]=\"vars.processSelectItems\"\n [margin]=\"true\"\n name=\"completeTaakProcess\"\n [title]=\"'completeTaakProcess' | pluginTranslate: pluginId | async\"\n [disabled]=\"obs.disabled\"\n [defaultSelectionId]=\"obs.prefill?.completeTaakProcess\"\n [required]=\"true\"\n [loading]=\"!vars.processSelectItems\"\n [tooltip]=\"'completeTaakProcessTooltip' | pluginTranslate: pluginId | async\"\n ></v-select>\n </ng-container>\n</v-form>\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {FunctionConfigurationComponent} from '../../../../models';\nimport {BehaviorSubject, combineLatest, map, Observable, Subscription, take} from 'rxjs';\nimport {TranslateService} from '@ngx-translate/core';\nimport {PluginTranslationService} from '../../../../services';\nimport {CreatePortalTaskConfig, FormType, OtherReceiver, Receiver} from '../../models';\nimport {SelectItem, ValuePathSelectorPrefix} from '@valtimo/components';\n\n@Component({\n standalone: false,\n selector: 'valtimo-create-portal-task',\n templateUrl: './create-portal-task.component.html',\n styleUrls: ['./create-portal-task.component.scss'],\n})\nexport class CreatePortalTaskComponent\n implements FunctionConfigurationComponent, OnInit, OnDestroy\n{\n @Input() save$: Observable<void>;\n @Input() disabled$: Observable<boolean>;\n @Input() pluginId: string;\n @Input() prefillConfiguration$: Observable<CreatePortalTaskConfig>;\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() configuration: EventEmitter<CreatePortalTaskConfig> =\n new EventEmitter<CreatePortalTaskConfig>();\n readonly FORM_TYPE_ITEMS: Array<FormType> = ['id', 'url'];\n readonly formTypeSelectItems$ = this.selectItemsToTranslatedItems(this.FORM_TYPE_ITEMS);\n\n readonly RECEIVER_ITEMS: Array<Receiver> = ['zaakInitiator', 'other'];\n readonly receiverSelectItems$ = this.selectItemsToTranslatedItems(this.RECEIVER_ITEMS);\n\n readonly OTHER_RECEIVER_ITEMS: Array<OtherReceiver> = ['kvk', 'bsn'];\n readonly otherReceiverSelectItems$ = this.selectItemsToTranslatedItems(this.OTHER_RECEIVER_ITEMS);\n\n private saveSubscription!: Subscription;\n private readonly formValue$ = new BehaviorSubject<CreatePortalTaskConfig | null>(null);\n readonly formTypeIsUrl$: Observable<boolean> = this.formValue$.pipe(\n map(value => !!(value?.formType === 'url'))\n );\n readonly receiverIsOther$: Observable<boolean> = this.formValue$.pipe(\n map(value => !!(value?.receiver === 'other'))\n );\n private readonly valid$ = new BehaviorSubject<boolean>(false);\n\n public readonly ValuePathSelectorPrefix = ValuePathSelectorPrefix;\n\n constructor(\n private readonly translateService: TranslateService,\n private readonly pluginTranslationService: PluginTranslationService\n ) {}\n\n ngOnInit(): void {\n this.openSaveSubscription();\n }\n\n ngOnDestroy(): void {\n this.saveSubscription?.unsubscribe();\n }\n\n formValueChange(formValue: CreatePortalTaskConfig): void {\n this.formValue$.next(formValue);\n this.handleValid(formValue);\n }\n\n private handleValid(formValue: CreatePortalTaskConfig): void {\n const valid =\n !!formValue.formType &&\n (!!(formValue.formType === 'url' && formValue.formTypeUrl) ||\n !!(formValue.formType === 'id' && formValue.formTypeId)) &&\n !!formValue?.receiver &&\n (formValue.receiver === 'other'\n ? !!(formValue.identificationValue && formValue.identificationKey)\n : true);\n\n this.valid$.next(valid);\n this.valid.emit(valid);\n }\n\n private openSaveSubscription(): void {\n this.saveSubscription = this.save$?.subscribe(save => {\n combineLatest([this.formValue$, this.valid$])\n .pipe(take(1))\n .subscribe(([formValue, valid]) => {\n if (valid) {\n this.configuration.emit(formValue);\n }\n });\n });\n }\n\n private selectItemsToTranslatedItems(selectItems: Array<string>): Observable<Array<SelectItem>> {\n return this.translateService.stream('key').pipe(\n map(() =>\n selectItems.map(item => ({\n id: item,\n text: this.pluginTranslationService.instant(item, this.pluginId),\n }))\n )\n );\n }\n}\n","<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null,\n formTypeIsUrl: formTypeIsUrl$ | async,\n receiverIsOther: receiverIsOther$ | async,\n } as obs\"\n>\n <v-select\n [items]=\"formTypeSelectItems$ | async\"\n [margin]=\"true\"\n [widthInPx]=\"250\"\n name=\"formType\"\n [title]=\"'formType' | pluginTranslate: pluginId | async\"\n [disabled]=\"obs.disabled\"\n [defaultSelectionId]=\"obs.prefill?.formType || FORM_TYPE_ITEMS[0]\"\n [tooltip]=\"'formTypeTooltip' | pluginTranslate: pluginId | async\"\n [required]=\"true\"\n [clearable]=\"false\"\n ></v-select>\n\n <v-input\n *ngIf=\"obs.formTypeIsUrl === false\"\n name=\"formTypeId\"\n [title]=\"'formTypeId' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.formTypeId\"\n [disabled]=\"obs.disabled\"\n [trim]=\"true\"\n [tooltip]=\"'formTypeIdTooltip' | pluginTranslate: pluginId | async\"\n [required]=\"true\"\n ></v-input>\n\n <v-input\n *ngIf=\"obs.formTypeIsUrl\"\n name=\"formTypeUrl\"\n [title]=\"'formTypeUrl' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.formTypeUrl\"\n [disabled]=\"obs.disabled\"\n [tooltip]=\"'formTypeUrlTooltip' | pluginTranslate: pluginId | async\"\n [required]=\"true\"\n [trim]=\"true\"\n ></v-input>\n\n <valtimo-carbon-multi-input\n name=\"sendData\"\n [title]=\"'sendData' | pluginTranslate: pluginId | async\"\n type=\"keyValuePathSelector\"\n [disabled]=\"obs.disabled\"\n [defaultValues]=\"obs.prefill?.sendData\"\n [margin]=\"true\"\n [required]=\"false\"\n [tooltip]=\"'sendDataTooltip' | pluginTranslate: pluginId | async\"\n [minimumAmountOfRows]=\"0\"\n [initialAmountOfRows]=\"0\"\n [fullWidth]=\"true\"\n valuePathSelectorNotation=\"slashes\"\n [valuePathSelectorPrefixes]=\"[ValuePathSelectorPrefix.DOC]\"\n [valuePathSelectorShowCaseDefinitionSelector]=\"true\"\n [keyColumnFlex]=\"1\"\n [valueColumnFlex]=\"2\"\n [keyColumnTitle]=\"'destinationInObject' | pluginTranslate: pluginId | async\"\n [valueColumnTitle]=\"'value' | pluginTranslate: pluginId | async\"\n ></valtimo-carbon-multi-input>\n\n <valtimo-carbon-multi-input\n name=\"receiveData\"\n [title]=\"'receiveData' | pluginTranslate: pluginId | async\"\n type=\"valuePathSelectorValue\"\n [disabled]=\"obs.disabled\"\n [defaultValues]=\"obs.prefill?.receiveData\"\n [margin]=\"true\"\n [required]=\"false\"\n [tooltip]=\"'receiveDataTooltip' | pluginTranslate: pluginId | async\"\n [minimumAmountOfRows]=\"0\"\n [initialAmountOfRows]=\"0\"\n [fullWidth]=\"true\"\n valuePathSelectorNotation=\"slashes\"\n [valuePathSelectorPrefixes]=\"[ValuePathSelectorPrefix.DOC]\"\n [valuePathSelectorShowCaseDefinitionSelector]=\"true\"\n [keyColumnFlex]=\"2\"\n [valueColumnFlex]=\"1\"\n [keyColumnTitle]=\"'destination' | pluginTranslate: pluginId | async\"\n [valueColumnTitle]=\"'source' | pluginTranslate: pluginId | async\"\n ></valtimo-carbon-multi-input>\n\n <v-select\n [items]=\"receiverSelectItems$ | async\"\n [margin]=\"true\"\n [widthInPx]=\"250\"\n name=\"receiver\"\n [title]=\"'receiver' | pluginTranslate: pluginId | async\"\n [disabled]=\"obs.disabled\"\n [defaultSelectionId]=\"obs.prefill?.receiver || RECEIVER_ITEMS[0]\"\n [tooltip]=\"'receiverTooltip' | pluginTranslate: pluginId | async\"\n [required]=\"true\"\n [clearable]=\"false\"\n ></v-select>\n\n <v-input\n *ngIf=\"obs.receiverIsOther\"\n name=\"identificationKey\"\n [title]=\"'identificationKey' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.identificationKey\"\n [disabled]=\"obs.disabled\"\n [tooltip]=\"'identificationKeyTooltip' | pluginTranslate: pluginId | async\"\n [required]=\"true\"\n [trim]=\"true\"\n ></v-input>\n\n <v-input\n *ngIf=\"obs.receiverIsOther\"\n name=\"identificationValue\"\n [title]=\"'identificationValue' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.identificationValue\"\n [disabled]=\"obs.disabled\"\n [tooltip]=\"'identificationValueTooltip' | pluginTranslate: pluginId | async\"\n [required]=\"true\"\n [trim]=\"true\"\n ></v-input>\n\n <v-input\n name=\"verloopDurationInDays\"\n [title]=\"'verloopDurationInDays' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.verloopDurationInDays?.toString()\"\n [disabled]=\"obs.disabled\"\n [tooltip]=\"'verloopDurationInDaysTooltip' | pluginTranslate: pluginId | async\"\n [required]=\"false\"\n ></v-input>\n</v-form>\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {FunctionConfigurationComponent} from '../../../../models';\nimport {Observable, Subscription} from 'rxjs';\n\n@Component({\n standalone: false,\n selector: 'valtimo-complete-portal-task',\n templateUrl: './complete-portal-task.component.html',\n styleUrls: ['./complete-portal-task.component.scss'],\n})\nexport class CompletePortalTaskComponent\n implements FunctionConfigurationComponent, OnInit, OnDestroy\n{\n @Input() save$: Observable<void>;\n @Input() disabled$: Observable<boolean>;\n @Input() pluginId: string;\n @Input() prefillConfiguration$: Observable<any>;\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() configuration: EventEmitter<any> = new EventEmitter<any>();\n private saveSubscription!: Subscription;\n\n ngOnInit(): void {\n this.openSaveSubscription();\n this.valid.emit(true);\n }\n\n ngOnDestroy(): void {\n this.saveSubscription?.unsubscribe();\n }\n\n private openSaveSubscription(): void {\n this.saveSubscription = this.save$?.subscribe(save => {\n this.configuration.emit({});\n });\n }\n}\n","<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {NgModule} from '@angular/core';\nimport {PortaaltaakConfigurationComponent} from './components/portaaltaak-configuration/portaaltaak-configuration.component';\nimport {PluginTranslatePipeModule} from '../../pipes';\nimport {CommonModule} from '@angular/common';\nimport {\n FormModule,\n InputModule,\n CarbonMultiInputModule,\n ParagraphModule,\n SelectModule,\n} from '@valtimo/components';\nimport {CreatePortalTaskComponent} from './components/create-portal-task/create-portal-task.component';\nimport {CompletePortalTaskComponent} from './components/complete-portal-task/complete-portal-task.component';\n\n@NgModule({\n declarations: [\n PortaaltaakConfigurationComponent,\n CreatePortalTaskComponent,\n CompletePortalTaskComponent,\n ],\n imports: [\n CommonModule,\n PluginTranslatePipeModule,\n FormModule,\n InputModule,\n SelectModule,\n ParagraphModule,\n CarbonMultiInputModule,\n ],\n exports: [\n PortaaltaakConfigurationComponent,\n CreatePortalTaskComponent,\n CompletePortalTaskComponent,\n ],\n})\nexport class PortaaltaakPluginModule {}\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nconst PORTAALTAAK_PLUGIN_LOGO_BASE64 =\n 'data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB2aWV3Qm94PSIxNTAgMTUgOTYgNTAiPjxkZWZzPjxwYXRoIGlkPSJhIiBkPSJNNTcuMzk2LjIxMUguMjgxdjQ5LjQwNWg1Ny4xMTVWLjIxeiIvPjxwYXRoIGlkPSJjIiBkPSJNNTcuNTY0LjIxMUguNDQ4djQ5LjQwNWg1Ny4xMTZWLjIxeiIvPjwvZGVmcz48ZyBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDE4Ny45MzEgMTUpIj48bWFzayBpZD0iYiIgZmlsbD0iI2ZmZiI+PHVzZSB4bGluazpocmVmPSIjYSIvPjwvbWFzaz48cGF0aCBkPSJNNTcuMzk2IDI0LjkxM2MwLTEzLjU3My0xMS4wMDQtMjQuNjIyLTI0LjU2LTI0LjctLjAyNCAwLS4wNDgtLjAwMy0uMDczLS4wMDNIMjQuNzVhMi41MDQgMi41MDQgMCAxIDAgMCA1LjAxaDcuOTQ1YzEwLjg1OCAwIDE5LjY5NCA4LjgzNCAxOS42OTQgMTkuNjkzIDAgMTAuODYtOC44MzYgMTkuNjk0LTE5LjY5NCAxOS42OTRINS4yODl2LTQuNTc4SC4yODF2OS41ODdoMzIuNDgydi0uMDAxYzEzLjU5LS4wNCAyNC42MzMtMTEuMTA1IDI0LjYzMy0yNC43MDIiIGZpbGw9IiMwMDlGRTQiIG1hc2s9InVybCgjYikiLz48L2c+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTUwIDE1KSI+PG1hc2sgaWQ9ImQiIGZpbGw9IiNmZmYiPjx1c2UgeGxpbms6aHJlZj0iI2MiLz48L21hc2s+PHBhdGggZD0iTS40NDggMjQuOTEzYzAgMTMuNTczIDExLjAwNCAyNC42MjIgMjQuNTYgMjQuNy4wMjQgMCAuMDQ4LjAwMy4wNzMuMDAzaDguMDE0YTIuNTA0IDIuNTA0IDAgMSAwIDAtNS4wMDloLTcuOTQ0Yy0xMC44NTkgMC0xOS42OTQtOC44MzQtMTkuNjk0LTE5LjY5NCAwLTEwLjg1OSA4LjgzNS0xOS42OTQgMTkuNjk0LTE5LjY5NGgyNy40MDR2NC41NzhoNS4wMDlWLjIxSDI1LjA4di4wMDFDMTEuNDkuMjUxLjQ0OCAxMS4zMTYuNDQ4IDI0LjkxMyIgZmlsbD0iIzAwOUZFNCIgbWFzaz0idXJsKCNkKSIvPjwvZz48cGF0aCBmaWxsPSIjMDA0Mzg4IiBkPSJNMTc2LjAxNyA0Mi4xMTZsLTQuNjc4LTEyLjQwMWgtNS42NjRsOC4xNCAyMC4zNjZoMy45MjFsOC40MDEtMjAuMzY2aC01LjM2M3ptMjYuNTQyLjU1OGwtNy45MjgtMTIuOTU5aC02LjQxM3YyMC4zNjdoNC45OTdWMzYuNzg3bDguMTUgMTMuMjk1aDYuMTlWMjkuNzE1aC00Ljk5NnptMTkuMzIzLTQuOTR2NC42NjNoMy41Mzd2Mi42NzdhOS43NzMgOS43NzMgMCAwIDEtMS40MTQuNTRjLS42NTIuMjAzLTEuNDQzLjMwNi0yLjM1NC4zMDYtLjg4IDAtMS42ODYtLjE1LTIuMzk0LS40NDhhNS4zMzggNS4zMzggMCAwIDEtMS44MjQtMS4yNDcgNS41MjIgNS41MjIgMCAwIDEtMS4xNy0xLjg5NGMtLjI3Mi0uNzI5LS40MS0xLjU0OS0uNDEtMi40MzMgMC0uODY3LjEzOC0xLjY4MS40MS0yLjQyYTUuNTAyIDUuNTAyIDAgMCAxIDEuMTctMS45MDggNS4zNzQgNS4zNzQgMCAwIDEgMS44MjQtMS4yNDZjLjcwOS0uMjk4IDEuNTE0LS40NDkgMi4zOTQtLjQ0OSAxLjA2NCAwIDEuOTU5LjE1MSAyLjY1Ny40NDkuNy4yOTcgMS4zMzguNzQgMS44OTggMS4zMThsLjI0Mi4yNDggMy41MTUtMy44MzUtLjIzNy0uMjIxYTguOTIzIDguOTIzIDAgMCAwLTMuNjI3LTIuMDM4Yy0xLjM1LS4zODYtMi44NDctLjU4My00LjQ0OC0uNTgzLTEuNTcyIDAtMy4wNDQuMjUtNC4zNzMuNzQ1YTEwLjEzOSAxMC4xMzkgMCAwIDAtMy40ODEgMi4xNDNjLS45NzUuOTI4LTEuNzQ2IDIuMDY2LTIuMjkgMy4zODQtLjU0MyAxLjMxNS0uODE5IDIuOC0uODE5IDQuNDEzIDAgMS42MTMuMjc2IDMuMDk4LjgyIDQuNDEzLjU0NSAxLjMxOSAxLjMxNCAyLjQ1NyAyLjI4OSAzLjM4NC45NzQuOTI2IDIuMTQ2IDEuNjQ3IDMuNDggMi4xNDMgMS4zMy40OTQgMi44MDIuNzQ0IDQuMzc0Ljc0NCAxLjQ2NCAwIDIuOTItLjE1MiA0LjMzLS40NTJhMTYuMDU0IDE2LjA1NCAwIDAgMCA0LjA5LTEuNDc4bC4xNzctLjA5VjM3LjczM2gtOC4zNjZ6Ii8+PC9nPjwvc3ZnPg==';\nexport {PORTAALTAAK_PLUGIN_LOGO_BASE64};\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {PluginSpecification} from '../../models';\nimport {PortaaltaakConfigurationComponent} from './components/portaaltaak-configuration/portaaltaak-configuration.component';\nimport {PORTAALTAAK_PLUGIN_LOGO_BASE64} from './assets/portaaltaak-plugin-logo';\nimport {CreatePortalTaskComponent} from './components/create-portal-task/create-portal-task.component';\nimport {CompletePortalTaskComponent} from './components/complete-portal-task/complete-portal-task.component';\n\nconst portaaltaakPluginSpecification: PluginSpecification = {\n pluginId: 'portaaltaak',\n pluginConfigurationComponent: PortaaltaakConfigurationComponent,\n pluginLogoBase64: PORTAALTAAK_PLUGIN_LOGO_BASE64,\n functionConfigurationComponents: {\n 'create-portaaltaak': CreatePortalTaskComponent,\n 'complete-portaaltaak': CompletePortalTaskComponent,\n },\n pluginTranslations: {\n nl: {\n title: 'Portaaltaak',\n description: 'Een component om een portaaltaakrouteringscomponent te benaderen.',\n configurationTitle: 'Configuratienaam',\n configurationTitleTooltip:\n 'De naam van de huidige plugin-configuratie. Onder deze naam kan de configuratie in de rest van de applicatie teruggevonden worden.',\n notificatiesApiPluginConfiguration: 'Notificaties API plugin',\n notificatiesApiPluginConfigurationTooltip:\n 'Selecteer de Notificaties API plugin. Wanneer de selectiebox leeg is, zal de notificatie API plugin eerst aangemaakt moeten worden.',\n objectManagementConfiguration: 'Object management configuratie',\n objectManagementConfigurationTooltip:\n 'Selecteer de gewenste object management configuratie. Wanneer de selectiebox leeg is, zal de object management configuratie eerst aangemaakt moeten worden.',\n 'create-portaaltaak': 'Portaaltaak aanmaken',\n 'complete-portaaltaak': 'Portaaltaak afronden',\n formType: 'Formuliertype',\n formTypeTooltip:\n 'Kies hier of het te tonen formulier afkomstig moet zijn van een ingestelde definitie, of van een externe URL.',\n id: 'Formulierdefinitie',\n url: 'URL',\n formTypeId: 'Formulier ID',\n formTypeIdTooltip: 'Het ID van het formulier dat getoond moet worden',\n formTypeUrl: 'Formulier URL',\n formTypeUrlTooltip: 'Een URL die wijst naar het formulier dat getoond moet worden',\n sendData: 'Taakgegevens voor de ontvanger',\n sendDataTooltip:\n \"Vul hier sleutels en waarden in voor data die verstuurd moet worden naar de Objecten API. De sleutel is hier het pad in het object dat gevuld moet worden (bijvoorbeeld 'firstName'). De waarde wijst naar de data waarmee dit veld gevuld moet worden (bijvoorbeeld 'doc:/customer/firstName').\",\n receiveData: 'Ingevulde gegevens door de ontvanger',\n receiveDataTooltip:\n \"Vul hier sleutels en waarden in voor data die ontvangen moet worden van de Objecten API. De sleutel is hier de locatie waar de data opgeslagen moet worden (bijvoorbeeld 'doc:/customer/signedAgreement'). De waarde wijst naar het pad in het object waar de data vandaan moet komen (bijvoorbeeld '/signedAgreement').\",\n receiver: 'Ontvanger',\n receiverTooltip: 'Bepaal hier bij wie de data van de afgeronde taak terecht moet komen.',\n zaakInitiator: 'Zaak-initiator',\n other: 'Anders',\n otherReceiver: 'Andere ontvanger',\n otherReceiverTooltip:\n 'U heeft de optie geselecteerd voor een andere ontvanger. Selecteer hier welk type dit moet zijn.',\n kvk: 'KVK-nummer',\n bsn: 'Burgerservicenummer (BSN)',\n kvkTooltip: 'Het KVK-nummer van de gewenste ontvanger.',\n bsnTooltip: 'Het Burgerservicenummer (BSN) van de gewenste ontvanger.',\n completeTaakProcess: 'Geüploade documentverwerkingsproces',\n completeTaakProcessTooltip:\n 'Het proces dat de geüploade documenten in de portal moet afhandelen.',\n identificationKey: 'Identificatiesleutel',\n identificationKeyTooltip:\n \"De ingevoerde sleutel bepaalt hoe de ontvanger wordt geïdentificeerd. Geldige voorbeelden zijn 'bsn' of 'kvk'.\",\n identificationValue: 'Identificatiewaarde',\n identificationValueTooltip:\n \"De waarde waarmee de ontvanger wordt geïdentificeerd. Wanneer er bijvoorbeeld in het veld 'Identificatiesleutel' de waarde 'bsn' is ingevoerd, kan er in dit veld een burgerservicenummer worden ingevoerd (bijvoorbeeld 558099476).\",\n verloopDurationInDays: 'Verlooptijd taak in dagen',\n verloopDurationInDaysTooltip:\n 'Het aantal dagen na aanmaken van een taak dat deze verloopt. Deze wordt alleen ingesteld voor de portaal taak, niet in het BPMN proces.',\n destinationInObject: 'Pad in het object',\n value: 'Waarde',\n destination: 'Bestemming',\n source: 'Bron',\n },\n en: {\n title: 'Portal task',\n description: 'A component to access a portal task routing component.',\n configurationTitle: 'Configuration name',\n configurationTitleTooltip:\n 'The name of the current plugin configuration. Under this name, the configuration can be found in the rest of the application.',\n notificatiesApiPluginConfiguration: 'Notificaties API plugin',\n notificatiesApiPluginConfigurationTooltip:\n 'Select the Notificaties API plugin. If the selection box remains empty, the Notificaties API plugin will first have to be created.',\n objectManagementConfiguration: 'Object management configuration',\n objectManagementConfigurationTooltip:\n 'Select the object management configuration. If the selection box remains empty, the object management configuration will first have to be created.',\n 'create-portaaltaak': 'Create portal task',\n 'complete-portaaltaak': 'Complete portal task',\n formType: 'Form type',\n formTypeTooltip:\n 'Choose here whether the form to be displayed should come from a set definition or from an external URL.',\n id: 'Form definition',\n url: 'URL',\n formTypeId: 'Form ID',\n formTypeIdTooltip: 'The ID of the form to be displayed',\n formTypeUrl: 'Form URL',\n formTypeUrlTooltip: 'A URL pointing to the form to be displayed',\n sendData: 'Task data for the recipient',\n sendDataTooltip:\n \"Enter keys and values here for data to be sent to the Objecten API. The key here is the path in the object to be populated (e.g. 'firstName'). The value points to the data with which this field must be filled (e.g. 'doc:/customer/firstName').\",\n receiveData: 'Information entered by the recipient',\n receiveDataTooltip:\n \"Enter keys and values here for data to be received from the Objecten API. The key here is the location where the data should be stored (e.g. 'doc:/customer/signedAgreement'). The value points to the path in the object where the data should come from (e.g. '/signedAgreement').\",\n receiver: 'Receiver',\n receiverTooltip: 'Determine here who should receive the data of the completed task.',\n zaakInitiator: 'Case initiator',\n other: 'Other',\n otherReceiver: 'Other receiver',\n otherReceiverTooltip:\n 'You have selected the option for another receiver. Select here which type this should be.',\n kvk: 'KVK number',\n bsn: 'Citizen service number (BSN)',\n kvkTooltip: 'The KVK number of the desired receiver.',\n bsnTooltip: 'The Citizen service number (BSN) of the desired receiver',\n completeTaakProcess: 'Process to complete Portaaltaak',\n completeTaakProcessTooltip:\n 'The process that should handle the uploaded documents in the portal.',\n identificationKey: 'Identification key',\n identificationKeyTooltip:\n \"The key entered determines how the recipient is identified. Valid examples are 'bsn' or 'kvk'.\",\n identificationValue: 'Identification value',\n identificationValueTooltip:\n \"The value that identifies the recipient. For example, if the value 'bsn' is entered in the 'Identification key' field, a citizen service number can be entered in this field (for example 558099476).\",\n verloopDurationInDays: 'Number of days for the task to expire',\n verloopDurationInDaysTooltip:\n 'The number of days from the creation time until the task expires. This will only be used in the portal task. The BPMN due date needs to be configured separately.',\n destinationInObject: 'Path in the object',\n value: 'Value',\n destination: 'Destination',\n source: 'Source',\n },\n de: {\n title: 'Portalaufgabe',\n description:\n 'Eine Komponente für den Zugriff auf eine Portal-Aufgabenweiterleitungskomponente.',\n configurationTitle: 'Konfigurationsname',\n configurationTitleTooltip:\n 'Der Name der aktuellen Plugin-Konfiguration. Unter diesem Namen ist die Konfiguration im Rest der Anwendung zu finden.',\n notificatiesApiPluginConfiguration: 'Benachrichtigungs-API plugin',\n notificatiesApiPluginConfigurationTooltip:\n 'Wählen Sie das Benachrichtigungs-API-Plugin aus. Bleibt das Auswahlfeld leer, muss das Benachrichtigungs-API-Plugin erst erstellt werden.',\n objectManagementConfiguration: 'Objektverwaltungskonfiguration',\n objectManagementConfigurationTooltip:\n 'Wählen Sie die Objektverwaltungskonfiguration aus. Bleibt das Auswahlfeld leer, muss zunächst die Objektverwaltungskonfiguration erstellt werden.',\n 'create-portaaltaak': 'Portalaufgabe erstellen',\n 'complete-portaaltaak': 'Portalaufgabe abschließen',\n formType: 'Formulartyp',\n formTypeTooltip:\n 'Wählen Sie hier aus, ob das anzuzeigende Formular aus einer Set-Definition oder von einer externen URL stammen soll.',\n id: 'Formulardefinition',\n url: 'URL',\n sendData: 'Auftragsdaten für den Empfänger',\n sendDataTooltip:\n \"Geben Sie hier Schlüssel und Werte für Daten ein, die an die Objecten API gesendet werden sollen. Der Schlüssel ist hier der Pfad im Objekt, das gefüllt werden soll (z. B. 'firstName'). Der Wert zeigt auf die Daten, mit denen dieses Feld gefüllt werden muss (z. B. 'doc:/customer/firstName').\",\n receiveData: 'Vom Empfänger eingegebene Informationen',\n receiveDataTooltip:\n \"Geben Sie hier Schlüssel und Werte für Daten ein, die von der Objecten API empfangen werden sollen. Der Schlüssel ist hier der Ort, an dem die Daten gespeichert werden sollen (z. B. 'doc:/customer/signedAgreement'). Der Wert zeigt auf den Pfad im Objekt, aus dem die Daten stammen sollen (z. B. '/signedAgreement').\",\n receiver: 'Empfänger',\n receiverTooltip:\n 'Bestimmen Sie hier, wer die Daten der abgeschlossenen Aufgabe erhalten soll.',\n zaakInitiator: 'Initiator des Falles',\n other: 'Andere',\n otherReceiver: 'Anderer Empfänger',\n otherReceiverTooltip:\n 'Sie haben die Option für einen anderen Empfänger gewählt. Wählen Sie hier aus, welcher Typ das sein soll.',\n kvk: 'KVK-Nummer',\n bsn: 'Bürgerservicenummer (BSN)',\n kvkTooltip: 'Die KVK-Nummer des gewünschten Empfängers.',\n bsnTooltip: 'Die Bürgerservicenummer (BSN) des gewünschten Empfängers.',\n completeTaakProcess: 'Handhabungsprozess für hochgeladene Dokumente',\n completeTaakProcessTooltip:\n 'Der Prozess, der die hochgeladenen Dokumente im Portal handhaben soll.',\n identificationKey: 'Identifikationsschlüssel',\n identificationKeyTooltip:\n \"Der eingegebene Schlüssel bestimmt, wie der Empfänger identifiziert wird. Gültige Beispiele sind 'bsn' oder 'kvk'.\",\n identificationValue: 'Identifikationswert',\n identificationValueTooltip:\n \"Der Wert, der den Empfänger identifiziert. Wird beispielsweise im Feld 'Identifikationsschlüssel' der Wert 'bsn' eingetragen, kann in diesem Feld eine Sozialversicherungsnummer eingetragen werden (z. B. 558099476).\",\n verloopDurationInDays: 'Ablaufzeit der Aufgabe in Tagen',\n verloopDurationInDaysTooltip:\n 'Die Anzahl der Tage vom Erstellungszeitpunkt bis zum Ablauf der Aufgabe. Dies wird nur in der Portalaufgabe verwendet. Das BPMN-Fälligkeitsdatum muss separat konfiguriert werden.',\n destinationInObject: 'Pfad im Objekt',\n value: 'Wert',\n destination: 'Ziel',\n source: 'Quelle',\n },\n },\n};\n\nexport {portaaltaakPluginSpecification};\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Injectable} from '@angular/core';\nimport {catchError, Observable, of} from 'rxjs';\nimport {HttpClient} from '@angular/common/http';\nimport {ConfigService, Page} from '@valtimo/shared';\nimport {CaseListItem, Objecttype, Roltype} from '../models';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class VerzoekPluginService {\n private valtimoEndpointUri: string;\n\n constructor(\n private http: HttpClient,\n configService: ConfigService\n ) {\n this.valtimoEndpointUri = configService.config?.valtimoApi?.endpointUri;\n }\n\n getAllObjects(): Observable<Objecttype[]> {\n return this.http.get<Objecttype[]>(\n `${this.valtimoEndpointUri}v1/object/management/configuration`\n );\n }\n\n getRoltypesByCaseDefinition(\n caseDefinitionKey: string,\n params: {caseDefinitionVersionTag?: string}\n ): Observable<Array<Roltype>> {\n Object.keys(params).forEach(paramKey => {\n const paramValue = params[paramKey];\n if (paramValue == null) {\n params[paramKey] = '';\n }\n });\n\n return this.http\n .get<\n Array<Roltype>\n >(`${this.valtimoEndpointUri}v1/case-definition/${caseDefinitionKey}/zaaktype/roltype`, {params})\n .pipe(catchError(() => of([])));\n }\n\n public getCaseDefinitions(params: any): Observable<Page<CaseListItem>> {\n return this.http.get<Page<CaseListItem>>(\n `${this.valtimoEndpointUri}management/v1/case-definition`,\n {params}\n );\n }\n}\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport * from './verzoek-plugin.service';\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {\n Component,\n EventEmitter,\n Input,\n OnDestroy,\n OnInit,\n Output,\n QueryList,\n ViewChildren,\n} from '@angular/core';\nimport {PluginConfigurationComponent} from '../../../../models';\nimport {\n BehaviorSubject,\n combineLatest,\n filter,\n map,\n Observable,\n of,\n Subscription,\n take,\n tap,\n} from 'rxjs';\nimport {CopyStrategy, VerzoekConfig, VerzoekType} from '../../models';\nimport {PluginManagementService, PluginTranslationService} from '../../../../services';\nimport {TranslateService} from '@ngx-translate/core';\nimport {\n ModalService,\n MultiInputValues,\n RadioValue,\n SelectItem,\n ValuePathSelectorPrefix,\n VModalComponent,\n} from '@valtimo/components';\nimport {VerzoekPluginService} from '../../services';\nimport {ProcessService} from '@valtimo/process';\nimport {DataTable16} from '@carbon/icons';\nimport {IconService} from 'carbon-components-angular';\n\n@Component({\n standalone: false,\n selector: 'valtimo-verzoek-configuration',\n templateUrl: './verzoek-configuration.component.html',\n styleUrls: ['./verzoek-configuration.component.scss'],\n})\nexport class VerzoekConfigurationComponent\n implements PluginConfigurationComponent, OnInit, OnDestroy\n{\n @ViewChildren(VModalComponent) mappingModals: QueryList<VModalComponent>;\n\n @Input() save$: Observable<void>;\n @Input() disabled$: Observable<boolean>;\n @Input() pluginId: string;\n @Input() prefillConfiguration$: Observable<VerzoekConfig>;\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() configuration: EventEmitter<VerzoekConfig> = new EventEmitter<VerzoekConfig>();\n\n mappedPrefill$: Observable<VerzoekConfig>;\n\n readonly notificatiePluginSelectItems$: Observable<Array<SelectItem>> = combineLatest([\n this.pluginManagementService.getPluginConfigurationsByPluginDefinitionKey('notificatiesapi'),\n this.translateService.stream('key'),\n ]).pipe(\n map(([configurations]) =>\n configurations.map(configuration => ({\n id: configuration.id,\n text: `${configuration.title} - ${this.pluginTranslationService.instant(\n 'title',\n configuration.pluginDefinition.key\n )}`,\n }))\n )\n );\n\n readonly objectManagementSelectItems$: Observable<Array<SelectItem>> = this.verzoekPluginService\n .getAllObjects()\n .pipe(\n map(objects =>\n objects.map(object => ({\n id: object.id,\n text: object.title,\n }))\n )\n );\n\n readonly processSelectItems$: Observable<Array<SelectItem>> = this.processService\n .getProcessDefinitions()\n .pipe(\n map(processDefinitions =>\n processDefinitions.map(processDefinition => ({\n id: processDefinition.key,\n text: processDefinition.name ?? '',\n }))\n )\n );\n\n readonly caseSelectItems$: Observable<Array<SelectItem>> = this.verzoekPluginService\n .getCaseDefinitions({active: true})\n .pipe(\n map(caseDefinitions =>\n caseDefinitions.content.map(caseDefinition => ({\n id: caseDefinition.caseDefinitionKey,\n text: caseDefinition.caseDefinitionKey,\n }))\n )\n );\n\n readonly RADIO_ITEMS: Array<CopyStrategy> = ['full', 'specified'];\n readonly radioItems$: Observable<Array<RadioValue>> = this.translateService.stream('key').pipe(\n map(() =>\n this.RADIO_ITEMS.map(radioItem => ({\n value: radioItem,\n title: this.pluginTranslationService.instant(radioItem, this.pluginId),\n }))\n )\n );\n\n readonly caseVersionTagSelectItemsObservables: {\n [uuid: string]: {caseDefinitionKey: string; items: Observable<Array<SelectItem>>};\n } = {};\n\n readonly rolTypeSelectItemsObservables: {\n [uuid: string]: {caseDefinitionId: string; items: Observable<Array<SelectItem>>};\n } = {};\n\n readonly showMappingButtons: {[uuid: string]: boolean} = {};\n\n readonly showMappingModalsDelay: {[uuid: string]: boolean} = {};\n\n readonly tempMappings: {[uuid: string]: MultiInputValues} = {};\n\n readonly mappings: {[uuid: string]: MultiInputValues} = {};\n\n private saveSubscription!: Subscription;\n\n private readonly formValue$ = new BehaviorSubject<VerzoekConfig | null>(null);\n private readonly valid$ = new BehaviorSubject<boolean>(false);\n\n public getSelectedCaseDefinitionKeyForIndex(index: number): Observable<string> {\n return this.formValue$.pipe(\n map(\n formValue =>\n Array.isArray(formValue.verzoekProperties) &&\n formValue.verzoekProperties[index]?.caseDefinitionKey\n )\n );\n }\n\n public readonly ValuePathSelectorPrefix = ValuePathSelectorPrefix;\n\n constructor(\n private readonly pluginManagementService: PluginManagementService,\n private readonly translateService: TranslateService,\n private readonly pluginTranslationService: PluginTranslationService,\n private readonly verzoekPluginService: VerzoekPluginService,\n private readonly processService: ProcessService,\n private readonly modalService: ModalService,\n private readonly iconService: IconService\n ) {\n this.iconService.registerAll([DataTable16]);\n }\n\n ngOnInit(): void {\n this.openSaveSubscription();\n this.setMappedPrefill();\n }\n\n ngOnDestroy() {\n this.saveSubscription?.unsubscribe();\n }\n\n formValueChange(formValue: VerzoekConfig): void {\n this.formValue$.next(formValue);\n this.handleValid(formValue);\n }\n\n verzoekTypeFormChange(formValue: VerzoekType, uuid: string): void {\n const caseDefinitionKey = formValue?.caseDefinitionKey;\n const caseDefinitionVersionTag = formValue?.caseDefinitionVersionTag;\n const caseDefinitionId = `${caseDefinitionKey}:${caseDefinitionVersionTag}`;\n const rolTypeSelectItemsObservables = this.rolTypeSelectItemsObservables;\n const caseVersionTagSelectItemsObservables = this.caseVersionTagSelectItemsObservables;\n\n this.showMappingButtons[uuid] = formValue.copyStrategy === 'specified';\n\n if (caseDefinitionKey) {\n if (\n !caseVersionTagSelectItemsObservables[uuid] ||\n caseVersionTagSelectItemsObservables[uuid].caseDefinitionKey !== caseDefinitionKey\n ) {\n caseVersionTagSelectItemsObservables[uuid] = {\n caseDefinitionKey,\n items: this.verzoekPluginService.getCaseDefinitions({caseDefinitionKey}).pipe(\n map(caseDefinitions =>\n [{text: 'Active version', id: ''}].concat(\n caseDefinitions.content.map(caseDefinition => ({\n text: caseDefinition.caseDefinitionVersionTag,\n id: caseDefinition.caseDefinitionVersionTag,\n }))\n )\n )\n ),\n };\n }\n if (\n !rolTypeSelectItemsObservables[uuid] ||\n rolTypeSelectItemsObservables[uuid].caseDefinitionId !== caseDefinitionId\n ) {\n rolTypeSelectItemsObservables[uuid] = {\n caseDefinitionId,\n items: this.verzoekPluginService\n .getRoltypesByCaseDefinition(caseDefinitionKey, {caseDefinitionVersionTag})\n .pipe(\n map(rolTypes => rolTypes.map(rolType => ({text: rolType.name, id: rolType.url})))\n ),\n };\n }\n } else {\n caseVersionTagSelectItemsObservables[uuid] = {\n caseDefinitionKey,\n items: of([]),\n };\n rolTypeSelectItemsObservables[uuid] = {\n caseDefinitionId,\n items: of([]),\n };\n }\n }\n\n deleteRow(uuid: string): void {\n delete this.caseVersionTagSelectItemsObservables[uuid];\n delete this.rolTypeSelectItemsObservables[uuid];\n }\n\n openMappingModal(uuid: string): void {\n this.showMappingModalsDelay[uuid] = true;\n this.modalService.openModal(\n this.mappingModals.find(mappingModal => mappingModal.parentId === uuid)\n );\n }\n\n closeMappingModal(uuid): void {\n this.modalService.closeModal();\n\n setTimeout(() => {\n this.showMappingModalsDelay[uuid] = false;\n }, 250);\n }\n\n mappingValueChange(newValue: MultiInputValues, uuid: string): void {\n this.tempMappings[uuid] = newValue;\n }\n\n saveMapping(uuid: string): void {\n this.mappings[uuid] = [...this.tempMappings[uuid]];\n this.tempMappings[uuid] = [];\n this.closeMappingModal(uuid);\n }\n\n private handleValid(formValue: VerzoekConfig): void {\n const validForm = !!(\n formValue.configurationTitle &&\n formValue.notificatiesApiPluginConfiguration &&\n formValue.rsin &&\n formValue.processToStart\n );\n const verzoekTypen = formValue.verzoekProperties || [];\n const validVerzoekTypen = verzoekTypen.filter(\n type =>\n !!(\n type.type &&\n type.caseDefinitionKey &&\n type.objectManagementId &&\n type.initiatorRoltypeUrl &&\n type.processDefinitionKey &&\n type.initiatorRolDescription\n )\n );\n const valid = validForm && verzoekTypen.length === validVerzoekTypen.length;\n this.valid$.next(valid);\n this.valid.emit(valid);\n }\n\n private openSaveSubscription(): void {\n this.saveSubscription = this.save$?.subscribe(save => {\n combineLatest([this.formValue$, this.valid$])\n .pipe(take(1))\n .subscribe(([formValue, valid]) => {\n const formValueToSave: VerzoekConfig = {\n ...formValue,\n verzoekProperties: formValue.verzoekProperties.map(verzoek => {\n const verzoekToReturn: VerzoekType = {...verzoek};\n delete verzoekToReturn.uuid;\n\n if (!verzoek.caseDefinitionVersionTag) {\n verzoekToReturn.caseDefinitionVersionTag = null;\n }\n\n if (this.mappings[verzoek.uuid] && verzoek.copyStrategy === 'specified') {\n verzoekToReturn.mapping = this.mappings[verzoek.uuid];\n }\n\n return {\n ...verzoekToReturn,\n ...(verzoekToReturn.mapping && {\n mapping: verzoekToReturn.mapping.map(verzoekMapping => ({\n source: verzoekMapping.key,\n target: verzoekMapping.value,\n })) as Array<any>,\n }),\n };\n }),\n };\n if (valid) {\n this.configuration.emit(formValueToSave);\n }\n });\n });\n }\n\n private setMappedPrefill(): void {\n this.mappedPrefill$ = this.prefillConfiguration$.pipe(\n filter(prefill => !!prefill),\n map(prefill => ({\n ...prefill,\n verzoekProperties: prefill.verzoekProperties.map(verzoekType => ({\n ...verzoekType,\n ...(verzoekType.mapping &&\n Array.isArray(verzoekType.mapping) && {\n mapping: verzoekType.mapping.map(mapping => ({\n key: mapping.source,\n value: mapping.target,\n })),\n }),\n })),\n })),\n tap(prefill => {\n setTimeout(() => {\n this.formValue$.pipe(take(1)).subscribe(formValue => {\n const prefillVerzoeken = prefill?.verzoekProperties;\n const formValueVerzoeken = formValue?.verzoekProperties;\n\n prefillVerzoeken.forEach((verzoek, index) => {\n const mappingForVerzoek = verzoek?.mapping;\n const uuidForMapping = formValueVerzoeken[index].uuid;\n\n if (mappingForVerzoek && uuidForMapping) {\n this.mappings[uuidForMapping] = mappingForVerzoek;\n }\n });\n });\n }, 250);\n })\n );\n }\n}\n","<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: mappedPrefill$ ? (mappedPrefill$ | async) : null,\n } as obs\"\n>\n <v-input\n name=\"configurationTitle\"\n [title]=\"'configurationTitle' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.configurationTitle\"\n [required]=\"true\"\n [trim]=\"true\"\n [tooltip]=\"'configurationTitleTooltip' | pluginTranslate: pluginId | async\"\n placeholder=\"Verzoek Plugin\"\n >\n </v-input>\n <ng-container\n *ngIf=\"{notificatiePluginSelectItems: notificatiePluginSelectItems$ | async} as vars\"\n >\n <v-select\n [items]=\"vars.notificatiePluginSelectItems\"\n [margin]=\"true\"\n name=\"notificatiesApiPluginConfiguration\"\n [title]=\"'notificatiesApiPluginConfiguration' | pluginTranslate: pluginId | async\"\n [disabled]=\"obs.disabled\"\n [defaultSelectionId]=\"obs.prefill?.notificatiesApiPluginConfiguration\"\n [required]=\"true\"\n [loading]=\"!vars.notificatiePluginSelectItems\"\n [tooltip]=\"'notificatiesApiPluginConfigurationTooltip' | pluginTranslate: pluginId | async\"\n ></v-select>\n </ng-container>\n <ng-container *ngIf=\"{processSelectItems: processSelectItems$ | async} as vars\">\n <v-select\n [items]=\"vars.processSelectItems\"\n [margin]=\"true\"\n name=\"processToStart\"\n [title]=\"'processToStart' | pluginTranslate: pluginId | async\"\n [disabled]=\"obs.disabled\"\n [defaultSelectionId]=\"obs.prefill?.processToStart\"\n [required]=\"true\"\n [loading]=\"!vars.processSelectItems\"\n [tooltip]=\"'processToStartTooltip' | pluginTranslate: pluginId | async\"\n ></v-select>\n </ng-container>\n <v-input\n name=\"rsin\"\n [title]=\"'rsin' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.rsin\"\n [required]=\"true\"\n [trim]=\"true\"\n [tooltip]=\"'rsinTooltip' | pluginTranslate: pluginId | async\"\n placeholder=\"\"\n >\n </v-input>\n <v-multi-input-form\n name=\"verzoekProperties\"\n [title]=\"'verzoekProperties' | pluginTranslate: pluginId | async\"\n [formTemplate]=\"mappingForm\"\n [addRowText]=\"'addVerzoekType' | pluginTranslate: pluginId | async\"\n [required]=\"false\"\n [tooltip]=\"'verzoekPropertiesTooltip' | pluginTranslate: pluginId | async\"\n (deleteRowEvent)=\"deleteRow($event)\"\n [initialAmountOfRows]=\"0\"\n [minimumAmountOfRows]=\"0\"\n [defaultValues]=\"obs.prefill?.verzoekProperties\"\n >\n </v-multi-input-form>\n</v-form>\n\n<ng-template\n #mappingForm\n let-index=\"index\"\n let-uuid=\"uuid\"\n let-changeFunction=\"changeFunction\"\n let-prefill=\"prefill\"\n>\n <ng-container\n *ngIf=\"{\n disabled: disabled$ | async,\n } as obs\"\n >\n <v-form (valueChange)=\"changeFunction($event, uuid); verzoekTypeFormChange($event, uuid)\">\n <v-input\n name=\"type\"\n [title]=\"'type' | pluginTranslate: pluginId | async\"\n [margin]=\"false\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"prefill?.type\"\n [required]=\"true\"\n [trim]=\"true\"\n [tooltip]=\"'typeTooltip' | pluginTranslate: pluginId | async\"\n [smallMargin]=\"true\"\n placeholder=\"\"\n >\n </v-input>\n <ng-container *ngIf=\"{caseSelectItems: caseSelectItems$ | async} as vars\">\n <v-select\n [items]=\"vars.caseSelectItems\"\n [smallMargin]=\"true\"\n name=\"caseDefinitionKey\"\n [title]=\"'caseDefinitionKey' | pluginTranslate: pluginId | async\"\n [disabled]=\"obs.disabled\"\n [defaultSelectionId]=\"prefill?.caseDefinitionKey\"\n [required]=\"true\"\n [loading]=\"!vars.caseSelectItems\"\n [tooltip]=\"'caseDefinitionKeyTooltip' | pluginTranslate: pluginId | async\"\n ></v-select>\n </ng-container>\n <ng-container>\n <v-select\n [items]=\"\n caseVersionTagSelectItemsObservables[uuid]?.caseDefinitionKey &&\n (caseVersionTagSelectItemsObservables[uuid].items | async)\n \"\n [smallMargin]=\"true\"\n name=\"caseDefinitionVersionTag\"\n [title]=\"'caseDefinitionVersionTag' | pluginTranslate: pluginId | async\"\n [disabled]=\"\n obs.disabled || !caseVersionTagSelectItemsObservables[uuid]?.caseDefinitionKey\n \"\n [defaultSelectionId]=\"prefill?.caseDefinitionVersionTag\"\n [required]=\"true\"\n [tooltip]=\"'caseDefinitionVersionTagTooltip' | pluginTranslate: pluginId | async\"\n ></v-select>\n </ng-container>\n <ng-container\n *ngIf=\"{objectManagementSelectItems: objectManagementSelectItems$ | async} as vars\"\n >\n <v-select\n [items]=\"vars.objectManagementSelectItems\"\n [smallMargin]=\"true\"\n name=\"objectManagementId\"\n [title]=\"'objectManagementId' | pluginTranslate: pluginId | async\"\n [disabled]=\"obs.disabled\"\n [defaultSelectionId]=\"prefill?.objectManagementId\"\n [required]=\"true\"\n [loading]=\"!vars.objectManagementSelectItems\"\n [tooltip]=\"'objectManagementIdTooltip' | pluginTranslate: pluginId | async\"\n ></v-select>\n </ng-container>\n <v-select\n [items]=\"\n rolTypeSelectItemsObservables[uuid]?.caseDefinitionId &&\n (rolTypeSelectItemsObservables[uuid].items | async)\n \"\n [smallMargin]=\"true\"\n name=\"initiatorRoltypeUrl\"\n [title]=\"'initiatorRoltypeUrl' | pluginTranslate: pluginId | async\"\n [disabled]=\"obs.disabled || !rolTypeSelectItemsObservables[uuid]?.caseDefinitionId\"\n [defaultSelectionId]=\"prefill?.initiatorRoltypeUrl\"\n [required]=\"true\"\n [tooltip]=\"'initiatorRoltypeUrlTooltip' | pluginTranslate: pluginId | async\"\n ></v-select>\n <v-input\n name=\"initiatorRolDescription\"\n [title]=\"'initiatorRolDescription' | pluginTranslate: pluginId | async\"\n [margin]=\"false\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"prefill?.initiatorRolDescription || 'Initiator'\"\n [required]=\"true\"\n [tooltip]=\"'initiatorRolDescriptionTooltip' | pluginTranslate: pluginId | async\"\n [smallMargin]=\"true\"\n placeholder=\"\"\n >\n </v-input>\n <ng-container *ngIf=\"{processSelectItems: processSelectItems$ | async} as vars\">\n <v-select\n [items]=\"vars.processSelectItems\"\n [smallMargin]=\"true\"\n name=\"processDefinitionKey\"\n [title]=\"'processDefinitionKey' | pluginTranslate: pluginId | async\"\n [disabled]=\"obs.disabled\"\n [defaultSelectionId]=\"prefill?.processDefinitionKey\"\n [required]=\"true\"\n [loading]=\"!vars.processSelectItems\"\n [tooltip]=\"'processDefinitionKeyTooltip' | pluginTranslate: pluginId | async\"\n ></v-select>\n </ng-container>\n <v-radio\n name=\"copyStrategy\"\n [disabled]=\"obs.disabled\"\n [title]=\"'copyStrategy' | pluginTranslate: pluginId | async\"\n [tooltip]=\"'copyStrategyTooltip' | pluginTranslate: pluginId | async\"\n [radioValues]=\"radioItems$ | async\"\n [smallMargin]=\"true\"\n [defaultValue]=\"prefill?.copyStrategy || 'full'\"\n >\n </v-radio>\n <ng-container *ngIf=\"showMappingButtons[uuid]\">\n <v-input-label\n [title]=\"'mapping' | pluginTranslate: pluginId | async\"\n [tooltip]=\"'mappingTooltip' | pluginTranslate: pluginId | async\"\n >\n </v-input-label>\n\n <button cdsButton (click)=\"openMappingModal(uuid)\" mdiIcon=\"table\">\n <svg cdsIcon=\"data-table\" size=\"16\"></svg>\n {{ 'setMapping' | pluginTranslate: pluginId | async }}\n </button>\n </ng-container>\n <v-input class=\"hidden-input\" name=\"uuid\" [defaultValue]=\"uuid\"> </v-input>\n </v-form>\n <v-modal [parentId]=\"uuid\" (closeEvent)=\"closeMappingModal(uuid)\" [maxWidthPx]=\"960\">\n <div role=\"header\">\n <h3 cdsModalHeaderHeading>{{ 'setMapping' | pluginTranslate: pluginId | async }}</h3>\n </div>\n\n <div role=\"content\">\n <div class=\"cds--text-input__field-wrapper\">\n <cds-label [disabled]=\"obs.disabled\">\n <span class=\"label-with-tooltip select-label\">\n {{ 'mapping' | pluginTranslate: pluginId | async }}\n <v-tooltip-icon\n [tooltip]=\"'mappingTooltip' | pluginTranslate: pluginId | async\"\n [disabled]=\"obs.disabled\"\n ></v-tooltip-icon>\n </span>\n </cds-label>\n <valtimo-carbon-multi-input\n *ngIf=\"showMappingModalsDelay[uuid]\"\n type=\"keyValuePathSelector\"\n (valueChange)=\"mappingValueChange($event, uuid)\"\n [defaultValues]=\"mappings[uuid] || prefill?.mapping\"\n [valueColumnTitle]=\"'target' | pluginTranslate: pluginId | async\"\n [keyColumnTitle]=\"'source' | pluginTranslate: pluginId | async\"\n [fullWidth]=\"true\"\n valuePathSelectorNotation=\"slashes\"\n [valuePathSelectorCaseDefinitionKey]=\"\n getSelectedCaseDefinitionKeyForIndex(index) | async\n \"\n [valuePathSelectorPrefixes]=\"[ValuePathSelectorPrefix.DOC]\"\n [keyColumnFlex]=\"1\"\n [valueColumnFlex]=\"2\"\n ></valtimo-carbon-multi-input>\n </div>\n </div>\n\n <div role=\"footer\" class=\"modal-buttons-container\">\n <button\n cdsButton=\"secondary\"\n [attr.modal-primary-focus]=\"true\"\n (click)=\"closeMappingModal(uuid)\"\n [disabled]=\"obs.disabled\"\n >\n {{ 'close' | pluginTranslate: pluginId | async }}\n </button>\n\n <button\n cdsButton=\"primary\"\n [attr.modal-primary-focus]=\"true\"\n [disabled]=\"obs.disabled\"\n (click)=\"saveMapping(uuid)\"\n [disabled]=\"obs.disabled\"\n >\n {{ 'save' | pluginTranslate: pluginId | async }}\n </button>\n </div>\n </v-modal>\n </ng-container>\n</ng-template>\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {NgModule} from '@angular/core';\nimport {VerzoekConfigurationComponent} from './components/verzoek-configuration/verzoek-configuration.component';\nimport {PluginTranslatePipeModule} from '../../pipes';\nimport {CommonModule} from '@angular/common';\nimport {\n ButtonModule as CarbonButtonModule,\n IconModule,\n InputModule as CarbonInputModule,\n ModalModule,\n} from 'carbon-components-angular';\nimport {\n CarbonMultiInputModule,\n FormModule,\n InputLabelModule,\n InputModule,\n MultiInputFormModule,\n ParagraphModule,\n RadioModule,\n SelectModule,\n TooltipIconModule,\n ValtimoCdsModalDirective,\n VModalModule,\n} from '@valtimo/components';\n\n@NgModule({\n declarations: [VerzoekConfigurationComponent],\n imports: [\n CommonModule,\n PluginTranslatePipeModule,\n FormModule,\n InputModule,\n SelectModule,\n ParagraphModule,\n MultiInputFormModule,\n RadioModule,\n InputLabelModule,\n ModalModule,\n CarbonInputModule,\n TooltipIconModule,\n CarbonMultiInputModule,\n CarbonButtonModule,\n ValtimoCdsModalDirective,\n VModalModule,\n IconModule,\n ],\n exports: [VerzoekConfigurationComponent],\n})\nexport class VerzoekPluginModule {}\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nconst VERZOEK_PLUGIN_LOGO_BASE64 =\n 'data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB2aWV3Qm94PSIxNTAgMTUgOTYgNTAiPjxkZWZzPjxwYXRoIGlkPSJhIiBkPSJNNTcuMzk2LjIxMUguMjgxdjQ5LjQwNWg1Ny4xMTVWLjIxeiIvPjxwYXRoIGlkPSJjIiBkPSJNNTcuNTY0LjIxMUguNDQ4djQ5LjQwNWg1Ny4xMTZWLjIxeiIvPjwvZGVmcz48ZyBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDE4Ny45MzEgMTUpIj48bWFzayBpZD0iYiIgZmlsbD0iI2ZmZiI+PHVzZSB4bGluazpocmVmPSIjYSIvPjwvbWFzaz48cGF0aCBkPSJNNTcuMzk2IDI0LjkxM2MwLTEzLjU3My0xMS4wMDQtMjQuNjIyLTI0LjU2LTI0LjctLjAyNCAwLS4wNDgtLjAwMy0uMDczLS4wMDNIMjQuNzVhMi41MDQgMi41MDQgMCAxIDAgMCA1LjAxaDcuOTQ1YzEwLjg1OCAwIDE5LjY5NCA4LjgzNCAxOS42OTQgMTkuNjkzIDAgMTAuODYtOC44MzYgMTkuNjk0LTE5LjY5NCAxOS42OTRINS4yODl2LTQuNTc4SC4yODF2OS41ODdoMzIuNDgydi0uMDAxYzEzLjU5LS4wNCAyNC42MzMtMTEuMTA1IDI0LjYzMy0yNC43MDIiIGZpbGw9IiMwMDlGRTQiIG1hc2s9InVybCgjYikiLz48L2c+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTUwIDE1KSI+PG1hc2sgaWQ9ImQiIGZpbGw9IiNmZmYiPjx1c2UgeGxpbms6aHJlZj0iI2MiLz48L21hc2s+PHBhdGggZD0iTS40NDggMjQuOTEzYzAgMTMuNTczIDExLjAwNCAyNC42MjIgMjQuNTYgMjQuNy4wMjQgMCAuMDQ4LjAwMy4wNzMuMDAzaDguMDE0YTIuNTA0IDIuNTA0IDAgMSAwIDAtNS4wMDloLTcuOTQ0Yy0xMC44NTkgMC0xOS42OTQtOC44MzQtMTkuNjk0LTE5LjY5NCAwLTEwLjg1OSA4LjgzNS0xOS42OTQgMTkuNjk0LTE5LjY5NGgyNy40MDR2NC41NzhoNS4wMDlWLjIxSDI1LjA4di4wMDFDMTEuNDkuMjUxLjQ0OCAxMS4zMTYuNDQ4IDI0LjkxMyIgZmlsbD0iIzAwOUZFNCIgbWFzaz0idXJsKCNkKSIvPjwvZz48cGF0aCBmaWxsPSIjMDA0Mzg4IiBkPSJNMTc2LjAxNyA0Mi4xMTZsLTQuNjc4LTEyLjQwMWgtNS42NjRsOC4xNCAyMC4zNjZoMy45MjFsOC40MDEtMjAuMzY2aC01LjM2M3ptMjYuNTQyLjU1OGwtNy45MjgtMTIuOTU5aC02LjQxM3YyMC4zNjdoNC45OTdWMzYuNzg3bDguMTUgMTMuMjk1aDYuMTlWMjkuNzE1aC00Ljk5NnptMTkuMzIzLTQuOTR2NC42NjNoMy41Mzd2Mi42NzdhOS43NzMgOS43NzMgMCAwIDEtMS40MTQuNTRjLS42NTIuMjAzLTEuNDQzLjMwNi0yLjM1NC4zMDYtLjg4IDAtMS42ODYtLjE1LTIuMzk0LS40NDhhNS4zMzggNS4zMzggMCAwIDEtMS44MjQtMS4yNDcgNS41MjIgNS41MjIgMCAwIDEtMS4xNy0xLjg5NGMtLjI3Mi0uNzI5LS40MS0xLjU0OS0uNDEtMi40MzMgMC0uODY3LjEzOC0xLjY4MS40MS0yLjQyYTUuNTAyIDUuNTAyIDAgMCAxIDEuMTctMS45MDggNS4zNzQgNS4zNzQgMCAwIDEgMS44MjQtMS4yNDZjLjcwOS0uMjk4IDEuNTE0LS40NDkgMi4zOTQtLjQ0OSAxLjA2NCAwIDEuOTU5LjE1MSAyLjY1Ny40NDkuNy4yOTcgMS4zMzguNzQgMS44OTggMS4zMThsLjI0Mi4yNDggMy41MTUtMy44MzUtLjIzNy0uMjIxYTguOTIzIDguOTIzIDAgMCAwLTMuNjI3LTIuMDM4Yy0xLjM1LS4zODYtMi44NDctLjU4My00LjQ0OC0uNTgzLTEuNTcyIDAtMy4wNDQuMjUtNC4zNzMuNzQ1YTEwLjEzOSAxMC4xMzkgMCAwIDAtMy40ODEgMi4xNDNjLS45NzUuOTI4LTEuNzQ2IDIuMDY2LTIuMjkgMy4zODQtLjU0MyAxLjMxNS0uODE5IDIuOC0uODE5IDQuNDEzIDAgMS42MTMuMjc2IDMuMDk4LjgyIDQuNDEzLjU0NSAxLjMxOSAxLjMxNCAyLjQ1NyAyLjI4OSAzLjM4NC45NzQuOTI2IDIuMTQ2IDEuNjQ3IDMuNDggMi4xNDMgMS4zMy40OTQgMi44MDIuNzQ0IDQuMzc0Ljc0NCAxLjQ2NCAwIDIuOTItLjE1MiA0LjMzLS40NTJhMTYuMDU0IDE2LjA1NCAwIDAgMCA0LjA5LTEuNDc4bC4xNzctLjA5VjM3LjczM2gtOC4zNjZ6Ii8+PC9nPjwvc3ZnPg==';\n\nexport {VERZOEK_PLUGIN_LOGO_BASE64};\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {PluginSpecification} from '../../models';\nimport {VerzoekConfigurationComponent} from './components/verzoek-configuration/verzoek-configuration.component';\nimport {VERZOEK_PLUGIN_LOGO_BASE64} from './assets/verzoek-plugin-logo';\n\nconst verzoekPluginSpecification: PluginSpecification = {\n pluginId: 'verzoek',\n pluginConfigurationComponent: VerzoekConfigurationComponent,\n pluginLogoBase64: VERZOEK_PLUGIN_LOGO_BASE64,\n pluginTranslations: {\n nl: {\n title: 'Verzoek',\n description:\n 'De Verzoek-plugin handelt aanvragen af en maakt een Zaakdossier aan. Een Verzoek is een Object in de Objecten API en wordt meestal met behulp van een portaal aangemaakt.',\n configurationTitle: 'Configuratienaam',\n configurationTitleTooltip:\n 'De naam van de huidige plugin-configuratie. Onder deze naam kan de configuratie in de rest van de applicatie teruggevonden worden.',\n notificatiesApiPluginConfiguration: 'Notificaties API-configuratie',\n objectManagementId: 'Object management-configuratie',\n processToStart: 'Proces',\n rsin: 'RSIN',\n verzoekProperties: 'Verzoektypen',\n type: 'Type',\n caseDefinitionKey: 'Dossierdefinitie',\n caseDefinitionVersionTag: 'Dossierdefinitie versie',\n initiatorRoltypeUrl: 'Roltype',\n processDefinitionKey: 'Procesdefinitie',\n initiatorRolDescription: 'Rolbeschrijving',\n addVerzoekType: 'Verzoektype toevoegen',\n verzoekPropertiesTooltip:\n 'De verzoektypen die aangemaakt worden wannneer er een notificatie binnenkomt.',\n notificatiesApiPluginConfigurationTooltip:\n 'Configuratie van de Notificaties API die wordt gebruikt om te communiceren tussen GZAC en andere applicaties.',\n objectManagementIdTooltip:\n 'Configuratie van het object dat wordt gebruikt om een verzoek op te slaan.',\n processToStartTooltip: 'Het proces dat een zaak aanmaakt wanneer een notificatie binnenkomt.',\n rsinTooltip: 'Dit nummer moet voldoen aan dezelfde specificaties als een BSN-nummer.',\n typeTooltip:\n \"Het type van het verzoek dat wordt gebruikt om het object te identificeren. Bv. 'verzoek'.\",\n caseDefinitionKeyTooltip:\n 'Selecteer hier het dossiertype waarvan een instantie gestart moet worden wanneer er een verzoek binnenkomt.',\n caseDefinitionVersionTagTooltip:\n 'Vul hier de versie in van het dossiertype waarvan een instantie gestart moet worden wanneer er een verzoek binnenkomt.',\n initiatorRoltypeUrlTooltip:\n 'Het roltype van de aanvrager die wordt opgeslagen wanneer er een verzoek binnenkomt.',\n initiatorRolDescriptionTooltip:\n 'Een beschrijving van het roltype van de aanvrager die wordt opgeslagen wanneer er een verzoek binnenkomt.',\n processDefinitionKeyTooltip:\n 'Selecteer hier het proces dat gestart moet worden wanneer het eerder geselecteerde systeemproces afgerond is.',\n copyStrategy: 'Kopieerstrategie',\n copyStrategyTooltip:\n 'Met deze optie wordt bepaald of het volledige Verzoek-object in het document terecht komt, of slechts de gespecifieerde velden.',\n full: 'Volledig',\n specified: 'Gespecifieerde velden',\n mapping: 'Mapping',\n setMapping: 'Mapping instellen',\n mappingTooltip:\n \"Stel hier de velden in die gekopieerd moeten worden van het Verzoek-object naar het document. Bijvoorbeeld: '/voorletters' -> 'doc:/voorletters-machtiginggever'.\",\n close: 'Sluiten',\n save: 'Opslaan',\n target: 'Bestemming',\n source: 'Bron',\n },\n en: {\n title: 'Verzoek',\n description:\n 'The Verzoek plugin handles requests and creates a Zaakdossier. A Verzoek is an Object in the Objecten API and is usually created using a portal.',\n configurationTitle: 'Configuration name',\n configurationTitleTooltip:\n 'The name of the current plugin configuration. Under this name, the configuration can be found in the rest of the application.',\n notificatiesApiPluginConfiguration: 'Notificaties API configuration',\n objectManagementId: 'Object management configuration',\n processToStart: 'Process',\n rsin: 'RSIN',\n verzoekProperties: 'Verzoek types',\n type: 'Type',\n caseDefinitionKey: 'Case definition',\n caseDefinitionVersionTag: 'Case definition version',\n initiatorRoltypeUrl: 'Role type',\n processDefinitionKey: 'Process definition',\n initiatorRolDescription: 'Role description',\n addVerzoekType: 'Add verzoek type',\n verzoekPropertiesTooltip:\n 'The verzoek types that are created when a notification is received.',\n notificatiesApiPluginConfigurationTooltip:\n 'Configuration of the Notificaties API used to communicate between GZAC and other applications.',\n objectManagementIdTooltip: 'Configuration of the object used to store a verzoek.',\n processToStartTooltip: 'The process that creates a case when a notification is received.',\n rsinTooltip: 'This number must meet the same specifications as a BSN number.',\n typeTooltip: \"The type of verzoek used to identify the object. Eg. 'verzoek'.\",\n caseDefinitionKeyTooltip:\n 'The case type of which an instance should be started when a verzoek comes in.',\n caseDefinitionVersionTagTooltip:\n 'The version of the case type of which an instance should be started when a verzoek comes in.',\n initiatorRoltypeUrlTooltip:\n 'The role type of the requestor that is saved when a verzoek comes in.',\n initiatorRolDescriptionTooltip:\n \"A description of the requester's role type that is saved when a verzoek comes in.\",\n processDefinitionKeyTooltip:\n 'Select the process that should be started when the previously selected system process has finished.',\n copyStrategy: 'Copy strategy',\n copyStrategyTooltip:\n 'This option determines whether the entire Verzoek object is included in the document, or only the defined fields.',\n full: 'Complete',\n specified: 'Specified fields',\n mapping: 'Mapping',\n setMapping: 'Set mapping',\n mappingTooltip:\n \"Set the fields to be copied from the Verzoek object to the document. For example: '/voorletters' -> 'doc:/voorletters-machtiginggever'.\",\n close: 'Close',\n save: 'Save',\n target: 'Target',\n source: 'Source',\n },\n de: {\n title: 'Verzoek',\n description:\n 'Das Verzoek-Plugin verarbeitet Anfragen und erstellt eine Zaakdossier. Eine Verzoek ist ein Object in der Objecten API und wird normalerweise mithilfe eines Portals erstellt.',\n configurationTitle: 'Konfigurationsname',\n configurationTitleTooltip:\n 'Der Name der aktuellen Plugin-Konfiguration. Unter diesem Namen ist die Konfiguration im Rest der Anwendung zu finden.',\n notificatiesApiPluginConfiguration: 'Notificaties API-Konfiguration',\n objectManagementId: 'Object management-Konfiguration',\n processToStart: 'Prozess',\n rsin: 'RSIN',\n verzoekProperties: 'Verzoektypen',\n type: 'Typ',\n caseDefinitionKey: 'Dateidefinition',\n caseDefinitionVersionTag: 'Falldefinitionsversion',\n initiatorRoltypeUrl: 'Rollentyp',\n processDefinitionKey: 'Prozessdefinition',\n initiatorRolDescription: 'Rollenbeschreibung',\n addVerzoekType: 'Verzoektyp hinzufügen',\n verzoekPropertiesTooltip:\n 'Die Verzoektypen die erstellt werden wenn eine Benachrichtigung eintrifft.',\n notificatiesApiPluginConfigurationTooltip:\n 'Konfiguration der Notificaties API, die für die Kommunikation zwischen GZAC und anderen Anwendungen verwendet wird.',\n objectManagementIdTooltip:\n 'Konfiguration des Objects, das zum Speichern einer Verzoek verwendet wird.',\n processToStartTooltip:\n 'Der Prozess, der einen Fall erstellt, wenn eine Benachrichtigung eintrifft.',\n rsinTooltip: 'Diese Nummer muss die gleichen Spezifikationen wie eine BSN-Nummer erfüllen.',\n typeTooltip:\n \"Der Verzoektyp, der zum Identifizieren des Objects verwendet wird. Z.B. 'verzoek'.\",\n caseDefinitionKeyTooltip:\n 'Wählen Sie hier den Falltyp aus, von dem eine Instanz gestartet werden soll, wenn eine Verzoek eintrifft.',\n caseDefinitionVersionTagTooltip:\n 'Die Version des Falltyps, dessen Instanz bei eingehender Verzoek gestartet werden soll.',\n initiatorRoltypeUrlTooltip:\n 'Der Rollentyp des Anforderers, der gespeichert wird, wenn eine Verzoek eingeht.',\n initiatorRolDescriptionTooltip:\n 'Eine Beschreibung des Rollentyps des Anforderers, die gespeichert wird, wenn eine Verzoek eingeht.',\n processDefinitionKeyTooltip:\n 'Wählen Sie hier den Prozess aus, der gestartet werden soll, wenn der zuvor ausgewählte Systemprozess beendet ist.',\n copyStrategy: 'Kopierstrategie',\n copyStrategyTooltip:\n 'Diese Option legt fest, ob das gesamte Verzoek-Objekt in das Dokument aufgenommen wird oder nur die definierten Felder.',\n full: 'Vollständig',\n specified: 'Angegebene Felder',\n mapping: 'Mapping',\n setMapping: 'Mapping festlegen',\n mappingTooltip:\n \"Legen Sie hier die Felder fest, die vom Verzoek-Objekt in das Dokument kopiert werden sollen. Zum Beispiel: '/voorletters' -> 'doc:/voorletters-machtiginggever'.\",\n close: 'Schließen',\n save: 'Speichern',\n target: 'Ziel',\n source: 'Ursprung',\n },\n },\n};\n\nexport {verzoekPluginSpecification};\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {PluginConfigurationComponent} from '../../../../models';\nimport {BehaviorSubject, combineLatest, map, Observable, Subscription, take} from 'rxjs';\nimport {BesluitenApiConfig} from '../../models';\nimport {PluginManagementService, PluginTranslationService} from '../../../../services';\nimport {TranslateService} from '@ngx-translate/core';\n\n@Component({\n standalone: false,\n selector: 'valtimo-besluiten-api-configuration',\n templateUrl: './besluiten-api-configuration.component.html',\n styleUrls: ['./besluiten-api-configuration.component.scss'],\n})\nexport class BesluitenApiConfigurationComponent\n implements PluginConfigurationComponent, OnInit, OnDestroy\n{\n @Input() save$: Observable<void>;\n @Input() disabled$: Observable<boolean>;\n @Input() pluginId: string;\n @Input() prefillConfiguration$: Observable<BesluitenApiConfig>;\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() configuration: EventEmitter<BesluitenApiConfig> =\n new EventEmitter<BesluitenApiConfig>();\n readonly authenticationPluginSelectItems$: Observable<Array<{id: string; text: string}>> =\n combineLatest([\n this.pluginManagementService.getPluginConfigurationsByCategory(\n 'besluiten-api-authentication'\n ),\n this.translateService.stream('key'),\n ]).pipe(\n map(([configurations]) =>\n configurations.map(configuration => ({\n id: configuration.id,\n text: `${configuration.title} - ${this.pluginTranslationService.instant(\n 'title',\n configuration.pluginDefinition.key\n )}`,\n }))\n )\n );\n private saveSubscription!: Subscription;\n private readonly formValue$ = new BehaviorSubject<BesluitenApiConfig | null>(null);\n private readonly valid$ = new BehaviorSubject<boolean>(false);\n\n constructor(\n private readonly pluginManagementService: PluginManagementService,\n private readonly translateService: TranslateService,\n private readonly pluginTranslationService: PluginTranslationService\n ) {}\n\n ngOnInit(): void {\n this.openSaveSubscription();\n }\n\n ngOnDestroy() {\n this.saveSubscription?.unsubscribe();\n }\n\n formValueChange(formValue: BesluitenApiConfig): void {\n this.formValue$.next(formValue);\n this.handleValid(formValue);\n }\n\n private handleValid(formValue: BesluitenApiConfig): void {\n const valid = !!(\n formValue.configurationTitle &&\n formValue.rsin &&\n formValue.url &&\n formValue.authenticationPluginConfiguration\n );\n\n this.valid$.next(valid);\n this.valid.emit(valid);\n }\n\n private openSaveSubscription(): void {\n this.saveSubscription = this.save$?.subscribe(save => {\n combineLatest([this.formValue$, this.valid$])\n .pipe(take(1))\n .subscribe(([formValue, valid]) => {\n if (valid) {\n this.configuration.emit(formValue);\n }\n });\n });\n }\n}\n","<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null,\n } as obs\"\n>\n <v-input\n name=\"configurationTitle\"\n [title]=\"'configurationTitle' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.configurationTitle\"\n [required]=\"true\"\n [trim]=\"true\"\n [tooltip]=\"'configurationTitleTooltip' | pluginTranslate: pluginId | async\"\n placeholder=\"Besluiten API Plugin\"\n >\n </v-input>\n <v-input\n name=\"rsin\"\n [title]=\"'rsin' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.rsin\"\n [required]=\"true\"\n [trim]=\"true\"\n [tooltip]=\"'rsinTooltip' | pluginTranslate: pluginId | async\"\n placeholder=\"123456789\"\n >\n </v-input>\n <v-input\n name=\"url\"\n [title]=\"'url' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.url\"\n [required]=\"true\"\n [trim]=\"true\"\n [tooltip]=\"'urlTooltip' | pluginTranslate: pluginId | async\"\n placeholder=\"https://openzaak.example.com/besluiten/api/v1/ \"\n >\n </v-input>\n <ng-container\n *ngIf=\"{authenticationPluginSelectItems: authenticationPluginSelectItems$ | async} as authObs\"\n >\n <v-select\n [items]=\"authObs.authenticationPluginSelectItems\"\n [margin]=\"true\"\n name=\"authenticationPluginConfiguration\"\n [title]=\"'authenticationPluginConfiguration' | pluginTranslate: pluginId | async\"\n [disabled]=\"obs.disabled\"\n [defaultSelectionId]=\"obs.prefill?.authenticationPluginConfiguration\"\n [required]=\"true\"\n [loading]=\"!authObs.authenticationPluginSelectItems\"\n ></v-select>\n </ng-container>\n</v-form>\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Injectable} from '@angular/core';\nimport {Observable} from 'rxjs';\nimport {HttpClient} from '@angular/common/http';\nimport {ConfigService} from '@valtimo/shared';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class BesluitenApiService {\n private valtimoEndpointUri: string;\n\n constructor(\n private http: HttpClient,\n configService: ConfigService\n ) {\n this.valtimoEndpointUri = configService.config.valtimoApi.endpointUri;\n }\n\n public getBesluitTypesByCaseAndVersion(\n caseDefinitionKey: string,\n versionTag: string\n ): Observable<Array<any>> {\n return this.http.get<Array<any>>(\n `${this.valtimoEndpointUri}v1/case-definition/${caseDefinitionKey}/version/${versionTag}/zaaktype/besluittype`\n );\n }\n}\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport * from './besluiten-api.service';\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {FunctionConfigurationComponent} from '../../../../models';\nimport {\n BehaviorSubject,\n combineLatest,\n filter,\n map,\n Observable,\n Subject,\n Subscription,\n switchMap,\n take,\n tap,\n} from 'rxjs';\nimport {CreateZaakBesluitConfig, Vervalredenen} from '../../models';\nimport {PluginTranslationService} from '../../../../services';\nimport {TranslateService} from '@ngx-translate/core';\nimport {ModalService, RadioValue, SelectItem} from '@valtimo/components';\nimport {DocumentService} from '@valtimo/document';\nimport {BesluitenApiService} from '../../services';\nimport {InputOption} from '../../../zaken-api/models';\nimport {PluginTranslatePipe} from '../../../../pipes';\nimport {CaseManagementParams, ManagementContext} from '@valtimo/shared';\n\n@Component({\n standalone: false,\n selector: 'valtimo-create-zaak-besluit-configuration',\n templateUrl: './create-zaak-besluit-configuration.component.html',\n styleUrls: ['./create-zaak-besluit-configuration.component.scss'],\n providers: [PluginTranslatePipe],\n})\nexport class CreateZaakBesluitConfigurationComponent\n implements FunctionConfigurationComponent, OnInit, OnDestroy\n{\n @Input() save$: Observable<void>;\n @Input() disabled$: Observable<boolean>;\n @Input() set pluginId(value: string) {\n this.pluginId$.next(value);\n }\n @Input() prefillConfiguration$: Observable<CreateZaakBesluitConfig>;\n @Input() context$: Observable<[ManagementContext, CaseManagementParams]>;\n\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() configuration: EventEmitter<CreateZaakBesluitConfig> =\n new EventEmitter<CreateZaakBesluitConfig>();\n\n readonly VERVALREDENEN: Array<Vervalredenen> = [\n 'tijdelijk',\n 'ingetrokken_overheid',\n 'ingetrokken_belanghebbende',\n ];\n\n readonly vervalredenenSelectItems$: Observable<Array<{id: Vervalredenen; text: string}>> =\n this.translateService.stream('key').pipe(\n switchMap(() => this.pluginId$),\n map(pluginId =>\n this.VERVALREDENEN.map(item => ({\n id: item,\n text: this.pluginTranslationService.instant(item, pluginId),\n }))\n )\n );\n\n readonly selectedInputOption$ = new BehaviorSubject<InputOption>('selection');\n readonly selectedStartDateInputOption$ = new BehaviorSubject<InputOption>('selection');\n readonly selectedExpirationDateInputOption$ = new BehaviorSubject<InputOption>('selection');\n readonly loading$ = new BehaviorSubject<boolean>(true);\n readonly pluginId$ = new BehaviorSubject<string>('');\n readonly clearBesluitSelection$ = new Subject<void>();\n readonly besluitTypeSelectItems$ = new BehaviorSubject<SelectItem[]>([]);\n\n readonly inputTypeOptions$: Observable<Array<RadioValue>> = this.pluginId$.pipe(\n filter(pluginId => !!pluginId),\n switchMap(pluginId =>\n combineLatest([\n this.pluginTranslatePipe.transform('selection', pluginId),\n this.pluginTranslatePipe.transform('text', pluginId),\n ])\n ),\n map(([selectionTranslation, textTranslation]) => [\n {value: 'selection', title: selectionTranslation},\n {value: 'text', title: textTranslation},\n ])\n );\n\n readonly startDateInputTypeOptions$ = this.inputTypeOptions$;\n readonly expirationDateInputTypeOptions$ = this.inputTypeOptions$;\n\n private readonly formValue$ = new BehaviorSubject<CreateZaakBesluitConfig | null>(null);\n private readonly valid$ = new BehaviorSubject<boolean>(false);\n private readonly _subscriptions = new Subscription();\n\n constructor(\n private readonly translateService: TranslateService,\n private readonly pluginTranslationService: PluginTranslationService,\n private readonly modalService: ModalService,\n private readonly documentService: DocumentService,\n private readonly besluitenApiService: BesluitenApiService,\n private readonly pluginTranslatePipe: PluginTranslatePipe\n ) {}\n\n public ngOnInit(): void {\n this.initBesluitHandling();\n this.initSaveHandling();\n }\n\n public ngOnDestroy(): void {\n this._subscriptions.unsubscribe();\n }\n\n public formValueChange(formValue: CreateZaakBesluitConfig): void {\n this.formValue$.next(formValue);\n this.handleValid(formValue);\n\n if (formValue.inputTypeBesluitToggle) {\n this.selectedInputOption$.next(formValue.inputTypeBesluitToggle);\n }\n\n if (formValue.inputTypeStartingDateToggle) {\n this.selectedStartDateInputOption$.next(formValue.inputTypeStartingDateToggle);\n }\n\n if (formValue.inputTypeExpirationDateToggle) {\n this.selectedExpirationDateInputOption$.next(formValue.inputTypeExpirationDateToggle);\n }\n }\n\n public oneSelectItem(selectItems: Array<SelectItem>): boolean {\n return Array.isArray(selectItems) && selectItems.length === 1;\n }\n\n private initBesluitHandling(): void {\n if (!this.context$) return;\n\n const sub = this.context$\n .pipe(\n filter(([context]) => {\n if (context === 'independent') {\n this.selectedInputOption$.next('text');\n this.loading$.next(false);\n }\n return context === 'case';\n }),\n switchMap(([_, params]) =>\n this.besluitenApiService.getBesluitTypesByCaseAndVersion(\n params.caseDefinitionKey,\n params.caseDefinitionVersionTag\n )\n ),\n tap(besluitTypes => {\n this.besluitTypeSelectItems$.next(\n besluitTypes.map(item => ({id: item.url, text: item.name}))\n );\n this.selectedInputOption$.next('selection');\n this.loading$.next(false);\n })\n )\n .subscribe();\n\n this._subscriptions.add(sub);\n }\n\n private initSaveHandling(): void {\n if (!this.save$) return;\n\n const sub = this.save$.subscribe(() => {\n combineLatest([this.formValue$, this.valid$])\n .pipe(take(1))\n .subscribe(([formValue, valid]) => {\n if (valid) {\n this.configuration.emit(formValue);\n }\n });\n });\n\n this._subscriptions.add(sub);\n }\n\n private handleValid(formValue: CreateZaakBesluitConfig): void {\n const valid = !!formValue.besluittypeUrl && !!formValue.ingangsdatum;\n this.valid$.next(valid);\n this.valid.emit(valid);\n }\n}\n","<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<ng-container\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null,\n besluitTypeItems: besluitTypeSelectItems$ | async,\n selectedInputOption: selectedInputOption$ | async,\n selectedStartDateInputOption: selectedStartDateInputOption$ | async,\n selectedExpirationDateInputOption: selectedExpirationDateInputOption$ | async,\n pluginId: pluginId$ | async,\n loading: loading$ | async,\n context: context$ | async,\n } as obs\"\n>\n <ng-container *ngIf=\"obs.loading === false; else loading\">\n <v-paragraph [margin]=\"true\" [italic]=\"true\">\n {{ 'createZaakBesluitInformation' | pluginTranslate: obs.pluginId | async }}\n </v-paragraph>\n\n <v-form (valueChange)=\"formValueChange($event)\">\n <v-radio\n *ngIf=\"obs.context && obs.context[0] && obs.context[0] === 'case'\"\n name=\"inputTypeBesluitToggle\"\n [disabled]=\"obs.disabled\"\n [title]=\"'inputTypeBesluitToggle' | pluginTranslate: obs.pluginId | async\"\n [radioValues]=\"inputTypeOptions$ | async\"\n [defaultValue]=\"selectedInputOption$ | async\"\n [margin]=\"true\"\n >\n </v-radio>\n\n <v-input\n *ngIf=\"obs.selectedInputOption === 'text'\"\n name=\"besluittypeUrl\"\n [title]=\"'besluittypeUrl' | pluginTranslate: obs.pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.besluittypeUrl\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n [trim]=\"true\"\n [tooltip]=\"'besluittypeUrlTooltip' | pluginTranslate: obs.pluginId | async\"\n [widthPx]=\"350\"\n >\n </v-input>\n\n <ng-container *ngIf=\"obs.selectedInputOption === 'selection'\">\n <v-select\n [items]=\"obs.besluitTypeItems\"\n [margin]=\"true\"\n [widthInPx]=\"350\"\n name=\"besluittypeUrl\"\n [title]=\"'besluittypeUrlSelect' | pluginTranslate: obs.pluginId | async\"\n [disabled]=\"obs.disabled || obs.selectedInputOption === 'text' || !obs.besluitTypeItems\"\n [defaultSelectionId]=\"obs.prefill?.besluittypeUrl\"\n [required]=\"true\"\n [loading]=\"!obs.besluitTypeItems\"\n [tooltip]=\"'besluittypeUrlSelectTooltip' | pluginTranslate: obs.pluginId | async\"\n [clearSelectionSubject$]=\"clearBesluitSelection$\"\n ></v-select>\n </ng-container>\n\n <v-input\n name=\"toelichting\"\n [title]=\"'toelichting' | pluginTranslate: obs.pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.toelichting\"\n [disabled]=\"obs.disabled\"\n [required]=\"false\"\n [tooltip]=\"'toelichtingTooltip' | pluginTranslate: obs.pluginId | async\"\n [widthPx]=\"350\"\n >\n </v-input>\n\n <v-input\n name=\"bestuursorgaan\"\n [title]=\"'bestuursorgaan' | pluginTranslate: obs.pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.bestuursorgaan\"\n [disabled]=\"obs.disabled\"\n [required]=\"false\"\n [trim]=\"true\"\n [tooltip]=\"'bestuursorgaanTooltip' | pluginTranslate: obs.pluginId | async\"\n [widthPx]=\"350\"\n >\n </v-input>\n\n <v-radio\n name=\"inputTypeStartingDateToggle\"\n [disabled]=\"obs.disabled\"\n [title]=\"'inputTypeStartingDateToggle' | pluginTranslate: obs.pluginId | async\"\n [radioValues]=\"startDateInputTypeOptions$ | async\"\n [defaultValue]=\"obs.prefill?.inputTypeStartingDateToggle || 'selection'\"\n [margin]=\"true\"\n >\n </v-radio>\n\n <v-input\n *ngIf=\"obs.selectedStartDateInputOption === 'text'\"\n name=\"ingangsdatum\"\n [title]=\"'ingangsdatum' | pluginTranslate: obs.pluginId | async\"\n [defaultValue]=\"obs.prefill?.ingangsdatum\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n [trim]=\"true\"\n [tooltip]=\"'ingangsdatumTooltip' | pluginTranslate: obs.pluginId | async\"\n [widthPx]=\"350\"\n [margin]=\"true\"\n >\n </v-input>\n\n <v-date-picker\n *ngIf=\"obs.selectedStartDateInputOption === 'selection'\"\n name=\"ingangsdatum\"\n [title]=\"'ingangsdatum' | pluginTranslate: obs.pluginId | async\"\n [defaultDate]=\"obs.prefill?.ingangsdatum\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n [tooltip]=\"'ingangsdatumTooltip' | pluginTranslate: obs.pluginId | async\"\n [widthPx]=\"100\"\n [margin]=\"true\"\n ></v-date-picker>\n\n <v-radio\n name=\"inputTypeExpirationDateToggle\"\n [disabled]=\"obs.disabled\"\n [title]=\"'inputTypeExpirationDateToggle' | pluginTranslate: obs.pluginId | async\"\n [radioValues]=\"expirationDateInputTypeOptions$ | async\"\n [defaultValue]=\"obs.prefill?.inputTypeExpirationDateToggle || 'selection'\"\n [margin]=\"true\"\n >\n </v-radio>\n\n <v-input\n *ngIf=\"obs.selectedExpirationDateInputOption === 'text'\"\n name=\"vervaldatum\"\n [title]=\"'vervaldatum' | pluginTranslate: obs.pluginId | async\"\n [defaultValue]=\"obs.prefill?.vervaldatum\"\n [disabled]=\"obs.disabled\"\n [required]=\"false\"\n [trim]=\"true\"\n [tooltip]=\"'vervaldatumTooltip' | pluginTranslate: obs.pluginId | async\"\n [widthPx]=\"350\"\n [margin]=\"true\"\n >\n </v-input>\n\n <v-date-picker\n *ngIf=\"obs.selectedExpirationDateInputOption === 'selection'\"\n name=\"vervaldatum\"\n [title]=\"'vervaldatum' | pluginTranslate: obs.pluginId | async\"\n [defaultDate]=\"obs.prefill?.vervaldatum\"\n [disabled]=\"obs.disabled\"\n [required]=\"false\"\n [tooltip]=\"'vervaldatumTooltip' | pluginTranslate: obs.pluginId | async\"\n [widthPx]=\"100\"\n [margin]=\"true\"\n ></v-date-picker>\n\n <v-select\n name=\"vervalreden\"\n [title]=\"'vervalreden' | pluginTranslate: obs.pluginId | async\"\n [items]=\"vervalredenenSelectItems$ | async\"\n [defaultSelectionId]=\"obs.prefill?.vervalreden\"\n [disabled]=\"obs.disabled\"\n [required]=\"false\"\n [tooltip]=\"'vervalredenTooltip' | pluginTranslate: obs.pluginId | async\"\n [widthInPx]=\"350\"\n [margin]=\"true\"\n ></v-select>\n\n <v-date-picker\n name=\"publicatiedatum\"\n [title]=\"'publicatiedatum' | pluginTranslate: obs.pluginId | async\"\n [defaultDate]=\"obs.prefill?.publicatiedatum\"\n [disabled]=\"obs.disabled\"\n [required]=\"false\"\n [tooltip]=\"'publicatiedatumTooltip' | pluginTranslate: obs.pluginId | async\"\n [widthPx]=\"100\"\n [margin]=\"true\"\n ></v-date-picker>\n\n <v-date-picker\n name=\"verzenddatum\"\n [title]=\"'verzenddatum' | pluginTranslate: obs.pluginId | async\"\n [defaultDate]=\"obs.prefill?.verzenddatum\"\n [disabled]=\"obs.disabled\"\n [required]=\"false\"\n [tooltip]=\"'verzenddatumTooltip' | pluginTranslate: obs.pluginId | async\"\n [widthPx]=\"100\"\n [margin]=\"true\"\n ></v-date-picker>\n\n <v-date-picker\n name=\"uiterlijkeReactieDatum\"\n [title]=\"'uiterlijkeReactieDatum' | pluginTranslate: obs.pluginId | async\"\n [defaultDate]=\"obs.prefill?.uiterlijkeReactieDatum\"\n [disabled]=\"obs.disabled\"\n [required]=\"false\"\n [tooltip]=\"'uiterlijkeReactieDatumTooltip' | pluginTranslate: obs.pluginId | async\"\n [widthPx]=\"100\"\n [margin]=\"true\"\n ></v-date-picker>\n\n <v-input\n name=\"createdBesluitUrl\"\n [title]=\"'besluitUrlProcessVariable' | pluginTranslate: obs.pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.createdBesluitUrl\"\n [disabled]=\"obs.disabled\"\n [required]=\"false\"\n [tooltip]=\"'besluitUrlProcessVariableTooltip' | pluginTranslate: obs.pluginId | async\"\n [widthPx]=\"350\"\n >\n </v-input>\n </v-form>\n </ng-container>\n</ng-container>\n\n<ng-template #loading>\n <div class=\"loading-container\">\n <cds-loading></cds-loading>\n </div>\n</ng-template>\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {FunctionConfigurationComponent} from '../../../../models';\nimport {BehaviorSubject, combineLatest, Observable, Subscription, take} from 'rxjs';\nimport {LinkDocumentToBesluitConfig} from '../../models';\n\n@Component({\n standalone: false,\n selector: 'valtimo-link-document-to-besluit-configuration',\n templateUrl: './link-document-to-besluit-configuration.component.html',\n styleUrls: ['./link-document-to-besluit-configuration.component.scss'],\n})\nexport class LinkDocumentToBesluitConfigurationComponent\n implements FunctionConfigurationComponent, OnInit, OnDestroy\n{\n @Input() save$: Observable<void>;\n @Input() disabled$: Observable<boolean>;\n @Input() pluginId: string;\n @Input() prefillConfiguration$: Observable<LinkDocumentToBesluitConfig>;\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() configuration: EventEmitter<LinkDocumentToBesluitConfig> =\n new EventEmitter<LinkDocumentToBesluitConfig>();\n\n private saveSubscription!: Subscription;\n private readonly formValue$ = new BehaviorSubject<LinkDocumentToBesluitConfig | null>(null);\n private readonly valid$ = new BehaviorSubject<boolean>(false);\n\n ngOnInit(): void {\n this.openSaveSubscription();\n }\n\n ngOnDestroy(): void {\n this.saveSubscription?.unsubscribe();\n }\n\n formValueChange(formValue: LinkDocumentToBesluitConfig): void {\n this.formValue$.next(formValue);\n this.handleValid(formValue);\n }\n\n private handleValid(formValue: LinkDocumentToBesluitConfig): void {\n const valid = !!(formValue.besluitUrl || formValue.documentUrl);\n\n this.valid$.next(valid);\n this.valid.emit(valid);\n }\n\n private openSaveSubscription(): void {\n this.saveSubscription = this.save$?.subscribe(save => {\n combineLatest([this.formValue$, this.valid$])\n .pipe(take(1))\n .subscribe(([formValue, valid]) => {\n if (valid) {\n this.configuration.emit(formValue);\n }\n });\n });\n }\n}\n","<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-paragraph [margin]=\"true\" [italic]=\"true\">\n {{ 'linkDocumentToBesluitInformation' | pluginTranslate: pluginId | async }}\n</v-paragraph>\n<v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null,\n } as obs\"\n>\n <v-input\n name=\"besluitUrl\"\n [title]=\"'besluitUrl' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.besluitUrl\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n [trim]=\"true\"\n [tooltip]=\"'besluitUrlTooltip' | pluginTranslate: pluginId | async\"\n [widthPx]=\"350\"\n >\n </v-input>\n <v-input\n name=\"documentUrl\"\n [title]=\"'documentUrl' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.documentUrl\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n [trim]=\"true\"\n [tooltip]=\"'documentUrlTooltip' | pluginTranslate: pluginId | async\"\n [widthPx]=\"350\"\n >\n </v-input>\n</v-form>\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {NgModule} from '@angular/core';\nimport {BesluitenApiConfigurationComponent} from './components/besluiten-api-configuration/besluiten-api-configuration.component';\nimport {CommonModule} from '@angular/common';\nimport {PluginTranslatePipeModule} from '../../pipes';\nimport {CreateZaakBesluitConfigurationComponent} from './components/create-zaak-besluit/create-zaak-besluit-configuration.component';\nimport {LinkDocumentToBesluitConfigurationComponent} from './components/link-document-to-besluit/link-document-to-besluit-configuration.component';\nimport {LoadingModule} from 'carbon-components-angular';\nimport {\n DatePickerModule,\n FormModule,\n InputModule,\n ParagraphModule,\n RadioModule,\n SelectModule,\n} from '@valtimo/components';\n\n@NgModule({\n declarations: [\n BesluitenApiConfigurationComponent,\n CreateZaakBesluitConfigurationComponent,\n LinkDocumentToBesluitConfigurationComponent,\n ],\n imports: [\n CommonModule,\n PluginTranslatePipeModule,\n FormModule,\n InputModule,\n SelectModule,\n DatePickerModule,\n ParagraphModule,\n RadioModule,\n LoadingModule,\n ],\n exports: [\n BesluitenApiConfigurationComponent,\n CreateZaakBesluitConfigurationComponent,\n LinkDocumentToBesluitConfigurationComponent,\n ],\n})\nexport class BesluitenApiPluginModule {}\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nconst BESLUITEN_API_PLUGIN_LOGO_BASE64 =\n 'data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB2aWV3Qm94PSIxNTAgMTUgOTYgNTAiPjxkZWZzPjxwYXRoIGlkPSJhIiBkPSJNNTcuMzk2LjIxMUguMjgxdjQ5LjQwNWg1Ny4xMTVWLjIxeiIvPjxwYXRoIGlkPSJjIiBkPSJNNTcuNTY0LjIxMUguNDQ4djQ5LjQwNWg1Ny4xMTZWLjIxeiIvPjwvZGVmcz48ZyBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDE4Ny45MzEgMTUpIj48bWFzayBpZD0iYiIgZmlsbD0iI2ZmZiI+PHVzZSB4bGluazpocmVmPSIjYSIvPjwvbWFzaz48cGF0aCBkPSJNNTcuMzk2IDI0LjkxM2MwLTEzLjU3My0xMS4wMDQtMjQuNjIyLTI0LjU2LTI0LjctLjAyNCAwLS4wNDgtLjAwMy0uMDczLS4wMDNIMjQuNzVhMi41MDQgMi41MDQgMCAxIDAgMCA1LjAxaDcuOTQ1YzEwLjg1OCAwIDE5LjY5NCA4LjgzNCAxOS42OTQgMTkuNjkzIDAgMTAuODYtOC44MzYgMTkuNjk0LTE5LjY5NCAxOS42OTRINS4yODl2LTQuNTc4SC4yODF2OS41ODdoMzIuNDgydi0uMDAxYzEzLjU5LS4wNCAyNC42MzMtMTEuMTA1IDI0LjYzMy0yNC43MDIiIGZpbGw9IiMwMDlGRTQiIG1hc2s9InVybCgjYikiLz48L2c+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTUwIDE1KSI+PG1hc2sgaWQ9ImQiIGZpbGw9IiNmZmYiPjx1c2UgeGxpbms6aHJlZj0iI2MiLz48L21hc2s+PHBhdGggZD0iTS40NDggMjQuOTEzYzAgMTMuNTczIDExLjAwNCAyNC42MjIgMjQuNTYgMjQuNy4wMjQgMCAuMDQ4LjAwMy4wNzMuMDAzaDguMDE0YTIuNTA0IDIuNTA0IDAgMSAwIDAtNS4wMDloLTcuOTQ0Yy0xMC44NTkgMC0xOS42OTQtOC44MzQtMTkuNjk0LTE5LjY5NCAwLTEwLjg1OSA4LjgzNS0xOS42OTQgMTkuNjk0LTE5LjY5NGgyNy40MDR2NC41NzhoNS4wMDlWLjIxSDI1LjA4di4wMDFDMTEuNDkuMjUxLjQ0OCAxMS4zMTYuNDQ4IDI0LjkxMyIgZmlsbD0iIzAwOUZFNCIgbWFzaz0idXJsKCNkKSIvPjwvZz48cGF0aCBmaWxsPSIjMDA0Mzg4IiBkPSJNMTc2LjAxNyA0Mi4xMTZsLTQuNjc4LTEyLjQwMWgtNS42NjRsOC4xNCAyMC4zNjZoMy45MjFsOC40MDEtMjAuMzY2aC01LjM2M3ptMjYuNTQyLjU1OGwtNy45MjgtMTIuOTU5aC02LjQxM3YyMC4zNjdoNC45OTdWMzYuNzg3bDguMTUgMTMuMjk1aDYuMTlWMjkuNzE1aC00Ljk5NnptMTkuMzIzLTQuOTR2NC42NjNoMy41Mzd2Mi42NzdhOS43NzMgOS43NzMgMCAwIDEtMS40MTQuNTRjLS42NTIuMjAzLTEuNDQzLjMwNi0yLjM1NC4zMDYtLjg4IDAtMS42ODYtLjE1LTIuMzk0LS40NDhhNS4zMzggNS4zMzggMCAwIDEtMS44MjQtMS4yNDcgNS41MjIgNS41MjIgMCAwIDEtMS4xNy0xLjg5NGMtLjI3Mi0uNzI5LS40MS0xLjU0OS0uNDEtMi40MzMgMC0uODY3LjEzOC0xLjY4MS40MS0yLjQyYTUuNTAyIDUuNTAyIDAgMCAxIDEuMTctMS45MDggNS4zNzQgNS4zNzQgMCAwIDEgMS44MjQtMS4yNDZjLjcwOS0uMjk4IDEuNTE0LS40NDkgMi4zOTQtLjQ0OSAxLjA2NCAwIDEuOTU5LjE1MSAyLjY1Ny40NDkuNy4yOTcgMS4zMzguNzQgMS44OTggMS4zMThsLjI0Mi4yNDggMy41MTUtMy44MzUtLjIzNy0uMjIxYTguOTIzIDguOTIzIDAgMCAwLTMuNjI3LTIuMDM4Yy0xLjM1LS4zODYtMi44NDctLjU4My00LjQ0OC0uNTgzLTEuNTcyIDAtMy4wNDQuMjUtNC4zNzMuNzQ1YTEwLjEzOSAxMC4xMzkgMCAwIDAtMy40ODEgMi4xNDNjLS45NzUuOTI4LTEuNzQ2IDIuMDY2LTIuMjkgMy4zODQtLjU0MyAxLjMxNS0uODE5IDIuOC0uODE5IDQuNDEzIDAgMS42MTMuMjc2IDMuMDk4LjgyIDQuNDEzLjU0NSAxLjMxOSAxLjMxNCAyLjQ1NyAyLjI4OSAzLjM4NC45NzQuOTI2IDIuMTQ2IDEuNjQ3IDMuNDggMi4xNDMgMS4zMy40OTQgMi44MDIuNzQ0IDQuMzc0Ljc0NCAxLjQ2NCAwIDIuOTItLjE1MiA0LjMzLS40NTJhMTYuMDU0IDE2LjA1NCAwIDAgMCA0LjA5LTEuNDc4bC4xNzctLjA5VjM3LjczM2gtOC4zNjZ6Ii8+PC9nPjwvc3ZnPg==';\n\nexport {BESLUITEN_API_PLUGIN_LOGO_BASE64};\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport * from './besluiten-api-plugin-logo';\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {PluginSpecification} from '../../models';\nimport {BesluitenApiConfigurationComponent} from './components/besluiten-api-configuration/besluiten-api-configuration.component';\nimport {BESLUITEN_API_PLUGIN_LOGO_BASE64} from './assets';\nimport {CreateZaakBesluitConfigurationComponent} from './components/create-zaak-besluit/create-zaak-besluit-configuration.component';\nimport {LinkDocumentToBesluitConfigurationComponent} from './components/link-document-to-besluit/link-document-to-besluit-configuration.component';\n\nconst besluitenApiPluginSpecification: PluginSpecification = {\n pluginId: 'besluitenapi',\n pluginConfigurationComponent: BesluitenApiConfigurationComponent,\n pluginLogoBase64: BESLUITEN_API_PLUGIN_LOGO_BASE64,\n functionConfigurationComponents: {\n 'create-besluit': CreateZaakBesluitConfigurationComponent,\n 'link-document-to-besluit': LinkDocumentToBesluitConfigurationComponent,\n },\n pluginTranslations: {\n nl: {\n title: 'Besluiten API',\n rsin: 'RSIN',\n rsinTooltip: 'Rechtspersonen en Samenwerkingsverbanden Informatienummer',\n url: 'Besluiten API URL',\n urlTooltip: 'Een URL naar de REST API van Besluiten',\n description: 'API voor opslag en ontsluiting van besluiten en daarbij behorende metadata.',\n configurationTitle: 'Configuratienaam',\n configurationTitleTooltip:\n 'De naam van de huidige plugin-configuratie. Onder deze naam kan de configuratie in de rest van de applicatie teruggevonden worden.',\n authenticationPluginConfiguration: 'Configuratie authenticatie-plug-in',\n 'create-besluit': 'Zaakbesluit aanmaken',\n createZaakBesluitInformation: 'Deze actie creëert een zaakbesluit in de Besluiten API.',\n besluittypeUrl: 'Besluittype-URL',\n besluittypeUrlTooltip: 'URL-referentie naar het besluittype',\n toelichting: 'Toelichting',\n toelichtingTooltip: 'Toelichting bij het besluit.',\n bestuursorgaan: 'Bestuursorgaan',\n bestuursorgaanTooltip:\n 'Een orgaan van een rechtspersoon krachtens publiekrecht ingesteld of een persoon of college, met enig openbaar gezag bekleed onder wiens verantwoordelijkheid het besluit vastgesteld is.',\n ingangsdatum: 'Ingangsdatum',\n ingangsdatumTooltip:\n 'Ingangsdatum van de werkingsperiode van het besluit. Ondersteunt de value resolver, bijv: pv:ingangsdatum of doc:/besluit/ingangsdatum. Ondersteunende datum voorbeelden: 2024-04-01, 2024-04-01T12:10:00, 2024-04-01T12:10:06.069Z. Selecteer Tekst om de document of proces variabel property te gebruiken en Selectie om een datum uit een kalender te selecteren',\n vervaldatum: 'Vervaldatum',\n vervaldatumTooltip:\n 'Datum waarop de werkingsperiode van het besluit eindigt. Ondersteunt de value resolver, bijv: pv:vervaldatum of doc:/besluit/vervaldatum. Ondersteunende datum voorbeelden: 2024-04-01, 2024-04-01T12:10:00, 2024-04-01T12:10:06.069Z. Selecteer Tekst om de document of proces variabel property te gebruiken en Selectie om een datum uit een kalender te selecteren',\n vervalreden: 'Vervalreden',\n vervalredenTooltip:\n 'De omschrijving die aangeeft op grond waarvan het besluit is of komt te vervallen.',\n tijdelijk: 'Tijdelijk',\n ingetrokken_overheid: 'Ingetrokken door overheid',\n ingetrokken_belanghebbende: 'Ingetrokken door belanghebbende',\n publicatiedatum: 'Publicatiedatum',\n publicatiedatumTooltip: 'Datum waarop het besluit gepubliceerd wordt.',\n verzenddatum: 'Verzenddatum',\n verzenddatumTooltip: 'Datum waarop het besluit verzonden is.',\n uiterlijkeReactieDatum: 'Uiterlijke reactie datum',\n uiterlijkeReactieDatumTooltip: 'De datum tot wanneer verweer tegen het besluit mogelijk is.',\n besluitUrlProcessVariable: 'Naam procesvariabele met besluit URL',\n besluitUrlProcessVariableTooltip:\n 'Hier moet de naam van de procesvariabele ingevuld worden waarin de besluit URL lokaal staat opgeslagen',\n 'link-document-to-besluit': 'Link Document aan Besluit',\n linkDocumentToBesluitInformation:\n 'Deze actie linkt een document aan een zaakbesluit in de Besluiten API.',\n besluitUrl: 'Besluit URL',\n besluitUrlTooltip: 'URL-referentie naar het besluit',\n documentUrl: 'Document URL',\n documentUrlTooltip: 'URL-referentie naar het document',\n inputTypeBesluitToggle: 'Invoertype Besluit-URL',\n inputTypeStartingDateToggle: 'Invoertype Begindatum',\n inputTypeExpirationDateToggle: 'Invoertype vervaldatum',\n text: 'Tekst',\n selection: 'Selectie',\n caseDefinition: 'Dossierdefinitie',\n caseDefinitionTooltip:\n 'Selecteer de dossierdefinitie waarvan u een Besluit-type wilt selecteren. Als er slechts één besluittype beschikbaar is, wordt deze standaard geselecteerd.',\n besluittypeUrlSelect: 'Besluittype',\n besluittypeUrlSelectTooltip: 'Selecteer het besluittype.',\n },\n en: {\n title: 'Besluiten API',\n rsin: 'RSIN',\n rsinTooltip: 'Legal Entities and Partnerships Information Number',\n url: 'Besluiten API URL',\n urlTooltip: 'A URL to the REST API of Besluiten',\n description: 'API for storage and access to decisions and associated metadata.',\n configurationTitle: 'Configuration name',\n configurationTitleTooltip:\n 'The name of the current plugin configuration. Under this name, the configuration can be found in the rest of the application.',\n authenticationPluginConfiguration: 'Authentication plugin configuration',\n 'create-besluit': 'Create Zaakbesluit',\n createZaakBesluitInformation: 'This action creates a Zaakbesluit in the Besluiten API.',\n besluittypeUrl: 'Besluit type URL',\n besluittypeUrlTooltip: 'URL reference to the besluit type',\n toelichting: 'Explanation',\n toelichtingTooltip: 'Explanation to the besluit.',\n bestuursorgaan: 'Governing body',\n bestuursorgaanTooltip:\n 'A body of a legal person established under public law or a person or body with any public authority under whose responsibility the decision has been adopted.',\n ingangsdatum: 'Starting date',\n ingangsdatumTooltip:\n 'Commencement date of the effective period of the besluit. Supports the value resolver eg: pv:ingangsdatum or doc:/besluit/ingangsdatum. Supporting date format examples: 2024-04-01, 2024-04-01T12:10:00, 2024-04-01T12:10:06.069Z. Select Text to use document or process variable property and Selection to select a date from a calendar.',\n vervaldatum: 'Expiration date',\n vervaldatumTooltip:\n 'Date on which the period of operation of the besluit ends. Supports the value resolver eg: pv:vervaldatum or doc:/besluit/vervaldatum. Supporting date format examples: 2024-04-01, 2024-04-01T12:10:00, 2024-04-01T12:10:06.069Z. Select Text to use document or process variable property and Selection to select a date from a calendar.',\n vervalreden: 'Reason for expiry',\n vervalredenTooltip:\n 'The description that indicates on the basis of which the decision has been or will be cancelled.',\n tijdelijk: 'Temporary',\n ingetrokken_overheid: 'Withdrawn by government',\n ingetrokken_belanghebbende: 'Withdrawn by interested party',\n publicatiedatum: 'Publication date',\n publicatiedatumTooltip: 'Date on which the besluit is published.',\n verzenddatum: 'Shipment date',\n verzenddatumTooltip: 'Date on which the besluit was sent.',\n uiterlijkeReactieDatum: 'Response deadline',\n uiterlijkeReactieDatumTooltip:\n 'The date until which a defense against the decision is possible.',\n besluitUrlProcessVariable: 'Process variable name with besluit URL',\n besluitUrlProcessVariableTooltip:\n 'Here must be entered the name of the process variable in which the besluit URL is stored locally',\n 'link-document-to-besluit': 'Link Document to Besluit',\n linkDocumentToBesluitInformation:\n 'This action links a document to a zaakbesluit in the Besluiten API.',\n besluitUrl: 'Besluit URL',\n besluitUrlTooltip: 'URL reference to the besluit',\n documentUrl: 'Document URL',\n documentUrlTooltip: 'URL reference to the document',\n inputTypeBesluitToggle: 'Input type Besluit-URL',\n inputTypeStartingDateToggle: 'Input type start date',\n inputTypeExpirationDateToggle: 'Input type expiration date',\n text: 'Text',\n selection: 'Selection',\n caseDefinition: 'Case definition',\n caseDefinitionTooltip:\n 'Select the case definition from which you want to select a Besluit type. If only one Besluit type is available, it will be selected by default.',\n besluittypeUrlSelect: 'Besluittype',\n besluittypeUrlSelectTooltip: 'Select the Besluit type.',\n },\n de: {\n title: 'Besluiten API',\n rsin: 'RSIN',\n rsinTooltip: 'Informationsnummer für juristische Personen und Partnerschaften.',\n url: 'Besluiten API URL',\n urlTooltip: 'Die URL zur REST API von Besluiten',\n description:\n 'API für die Speicherung und den Zugriff auf Entscheidungen und zugehörige Metadaten.',\n configurationTitle: 'Konfigurationsname',\n configurationTitleTooltip:\n 'Der Name der aktuellen Plugin-Konfiguration. Unter diesem Namen ist die Konfiguration im Rest der Anwendung zu finden.',\n authenticationPluginConfiguration: 'Authentifizierungs-Plugin-Konfiguration',\n 'create-besluit': 'Zaakbesluit erstellen',\n createZaakBesluitInformation: 'Diese Aktion erstellt eine Zaakbesluit in der Besluiten-API.',\n besluittypeUrl: 'Entscheidungstyp-URL',\n besluittypeUrlTooltip: 'URL-Referenz zum Entscheidungstyp',\n toelichting: 'Erläuterung',\n toelichtingTooltip: 'Begründung der Entscheidung.',\n bestuursorgaan: 'Leitungsgremium',\n bestuursorgaanTooltip:\n 'Eine Körperschaft einer juristischen Person des öffentlichen Rechts oder eine Person oder Körperschaft einer öffentlichen Behörde, unter deren Verantwortung die Entscheidung getroffen wurde.',\n ingangsdatum: 'Anfangsdatum',\n ingangsdatumTooltip:\n 'Datum des Beginns der Geltungsdauer der Entscheidung. Unterstützt den Werteauflöser, z. B.: pv:ingangsdatum oder doc:/besluit/ingangdatum. Beispiele für unterstützende Datumsformate: 2024-04-01, 2024-04-01T12:10:00, 2024-04-01T12:10:06.069Z. Wählen Sie Text, um die Dokument- oder Prozessvariableneigenschaft zu verwenden, und Auswahl, um ein Datum aus einem Kalender auszuwählen',\n vervaldatum: 'Verfallsdatum',\n vervaldatumTooltip:\n 'Datum, an dem die Geltungsdauer der Entscheidung endet. Unterstützt den Werteauflöser, z. B.: pv:vervaldatum oder doc:/besluit/vervaldatum. Beispiele für unterstützende Datumsformate: 2024-04-01, 2024-04-01T12:10:00, 2024-04-01T12:10:06.069Z. Wählen Sie Text, um die Dokument- oder Prozessvariableneigenschaft zu verwenden, und Auswahl, um ein Datum aus einem Kalender auszuwählen',\n vervalreden: 'Ablaufgrund',\n vervalredenTooltip:\n 'Die Beschreibung, auf deren Grundlage die Entscheidung aufgehoben wurde oder wird.',\n tijdelijk: 'Temporär',\n ingetrokken_overheid: 'Von der Regierung zurückgezogen',\n ingetrokken_belanghebbende: 'Von interessierter Partei zurückgezogen',\n publicatiedatum: 'Veröffentlichungsdatum',\n publicatiedatumTooltip: 'Datum, an dem die Entscheidung veröffentlicht wird.',\n verzenddatum: 'Versanddatum',\n verzenddatumTooltip: 'Datum, an dem die Entscheidung gesendet wurde.',\n uiterlijkeReactieDatum: 'Antwortfrist',\n uiterlijkeReactieDatumTooltip:\n 'Das Datum, bis zu dem eine Verteidigung gegen die Entscheidung möglich ist.',\n besluitUrlProcessVariable: 'Prozessvariablenname mit Entscheidungs-URL',\n besluitUrlProcessVariableTooltip:\n 'Hier muss der Name der Prozessvariable eingetragen werden, in der die Entscheidungs-URL lokal gespeichert wird',\n 'link-document-to-besluit': 'Verknüpf Document zum Besluit',\n linkDocumentToBesluitInformation:\n 'Diese Aktion verknüpft ein Dokument mit einer Fallentscheidung in der Besluiten API.',\n besluitUrl: 'Besluit URL',\n besluitUrlTooltip: 'URL-Referenz zum besluit',\n documentUrl: 'Document URL',\n documentUrlTooltip: 'URL-Referenz zum document',\n inputTypeBesluitToggle: 'Eingabetyp Besluit-URL',\n inputTypeStartingDateToggle: 'Eingabetyp Begindatum',\n inputTypeExpirationDateToggle: 'Eingabetyp Einddatum',\n text: 'Text',\n selection: 'Auswahl',\n caseDefinition: 'Falltyp',\n caseDefinitionTooltip:\n 'Wählen Sie die Falltyp aus, aus der Sie einen Besluit-typ auswählen möchten. Wenn nur ein Besluit-typ verfügbar ist, wird dieser standardmäßig ausgewählt.',\n besluittypeUrlSelect: 'Besluittype',\n besluittypeUrlSelectTooltip: 'Wählen Sie den Besluit-typ aus.',\n },\n },\n};\n\nexport {besluitenApiPluginSpecification};\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Injectable} from '@angular/core';\nimport {HttpClient} from '@angular/common/http';\nimport {ConfigService} from '@valtimo/shared';\nimport {Observable} from 'rxjs';\nimport ExactRefreshToken from './exact-refresh-token';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ExactPluginService {\n private valtimoEndpointUri: string;\n\n constructor(\n private http: HttpClient,\n configService: ConfigService\n ) {\n this.valtimoEndpointUri = configService.config.valtimoApi.endpointUri;\n }\n\n exchangeAuthorizationCode(\n clientId: string,\n clientSecret: string,\n code: string\n ): Observable<ExactRefreshToken> {\n return this.http.post<ExactRefreshToken>(`${this.valtimoEndpointUri}v1/plugin/exact/exchange`, {\n clientId,\n clientSecret,\n code,\n });\n }\n}\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {PluginConfigurationComponent} from '../../../../models';\nimport {BehaviorSubject, combineLatest, Observable, Subscription, take} from 'rxjs';\nimport {ExactPluginService} from '../../exact-plugin.service';\nimport {ExactPluginConfig} from '../../exact-plugin';\nimport {Checkmark16} from '@carbon/icons';\nimport {IconService} from 'carbon-components-angular';\n\n@Component({\n standalone: false,\n selector: 'valtimo-exact-plugin-configuration',\n templateUrl: './exact-plugin-configuration.component.html',\n})\n// The component explicitly implements the PluginConfigurationComponent interface\nexport class ExactPluginConfigurationComponent\n implements PluginConfigurationComponent, OnInit, OnDestroy\n{\n @Input() save$: Observable<void>;\n @Input() disabled$: Observable<boolean>;\n @Input() pluginId: string;\n @Input() prefillConfiguration$: Observable<ExactPluginConfig>;\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() configuration: EventEmitter<ExactPluginConfig> = new EventEmitter<ExactPluginConfig>();\n\n private saveSubscription!: Subscription;\n private readonly formValue$ = new BehaviorSubject<ExactPluginConfig | null>(null);\n private readonly valid$ = new BehaviorSubject<boolean>(false);\n private storageCallbackFun!: (any) => void;\n\n constructor(\n private readonly exactPluginService: ExactPluginService,\n private readonly iconService: IconService\n ) {\n this.iconService.registerAll([Checkmark16]);\n }\n\n ngOnInit(): void {\n this.openSaveSubscription();\n this.storageCallbackFun = this.onReceiveToken.bind(this);\n window.addEventListener('storage', this.storageCallbackFun);\n }\n\n onReceiveToken(event): void {\n if (event.key === 'exactAuthorizationCode') {\n this.formValue$\n .pipe(take(1))\n .subscribe(formValue => {\n this.exchangeAuthorizationCode(formValue, localStorage.getItem('exactAuthorizationCode'));\n })\n .unsubscribe();\n }\n }\n\n ngOnDestroy() {\n this.saveSubscription?.unsubscribe();\n window.removeEventListener('storage', this.storageCallbackFun);\n }\n\n exchangeAuthorizationCode(formValue, code): void {\n this.exactPluginService\n .exchangeAuthorizationCode(formValue.clientId, formValue.clientSecret, code)\n .subscribe(response => {\n formValue.accessToken = response.accessToken;\n formValue.accessTokenExpiresOn = response.accessTokenExpiresOn;\n formValue.refreshToken = response.refreshToken;\n formValue.refreshTokenExpiresOn = response.refreshTokenExpiresOn;\n this.formValueChange(formValue);\n });\n }\n\n formValueChange(formValue: ExactPluginConfig): void {\n this.formValue$.next(formValue);\n this.handleValid(formValue);\n }\n\n openAuthenticationWindow(): void {\n this.formValue$\n .subscribe((formValue: ExactPluginConfig) => {\n const redirect_url = window.location.origin + '/plugins/exact/redirect';\n window.open(\n `https://start.exactonline.nl/api/oauth2/auth?client_id=${formValue.clientId}&redirect_uri=${redirect_url}&response_type=code&force_login=0`,\n '_blank'\n );\n })\n .unsubscribe();\n }\n\n private handleValid(formValue: ExactPluginConfig): void {\n const valid = !!(\n formValue.clientId &&\n formValue.clientSecret &&\n formValue.accessToken &&\n formValue.refreshToken\n );\n\n this.valid$.next(valid);\n this.valid.emit(valid);\n }\n\n private openSaveSubscription(): void {\n this.saveSubscription = this.save$?.subscribe(save => {\n combineLatest([this.formValue$, this.valid$])\n .pipe(take(1))\n .subscribe(([formValue, valid]) => {\n if (valid) {\n this.configuration.emit(formValue);\n }\n });\n });\n }\n}\n","<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null,\n } as obs\"\n>\n <v-input\n name=\"configurationTitle\"\n [title]=\"'configurationTitle' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.configurationTitle\"\n [required]=\"true\"\n [trim]=\"true\"\n [tooltip]=\"'configurationTitleTooltip' | pluginTranslate: pluginId | async\"\n >\n </v-input>\n <v-input\n name=\"clientId\"\n [title]=\"'clientId' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.clientId\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n [trim]=\"true\"\n ></v-input>\n <v-input\n name=\"clientSecret\"\n [title]=\"'clientSecret' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.clientSecret\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n >\n </v-input>\n\n <button cdsButton=\"secondary\" (click)=\"openAuthenticationWindow()\">\n <svg cdsIcon=\"close\" size=\"16\"></svg>\n Give authorization\n </button>\n</v-form>\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {BehaviorSubject, combineLatest, Observable, Subscription, take} from 'rxjs';\nimport {FunctionConfigurationComponent} from '../../../../models';\nimport ExactGetRequestConfiguration from './exact-get-request-configuration';\n\n@Component({\n standalone: false,\n selector: 'valtimo-exact-get-request-configuration',\n templateUrl: './exact-get-request-configuration.component.html',\n})\n// The component explicitly implements the PluginConfigurationComponent interface\nexport class ExactGetRequestConfigurationComponent\n implements FunctionConfigurationComponent, OnInit, OnDestroy\n{\n @Input() save$: Observable<void>;\n @Input() disabled$: Observable<boolean>;\n @Input() pluginId: string;\n @Input() prefillConfiguration$: Observable<ExactGetRequestConfiguration>;\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() configuration: EventEmitter<ExactGetRequestConfiguration> =\n new EventEmitter<ExactGetRequestConfiguration>();\n\n private saveSubscription!: Subscription;\n\n private readonly formValue$ = new BehaviorSubject<ExactGetRequestConfiguration | null>(null);\n private readonly valid$ = new BehaviorSubject<boolean>(false);\n\n formValues: any = null;\n\n ngOnInit(): void {\n this.openSaveSubscription();\n }\n\n ngOnDestroy() {\n this.saveSubscription?.unsubscribe();\n }\n\n formValueChange(input: any): void {\n const formValue: ExactGetRequestConfiguration = {\n properties: {\n uri: input.uri,\n bean: input.bean,\n },\n };\n\n this.formValue$.next(formValue);\n this.handleValid(formValue);\n }\n\n private handleValid(formValue: ExactGetRequestConfiguration): void {\n const valid = !!(formValue.properties.uri || formValue.properties.bean);\n\n this.valid$.next(valid);\n this.valid.emit(valid);\n }\n\n private openSaveSubscription(): void {\n this.saveSubscription = this.save$?.subscribe(save => {\n combineLatest([this.formValue$, this.valid$])\n .pipe(take(1))\n .subscribe(([formValue, valid]) => {\n if (valid) {\n this.configuration.emit(formValue);\n }\n });\n });\n }\n}\n","<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null,\n } as obs\"\n>\n <v-input\n name=\"uri\"\n type=\"text\"\n [title]=\"'uri' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.properties?.uri\"\n [required]=\"false\"\n [trim]=\"true\"\n [widthPx]=\"350\"\n ></v-input>\n\n <v-input\n name=\"bean\"\n type=\"text\"\n [title]=\"'bean' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.properties?.bean\"\n [required]=\"false\"\n [trim]=\"true\"\n [widthPx]=\"350\"\n ></v-input>\n</v-form>\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {BehaviorSubject, combineLatest, Observable, Subscription, take} from 'rxjs';\nimport {FunctionConfigurationComponent} from '../../../../models';\nimport ExactPutRequestConfiguration from './exact-put-request-configuration';\n\n@Component({\n standalone: false,\n selector: 'valtimo-exact-put-request-configuration',\n templateUrl: './exact-put-request-configuration.component.html',\n})\n// The component explicitly implements the PluginConfigurationComponent interface\nexport class ExactPutRequestConfigurationComponent\n implements FunctionConfigurationComponent, OnInit, OnDestroy\n{\n @Input() save$: Observable<void>;\n @Input() disabled$: Observable<boolean>;\n @Input() pluginId: string;\n @Input() prefillConfiguration$: Observable<ExactPutRequestConfiguration>;\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() configuration: EventEmitter<ExactPutRequestConfiguration> =\n new EventEmitter<ExactPutRequestConfiguration>();\n\n private saveSubscription!: Subscription;\n\n private readonly formValue$ = new BehaviorSubject<ExactPutRequestConfiguration | null>(null);\n private readonly valid$ = new BehaviorSubject<boolean>(false);\n\n formValues: any = null;\n\n ngOnInit(): void {\n this.openSaveSubscription();\n }\n\n ngOnDestroy() {\n this.saveSubscription?.unsubscribe();\n }\n\n formValueChange(input: any): void {\n const formValue: ExactPutRequestConfiguration = {\n properties: {\n uri: input.uri,\n content: input.content,\n bean: input.bean,\n },\n };\n\n this.formValue$.next(formValue);\n this.handleValid(formValue);\n }\n\n private handleValid(formValue: ExactPutRequestConfiguration): void {\n const valid = !!(\n (formValue.properties.uri && formValue.properties.content) ||\n formValue.properties.bean\n );\n\n this.valid$.next(valid);\n this.valid.emit(valid);\n }\n\n private openSaveSubscription(): void {\n this.saveSubscription = this.save$?.subscribe(save => {\n combineLatest([this.formValue$, this.valid$])\n .pipe(take(1))\n .subscribe(([formValue, valid]) => {\n if (valid) {\n this.configuration.emit(formValue);\n }\n });\n });\n }\n}\n","<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null,\n } as obs\"\n>\n <v-input\n name=\"uri\"\n type=\"text\"\n [title]=\"'uri' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.properties?.uri\"\n [required]=\"false\"\n [trim]=\"true\"\n [widthPx]=\"350\"\n ></v-input>\n\n <v-input\n name=\"content\"\n type=\"text\"\n [title]=\"'content' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.properties?.content\"\n [required]=\"false\"\n [widthPx]=\"350\"\n ></v-input>\n\n <v-input\n name=\"bean\"\n type=\"text\"\n [title]=\"'bean' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.properties?.bean\"\n [required]=\"false\"\n [widthPx]=\"350\"\n ></v-input>\n</v-form>\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {BehaviorSubject, combineLatest, Observable, Subscription, take} from 'rxjs';\nimport {FunctionConfigurationComponent} from '../../../../models';\nimport ExactPostRequestConfiguration from './exact-post-request-configuration';\n\n@Component({\n standalone: false,\n selector: 'valtimo-exact-post-request-configuration',\n templateUrl: './exact-post-request-configuration.component.html',\n})\n// The component explicitly implements the PluginConfigurationComponent interface\nexport class ExactPostRequestConfigurationComponent\n implements FunctionConfigurationComponent, OnInit, OnDestroy\n{\n @Input() save$: Observable<void>;\n @Input() disabled$: Observable<boolean>;\n @Input() pluginId: string;\n @Input() prefillConfiguration$: Observable<ExactPostRequestConfiguration>;\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() configuration: EventEmitter<ExactPostRequestConfiguration> =\n new EventEmitter<ExactPostRequestConfiguration>();\n\n private saveSubscription!: Subscription;\n\n private readonly formValue$ = new BehaviorSubject<ExactPostRequestConfiguration | null>(null);\n private readonly valid$ = new BehaviorSubject<boolean>(false);\n\n formValues: any = null;\n\n ngOnInit(): void {\n this.openSaveSubscription();\n }\n\n ngOnDestroy() {\n this.saveSubscription?.unsubscribe();\n }\n\n formValueChange(input: any): void {\n const formValue: ExactPostRequestConfiguration = {\n properties: {\n uri: input.uri,\n content: input.content,\n bean: input.bean,\n },\n };\n\n this.formValue$.next(formValue);\n this.handleValid(formValue);\n }\n\n private handleValid(formValue: ExactPostRequestConfiguration): void {\n const valid = !!(\n (formValue.properties.uri && formValue.properties.content) ||\n formValue.properties.bean\n );\n\n this.valid$.next(valid);\n this.valid.emit(valid);\n }\n\n private openSaveSubscription(): void {\n this.saveSubscription = this.save$?.subscribe(save => {\n combineLatest([this.formValue$, this.valid$])\n .pipe(take(1))\n .subscribe(([formValue, valid]) => {\n if (valid) {\n this.configuration.emit(formValue);\n }\n });\n });\n }\n}\n","<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null,\n } as obs\"\n>\n <v-input\n name=\"uri\"\n type=\"text\"\n [title]=\"'uri' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.properties?.uri\"\n [required]=\"false\"\n [trim]=\"true\"\n [widthPx]=\"350\"\n ></v-input>\n\n <v-input\n name=\"content\"\n type=\"text\"\n [title]=\"'content' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.properties?.content\"\n [required]=\"false\"\n [widthPx]=\"350\"\n ></v-input>\n\n <v-input\n name=\"bean\"\n type=\"text\"\n [title]=\"'bean' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.properties?.bean\"\n [required]=\"false\"\n [widthPx]=\"350\"\n ></v-input>\n</v-form>\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {PluginSpecification} from '../../models';\nimport {ExactPluginConfigurationComponent} from './components/exact-plugin-configuration/exact-plugin-configuration.component';\nimport {ExactGetRequestConfigurationComponent} from './components/exact-action-get-request-configuration/exact-get-request-configuration.component';\nimport {ExactPutRequestConfigurationComponent} from './components/exact-action-put-request-configuration/exact-put-request-configuration.component';\nimport {ExactPostRequestConfigurationComponent} from './components/exact-action-post-request-configuration/exact-post-request-configuration.component';\n\nconst exactPluginSpecification: PluginSpecification = {\n pluginId: 'exact',\n pluginConfigurationComponent: ExactPluginConfigurationComponent,\n pluginLogoBase64:\n 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAKgAAAAkCAMAAAAq54ElAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAACqVBMVEUAAADWIinZJCrZJirYJCrZJSvaJSv/AADXKCjcIyvWJCn/AADMMzPYJyfdKC3aJi3bJCrZJivXKCjRLi7XJSvZJivaJivYJSrZJSrZJivZJivZJSrXJC3YJivYJivYJSrZJinmGjPaJSvZJSvaJSvYJSvZJSq/QEDaJSrZJirYJyfaJSraJSvcIy7aJSvZJivaJSvZJivaJirdIiLZJircKSnZJirYJSvZJSvZJivYJSr/AADbJCTYJSvaJSvYJSvYJivaJSvSHi3ZJCvZJirbJivYJyvZJivaJSvYJyzaJSzYJSvXJSvYJCvZJirYJyfZJivaJSvZJibaJSrZJSrZJSvZJivYJSvYJSrbJirZJi3aJSvYJivVKyvZJivYJSvZJSvaJSrZJivYJCnYJSvZJivYJSvZJSrZJivaJSvYJyraJivWISnZJiraJSzfIDDYJivaJSvYJivYJivZJSveJyzXJSrXJCvYJyvYJynfICDYJivYJCrVKyvbJCzZJivYJSnZJivaJivYJSvZJizfJSvXJCvaJSvaJSnYJyvZJivaJSvbJivbJCvaJSzaJSrZJSrYJivYJSrbJCTYJivZJirZJirbJivZJivYJCvZJSraJSnZJivZJirZJirZJinaJinZJiraJSvjHBzaJSrYJyrhJCvYJSvZJirZJSrZJivZJSrZJivXJCzbJCrbJirZJivYJSraJSnZJiraJSvYJiraJSzbJCTXJC3bJC7dIivYJirZJivZJivZJivXKCjbJiraJivYJivZJirYJSrZJivZJivZJirYJSrZJivaJSvaJSrbJiraJivVICvYJSrWIinWKSmqVVXVJCrbJCrYJSneJyfZJSnbJC7ZJCrZJi/ZJinYJSnaJCvVJCvYJSndKSnZJCr////a6T7OAAAA4nRSTlMARL2vW/zpAhMkMgEFJy0iMe0mC1qa16T4PFj3OfnSnVcKWZnWsrsEdOwN1OEW73LjZOsPvSzyuNCungMOv2B9nNsRfrx+Ql/1NCl8U1TlGmuPFPH5tGyll4Yo8L4Mp5am2udprPPGzzWET+4fw0wQ+92V+p8uZ007YwjLYhIjoG9liHZRMEfce0iU1Y0qRZLOxasHxKm1k5t3wqaoeT1dREPiCdNWKrm2yV7HakYrgKGYPuaJqksVPxweo3jR0iCFZsxJsfSB2Wg29pGM5BhuJRkDK1uXJ6AyeRtRfY8qgiWT0Pv9JgAAAAFiS0dE4sYBnhwAAAAHdElNRQfiChMHJTUkS/K4AAAEWklEQVRYw+2Y90MURxTHX/RWNHeiWCIiZwXRCBgwFMEGoiIWRDSKgJpY46mgZ+8NeyWxJxqikdgSNBoS0iyxd43GXv4Tb2/ezM4uO8Oe7g/+4Ptp3vu+efvZ29mZtwfwbtoHtfxWG951cyh+q/Me9D1oABZUt96HvDnBRYf1dYnBGG0A4NTNaNigrstC7XoaaAiNNbII2bhJ048Ug/mu2QyHoc253DAMtggHcBknuVu2am2AbdO2XYQuJ1IDZdbeEmZUh45KdfNd7+NOOI6OYcn1YzHWGUxAVfskjq/dOd6ovzFol0/NLqeCQkIiOklB9PdJxkhXpwhUUVJSae1u7aurbwrq6q4IQaEH9Xpidi/009JBDKr0pr9nhmIfaB9FAsrA3H39bj90M/uDDNSdRWoPUCyDDhwkMPp+xCRKQdmjHpzNL4UhIAVVcvzy0FzroMNEpYYj6GcsEjFiZB5nuM5G5aNcEAWF9OUajZNT+Ql5Y8Z+Tmt94ZfHsdrR47Xa/TTQCTQWVzPoRPQnTRYsDbodKV+y7Sqim2gdTfFgylTVm0b3gek1b/g1gRYVE3dGunARz8QZ3lk4mDBbvOLnYM5cdTvB2omj4O1B56E7X3ztBQsNUyW5UOgmOYt843D2KGwAxV+geLHk4ktCdDOXSjeRNJK0zDdcjhOC7QBdQbzclXqL05VdVcxNbNnYeLCVrOZ2kzUka61PyCPDfKcV0LjlAltH9PXmt7FBX3ejpuRu0kubI033twE+aQsZbrWle1pqDhphOL22McWhE4pKBQ9MBU3Bfc0W0FJLoFDCNsSvdO/Z14oEdDsZ7rAFdLQlUGckU3by8RWKDHQENjS2gO6yBLqbk1prYfMjkoG2I8M9lkD3fiOwb4meY+Vl2hfKSbFav79fkYLiK5gGdmxP2Dtlflems3C+asz3upnJB6jQFCNjyrQPjYMaaE9spdrYAfoDuockH1Plhqm7qPIj8bfz2Yc10EHccfrWoIfQ3SgG7Y0p8fTQV46gcpS4xwSgWZheXr1mE+wCnJZBXdjFtTgu4izz4ik7NygJ5yb+RKQC4v4sAI2in1cdqndZqDSyDAoVtCk/cbKLGWf2L5hwyrdYo3HcqdCvncYHmGAOCrNYr/xrpb7qb7Rh/t0y6Dou5o3nrIoc5PSLao/a8Tenr/8ffvFPepN/lTPzcKCbTWurJ1U2i3tIENJFVkib9L8Fd/KPXz5DW3Zy6yupelb1Gsq3J0hNNpPOqdIaQ9DClr/PLQE9j32TF5ew819UL5SoboYcFOaFikD7BA4KQ8SgVXXQuUiTF8/AyCV1RQfny0HhcrEAtHJw4KDgiBWAsqYpg/2jAFeuYuy0urWc98hBISzWHBRO5gcOCtnXPKag13F44yaXfIsm3FK92129UlC4kxNiCgpZBYGDAty999/aU/creBsKD/7H4UNdJ/UIo70I/uMnT5+lVBhtClf7uUNX+wUVXjpevKKXeA1u5WsFezws2AAAACV0RVh0ZGF0ZTpjcmVhdGUAMjAxOC0xMC0xOVQwNzozNzo1MyswMDowMIPF6M0AAAAldEVYdGRhdGU6bW9kaWZ5ADIwMTgtMTAtMTlUMDc6Mzc6NTMrMDA6MDDymFBxAAAAAElFTkSuQmCC',\n functionConfigurationComponents: {\n 'exact-get-request': ExactGetRequestConfigurationComponent,\n 'exact-post-request': ExactPostRequestConfigurationComponent,\n 'exact-put-request': ExactPutRequestConfigurationComponent,\n },\n pluginTranslations: {\n nl: {\n title: 'Exact Plugin',\n description: 'Plugin to set up Exact API connection',\n configurationTitle: 'Configuratienaam',\n clientId: 'Client Id',\n clientSecret: 'Client Secret',\n 'exact-get-request': 'Exact GET request',\n 'exact-post-request': 'Exact POST request',\n 'exact-put-request': 'Exact PUT request',\n uri: 'URI',\n bean: 'Service class',\n content: 'Bericht',\n },\n en: {\n title: 'Exact Plugin',\n description: 'Plugin to set up Exact API connection',\n configurationTitle: 'Configuratienaam',\n clientId: 'Client Id',\n clientSecret: 'Client Secret',\n 'exact-get-request': 'Exact GET request',\n 'exact-post-request': 'Exact POST request',\n 'exact-put-request': 'Exact PUT request',\n uri: 'URI',\n bean: 'Service class',\n content: 'Content',\n },\n de: {\n title: 'Exact Plugin',\n description: 'Plugin zum Einrichten einer Exact-API-Verbindung',\n configurationTitle: 'Konfigurationsname',\n clientId: 'Kunden ID',\n clientSecret: 'Client-Geheimnis',\n 'exact-get-request': 'Exakte GET-Anfrage',\n 'exact-post-request': 'Exakte POST-Anfrage',\n 'exact-put-request': 'Exakte PUT-Anfrage',\n uri: 'URI',\n bean: 'Serviceklasse',\n content: 'Inhalt',\n },\n },\n};\n\nexport {exactPluginSpecification};\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, OnInit} from '@angular/core';\nimport {ActivatedRoute} from '@angular/router';\n\n@Component({\n standalone: false,\n selector: 'valtimo-exact-redirect',\n templateUrl: './exact-redirect.component.html',\n})\nexport class ExactRedirectComponent implements OnInit {\n constructor(private route: ActivatedRoute) {}\n\n ngOnInit(): void {\n this.route.queryParams.subscribe(params => {\n localStorage.setItem('exactAuthorizationCode', params.code);\n window.close();\n });\n }\n}\n","<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<p>You can close this page.</p>\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {NgModule} from '@angular/core';\nimport {RouterModule, Routes} from '@angular/router';\nimport {CommonModule} from '@angular/common';\nimport {AuthGuardService} from '@valtimo/security';\nimport {ROLE_ADMIN} from '@valtimo/shared';\nimport {ExactRedirectComponent} from './components/exact-redirect/exact-redirect.component';\n\nconst routes: Routes = [\n {\n path: 'plugins/exact/redirect',\n component: ExactRedirectComponent,\n canActivate: [AuthGuardService],\n data: {title: 'Exact Redirect', roles: [ROLE_ADMIN]},\n },\n];\n\n@NgModule({\n declarations: [],\n imports: [CommonModule, RouterModule.forChild(routes)],\n exports: [RouterModule],\n})\nexport class ExactPluginRoutingModule {}\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {NgModule} from '@angular/core';\nimport {CommonModule} from '@angular/common';\nimport {FormModule, InputModule} from '@valtimo/components';\nimport {PluginTranslatePipeModule} from '../../pipes';\nimport {ExactPluginRoutingModule} from './exact-plugin-routing.module';\nimport {ExactGetRequestConfigurationComponent} from './components/exact-action-get-request-configuration/exact-get-request-configuration.component';\nimport {ExactPostRequestConfigurationComponent} from './components/exact-action-post-request-configuration/exact-post-request-configuration.component';\nimport {ExactPutRequestConfigurationComponent} from './components/exact-action-put-request-configuration/exact-put-request-configuration.component';\nimport {ExactPluginConfigurationComponent} from './components/exact-plugin-configuration/exact-plugin-configuration.component';\nimport {ExactRedirectComponent} from './components/exact-redirect/exact-redirect.component';\nimport {ButtonModule, IconModule} from 'carbon-components-angular';\n\n@NgModule({\n declarations: [\n ExactGetRequestConfigurationComponent,\n ExactPostRequestConfigurationComponent,\n ExactPutRequestConfigurationComponent,\n ExactPluginConfigurationComponent,\n ExactRedirectComponent,\n ],\n imports: [\n CommonModule,\n ExactPluginRoutingModule,\n PluginTranslatePipeModule,\n FormModule,\n InputModule,\n ButtonModule,\n ExactPluginRoutingModule,\n IconModule,\n ],\n exports: [],\n})\nexport class ExactPluginModule {}\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*\n * Public API Surface of plugin\n */\n\nexport * from './lib/services';\nexport * from './lib/models';\nexport * from './lib/pipes';\nexport * from './lib/constants';\n/* plugin configuration container */\nexport * from './lib/components/plugin-configuration-container/plugin-configuration-container.component';\nexport * from './lib/components/plugin-configuration-container/plugin-configuration-container.module';\n/* open-zaak plugin */\nexport * from './lib/plugins/open-zaak/open-zaak-plugin.module';\nexport * from './lib/plugins/open-zaak/components/open-zaak-configuration/open-zaak-configuration.component';\nexport * from './lib/plugins/open-zaak/open-zaak-plugin.specification';\n/* object token authentication plugin */\nexport * from './lib/plugins/object-token-authentication/object-token-authentication-plugin.module';\nexport * from './lib/plugins/object-token-authentication/object-token-authentication-plugin.specification';\nexport * from './lib/plugins/object-token-authentication/components/object-token-authentication-configuration/object-token-authencation-configuration.component';\n/* smart-documents plugin */\nexport * from './lib/plugins/smart-documents/smart-documents-plugin.module';\nexport * from './lib/plugins/smart-documents/smart-documents-plugin.specification';\nexport * from './lib/plugins/smart-documents/components/smart-documents-configuration/smart-documents-configuration.component';\nexport * from './lib/plugins/smart-documents/components/generate-document-configuration/generate-document-configuration.component';\nexport * from './lib/plugins/smart-documents/components/get-template-names/get-template-names.component';\n/* documenten api plugin */\nexport * from './lib/plugins/documenten-api/documenten-api-plugin.module';\nexport * from './lib/plugins/documenten-api/documenten-api-plugin.specification';\nexport * from './lib/plugins/documenten-api/models/config';\nexport * from './lib/plugins/documenten-api/components/store-temp-document/store-temp-document-configuration.component';\nexport * from './lib/plugins/documenten-api/components/documenten-api-configuration/documenten-api-configuration.component';\nexport * from './lib/plugins/documenten-api/components/store-uploaded-document/store-uploaded-document-configuration.component';\nexport * from './lib/plugins/documenten-api/components/download-document/download-document-configuration.component';\nexport * from './lib/plugins/documenten-api/components/store-uploaded-document-in-parts/store-uploaded-document-in-parts-configuration.component';\n/* objecttypen api plugin */\nexport * from './lib/plugins/objecttypen-api/objecttypen-api-plugin-module';\nexport * from './lib/plugins/objecttypen-api/objecttypen-api-plugin.specification';\nexport * from './lib/plugins/objecttypen-api/components/objecttypen-api-configuration/objecttypen-api-configuration.component';\n/* zaken api plugin */\nexport * from './lib/plugins/zaken-api/zaken-api-plugin.module';\nexport * from './lib/plugins/zaken-api/zaken-api-plugin.specification';\nexport * from './lib/plugins/zaken-api/components/zaken-api-configuration/zaken-api-configuration.component';\nexport * from './lib/plugins/zaken-api/components/link-document-to-zaak/link-document-to-zaak-configuration.component';\nexport * from './lib/plugins/zaken-api/components/set-zaak-status/set-zaak-status-configuration.component';\nexport * from './lib/plugins/zaken-api/components/create-zaak-resultaat/create-zaak-resultaat-configuration.component';\nexport * from './lib/plugins/zaken-api/components/link-uploaded-document-to-zaak/link-uploaded-document-to-zaak-configuration.component';\nexport * from './lib/plugins/zaken-api/components/create-natuurlijk-persoon-zaak-rol/create-natuurlijk-persoon-zaak-rol.component';\nexport * from './lib/plugins/zaken-api/components/create-niet-natuurlijk-persoon-zaak-rol/create-niet-natuurlijk-persoon-zaak-rol.component';\nexport * from './lib/plugins/zaken-api/components/create-medewerker-zaak-rol/create-medewerker-zaak-rol.component';\nexport * from './lib/plugins/zaken-api/components/create-organisatorische-eenheid-zaak-rol/create-organisatorische-eenheid-zaak-rol.component';\nexport * from './lib/plugins/zaken-api/components/create-vestiging-zaak-rol/create-vestiging-zaak-rol.component';\nexport * from './lib/plugins/zaken-api/components/create-zaak/create-zaak-configuration.component';\nexport * from './lib/plugins/zaken-api/components/set-zaakopschorting/set-zaakopschorting.component';\nexport * from './lib/plugins/zaken-api/components/start-hersteltermijn/start-hersteltermijn-configuration.component';\nexport * from './lib/plugins/zaken-api/components/end-hersteltermijn/end-hersteltermijn.component';\nexport * from './lib/plugins/zaken-api/components/create-zaakeigenschap/create-zaakeigenschap.component';\nexport * from './lib/plugins/zaken-api/components/update-zaakeigenschap/update-zaakeigenschap.component';\nexport * from './lib/plugins/zaken-api/components/delete-zaakeigenschap/delete-zaakeigenschap.component';\nexport * from './lib/plugins/zaken-api/components/relateer-zaken/relateer-zaken.component';\n/* objecten api plugin */\nexport * from './lib/plugins/objecten-api/objecten-api-plugin-module';\nexport * from './lib/plugins/objecten-api/objecten-api-plugin.specification';\nexport * from './lib/plugins/objecten-api/components/objecten-api-configuration/objecten-api-configuration.component';\nexport * from './lib/plugins/objecten-api/components/delete-object/delete-object.component';\n/* catalogi api plugin */\nexport * from './lib/plugins/catalogi-api/catalogi-api-plugin-module';\nexport * from './lib/plugins/catalogi-api/catalogi-api-plugin.specification';\nexport * from './lib/plugins/catalogi-api/components/catalogi-api-configuration/catalogi-api-configuration.component';\nexport * from './lib/plugins/catalogi-api/components/get-besluittype/get-besluittype-configuration.component';\nexport * from './lib/plugins/catalogi-api/components/get-resultaattype/get-resultaattype-configuration.component';\nexport * from './lib/plugins/catalogi-api/components/get-statustype/get-statustype-configuration.component';\nexport * from './lib/plugins/catalogi-api/components/get-eigenschap/get-eigenschap-configuration.component';\n/* notificaties api plugin */\nexport * from './lib/plugins/notificaties-api/notificaties-api-plugin.module';\nexport * from './lib/plugins/notificaties-api/notificaties-api-plugin.specification';\nexport * from './lib/plugins/notificaties-api/components/notificaties-api-configuration/notificaties-api-configuration.component';\n/* notificaties api authentication plugin */\nexport * from './lib/plugins/notificaties-api-authentication/open-notificaties-plugin.module';\nexport * from './lib/plugins/notificaties-api-authentication/open-notificaties-plugin.specification';\nexport * from './lib/plugins/notificaties-api-authentication/components/open-notificaties-configuration/open-notificaties-configuration.component';\n/* portaaltaak plugin */\nexport * from './lib/plugins/portaaltaak/portaaltaak-plugin.module';\nexport * from './lib/plugins/portaaltaak/portaaltaak-plugin.specification';\nexport * from './lib/plugins/portaaltaak/components/portaaltaak-configuration/portaaltaak-configuration.component';\nexport * from './lib/plugins/portaaltaak/components/create-portal-task/create-portal-task.component';\nexport * from './lib/plugins/portaaltaak/components/complete-portal-task/complete-portal-task.component';\n/* verzoek plugin */\nexport * from './lib/plugins/verzoek/verzoek-plugin.module';\nexport * from './lib/plugins/verzoek/verzoek-plugin.specification';\nexport * from './lib/plugins/verzoek/components/verzoek-configuration/verzoek-configuration.component';\n/* besluiten plugin */\nexport * from './lib/plugins/besluiten-api/besluiten-api-plugin.module';\nexport * from './lib/plugins/besluiten-api/besluiten-api-plugin.specification';\nexport * from './lib/plugins/besluiten-api/components/besluiten-api-configuration/besluiten-api-configuration.component';\nexport * from './lib/plugins/besluiten-api/components/create-zaak-besluit/create-zaak-besluit-configuration.component';\nexport * from './lib/plugins/besluiten-api/components/link-document-to-besluit/link-document-to-besluit-configuration.component';\n/* exact */\nexport * from './lib/plugins/exact/exact.plugin.specification';\nexport * from './lib/plugins/exact/exact-plugin.module';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1","i2.PluginService","i4","i1.PluginTranslationService","isValidUUID","i2","i3","i1.PluginService","i5.DefaultPluginConfigurationComponent","i6","i3.PluginTranslatePipe","map","i1.PluginManagementService","i3.DocumentenApiService","i5","i6.PluginTranslatePipe","i2.PluginTranslationService","i5.PluginTranslatePipe","tap","i1.ZakenApiService","i2.PluginTranslatePipe","i4.PluginTranslatePipe","i7.PluginTranslatePipe","i2.ZakenApiService","i1.PluginTranslatePipe","i2.ObjectService","i3.VerzoekPluginService","i7","i8.PluginTranslatePipe","CarbonInputModule","CarbonButtonModule","i5.BesluitenApiService","i8","i9.PluginTranslatePipe","i1.ExactPluginService"],"mappings":"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"}
|