@valtimo/plugin 12.14.1 → 13.0.1
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 +837 -911
- package/fesm2022/valtimo-plugin.mjs.map +1 -1
- package/lib/components/default-plugin-configuration/default-plugin-configuration.component.d.ts.map +1 -1
- package/lib/components/plugin-configuration-container/plugin-configuration-container.component.d.ts +3 -1
- package/lib/components/plugin-configuration-container/plugin-configuration-container.component.d.ts.map +1 -1
- package/lib/models/plugin.d.ts +2 -0
- package/lib/models/plugin.d.ts.map +1 -1
- package/lib/pipes/plugin-translate/plugin-translate.pipe.d.ts.map +1 -1
- package/lib/plugins/besluiten-api/components/besluiten-api-configuration/besluiten-api-configuration.component.d.ts.map +1 -1
- package/lib/plugins/besluiten-api/components/create-zaak-besluit/create-zaak-besluit-configuration.component.d.ts +10 -12
- package/lib/plugins/besluiten-api/components/create-zaak-besluit/create-zaak-besluit-configuration.component.d.ts.map +1 -1
- package/lib/plugins/besluiten-api/components/link-document-to-besluit/link-document-to-besluit-configuration.component.d.ts.map +1 -1
- package/lib/plugins/besluiten-api/services/besluiten-api.service.d.ts +2 -2
- package/lib/plugins/besluiten-api/services/besluiten-api.service.d.ts.map +1 -1
- package/lib/plugins/catalogi-api/components/catalogi-api-configuration/catalogi-api-configuration.component.d.ts.map +1 -1
- package/lib/plugins/catalogi-api/components/get-besluittype/get-besluittype-configuration.component.d.ts.map +1 -1
- package/lib/plugins/catalogi-api/components/get-eigenschap/get-eigenschap-configuration.component.d.ts +0 -15
- package/lib/plugins/catalogi-api/components/get-eigenschap/get-eigenschap-configuration.component.d.ts.map +1 -1
- package/lib/plugins/catalogi-api/components/get-resultaattype/get-resultaattype-configuration.component.d.ts.map +1 -1
- package/lib/plugins/catalogi-api/components/get-statustype/get-statustype-configuration.component.d.ts.map +1 -1
- package/lib/plugins/catalogi-api/models/config.d.ts +1 -1
- package/lib/plugins/catalogi-api/models/config.d.ts.map +1 -1
- package/lib/plugins/documenten-api/components/documenten-api-configuration/documenten-api-configuration.component.d.ts.map +1 -1
- package/lib/plugins/documenten-api/components/download-document/download-document-configuration.component.d.ts.map +1 -1
- package/lib/plugins/documenten-api/components/store-temp-document/store-temp-document-configuration.component.d.ts +1 -1
- package/lib/plugins/documenten-api/components/store-temp-document/store-temp-document-configuration.component.d.ts.map +1 -1
- package/lib/plugins/documenten-api/components/store-uploaded-document/store-uploaded-document-configuration.component.d.ts.map +1 -1
- package/lib/plugins/documenten-api/components/store-uploaded-document-in-parts/store-uploaded-document-in-parts-configuration.component.d.ts.map +1 -1
- package/lib/plugins/documenten-api/services/documenten-api.service.d.ts +1 -1
- package/lib/plugins/exact/components/exact-action-get-request-configuration/exact-get-request-configuration.component.d.ts.map +1 -1
- package/lib/plugins/exact/components/exact-action-post-request-configuration/exact-post-request-configuration.component.d.ts.map +1 -1
- package/lib/plugins/exact/components/exact-action-put-request-configuration/exact-put-request-configuration.component.d.ts.map +1 -1
- package/lib/plugins/exact/components/exact-plugin-configuration/exact-plugin-configuration.component.d.ts +4 -2
- package/lib/plugins/exact/components/exact-plugin-configuration/exact-plugin-configuration.component.d.ts.map +1 -1
- package/lib/plugins/exact/components/exact-redirect/exact-redirect.component.d.ts.map +1 -1
- package/lib/plugins/exact/exact-plugin.module.d.ts +2 -1
- package/lib/plugins/exact/exact-plugin.module.d.ts.map +1 -1
- package/lib/plugins/exact/exact-plugin.service.d.ts +1 -1
- package/lib/plugins/notificaties-api/components/notificaties-api-configuration/notificaties-api-configuration.component.d.ts.map +1 -1
- package/lib/plugins/notificaties-api-authentication/components/open-notificaties-configuration/open-notificaties-configuration.component.d.ts.map +1 -1
- package/lib/plugins/object-token-authentication/components/object-token-authentication-configuration/object-token-authencation-configuration.component.d.ts.map +1 -1
- package/lib/plugins/objecten-api/components/delete-object/delete-object.component.d.ts.map +1 -1
- package/lib/plugins/objecten-api/components/objecten-api-configuration/objecten-api-configuration.component.d.ts.map +1 -1
- package/lib/plugins/objecttypen-api/components/objecttypen-api-configuration/objecttypen-api-configuration.component.d.ts.map +1 -1
- package/lib/plugins/open-zaak/components/open-zaak-configuration/open-zaak-configuration.component.d.ts.map +1 -1
- package/lib/plugins/portaaltaak/components/complete-portal-task/complete-portal-task.component.d.ts.map +1 -1
- package/lib/plugins/portaaltaak/components/create-portal-task/create-portal-task.component.d.ts.map +1 -1
- package/lib/plugins/portaaltaak/components/portaaltaak-configuration/portaaltaak-configuration.component.d.ts.map +1 -1
- package/lib/plugins/portaaltaak/services/object.service.d.ts +1 -1
- package/lib/plugins/smart-documents/components/generate-document-configuration/generate-document-configuration.component.d.ts.map +1 -1
- package/lib/plugins/smart-documents/components/get-template-names/get-template-names.component.d.ts.map +1 -1
- package/lib/plugins/smart-documents/components/smart-documents-configuration/smart-documents-configuration.component.d.ts.map +1 -1
- package/lib/plugins/verzoek/components/verzoek-configuration/verzoek-configuration.component.d.ts +12 -6
- package/lib/plugins/verzoek/components/verzoek-configuration/verzoek-configuration.component.d.ts.map +1 -1
- package/lib/plugins/verzoek/models/config.d.ts +2 -1
- package/lib/plugins/verzoek/models/config.d.ts.map +1 -1
- package/lib/plugins/verzoek/models/verzoek.d.ts +8 -1
- package/lib/plugins/verzoek/models/verzoek.d.ts.map +1 -1
- package/lib/plugins/verzoek/services/verzoek-plugin.service.d.ts +6 -3
- package/lib/plugins/verzoek/services/verzoek-plugin.service.d.ts.map +1 -1
- package/lib/plugins/verzoek/verzoek-plugin.module.d.ts +1 -1
- package/lib/plugins/verzoek/verzoek-plugin.specification.d.ts.map +1 -1
- package/lib/plugins/zaken-api/components/create-natuurlijk-persoon-zaak-rol/create-natuurlijk-persoon-zaak-rol.component.d.ts.map +1 -1
- package/lib/plugins/zaken-api/components/create-niet-natuurlijk-persoon-zaak-rol/create-niet-natuurlijk-persoon-zaak-rol.component.d.ts.map +1 -1
- package/lib/plugins/zaken-api/components/create-zaak/create-zaak-configuration.component.d.ts +3 -1
- package/lib/plugins/zaken-api/components/create-zaak/create-zaak-configuration.component.d.ts.map +1 -1
- package/lib/plugins/zaken-api/components/create-zaak-resultaat/create-zaak-resultaat-configuration.component.d.ts +8 -13
- package/lib/plugins/zaken-api/components/create-zaak-resultaat/create-zaak-resultaat-configuration.component.d.ts.map +1 -1
- package/lib/plugins/zaken-api/components/create-zaakeigenschap/create-zaakeigenschap.component.d.ts +13 -17
- package/lib/plugins/zaken-api/components/create-zaakeigenschap/create-zaakeigenschap.component.d.ts.map +1 -1
- package/lib/plugins/zaken-api/components/delete-zaakeigenschap/delete-zaakeigenschap.component.d.ts +13 -20
- package/lib/plugins/zaken-api/components/delete-zaakeigenschap/delete-zaakeigenschap.component.d.ts.map +1 -1
- package/lib/plugins/zaken-api/components/end-hersteltermijn/end-hersteltermijn.component.d.ts.map +1 -1
- package/lib/plugins/zaken-api/components/link-document-to-zaak/link-document-to-zaak-configuration.component.d.ts.map +1 -1
- package/lib/plugins/zaken-api/components/link-uploaded-document-to-zaak/link-uploaded-document-to-zaak-configuration.component.d.ts.map +1 -1
- package/lib/plugins/zaken-api/components/relateer-zaken/relateer-zaken.component.d.ts.map +1 -1
- package/lib/plugins/zaken-api/components/set-zaak-status/set-zaak-status-configuration.component.d.ts +11 -16
- package/lib/plugins/zaken-api/components/set-zaak-status/set-zaak-status-configuration.component.d.ts.map +1 -1
- package/lib/plugins/zaken-api/components/set-zaakopschorting/set-zaakopschorting.component.d.ts.map +1 -1
- package/lib/plugins/zaken-api/components/start-hersteltermijn/start-hersteltermijn-configuration.component.d.ts.map +1 -1
- package/lib/plugins/zaken-api/components/update-zaakeigenschap/update-zaakeigenschap.component.d.ts +12 -19
- package/lib/plugins/zaken-api/components/update-zaakeigenschap/update-zaakeigenschap.component.d.ts.map +1 -1
- package/lib/plugins/zaken-api/components/zaken-api-configuration/zaken-api-configuration.component.d.ts.map +1 -1
- package/lib/plugins/zaken-api/models/create-zaak-properties.d.ts.map +1 -1
- package/lib/plugins/zaken-api/services/zaken-api.service.d.ts +4 -4
- package/lib/plugins/zaken-api/services/zaken-api.service.d.ts.map +1 -1
- package/lib/plugins/zaken-api/zaken-api-plugin.specification.d.ts.map +1 -1
- package/lib/services/plugin-management.service.d.ts +2 -2
- package/lib/services/plugin-management.service.d.ts.map +1 -1
- package/lib/services/plugin-translation.service.d.ts +4 -0
- package/lib/services/plugin-translation.service.d.ts.map +1 -1
- package/package.json +4 -6
- package/esm2022/lib/components/default-plugin-configuration/default-plugin-configuration.component.mjs +0 -73
- package/esm2022/lib/components/default-plugin-configuration/default-plugin-configuration.module.mjs +0 -53
- package/esm2022/lib/components/plugin-configuration-container/plugin-configuration-container.component.mjs +0 -161
- package/esm2022/lib/components/plugin-configuration-container/plugin-configuration-container.module.mjs +0 -36
- package/esm2022/lib/constants/index.mjs +0 -17
- package/esm2022/lib/constants/injection-tokens.mjs +0 -19
- package/esm2022/lib/models/index.mjs +0 -17
- package/esm2022/lib/models/plugin.mjs +0 -17
- package/esm2022/lib/pipes/index.mjs +0 -17
- package/esm2022/lib/pipes/plugin-translate/index.mjs +0 -18
- package/esm2022/lib/pipes/plugin-translate/plugin-translate-pipe.module.mjs +0 -33
- package/esm2022/lib/pipes/plugin-translate/plugin-translate.pipe.mjs +0 -35
- package/esm2022/lib/plugins/besluiten-api/assets/besluiten-api-plugin-logo.mjs +0 -18
- package/esm2022/lib/plugins/besluiten-api/assets/index.mjs +0 -17
- package/esm2022/lib/plugins/besluiten-api/besluiten-api-plugin.module.mjs +0 -76
- package/esm2022/lib/plugins/besluiten-api/besluiten-api-plugin.specification.mjs +0 -185
- package/esm2022/lib/plugins/besluiten-api/components/besluiten-api-configuration/besluiten-api-configuration.component.mjs +0 -89
- package/esm2022/lib/plugins/besluiten-api/components/create-zaak-besluit/create-zaak-besluit-configuration.component.mjs +0 -191
- package/esm2022/lib/plugins/besluiten-api/components/link-document-to-besluit/link-document-to-besluit-configuration.component.mjs +0 -74
- package/esm2022/lib/plugins/besluiten-api/models/config.mjs +0 -17
- package/esm2022/lib/plugins/besluiten-api/models/index.mjs +0 -18
- package/esm2022/lib/plugins/besluiten-api/models/input.mjs +0 -17
- package/esm2022/lib/plugins/besluiten-api/services/besluiten-api.service.mjs +0 -37
- package/esm2022/lib/plugins/besluiten-api/services/index.mjs +0 -17
- package/esm2022/lib/plugins/catalogi-api/assets/catalogi-api-plugin-logo.mjs +0 -18
- package/esm2022/lib/plugins/catalogi-api/assets/index.mjs +0 -17
- package/esm2022/lib/plugins/catalogi-api/catalogi-api-plugin-module.mjs +0 -76
- package/esm2022/lib/plugins/catalogi-api/catalogi-api-plugin.specification.mjs +0 -126
- package/esm2022/lib/plugins/catalogi-api/components/catalogi-api-configuration/catalogi-api-configuration.component.mjs +0 -88
- package/esm2022/lib/plugins/catalogi-api/components/get-besluittype/get-besluittype-configuration.component.mjs +0 -74
- package/esm2022/lib/plugins/catalogi-api/components/get-eigenschap/get-eigenschap-configuration.component.mjs +0 -74
- package/esm2022/lib/plugins/catalogi-api/components/get-resultaattype/get-resultaattype-configuration.component.mjs +0 -74
- package/esm2022/lib/plugins/catalogi-api/components/get-statustype/get-statustype-configuration.component.mjs +0 -74
- package/esm2022/lib/plugins/catalogi-api/models/config.mjs +0 -17
- package/esm2022/lib/plugins/catalogi-api/models/index.mjs +0 -17
- package/esm2022/lib/plugins/documenten-api/assets/documenten-api-plugin-logo.mjs +0 -18
- package/esm2022/lib/plugins/documenten-api/assets/index.mjs +0 -17
- package/esm2022/lib/plugins/documenten-api/components/documenten-api-configuration/documenten-api-configuration.component.mjs +0 -98
- package/esm2022/lib/plugins/documenten-api/components/download-document/download-document-configuration.component.mjs +0 -75
- package/esm2022/lib/plugins/documenten-api/components/store-temp-document/store-temp-document-configuration.component.mjs +0 -110
- package/esm2022/lib/plugins/documenten-api/components/store-uploaded-document/store-uploaded-document-configuration.component.mjs +0 -60
- package/esm2022/lib/plugins/documenten-api/components/store-uploaded-document-in-parts/store-uploaded-document-in-parts-configuration.component.mjs +0 -60
- package/esm2022/lib/plugins/documenten-api/documenten-api-plugin.module.mjs +0 -76
- package/esm2022/lib/plugins/documenten-api/documenten-api-plugin.specification.mjs +0 -189
- package/esm2022/lib/plugins/documenten-api/models/config.mjs +0 -17
- package/esm2022/lib/plugins/documenten-api/models/index.mjs +0 -17
- package/esm2022/lib/plugins/documenten-api/services/documenten-api.service.mjs +0 -37
- package/esm2022/lib/plugins/documenten-api/services/index.mjs +0 -17
- package/esm2022/lib/plugins/exact/components/exact-action-get-request-configuration/exact-get-request-configuration.component.mjs +0 -82
- package/esm2022/lib/plugins/exact/components/exact-action-get-request-configuration/exact-get-request-configuration.mjs +0 -17
- package/esm2022/lib/plugins/exact/components/exact-action-post-request-configuration/exact-post-request-configuration.component.mjs +0 -84
- package/esm2022/lib/plugins/exact/components/exact-action-post-request-configuration/exact-post-request-configuration.mjs +0 -17
- package/esm2022/lib/plugins/exact/components/exact-action-put-request-configuration/exact-put-request-configuration.component.mjs +0 -84
- package/esm2022/lib/plugins/exact/components/exact-action-put-request-configuration/exact-put-request-configuration.mjs +0 -17
- package/esm2022/lib/plugins/exact/components/exact-plugin-configuration/exact-plugin-configuration.component.mjs +0 -112
- package/esm2022/lib/plugins/exact/components/exact-redirect/exact-redirect.component.mjs +0 -36
- package/esm2022/lib/plugins/exact/exact-plugin-routing.module.mjs +0 -45
- package/esm2022/lib/plugins/exact/exact-plugin.mjs +0 -17
- package/esm2022/lib/plugins/exact/exact-plugin.module.mjs +0 -70
- package/esm2022/lib/plugins/exact/exact-plugin.service.mjs +0 -41
- package/esm2022/lib/plugins/exact/exact-refresh-token.mjs +0 -17
- package/esm2022/lib/plugins/exact/exact.plugin.specification.mjs +0 -72
- package/esm2022/lib/plugins/notificaties-api/assets/notificaties-api-plugin-logo.mjs +0 -18
- package/esm2022/lib/plugins/notificaties-api/components/notificaties-api-configuration/notificaties-api-configuration.component.mjs +0 -86
- package/esm2022/lib/plugins/notificaties-api/models/config.mjs +0 -17
- package/esm2022/lib/plugins/notificaties-api/models/index.mjs +0 -17
- package/esm2022/lib/plugins/notificaties-api/notificaties-api-plugin.module.mjs +0 -52
- package/esm2022/lib/plugins/notificaties-api/notificaties-api-plugin.specification.mjs +0 -59
- package/esm2022/lib/plugins/notificaties-api-authentication/assets/index.mjs +0 -17
- package/esm2022/lib/plugins/notificaties-api-authentication/assets/open-notificaties-plugin-logo.mjs +0 -18
- package/esm2022/lib/plugins/notificaties-api-authentication/components/open-notificaties-configuration/open-notificaties-configuration.component.mjs +0 -74
- package/esm2022/lib/plugins/notificaties-api-authentication/models/config.mjs +0 -17
- package/esm2022/lib/plugins/notificaties-api-authentication/models/index.mjs +0 -17
- package/esm2022/lib/plugins/notificaties-api-authentication/open-notificaties-plugin.module.mjs +0 -35
- package/esm2022/lib/plugins/notificaties-api-authentication/open-notificaties-plugin.specification.mjs +0 -56
- package/esm2022/lib/plugins/object-token-authentication/assets/object-token-authentication-plugin-logo.mjs +0 -18
- package/esm2022/lib/plugins/object-token-authentication/components/object-token-authentication-configuration/object-token-authencation-configuration.component.mjs +0 -74
- package/esm2022/lib/plugins/object-token-authentication/models/config.mjs +0 -17
- package/esm2022/lib/plugins/object-token-authentication/models/index.mjs +0 -17
- package/esm2022/lib/plugins/object-token-authentication/object-token-authentication-plugin.module.mjs +0 -35
- package/esm2022/lib/plugins/object-token-authentication/object-token-authentication-plugin.specification.mjs +0 -50
- package/esm2022/lib/plugins/objecten-api/assets/index.mjs +0 -17
- package/esm2022/lib/plugins/objecten-api/assets/objecten-api-plugin-logo.mjs +0 -18
- package/esm2022/lib/plugins/objecten-api/components/delete-object/delete-object.component.mjs +0 -74
- package/esm2022/lib/plugins/objecten-api/components/objecten-api-configuration/objecten-api-configuration.component.mjs +0 -88
- package/esm2022/lib/plugins/objecten-api/models/config.mjs +0 -17
- package/esm2022/lib/plugins/objecten-api/models/index.mjs +0 -17
- package/esm2022/lib/plugins/objecten-api/objecten-api-plugin-module.mjs +0 -53
- package/esm2022/lib/plugins/objecten-api/objecten-api-plugin.specification.mjs +0 -69
- package/esm2022/lib/plugins/objecttypen-api/assets/index.mjs +0 -17
- package/esm2022/lib/plugins/objecttypen-api/assets/objecttypen-api-plugin-logo.mjs +0 -18
- package/esm2022/lib/plugins/objecttypen-api/components/objecttypen-api-configuration/objecttypen-api-configuration.component.mjs +0 -88
- package/esm2022/lib/plugins/objecttypen-api/models/config.mjs +0 -17
- package/esm2022/lib/plugins/objecttypen-api/models/index.mjs +0 -17
- package/esm2022/lib/plugins/objecttypen-api/objecttypen-api-plugin-module.mjs +0 -52
- package/esm2022/lib/plugins/objecttypen-api/objecttypen-api-plugin.specification.mjs +0 -53
- package/esm2022/lib/plugins/open-zaak/assets/index.mjs +0 -17
- package/esm2022/lib/plugins/open-zaak/assets/open-zaak-plugin-logo.mjs +0 -18
- package/esm2022/lib/plugins/open-zaak/components/open-zaak-configuration/open-zaak-configuration.component.mjs +0 -74
- package/esm2022/lib/plugins/open-zaak/models/config.mjs +0 -17
- package/esm2022/lib/plugins/open-zaak/models/index.mjs +0 -17
- package/esm2022/lib/plugins/open-zaak/open-zaak-plugin.module.mjs +0 -35
- package/esm2022/lib/plugins/open-zaak/open-zaak-plugin.specification.mjs +0 -56
- package/esm2022/lib/plugins/portaaltaak/assets/portaaltaak-plugin-logo.mjs +0 -18
- package/esm2022/lib/plugins/portaaltaak/components/complete-portal-task/complete-portal-task.component.mjs +0 -54
- package/esm2022/lib/plugins/portaaltaak/components/create-portal-task/create-portal-task.component.mjs +0 -100
- package/esm2022/lib/plugins/portaaltaak/components/portaaltaak-configuration/portaaltaak-configuration.component.mjs +0 -105
- package/esm2022/lib/plugins/portaaltaak/models/config.mjs +0 -17
- package/esm2022/lib/plugins/portaaltaak/models/index.mjs +0 -18
- package/esm2022/lib/plugins/portaaltaak/models/object.mjs +0 -17
- package/esm2022/lib/plugins/portaaltaak/portaaltaak-plugin.module.mjs +0 -69
- package/esm2022/lib/plugins/portaaltaak/portaaltaak-plugin.specification.mjs +0 -166
- package/esm2022/lib/plugins/portaaltaak/services/index.mjs +0 -17
- package/esm2022/lib/plugins/portaaltaak/services/object.service.mjs +0 -37
- package/esm2022/lib/plugins/smart-documents/assets/index.mjs +0 -17
- package/esm2022/lib/plugins/smart-documents/assets/smart-documents-plugin-logo.mjs +0 -18
- package/esm2022/lib/plugins/smart-documents/components/generate-document-configuration/generate-document-configuration.component.mjs +0 -85
- package/esm2022/lib/plugins/smart-documents/components/get-template-names/get-template-names.component.mjs +0 -74
- package/esm2022/lib/plugins/smart-documents/components/smart-documents-configuration/smart-documents-configuration.component.mjs +0 -77
- package/esm2022/lib/plugins/smart-documents/models/config.mjs +0 -17
- package/esm2022/lib/plugins/smart-documents/models/index.mjs +0 -17
- package/esm2022/lib/plugins/smart-documents/smart-documents-plugin.module.mjs +0 -69
- package/esm2022/lib/plugins/smart-documents/smart-documents-plugin.specification.mjs +0 -101
- package/esm2022/lib/plugins/verzoek/assets/verzoek-plugin-logo.mjs +0 -18
- package/esm2022/lib/plugins/verzoek/components/verzoek-configuration/verzoek-configuration.component.mjs +0 -234
- package/esm2022/lib/plugins/verzoek/models/config.mjs +0 -17
- package/esm2022/lib/plugins/verzoek/models/index.mjs +0 -18
- package/esm2022/lib/plugins/verzoek/models/verzoek.mjs +0 -17
- package/esm2022/lib/plugins/verzoek/services/index.mjs +0 -17
- package/esm2022/lib/plugins/verzoek/services/verzoek-plugin.service.mjs +0 -43
- package/esm2022/lib/plugins/verzoek/verzoek-plugin.module.mjs +0 -86
- package/esm2022/lib/plugins/verzoek/verzoek-plugin.specification.mjs +0 -140
- package/esm2022/lib/plugins/zaken-api/assets/index.mjs +0 -17
- package/esm2022/lib/plugins/zaken-api/assets/zaken-api-plugin-logo.mjs +0 -18
- package/esm2022/lib/plugins/zaken-api/components/create-natuurlijk-persoon-zaak-rol/create-natuurlijk-persoon-zaak-rol.component.mjs +0 -74
- package/esm2022/lib/plugins/zaken-api/components/create-niet-natuurlijk-persoon-zaak-rol/create-niet-natuurlijk-persoon-zaak-rol.component.mjs +0 -74
- package/esm2022/lib/plugins/zaken-api/components/create-zaak/create-zaak-configuration.component.mjs +0 -172
- package/esm2022/lib/plugins/zaken-api/components/create-zaak-resultaat/create-zaak-resultaat-configuration.component.mjs +0 -160
- package/esm2022/lib/plugins/zaken-api/components/create-zaakeigenschap/create-zaakeigenschap.component.mjs +0 -160
- package/esm2022/lib/plugins/zaken-api/components/delete-zaakeigenschap/delete-zaakeigenschap.component.mjs +0 -159
- package/esm2022/lib/plugins/zaken-api/components/end-hersteltermijn/end-hersteltermijn.component.mjs +0 -63
- package/esm2022/lib/plugins/zaken-api/components/link-document-to-zaak/link-document-to-zaak-configuration.component.mjs +0 -86
- package/esm2022/lib/plugins/zaken-api/components/link-uploaded-document-to-zaak/link-uploaded-document-to-zaak-configuration.component.mjs +0 -60
- package/esm2022/lib/plugins/zaken-api/components/relateer-zaken/relateer-zaken.component.mjs +0 -90
- package/esm2022/lib/plugins/zaken-api/components/set-zaak-status/set-zaak-status-configuration.component.mjs +0 -160
- package/esm2022/lib/plugins/zaken-api/components/set-zaakopschorting/set-zaakopschorting.component.mjs +0 -77
- package/esm2022/lib/plugins/zaken-api/components/start-hersteltermijn/start-hersteltermijn-configuration.component.mjs +0 -77
- package/esm2022/lib/plugins/zaken-api/components/update-zaakeigenschap/update-zaakeigenschap.component.mjs +0 -160
- package/esm2022/lib/plugins/zaken-api/components/zaken-api-configuration/zaken-api-configuration.component.mjs +0 -88
- package/esm2022/lib/plugins/zaken-api/models/config.mjs +0 -17
- package/esm2022/lib/plugins/zaken-api/models/create-zaak-properties.mjs +0 -6
- package/esm2022/lib/plugins/zaken-api/models/eigenschap.mjs +0 -17
- package/esm2022/lib/plugins/zaken-api/models/index.mjs +0 -21
- package/esm2022/lib/plugins/zaken-api/models/input.mjs +0 -17
- package/esm2022/lib/plugins/zaken-api/models/resultaat.mjs +0 -17
- package/esm2022/lib/plugins/zaken-api/models/status.mjs +0 -17
- package/esm2022/lib/plugins/zaken-api/services/index.mjs +0 -17
- package/esm2022/lib/plugins/zaken-api/services/zaken-api.service.mjs +0 -43
- package/esm2022/lib/plugins/zaken-api/zaken-api-plugin.module.mjs +0 -155
- package/esm2022/lib/plugins/zaken-api/zaken-api-plugin.specification.mjs +0 -347
- package/esm2022/lib/services/index.mjs +0 -19
- package/esm2022/lib/services/plugin-management.service.mjs +0 -88
- package/esm2022/lib/services/plugin-translation.service.mjs +0 -51
- package/esm2022/lib/services/plugin.service.mjs +0 -49
- package/esm2022/public-api.mjs +0 -111
- package/esm2022/valtimo-plugin.mjs +0 -5
package/esm2022/lib/plugins/zaken-api/components/create-zaak/create-zaak-configuration.component.mjs
DELETED
|
@@ -1,172 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* Copyright 2015-2024 Ritense BV, the Netherlands.
|
|
3
|
-
*
|
|
4
|
-
* Licensed under EUPL, Version 1.2 (the "License");
|
|
5
|
-
* you may not use this file except in compliance with the License.
|
|
6
|
-
* You may obtain a copy of the License at
|
|
7
|
-
*
|
|
8
|
-
* https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
|
|
9
|
-
*
|
|
10
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
-
* distributed under the License is distributed on an "AS IS" basis,
|
|
12
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
-
* See the License for the specific language governing permissions and
|
|
14
|
-
* limitations under the License.
|
|
15
|
-
*/
|
|
16
|
-
import { Component, EventEmitter, Input, Output } from '@angular/core';
|
|
17
|
-
import { BehaviorSubject, combineLatest, filter, map, switchMap, take, tap, } from 'rxjs';
|
|
18
|
-
import { PluginTranslatePipe } from '../../../../pipes';
|
|
19
|
-
import { Add16, TrashCan16 } from '@carbon/icons';
|
|
20
|
-
import { ExtraPropertiesOptions } from '../../models/create-zaak-properties';
|
|
21
|
-
import * as i0 from "@angular/core";
|
|
22
|
-
import * as i1 from "@valtimo/resource";
|
|
23
|
-
import * as i2 from "@valtimo/document";
|
|
24
|
-
import * as i3 from "@valtimo/components";
|
|
25
|
-
import * as i4 from "../../../../pipes";
|
|
26
|
-
import * as i5 from "carbon-components-angular";
|
|
27
|
-
import * as i6 from "@angular/common";
|
|
28
|
-
import * as i7 from "../../../../pipes/plugin-translate/plugin-translate.pipe";
|
|
29
|
-
export class CreateZaakConfigurationComponent {
|
|
30
|
-
set pluginId(value) {
|
|
31
|
-
this.pluginId$.next(value);
|
|
32
|
-
}
|
|
33
|
-
constructor(openZaakService, documentService, modalService, pluginTranslatePipe, iconService) {
|
|
34
|
-
this.openZaakService = openZaakService;
|
|
35
|
-
this.documentService = documentService;
|
|
36
|
-
this.modalService = modalService;
|
|
37
|
-
this.pluginTranslatePipe = pluginTranslatePipe;
|
|
38
|
-
this.iconService = iconService;
|
|
39
|
-
this.valid = new EventEmitter();
|
|
40
|
-
this.configuration = new EventEmitter();
|
|
41
|
-
this.propertyList = [];
|
|
42
|
-
this.pluginId$ = new BehaviorSubject('');
|
|
43
|
-
this.selectedInputOption$ = new BehaviorSubject('selection');
|
|
44
|
-
this.inputTypeOptions$ = this.pluginId$.pipe(filter(pluginId => !!pluginId), switchMap(pluginId => combineLatest([
|
|
45
|
-
this.pluginTranslatePipe.transform('selection', pluginId),
|
|
46
|
-
this.pluginTranslatePipe.transform('text', pluginId),
|
|
47
|
-
])), map(([selectionTranslation, textTranslation]) => [
|
|
48
|
-
{ value: 'selection', title: selectionTranslation },
|
|
49
|
-
{ value: 'text', title: textTranslation },
|
|
50
|
-
]));
|
|
51
|
-
this.formValue$ = new BehaviorSubject(null);
|
|
52
|
-
this.valid$ = new BehaviorSubject(false);
|
|
53
|
-
this._properties = new Map();
|
|
54
|
-
this.loading$ = new BehaviorSubject(true);
|
|
55
|
-
this.zaakTypeItems$ = this.modalService.modalData$.pipe(switchMap(params => this.documentService.findProcessDocumentDefinitionsByProcessDefinitionKey(params?.processDefinitionKey)), switchMap(processDocumentDefinitions => combineLatest([
|
|
56
|
-
this.openZaakService.getZaakTypes(),
|
|
57
|
-
...processDocumentDefinitions.map(processDocumentDefinition => this.openZaakService.getZaakTypeLink(processDocumentDefinition.id.documentDefinitionId.name)),
|
|
58
|
-
])), map(results => {
|
|
59
|
-
const zaakTypes = results[0];
|
|
60
|
-
const zaakTypeLinks = results.filter((result, index) => index !== 0);
|
|
61
|
-
return zaakTypeLinks
|
|
62
|
-
.filter(zaakTypeLink => !!zaakTypeLink?.zaakTypeUrl)
|
|
63
|
-
.map(zaakTypeLink => ({
|
|
64
|
-
id: zaakTypeLink.zaakTypeUrl,
|
|
65
|
-
text: zaakTypes.find(zaakType => zaakType.url === zaakTypeLink.zaakTypeUrl)?.omschrijving ||
|
|
66
|
-
zaakTypeLink.zaakTypeUrl,
|
|
67
|
-
}));
|
|
68
|
-
}), tap(zaakTypeSelectItems => {
|
|
69
|
-
this.prefillConfiguration$.pipe(take(1)).subscribe(prefillConfig => {
|
|
70
|
-
const zaakTypeUrl = prefillConfig?.zaaktypeUrl;
|
|
71
|
-
if (zaakTypeUrl &&
|
|
72
|
-
!(zaakTypeSelectItems || []).find(item => item.id === zaakTypeUrl)) {
|
|
73
|
-
this.selectedInputOption$.next('text');
|
|
74
|
-
}
|
|
75
|
-
});
|
|
76
|
-
}), tap(() => {
|
|
77
|
-
this.loading$.next(false);
|
|
78
|
-
}));
|
|
79
|
-
this.iconService.registerAll([Add16, TrashCan16]);
|
|
80
|
-
}
|
|
81
|
-
ngOnInit() {
|
|
82
|
-
this.openSaveSubscription();
|
|
83
|
-
this.prefillConfiguration$.pipe(take(1)).subscribe(prefill => {
|
|
84
|
-
ExtraPropertiesOptions.filter(property => !!prefill[property]).forEach(property => this.addCaseProperty(property));
|
|
85
|
-
});
|
|
86
|
-
}
|
|
87
|
-
ngOnDestroy() {
|
|
88
|
-
this.saveSubscription?.unsubscribe();
|
|
89
|
-
}
|
|
90
|
-
formValueChange(formValue) {
|
|
91
|
-
this._properties.forEach((value, key) => (formValue[key] = value));
|
|
92
|
-
const inputTypeZaakTypeToggle = formValue.inputTypeZaakTypeToggle;
|
|
93
|
-
this.formValue$.next(formValue);
|
|
94
|
-
this.handleValid(formValue);
|
|
95
|
-
if (inputTypeZaakTypeToggle) {
|
|
96
|
-
this.selectedInputOption$.next(inputTypeZaakTypeToggle);
|
|
97
|
-
}
|
|
98
|
-
}
|
|
99
|
-
oneSelectItem(selectItems) {
|
|
100
|
-
if (Array.isArray(selectItems)) {
|
|
101
|
-
return selectItems.length === 1;
|
|
102
|
-
}
|
|
103
|
-
return false;
|
|
104
|
-
}
|
|
105
|
-
selectItemsIncludeId(selectItems, id) {
|
|
106
|
-
if (Array.isArray(selectItems)) {
|
|
107
|
-
return !!selectItems.find(item => item.id === id);
|
|
108
|
-
}
|
|
109
|
-
return false;
|
|
110
|
-
}
|
|
111
|
-
handleValid(formValue) {
|
|
112
|
-
const isPropertyInvalid = this.propertyList.some(property => !!!formValue[property]);
|
|
113
|
-
const valid = !!(formValue.rsin && formValue.zaaktypeUrl) && !isPropertyInvalid;
|
|
114
|
-
this.valid$.next(valid);
|
|
115
|
-
this.valid.emit(valid);
|
|
116
|
-
}
|
|
117
|
-
openSaveSubscription() {
|
|
118
|
-
this.saveSubscription = this.save$?.subscribe(save => {
|
|
119
|
-
combineLatest([this.formValue$, this.valid$])
|
|
120
|
-
.pipe(take(1))
|
|
121
|
-
.subscribe(([formValue, valid]) => {
|
|
122
|
-
if (valid) {
|
|
123
|
-
const payload = {
|
|
124
|
-
rsin: formValue.rsin,
|
|
125
|
-
zaaktypeUrl: formValue.zaaktypeUrl,
|
|
126
|
-
manualZaakTypeUrl: formValue.manualZaakTypeUrl,
|
|
127
|
-
};
|
|
128
|
-
this.propertyList.forEach(property => (payload[property] = formValue[property]));
|
|
129
|
-
this.configuration.emit(payload);
|
|
130
|
-
}
|
|
131
|
-
});
|
|
132
|
-
});
|
|
133
|
-
}
|
|
134
|
-
addCaseProperty(property) {
|
|
135
|
-
this.propertyList.push(property);
|
|
136
|
-
}
|
|
137
|
-
removeCaseProperty(property) {
|
|
138
|
-
this.propertyList.splice(this.propertyList.indexOf(property), 1);
|
|
139
|
-
this._properties.delete(property);
|
|
140
|
-
this.onPropertyChanged(property, undefined);
|
|
141
|
-
}
|
|
142
|
-
hasPropertyBeenAdded(property) {
|
|
143
|
-
return this.propertyList.indexOf(property) !== -1;
|
|
144
|
-
}
|
|
145
|
-
onPropertyChanged(property, value) {
|
|
146
|
-
this._properties.set(property, value);
|
|
147
|
-
this.formValue$
|
|
148
|
-
.pipe(filter(formValue => formValue !== null), take(1))
|
|
149
|
-
.subscribe(formValue => {
|
|
150
|
-
this.formValueChange(formValue);
|
|
151
|
-
});
|
|
152
|
-
}
|
|
153
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CreateZaakConfigurationComponent, deps: [{ token: i1.OpenZaakService }, { token: i2.DocumentService }, { token: i3.ModalService }, { token: i4.PluginTranslatePipe }, { token: i5.IconService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
154
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: CreateZaakConfigurationComponent, selector: "valtimo-create-zaak-configuration", inputs: { save$: "save$", disabled$: "disabled$", pluginId: "pluginId", prefillConfiguration$: "prefillConfiguration$" }, outputs: { valid: "valid", configuration: "configuration" }, providers: [PluginTranslatePipe], ngImport: i0, template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<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 } 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 <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 <v-radio\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 <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 <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 <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 <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 <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", styles: [".loading-container{display:flex;flex-direction:row;justify-content:center;height:100%;width:100%;align-items:center}::ng-deep .cds--overflow-menu-options{z-index:10000!important;width:230px}.property-input{display:flex}.property-input v-input,.property-input cds-date-picker-input{flex-grow:1}.property-input button{height:46px;width:46px;margin:16px}.delete-button:hover{background-color:#e12717}\n/*!\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"], dependencies: [{ kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.FormComponent, selector: "v-form", inputs: ["className"], outputs: ["valueChange"] }, { kind: "component", type: i3.InputComponent, selector: "v-input", inputs: ["name", "type", "title", "titleTranslationKey", "defaultValue", "widthPx", "fullWidth", "margin", "smallMargin", "disabled", "step", "min", "maxLength", "tooltip", "required", "hideNumberSpinBox", "smallLabel", "rows", "clear$", "carbonTheme", "placeholder", "dataTestId", "trim"], outputs: ["valueChange"] }, { kind: "component", type: i3.SelectComponent, selector: "v-select", inputs: ["items", "defaultSelection", "defaultSelectionId", "defaultSelectionIds", "disabled", "dropUp", "multiple", "margin", "widthInPx", "notFoundText", "clearAllText", "clearText", "name", "title", "titleTranslationKey", "clearSelectionSubject$", "tooltip", "required", "loading", "loadingText", "placeholder", "smallMargin", "carbonTheme", "appendInline", "dataTestId"], outputs: ["selectedChange"] }, { kind: "component", type: i3.ParagraphComponent, selector: "v-paragraph", inputs: ["center", "fullWidth", "margin", "italic", "loading", "dataTestId"] }, { kind: "component", type: i3.RadioComponent, selector: "v-radio", inputs: ["name", "title", "titleTranslationKey", "defaultValue", "widthPx", "fullWidth", "margin", "smallMargin", "disabled", "tooltip", "required", "smallLabel", "rows", "clear$", "radioValues"], outputs: ["valueChange"] }, { kind: "component", type: i5.Loading, selector: "cds-loading, ibm-loading", inputs: ["title", "isActive", "size", "overlay"] }, { kind: "directive", type: i5.Button, selector: "[cdsButton], [ibmButton]", inputs: ["ibmButton", "cdsButton", "size", "skeleton", "iconOnly", "isExpressive"] }, { kind: "directive", type: i5.OverflowMenuDirective, selector: "[cdsOverflowMenu], [ibmOverflowMenu]", inputs: ["ibmOverflowMenu", "cdsOverflowMenu", "flip", "offset", "wrapperClass", "customPane"], exportAs: ["overflowMenu"] }, { kind: "component", type: i5.OverflowMenuOption, selector: "cds-overflow-menu-option, ibm-overflow-menu-option", inputs: ["divider", "type", "disabled", "href", "target", "innerClass"], outputs: ["selected"] }, { kind: "directive", type: i5.IconDirective, selector: "[cdsIcon], [ibmIcon]", inputs: ["ibmIcon", "cdsIcon", "size", "title", "ariaLabel", "ariaLabelledBy", "ariaHidden", "isFocusable"] }, { kind: "pipe", type: i6.AsyncPipe, name: "async" }, { kind: "pipe", type: i7.PluginTranslatePipe, name: "pluginTranslate" }] }); }
|
|
155
|
-
}
|
|
156
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CreateZaakConfigurationComponent, decorators: [{
|
|
157
|
-
type: Component,
|
|
158
|
-
args: [{ selector: 'valtimo-create-zaak-configuration', providers: [PluginTranslatePipe], template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<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 } 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 <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 <v-radio\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 <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 <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 <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 <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 <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", styles: [".loading-container{display:flex;flex-direction:row;justify-content:center;height:100%;width:100%;align-items:center}::ng-deep .cds--overflow-menu-options{z-index:10000!important;width:230px}.property-input{display:flex}.property-input v-input,.property-input cds-date-picker-input{flex-grow:1}.property-input button{height:46px;width:46px;margin:16px}.delete-button:hover{background-color:#e12717}\n/*!\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"] }]
|
|
159
|
-
}], ctorParameters: () => [{ type: i1.OpenZaakService }, { type: i2.DocumentService }, { type: i3.ModalService }, { type: i4.PluginTranslatePipe }, { type: i5.IconService }], propDecorators: { save$: [{
|
|
160
|
-
type: Input
|
|
161
|
-
}], disabled$: [{
|
|
162
|
-
type: Input
|
|
163
|
-
}], pluginId: [{
|
|
164
|
-
type: Input
|
|
165
|
-
}], prefillConfiguration$: [{
|
|
166
|
-
type: Input
|
|
167
|
-
}], valid: [{
|
|
168
|
-
type: Output
|
|
169
|
-
}], configuration: [{
|
|
170
|
-
type: Output
|
|
171
|
-
}] } });
|
|
172
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLXphYWstY29uZmlndXJhdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92YWx0aW1vL3BsdWdpbi9zcmMvbGliL3BsdWdpbnMvemFrZW4tYXBpL2NvbXBvbmVudHMvY3JlYXRlLXphYWsvY3JlYXRlLXphYWstY29uZmlndXJhdGlvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92YWx0aW1vL3BsdWdpbi9zcmMvbGliL3BsdWdpbnMvemFrZW4tYXBpL2NvbXBvbmVudHMvY3JlYXRlLXphYWsvY3JlYXRlLXphYWstY29uZmlndXJhdGlvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7R0FjRztBQUVILE9BQU8sRUFBQyxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBcUIsTUFBTSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRXhGLE9BQU8sRUFDTCxlQUFlLEVBQ2YsYUFBYSxFQUNiLE1BQU0sRUFDTixHQUFHLEVBR0gsU0FBUyxFQUNULElBQUksRUFDSixHQUFHLEdBQ0osTUFBTSxNQUFNLENBQUM7QUFLZCxPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSxtQkFBbUIsQ0FBQztBQUN0RCxPQUFPLEVBQUMsS0FBSyxFQUFFLFVBQVUsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUVoRCxPQUFPLEVBQUMsc0JBQXNCLEVBQWtCLE1BQU0scUNBQXFDLENBQUM7Ozs7Ozs7OztBQVE1RixNQUFNLE9BQU8sZ0NBQWdDO0lBSzNDLElBQWEsUUFBUSxDQUFDLEtBQWE7UUFDakMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDN0IsQ0FBQztJQThFRCxZQUNtQixlQUFnQyxFQUNoQyxlQUFnQyxFQUNoQyxZQUEwQixFQUMxQixt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Qyw4cU9BMkxBOzs0RkQvSWEsZ0NBQWdDO2tCQU41QyxTQUFTOytCQUNFLG1DQUFtQyxhQUdsQyxDQUFDLG1CQUFtQixDQUFDO3lNQUt2QixLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDTyxRQUFRO3NCQUFwQixLQUFLO2dCQUdHLHFCQUFxQjtzQkFBN0IsS0FBSztnQkFDSSxLQUFLO3NCQUFkLE1BQU07Z0JBQ0csYUFBYTtzQkFBdEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgMjAxNS0yMDI0IFJpdGVuc2UgQlYsIHRoZSBOZXRoZXJsYW5kcy5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciBFVVBMLCBWZXJzaW9uIDEuMiAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqIGh0dHBzOi8vam9pbnVwLmVjLmV1cm9wYS5ldS9jb2xsZWN0aW9uL2V1cGwvZXVwbC10ZXh0LWV1cGwtMTJcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgYmFzaXMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmltcG9ydCB7Q29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCwgT3V0cHV0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7RnVuY3Rpb25Db25maWd1cmF0aW9uQ29tcG9uZW50fSBmcm9tICcuLi8uLi8uLi8uLi9tb2RlbHMnO1xuaW1wb3J0IHtcbiAgQmVoYXZpb3JTdWJqZWN0LFxuICBjb21iaW5lTGF0ZXN0LFxuICBmaWx0ZXIsXG4gIG1hcCxcbiAgT2JzZXJ2YWJsZSxcbiAgU3Vic2NyaXB0aW9uLFxuICBzd2l0Y2hNYXAsXG4gIHRha2UsXG4gIHRhcCxcbn0gZnJvbSAncnhqcyc7XG5pbXBvcnQge0NyZWF0ZVphYWtDb25maWcsIElucHV0T3B0aW9ufSBmcm9tICcuLi8uLi9tb2RlbHMnO1xuaW1wb3J0IHtPcGVuWmFha1NlcnZpY2UsIFphYWtUeXBlLCBaYWFrVHlwZUxpbmt9IGZyb20gJ0B2YWx0aW1vL3Jlc291cmNlJztcbmltcG9ydCB7RG9jdW1lbnRTZXJ2aWNlfSBmcm9tICdAdmFsdGltby9kb2N1bWVudCc7XG5pbXBvcnQge01vZGFsU2VydmljZSwgUmFkaW9WYWx1ZSwgU2VsZWN0SXRlbX0gZnJvbSAnQHZhbHRpbW8vY29tcG9uZW50cyc7XG5pbXBvcnQge1BsdWdpblRyYW5zbGF0ZVBpcGV9IGZyb20gJy4uLy4uLy4uLy4uL3BpcGVzJztcbmltcG9ydCB7QWRkMTYsIFRyYXNoQ2FuMTZ9IGZyb20gJ0BjYXJib24vaWNvbnMnO1xuaW1wb3J0IHtJY29uU2VydmljZX0gZnJvbSAnY2FyYm9uLWNvbXBvbmVudHMtYW5ndWxhcic7XG5pbXBvcnQge0V4dHJhUHJvcGVydGllc09wdGlvbnMsIEV4dHJhUHJvcGVydGllc30gZnJvbSAnLi4vLi4vbW9kZWxzL2NyZWF0ZS16YWFrLXByb3BlcnRpZXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2YWx0aW1vLWNyZWF0ZS16YWFrLWNvbmZpZ3VyYXRpb24nLFxuICB0ZW1wbGF0ZVVybDogJy4vY3JlYXRlLXphYWstY29uZmlndXJhdGlvbi5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2NyZWF0ZS16YWFrLWNvbmZpZ3VyYXRpb24uY29tcG9uZW50LnNjc3MnXSxcbiAgcHJvdmlkZXJzOiBbUGx1Z2luVHJhbnNsYXRlUGlwZV0sXG59KVxuZXhwb3J0IGNsYXNzIENyZWF0ZVphYWtDb25maWd1cmF0aW9uQ29tcG9uZW50XG4gIGltcGxlbWVudHMgRnVuY3Rpb25Db25maWd1cmF0aW9uQ29tcG9uZW50LCBPbkluaXQsIE9uRGVzdHJveVxue1xuICBASW5wdXQoKSBzYXZlJDogT2JzZXJ2YWJsZTx2b2lkPjtcbiAgQElucHV0KCkgZGlzYWJsZWQkOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xuICBASW5wdXQoKSBzZXQgcGx1Z2luSWQodmFsdWU6IHN0cmluZykge1xuICAgIHRoaXMucGx1Z2luSWQkLm5leHQodmFsdWUpO1xuICB9XG4gIEBJbnB1dCgpIHByZWZpbGxDb25maWd1cmF0aW9uJDogT2JzZXJ2YWJsZTxDcmVhdGVaYWFrQ29uZmlnPjtcbiAgQE91dHB1dCgpIHZhbGlkOiBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4gPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG4gIEBPdXRwdXQoKSBjb25maWd1cmF0aW9uOiBFdmVudEVtaXR0ZXI8Q3JlYXRlWmFha0NvbmZpZz4gPSBuZXcgRXZlbnRFbWl0dGVyPENyZWF0ZVphYWtDb25maWc+KCk7XG5cbiAgcHVibGljIHJlYWRvbmx5IHByb3BlcnR5TGlzdDogQXJyYXk8RXh0cmFQcm9wZXJ0aWVzPiA9IFtdO1xuXG4gIHJlYWRvbmx5IHBsdWdpbklkJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8c3RyaW5nPignJyk7XG4gIHJlYWRvbmx5IHNlbGVjdGVkSW5wdXRPcHRpb24kID0gbmV3IEJlaGF2aW9yU3ViamVjdDxJbnB1dE9wdGlvbj4oJ3NlbGVjdGlvbicpO1xuXG4gIHJlYWRvbmx5IGlucHV0VHlwZU9wdGlvbnMkOiBPYnNlcnZhYmxlPEFycmF5PFJhZGlvVmFsdWU+PiA9IHRoaXMucGx1Z2luSWQkLnBpcGUoXG4gICAgZmlsdGVyKHBsdWdpbklkID0+ICEhcGx1Z2luSWQpLFxuICAgIHN3aXRjaE1hcChwbHVnaW5JZCA9PlxuICAgICAgY29tYmluZUxhdGVzdChbXG4gICAgICAgIHRoaXMucGx1Z2luVHJhbnNsYXRlUGlwZS50cmFuc2Zvcm0oJ3NlbGVjdGlvbicsIHBsdWdpbklkKSxcbiAgICAgICAgdGhpcy5wbHVnaW5UcmFuc2xhdGVQaXBlLnRyYW5zZm9ybSgndGV4dCcsIHBsdWdpbklkKSxcbiAgICAgIF0pXG4gICAgKSxcbiAgICBtYXAoKFtzZWxlY3Rpb25UcmFuc2xhdGlvbiwgdGV4dFRyYW5zbGF0aW9uXSkgPT4gW1xuICAgICAge3ZhbHVlOiAnc2VsZWN0aW9uJywgdGl0bGU6IHNlbGVjdGlvblRyYW5zbGF0aW9ufSxcbiAgICAgIHt2YWx1ZTogJ3RleHQnLCB0aXRsZTogdGV4dFRyYW5zbGF0aW9ufSxcbiAgICBdKVxuICApO1xuXG4gIHByaXZhdGUgc2F2ZVN1YnNjcmlwdGlvbiE6IFN1YnNjcmlwdGlvbjtcblxuICBwcml2YXRlIHJlYWRvbmx5IGZvcm1WYWx1ZSQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PENyZWF0ZVphYWtDb25maWcgfCBudWxsPihudWxsKTtcbiAgcHJpdmF0ZSByZWFkb25seSB2YWxpZCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KGZhbHNlKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfcHJvcGVydGllcyA9IG5ldyBNYXA8RXh0cmFQcm9wZXJ0aWVzLCBzdHJpbmc+KCk7XG5cbiAgcmVhZG9ubHkgbG9hZGluZyQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KHRydWUpO1xuXG4gIHJlYWRvbmx5IHphYWtUeXBlSXRlbXMkOiBPYnNlcnZhYmxlPEFycmF5PFNlbGVjdEl0ZW0+PiA9IHRoaXMubW9kYWxTZXJ2aWNlLm1vZGFsRGF0YSQucGlwZShcbiAgICBzd2l0Y2hNYXAocGFyYW1zID0+XG4gICAgICB0aGlzLmRvY3VtZW50U2VydmljZS5maW5kUHJvY2Vzc0RvY3VtZW50RGVmaW5pdGlvbnNCeVByb2Nlc3NEZWZpbml0aW9uS2V5KFxuICAgICAgICBwYXJhbXM/LnByb2Nlc3NEZWZpbml0aW9uS2V5XG4gICAgICApXG4gICAgKSxcbiAgICBzd2l0Y2hNYXAocHJvY2Vzc0RvY3VtZW50RGVmaW5pdGlvbnMgPT5cbiAgICAgIGNvbWJpbmVMYXRlc3QoW1xuICAgICAgICB0aGlzLm9wZW5aYWFrU2VydmljZS5nZXRaYWFrVHlwZXMoKSxcbiAgICAgICAgLi4ucHJvY2Vzc0RvY3VtZW50RGVmaW5pdGlvbnMubWFwKHByb2Nlc3NEb2N1bWVudERlZmluaXRpb24gPT5cbiAgICAgICAgICB0aGlzLm9wZW5aYWFrU2VydmljZS5nZXRaYWFrVHlwZUxpbmsoXG4gICAgICAgICAgICBwcm9jZXNzRG9jdW1lbnREZWZpbml0aW9uLmlkLmRvY3VtZW50RGVmaW5pdGlvbklkLm5hbWVcbiAgICAgICAgICApXG4gICAgICAgICksXG4gICAgICBdKVxuICAgICksXG4gICAgbWFwKHJlc3VsdHMgPT4ge1xuICAgICAgY29uc3QgemFha1R5cGVzID0gcmVzdWx0c1swXSBhcyBBcnJheTxaYWFrVHlwZT47XG4gICAgICBjb25zdCB6YWFrVHlwZUxpbmtzID0gcmVzdWx0cy5maWx0ZXIoKHJlc3VsdCwgaW5kZXgpID0+IGluZGV4ICE9PSAwKSBhcyBBcnJheTxaYWFrVHlwZUxpbms+O1xuXG4gICAgICByZXR1cm4gemFha1R5cGVMaW5rc1xuICAgICAgICAuZmlsdGVyKHphYWtUeXBlTGluayA9PiAhIXphYWtUeXBlTGluaz8uemFha1R5cGVVcmwpXG4gICAgICAgIC5tYXAoemFha1R5cGVMaW5rID0+ICh7XG4gICAgICAgICAgaWQ6IHphYWtUeXBlTGluay56YWFrVHlwZVVybCxcbiAgICAgICAgICB0ZXh0OlxuICAgICAgICAgICAgemFha1R5cGVzLmZpbmQoemFha1R5cGUgPT4gemFha1R5cGUudXJsID09PSB6YWFrVHlwZUxpbmsuemFha1R5cGVVcmwpPy5vbXNjaHJpanZpbmcgfHxcbiAgICAgICAgICAgIHphYWtUeXBlTGluay56YWFrVHlwZVVybCxcbiAgICAgICAgfSkpO1xuICAgIH0pLFxuICAgIHRhcCh6YWFrVHlwZVNlbGVjdEl0ZW1zID0+IHtcbiAgICAgIHRoaXMucHJlZmlsbENvbmZpZ3VyYXRpb24kLnBpcGUodGFrZSgxKSkuc3Vic2NyaWJlKHByZWZpbGxDb25maWcgPT4ge1xuICAgICAgICBjb25zdCB6YWFrVHlwZVVybCA9IHByZWZpbGxDb25maWc/LnphYWt0eXBlVXJsO1xuXG4gICAgICAgIGlmIChcbiAgICAgICAgICB6YWFrVHlwZVVybCAmJlxuICAgICAgICAgICEoKHphYWtUeXBlU2VsZWN0SXRlbXMgYXMgQXJyYXk8U2VsZWN0SXRlbT4pIHx8IFtdKS5maW5kKGl0ZW0gPT4gaXRlbS5pZCA9PT0gemFha1R5cGVVcmwpXG4gICAgICAgICkge1xuICAgICAgICAgIHRoaXMuc2VsZWN0ZWRJbnB1dE9wdGlvbiQubmV4dCgndGV4dCcpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9KSxcbiAgICB0YXAoKCkgPT4ge1xuICAgICAgdGhpcy5sb2FkaW5nJC5uZXh0KGZhbHNlKTtcbiAgICB9KVxuICApO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgb3BlblphYWtTZXJ2aWNlOiBPcGVuWmFha1NlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBkb2N1bWVudFNlcnZpY2U6IERvY3VtZW50U2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IG1vZGFsU2VydmljZTogTW9kYWxTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgcGx1Z2luVHJhbnNsYXRlUGlwZTogUGx1Z2luVHJhbnNsYXRlUGlwZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGljb25TZXJ2aWNlOiBJY29uU2VydmljZVxuICApIHtcbiAgICB0aGlzLmljb25TZXJ2aWNlLnJlZ2lzdGVyQWxsKFtBZGQxNiwgVHJhc2hDYW4xNl0pO1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5vcGVuU2F2ZVN1YnNjcmlwdGlvbigpO1xuXG4gICAgdGhpcy5wcmVmaWxsQ29uZmlndXJhdGlvbiQucGlwZSh0YWtlKDEpKS5zdWJzY3JpYmUocHJlZmlsbCA9PiB7XG4gICAgICBFeHRyYVByb3BlcnRpZXNPcHRpb25zLmZpbHRlcihwcm9wZXJ0eSA9PiAhIXByZWZpbGxbcHJvcGVydHldKS5mb3JFYWNoKHByb3BlcnR5ID0+XG4gICAgICAgIHRoaXMuYWRkQ2FzZVByb3BlcnR5KHByb3BlcnR5KVxuICAgICAgKTtcbiAgICB9KTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMuc2F2ZVN1YnNjcmlwdGlvbj8udW5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIGZvcm1WYWx1ZUNoYW5nZShmb3JtVmFsdWU6IENyZWF0ZVphYWtDb25maWcpOiB2b2lkIHtcbiAgICB0aGlzLl9wcm9wZXJ0aWVzLmZvckVhY2goKHZhbHVlLCBrZXkpID0+IChmb3JtVmFsdWVba2V5XSA9IHZhbHVlKSk7XG5cbiAgICBjb25zdCBpbnB1dFR5cGVaYWFrVHlwZVRvZ2dsZSA9IGZvcm1WYWx1ZS5pbnB1dFR5cGVaYWFrVHlwZVRvZ2dsZTtcbiAgICB0aGlzLmZvcm1WYWx1ZSQubmV4dChmb3JtVmFsdWUpO1xuICAgIHRoaXMuaGFuZGxlVmFsaWQoZm9ybVZhbHVlKTtcblxuICAgIGlmIChpbnB1dFR5cGVaYWFrVHlwZVRvZ2dsZSkge1xuICAgICAgdGhpcy5zZWxlY3RlZElucHV0T3B0aW9uJC5uZXh0KGlucHV0VHlwZVphYWtUeXBlVG9nZ2xlKTtcbiAgICB9XG4gIH1cblxuICBvbmVTZWxlY3RJdGVtKHNlbGVjdEl0ZW1zOiBBcnJheTxTZWxlY3RJdGVtPik6IGJvb2xlYW4ge1xuICAgIGlmIChBcnJheS5pc0FycmF5KHNlbGVjdEl0ZW1zKSkge1xuICAgICAgcmV0dXJuIHNlbGVjdEl0ZW1zLmxlbmd0aCA9PT0gMTtcbiAgICB9XG5cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBzZWxlY3RJdGVtc0luY2x1ZGVJZChzZWxlY3RJdGVtczogQXJyYXk8U2VsZWN0SXRlbT4sIGlkOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICBpZiAoQXJyYXkuaXNBcnJheShzZWxlY3RJdGVtcykpIHtcbiAgICAgIHJldHVybiAhIXNlbGVjdEl0ZW1zLmZpbmQoaXRlbSA9PiBpdGVtLmlkID09PSBpZCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgcHJpdmF0ZSBoYW5kbGVWYWxpZChmb3JtVmFsdWU6IENyZWF0ZVphYWtDb25maWcpOiB2b2lkIHtcbiAgICBjb25zdCBpc1Byb3BlcnR5SW52YWxpZCA9IHRoaXMucHJvcGVydHlMaXN0LnNvbWUocHJvcGVydHkgPT4gISEhZm9ybVZhbHVlW3Byb3BlcnR5XSk7XG4gICAgY29uc3QgdmFsaWQgPSAhIShmb3JtVmFsdWUucnNpbiAmJiBmb3JtVmFsdWUuemFha3R5cGVVcmwpICYmICFpc1Byb3BlcnR5SW52YWxpZDtcblxuICAgIHRoaXMudmFsaWQkLm5leHQodmFsaWQpO1xuICAgIHRoaXMudmFsaWQuZW1pdCh2YWxpZCk7XG4gIH1cblxuICBwcml2YXRlIG9wZW5TYXZlU3Vic2NyaXB0aW9uKCk6IHZvaWQge1xuICAgIHRoaXMuc2F2ZVN1YnNjcmlwdGlvbiA9IHRoaXMuc2F2ZSQ/LnN1YnNjcmliZShzYXZlID0+IHtcbiAgICAgIGNvbWJpbmVMYXRlc3QoW3RoaXMuZm9ybVZhbHVlJCwgdGhpcy52YWxpZCRdKVxuICAgICAgICAucGlwZSh0YWtlKDEpKVxuICAgICAgICAuc3Vic2NyaWJlKChbZm9ybVZhbHVlLCB2YWxpZF0pID0+IHtcbiAgICAgICAgICBpZiAodmFsaWQpIHtcbiAgICAgICAgICAgIGNvbnN0IHBheWxvYWQ6IENyZWF0ZVphYWtDb25maWcgPSB7XG4gICAgICAgICAgICAgIHJzaW46IGZvcm1WYWx1ZS5yc2luLFxuICAgICAgICAgICAgICB6YWFrdHlwZVVybDogZm9ybVZhbHVlLnphYWt0eXBlVXJsLFxuICAgICAgICAgICAgICBtYW51YWxaYWFrVHlwZVVybDogZm9ybVZhbHVlLm1hbnVhbFphYWtUeXBlVXJsLFxuICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIHRoaXMucHJvcGVydHlMaXN0LmZvckVhY2gocHJvcGVydHkgPT4gKHBheWxvYWRbcHJvcGVydHldID0gZm9ybVZhbHVlW3Byb3BlcnR5XSkpO1xuICAgICAgICAgICAgdGhpcy5jb25maWd1cmF0aW9uLmVtaXQocGF5bG9hZCk7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBhZGRDYXNlUHJvcGVydHkocHJvcGVydHk6IEV4dHJhUHJvcGVydGllcyk6IHZvaWQge1xuICAgIHRoaXMucHJvcGVydHlMaXN0LnB1c2gocHJvcGVydHkpO1xuICB9XG5cbiAgcHVibGljIHJlbW92ZUNhc2VQcm9wZXJ0eShwcm9wZXJ0eTogRXh0cmFQcm9wZXJ0aWVzKTogdm9pZCB7XG4gICAgdGhpcy5wcm9wZXJ0eUxpc3Quc3BsaWNlKHRoaXMucHJvcGVydHlMaXN0LmluZGV4T2YocHJvcGVydHkpLCAxKTtcbiAgICB0aGlzLl9wcm9wZXJ0aWVzLmRlbGV0ZShwcm9wZXJ0eSk7XG4gICAgdGhpcy5vblByb3BlcnR5Q2hhbmdlZChwcm9wZXJ0eSwgdW5kZWZpbmVkKTtcbiAgfVxuXG4gIHB1YmxpYyBoYXNQcm9wZXJ0eUJlZW5BZGRlZChwcm9wZXJ0eTogRXh0cmFQcm9wZXJ0aWVzKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMucHJvcGVydHlMaXN0LmluZGV4T2YocHJvcGVydHkpICE9PSAtMTtcbiAgfVxuXG4gIHB1YmxpYyBvblByb3BlcnR5Q2hhbmdlZChwcm9wZXJ0eTogRXh0cmFQcm9wZXJ0aWVzLCB2YWx1ZTogYW55KTogdm9pZCB7XG4gICAgdGhpcy5fcHJvcGVydGllcy5zZXQocHJvcGVydHksIHZhbHVlKTtcbiAgICB0aGlzLmZvcm1WYWx1ZSRcbiAgICAgIC5waXBlKFxuICAgICAgICBmaWx0ZXIoZm9ybVZhbHVlID0+IGZvcm1WYWx1ZSAhPT0gbnVsbCksXG4gICAgICAgIHRha2UoMSlcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoZm9ybVZhbHVlID0+IHtcbiAgICAgICAgdGhpcy5mb3JtVmFsdWVDaGFuZ2UoZm9ybVZhbHVlKTtcbiAgICAgIH0pO1xuICB9XG59XG4iLCI8IS0tXG4gIH4gQ29weXJpZ2h0IDIwMTUtMjAyNCBSaXRlbnNlIEJWLCB0aGUgTmV0aGVybGFuZHMuXG4gIH5cbiAgfiBMaWNlbnNlZCB1bmRlciBFVVBMLCBWZXJzaW9uIDEuMiAodGhlIFwiTGljZW5zZVwiKTtcbiAgfiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gIH4gWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gIH5cbiAgfiBodHRwczovL2pvaW51cC5lYy5ldXJvcGEuZXUvY29sbGVjdGlvbi9ldXBsL2V1cGwtdGV4dC1ldXBsLTEyXG4gIH5cbiAgfiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gIH4gZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIGJhc2lzLFxuICB+IFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICB+IFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAgfiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAgLS0+XG5cbjxuZy1jb250YWluZXJcbiAgKm5nSWY9XCJ7XG4gICAgZGlzYWJsZWQ6IGRpc2FibGVkJCB8IGFzeW5jLFxuICAgIHByZWZpbGw6IHByZWZpbGxDb25maWd1cmF0aW9uJCA/IChwcmVmaWxsQ29uZmlndXJhdGlvbiQgfCBhc3luYykgOiBudWxsLFxuICAgIHBsdWdpbklkOiBwbHVnaW5JZCQgfCBhc3luYyxcbiAgICBzZWxlY3RlZElucHV0T3B0aW9uOiBzZWxlY3RlZElucHV0T3B0aW9uJCB8IGFzeW5jLFxuICAgIHphYWtUeXBlU2VsZWN0SXRlbXM6IHphYWtUeXBlSXRlbXMkIHwgYXN5bmMsXG4gICAgbG9hZGluZzogbG9hZGluZyQgfCBhc3luYyxcbiAgfSBhcyBvYnNcIlxuPlxuICA8bmctY29udGFpbmVyICpuZ0lmPVwib2JzLmxvYWRpbmcgPT09IGZhbHNlOyBlbHNlIGxvYWRpbmdcIj5cbiAgICA8di1wYXJhZ3JhcGggW21hcmdpbl09XCJ0cnVlXCIgW2l0YWxpY109XCJ0cnVlXCI+XG4gICAgICB7eyAnY3JlYXRlWmFha0luZm9ybWF0aW9uJyB8IHBsdWdpblRyYW5zbGF0ZTogb2JzLnBsdWdpbklkIHwgYXN5bmMgfX1cbiAgICA8L3YtcGFyYWdyYXBoPlxuICAgIDx2LWZvcm0gKHZhbHVlQ2hhbmdlKT1cImZvcm1WYWx1ZUNoYW5nZSgkZXZlbnQpXCI+XG4gICAgICA8di1pbnB1dFxuICAgICAgICBuYW1lPVwicnNpblwiXG4gICAgICAgIFt0aXRsZV09XCIncnNpbicgfCBwbHVnaW5UcmFuc2xhdGU6IG9icy5wbHVnaW5JZCB8IGFzeW5jXCJcbiAgICAgICAgW21hcmdpbl09XCJ0cnVlXCJcbiAgICAgICAgW2RlZmF1bHRWYWx1ZV09XCJvYnMucHJlZmlsbD8ucnNpblwiXG4gICAgICAgIFtkaXNhYmxlZF09XCJvYnMuZGlzYWJsZWRcIlxuICAgICAgICBbcmVxdWlyZWRdPVwidHJ1ZVwiXG4gICAgICAgIFt0cmltXT1cInRydWVcIlxuICAgICAgICBbdG9vbHRpcF09XCIncnNpblRvb2x0aXAnIHwgcGx1Z2luVHJhbnNsYXRlOiBvYnMucGx1Z2luSWQgfCBhc3luY1wiXG4gICAgICAgIFt3aWR0aFB4XT1cIjM1MFwiXG4gICAgICA+XG4gICAgICA8L3YtaW5wdXQ+XG4gICAgICA8di1yYWRpb1xuICAgICAgICBuYW1lPVwiaW5wdXRUeXBlWmFha1R5cGVUb2dnbGVcIlxuICAgICAgICBbZGlzYWJsZWRdPVwib2JzLmRpc2FibGVkXCJcbiAgICAgICAgW3RpdGxlXT1cIidpbnB1dFR5cGVaYWFrVHlwZVRvZ2dsZScgfCBwbHVnaW5UcmFuc2xhdGU6IG9icy5wbHVnaW5JZCB8IGFzeW5jXCJcbiAgICAgICAgW3JhZGlvVmFsdWVzXT1cImlucHV0VHlwZU9wdGlvbnMkIHwgYXN5bmNcIlxuICAgICAgICBbZGVmYXVsdFZhbHVlXT1cInNlbGVjdGVkSW5wdXRPcHRpb24kIHwgYXN5bmNcIlxuICAgICAgICBbbWFyZ2luXT1cInRydWVcIlxuICAgICAgPlxuICAgICAgPC92LXJhZGlvPlxuICAgICAgPHYtaW5wdXRcbiAgICAgICAgKm5nSWY9XCJvYnMuc2VsZWN0ZWRJbnB1dE9wdGlvbiA9PT0gJ3RleHQnXCJcbiAgICAgICAgbmFtZT1cInphYWt0eXBlVXJsXCJcbiAgICAgICAgW3RpdGxlXT1cIid6YWFrVHlwZVVybCcgfCBwbHVnaW5UcmFuc2xhdGU6IG9icy5wbHVnaW5JZCB8IGFzeW5jXCJcbiAgICAgICAgW21hcmdpbl09XCJ0cnVlXCJcbiAgICAgICAgW2RlZmF1bHRWYWx1ZV09XCJvYnMucHJlZmlsbD8uemFha3R5cGVVcmxcIlxuICAgICAgICBbZGlzYWJsZWRdPVwib2JzLmRpc2FibGVkIHx8IG9icy5zZWxlY3RlZElucHV0T3B0aW9uID09PSAnc2VsZWN0aW9uJ1wiXG4gICAgICAgIFtyZXF1aXJlZF09XCJ0cnVlXCJcbiAgICAgICAgW3RyaW1dPVwidHJ1ZVwiXG4gICAgICAgIFt0b29sdGlwXT1cIid6YWFrVHlwZVRvb2x0aXAnIHwgcGx1Z2luVHJhbnNsYXRlOiBvYnMucGx1Z2luSWQgfCBhc3luY1wiXG4gICAgICAgIFtmdWxsV2lkdGhdPVwidHJ1ZVwiXG4gICAgICA+XG4gICAgICA8L3YtaW5wdXQ+XG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwib2JzLnNlbGVjdGVkSW5wdXRPcHRpb24gPT09ICdzZWxlY3Rpb24nXCI+XG4gICAgICAgIDx2LXNlbGVjdFxuICAgICAgICAgIFtpdGVtc109XCJvYnMuemFha1R5cGVTZWxlY3RJdGVtc1wiXG4gICAgICAgICAgW21hcmdpbl09XCJ0cnVlXCJcbiAgICAgICAgICBbd2lkdGhJblB4XT1cIjM1MFwiXG4gICAgICAgICAgbmFtZT1cInphYWt0eXBlVXJsXCJcbiAgICAgICAgICBbdGl0bGVdPVwiJ3phYWtUeXBlJyB8IHBsdWdpblRyYW5zbGF0ZTogb2JzLnBsdWdpbklkIHwgYXN5bmNcIlxuICAgICAgICAgIFtkaXNhYmxlZF09XCJcbiAgICAgICAgICAgIG9icy5kaXNhYmxlZCB8fFxuICAgICAgICAgICAgb2JzLnNlbGVjdGVkSW5wdXRPcHRpb24gPT09ICd0ZXh0JyB8fFxuICAgICAgICAgICAgb25lU2VsZWN0SXRlbShvYnMuemFha1R5cGVTZWxlY3RJdGVtcylcbiAgICAgICAgICBcIlxuICAgICAgICAgIFtkZWZhdWx0U2VsZWN0aW9uSWRdPVwiXG4gICAgICAgICAgICAoc2VsZWN0SXRlbXNJbmNsdWRlSWQob2JzLnphYWtUeXBlU2VsZWN0SXRlbXMsIG9icy5wcmVmaWxsPy56YWFrdHlwZVVybCkgJiZcbiAgICAgICAgICAgICAgb2JzLnByZWZpbGw/LnphYWt0eXBlVXJsKSB8fFxuICAgICAgICAgICAgKG9uZVNlbGVjdEl0ZW0ob2JzLnphYWtUeXBlU2VsZWN0SXRlbXMpICYmIG9icy56YWFrVHlwZVNlbGVjdEl0ZW1zWzBdLmlkKVxuICAgICAgICAgIFwiXG4gICAgICAgICAgW3JlcXVpcmVkXT1cInRydWVcIlxuICAgICAgICAgIFtsb2FkaW5nXT1cIiFvYnMuemFha1R5cGVTZWxlY3RJdGVtc1wiXG4gICAgICAgICAgW3Rvb2x0aXBdPVwiJ3phYWtUeXBlU2VsZWN0VG9vbHRpcCcgfCBwbHVnaW5UcmFuc2xhdGU6IG9icy5wbHVnaW5JZCB8IGFzeW5jXCJcbiAgICAgICAgPjwvdi1zZWxlY3Q+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgQGZvciAocHJvcGVydHkgb2YgcHJvcGVydHlMaXN0OyB0cmFjayBwcm9wZXJ0eSkge1xuICAgICAgICBAaWYgKHByb3BlcnR5ID09PSAnZGVzY3JpcHRpb24nKSB7XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInByb3BlcnR5LWlucHV0XCI+XG4gICAgICAgICAgICA8di1pbnB1dFxuICAgICAgICAgICAgICBuYW1lPVwiZGVzY3JpcHRpb25cIlxuICAgICAgICAgICAgICBbdGl0bGVdPVwiJ2Jlc2NocmlqdmluZycgfCBwbHVnaW5UcmFuc2xhdGU6IG9icy5wbHVnaW5JZCB8IGFzeW5jXCJcbiAgICAgICAgICAgICAgW21hcmdpbl09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgW2RlZmF1bHRWYWx1ZV09XCJvYnMucHJlZmlsbD8uZGVzY3JpcHRpb25cIlxuICAgICAgICAgICAgICBbcmVxdWlyZWRdPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICh2YWx1ZUNoYW5nZSk9XCJvblByb3BlcnR5Q2hhbmdlZCgnZGVzY3JpcHRpb24nLCAkZXZlbnQpXCJcbiAgICAgICAgICAgIC8+XG5cbiAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJidG4gYnRuLXNwYWNlIGRlbGV0ZS1idXR0b25cIiAoY2xpY2spPVwicmVtb3ZlQ2FzZVByb3BlcnR5KCdkZXNjcmlwdGlvbicpXCI+XG4gICAgICAgICAgICAgIDxzdmcgY2xhc3M9XCJjZHMtLWJ0bl9faWNvblwiIGNkc0ljb249XCJ0cmFzaC1jYW5cIiBzaXplPVwiMTZcIj48L3N2Zz5cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICB9IEBlbHNlIGlmIChwcm9wZXJ0eSA9PT0gJ3BsYW5uZWRFbmREYXRlJykge1xuICAgICAgICAgIDxkaXYgY2xhc3M9XCJwcm9wZXJ0eS1pbnB1dFwiPlxuICAgICAgICAgICAgPHYtaW5wdXRcbiAgICAgICAgICAgICAgbmFtZT1cInBsYW5uZWRFbmREYXRlXCJcbiAgICAgICAgICAgICAgW3RpdGxlXT1cIidwbGFubmVkRW5kRGF0ZScgfCBwbHVnaW5UcmFuc2xhdGU6IG9icy5wbHVnaW5JZCB8IGFzeW5jXCJcbiAgICAgICAgICAgICAgW21hcmdpbl09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgW2RlZmF1bHRWYWx1ZV09XCJvYnMucHJlZmlsbD8ucGxhbm5lZEVuZERhdGVcIlxuICAgICAgICAgICAgICBbcmVxdWlyZWRdPVwidHJ1ZVwiXG4gICAgICAgICAgICAgIFt0cmltXT1cInRydWVcIlxuICAgICAgICAgICAgICBbdG9vbHRpcF09XCInZGF0ZWZvcm1hdFRvb2x0aXAnIHwgcGx1Z2luVHJhbnNsYXRlOiBvYnMucGx1Z2luSWQgfCBhc3luY1wiXG4gICAgICAgICAgICAgICh2YWx1ZUNoYW5nZSk9XCJvblByb3BlcnR5Q2hhbmdlZCgncGxhbm5lZEVuZERhdGUnLCAkZXZlbnQpXCJcbiAgICAgICAgICAgID48L3YtaW5wdXQ+XG5cbiAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgY2xhc3M9XCJidG4gYnRuLXNwYWNlIGRlbGV0ZS1idXR0b25cIlxuICAgICAgICAgICAgICAoY2xpY2spPVwicmVtb3ZlQ2FzZVByb3BlcnR5KCdwbGFubmVkRW5kRGF0ZScpXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPHN2ZyBjbGFzcz1cImNkcy0tYnRuX19pY29uXCIgY2RzSWNvbj1cInRyYXNoLWNhblwiIHNpemU9XCIxNlwiPjwvc3ZnPlxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIH0gQGVsc2UgaWYgKHByb3BlcnR5ID09PSAnZmluYWxEZWxpdmVyeURhdGUnKSB7XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInByb3BlcnR5LWlucHV0XCI+XG4gICAgICAgICAgICA8di1pbnB1dFxuICAgICAgICAgICAgICBuYW1lPVwiZmluYWxEZWxpdmVyeURhdGVcIlxuICAgICAgICAgICAgICBbdGl0bGVdPVwiJ2ZpbmFsRGVsaXZlcnlEYXRlJyB8IHBsdWdpblRyYW5zbGF0ZTogb2JzLnBsdWdpbklkIHwgYXN5bmNcIlxuICAgICAgICAgICAgICBbbWFyZ2luXT1cInRydWVcIlxuICAgICAgICAgICAgICBbZGVmYXVsdFZhbHVlXT1cIm9icy5wcmVmaWxsPy5maW5hbERlbGl2ZXJ5RGF0ZVwiXG4gICAgICAgICAgICAgIFtyZXF1aXJlZF09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgW3RyaW1dPVwidHJ1ZVwiXG4gICAgICAgICAgICAgIFt0b29sdGlwXT1cIidkYXRlZm9ybWF0VG9vbHRpcCcgfCBwbHVnaW5UcmFuc2xhdGU6IG9icy5wbHVnaW5JZCB8IGFzeW5jXCJcbiAgICAgICAgICAgICAgKHZhbHVlQ2hhbmdlKT1cIm9uUHJvcGVydHlDaGFuZ2VkKCdmaW5hbERlbGl2ZXJ5RGF0ZScsICRldmVudClcIlxuICAgICAgICAgICAgPjwvdi1pbnB1dD5cblxuICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICBjbGFzcz1cImJ0biBidG4tc3BhY2UgZGVsZXRlLWJ1dHRvblwiXG4gICAgICAgICAgICAgIChjbGljayk9XCJyZW1vdmVDYXNlUHJvcGVydHkoJ2ZpbmFsRGVsaXZlcnlEYXRlJylcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8c3ZnIGNsYXNzPVwiY2RzLS1idG5fX2ljb25cIiBjZHNJY29uPVwidHJhc2gtY2FuXCIgc2l6ZT1cIjE2XCI+PC9zdmc+XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICA8YnV0dG9uXG4gICAgICAgIGNkc0J1dHRvbj1cInByaW1hcnlcIlxuICAgICAgICBbc2l6ZV09XCInbWQnXCJcbiAgICAgICAgW2Nkc092ZXJmbG93TWVudV09XCJhZGRDYXNlUHJvcGVydHlMaXN0XCJcbiAgICAgICAgW2N1c3RvbVBhbmVdPVwidHJ1ZVwiXG4gICAgICAgIHBsYWNlbWVudD1cImJvdHRvbVwiXG4gICAgICA+XG4gICAgICAgIHt7ICdhZGRaYWFrUHJvcGVydHknIHwgcGx1Z2luVHJhbnNsYXRlOiBvYnMucGx1Z2luSWQgfCBhc3luYyB9fVxuICAgICAgICA8c3ZnIGNsYXNzPVwiY2RzLS1idG5fX2ljb25cIiBjZHNJY29uPVwiYWRkXCIgc2l6ZT1cIjE2XCI+PC9zdmc+XG4gICAgICA8L2J1dHRvbj5cbiAgICA8L3YtZm9ybT5cbiAgPC9uZy1jb250YWluZXI+XG48L25nLWNvbnRhaW5lcj5cblxuPG5nLXRlbXBsYXRlICNsb2FkaW5nPlxuICA8ZGl2IGNsYXNzPVwibG9hZGluZy1jb250YWluZXJcIj5cbiAgICA8Y2RzLWxvYWRpbmc+PC9jZHMtbG9hZGluZz5cbiAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI2FkZENhc2VQcm9wZXJ0eUxpc3Q+XG4gIDxjZHMtb3ZlcmZsb3ctbWVudS1vcHRpb25cbiAgICAoY2xpY2spPVwiYWRkQ2FzZVByb3BlcnR5KCdkZXNjcmlwdGlvbicpXCJcbiAgICAqbmdJZj1cIiFoYXNQcm9wZXJ0eUJlZW5BZGRlZCgnZGVzY3JpcHRpb24nKVwiXG4gID5cbiAgICB7eyAnYmVzY2hyaWp2aW5nJyB8IHBsdWdpblRyYW5zbGF0ZTogKHBsdWdpbklkJCB8IGFzeW5jKSB8IGFzeW5jIH19XG4gIDwvY2RzLW92ZXJmbG93LW1lbnUtb3B0aW9uPlxuICA8Y2RzLW92ZXJmbG93LW1lbnUtb3B0aW9uXG4gICAgKGNsaWNrKT1cImFkZENhc2VQcm9wZXJ0eSgncGxhbm5lZEVuZERhdGUnKVwiXG4gICAgKm5nSWY9XCIhaGFzUHJvcGVydHlCZWVuQWRkZWQoJ3BsYW5uZWRFbmREYXRlJylcIlxuICA+XG4gICAge3sgJ3BsYW5uZWRFbmREYXRlJyB8IHBsdWdpblRyYW5zbGF0ZTogKHBsdWdpbklkJCB8IGFzeW5jKSB8IGFzeW5jIH19XG4gIDwvY2RzLW92ZXJmbG93LW1lbnUtb3B0aW9uPlxuICA8Y2RzLW92ZXJmbG93LW1lbnUtb3B0aW9uXG4gICAgKGNsaWNrKT1cImFkZENhc2VQcm9wZXJ0eSgnZmluYWxEZWxpdmVyeURhdGUnKVwiXG4gICAgKm5nSWY9XCIhaGFzUHJvcGVydHlCZWVuQWRkZWQoJ2ZpbmFsRGVsaXZlcnlEYXRlJylcIlxuICA+XG4gICAge3sgJ2ZpbmFsRGVsaXZlcnlEYXRlJyB8IHBsdWdpblRyYW5zbGF0ZTogKHBsdWdpbklkJCB8IGFzeW5jKSB8IGFzeW5jIH19XG4gIDwvY2RzLW92ZXJmbG93LW1lbnUtb3B0aW9uPlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
|
|
@@ -1,160 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* Copyright 2015-2024 Ritense BV, the Netherlands.
|
|
3
|
-
*
|
|
4
|
-
* Licensed under EUPL, Version 1.2 (the "License");
|
|
5
|
-
* you may not use this file except in compliance with the License.
|
|
6
|
-
* You may obtain a copy of the License at
|
|
7
|
-
*
|
|
8
|
-
* https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
|
|
9
|
-
*
|
|
10
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
-
* distributed under the License is distributed on an "AS IS" basis,
|
|
12
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
-
* See the License for the specific language governing permissions and
|
|
14
|
-
* limitations under the License.
|
|
15
|
-
*/
|
|
16
|
-
import { Component, EventEmitter, Input, Output } from '@angular/core';
|
|
17
|
-
import { BehaviorSubject, combineLatest, filter, of, Subject, switchMap, take, tap, } from 'rxjs';
|
|
18
|
-
import { map } from 'rxjs/operators';
|
|
19
|
-
import { PluginTranslatePipe } from '../../../../pipes';
|
|
20
|
-
import * as i0 from "@angular/core";
|
|
21
|
-
import * as i1 from "@valtimo/components";
|
|
22
|
-
import * as i2 from "@valtimo/document";
|
|
23
|
-
import * as i3 from "../../services";
|
|
24
|
-
import * as i4 from "../../../../pipes";
|
|
25
|
-
import * as i5 from "@angular/common";
|
|
26
|
-
import * as i6 from "carbon-components-angular";
|
|
27
|
-
import * as i7 from "../../../../pipes/plugin-translate/plugin-translate.pipe";
|
|
28
|
-
export class CreateZaakResultaatConfigurationComponent {
|
|
29
|
-
set pluginId(value) {
|
|
30
|
-
this.pluginId$.next(value);
|
|
31
|
-
}
|
|
32
|
-
constructor(modalService, documentService, zakenApiService, pluginTranslatePipe) {
|
|
33
|
-
this.modalService = modalService;
|
|
34
|
-
this.documentService = documentService;
|
|
35
|
-
this.zakenApiService = zakenApiService;
|
|
36
|
-
this.pluginTranslatePipe = pluginTranslatePipe;
|
|
37
|
-
this.valid = new EventEmitter();
|
|
38
|
-
this.configuration = new EventEmitter();
|
|
39
|
-
this.caseDefinitionSelectItems$ = new BehaviorSubject(null);
|
|
40
|
-
this.selectedCaseDefinitionId$ = new BehaviorSubject('');
|
|
41
|
-
this.clearStatusSelection$ = new Subject();
|
|
42
|
-
this.loading$ = new BehaviorSubject(true);
|
|
43
|
-
this.resultaatTypeSelectItems$ = this.modalService.modalData$.pipe(switchMap(params => this.documentService.findProcessDocumentDefinitionsByProcessDefinitionKey(params?.processDefinitionKey)), tap(processDocumentDefinitions => {
|
|
44
|
-
const caseDefSelectItems = processDocumentDefinitions.map(processDocDef => ({
|
|
45
|
-
text: processDocDef.id.documentDefinitionId.name,
|
|
46
|
-
id: processDocDef.id.documentDefinitionId.name,
|
|
47
|
-
}));
|
|
48
|
-
this.caseDefinitionSelectItems$.next(caseDefSelectItems);
|
|
49
|
-
if (this.oneSelectItem(caseDefSelectItems)) {
|
|
50
|
-
this.selectedCaseDefinitionId$.next(caseDefSelectItems[0].id);
|
|
51
|
-
}
|
|
52
|
-
}), switchMap(processDocumentDefinitions => combineLatest([
|
|
53
|
-
of(processDocumentDefinitions.map(processDoc => processDoc.id.documentDefinitionId.name)),
|
|
54
|
-
...processDocumentDefinitions.map(processDocDef => this.zakenApiService.getResultaatTypesByCaseDefinition(processDocDef.id.documentDefinitionId.name)),
|
|
55
|
-
])), map(res => {
|
|
56
|
-
const caseDefinitionIds = res[0];
|
|
57
|
-
const resultaatTypes = res.filter((curr, index) => index !== 0);
|
|
58
|
-
const selectObject = {};
|
|
59
|
-
caseDefinitionIds.forEach((caseDefinitionId, index) => {
|
|
60
|
-
selectObject[caseDefinitionId] = resultaatTypes[index].map(statusType => ({
|
|
61
|
-
id: statusType.url,
|
|
62
|
-
text: statusType.name,
|
|
63
|
-
}));
|
|
64
|
-
});
|
|
65
|
-
return selectObject;
|
|
66
|
-
}), tap(selectObject => {
|
|
67
|
-
this.prefillConfiguration$.pipe(take(1)).subscribe(prefillConfig => {
|
|
68
|
-
const resultaatTypeUrl = prefillConfig?.resultaattypeUrl;
|
|
69
|
-
if (resultaatTypeUrl) {
|
|
70
|
-
let selectedCaseDefinitionId;
|
|
71
|
-
Object.keys(selectObject).forEach(caseDefinitionId => {
|
|
72
|
-
if (selectObject[caseDefinitionId].find(item => item.id === resultaatTypeUrl)) {
|
|
73
|
-
selectedCaseDefinitionId = caseDefinitionId;
|
|
74
|
-
}
|
|
75
|
-
if (selectedCaseDefinitionId) {
|
|
76
|
-
this.selectedCaseDefinitionId$.next(selectedCaseDefinitionId);
|
|
77
|
-
}
|
|
78
|
-
else {
|
|
79
|
-
this.selectedInputOption$.next('text');
|
|
80
|
-
}
|
|
81
|
-
});
|
|
82
|
-
}
|
|
83
|
-
});
|
|
84
|
-
}), tap(() => {
|
|
85
|
-
this.loading$.next(false);
|
|
86
|
-
}));
|
|
87
|
-
this.selectedInputOption$ = new BehaviorSubject('selection');
|
|
88
|
-
this.pluginId$ = new BehaviorSubject('');
|
|
89
|
-
this.inputTypeOptions$ = this.pluginId$.pipe(filter(pluginId => !!pluginId), switchMap(pluginId => combineLatest([
|
|
90
|
-
this.pluginTranslatePipe.transform('selection', pluginId),
|
|
91
|
-
this.pluginTranslatePipe.transform('text', pluginId),
|
|
92
|
-
])), map(([selectionTranslation, textTranslation]) => [
|
|
93
|
-
{ value: 'selection', title: selectionTranslation },
|
|
94
|
-
{ value: 'text', title: textTranslation },
|
|
95
|
-
]));
|
|
96
|
-
this.formValue$ = new BehaviorSubject(null);
|
|
97
|
-
this.valid$ = new BehaviorSubject(false);
|
|
98
|
-
}
|
|
99
|
-
ngOnInit() {
|
|
100
|
-
this.openSaveSubscription();
|
|
101
|
-
}
|
|
102
|
-
ngOnDestroy() {
|
|
103
|
-
this.saveSubscription?.unsubscribe();
|
|
104
|
-
}
|
|
105
|
-
formValueChange(formValue) {
|
|
106
|
-
this.formValue$.next(formValue);
|
|
107
|
-
this.handleValid(formValue);
|
|
108
|
-
if (formValue.inputTypeZaakResultaatToggle) {
|
|
109
|
-
this.selectedInputOption$.next(formValue.inputTypeZaakResultaatToggle);
|
|
110
|
-
}
|
|
111
|
-
}
|
|
112
|
-
selectCaseDefinition(caseDefinitionId) {
|
|
113
|
-
this.selectedCaseDefinitionId$.next(caseDefinitionId);
|
|
114
|
-
this.clearStatusSelection$.next();
|
|
115
|
-
}
|
|
116
|
-
oneSelectItem(selectItems) {
|
|
117
|
-
if (Array.isArray(selectItems)) {
|
|
118
|
-
return selectItems.length === 1;
|
|
119
|
-
}
|
|
120
|
-
return false;
|
|
121
|
-
}
|
|
122
|
-
handleValid(formValue) {
|
|
123
|
-
const valid = !!formValue.resultaattypeUrl;
|
|
124
|
-
this.valid$.next(valid);
|
|
125
|
-
this.valid.emit(valid);
|
|
126
|
-
}
|
|
127
|
-
openSaveSubscription() {
|
|
128
|
-
this.saveSubscription = this.save$?.subscribe(save => {
|
|
129
|
-
combineLatest([this.formValue$, this.valid$])
|
|
130
|
-
.pipe(take(1))
|
|
131
|
-
.subscribe(([formValue, valid]) => {
|
|
132
|
-
if (valid) {
|
|
133
|
-
this.configuration.emit({
|
|
134
|
-
toelichting: formValue.toelichting,
|
|
135
|
-
resultaattypeUrl: formValue.resultaattypeUrl,
|
|
136
|
-
});
|
|
137
|
-
}
|
|
138
|
-
});
|
|
139
|
-
});
|
|
140
|
-
}
|
|
141
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CreateZaakResultaatConfigurationComponent, deps: [{ token: i1.ModalService }, { token: i2.DocumentService }, { token: i3.ZakenApiService }, { token: i4.PluginTranslatePipe }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
142
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: CreateZaakResultaatConfigurationComponent, selector: "valtimo-create-zaak-resultaat-configuration", inputs: { save$: "save$", disabled$: "disabled$", pluginId: "pluginId", prefillConfiguration$: "prefillConfiguration$" }, outputs: { valid: "valid", configuration: "configuration" }, providers: [PluginTranslatePipe], ngImport: i0, template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null,\n pluginId: pluginId$ | async,\n selectedInputOption: selectedInputOption$ | async,\n loading: loading$ | async,\n caseDefinitionItems: caseDefinitionSelectItems$ | async,\n resultaatTypeItems: resultaatTypeSelectItems$ | async,\n selectedCaseDefinitionId: selectedCaseDefinitionId$ | 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 <v-radio\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 <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 <ng-container *ngIf=\"obs.selectedInputOption === 'selection'\">\n <v-select\n [items]=\"obs.caseDefinitionItems\"\n [margin]=\"true\"\n [widthInPx]=\"350\"\n name=\"caseDefinition\"\n [title]=\"'caseDefinition' | pluginTranslate: obs.pluginId | async\"\n [disabled]=\"\n obs.disabled ||\n obs.selectedInputOption === 'text' ||\n !obs.caseDefinitionItems ||\n oneSelectItem(obs.caseDefinitionItems)\n \"\n [required]=\"true\"\n [loading]=\"!obs.caseDefinitionItems\"\n [tooltip]=\"'caseDefinitionTooltipResultaat' | pluginTranslate: obs.pluginId | async\"\n (selectedChange)=\"selectCaseDefinition($event)\"\n [defaultSelectionId]=\"obs?.selectedCaseDefinitionId\"\n ></v-select>\n <v-select\n [items]=\"obs.resultaatTypeItems && obs.resultaatTypeItems[obs.selectedCaseDefinitionId]\"\n [margin]=\"true\"\n [widthInPx]=\"350\"\n name=\"resultaattypeUrl\"\n [title]=\"'resultaattypeUrlSelect' | pluginTranslate: obs.pluginId | async\"\n [disabled]=\"\n obs.disabled ||\n obs.selectedInputOption === 'text' ||\n !obs.resultaatTypeItems ||\n !obs.resultaatTypeItems[obs.selectedCaseDefinitionId]\n \"\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", styles: [".loading-container{display:flex;flex-direction:row;justify-content:center;height:100%;width:100%;align-items:center}\n/*!\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"], dependencies: [{ kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i1.FormComponent, selector: "v-form", inputs: ["className"], outputs: ["valueChange"] }, { kind: "component", type: i1.InputComponent, selector: "v-input", inputs: ["name", "type", "title", "titleTranslationKey", "defaultValue", "widthPx", "fullWidth", "margin", "smallMargin", "disabled", "step", "min", "maxLength", "tooltip", "required", "hideNumberSpinBox", "smallLabel", "rows", "clear$", "carbonTheme", "placeholder", "dataTestId", "trim"], outputs: ["valueChange"] }, { kind: "component", type: i1.SelectComponent, selector: "v-select", inputs: ["items", "defaultSelection", "defaultSelectionId", "defaultSelectionIds", "disabled", "dropUp", "multiple", "margin", "widthInPx", "notFoundText", "clearAllText", "clearText", "name", "title", "titleTranslationKey", "clearSelectionSubject$", "tooltip", "required", "loading", "loadingText", "placeholder", "smallMargin", "carbonTheme", "appendInline", "dataTestId"], outputs: ["selectedChange"] }, { kind: "component", type: i1.RadioComponent, selector: "v-radio", inputs: ["name", "title", "titleTranslationKey", "defaultValue", "widthPx", "fullWidth", "margin", "smallMargin", "disabled", "tooltip", "required", "smallLabel", "rows", "clear$", "radioValues"], outputs: ["valueChange"] }, { kind: "component", type: i6.Loading, selector: "cds-loading, ibm-loading", inputs: ["title", "isActive", "size", "overlay"] }, { kind: "pipe", type: i5.AsyncPipe, name: "async" }, { kind: "pipe", type: i7.PluginTranslatePipe, name: "pluginTranslate" }] }); }
|
|
143
|
-
}
|
|
144
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CreateZaakResultaatConfigurationComponent, decorators: [{
|
|
145
|
-
type: Component,
|
|
146
|
-
args: [{ selector: 'valtimo-create-zaak-resultaat-configuration', providers: [PluginTranslatePipe], template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null,\n pluginId: pluginId$ | async,\n selectedInputOption: selectedInputOption$ | async,\n loading: loading$ | async,\n caseDefinitionItems: caseDefinitionSelectItems$ | async,\n resultaatTypeItems: resultaatTypeSelectItems$ | async,\n selectedCaseDefinitionId: selectedCaseDefinitionId$ | 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 <v-radio\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 <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 <ng-container *ngIf=\"obs.selectedInputOption === 'selection'\">\n <v-select\n [items]=\"obs.caseDefinitionItems\"\n [margin]=\"true\"\n [widthInPx]=\"350\"\n name=\"caseDefinition\"\n [title]=\"'caseDefinition' | pluginTranslate: obs.pluginId | async\"\n [disabled]=\"\n obs.disabled ||\n obs.selectedInputOption === 'text' ||\n !obs.caseDefinitionItems ||\n oneSelectItem(obs.caseDefinitionItems)\n \"\n [required]=\"true\"\n [loading]=\"!obs.caseDefinitionItems\"\n [tooltip]=\"'caseDefinitionTooltipResultaat' | pluginTranslate: obs.pluginId | async\"\n (selectedChange)=\"selectCaseDefinition($event)\"\n [defaultSelectionId]=\"obs?.selectedCaseDefinitionId\"\n ></v-select>\n <v-select\n [items]=\"obs.resultaatTypeItems && obs.resultaatTypeItems[obs.selectedCaseDefinitionId]\"\n [margin]=\"true\"\n [widthInPx]=\"350\"\n name=\"resultaattypeUrl\"\n [title]=\"'resultaattypeUrlSelect' | pluginTranslate: obs.pluginId | async\"\n [disabled]=\"\n obs.disabled ||\n obs.selectedInputOption === 'text' ||\n !obs.resultaatTypeItems ||\n !obs.resultaatTypeItems[obs.selectedCaseDefinitionId]\n \"\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", styles: [".loading-container{display:flex;flex-direction:row;justify-content:center;height:100%;width:100%;align-items:center}\n/*!\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"] }]
|
|
147
|
-
}], ctorParameters: () => [{ type: i1.ModalService }, { type: i2.DocumentService }, { type: i3.ZakenApiService }, { type: i4.PluginTranslatePipe }], propDecorators: { save$: [{
|
|
148
|
-
type: Input
|
|
149
|
-
}], disabled$: [{
|
|
150
|
-
type: Input
|
|
151
|
-
}], pluginId: [{
|
|
152
|
-
type: Input
|
|
153
|
-
}], prefillConfiguration$: [{
|
|
154
|
-
type: Input
|
|
155
|
-
}], valid: [{
|
|
156
|
-
type: Output
|
|
157
|
-
}], configuration: [{
|
|
158
|
-
type: Output
|
|
159
|
-
}] } });
|
|
160
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLXphYWstcmVzdWx0YWF0LWNvbmZpZ3VyYXRpb24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmFsdGltby9wbHVnaW4vc3JjL2xpYi9wbHVnaW5zL3pha2VuLWFwaS9jb21wb25lbnRzL2NyZWF0ZS16YWFrLXJlc3VsdGFhdC9jcmVhdGUtemFhay1yZXN1bHRhYXQtY29uZmlndXJhdGlvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92YWx0aW1vL3BsdWdpbi9zcmMvbGliL3BsdWdpbnMvemFrZW4tYXBpL2NvbXBvbmVudHMvY3JlYXRlLXphYWstcmVzdWx0YWF0L2NyZWF0ZS16YWFrLXJlc3VsdGFhdC1jb25maWd1cmF0aW9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7OztHQWNHO0FBRUgsT0FBTyxFQUFDLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFxQixNQUFNLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFFeEYsT0FBTyxFQUNMLGVBQWUsRUFDZixhQUFhLEVBQ2IsTUFBTSxFQUVOLEVBQUUsRUFDRixPQUFPLEVBRVAsU0FBUyxFQUNULElBQUksRUFDSixHQUFHLEdBQ0osTUFBTSxNQUFNLENBQUM7QUFJZCxPQUFPLEVBQUMsR0FBRyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFFbkMsT0FBTyxFQUFDLG1CQUFtQixFQUFDLE1BQU0sbUJBQW1CLENBQUM7Ozs7Ozs7OztBQVF0RCxNQUFNLE9BQU8seUNBQXlDO0lBS3BELElBQWEsUUFBUSxDQUFDLEtBQWE7UUFDakMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDN0IsQ0FBQztJQXdHRCxZQUNtQixZQUEwQixFQUMxQixlQUFnQyxFQUNoQyxlQUFnQyxF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Q0FBQyxDQUFDO0lBQ0wsQ0FBQzsrR0F4S1UseUNBQXlDO21HQUF6Qyx5Q0FBeUMsNlBBRnpDLENBQUMsbUJBQW1CLENBQUMsMEJDekNsQyx1cUlBNkdBOzs0RkRsRWEseUNBQXlDO2tCQU5yRCxTQUFTOytCQUNFLDZDQUE2QyxhQUc1QyxDQUFDLG1CQUFtQixDQUFDOytLQUt2QixLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDTyxRQUFRO3NCQUFwQixLQUFLO2dCQUdHLHFCQUFxQjtzQkFBN0IsS0FBSztnQkFDSSxLQUFLO3NCQUFkLE1BQU07Z0JBQ0csYUFBYTtzQkFBdEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgMjAxNS0yMDI0IFJpdGVuc2UgQlYsIHRoZSBOZXRoZXJsYW5kcy5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciBFVVBMLCBWZXJzaW9uIDEuMiAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqIGh0dHBzOi8vam9pbnVwLmVjLmV1cm9wYS5ldS9jb2xsZWN0aW9uL2V1cGwvZXVwbC10ZXh0LWV1cGwtMTJcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgYmFzaXMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmltcG9ydCB7Q29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCwgT3V0cHV0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7RnVuY3Rpb25Db25maWd1cmF0aW9uQ29tcG9uZW50fSBmcm9tICcuLi8uLi8uLi8uLi9tb2RlbHMnO1xuaW1wb3J0IHtcbiAgQmVoYXZpb3JTdWJqZWN0LFxuICBjb21iaW5lTGF0ZXN0LFxuICBmaWx0ZXIsXG4gIE9ic2VydmFibGUsXG4gIG9mLFxuICBTdWJqZWN0LFxuICBTdWJzY3JpcHRpb24sXG4gIHN3aXRjaE1hcCxcbiAgdGFrZSxcbiAgdGFwLFxufSBmcm9tICdyeGpzJztcbmltcG9ydCB7Q3JlYXRlWmFha1Jlc3VsdGFhdENvbmZpZywgSW5wdXRPcHRpb259IGZyb20gJy4uLy4uL21vZGVscyc7XG5pbXBvcnQge01vZGFsU2VydmljZSwgUmFkaW9WYWx1ZSwgU2VsZWN0SXRlbX0gZnJvbSAnQHZhbHRpbW8vY29tcG9uZW50cyc7XG5pbXBvcnQge0RvY3VtZW50U2VydmljZX0gZnJvbSAnQHZhbHRpbW8vZG9jdW1lbnQnO1xuaW1wb3J0IHttYXB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7WmFrZW5BcGlTZXJ2aWNlfSBmcm9tICcuLi8uLi9zZXJ2aWNlcyc7XG5pbXBvcnQge1BsdWdpblRyYW5zbGF0ZVBpcGV9IGZyb20gJy4uLy4uLy4uLy4uL3BpcGVzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmFsdGltby1jcmVhdGUtemFhay1yZXN1bHRhYXQtY29uZmlndXJhdGlvbicsXG4gIHRlbXBsYXRlVXJsOiAnLi9jcmVhdGUtemFhay1yZXN1bHRhYXQtY29uZmlndXJhdGlvbi5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2NyZWF0ZS16YWFrLXJlc3VsdGFhdC1jb25maWd1cmF0aW9uLmNvbXBvbmVudC5zY3NzJ10sXG4gIHByb3ZpZGVyczogW1BsdWdpblRyYW5zbGF0ZVBpcGVdLFxufSlcbmV4cG9ydCBjbGFzcyBDcmVhdGVaYWFrUmVzdWx0YWF0Q29uZmlndXJhdGlvbkNvbXBvbmVudFxuICBpbXBsZW1lbnRzIEZ1bmN0aW9uQ29uZmlndXJhdGlvbkNvbXBvbmVudCwgT25Jbml0LCBPbkRlc3Ryb3lcbntcbiAgQElucHV0KCkgc2F2ZSQ6IE9ic2VydmFibGU8dm9pZD47XG4gIEBJbnB1dCgpIGRpc2FibGVkJDogT2JzZXJ2YWJsZTxib29sZWFuPjtcbiAgQElucHV0KCkgc2V0IHBsdWdpbklkKHZhbHVlOiBzdHJpbmcpIHtcbiAgICB0aGlzLnBsdWdpbklkJC5uZXh0KHZhbHVlKTtcbiAgfVxuICBASW5wdXQoKSBwcmVmaWxsQ29uZmlndXJhdGlvbiQ6IE9ic2VydmFibGU8Q3JlYXRlWmFha1Jlc3VsdGFhdENvbmZpZz47XG4gIEBPdXRwdXQoKSB2YWxpZDogRXZlbnRFbWl0dGVyPGJvb2xlYW4+ID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuICBAT3V0cHV0KCkgY29uZmlndXJhdGlvbjogRXZlbnRFbWl0dGVyPENyZWF0ZVphYWtSZXN1bHRhYXRDb25maWc+ID1cbiAgICBuZXcgRXZlbnRFbWl0dGVyPENyZWF0ZVphYWtSZXN1bHRhYXRDb25maWc+KCk7XG5cbiAgcmVhZG9ubHkgY2FzZURlZmluaXRpb25TZWxlY3RJdGVtcyQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PEFycmF5PFNlbGVjdEl0ZW0+PihudWxsKTtcbiAgcmVhZG9ubHkgc2VsZWN0ZWRDYXNlRGVmaW5pdGlvbklkJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8c3RyaW5nPignJyk7XG4gIHJlYWRvbmx5IGNsZWFyU3RhdHVzU2VsZWN0aW9uJCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgcmVhZG9ubHkgbG9hZGluZyQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KHRydWUpO1xuXG4gIHJlYWRvbmx5IHJlc3VsdGFhdFR5cGVTZWxlY3RJdGVtcyQ6IE9ic2VydmFibGU8e1tjYXNlRGVmaW5pdGlvbklkOiBzdHJpbmddOiBBcnJheTxTZWxlY3RJdGVtPn0+ID1cbiAgICB0aGlzLm1vZGFsU2VydmljZS5tb2RhbERhdGEkLnBpcGUoXG4gICAgICBzd2l0Y2hNYXAocGFyYW1zID0+XG4gICAgICAgIHRoaXMuZG9jdW1lbnRTZXJ2aWNlLmZpbmRQcm9jZXNzRG9jdW1lbnREZWZpbml0aW9uc0J5UHJvY2Vzc0RlZmluaXRpb25LZXkoXG4gICAgICAgICAgcGFyYW1zPy5wcm9jZXNzRGVmaW5pdGlvbktleVxuICAgICAgICApXG4gICAgICApLFxuICAgICAgdGFwKHByb2Nlc3NEb2N1bWVudERlZmluaXRpb25zID0+IHtcbiAgICAgICAgY29uc3QgY2FzZURlZlNlbGVjdEl0ZW1zID0gcHJvY2Vzc0RvY3VtZW50RGVmaW5pdGlvbnMubWFwKHByb2Nlc3NEb2NEZWYgPT4gKHtcbiAgICAgICAgICB0ZXh0OiBwcm9jZXNzRG9jRGVmLmlkLmRvY3VtZW50RGVmaW5pdGlvbklkLm5hbWUsXG4gICAgICAgICAgaWQ6IHByb2Nlc3NEb2NEZWYuaWQuZG9jdW1lbnREZWZpbml0aW9uSWQubmFtZSxcbiAgICAgICAgfSkpO1xuXG4gICAgICAgIHRoaXMuY2FzZURlZmluaXRpb25TZWxlY3RJdGVtcyQubmV4dChjYXNlRGVmU2VsZWN0SXRlbXMpO1xuXG4gICAgICAgIGlmICh0aGlzLm9uZVNlbGVjdEl0ZW0oY2FzZURlZlNlbGVjdEl0ZW1zKSkge1xuICAgICAgICAgIHRoaXMuc2VsZWN0ZWRDYXNlRGVmaW5pdGlvbklkJC5uZXh0KGNhc2VEZWZTZWxlY3RJdGVtc1swXS5pZCk7XG4gICAgICAgIH1cbiAgICAgIH0pLFxuICAgICAgc3dpdGNoTWFwKHByb2Nlc3NEb2N1bWVudERlZmluaXRpb25zID0+XG4gICAgICAgIGNvbWJpbmVMYXRlc3QoW1xuICAgICAgICAgIG9mKHByb2Nlc3NEb2N1bWVudERlZmluaXRpb25zLm1hcChwcm9jZXNzRG9jID0+IHByb2Nlc3NEb2MuaWQuZG9jdW1lbnREZWZpbml0aW9uSWQubmFtZSkpLFxuICAgICAgICAgIC4uLnByb2Nlc3NEb2N1bWVudERlZmluaXRpb25zLm1hcChwcm9jZXNzRG9jRGVmID0+XG4gICAgICAgICAgICB0aGlzLnpha2VuQXBpU2VydmljZS5nZXRSZXN1bHRhYXRUeXBlc0J5Q2FzZURlZmluaXRpb24oXG4gICAgICAgICAgICAgIHByb2Nlc3NEb2NEZWYuaWQuZG9jdW1lbnREZWZpbml0aW9uSWQubmFtZVxuICAgICAgICAgICAgKVxuICAgICAgICAgICksXG4gICAgICAgIF0pXG4gICAgICApLFxuICAgICAgbWFwKHJlcyA9PiB7XG4gICAgICAgIGNvbnN0IGNhc2VEZWZpbml0aW9uSWRzID0gcmVzWzBdO1xuICAgICAgICBjb25zdCByZXN1bHRhYXRUeXBlcyA9IHJlcy5maWx0ZXIoKGN1cnIsIGluZGV4KSA9PiBpbmRleCAhPT0gMCk7XG4gICAgICAgIGNvbnN0IHNlbGVjdE9iamVjdCA9IHt9O1xuXG4gICAgICAgIGNhc2VEZWZpbml0aW9uSWRzLmZvckVhY2goKGNhc2VEZWZpbml0aW9uSWQsIGluZGV4KSA9PiB7XG4gICAgICAgICAgc2VsZWN0T2JqZWN0W2Nhc2VEZWZpbml0aW9uSWRdID0gcmVzdWx0YWF0VHlwZXNbaW5kZXhdLm1hcChzdGF0dXNUeXBlID0+ICh7XG4gICAgICAgICAgICBpZDogc3RhdHVzVHlwZS51cmwsXG4gICAgICAgICAgICB0ZXh0OiBzdGF0dXNUeXBlLm5hbWUsXG4gICAgICAgICAgfSkpO1xuICAgICAgICB9KTtcblxuICAgICAgICByZXR1cm4gc2VsZWN0T2JqZWN0O1xuICAgICAgfSksXG4gICAgICB0YXAoc2VsZWN0T2JqZWN0ID0+IHtcbiAgICAgICAgdGhpcy5wcmVmaWxsQ29uZmlndXJhdGlvbiQucGlwZSh0YWtlKDEpKS5zdWJzY3JpYmUocHJlZmlsbENvbmZpZyA9PiB7XG4gICAgICAgICAgY29uc3QgcmVzdWx0YWF0VHlwZVVybCA9IHByZWZpbGxDb25maWc/LnJlc3VsdGFhdHR5cGVVcmw7XG5cbiAgICAgICAgICBpZiAocmVzdWx0YWF0VHlwZVVybCkge1xuICAgICAgICAgICAgbGV0IHNlbGVjdGVkQ2FzZURlZmluaXRpb25JZCE6IHN0cmluZztcblxuICAgICAgICAgICAgT2JqZWN0LmtleXMoc2VsZWN0T2JqZWN0KS5mb3JFYWNoKGNhc2VEZWZpbml0aW9uSWQgPT4ge1xuICAgICAgICAgICAgICBpZiAoc2VsZWN0T2JqZWN0W2Nhc2VEZWZpbml0aW9uSWRdLmZpbmQoaXRlbSA9PiBpdGVtLmlkID09PSByZXN1bHRhYXRUeXBlVXJsKSkge1xuICAgICAgICAgICAgICAgIHNlbGVjdGVkQ2FzZURlZmluaXRpb25JZCA9IGNhc2VEZWZpbml0aW9uSWQ7XG4gICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICBpZiAoc2VsZWN0ZWRDYXNlRGVmaW5pdGlvbklkKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5zZWxlY3RlZENhc2VEZWZpbml0aW9uSWQkLm5leHQoc2VsZWN0ZWRDYXNlRGVmaW5pdGlvbklkKTtcbiAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdGVkSW5wdXRPcHRpb24kLm5leHQoJ3RleHQnKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgIH0pLFxuICAgICAgdGFwKCgpID0+IHtcbiAgICAgICAgdGhpcy5sb2FkaW5nJC5uZXh0KGZhbHNlKTtcbiAgICAgIH0pXG4gICAgKTtcblxuICByZWFkb25seSBzZWxlY3RlZElucHV0T3B0aW9uJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8SW5wdXRPcHRpb24+KCdzZWxlY3Rpb24nKTtcblxuICByZWFkb25seSBwbHVnaW5JZCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PHN0cmluZz4oJycpO1xuXG4gIHJlYWRvbmx5IGlucHV0VHlwZU9wdGlvbnMkOiBPYnNlcnZhYmxlPEFycmF5PFJhZGlvVmFsdWU+PiA9IHRoaXMucGx1Z2luSWQkLnBpcGUoXG4gICAgZmlsdGVyKHBsdWdpbklkID0+ICEhcGx1Z2luSWQpLFxuICAgIHN3aXRjaE1hcChwbHVnaW5JZCA9PlxuICAgICAgY29tYmluZUxhdGVzdChbXG4gICAgICAgIHRoaXMucGx1Z2luVHJhbnNsYXRlUGlwZS50cmFuc2Zvcm0oJ3NlbGVjdGlvbicsIHBsdWdpbklkKSxcbiAgICAgICAgdGhpcy5wbHVnaW5UcmFuc2xhdGVQaXBlLnRyYW5zZm9ybSgndGV4dCcsIHBsdWdpbklkKSxcbiAgICAgIF0pXG4gICAgKSxcbiAgICBtYXAoKFtzZWxlY3Rpb25UcmFuc2xhdGlvbiwgdGV4dFRyYW5zbGF0aW9uXSkgPT4gW1xuICAgICAge3ZhbHVlOiAnc2VsZWN0aW9uJywgdGl0bGU6IHNlbGVjdGlvblRyYW5zbGF0aW9ufSxcbiAgICAgIHt2YWx1ZTogJ3RleHQnLCB0aXRsZTogdGV4dFRyYW5zbGF0aW9ufSxcbiAgICBdKVxuICApO1xuXG4gIHByaXZhdGUgc2F2ZVN1YnNjcmlwdGlvbiE6IFN1YnNjcmlwdGlvbjtcblxuICBwcml2YXRlIHJlYWRvbmx5IGZvcm1WYWx1ZSQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PENyZWF0ZVphYWtSZXN1bHRhYXRDb25maWcgfCBudWxsPihudWxsKTtcbiAgcHJpdmF0ZSByZWFkb25seSB2YWxpZCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KGZhbHNlKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IG1vZGFsU2VydmljZTogTW9kYWxTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgZG9jdW1lbnRTZXJ2aWNlOiBEb2N1bWVudFNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSB6YWtlbkFwaVNlcnZpY2U6IFpha2VuQXBpU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHBsdWdpblRyYW5zbGF0ZVBpcGU6IFBsdWdpblRyYW5zbGF0ZVBpcGVcbiAgKSB7fVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMub3BlblNhdmVTdWJzY3JpcHRpb24oKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMuc2F2ZVN1YnNjcmlwdGlvbj8udW5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIGZvcm1WYWx1ZUNoYW5nZShmb3JtVmFsdWU6IENyZWF0ZVphYWtSZXN1bHRhYXRDb25maWcpOiB2b2lkIHtcbiAgICB0aGlzLmZvcm1WYWx1ZSQubmV4dChmb3JtVmFsdWUpO1xuICAgIHRoaXMuaGFuZGxlVmFsaWQoZm9ybVZhbHVlKTtcblxuICAgIGlmIChmb3JtVmFsdWUuaW5wdXRUeXBlWmFha1Jlc3VsdGFhdFRvZ2dsZSkge1xuICAgICAgdGhpcy5zZWxlY3RlZElucHV0T3B0aW9uJC5uZXh0KGZvcm1WYWx1ZS5pbnB1dFR5cGVaYWFrUmVzdWx0YWF0VG9nZ2xlKTtcbiAgICB9XG4gIH1cblxuICBzZWxlY3RDYXNlRGVmaW5pdGlvbihjYXNlRGVmaW5pdGlvbklkOiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLnNlbGVjdGVkQ2FzZURlZmluaXRpb25JZCQubmV4dChjYXNlRGVmaW5pdGlvbklkKTtcbiAgICB0aGlzLmNsZWFyU3RhdHVzU2VsZWN0aW9uJC5uZXh0KCk7XG4gIH1cblxuICBvbmVTZWxlY3RJdGVtKHNlbGVjdEl0ZW1zOiBBcnJheTxTZWxlY3RJdGVtPik6IGJvb2xlYW4ge1xuICAgIGlmIChBcnJheS5pc0FycmF5KHNlbGVjdEl0ZW1zKSkge1xuICAgICAgcmV0dXJuIHNlbGVjdEl0ZW1zLmxlbmd0aCA9PT0gMTtcbiAgICB9XG5cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBwcml2YXRlIGhhbmRsZVZhbGlkKGZvcm1WYWx1ZTogQ3JlYXRlWmFha1Jlc3VsdGFhdENvbmZpZyk6IHZvaWQge1xuICAgIGNvbnN0IHZhbGlkID0gISFmb3JtVmFsdWUucmVzdWx0YWF0dHlwZVVybDtcblxuICAgIHRoaXMudmFsaWQkLm5leHQodmFsaWQpO1xuICAgIHRoaXMudmFsaWQuZW1pdCh2YWxpZCk7XG4gIH1cblxuICBwcml2YXRlIG9wZW5TYXZlU3Vic2NyaXB0aW9uKCk6IHZvaWQge1xuICAgIHRoaXMuc2F2ZVN1YnNjcmlwdGlvbiA9IHRoaXMuc2F2ZSQ/LnN1YnNjcmliZShzYXZlID0+IHtcbiAgICAgIGNvbWJpbmVMYXRlc3QoW3RoaXMuZm9ybVZhbHVlJCwgdGhpcy52YWxpZCRdKVxuICAgICAgICAucGlwZSh0YWtlKDEpKVxuICAgICAgICAuc3Vic2NyaWJlKChbZm9ybVZhbHVlLCB2YWxpZF0pID0+IHtcbiAgICAgICAgICBpZiAodmFsaWQpIHtcbiAgICAgICAgICAgIHRoaXMuY29uZmlndXJhdGlvbi5lbWl0KHtcbiAgICAgICAgICAgICAgdG9lbGljaHRpbmc6IGZvcm1WYWx1ZS50b2VsaWNodGluZyxcbiAgICAgICAgICAgICAgcmVzdWx0YWF0dHlwZVVybDogZm9ybVZhbHVlLnJlc3VsdGFhdHR5cGVVcmwsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH0pO1xuICB9XG59XG4iLCI8IS0tXG4gIH4gQ29weXJpZ2h0IDIwMTUtMjAyNCBSaXRlbnNlIEJWLCB0aGUgTmV0aGVybGFuZHMuXG4gIH5cbiAgfiBMaWNlbnNlZCB1bmRlciBFVVBMLCBWZXJzaW9uIDEuMiAodGhlIFwiTGljZW5zZVwiKTtcbiAgfiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gIH4gWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gIH5cbiAgfiBodHRwczovL2pvaW51cC5lYy5ldXJvcGEuZXUvY29sbGVjdGlvbi9ldXBsL2V1cGwtdGV4dC1ldXBsLTEyXG4gIH5cbiAgfiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gIH4gZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIGJhc2lzLFxuICB+IFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICB+IFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAgfiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAgLS0+XG5cbjx2LWZvcm1cbiAgKHZhbHVlQ2hhbmdlKT1cImZvcm1WYWx1ZUNoYW5nZSgkZXZlbnQpXCJcbiAgKm5nSWY9XCJ7XG4gICAgZGlzYWJsZWQ6IGRpc2FibGVkJCB8IGFzeW5jLFxuICAgIHByZWZpbGw6IHByZWZpbGxDb25maWd1cmF0aW9uJCA/IChwcmVmaWxsQ29uZmlndXJhdGlvbiQgfCBhc3luYykgOiBudWxsLFxuICAgIHBsdWdpbklkOiBwbHVnaW5JZCQgfCBhc3luYyxcbiAgICBzZWxlY3RlZElucHV0T3B0aW9uOiBzZWxlY3RlZElucHV0T3B0aW9uJCB8IGFzeW5jLFxuICAgIGxvYWRpbmc6IGxvYWRpbmckIHwgYXN5bmMsXG4gICAgY2FzZURlZmluaXRpb25JdGVtczogY2FzZURlZmluaXRpb25TZWxlY3RJdGVtcyQgfCBhc3luYyxcbiAgICByZXN1bHRhYXRUeXBlSXRlbXM6IHJlc3VsdGFhdFR5cGVTZWxlY3RJdGVtcyQgfCBhc3luYyxcbiAgICBzZWxlY3RlZENhc2VEZWZpbml0aW9uSWQ6IHNlbGVjdGVkQ2FzZURlZmluaXRpb25JZCQgfCBhc3luYyxcbiAgfSBhcyBvYnNcIlxuPlxuICA8bmctY29udGFpbmVyICpuZ0lmPVwib2JzLmxvYWRpbmcgPT09IGZhbHNlOyBlbHNlIGxvYWRpbmdcIj5cbiAgICA8di1pbnB1dFxuICAgICAgbmFtZT1cInRvZWxpY2h0aW5nXCJcbiAgICAgIFt0aXRsZV09XCIncmVzdWx0YWF0dG9lbGljaHRpbmcnIHwgcGx1Z2luVHJhbnNsYXRlOiBvYnMucGx1Z2luSWQgfCBhc3luY1wiXG4gICAgICBbbWFyZ2luXT1cInRydWVcIlxuICAgICAgW2RlZmF1bHRWYWx1ZV09XCJvYnMucHJlZmlsbD8udG9lbGljaHRpbmdcIlxuICAgICAgW2Rpc2FibGVkXT1cIm9icy5kaXNhYmxlZFwiXG4gICAgICBbcmVxdWlyZWRdPVwiZmFsc2VcIlxuICAgICAgW3Rvb2x0aXBdPVwiJ3Jlc3VsdGFhdHRvZWxpY2h0aW5nVG9vbHRpcCcgfCBwbHVnaW5UcmFuc2xhdGU6IG9icy5wbHVnaW5JZCB8IGFzeW5jXCJcbiAgICAgIFtmdWxsV2lkdGhdPVwidHJ1ZVwiXG4gICAgPlxuICAgIDwvdi1pbnB1dD5cbiAgICA8di1yYWRpb1xuICAgICAgbmFtZT1cImlucHV0VHlwZVphYWtSZXN1bHRhYXRUb2dnbGVcIlxuICAgICAgW2Rpc2FibGVkXT1cIm9icy5kaXNhYmxlZFwiXG4gICAgICBbdGl0bGVdPVwiJ2lucHV0VHlwZVphYWtSZXN1bHRhYXRUb2dnbGUnIHwgcGx1Z2luVHJhbnNsYXRlOiBvYnMucGx1Z2luSWQgfCBhc3luY1wiXG4gICAgICBbcmFkaW9WYWx1ZXNdPVwiaW5wdXRUeXBlT3B0aW9ucyQgfCBhc3luY1wiXG4gICAgICBbZGVmYXVsdFZhbHVlXT1cInNlbGVjdGVkSW5wdXRPcHRpb24kIHwgYXN5bmNcIlxuICAgICAgW21hcmdpbl09XCJ0cnVlXCJcbiAgICA+XG4gICAgPC92LXJhZGlvPlxuICAgIDx2LWlucHV0XG4gICAgICAqbmdJZj1cIm9icy5zZWxlY3RlZElucHV0T3B0aW9uID09PSAndGV4dCdcIlxuICAgICAgbmFtZT1cInJlc3VsdGFhdHR5cGVVcmxcIlxuICAgICAgW3RpdGxlXT1cIidyZXN1bHRhYXR0eXBlVXJsJyB8IHBsdWdpblRyYW5zbGF0ZTogb2JzLnBsdWdpbklkIHwgYXN5bmNcIlxuICAgICAgW21hcmdpbl09XCJ0cnVlXCJcbiAgICAgIFtkZWZhdWx0VmFsdWVdPVwib2JzLnByZWZpbGw/LnJlc3VsdGFhdHR5cGVVcmxcIlxuICAgICAgW2Rpc2FibGVkXT1cIm9icy5kaXNhYmxlZFwiXG4gICAgICBbcmVxdWlyZWRdPVwidHJ1ZVwiXG4gICAgICBbdHJpbV09XCJ0cnVlXCJcbiAgICAgIFt0b29sdGlwXT1cIidyZXN1bHRhYXR0eXBlVXJsVG9vbHRpcCcgfCBwbHVnaW5UcmFuc2xhdGU6IG9icy5wbHVnaW5JZCB8IGFzeW5jXCJcbiAgICAgIFtmdWxsV2lkdGhdPVwidHJ1ZVwiXG4gICAgPlxuICAgIDwvdi1pbnB1dD5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwib2JzLnNlbGVjdGVkSW5wdXRPcHRpb24gPT09ICdzZWxlY3Rpb24nXCI+XG4gICAgICA8di1zZWxlY3RcbiAgICAgICAgW2l0ZW1zXT1cIm9icy5jYXNlRGVmaW5pdGlvbkl0ZW1zXCJcbiAgICAgICAgW21hcmdpbl09XCJ0cnVlXCJcbiAgICAgICAgW3dpZHRoSW5QeF09XCIzNTBcIlxuICAgICAgICBuYW1lPVwiY2FzZURlZmluaXRpb25cIlxuICAgICAgICBbdGl0bGVdPVwiJ2Nhc2VEZWZpbml0aW9uJyB8IHBsdWdpblRyYW5zbGF0ZTogb2JzLnBsdWdpbklkIHwgYXN5bmNcIlxuICAgICAgICBbZGlzYWJsZWRdPVwiXG4gICAgICAgICAgb2JzLmRpc2FibGVkIHx8XG4gICAgICAgICAgb2JzLnNlbGVjdGVkSW5wdXRPcHRpb24gPT09ICd0ZXh0JyB8fFxuICAgICAgICAgICFvYnMuY2FzZURlZmluaXRpb25JdGVtcyB8fFxuICAgICAgICAgIG9uZVNlbGVjdEl0ZW0ob2JzLmNhc2VEZWZpbml0aW9uSXRlbXMpXG4gICAgICAgIFwiXG4gICAgICAgIFtyZXF1aXJlZF09XCJ0cnVlXCJcbiAgICAgICAgW2xvYWRpbmddPVwiIW9icy5jYXNlRGVmaW5pdGlvbkl0ZW1zXCJcbiAgICAgICAgW3Rvb2x0aXBdPVwiJ2Nhc2VEZWZpbml0aW9uVG9vbHRpcFJlc3VsdGFhdCcgfCBwbHVnaW5UcmFuc2xhdGU6IG9icy5wbHVnaW5JZCB8IGFzeW5jXCJcbiAgICAgICAgKHNlbGVjdGVkQ2hhbmdlKT1cInNlbGVjdENhc2VEZWZpbml0aW9uKCRldmVudClcIlxuICAgICAgICBbZGVmYXVsdFNlbGVjdGlvbklkXT1cIm9icz8uc2VsZWN0ZWRDYXNlRGVmaW5pdGlvbklkXCJcbiAgICAgID48L3Ytc2VsZWN0PlxuICAgICAgPHYtc2VsZWN0XG4gICAgICAgIFtpdGVtc109XCJvYnMucmVzdWx0YWF0VHlwZUl0ZW1zICYmIG9icy5yZXN1bHRhYXRUeXBlSXRlbXNbb2JzLnNlbGVjdGVkQ2FzZURlZmluaXRpb25JZF1cIlxuICAgICAgICBbbWFyZ2luXT1cInRydWVcIlxuICAgICAgICBbd2lkdGhJblB4XT1cIjM1MFwiXG4gICAgICAgIG5hbWU9XCJyZXN1bHRhYXR0eXBlVXJsXCJcbiAgICAgICAgW3RpdGxlXT1cIidyZXN1bHRhYXR0eXBlVXJsU2VsZWN0JyB8IHBsdWdpblRyYW5zbGF0ZTogb2JzLnBsdWdpbklkIHwgYXN5bmNcIlxuICAgICAgICBbZGlzYWJsZWRdPVwiXG4gICAgICAgICAgb2JzLmRpc2FibGVkIHx8XG4gICAgICAgICAgb2JzLnNlbGVjdGVkSW5wdXRPcHRpb24gPT09ICd0ZXh0JyB8fFxuICAgICAgICAgICFvYnMucmVzdWx0YWF0VHlwZUl0ZW1zIHx8XG4gICAgICAgICAgIW9icy5yZXN1bHRhYXRUeXBlSXRlbXNbb2JzLnNlbGVjdGVkQ2FzZURlZmluaXRpb25JZF1cbiAgICAgICAgXCJcbiAgICAgICAgW2RlZmF1bHRTZWxlY3Rpb25JZF09XCJvYnMucHJlZmlsbD8ucmVzdWx0YWF0dHlwZVVybFwiXG4gICAgICAgIFtyZXF1aXJlZF09XCJ0cnVlXCJcbiAgICAgICAgW2xvYWRpbmddPVwiIW9icy5yZXN1bHRhYXRUeXBlSXRlbXNcIlxuICAgICAgICBbdG9vbHRpcF09XCIncmVzdWx0YWF0dHlwZVVybFNlbGVjdFRvb2x0aXAnIHwgcGx1Z2luVHJhbnNsYXRlOiBvYnMucGx1Z2luSWQgfCBhc3luY1wiXG4gICAgICAgIFtjbGVhclNlbGVjdGlvblN1YmplY3QkXT1cImNsZWFyU3RhdHVzU2VsZWN0aW9uJFwiXG4gICAgICA+PC92LXNlbGVjdD5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgPC9uZy1jb250YWluZXI+XG48L3YtZm9ybT5cblxuPG5nLXRlbXBsYXRlICNsb2FkaW5nPlxuICA8ZGl2IGNsYXNzPVwibG9hZGluZy1jb250YWluZXJcIj5cbiAgICA8Y2RzLWxvYWRpbmc+PC9jZHMtbG9hZGluZz5cbiAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuIl19
|