{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./src/domains/remoteFile/dataAccess/mappers/remoteFileMappers.ts","webpack:///./src/domains/ziekEnZwangerschap/routes/policies.ts","webpack:///./src/domains/error/dataAccess/ErrorLogTypes/VueErrorLog.ts","webpack:///./src/domains/account/pages/Contact.vue?61c5","webpack:///./src/domains/declaraties/pages/overzicht/modals/StatusInfoDeclaratiesOverzicht.vue?06e0","webpack:///./src/dataAccess/validation/transform.ts","webpack:///./src/components/entities/CurrencyField/CurrencyField.vue?632e","webpack:///./src/domains/account/dataAccess/mappers/mapRelatieBase.ts","webpack:///./src/domains/zorgovereenkomst/pages/standaardAfspraken/StandaardAfspraken.vue?5b70","webpack:///./src/domains/auth/pages/SilentRenew.vue?0380","webpack:///src/domains/auth/pages/SilentRenew.vue","webpack:///./src/domains/auth/pages/SilentRenew.vue?1212","webpack:///./src/domains/auth/pages/SilentRenew.vue","webpack:///./src/domains/error/dataAccess/ErrorLogType.ts","webpack:///./src/domains/declaraties/routes/i18n.ts","webpack:///./src/domains/declaraties/routes/index.ts","webpack:///./src/domains/account/dataAccess/mappers/mapBankrekening.ts","webpack:///./src/assets/img/logo.svg","webpack:///./src/dataAccess/validation/NumberFieldValidator.ts","webpack:///./src/_generated/portalClient.ts","webpack:///./src/dataAccess/AuthorizedApiBase.ts","webpack:///./src/domains/declaraties/pages/indienen/bijkomendeZorgkosten/BijkomendeZorgkostenOpstellen.vue?949d","webpack:///./src/domains/declaraties/pages/weergeven/verantwoordingsvrijBedrag/WeergevenVerantwoordingsvrijBedrag.vue?7808","webpack:///./src/domains/zorgovereenkomst/pages/inzien/NestedCardContentSection.vue?f39e","webpack:///./src/utils/pgbSessionStorage.ts","webpack:///./src/composables/useContactInfo.ts","webpack:///./src/utils/loadScript.ts","webpack:///./src/composables/useCobrowse.ts","webpack:///./src/composables/useAddress.ts","webpack:///./src/domains/declaraties/components/ideal/IdealFailed.vue?ebaf","webpack:///./src/domains/declaraties/components/ideal/i18n.ts","webpack:///./src/domains/declaraties/pages/helpPanels/useDeclaratieHelpPanelItems.ts","webpack:///./src/domains/declaraties/components/ideal/IdealFailed.vue","webpack:///./src/domains/declaraties/components/ideal/IdealFailed.vue?2fc5","webpack:///./src/domains/declaraties/components/ideal/IdealFailed.vue?acd2","webpack:///./src/domains/declaraties/components/ideal/IdealReturn.vue?6f92","webpack:///./src/domains/declaraties/dataAccess/mappers/mapIdealReturn.ts","webpack:///./src/domains/declaraties/dataAccess/models/indienen/ideal/IdealReturn.ts","webpack:///./src/domains/declaraties/dataAccess/IdealReturnRepository.ts","webpack:///./src/domains/declaraties/components/ideal/IdealReturn.vue","webpack:///./src/domains/declaraties/components/ideal/IdealReturn.vue?16ba","webpack:///./src/domains/declaraties/components/ideal/IdealReturn.vue?b47c","webpack:///./src/domains/declaraties/components/ideal/IdealSuccess.vue?d620","webpack:///./src/domains/declaraties/dataAccess/models/kassabon/Kassabon.ts","webpack:///./src/domains/declaraties/dataAccess/mappers/mapIdealSuccess.ts","webpack:///./src/domains/declaraties/dataAccess/models/indienen/ideal/IdealSuccess.ts","webpack:///./src/domains/declaraties/dataAccess/models/kassabon/KassabonBlok.ts","webpack:///./src/domains/declaraties/dataAccess/mappers/mapKassabon.ts","webpack:///./src/dataAccess/mocks/builders/Builder.ts","webpack:///./src/domains/declaraties/mocks/mappers/mapKassabonViewModel.ts","webpack:///./src/domains/declaraties/dataAccess/models/kassabon/SubKassabonBlok.ts","webpack:///./src/domains/declaraties/mocks/builders/SubKassabonBlokBuilder.ts","webpack:///./src/domains/declaraties/mocks/builders/KassabonBlokBuilder.ts","webpack:///./src/domains/declaraties/mocks/builders/KassabonBuilder.ts","webpack:///./src/utils/Debouncer.ts","webpack:///./src/utils/ApiCallDebouncer.ts","webpack:///./src/domains/declaraties/components/kassabon/KassabonRepository.ts","webpack:///./src/domains/account/mocks/mappers/mapAdresViewModel.ts","webpack:///./src/domains/account/dataAccess/mappers/mapBankrekeningViewModel.ts","webpack:///./src/domains/account/mocks/mappers/mapRelatieReadOnlyViewModel.ts","webpack:///./src/domains/account/mocks/mappers/mapBudgethouderReadOnlyViewModel.ts","webpack:///./src/domains/remoteFile/mocks/mappers/mapDocumentViewModel.ts","webpack:///./src/domains/declaraties/mocks/mappers/mapBijkomendeZorgkostenForDeclaratieConceptViewModel.ts","webpack:///./src/domains/declaraties/mocks/mappers/mapFeestdagenUitkeringForDeclaratieConceptViewModel.ts","webpack:///./src/domains/account/dataAccess/models/Bankrekening.ts","webpack:///./src/domains/account/dataAccess/models/relaties/Vertegenwoordiger.ts","webpack:///./src/domains/declaraties/dataAccess/models/DeclaratieBase.ts","webpack:///./src/domains/declaraties/dataAccess/models/indienen/ideal/Ideal.ts","webpack:///./src/domains/declaraties/dataAccess/models/indienen/IndienenConceptDeclaratieBase.ts","webpack:///./src/domains/declaraties/dataAccess/mappers/mapVerantwoordingsvrijBedrag.ts","webpack:///./src/domains/account/mocks/mappers/mapVertegenwoordigerReadOnlyViewModel.ts","webpack:///./src/domains/declaraties/mocks/mappers/mapToDeclaratieToekenningsbeschikkingViewModel.ts","webpack:///./src/domains/declaraties/mocks/mappers/mapVerantwoordingsvrijBedragForDeclaratieConceptViewModel.ts","webpack:///./src/domains/declaraties/dataAccess/models/ConceptDeclaratie.ts","webpack:///./src/domains/declaraties/dataAccess/models/indienen/ZiekEnZwangerschapGegevens.ts","webpack:///./src/domains/declaraties/dataAccess/models/indienen/DeclaratieOpdrachtnemer.ts","webpack:///./src/domains/declaraties/dataAccess/models/indienen/IndienenConceptDeclaratie.ts","webpack:///./src/domains/declaraties/dataAccess/models/indienen/UploadFactuur.ts","webpack:///./src/domains/declaraties/dataAccess/models/indienen/ZorgverlenerZokDeclaratie.ts","webpack:///./src/domains/declaraties/dataAccess/models/indienen/BijkomendeZorgkosten.ts","webpack:///./src/domains/declaraties/dataAccess/mappers/mapBijkomendeZorgkosten.ts","webpack:///./src/domains/declaraties/dataAccess/models/indienen/FactuurReiskosten.ts","webpack:///./src/domains/declaraties/dataAccess/models/DeclaratieBudget.ts","webpack:///./src/domains/declaraties/dataAccess/mappers/mapDeclaratieBudget.ts","webpack:///./src/domains/declaraties/dataAccess/mappers/mapFactuurReiskosten.ts","webpack:///./src/domains/declaraties/dataAccess/mappers/mapToDeclaratieZorgovereenkomstViewModel.ts","webpack:///./src/domains/declaraties/dataAccess/mappers/mapZorgverlenerToZorgverlenerViewModel2.ts","webpack:///./src/domains/declaraties/dataAccess/mappers/mapDeclaratieOpdrachtnemer.ts","webpack:///./src/domains/declaraties/dataAccess/models/indienen/FeestdagenUitkering.ts","webpack:///./src/domains/declaraties/dataAccess/mappers/mapFeestdagenUitkering.ts","webpack:///./src/domains/declaraties/dataAccess/mappers/mapDeclaratieBudgetViewModel.ts","webpack:///./src/domains/declaraties/dataAccess/mappers/mapFactuurReiskostenForDeclaratieConceptViewModel.ts","webpack:///./src/domains/declaraties/dataAccess/mappers/mapWooninitiatiefEnkelHuisForDeclaratieConceptViewModel.ts","webpack:///./src/domains/declaraties/dataAccess/mappers/mapIndienenConceptDeclaratie.ts","webpack:///./src/domains/declaraties/dataAccess/IdealSuccessRepository.ts","webpack:///./src/domains/declaraties/pages/indienen/components/IngediendLinks.vue?3c30","webpack:///./src/domains/declaraties/pages/indienen/components/i18n.ts","webpack:///./src/domains/declaraties/pages/indienen/components/IngediendLinks.vue","webpack:///./src/domains/declaraties/pages/indienen/components/IngediendLinks.vue?9403","webpack:///./src/domains/declaraties/pages/indienen/components/IngediendLinks.vue?14d5","webpack:///./src/domains/declaraties/components/kassabon/Kassabon.vue?143b","webpack:///./src/domains/declaraties/components/kassabon/KassabonBlock.vue?fc68","webpack:///./src/domains/declaraties/i18n.ts","webpack:///./src/domains/declaraties/components/kassabon/i18n.ts","webpack:///./src/domains/declaraties/components/kassabon/KassabonBlock.vue","webpack:///./src/domains/declaraties/components/kassabon/KassabonBlock.vue?a5e3","webpack:///./src/domains/declaraties/components/kassabon/KassabonBlock.vue?9f51","webpack:///./src/domains/declaraties/components/kassabon/Kassabon.vue","webpack:///./src/domains/declaraties/components/kassabon/Kassabon.vue?18cf","webpack:///./src/domains/declaraties/components/kassabon/Kassabon.vue?bbf8","webpack:///./src/domains/declaraties/components/ideal/IdealSuccess.vue","webpack:///./src/domains/declaraties/components/ideal/IdealSuccess.vue?5c36","webpack:///./src/domains/declaraties/components/ideal/IdealSuccess.vue?3ce2","webpack:///./src/domains/declaraties/pages/factuur/UploadFactuur.vue?7b45","webpack:///./src/domains/declaraties/pages/factuur/UploadFactuurOpstellen.vue?241b","webpack:///./src/components/entities/FileUpload/FileUpload.vue?9f33","webpack:///./src/domains/remoteFile/dataAccess/mappers/mapVueUploadItem.ts","webpack:///./src/components/entities/FileUpload/useFileUpload.ts","webpack:///./src/components/entities/FileUpload/i18n.ts","webpack:///./src/components/entities/FileUpload/FileUpload.vue","webpack:///./src/components/entities/FileUpload/FileUpload.vue?43aa","webpack:///./src/components/entities/FileUpload/FileUpload.vue?766f","webpack:///./src/domains/declaraties/pages/factuur/i18n.ts","webpack:///./src/domains/declaraties/pages/factuur/UploadFactuurOpstellen.vue","webpack:///./src/domains/declaraties/pages/factuur/UploadFactuurOpstellen.vue?24b9","webpack:///./src/domains/declaraties/pages/factuur/UploadFactuurOpstellen.vue?ad98","webpack:///./src/domains/declaraties/pages/factuur/UploadFactuurControleren.vue?59d4","webpack:///./src/domains/declaraties/pages/factuur/UploadFactuurControleren.vue","webpack:///./src/domains/declaraties/pages/factuur/UploadFactuurControleren.vue?d17b","webpack:///./src/domains/declaraties/pages/factuur/UploadFactuurControleren.vue?cfed","webpack:///./src/domains/declaraties/pages/factuur/UploadFactuurSucces.vue?7a36","webpack:///./src/domains/declaraties/pages/factuur/UploadFactuurSucces.vue","webpack:///./src/domains/declaraties/pages/factuur/UploadFactuurSucces.vue?b9cd","webpack:///./src/domains/declaraties/pages/factuur/UploadFactuurSucces.vue?2e27","webpack:///./src/domains/declaraties/dataAccess/mappers/mapUploadFactuurViewModel.ts","webpack:///./src/dataAccess/validation/UploadFieldValidator.ts","webpack:///./src/dataAccess/mappers/mapExtendedValidationResult.ts","webpack:///./src/domains/declaraties/dataAccess/validators/UploadFactuurValidator.ts","webpack:///./src/domains/declaraties/dataAccess/UploadFactuurRepository.ts","webpack:///./src/domains/declaraties/pages/factuur/UploadFactuur.vue","webpack:///./src/domains/declaraties/pages/factuur/UploadFactuur.vue?bd35","webpack:///./src/domains/declaraties/pages/factuur/UploadFactuur.vue?dcc4","webpack:///./src/domains/declaraties/pages/indienen/bijkomendeZorgkosten/BijkomendeZorgkosten.vue?8c96","webpack:///./src/utils/ConditionalApiCallDebouncer.ts","webpack:///./src/domains/declaraties/dataAccess/DeclaratieConceptRetreivalService.ts","webpack:///./src/domains/declaraties/dataAccess/DeclaratieConceptBaseRepository.ts","webpack:///./src/domains/declaraties/dataAccess/mappers/mapDeclaratieTypeZorgverlenerPeriodeViewModel.ts","webpack:///./src/domains/declaraties/dataAccess/validators/BijkomendeZorgkostenNumberFieldValidator.ts","webpack:///./src/domains/declaraties/dataAccess/validators/BijkomendeZorgkostenValidator.ts","webpack:///./src/domains/declaraties/dataAccess/BijkomendeZorgkostenRepository.ts","webpack:///./src/domains/declaraties/pages/indienen/bijkomendeZorgkosten/BijkomendeZorgkostenOpstellen.vue?def0","webpack:///./src/domains/declaraties/pages/indienen/i18n.ts","webpack:///./src/domains/declaraties/pages/indienen/bijkomendeZorgkosten/i18n.ts","webpack:///./src/components/entities/CurrencyField/CurrencyField.vue?e1ef","webpack:///./src/composables/useTransformMulti.ts","webpack:///./src/composables/useEuroCentTransform.ts","webpack:///./src/components/entities/CurrencyField/i18n.ts","webpack:///./src/components/entities/CurrencyField/CurrencyField.vue","webpack:///./src/components/entities/CurrencyField/CurrencyField.vue?d3f8","webpack:///./src/components/entities/CurrencyField/CurrencyField.vue?aef0","webpack:///./src/domains/declaraties/components/zorgverlenerCard/ZorgverlenerCard.vue?1774","webpack:///./src/domains/declaraties/components/zorgverlenerCard/i18n.ts","webpack:///./src/domains/declaraties/components/declaratieZokPeriode/DeclaratieZokPeriode.vue?bff8","webpack:///./src/domains/declaraties/components/declaratieZokPeriode/i18n.ts","webpack:///./src/domains/declaraties/components/declaratieZokPeriode/DeclaratieZokPeriode.vue","webpack:///./src/domains/declaraties/components/declaratieZokPeriode/DeclaratieZokPeriode.vue?64da","webpack:///./src/domains/declaraties/components/declaratieZokPeriode/DeclaratieZokPeriode.vue?4b79","webpack:///./src/domains/declaraties/components/zorgverlenerCard/useZorgverlenerCardRepository.ts","webpack:///./src/domains/declaraties/components/zorgverlenerCard/models/ZorgverlenerCard.ts","webpack:///./src/domains/declaraties/components/zorgverlenerCard/ZorgverlenerCardValidator.ts","webpack:///./src/domains/declaraties/components/zorgverlenerCard/ZorgverlenerCardRepository.ts","webpack:///./src/components/entities/DatePeriodSelect/DatePeriodSelect.vue?eb30","webpack:///./src/components/entities/DatePeriodSelect/i18n.ts","webpack:///./src/components/entities/DatePeriodSelect/useDatePeriodSelect.ts","webpack:///./src/components/entities/DatePeriodSelect/DatePeriodSelect.vue","webpack:///./src/components/entities/DatePeriodSelect/DatePeriodSelect.vue?fdb6","webpack:///./src/components/entities/DatePeriodSelect/DatePeriodSelect.vue?3ee9","webpack:///./src/domains/declaraties/components/zorgverlenerCard/useConvertApiDateArrayToSelectable.ts","webpack:///./src/domains/declaraties/components/zorgverlenerCard/ZorgverlenerCard.vue","webpack:///./src/domains/declaraties/components/zorgverlenerCard/ZorgverlenerCard.vue?a3c9","webpack:///./src/domains/declaraties/components/zorgverlenerCard/ZorgverlenerCard.vue?2bb4","webpack:///./src/domains/declaraties/components/opslaan/Opslaan.vue?db17","webpack:///./src/domains/declaraties/components/opslaan/i18n.ts","webpack:///./src/domains/declaraties/components/opslaan/Opslaan.vue","webpack:///./src/domains/declaraties/components/opslaan/Opslaan.vue?58c9","webpack:///./src/domains/declaraties/components/opslaan/Opslaan.vue?6e00","webpack:///./src/domains/declaraties/pages/useOpslaan.ts","webpack:///./src/domains/declaraties/pages/indienen/bijkomendeZorgkosten/BijkomendeZorgkostenOpstellen.vue","webpack:///./src/domains/declaraties/pages/indienen/bijkomendeZorgkosten/BijkomendeZorgkostenOpstellen.vue?e8c7","webpack:///./src/domains/declaraties/pages/indienen/bijkomendeZorgkosten/BijkomendeZorgkostenOpstellen.vue?517e","webpack:///./src/domains/declaraties/pages/indienen/bijkomendeZorgkosten/BijkomendeZorgkostenControleren.vue?6fa6","webpack:///./src/domains/declaraties/pages/indienen/bijkomendeZorgkosten/BijkomendeZorgkostenControleren.vue","webpack:///./src/domains/declaraties/pages/indienen/bijkomendeZorgkosten/BijkomendeZorgkostenControleren.vue?526b","webpack:///./src/domains/declaraties/pages/indienen/bijkomendeZorgkosten/BijkomendeZorgkostenControleren.vue?ff2e","webpack:///./src/domains/declaraties/pages/indienen/bijkomendeZorgkosten/BijkomendeZorgkostenIngediend.vue?cf33","webpack:///./src/domains/declaraties/pages/indienen/bijkomendeZorgkosten/BijkomendeZorgkostenIngediend.vue","webpack:///./src/domains/declaraties/pages/indienen/bijkomendeZorgkosten/BijkomendeZorgkostenIngediend.vue?58eb","webpack:///./src/domains/declaraties/pages/indienen/bijkomendeZorgkosten/BijkomendeZorgkostenIngediend.vue?f2cc","webpack:///src/domains/declaraties/pages/indienen/bijkomendeZorgkosten/BijkomendeZorgkosten.vue","webpack:///./src/domains/declaraties/pages/indienen/bijkomendeZorgkosten/BijkomendeZorgkosten.vue?3a5b","webpack:///./src/domains/declaraties/pages/indienen/bijkomendeZorgkosten/BijkomendeZorgkosten.vue","webpack:///./src/domains/declaraties/pages/indienen/DeclaratieIndienen.vue?a356","webpack:///./src/domains/declaraties/pages/helpPanels/useDeclaratieIndienenHelpItems.ts","webpack:///./src/domains/declaraties/pages/indienen/useDeclaratieLinks.ts","webpack:///src/domains/declaraties/pages/indienen/DeclaratieIndienen.vue","webpack:///./src/domains/declaraties/pages/indienen/DeclaratieIndienen.vue?6d6d","webpack:///./src/domains/declaraties/pages/indienen/DeclaratieIndienen.vue","webpack:///./src/domains/declaraties/pages/indienen/feestdagenUitkering/FeestdagenUitkering.vue?91af","webpack:///./src/domains/declaraties/routes/getIdealRedirectLink.ts","webpack:///./src/domains/declaraties/dataAccess/IdealRepository.ts","webpack:///./src/domains/declaraties/dataAccess/validators/FeestdagenUitkeringValidator.ts","webpack:///./src/domains/declaraties/dataAccess/FeestdagenUitkeringRepository.ts","webpack:///./src/domains/declaraties/pages/indienen/feestdagenUitkering/FeestdagenUitkeringOpstellen.vue?30bf","webpack:///./src/domains/declaraties/pages/indienen/feestdagenUitkering/i18n.ts","webpack:///./src/domains/declaraties/pages/indienen/feestdagenUitkering/FeestdagenUitkeringOpstellen.vue","webpack:///./src/domains/declaraties/pages/indienen/feestdagenUitkering/FeestdagenUitkeringOpstellen.vue?bf66","webpack:///./src/domains/declaraties/pages/indienen/feestdagenUitkering/FeestdagenUitkeringOpstellen.vue?4860","webpack:///./src/domains/declaraties/pages/indienen/feestdagenUitkering/FeestdagenUitkeringControleren.vue?ad8d","webpack:///./src/domains/declaraties/components/ideal/Ideal.vue?216c","webpack:///./src/domains/declaraties/components/ideal/Ideal.vue","webpack:///./src/domains/declaraties/components/ideal/Ideal.vue?3ee8","webpack:///./src/domains/declaraties/components/ideal/Ideal.vue?fcf6","webpack:///./src/domains/declaraties/components/budgetSelectie/BudgetSelectie.vue?afa8","webpack:///./src/domains/declaraties/components/budgetSelectie/i18n.ts","webpack:///./src/domains/declaraties/components/budgetSelectie/BudgetSelectie.vue","webpack:///./src/domains/declaraties/components/budgetSelectie/BudgetSelectie.vue?ddd2","webpack:///./src/domains/declaraties/components/budgetSelectie/BudgetSelectie.vue?836f","webpack:///./src/domains/declaraties/pages/indienen/feestdagenUitkering/FeestdagenUitkeringControleren.vue","webpack:///./src/domains/declaraties/pages/indienen/feestdagenUitkering/FeestdagenUitkeringControleren.vue?2a59","webpack:///./src/domains/declaraties/pages/indienen/feestdagenUitkering/FeestdagenUitkeringControleren.vue?4bd2","webpack:///./src/domains/declaraties/pages/indienen/feestdagenUitkering/FeestdagenUitkeringIngediend.vue?1a2e","webpack:///./src/domains/declaraties/pages/indienen/feestdagenUitkering/FeestdagenUitkeringIngediend.vue","webpack:///./src/domains/declaraties/pages/indienen/feestdagenUitkering/FeestdagenUitkeringIngediend.vue?89e9","webpack:///./src/domains/declaraties/pages/indienen/feestdagenUitkering/FeestdagenUitkeringIngediend.vue?bf37","webpack:///src/domains/declaraties/pages/indienen/feestdagenUitkering/FeestdagenUitkering.vue","webpack:///./src/domains/declaraties/pages/indienen/feestdagenUitkering/FeestdagenUitkering.vue?74e2","webpack:///./src/domains/declaraties/pages/indienen/feestdagenUitkering/FeestdagenUitkering.vue","webpack:///./src/domains/declaraties/pages/indienen/verantwoordingsvrijBedrag/VerantwoordingsvrijBedrag.vue?2607","webpack:///./src/domains/account/dataAccess/mappers/mapLand.ts","webpack:///./src/domains/account/dataAccess/LandenService.ts","webpack:///./src/domains/account/dataAccess/models/Address.ts","webpack:///./src/domains/account/dataAccess/repositories/address/AddressValidator.ts","webpack:///./src/domains/account/dataAccess/repositories/address/AddressRepository.ts","webpack:///./src/domains/account/dataAccess/repositories/bankrekening/BankrekeningValidator.ts","webpack:///./src/domains/account/dataAccess/repositories/bankrekening/BankrekeningRepository.ts","webpack:///./src/domains/declaraties/dataAccess/models/indienen/VerantwoordingsvrijBedrag.ts","webpack:///./src/domains/declaraties/dataAccess/validators/CurrencyWithNumberFieldValidator.ts","webpack:///./src/domains/declaraties/dataAccess/validators/VerantwoordingsvrijBedragValidator.ts","webpack:///./src/domains/declaraties/dataAccess/VerantwoordingsvrijBedragRepository.ts","webpack:///./src/domains/declaraties/pages/indienen/verantwoordingsvrijBedrag/VerantwoordingsvrijBedragOpstellen.vue?3c97","webpack:///./src/domains/declaraties/pages/indienen/verantwoordingsvrijBedrag/i18n.ts","webpack:///./src/domains/account/components/Bankrekening/Bankrekening.vue?bb57","webpack:///./src/domains/account/components/Bankrekening/i18n.ts","webpack:///./src/domains/account/components/Adres/Adres.vue?8bbe","webpack:///./src/domains/account/components/Adres/i18n.ts","webpack:///./src/domains/account/components/Adres/Adres.vue","webpack:///./src/domains/account/components/Adres/Adres.vue?8783","webpack:///./src/domains/account/components/Adres/Adres.vue?9de2","webpack:///./src/domains/account/components/Bankrekening/Bankrekening.vue","webpack:///./src/domains/account/components/Bankrekening/Bankrekening.vue?3d1d","webpack:///./src/domains/account/components/Bankrekening/Bankrekening.vue?10a6","webpack:///./src/domains/declaraties/pages/indienen/verantwoordingsvrijBedrag/useVerantwoordingsvrijBedrag.ts","webpack:///./src/domains/declaraties/pages/indienen/verantwoordingsvrijBedrag/VerantwoordingsvrijBedragOpstellen.vue","webpack:///./src/domains/declaraties/pages/indienen/verantwoordingsvrijBedrag/VerantwoordingsvrijBedragOpstellen.vue?0f5d","webpack:///./src/domains/declaraties/pages/indienen/verantwoordingsvrijBedrag/VerantwoordingsvrijBedragOpstellen.vue?ef42","webpack:///./src/domains/declaraties/pages/indienen/verantwoordingsvrijBedrag/VerantwoordingsvrijBedragControleren.vue?be2f","webpack:///./src/domains/declaraties/pages/indienen/verantwoordingsvrijBedrag/VerantwoordingsvrijBedragControleren.vue","webpack:///./src/domains/declaraties/pages/indienen/verantwoordingsvrijBedrag/VerantwoordingsvrijBedragControleren.vue?ec31","webpack:///./src/domains/declaraties/pages/indienen/verantwoordingsvrijBedrag/VerantwoordingsvrijBedragControleren.vue?f885","webpack:///./src/domains/declaraties/pages/indienen/verantwoordingsvrijBedrag/VerantwoordingsvrijBedragIngediend.vue?b2d9","webpack:///./src/domains/declaraties/pages/indienen/verantwoordingsvrijBedrag/VerantwoordingsvrijBedragIngediend.vue","webpack:///./src/domains/declaraties/pages/indienen/verantwoordingsvrijBedrag/VerantwoordingsvrijBedragIngediend.vue?8081","webpack:///./src/domains/declaraties/pages/indienen/verantwoordingsvrijBedrag/VerantwoordingsvrijBedragIngediend.vue?d113","webpack:///./src/domains/declaraties/pages/indienen/verantwoordingsvrijBedrag/VerantwoordingsvrijBedrag.vue","webpack:///./src/domains/declaraties/pages/indienen/verantwoordingsvrijBedrag/VerantwoordingsvrijBedrag.vue?f1c8","webpack:///./src/domains/declaraties/pages/indienen/verantwoordingsvrijBedrag/VerantwoordingsvrijBedrag.vue?fc94","webpack:///./src/domains/declaraties/pages/overzicht/DeclaratiesOverzicht.vue?1966","webpack:///./src/domains/declaraties/pages/i18n.ts","webpack:///./src/domains/declaraties/pages/overzicht/i18n.ts","webpack:///./src/domains/declaraties/dataAccess/mappers/mapDeclaratieOverzichtEntry.ts","webpack:///./src/domains/declaraties/dataAccess/DeclaratieOverzichtService.ts","webpack:///./src/domains/declaraties/pages/overzicht/composables/useTableHeaders.ts","webpack:///./src/domains/declaraties/pages/overzicht/declaratiesOverzichtHelpPanel.ts","webpack:///./src/domains/declaraties/pages/overzicht/supportedDeleteStatuses.ts","webpack:///./src/domains/declaraties/pages/overzicht/supportedOpenStatuses.ts","webpack:///./src/domains/declaraties/pages/overzicht/composables/useDataEnrichmentDeclaratieOverzicht.ts","webpack:///./src/domains/declaraties/pages/useDataEnrichmentIngediendeDeclaratie.ts","webpack:///./src/utils/dataFormatters/csvFormatter.ts","webpack:///./src/utils/downloader/downloader.ts","webpack:///./src/domains/declaraties/pages/overzicht/composables/useDownloadTableDataCsv.ts","webpack:///./src/domains/declaraties/pages/overzicht/composables/useFiltersDeclaratieOverzicht.ts","webpack:///./src/domains/declaraties/pages/overzicht/modals/StatusInfoDeclaratiesOverzicht.vue?f334","webpack:///./src/domains/declaraties/pages/overzicht/modals/i18n.ts","webpack:///./src/domains/declaraties/pages/overzicht/modals/StatusInfoDeclaratiesOverzicht.vue","webpack:///./src/domains/declaraties/pages/overzicht/modals/StatusInfoDeclaratiesOverzicht.vue?cbeb","webpack:///./src/domains/declaraties/pages/overzicht/modals/StatusInfoDeclaratiesOverzicht.vue?1694","webpack:///./src/domains/declaraties/pages/overzicht/modals/PeriodeInfoDeclaratiesOverzicht.vue?4368","webpack:///./src/domains/declaraties/pages/overzicht/modals/PeriodeInfoDeclaratiesOverzicht.vue","webpack:///./src/domains/declaraties/pages/overzicht/modals/PeriodeInfoDeclaratiesOverzicht.vue?137d","webpack:///./src/domains/declaraties/pages/overzicht/modals/PeriodeInfoDeclaratiesOverzicht.vue?b4b1","webpack:///./src/domains/declaraties/pages/overzicht/modals/DeleteDeclaratieConfirmation.vue?65bf","webpack:///./src/domains/declaraties/pages/overzicht/modals/DeleteDeclaratieConfirmation.vue","webpack:///./src/domains/declaraties/pages/overzicht/modals/DeleteDeclaratieConfirmation.vue?6a45","webpack:///./src/domains/declaraties/pages/overzicht/modals/DeleteDeclaratieConfirmation.vue?49e3","webpack:///./src/domains/declaraties/pages/overzicht/TableActions.vue?a925","webpack:///./src/domains/declaraties/pages/overzicht/TableActions.vue","webpack:///./src/domains/declaraties/pages/overzicht/TableActions.vue?fc8f","webpack:///./src/domains/declaraties/pages/overzicht/TableActions.vue?8fb7","webpack:///./src/domains/declaraties/pages/overzicht/DeclaratiesOverzicht.vue","webpack:///./src/domains/declaraties/pages/overzicht/DeclaratiesOverzicht.vue?8187","webpack:///./src/domains/declaraties/pages/overzicht/DeclaratiesOverzicht.vue?c4af","webpack:///./src/domains/declaraties/pages/weergeven/verantwoordingsvrijBedrag/WeergevenVerantwoordingsvrijBedrag.vue?2ea1","webpack:///./src/domains/account/components/Bankrekening/BankrekeningWeergeven.vue?6ffb","webpack:///./src/domains/account/components/Adres/AdresWeergeven.vue?8097","webpack:///./src/domains/account/components/Adres/AdresWeergeven.vue","webpack:///./src/domains/account/components/Adres/AdresWeergeven.vue?6b1d","webpack:///./src/domains/account/components/Adres/AdresWeergeven.vue?f3ca","webpack:///./src/domains/account/components/Bankrekening/BankrekeningWeergeven.vue","webpack:///./src/domains/account/components/Bankrekening/BankrekeningWeergeven.vue?a9c4","webpack:///./src/domains/account/components/Bankrekening/BankrekeningWeergeven.vue?80a4","webpack:///./src/domains/declaraties/pages/weergeven/components/ScannedDocumentsCard.vue?141f","webpack:///./src/domains/declaraties/pages/weergeven/components/i18n.ts","webpack:///./src/domains/declaraties/pages/weergeven/components/ScannedDocumentsCard.vue","webpack:///./src/domains/declaraties/pages/weergeven/components/ScannedDocumentsCard.vue?14b5","webpack:///./src/domains/declaraties/pages/weergeven/components/ScannedDocumentsCard.vue?d50b","webpack:///./src/domains/declaraties/pages/weergeven/i18n.ts","webpack:///./src/domains/declaraties/pages/weergeven/verantwoordingsvrijBedrag/i18n.ts","webpack:///./src/domains/declaraties/pages/weergeven/WeergevenDeclaratie.vue?06f5","webpack:///./src/domains/declaraties/pages/weergeven/WeergevenDeclaratie.vue","webpack:///./src/domains/declaraties/pages/weergeven/WeergevenDeclaratie.vue?ebb1","webpack:///./src/domains/declaraties/pages/weergeven/WeergevenDeclaratie.vue?4ba3","webpack:///./src/domains/declaraties/dataAccess/models/ingediend/IngediendeDeclaratie.ts","webpack:///./src/domains/declaraties/dataAccess/models/ingediend/WeergevenDeclaratie.ts","webpack:///./src/domains/declaraties/dataAccess/models/ingediend/WeergevenVerantwoordingsvrijBedrag.ts","webpack:///./src/domains/declaraties/mocks/models/emptyWeergevenDeclaratieViewModel.ts","webpack:///./src/domains/declaraties/dataAccess/mappers/mapWeergevenDeclaratie.ts","webpack:///./src/domains/declaraties/pages/weergeven/verantwoordingsvrijBedrag/WeergevenVerantwoordingsvrijBedrag.vue","webpack:///./src/domains/declaraties/pages/weergeven/verantwoordingsvrijBedrag/WeergevenVerantwoordingsvrijBedrag.vue?4bcd","webpack:///./src/domains/declaraties/pages/weergeven/verantwoordingsvrijBedrag/WeergevenVerantwoordingsvrijBedrag.vue?55c7","webpack:///./src/domains/declaraties/pages/weergeven/feestdagenUitkering/WeergevenFeestdagenUitkering.vue?f659","webpack:///./src/domains/declaraties/dataAccess/models/ingediend/WeergevenFeestdagenUitkering.ts","webpack:///./src/domains/declaraties/pages/weergeven/useDataEnrichmentDeclaratieIntrekbaarheid.ts","webpack:///./src/domains/declaraties/pages/weergeven/feestdagenUitkering/composable/useFeestdagenUitkeringRetriever.ts","webpack:///./src/domains/declaraties/pages/weergeven/feestdagenUitkering/components/DeclaratieCard.vue?10e9","webpack:///./src/domains/declaraties/pages/weergeven/feestdagenUitkering/components/i18n.ts","webpack:///./src/domains/declaraties/pages/weergeven/feestdagenUitkering/components/DeclaratieCard.vue","webpack:///./src/domains/declaraties/pages/weergeven/feestdagenUitkering/components/DeclaratieCard.vue?71c7","webpack:///./src/domains/declaraties/pages/weergeven/feestdagenUitkering/components/DeclaratieCard.vue?4de3","webpack:///./src/domains/declaraties/pages/weergeven/feestdagenUitkering/components/BegunstigdeCard.vue?7985","webpack:///./src/domains/declaraties/pages/weergeven/feestdagenUitkering/components/BegunstigdeCard.vue","webpack:///./src/domains/declaraties/pages/weergeven/feestdagenUitkering/components/BegunstigdeCard.vue?baa4","webpack:///./src/domains/declaraties/pages/weergeven/feestdagenUitkering/components/BegunstigdeCard.vue?57d2","webpack:///./src/domains/declaraties/pages/weergeven/feestdagenUitkering/WeergevenFeestdagenUitkering.vue","webpack:///./src/domains/declaraties/pages/weergeven/feestdagenUitkering/WeergevenFeestdagenUitkering.vue?3027","webpack:///./src/domains/declaraties/pages/weergeven/feestdagenUitkering/WeergevenFeestdagenUitkering.vue?9f10","webpack:///./src/domains/declaraties/pages/weergeven/feestdagenUitkering/IntrekkenFeestdagenUitkering.vue?6794","webpack:///./src/domains/declaraties/pages/weergeven/IntrekkenDeclaratie.vue?786f","webpack:///./src/domains/declaraties/pages/weergeven/components/IntrekkenSignatureForm.vue?5686","webpack:///./src/domains/declaraties/pages/weergeven/components/useSignatureValidation.ts","webpack:///./src/domains/declaraties/pages/weergeven/components/IntrekkenSignatureForm.vue","webpack:///./src/domains/declaraties/pages/weergeven/components/IntrekkenSignatureForm.vue?a5ab","webpack:///./src/domains/declaraties/pages/weergeven/components/IntrekkenSignatureForm.vue?f6e4","webpack:///./src/domains/declaraties/pages/weergeven/IntrekkenDeclaratieConfirmation.vue?50e6","webpack:///./src/domains/declaraties/pages/weergeven/IntrekkenDeclaratieConfirmation.vue","webpack:///./src/domains/declaraties/pages/weergeven/IntrekkenDeclaratieConfirmation.vue?9dfe","webpack:///./src/domains/declaraties/pages/weergeven/IntrekkenDeclaratieConfirmation.vue?b9c4","webpack:///./src/domains/declaraties/pages/weergeven/IntrekkenDeclaratie.vue","webpack:///./src/domains/declaraties/pages/weergeven/IntrekkenDeclaratie.vue?9ecc","webpack:///./src/domains/declaraties/pages/weergeven/IntrekkenDeclaratie.vue?2546","webpack:///./src/domains/declaraties/pages/weergeven/feestdagenUitkering/IntrekkenFeestdagenUitkering.vue","webpack:///./src/domains/declaraties/pages/weergeven/feestdagenUitkering/IntrekkenFeestdagenUitkering.vue?0a06","webpack:///./src/domains/declaraties/pages/weergeven/feestdagenUitkering/IntrekkenFeestdagenUitkering.vue?626a","webpack:///./src/domains/declaraties/pages/weergeven/bijkomendezorgkosten/WeergevenBijkomendeZorgkosten.vue?5976","webpack:///./src/domains/declaraties/dataAccess/models/ingediend/WeergevenBijkomendeZorgkosten.ts","webpack:///./src/domains/declaraties/pages/weergeven/bijkomendezorgkosten/composable/useBijkomendeZorgkostenRetriever.ts","webpack:///./src/domains/declaraties/pages/weergeven/bijkomendezorgkosten/components/DeclaratieCard.vue?8dc9","webpack:///./src/domains/declaraties/pages/weergeven/bijkomendezorgkosten/components/i18n.ts","webpack:///./src/domains/declaraties/pages/weergeven/bijkomendezorgkosten/components/DeclaratieCard.vue","webpack:///./src/domains/declaraties/pages/weergeven/bijkomendezorgkosten/components/DeclaratieCard.vue?6a43","webpack:///./src/domains/declaraties/pages/weergeven/bijkomendezorgkosten/components/DeclaratieCard.vue?6880","webpack:///./src/domains/declaraties/pages/weergeven/bijkomendezorgkosten/components/BegunstigdeCard.vue?06e1","webpack:///./src/domains/declaraties/pages/weergeven/bijkomendezorgkosten/components/BegunstigdeCard.vue","webpack:///./src/domains/declaraties/pages/weergeven/bijkomendezorgkosten/components/BegunstigdeCard.vue?688c","webpack:///./src/domains/declaraties/pages/weergeven/bijkomendezorgkosten/components/BegunstigdeCard.vue?3a25","webpack:///./src/domains/declaraties/pages/weergeven/bijkomendezorgkosten/WeergevenBijkomendeZorgkosten.vue","webpack:///./src/domains/declaraties/pages/weergeven/bijkomendezorgkosten/WeergevenBijkomendeZorgkosten.vue?6757","webpack:///./src/domains/declaraties/pages/weergeven/bijkomendezorgkosten/WeergevenBijkomendeZorgkosten.vue?766c","webpack:///./src/domains/declaraties/pages/weergeven/bijkomendezorgkosten/IntrekkenBijkomendeZorgkosten.vue?65a3","webpack:///./src/domains/declaraties/pages/weergeven/bijkomendezorgkosten/IntrekkenBijkomendeZorgkosten.vue","webpack:///./src/domains/declaraties/pages/weergeven/bijkomendezorgkosten/IntrekkenBijkomendeZorgkosten.vue?5b07","webpack:///./src/domains/declaraties/pages/weergeven/bijkomendezorgkosten/IntrekkenBijkomendeZorgkosten.vue?a251","webpack:///./src/domains/declaraties/pages/indienen/factuurReiskosten/FactuurReiskosten.vue?c727","webpack:///./src/domains/declaraties/pages/indienen/factuurReiskosten/i18n.ts","webpack:///./src/domains/declaraties/dataAccess/validators/FactuurReiskostenValidator.ts","webpack:///./src/domains/declaraties/dataAccess/FactuurReiskostenRepository.ts","webpack:///./src/domains/declaraties/pages/indienen/factuurReiskosten/FactuurReiskostenOpstellen.vue?2ed1","webpack:///./src/domains/declaraties/pages/indienen/factuurReiskosten/FactuurReiskostenOpstellen.vue","webpack:///./src/domains/declaraties/pages/indienen/factuurReiskosten/FactuurReiskostenOpstellen.vue?a0ff","webpack:///./src/domains/declaraties/pages/indienen/factuurReiskosten/FactuurReiskostenOpstellen.vue?dbee","webpack:///./src/domains/declaraties/pages/indienen/factuurReiskosten/FactuurReiskostenControleren.vue?aeeb","webpack:///./src/domains/declaraties/pages/indienen/factuurReiskosten/FactuurReiskostenControleren.vue","webpack:///./src/domains/declaraties/pages/indienen/factuurReiskosten/FactuurReiskostenControleren.vue?91f4","webpack:///./src/domains/declaraties/pages/indienen/factuurReiskosten/FactuurReiskostenControleren.vue?76f5","webpack:///./src/domains/declaraties/pages/indienen/factuurReiskosten/FactuurReiskostenIngediend.vue?f42d","webpack:///./src/domains/declaraties/pages/indienen/factuurReiskosten/FactuurReiskostenIngediend.vue","webpack:///./src/domains/declaraties/pages/indienen/factuurReiskosten/FactuurReiskostenIngediend.vue?9e3e","webpack:///./src/domains/declaraties/pages/indienen/factuurReiskosten/FactuurReiskostenIngediend.vue?e638","webpack:///src/domains/declaraties/pages/indienen/factuurReiskosten/FactuurReiskosten.vue","webpack:///./src/domains/declaraties/pages/indienen/factuurReiskosten/FactuurReiskosten.vue?b100","webpack:///./src/domains/declaraties/pages/indienen/factuurReiskosten/FactuurReiskosten.vue","webpack:///./src/domains/declaraties/routes/policies.ts","webpack:///./src/domains/declaraties/routes/routeItems.ts","webpack:///D:/_work/31/s/Phoenix/lib/index.js","webpack:///./src/utils/globalEventBus.ts","webpack:///./src/domains/account/policies/helpers.ts","webpack:///./src/dataAccess/validation/FieldValidator.ts","webpack:///./src/components/entities/LeavePageDialog/LeavePageDialog.vue?5f46","webpack:///./src/domains/zorgovereenkomst/pages/inzien/vertegenwoordigers/ZorgovereenkomstInzienVertegenwoordiger.vue?2392","webpack:///./src/plugins/composition-api.ts","webpack:///./src/domains/declaraties/components/kassabon/Kassabon.vue?4992","webpack:///./src/domains/zorgovereenkomst/pages/inzien/ZorgovereenkomstInzien.vue?f09f","webpack:///./src/domains/zorgovereenkomst/dataAccess/ZorgovereenkomstBekijkenService.ts","webpack:///./src/domains/zorgovereenkomst/pages/inzien/composables/useZorgovereenkomstInzien.ts","webpack:///./src/domains/zorgovereenkomst/pages/inzien/composables/useZorgovereenkomstInzienAlgemeneAfspraken.ts","webpack:///./src/domains/zorgovereenkomst/pages/inzien/helpers/helpers.ts","webpack:///./src/domains/zorgovereenkomst/pages/inzien/composables/useZorgovereenkomstInzienDeelnemers.ts","webpack:///./src/domains/zorgovereenkomst/pages/inzien/composables/useZorgovereenkomstInzienWerkafspraken.ts","webpack:///./src/domains/zorgovereenkomst/pages/inzien/deelnemers/ZorgovereenkomstInzienDeelnemers.vue?859c","webpack:///./src/domains/zorgovereenkomst/pages/inzien/deelnemers/ZorgovereenkomstInzienDeelnemersTkb.vue?0e62","webpack:///./src/domains/zorgovereenkomst/pages/inzien/CardContentSection.vue?8884","webpack:///./src/domains/zorgovereenkomst/pages/inzien/CardContentSection.vue","webpack:///./src/domains/zorgovereenkomst/pages/inzien/CardContentSection.vue?2962","webpack:///./src/domains/zorgovereenkomst/pages/inzien/CardContentSection.vue?6a33","webpack:///./src/domains/zorgovereenkomst/pages/inzien/deelnemers/i18n.ts","webpack:///./src/domains/zorgovereenkomst/pages/inzien/deelnemers/ZorgovereenkomstInzienDeelnemersTkb.vue","webpack:///./src/domains/zorgovereenkomst/pages/inzien/deelnemers/ZorgovereenkomstInzienDeelnemersTkb.vue?57e1","webpack:///./src/domains/zorgovereenkomst/pages/inzien/deelnemers/ZorgovereenkomstInzienDeelnemersTkb.vue?94f3","webpack:///./src/domains/zorgovereenkomst/pages/inzien/deelnemers/ZorgovereenkomstInzienDeelnemer.vue?a25f","webpack:///./src/domains/zorgovereenkomst/pages/inzien/deelnemers/ZorgovereenkomstInzienDeelnemersAdres.vue?a73f","webpack:///./src/domains/zorgovereenkomst/pages/inzien/deelnemers/ZorgovereenkomstInzienDeelnemersAdres.vue","webpack:///./src/domains/zorgovereenkomst/pages/inzien/deelnemers/ZorgovereenkomstInzienDeelnemersAdres.vue?ff35","webpack:///./src/domains/zorgovereenkomst/pages/inzien/deelnemers/ZorgovereenkomstInzienDeelnemersAdres.vue?98c7","webpack:///./src/domains/zorgovereenkomst/pages/inzien/deelnemers/ZorgovereenkomstInzienDeelnemer.vue","webpack:///./src/domains/zorgovereenkomst/pages/inzien/deelnemers/ZorgovereenkomstInzienDeelnemer.vue?5d10","webpack:///./src/domains/zorgovereenkomst/pages/inzien/deelnemers/ZorgovereenkomstInzienDeelnemer.vue?3649","webpack:///./src/domains/zorgovereenkomst/pages/inzien/deelnemers/ZorgovereenkomstInzienDeelnemers.vue","webpack:///./src/domains/zorgovereenkomst/pages/inzien/deelnemers/ZorgovereenkomstInzienDeelnemers.vue?982c","webpack:///./src/domains/zorgovereenkomst/pages/inzien/deelnemers/ZorgovereenkomstInzienDeelnemers.vue?b746","webpack:///./src/domains/zorgovereenkomst/pages/inzien/vertegenwoordigers/ZorgovereenkomstInzienVertegenwoordigers.vue?9585","webpack:///./src/domains/zorgovereenkomst/pages/inzien/vertegenwoordigers/ZorgovereenkomstInzienVertegenwoordiger.vue?96c6","webpack:///./src/domains/zorgovereenkomst/pages/inzien/vertegenwoordigers/i18n.ts","webpack:///./src/domains/zorgovereenkomst/pages/inzien/vertegenwoordigers/ZorgovereenkomstInzienVertegenwoordiger.vue","webpack:///./src/domains/zorgovereenkomst/pages/inzien/vertegenwoordigers/ZorgovereenkomstInzienVertegenwoordiger.vue?ba61","webpack:///./src/domains/zorgovereenkomst/pages/inzien/vertegenwoordigers/ZorgovereenkomstInzienVertegenwoordiger.vue?ad78","webpack:///./src/domains/zorgovereenkomst/pages/inzien/vertegenwoordigers/ZorgovereenkomstInzienVertegenwoordigers.vue","webpack:///./src/domains/zorgovereenkomst/pages/inzien/vertegenwoordigers/ZorgovereenkomstInzienVertegenwoordigers.vue?dc2d","webpack:///./src/domains/zorgovereenkomst/pages/inzien/vertegenwoordigers/ZorgovereenkomstInzienVertegenwoordigers.vue?5659","webpack:///./src/domains/zorgovereenkomst/pages/inzien/documenten/ZorgovereenkomstInzienDocumenten.vue?db6d","webpack:///./src/domains/zorgovereenkomst/pages/inzien/documenten/i18n.ts","webpack:///./src/domains/zorgovereenkomst/pages/inzien/documenten/ZorgovereenkomstInzienDocumenten.vue","webpack:///./src/domains/zorgovereenkomst/pages/inzien/documenten/ZorgovereenkomstInzienDocumenten.vue?3594","webpack:///./src/domains/zorgovereenkomst/pages/inzien/documenten/ZorgovereenkomstInzienDocumenten.vue?f484","webpack:///./src/domains/zorgovereenkomst/pages/inzien/werkafspraken/ZorgovereenkomstInzienWerkafspraken.vue?66f7","webpack:///./src/domains/zorgovereenkomst/pages/inzien/werkafspraken/ZorgovereenkomstInzienWerkafsprakenLooptijd.vue?fcf1","webpack:///./src/domains/zorgovereenkomst/pages/inzien/werkafspraken/i18n.ts","webpack:///./src/domains/zorgovereenkomst/pages/inzien/werkafspraken/ZorgovereenkomstInzienWerkafsprakenLooptijd.vue","webpack:///./src/domains/zorgovereenkomst/pages/inzien/werkafspraken/ZorgovereenkomstInzienWerkafsprakenLooptijd.vue?6e29","webpack:///./src/domains/zorgovereenkomst/pages/inzien/werkafspraken/ZorgovereenkomstInzienWerkafsprakenLooptijd.vue?f878","webpack:///./src/domains/zorgovereenkomst/pages/inzien/werkafspraken/ZorgovereenkomstInzienWerkafsprakenProeftijd.vue?4412","webpack:///./src/domains/zorgovereenkomst/pages/inzien/werkafspraken/ZorgovereenkomstInzienWerkafsprakenProeftijd.vue","webpack:///./src/domains/zorgovereenkomst/pages/inzien/werkafspraken/ZorgovereenkomstInzienWerkafsprakenProeftijd.vue?93c2","webpack:///./src/domains/zorgovereenkomst/pages/inzien/werkafspraken/ZorgovereenkomstInzienWerkafsprakenProeftijd.vue?0b6e","webpack:///./src/domains/zorgovereenkomst/pages/inzien/werkafspraken/ZorgovereenkomstInzienWerkafsprakenReiskosten.vue?50db","webpack:///./src/domains/zorgovereenkomst/pages/inzien/werkafspraken/ZorgovereenkomstInzienWerkafsprakenReiskosten.vue","webpack:///./src/domains/zorgovereenkomst/pages/inzien/werkafspraken/ZorgovereenkomstInzienWerkafsprakenReiskosten.vue?937a","webpack:///./src/domains/zorgovereenkomst/pages/inzien/werkafspraken/ZorgovereenkomstInzienWerkafsprakenReiskosten.vue?8ae8","webpack:///./src/domains/zorgovereenkomst/pages/inzien/werkafspraken/ZorgovereenkomstInzienWerkafsprakenVakantieuren.vue?c441","webpack:///./src/domains/zorgovereenkomst/pages/inzien/werkafspraken/ZorgovereenkomstInzienWerkafsprakenVakantieuren.vue","webpack:///./src/domains/zorgovereenkomst/pages/inzien/werkafspraken/ZorgovereenkomstInzienWerkafsprakenVakantieuren.vue?015e","webpack:///./src/domains/zorgovereenkomst/pages/inzien/werkafspraken/ZorgovereenkomstInzienWerkafsprakenVakantieuren.vue?a132","webpack:///./src/domains/zorgovereenkomst/pages/inzien/werkafspraken/ZorgovereenkomstInzienWerkafsprakenVergoedingen.vue?5909","webpack:///./src/domains/zorgovereenkomst/pages/inzien/werkafspraken/ZorgovereenkomstInzienWerkafsprakenWeekrooster.vue?1455","webpack:///./src/domains/zorgovereenkomst/pages/inzien/NestedCardContentSection.vue?cced","webpack:///./src/domains/zorgovereenkomst/pages/inzien/NestedCardContentSection.vue","webpack:///./src/domains/zorgovereenkomst/pages/inzien/NestedCardContentSection.vue?14a7","webpack:///./src/domains/zorgovereenkomst/pages/inzien/NestedCardContentSection.vue?a1df","webpack:///./src/domains/zorgovereenkomst/pages/inzien/werkafspraken/ZorgovereenkomstInzienWerkafsprakenWeekrooster.vue","webpack:///./src/domains/zorgovereenkomst/pages/inzien/werkafspraken/ZorgovereenkomstInzienWerkafsprakenWeekrooster.vue?49a2","webpack:///./src/domains/zorgovereenkomst/pages/inzien/werkafspraken/ZorgovereenkomstInzienWerkafsprakenWeekrooster.vue?2ffb","webpack:///./src/domains/zorgovereenkomst/pages/inzien/werkafspraken/ZorgovereenkomstInzienWerkafsprakenTarieven.vue?67fa","webpack:///./src/domains/zorgovereenkomst/pages/inzien/composables/useTarieven.ts","webpack:///./src/domains/zorgovereenkomst/pages/inzien/werkafspraken/ZorgovereenkomstInzienWerkafsprakenTarieven.vue","webpack:///./src/domains/zorgovereenkomst/pages/inzien/werkafspraken/ZorgovereenkomstInzienWerkafsprakenTarieven.vue?3845","webpack:///./src/domains/zorgovereenkomst/pages/inzien/werkafspraken/ZorgovereenkomstInzienWerkafsprakenTarieven.vue?d143","webpack:///./src/domains/zorgovereenkomst/pages/inzien/werkafspraken/ZorgovereenkomstInzienWerkafsprakenVergoedingen.vue","webpack:///./src/domains/zorgovereenkomst/pages/inzien/werkafspraken/ZorgovereenkomstInzienWerkafsprakenVergoedingen.vue?91d3","webpack:///./src/domains/zorgovereenkomst/pages/inzien/werkafspraken/ZorgovereenkomstInzienWerkafsprakenVergoedingen.vue?fc5a","webpack:///./src/domains/zorgovereenkomst/pages/inzien/werkafspraken/ZorgovereenkomstInzienWerkafsprakenWwTarief.vue?97a4","webpack:///./src/domains/zorgovereenkomst/pages/inzien/composables/useWWTarief.ts","webpack:///./src/domains/zorgovereenkomst/pages/inzien/werkafspraken/ZorgovereenkomstInzienWerkafsprakenWwTarief.vue","webpack:///./src/domains/zorgovereenkomst/pages/inzien/werkafspraken/ZorgovereenkomstInzienWerkafsprakenWwTarief.vue?c161","webpack:///./src/domains/zorgovereenkomst/pages/inzien/werkafspraken/ZorgovereenkomstInzienWerkafsprakenWwTarief.vue?e096","webpack:///./src/domains/zorgovereenkomst/pages/inzien/werkafspraken/ZorgovereenkomstInzienWerkafspraken.vue","webpack:///./src/domains/zorgovereenkomst/pages/inzien/werkafspraken/ZorgovereenkomstInzienWerkafspraken.vue?30e9","webpack:///./src/domains/zorgovereenkomst/pages/inzien/werkafspraken/ZorgovereenkomstInzienWerkafspraken.vue?b35d","webpack:///./src/domains/zorgovereenkomst/pages/inzien/algemeneAfspraken/ZorgovereenkomstInzienAlgemeneAfspraken.vue?d6f3","webpack:///./src/domains/zorgovereenkomst/pages/inzien/algemeneAfspraken/ZorgovereenkomstInzienSalarisAdministratie.vue?1e1b","webpack:///./src/domains/zorgovereenkomst/pages/inzien/algemeneAfspraken/i18n.ts","webpack:///./src/domains/zorgovereenkomst/pages/inzien/algemeneAfspraken/ZorgovereenkomstInzienSalarisAdministratie.vue","webpack:///./src/domains/zorgovereenkomst/pages/inzien/algemeneAfspraken/ZorgovereenkomstInzienSalarisAdministratie.vue?fdb4","webpack:///./src/domains/zorgovereenkomst/pages/inzien/algemeneAfspraken/ZorgovereenkomstInzienSalarisAdministratie.vue?ccd5","webpack:///./src/domains/zorgovereenkomst/pages/standaardAfspraken/StandaardAfspraken.vue?b926","webpack:///./src/domains/zorgovereenkomst/pages/standaardAfspraken/i18n.ts","webpack:///./src/domains/zorgovereenkomst/pages/standaardAfspraken/StandaardAfsprakenCard.vue?d2b9","webpack:///./src/domains/zorgovereenkomst/pages/standaardAfspraken/StandaardAfsprakenCard.vue","webpack:///./src/domains/zorgovereenkomst/pages/standaardAfspraken/StandaardAfsprakenCard.vue?69d7","webpack:///./src/domains/zorgovereenkomst/pages/standaardAfspraken/StandaardAfsprakenCard.vue?3eb0","webpack:///./src/domains/zorgovereenkomst/pages/standaardAfspraken/composables/useStandaardAfspraken.ts","webpack:///./src/domains/zorgovereenkomst/pages/standaardAfspraken/StandaardAfspraken.vue","webpack:///./src/domains/zorgovereenkomst/pages/standaardAfspraken/StandaardAfspraken.vue?48b4","webpack:///./src/domains/zorgovereenkomst/pages/standaardAfspraken/StandaardAfspraken.vue?0e20","webpack:///./src/domains/zorgovereenkomst/pages/inzien/algemeneAfspraken/ZorgovereenkomstInzienZorgbeschrijving.vue?a8e5","webpack:///./src/domains/zorgovereenkomst/pages/inzien/algemeneAfspraken/ZorgovereenkomstInzienZorgbeschrijving.vue","webpack:///./src/domains/zorgovereenkomst/pages/inzien/algemeneAfspraken/ZorgovereenkomstInzienZorgbeschrijving.vue?fe3f","webpack:///./src/domains/zorgovereenkomst/pages/inzien/algemeneAfspraken/ZorgovereenkomstInzienZorgbeschrijving.vue?f6a6","webpack:///./src/domains/zorgovereenkomst/pages/inzien/algemeneAfspraken/ZorgovereenkomstInzienAlgemeneAfspraken.vue","webpack:///./src/domains/zorgovereenkomst/pages/inzien/algemeneAfspraken/ZorgovereenkomstInzienAlgemeneAfspraken.vue?91dd","webpack:///./src/domains/zorgovereenkomst/pages/inzien/algemeneAfspraken/ZorgovereenkomstInzienAlgemeneAfspraken.vue?75d0","webpack:///./src/domains/zorgovereenkomst/pages/inzien/ondertekening/ZorgovereenkomstInzienOndertekening.vue?f402","webpack:///./src/domains/zorgovereenkomst/pages/inzien/ondertekening/i18n.ts","webpack:///./src/domains/zorgovereenkomst/pages/inzien/ondertekening/ZorgovereenkomstInzienOndertekening.vue","webpack:///./src/domains/zorgovereenkomst/pages/inzien/ondertekening/ZorgovereenkomstInzienOndertekening.vue?db47","webpack:///./src/domains/zorgovereenkomst/pages/inzien/ondertekening/ZorgovereenkomstInzienOndertekening.vue?87cb","webpack:///./src/domains/zorgovereenkomst/pages/inzien/ZorgovereenkomstInzien.vue","webpack:///./src/domains/zorgovereenkomst/pages/inzien/ZorgovereenkomstInzien.vue?a848","webpack:///./src/domains/zorgovereenkomst/pages/inzien/ZorgovereenkomstInzien.vue?c63a","webpack:///./src/domains/remoteFile/dataAccess/RemoteFileService.ts","webpack:///./src/domains/declaraties/components/kassabon/KassabonBlock.vue?d62a","webpack:///./src/utils/uuidv4.ts","webpack:///./src/domains/declaraties/pages/indienen/bijkomendeZorgkosten/BijkomendeZorgkosten.vue?7550","webpack:///./src/domains/declaraties/pages/indienen/feestdagenUitkering/FeestdagenUitkeringOpstellen.vue?db33","webpack:///./src/domains/declaraties/pages/overzicht/DeclaratiesOverzicht.vue?fd17","webpack:///./src/domains/account/dataAccess/models/BankrekeningForm.ts","webpack:///./src/domains/account/components/Adres/Adres.vue?5875","webpack:///./src/domains/declaraties/pages/overzicht/modals/PeriodeInfoDeclaratiesOverzicht.vue?c76c","webpack:///./src/components/entities/TitleAndHelp/TitleAndHelp.vue?9cfc","webpack:///./src/domains/remoteFile/components/DownloadButton.vue?263a","webpack:///./src/domains/account/dataAccess/models/relaties/DeclarabeleRelatieBase.ts","webpack:///./src/domains/zorgovereenkomst/pages/index.ts","webpack:///./src/domains/zorgovereenkomst/routes/routeItems.ts","webpack:///./src/domains/declaraties/pages/indienen/verantwoordingsvrijBedrag/VerantwoordingsvrijBedragControleren.vue?6241","webpack:///./src/domains/account/dataAccess/models/AccountRelatie.ts","webpack:///./src/domains/account/dataAccess/mappers/settingMappers.ts","webpack:///./src/domains/account/dataAccess/mappers/currentUserMappers.ts","webpack:///./src/domains/account/dataAccess/models/UserSettings.ts","webpack:///./src/domains/account/dataAccess/models/CurrentUser.ts","webpack:///./src/domains/account/dataAccess/CurrentUserRepository.ts","webpack:///D:/_work/31/s/Phoenix/lib/phoenix.esm.js","webpack:///./src/domains/declaraties/pages/indienen/components/IngediendLinks.vue?7fc1","webpack:///./src/domains/declaraties/pages/weergeven/feestdagenUitkering/components/DeclaratieCard.vue?77b4","webpack:///./src/domains/error/dataAccess/ErrorLogDataService.ts","webpack:///./src/domains/error/dataAccess/ErrorLogRepository.ts","webpack:///./src/domains/i18n.ts","webpack:///./src/domains/declaraties/pages/weergeven/WeergevenDeclaratie.vue?7776","webpack:///./src/domains/error/dataAccess/ErrorLogTypes/ErrorEventLog.ts","webpack:///./src/router/i18n.ts","webpack:///./src/domains/account/policies/builders.ts","webpack:///./src/router/routeInfo.ts","webpack:///./src/router/globalRouteInfo.ts","webpack:///./src/domains/declaraties/pages/weergeven/components/IntrekkenSignatureForm.vue?00c3","webpack:///./src/dataAccess/singletons.ts","webpack:///./src/utils/cookie.ts","webpack:///./src/domains/auth/dataAccess/AuthRepository.ts","webpack:///./src/components/entities/DatePeriodSelect/DatePeriodSelect.vue?2629","webpack:///./src/domains/zorgovereenkomst/pages/inzien/i18n.ts","webpack:///./src/domains/declaraties/pages/weergeven/bijkomendezorgkosten/WeergevenBijkomendeZorgkosten.vue?e237","webpack:///./src/composables/useTransform.ts","webpack:///./src/domains/declaraties/pages/factuur/UploadFactuurOpstellen.vue?35b6","webpack:///./src/domains/declaraties/pages/indienen/verantwoordingsvrijBedrag/VerantwoordingsvrijBedragOpstellen.vue?175e","webpack:///./src/domains/_other/routes/i18n.ts","webpack:///./src/domains/_other/routes/index.ts","webpack:///./src/domains/account/dataAccess/mappers/mapVertegenwoordiger.ts","webpack:///./src/dataAccess/validation/ModelValidator.ts","webpack:///./src/domains/account/pages/Contact.vue?1a53","webpack:///./src/domains/account/pages/i18n.ts","webpack:///./src/domains/account/pages/Contact.vue","webpack:///./src/domains/account/pages/Contact.vue?95fb","webpack:///./src/domains/account/pages/Contact.vue?1076","webpack:///./src/domains/account/pages/Home.vue?1d6c","webpack:///./src/domains/account/pages/Home.vue","webpack:///./src/domains/account/pages/Home.vue?6acc","webpack:///./src/domains/account/pages/Home.vue?cd5e","webpack:///./src/components/entities/PageNotFound/PageNotFound.vue?3859","webpack:///./src/components/entities/PageNotFound/PageNotFound.vue","webpack:///./src/components/entities/PageNotFound/PageNotFound.vue?2564","webpack:///./src/components/entities/PageNotFound/PageNotFound.vue?d839","webpack:///./src/domains/account/routes/routeItems.ts","webpack:///./src/domains/zorgovereenkomst/pages/standaardAfspraken/StandaardAfsprakenCard.vue?b117","webpack:///./src/domains/zorgovereenkomst/pages/inzien/werkafspraken/ZorgovereenkomstInzienWerkafsprakenTarieven.vue?5712","webpack:///./src/domains/declaraties/pages/indienen/factuurReiskosten/FactuurReiskosten.vue?52d9","webpack:///./src/domains/zorgovereenkomst/pages/i18n.ts","webpack:///./src/domains/auth/dataAccess/AuthClient.ts","webpack:///./src/domains/settings/dataAccess/AppSettingsClient.ts","webpack:///./src/dataAccess/clients.ts","webpack:///./src/domains/budget/pages/index.ts","webpack:///./src/domains/budget/routes/policies.ts","webpack:///./src/domains/budget/routes/routeItems.ts","webpack:///./src/domains/account/dataAccess/mappers/mapBudgethouder.ts","webpack:///./src/router/routeHelper.ts","webpack:///./src/domains/zorgovereenkomst/routes/i18n.ts","webpack:///./src/domains/zorgovereenkomst/routes/index.ts","webpack:///./src/utils/sorters/dataTableSorters.ts","webpack:///./src/domains/declaraties/pages/weergeven/IntrekkenDeclaratie.vue?d05f","webpack:///./src/domains sync routes\\/index\\.ts$","webpack:///./src/domains/toekenningsbeschikking/routes/i18n.ts","webpack:///./src/domains/toekenningsbeschikking/routes/index.ts","webpack:///./src/composables/useReadyToProceedOnValidate.ts","webpack:///./src/dataAccess/ServiceBase.ts","webpack:///./src/components/entities/TitleAndHelp/TitleAndHelp.vue?68b2","webpack:///src/components/entities/TitleAndHelp/TitleAndHelp.vue","webpack:///./src/components/entities/TitleAndHelp/TitleAndHelp.vue?a3b3","webpack:///./src/components/entities/TitleAndHelp/TitleAndHelp.vue","webpack:///./src/domains/declaraties/pages/indienen/verantwoordingsvrijBedrag/VerantwoordingsvrijBedrag.vue?4d83","webpack:///./src/domains/declaraties/pages/weergeven/feestdagenUitkering/WeergevenFeestdagenUitkering.vue?59d8","webpack:///./src/domains/account/dataAccess/models/relaties/Zorgverlener.ts","webpack:///./src/domains/account/dataAccess/mappers/mapZorgverlener.ts","webpack:///./src/domains/zorgovereenkomst/pages/inzien/CardContentSection.vue?0364","webpack:///./src/domains/declaraties/components/budgetSelectie/BudgetSelectie.vue?b68d","webpack:///./src/domains/zorgovereenkomst/pages/inzien/ZorgovereenkomstInzien.vue?d5cd","webpack:///./src/domains/error/dataAccess/ErrorLogTypes/FetchErrorLog.ts","webpack:///./src/components/entities/Cobrowse/CobrowseModal.vue?c7cf","webpack:///./src/composables/useFormValidate.ts","webpack:///./src/components/entities/Cobrowse/CobrowseLabel.vue?0098","webpack:///./src/dataAccess/validation/BooleanFieldValidator.ts","webpack:///./src/domains/budget/routes/i18n.ts","webpack:///./src/domains/budget/routes/index.ts","webpack:///./src/domains/_other/routes/policies.ts","webpack:///./src/domains/_other/routes/routeItems.ts","webpack:///./src/domains/zorgovereenkomst/routes/policies.ts","webpack:///./src/domains/declaraties/pages/indienen/factuurReiskosten/FactuurReiskostenOpstellen.vue?be2c","webpack:///./src/domains/zorgovereenkomst/dataAccess/mappers/mapFiatteerToelichting.ts","webpack:///./src/domains/zorgovereenkomst/dataAccess/mappers/mapZorgovereenkomstAlgemeneAfspraken.ts","webpack:///./src/domains/toekenningsbeschikking/dataAccess/mappers/mapToekenningsBeschikking.ts","webpack:///./src/domains/zorgovereenkomst/dataAccess/mappers/mapZorgovereenkomstDeelnemers.ts","webpack:///./src/domains/zorgovereenkomst/dataAccess/mappers/mapReiskosten.ts","webpack:///./src/domains/zorgovereenkomst/dataAccess/mappers/mapTarief.ts","webpack:///./src/domains/zorgovereenkomst/dataAccess/mappers/mapWerkafspraak.ts","webpack:///./src/domains/zorgovereenkomst/dataAccess/mappers/mapWeekrooster.ts","webpack:///./src/domains/zorgovereenkomst/dataAccess/mappers/mapZorgovereenkomstWerkafspraken.ts","webpack:///./src/domains/toekenningsbeschikking/dataAccess/models/Periode.ts","webpack:///./src/domains/zorgovereenkomst/dataAccess/models/ZorgovereenkomstAlgemeneAfspraken.ts","webpack:///./src/domains/zorgovereenkomst/dataAccess/models/ZorgovereenkomstDeelnemers.ts","webpack:///./src/domains/zorgovereenkomst/dataAccess/models/ReiskostenAfspraak.ts","webpack:///./src/domains/zorgovereenkomst/dataAccess/models/ZorgovereenkomstWerkafspraken.ts","webpack:///./src/domains/zorgovereenkomst/dataAccess/models/ZorgovereenkomstOndertekening.ts","webpack:///./src/domains/zorgovereenkomst/dataAccess/models/Zorgovereenkomst.ts","webpack:///./src/domains/zorgovereenkomst/dataAccess/mappers/mapZorgovereenkomstOndertekening.ts","webpack:///./src/domains/zorgovereenkomst/dataAccess/mappers/mapZorgovereenkomst.ts","webpack:///./src/domains/zorgovereenkomst/pages/inzien/algemeneAfspraken/ZorgovereenkomstInzienAlgemeneAfspraken.vue?1822","webpack:///./src/domains/account/dataAccess/models/relaties/Budgethouder.ts","webpack:///./src/dataAccess/validation/StringFieldValidator.ts","webpack:///D:/_work/31/s/Phoenix/lib/phoenix.esm.vuetify.js","webpack:///./src/domains/remoteFile/components/DownloadButtonList.vue?30f1","webpack:///./src/App.vue?4109","webpack:///./src/components/entities/AppFooter/AppFooter.vue?fe45","webpack:///./src/components/entities/Cobrowse/Cobrowse.vue?d3d9","webpack:///./src/components/entities/Cobrowse/i18n.ts","webpack:///./src/components/entities/Cobrowse/Cobrowse.vue","webpack:///./src/components/entities/Cobrowse/Cobrowse.vue?c58a","webpack:///./src/components/entities/Cobrowse/Cobrowse.vue?7fb0","webpack:///./src/components/entities/Cobrowse/CobrowseLabel.vue?cc7a","webpack:///./src/components/entities/Cobrowse/CobrowseLabel.vue","webpack:///./src/components/entities/Cobrowse/CobrowseLabel.vue?7d08","webpack:///./src/components/entities/Cobrowse/CobrowseLabel.vue?07fc","webpack:///./src/components/entities/AppFooter/i18n.ts","webpack:///./src/components/entities/AppFooter/AppFooter.vue","webpack:///./src/components/entities/AppFooter/AppFooter.vue?84fc","webpack:///./src/components/entities/AppFooter/AppFooter.vue?8ed6","webpack:///./src/components/entities/SessionTimeoutMonitor/SessionTimeoutMonitor.vue?8b46","webpack:///./src/components/entities/SessionTimeoutMonitor/i18n.ts","webpack:///src/components/entities/SessionTimeoutMonitor/SessionTimeoutMonitor.vue","webpack:///./src/components/entities/SessionTimeoutMonitor/SessionTimeoutMonitor.vue?d26d","webpack:///./src/components/entities/SessionTimeoutMonitor/SessionTimeoutMonitor.vue","webpack:///./src/components/entities/LeavePageDialog/LeavePageDialog.vue?770c","webpack:///./src/components/entities/LeavePageDialog/i18n.ts","webpack:///./src/components/entities/LeavePageDialog/LeavePageDialog.vue","webpack:///./src/components/entities/LeavePageDialog/LeavePageDialog.vue?f84b","webpack:///./src/components/entities/LeavePageDialog/LeavePageDialog.vue?40cc","webpack:///./src/components/entities/AppHeader/AppHeader.vue?df80","webpack:///./src/components/entities/LeavePageDialog/LeavePageDialogHelper.ts","webpack:///./src/router/mainMenu/i18n.ts","webpack:///./src/components/entities/AppHeader/i18n.ts","webpack:///./src/components/entities/ProfielHeader/ProfielHeader.vue?5de4","webpack:///./src/components/entities/ProfielHeader/i18n.ts","webpack:///./src/components/entities/ProfielHeader/ProfielHeader.vue","webpack:///./src/components/entities/ProfielHeader/ProfielHeader.vue?fbed","webpack:///./src/components/entities/ProfielHeader/ProfielHeader.vue?7b47","webpack:///./src/router/mainMenu/categories.ts","webpack:///./src/router/mainMenu/menuItems.ts","webpack:///./src/router/mainMenu/index.ts","webpack:///./src/components/entities/AppHeader/useMainMenu.ts","webpack:///./src/components/entities/Cobrowse/CobrowseModal.vue?de78","webpack:///./src/components/entities/Cobrowse/CobrowseModal.vue","webpack:///./src/components/entities/Cobrowse/CobrowseModal.vue?30e8","webpack:///./src/components/entities/Cobrowse/CobrowseModal.vue?8b2b","webpack:///./src/components/entities/AppHeader/AppHeader.vue","webpack:///./src/components/entities/AppHeader/AppHeader.vue?9183","webpack:///./src/components/entities/AppHeader/AppHeader.vue?1c64","webpack:///./src/components/entities/GeneralError/GeneralError.vue?2f26","webpack:///./src/components/entities/GeneralError/i18n.ts","webpack:///./src/components/entities/GeneralError/GeneralError.vue","webpack:///./src/components/entities/GeneralError/GeneralError.vue?b5fa","webpack:///./src/components/entities/GeneralError/GeneralError.vue?c11f","webpack:///./src/domains/settings/dataAccess/mappers/appSettingsMappers.ts","webpack:///./src/domains/settings/dataAccess/AppSettingsRepository.ts","webpack:///./src/App.vue","webpack:///./src/App.vue?120e","webpack:///./src/App.vue?315a","webpack:///./src/router/routeByPolicy.ts","webpack:///./src/router/index.ts","webpack:///./src/i18n/commonChoice.ts","webpack:///./src/i18n/demographic.ts","webpack:///./src/i18n/enums/aantalWerkdagenPerWeekType.ts","webpack:///./src/i18n/enums/beeindigingswijzeType.ts","webpack:///./src/i18n/enums/bijkomendezorgkostenType.ts","webpack:///./src/i18n/enums/budgethouderZorgverlenerRelatieType.ts","webpack:///./src/i18n/enums/contractType.ts","webpack:///./src/i18n/enums/correspondentieVoorkeur.ts","webpack:///./src/i18n/enums/dag.ts","webpack:///./src/i18n/enums/declaratieType.ts","webpack:///./src/i18n/enums/geslacht.ts","webpack:///./src/i18n/enums/maand.ts","webpack:///./src/i18n/enums/redenAfsluitenType.ts","webpack:///./src/i18n/enums/reiskostenAfspraakType.ts","webpack:///./src/i18n/enums/tijdseenheidType.ts","webpack:///./src/i18n/enums/toekenningsbeschikkingStatusRedenType.ts","webpack:///./src/i18n/enums/toekenningsbeschikkingStatusTypeWeergave.ts","webpack:///./src/i18n/enums/vakantieUrenInbegrepen.ts","webpack:///./src/i18n/enums/vangnetregelingType.ts","webpack:///./src/i18n/enums/vergoedingsregelingType.ts","webpack:///./src/i18n/enums/vertegenwoordigerRolType.ts","webpack:///./src/i18n/enums/werkAfspraakType.ts","webpack:///./src/i18n/enums/werkafspraakEenheidType.ts","webpack:///./src/i18n/enums/werkafspraakStatusType.ts","webpack:///./src/i18n/enums/werkzaamheidType.ts","webpack:///./src/i18n/enums/wetType.ts","webpack:///./src/i18n/enums/wwTariefType.ts","webpack:///./src/i18n/enums/zorgFunctieType.ts","webpack:///./src/i18n/enums/declaratieStatusWeergevenType.ts","webpack:///./src/i18n/enums/redenAfkeuringType.ts","webpack:///./src/i18n/enums/index.ts","webpack:///./src/i18n/tableTypes.ts","webpack:///./src/i18n/index.ts","webpack:///./src/plugins/phoenix.ts","webpack:///./src/domains/error/events/index.ts","webpack:///./src/domains/auth/pages/SigninCallback.vue?d09b","webpack:///./src/domains/auth/pages/SigninCallback.vue","webpack:///./src/domains/auth/pages/SigninCallback.vue?8bf8","webpack:///./src/domains/auth/pages/SigninCallback.vue?e365","webpack:///./src/domains/auth/router.ts","webpack:///./src/domains/auth/setup.ts","webpack:///./src/main.ts","webpack:///./src/components/entities/RelatieSelect/RelatieSelect.vue?7659","webpack:///./src/components/entities/RelatieSelect/i18n.ts","webpack:///./src/components/entities/RelatieSelect/RelatieSelect.vue","webpack:///./src/components/entities/RelatieSelect/RelatieSelect.vue?4634","webpack:///./src/components/entities/RelatieSelect/RelatieSelect.vue?3e04","webpack:///./src/domains/ziekEnZwangerschap/pages/ziekmelden/index.ts","webpack:///./src/domains/ziekEnZwangerschap/pages/index.ts","webpack:///./src/domains/ziekEnZwangerschap/pages/zwangerschap/index.ts","webpack:///./src/domains/ziekEnZwangerschap/routes/routeItems.ts","webpack:///./src/dataAccess/models/EntityWithId.ts","webpack:///./src/domains/account/dataAccess/models/relaties/RelatieBase.ts","webpack:///./src/utils/AbortablePromise.ts","webpack:///./src/domains/ziekEnZwangerschap/routes/i18n.ts","webpack:///./src/domains/ziekEnZwangerschap/routes/index.ts","webpack:///./src/dataAccess/validation/DateFieldValidator.ts","webpack:///./src/domains/declaraties/pages/weergeven/bijkomendezorgkosten/components/DeclaratieCard.vue?0332","webpack:///./src/domains/declaraties/components/zorgverlenerCard/ZorgverlenerCard.vue?36c9","webpack:///./src/domains/account/dataAccess/mappers/policyMappers.ts","webpack:///./src/domains/account/dataAccess/PolicyService.ts","webpack:///./src/domains/declaraties/pages/indienen/feestdagenUitkering/FeestdagenUitkering.vue?786f","webpack:///./src/domains/remoteFile/dataAccess/mappers/mapDocument.ts","webpack:///./src/domains/error/dataAccess/ErrorLogTypes/PromiseRejectionEventErrorLog.ts","webpack:///./src/components/entities/GeneralError/GeneralError.vue?79e7","webpack:///./src/domains/zorgovereenkomst/pages/inzien/ondertekening/ZorgovereenkomstInzienOndertekening.vue?d71b","webpack:///./src/composables/useTranslatedDataTableSorters.ts","webpack:///./src/domains/account/dataAccess/mappers/mapAddress.ts","webpack:///./src/domains/toekenningsbeschikking/pages/index.ts","webpack:///./src/domains/toekenningsbeschikking/routes/policies.ts","webpack:///./src/domains/toekenningsbeschikking/routes/routeItems.ts","webpack:///./src/dataAccess/SubscriptionOwner.ts","webpack:///./src/utils/i18nUtils.ts","webpack:///./src/components/entities/ProfielHeader/ProfielHeader.vue?9a7c","webpack:///./src/domains/account/routes/i18n.ts","webpack:///./src/domains/account/routes/index.ts","webpack:///./src/domains/declaraties/pages/indienen/DeclaratieIndienen.vue?a8be","webpack:///./src/dataAccess/RepositoryBase.ts","webpack:///./src/domains/account/dataAccess/models/OpeningsTijden.ts","webpack:///./src/domains/account/dataAccess/mappers/contactMappers.ts","webpack:///./src/domains/account/dataAccess/ContactDataService.ts","webpack:///./src/domains/account/dataAccess/models/CurrentContactData.ts","webpack:///./src/domains/account/dataAccess/CurrentContactDataRepository.ts","webpack:///./src/utils/sorters/onKeySorters.ts","webpack:///./src/externalRouter/links.ts","webpack:///./src/externalRouter/index.ts","webpack:///./src/domains/remoteFile/components/DownloadArchiveFiles.vue?40c7","webpack:///./src/domains/remoteFile/components/DownloadButtonList.vue?dad0","webpack:///./src/domains/remoteFile/components/DownloadButton.vue?47cc","webpack:///./src/domains/remoteFile/components/DownloadButton.vue","webpack:///./src/domains/remoteFile/components/DownloadButton.vue?285e","webpack:///./src/domains/remoteFile/components/DownloadButton.vue?4687","webpack:///./src/domains/remoteFile/components/DownloadButtonList.vue","webpack:///./src/domains/remoteFile/components/DownloadButtonList.vue?1971","webpack:///./src/domains/remoteFile/components/DownloadButtonList.vue?e324","webpack:///./src/domains/remoteFile/components/DownloadArchiveFiles.vue","webpack:///./src/domains/remoteFile/components/DownloadArchiveFiles.vue?8b6d","webpack:///./src/domains/remoteFile/components/DownloadArchiveFiles.vue?f180","webpack:///./src/dataAccess/apiClientFactory.ts","webpack:///./src/assets/img/ideal-logo.svg"],"names":["webpackJsonpCallback","data","moduleId","chunkId","chunkIds","moreModules","executeModules","i","resolves","length","Object","prototype","hasOwnProperty","call","installedChunks","push","modules","parentJsonpFunction","shift","deferredModules","apply","checkDeferredModules","result","deferredModule","fulfilled","j","depId","splice","__webpack_require__","s","installedModules","installedCssChunks","jsonpScriptSrc","p","exports","module","l","e","promises","cssChunks","Promise","resolve","reject","href","fullhref","existingLinkTags","document","getElementsByTagName","tag","dataHref","getAttribute","rel","existingStyleTags","linkTag","createElement","type","onload","onerror","event","request","target","src","err","Error","code","parentNode","removeChild","head","appendChild","then","installedChunkData","promise","onScriptComplete","script","charset","timeout","nc","setAttribute","error","clearTimeout","chunk","errorType","realSrc","message","name","undefined","setTimeout","all","m","c","d","getter","o","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","oe","console","jsonpArray","window","oldJsonpFunction","slice","mapDownloadFileModel","download","id","naam","contentType","mapVueUploadItemToFileUploadViewModel","bestanden","filter","file","isArchived","map","response","mimeType","isValide","melding","imprintnummer","policy","UiOverzichtZiekZwangerschapsmeldingen","UiMuterenZiekZwangerschapsmelding","UiOpvoerenZiekZwangerschapsmelding","UiRaadplegenZiekZwangerschapsmelding","VueErrorLog","ErrorLogType","constructor","vm","info","super","_prefix","this","_stack","stack","_errorMessage","errorMessageTags","Tag","$vnode","Hook","INVALID_VALUE","isRealNaN","isNaN","isValidNumber","isValidInteger","Number","isInteger","isInvalidValue","isUndefinedOrNullOrEmpty","replaceAll","search","replace","orgStr","Transform","emptyValue","invalidValue","isValidValue","DefaultTransform","toDisplay","toString","toValue","display","isValidDisplay","NumberTransform","NaN","parseString","IntegerTransform","parseInt","mapRelatieBaseFormReadonly","relatie","assign","emptyRelatieBase","uid","burgerServiceNummer","burgerservicenummer","correspondentievoorkeur","emailAddress","emailadres","geboorteDatum","geboortedatum","geslacht","telefoonnummer1","telefoonnummer2","volledigeNaam","mapRelatieBase","addresses","adressen","mapAddress","render","_vm","_h","$createElement","_c","_self","staticRenderFns","defineComponent","setup","UserManager","signinSilentCallback","component","NotificationType","notificationType","general","isSilent","Location","location","keys","forEach","IndienenDeclaratie","messages","nl","route","title","uploadFactuur","OverzichtDeclaratie","IndienenAlgemeneDeclaratie","InvoerenZorgverlenerDeclaratie","IndienenDeclaratieGeleverdeZorgEnReiskostenZorgverlener","IndienenDeclaratieFactuurReiskostenBudgethouder","IndienenDeclaratieBijkomendeZorgkostenZorgverlener","IndienenDeclaratieFeestdagenuitkeringZorgverlener","IndienenDeclaratieWooninitiatiefEnkelHuis","IndienenDeclaratieVerantwoordingsvrijBedragBudgethouder","InzienDeclaratieVerantwoordingsvrijBedrag","InzienDeclaratieFeestdagenuitkering","IntrekkenFeestdagenUitkering","InzienDeclaratieBijkomendeZorgkosten","IntrekkenBijkomendeZorgkosten","IndienenDeclaratieIdealReturn","IndienenDeclaratieFeestdagenuitkeringZorgverlenerConceptId","IdealReturnSuccess","IdealReturnFailed","BekijkenDeclaratie","IndienenDeclaratieConcept","BekijkenTeBeoordelenZorgverlenerDeclaratie","BeoordeelZorgverlenerDeclaratie","BewerkenAfgekeurdeDeclaratieZorgverlener","BekijkenTeruggestuurdeZorgverlenerDeclaratie","InvoerenBestaandDeclaratieZorgverlener","routes","domain","routeItems","i18n","mapBankrekening","bankrekening","address","adres","bankkantoor","banknaam","hasOnlyRekeningnummer","rekeningnummer","bic","iban","tenaamstelling","selectedForm","BankrekeningForm","OtherAccount","EuIban","NumberFieldValidator","FieldValidator","modelValidator","options","numOfDecimals","extractOptionsMinMaxValue","extractOptionsOther","setTransform","getFieldValueErrorMessages","getFieldValueErrorMessagesMinMaxValue","getFieldValueErrorMessagesNumOfDecimals","getFieldValueErrorMessagesInvalidNumber","minValue","minMessage","maxValue","maxMessage","numOfDecimalsMessage","invalidNumber","invalidNumberMessage","addErrorMessage","abs","Math","rounded","floor","factor","pow","round","transform","RolType","RelatieType","GeslachtType","SoortVerstrekkerType","TourType","ApplicatieRolType","OperationType","WetType","ToekenningsbeschikkingStatusType","DeclaratieType","MaandloonDeclaratieStatusType","Maand","DeclaratieStatusWeergevenIcon","DeclaratieStatusWeergevenType","CorrespondentieVoorkeurType","DeclaratieStatusType","DeclaratieConceptStatusType","BetaalopdrachtStatusType","IdealTransactieStatusType","ContractType","AantalWerkdagenPerWeekType","WerkafspraakEenheidType","WerkzaamheidType","TijdseenheidType","MimeType","SoortDocument","FileStateType","BerichtRichting","DocumentOorsprongType","DeclaratieFoutmeldingType","BijkomendezorgkostenType","IntrekbaarheidStatusType","AlgemeneDeclaratieRedenType","OpschortingBetalingType","BudgetStatusType","ZorgFunctieType","WettelijkeVertegenwoordigerRolType","ToekenningsbeschikkingStatusTypeWeergave","ToekenningsbeschikkingStatusRedenType","RedenAfsluitenType","VertegenwoordigerSubtypeOuder","VertegenwoordigerSubtypeCurator","WerkAfspraakType","Dag","VergoedingType","VakantieUrenInbegrepen","ReiskostenAfspraakType","NieuweOfBekendeZorgverlenerType","BudgethouderZorgverlenerRelatieType","ZorgverlenerType","ZorgverlenerStatusType","ConceptStatusType","WerktaakType","WerktaakZoekType","WerktaakNotitieType","DeclaratieFiatteerType","RedenAfkeuringType","OntbrekendGegevenType","OndertekeningStatusType","WerkafspraakStatusType","TaakClaimResultaat","TaakVrijgevingResultaat","TaakGereedResultaat","TussentijdsOpslaanResultaat","ZoekWerkvoorraadGebruikerType","TaakOpslagResultaat","FiatteerToelichtingType","BeeindigingswijzeType","VergoedingsregelingType","ConceptType","Assessment","IdealReferentieType","BlokkadeRedenType","UitbetalingType","ZoekBudgethoudersType","IdentificatieSoortType","CollaborationDocumentType","ContactType","ContactmomentType","IndexkenmerkNaamType","ZorgEnReiskostenIndienenBlokkeringScenarioType","HealthStatus","VangnetregelingType","ProcessType","ProceskeuzeType","SettingType","AfwikkelingAlgemeneBlokkadeZorgverlenerWerktaakType","BuitenBehandelingAanvraagZorgovereenkomstWerktaakType","WerkvoorraadVervolgactieType","VerwijderenBudgethouderStatusType","ReiskostenVergoedingType","ZiekmeldingType","ZiekmeldingValidatieResultaat","WWTariefType","ZoekZorgverlenersType","ZorgverlenerGegevensBronType","ZorgverlenerGegevensStatusType","ZwangerschapsmeldingZorgverlenerSelectieResultaat","AuthorizedApiBase","transformOptions","initOptions","_initOptions","authRepository","ensureToken","cache","credentials","headers","Authorization","accessToken","callWithAbort","abortResult","controller","AbortController","signal","makeAbortablePromise","catch","abort","AccountClient","baseUrl","http","jsonParseReviver","url_","options_","method","transformedOptions_","fetch","_response","processGet","status","_headers","v","k","text","_responseText","result200","JSON","parse","throwException","getAanmakenAccount","processGetAanmakenAccount","aanmakenAccount","viewmodel","content_","stringify","body","processAanmakenAccount","AdresClient","getAddress","postcode","huisnummer","encodeURIComponent","processGetAddress","BankrekeningClient","kanBicBepaaldWorden","processKanBicBepaaldWorden","validate","viewModel","processValidate","BeheerToekenningsbeschikkingClient","beheerGetById","processBeheerGetById","beheerGetByYearAndBudgetholder","jaar","budgethouder","processBeheerGetByYearAndBudgetholder","getByVerstrekker","processGetByVerstrekker","getOverviewByYearAndBudgetholder","processGetOverviewByYearAndBudgetholder","getGeldigeNietAfgeslotenDeclaratieToekenningsbeschikkingen","budgethouderUid","maand","processGetGeldigeNietAfgeslotenDeclaratieToekenningsbeschikkingen","heropenToekenningsbeschikking","toekenningsbeschikkingUid","processHeropenToekenningsbeschikking","contentDisposition","fileNameMatch","exec","fileName","decodeURIComponent","blob","beeindigBudget","beeindigBudgetModel","processBeeindigBudget","BetalenClient","startBetalingTransactie","returnRoute","processStartBetalingTransactie","confirmBetaling","transactieId","processConfirmBetaling","getBetalingskenmerk","budgethouderid","processGetBetalingskenmerk","BijstortingClient","getBijstortingen","processGetBijstortingen","terugstorten","model","processTerugstorten","ContactGegevensClient","getContactGegevensVoor","relatieUid","relatieType","processGetContactGegevensVoor","DeclaratieConceptClient","getNewConcept","budgethouderId","declaratieType","processGetNewConcept","getZorgovereenkomstenVanOpdrachtnemer","processGetZorgovereenkomstenVanOpdrachtnemer","updateVoorGeselecteerdeZorgovereenkomst","processUpdateVoorGeselecteerdeZorgovereenkomst","getConceptById","processGetConceptById","bewaarConcept","declaratie","processBewaarConcept","indienen","processIndienen","valideerFactuurnummer","factuurnummer","processValideerFactuurnummer","bestaatReiskostenFactuurDatum","factuurdatum","processBestaatReiskostenFactuurDatum","deleteDeclaratieConcept","processDeleteDeclaratieConcept","getZorgverlenerZorgdeclaratieIndienenValidatieGegegevens","zorgovereenkomstId","processGetZorgverlenerZorgdeclaratieIndienenValidatieGegegevens","DeclaratieClient","getDeclaratie","declaratieId","processGetDeclaratie","jarenMetDeclaratie","processJarenMetDeclaratie","jarenMetDeclaratieByBudgethouder","processJarenMetDeclaratieByBudgethouder","getDeclaratiesByJaar","processGetDeclaratiesByJaar","getDeclaratiesByJaarEnBudgethouderId","processGetDeclaratiesByJaarEnBudgethouderId","trekDeclaratieIn","declaratieUId","processTrekDeclaratieIn","indienenAlgemeneDeclaratie","indienenAlgemeneDeclaratieViewModel","processIndienenAlgemeneDeclaratie","getIsGedeclareerdOpZorgovereenkomstMetPeriode","zorgovereenkomstid","processGetIsGedeclareerdOpZorgovereenkomstMetPeriode","getFeestdagenKeuzeByJaarZorgovereenkomstUid","zorgovereenkomstUid","processGetFeestdagenKeuzeByJaarZorgovereenkomstUid","DeclaratieKassabonClient","getByDeclaratieUid","declaratieUid","processGetByDeclaratieUid","getByDeclaratieUidLight","processGetByDeclaratieUidLight","update","declaratieMetWerkgeverslasten","processUpdate","updateVoorZorgverlenerZorgdeclaratie","zorgverlenerDeclaratie","processUpdateVoorZorgverlenerZorgdeclaratie","FileDownloadClient","getArchivedDocument","processGetArchivedDocument","getArchivedDocumentStream","processGetArchivedDocumentStream","getTemporaryDocument","processGetTemporaryDocument","getTemporaryDocumentStream","processGetTemporaryDocumentStream","FileUploadClient","uploadFile","processUploadFile","removeFile","processRemoveFile","IdealTransactieReferentieClient","getIdealTransactionStatusDeclaratieConcept","declaratieConceptGuid","processGetIdealTransactionStatusDeclaratieConcept","getIdealTransactionStatusDeclaratie","declaratieGuid","processGetIdealTransactionStatusDeclaratie","getIdealSessionState","processGetIdealSessionState","LandClient","getAlleLanden","processGetAlleLanden","LoggingClient","log","logViewModel","processLog","logApiTiming","processLogApiTiming","PolicyClient","getIsAllowed","processGetIsAllowed","SettingClient","retrieveSettings","processRetrieveSettings","ToekenningsbeschikkingClient","getById","processGetById","getByYearAndBudgetholder","processGetByYearAndBudgetholder","UploadenFactuurClient","factuurgegevensViewModel","ZiekmeldingClient","nieuweZiekmelding","processNieuweZiekmelding","telefoonnummerVerpleegAdres","zorgverlenerId","processTelefoonnummerVerpleegAdres","overzichtMeldingen","processOverzichtMeldingen","overzichtAfgeslotenMeldingen","processOverzichtAfgeslotenMeldingen","overzichtMeldingenByBudgethouderId","processOverzichtMeldingenByBudgethouderId","overzichtAfgeslotenMeldingenByBudgethouderId","processOverzichtAfgeslotenMeldingenByBudgethouderId","opslaanZiekmelding","ziekmeldingViewModel","processOpslaanZiekmelding","isZorgverlenerZiekOfZwanger","ingangsdatum","processIsZorgverlenerZiekOfZwanger","ziekmeldingZorgovereenkomstGegevens","processZiekmeldingZorgovereenkomstGegevens","getZiekmelding","processGetZiekmelding","beterMelden","betermelding","processBeterMelden","getWijzigenZiekmelding","processGetWijzigenZiekmelding","updateZiekmelding","processUpdateZiekmelding","valideerGeldigeZiekmeldingIngangsdatumVoorZorgverlener","processValideerGeldigeZiekmeldingIngangsdatumVoorZorgverlener","valideerIngangdatumZiekmeldingWijziging","processValideerIngangdatumZiekmeldingWijziging","valideerIngangsdatumBetermelding","processValideerIngangsdatumBetermelding","verwijder","processVerwijder","VervangingszorgovereenkomstConceptClient","bewaarZorgovereenkomstConcept","inputModel","processBewaarZorgovereenkomstConcept","getConceptByZiekmeldingUid","ziekmeldingUid","processGetConceptByZiekmeldingUid","getConceptByZwangerschapsmeldingUid","zwangerschapsmeldingUid","processGetConceptByZwangerschapsmeldingUid","getWeergaveConceptById","processGetWeergaveConceptById","save","processSave","delete","processDelete","ZorgovereenkomstConceptClient","bewaarEnDelenZorgovereenkomstConcept","processBewaarEnDelenZorgovereenkomstConcept","getConcept","processGetConcept","getCopyFromCurrentZorgovereenkomst","copyId","processGetCopyFromCurrentZorgovereenkomst","getConceptVoorAanvulling","processGetConceptVoorAanvulling","ondertekenenEnDelenZorgovereenkomstConcept","processOndertekenenEnDelenZorgovereenkomstConcept","ZorgovereenkomstClient","getByJaar","processGetByJaar","getByJaarAndBudgethouderId","processGetByJaarAndBudgethouderId","getInBewerking","processGetInBewerking","getInBewerkingByBudgethouder","processGetInBewerkingByBudgethouder","getByJaarAndBudgethouderAndZorgverlener","processGetByJaarAndBudgethouderAndZorgverlener","valideerLooptijdZorgovereenkomstVoorZorgverlener","processValideerLooptijdZorgovereenkomstVoorZorgverlener","getGeldigeToekenningsbeschikkingen","processGetGeldigeToekenningsbeschikkingen","getToekenningsbeschikkingenByIds","processGetToekenningsbeschikkingenByIds","getMinimumloon","processGetMinimumloon","getEerderBeeindigenGegevens","processGetEerderBeeindigenGegevens","eerderBeeindigen","eerderBeeindigenRequest","processEerderBeeindigen","getRegimeWijziging","processGetRegimeWijziging","getWWTariefZorgovereenkomst","processGetWWTariefZorgovereenkomst","getEinddatumJongsteZorgovereenkomst","processGetEinddatumJongsteZorgovereenkomst","ZorgovereenkomstWijzigenClient","getApproval","processGetApproval","getConceptByIdForOverview","processGetConceptByIdForOverview","getConceptByZorgovereenkomstId","processGetConceptByZorgovereenkomstId","getMogelijkeIngangsdatums","processGetMogelijkeIngangsdatums","getLaatsteDatumDeclaratie","processGetLaatsteDatumDeclaratie","ZorgverlenerClient","getZorgverlenersMetGeldigeZorgovereenkomst","processGetZorgverlenersMetGeldigeZorgovereenkomst","getZorgverlenerSelecteerViewModelMetRecentContract","processGetZorgverlenerSelecteerViewModelMetRecentContract","zoekZorgverleners","zoekViewModel","processZoekZorgverleners","getRecenteZorgverlenerVanBudgethouderOpUid","zorgverlenerUid","processGetRecenteZorgverlenerVanBudgethouderOpUid","zoekZorgverlenersOpAgbOfNaam","term","processZoekZorgverlenersOpAgbOfNaam","getGegevensFromAgbRegister","processGetGegevensFromAgbRegister","getNatuurlijkPersoonOfZZPerZorgverlenersActiefOpHuidigeDatum","processGetNatuurlijkPersoonOfZZPerZorgverlenersActiefOpHuidigeDatum","getVrouwelijkeZorgverlenersOpIngangsdatumZorgovereenkomst","processGetVrouwelijkeZorgverlenersOpIngangsdatumZorgovereenkomst","getZorgverlenerOpAgb","agbCode","processGetZorgverlenerOpAgb","containsZorgverlenerWithBsn","bsn","processContainsZorgverlenerWithBsn","bepaalCorrecteSelectieZZPerOfInstelling","zorgverlenerAgb","processBepaalCorrecteSelectieZZPerOfInstelling","bepaalCorrecteSelectieZZPerOfInstellingZvlKvkNummer","kvkNummer","processBepaalCorrecteSelectieZZPerOfInstellingZvlKvkNummer","getZorgverlenerUitAgbOfReedsBekend","processGetZorgverlenerUitAgbOfReedsBekend","getZorgverlenerMetKvkNummer","processGetZorgverlenerMetKvkNummer","getZorgverlenerMetRelatienummer","zorgverlenerRelatienummer","processGetZorgverlenerMetRelatienummer","getZorgverlenerStatusOpAgb","processGetZorgverlenerStatusOpAgb","getZorgverlenerStatusOpKvk","processGetZorgverlenerStatusOpKvk","ZwangerschapsmeldingClient","nieuweZwangerschapsmeldingVoorBudgethouder","processNieuweZwangerschapsmeldingVoorBudgethouder","opslaanZwangerschapsmelding","zwangerschapsmeldingViewModel","processOpslaanZwangerschapsmelding","wijzigenZwangerschapsmelding","wijzigenViewModel","processWijzigenZwangerschapsmelding","getZwangerschapsmelding","processGetZwangerschapsmelding","terugVanVerlofMelden","terugVanVerlofMelding","processTerugVanVerlofMelden","valideerNieuweGeldigeZwangerschapsmeldingIngangsdatumVoorZorgverlener","processValideerNieuweGeldigeZwangerschapsmeldingIngangsdatumVoorZorgverlener","valideerGewijzigdeZwangerschapsmeldingIngangsdatumVoorZorgverlener","processValideerGewijzigdeZwangerschapsmeldingIngangsdatumVoorZorgverlener","getZorgovereenkomstGegevens","processGetZorgovereenkomstGegevens","ApiException","isApiException","obj","REDIRECT_PATH_KEY","COBROWSE_CONSENT_GIVEN_KEY","VERTEGENWOORDIGER_SELECTED_BUDGETHOUDER_KEY","setRedirectPath","path","sessionStorage","setItem","removeItem","getRedirectPath","getItem","getCobrowseConsentGiven","setCobrowseConsentGiven","getVertegenwoordigerSelectedBudgethouder","selectedBudgethouderUid","setVertegenwoordigerSelectedBudgethouder","isSvb","gegevens","soortVerstrekkerType","Onbekend","isGemeente","Gemeente","isZorgkantoor","Zorgkantoor","isVerstrekker","extractContacten","contacts","contacten","el","contactType","Telefoonnummer1","telefoon","waarde","Email","email","Website","website","extractOpeningstijden","openingstijden","tijd","_a","openingstijdTekst","openingstijd","sluitingstijd","extractAdres","straatnaam","plaatsnaam","getContactInfo","contactDataList","computed","list","properties","ref","allContacts","contactData","svb","find","verstrekkers","loaded","loadScript","url","attrs","async","scriptLoaded","cobrowseScriptUrl","showCobrowseModal","cobrowseLoaded","cobrowseCode","initCobrowse","teamviewerTenantId","scriptsPath","__awaiter","runScript","pgbSessionStorage","launchCobrowse","startCobrowsing","CV","cobrowse","clearListener","start","addCobrowsingStartedListener","cobrowseElement","getElementById","innerHTML","addCobrowsingStoppedListener","launchCobrowseModal","addPrefix","prefix","composeHuisnummer","longFormat","huisletter","huisnummerToevoeging","huisnummerLong","huisnummerAanduiding","locatiebeschrijving","composePostode","composeStreetName","postcodePlaatsnaam","land","toLowerCase","isIncompleteAddress","composeAddress","useAddress","helpPanelItems","$t","pageTitle","directives","rawName","dictate","expression","_v","_s","staticClass","feestdagenuitkering","bijkomendezorgkosten","helpLinks","uitleg","faq","helpdesk","pageSecondaryTitle","success","messageBetalingskenmerk","messageDeclaratienummer","watNu","successMetOpschorting","failed","top","bottom","buttons","nieuweDeclaratie","startpagina","overzichtDeclaraties","ideal","warning","content","warningPaymentInProcess","labels","bedrag","useDeclaratieHelpPanelItems","useI18n","externalLink","mijnpgb","budgethoudersEnVertegenwoordigersDeclaratiesEnMandloon","label","budgethoudersEnVertegenwoordigersFaq_declaratiesEnMaandloon","anchorPoint","router","useRouter","newDeclaratie","go","params","mapIdealReturn","declaratieOfConceptUid","betalingskenmerk","isTransactieVerwerktOpDeclaratie","emptyIdealReturn","IdealReturnRepository","RepositoryBase","trxId","doOpen","confirmPayment","dataModel","betalenClient","repository","query","trxid","open","ready","declaratieRoute","scopedSlots","_u","fn","idealSuccessRepository","kassabonRepository","modelRef","_e","proxy","isReady","declaratienummer","emptyKassabon","begunstigdeRelatieType","showRestantBudget","totaalBedragDeclaratie","totaalBedragWerkgeverslasten","resterendBijgestortBudget","totaalBedragZiektegeld","totaalBedragAlgemeneMiddelen","totaalBedragUitBudget","hasWerkgeverslasten","kassabonBlokken","isValid","serverErrors","resterendBudget","ziekengeldvergoeding","isGedeclareerdOpZiektedag","delta","mapIdealSuccess","declaratieStatusWeergevenType","declaratieStatus","declaratieWordtOpgeschort","Opgeschort","heeftActieveJaarovergangWerktaak","kassabon","contractType","emptyIdealSuccess","emptyKassabonBlok","ingangsDatum","eindDatum","budget","wetType","reiskosten","feestdagenUitkering","geleverdeZorg","vrijBesteedbaarBudget","bijkomendeZorgkosten","maandloon","ziektegeld","bedragAlgemeneMiddelen","totaalBedragBlok","eenmaligeUitkeringOverlijdenBudgethouder","totaalBijgestort","werkgeverslasten","werkgeverslastenZiekengeld","werkgeverslastenAlgemeneMiddelen","factuurReiskosten","naamWettype","resterendBudgetWoonInitiatiefEnkelHuis","subDeclaratieKassabonBlok","woonInitiatiefEnkelHuis","mapKassabon","toonRestantBudget","blokken","mapKassabonBlocks","block","dateString","einddatum","mapKassabonLite","mapKassabonLiteBlocks","Builder","partial","entity","getEmpty","isComplexEntity","deepCopy","afterAssignPartial","build","_partial","mapKassabonViewModel","titel","Date","getFullYear","mapKassabonBlokViewModel","blok","subblok","mapSubKassabonBlokViewModel","subBlok","subBedrag","aantalEenheden","tarief","tijdseenheidType","werkzaamheidType","emptySubKassabonBlok","SubKassabonBlokBuilder","getDefault","withSubBedrag","withWerkzaamheidType","WlzVerpleging","withTijdseenheidType","Uren","withAantalEenheden","withTarief","KassabonBlokBuilder","buildViewModel","Wlz","subblokWlzBegeleidingGroep","WlzBegeleidingGroep","subblokWlzVerpleging","withIngangsdatum","withEinddatum","withNaamWettype","withBudget","withWetType","withReiskosten","withGeleverdeZorg","withTotaalBedragBlok","withResterendBudget","withSubBlokken","withKassabonSubBlokZonderBudget","withMaandloon","withZiektegeld","withBijkomendeZorgkosten","withFeestdagenUitkering","withAlgemeneMiddelen","algemeneMiddelen","subBlocks","defaultSubBlok","createDefault","withVrijBesteedbaarBudget","KassabonBuilder","withZorgdeclaratieKassabonBlok","withYear","withMonth","withDeclaratieType","Zorgdeclaratie","withBegunstigdeRelatieType","Zorgverlener","withShowRestantBudget","withTotaalBedragDeclaratie","withTotaalBedragZorg","withKassabonBlocks","withKassabonBlokZonderBudget","Maandloon","withVoorlopigMaandloonKassabon","withTotaalBedragZiektegeld","month","year","getRelatieTypeForDeclaratieType","withTotaalBedragWerkgeverslasten","withResterendBijgestortBudget","withTitle","titleText","withHasWerkgeverslasten","kassabonBlocks","defaultKassabonBlok","withFeestdagenUitkeringBlok","withBijkomendeZorgkostenKassabonBlock","withTotaalBedragAlgemeneMiddelen","withZiekengeldvergoeding","withResterendBudgetKassabonBlok","resterendBedrag","withZiektegeldKassabonBlok","withIsGedeclareerdOpZiektedag","withDelta","FactuurReiskosten","Budgethouder","BijkomendeZorgkosten","Feestdagenuitkering","WooninitiatiefEnkelHuis","VrijbesteedbaarBudget","Debouncer","_updateCounter","_updating","_busyCounter","_busy","_debounceDelay","delay","triggerUpdate","forcedUpdate","destroy","killDebouncer","_updatingPromise","reset","_debouncer","updateBegin","mustUpdate","isUpdatingCurrent","updateDone","isAborted","forceUpdate","updateCont","doUpdate","ApiCallDebouncer","getViewModel","apiCall","updated","_currentViewModelJson","_updateViewModel","_updateViewModelAsJson","_callingViewModelJson","json","apiResult","KassabonRepository","dependsOn","currentUserRepository","setDataModel","debounceDelay","isUpdating","isBusy","doDestroy","doExtendModel","userData","kassabonBlockData","bijBetalenMetIdealIsMogelijk","settings","bijstortenMetIdealIsMogelijk","showBijstorten","rol","PortaalMedewerker","teBetalenBedrag","hasBijbetaald","hasWerkgeverslastenWithoutAmount","hasWerkgeverslastenWithAmount","totalAmount","resterendTotaalBudget","max","_getViewModel","_apiCall","makeDummyAbortablePromise","mapAdresViewModel","mapAdresViewModelNull","mapBankrekeningViewModel","toUpperCase","mapRelatieReadOnlyViewModel","mapBudgethouderReadOnlyViewModel","voorletters","voorvoegselGeslachtnaam","geslachtsnaam","relatienummer","overlijdensdatum","correspondentieAdres","mapOverzichtDocumentViewModel","aanmaakDatum","afzender","categorie","filename","mime","omschrijving","richting","state","ontvanger","indiener","indienerRol","oorsprongType","mapBijkomendeZorgkostenForDeclaratieConceptViewModel","bijkomendezorgkostenChoices","bijkomendezorgkostenTypeSelected","bijkomendeZorgkostenType","wooninitiatiefzorgMax","wooninitiatiefZorg","wooninitiatiefzorgAlVerbruikt","alVerbruikt","consumptiePeriodeMax","consumptiesBijOverwerk","consumptieDagMax","dagMax","upload","heeftOvergeblevenBudget","consumptiesBijOverwerkAlVerbruikt","cursusZorgverlenerAlVerbruikt","cursusZorgverlener","cursusZorgverlenerMax","entreegeldZorgverlenerMax","entreegeldZorgverlener","entreegeldZorgverlenerAlVerbruikt","gearchiveerdeBestanden","mapFeestdagenUitkeringForDeclaratieConceptViewModel","reedsUitbetaaldeFeestdagenuitkering","reedsUitbetaaldeFeestdagenUitkering","maximaleFeestdagenuitkering","maximaleFeestdagenUitkering","wetFeestdagenuitkeringen","wettype","feestdagenUitkeringWet","totaleBudget","emptyBankrekening","emptyVertegenwoordiger","isAanwezig","isOrganisatie","naamOrganisatie","Vertegenwoordiger","rolType","isActive","emptyDeclaratieBase","emptyIdeal","bankNaam","isTransactionOpenForBudgethouder","emptyIndienenConceptDeclaratieBase","conceptUid","indienenNotAllowedAlert","translationKey","serverMessage","declaratieOndertekend","mapVerantwoordingsvrijBedrag","vrijbesteedbaarBudget","beschikbareTkbs","toekenningsbeschikkingen","mapToekenningsbeschikkingen","conceptId","selectedTkbId","emptyBudgethouder","vertegenwoordiger","isGeselecteerd","openstaandTotaalBudget","openstaandVerantwoordingsvrijBedrag","opgenomenBedrag","verantwoordingsvrijBedrag","wet","begunstigdeRelatieId","begunstigdeVertegenwoordigers","tkb","toekenningsbeschikkingId","isOngeldig","mapBudgethouderReadonly","budgetIdentificatie","openstaandVrijbesteedbaarBudget","totaalBudget","isWooninitiatiefEnkelHuis","openstaandWooninitiatiefEnkelHuis","uitbetaaldWooninitiatiefEnkelHuis","verstrekkerId","verstrekkerNaam","beschikbareMaanden","vt","mapVertegenwoordigerReadonly","mapSelectedTkbToVerantwoordingsvrijBedrag","mapVerantwoordingsvrijBedragToSelectedTkb","mapVertegenwoordigerReadOnlyViewModel","bewindvoerderCuratorMentor","isGemachtigd","ouderVoogd","mapToDeclaratieToekenningsbeschikkingViewModel","vertegenwoordigers","mapVerantwoordingsvrijBedragForDeclaratieConceptViewModel","tkbs","mapDeclaratieToekenningsbeschikkingenForVrijbesteedbaarBudget","emptyConceptDeclaratie","conceptStatus","emptyZiekEnZwangerschapGegevens","zorgverlenerIsVolledigZiekgemeldInDeelVanDeGekozenPeriode","zorgverlenerIsGedeeltelijkZiekgemeldInGekozenPeriode","zorgverlenerIsVolledigZiekgemeldInGekozenPeriode","zorgverlenerIsVolledigZwangergemeldInGekozenPeriode","isMinimaalEenDagInPeriodeZwanger","emptyDeclaratieOpdrachtnemer","geselecteerdJaar","geselecteerdeMaand","geselecteerdeZorgverlener","geselecteerdeZok","zorgovereenkomsten","einddatumDoorbetalenReiskosten","emptyIndienenConceptDeclaratie","datumOndertekening","ondertekendDoorBevoegdeRelatieUid","ondertekeningStatus","NietOndertekend","factuurgegevens","wooninitiatiefEnkelHuis","heeftFactuur","heeftVervoersbewijs","opdrachtnemer","zorgdeclaratieMaandopgave","laatsteToelichting","emptyUploadFactuur","factuurDatum","factuurNummer","emptyZorgverlenerZokDeclaratie","zorgverlener","declaratieJaar","declaratieMaand","zok","emptyBijkomendeZorgkostenBudget","emptyConsumptiesBijOverwerkBudget","emptyBijkomendeZorgkosten","mapToBijkomendeZorgkosten","mapGearchiveerdeBestanden","factuur","mapDocument","mapDeclaratieConceptToBijkomendeZorgkosten","declaratieConcept","mapToZorgverlenerCard","bkz","zoks","gekozenZorgverlenerZokUid","beschikbareZoks","emptyFactuurReiskosten","budgetSelectedId","budgetten","factuurbedrag","emptyDeclaratieBudget","overgeblevenBudget","mapDeclaratieBudget","mapDeclaratieConceptToFactuurReiskosten","mapUpload","mapToFactuurReiskosten","budgetSelected","mapToDeclaratieZorgovereenkomstViewModel","werkafspraken","aantalWerkdagenZorgverlener","aantalWerkdagenPerWeek","reiskostenAfspraken","reiskostenAfspraak","kilometervergoedingBedrag","reiskostenBedrag","openbaarvervoerVergoeding","reiskostenOv","kilometervergoeding","reiskostenPerKm","maandloonKilometerPerDag","maandloonVergoeding","originelePeriode","isSelected","heeftEenWijzigingInGoedkeuring","heeftAlleenMaandloon","heeftMaandloonZonderAanvullendeTarieven","wetten","overgeblevenBudgetten","mapZorgverlenerToZorgverlenerViewModel2","overlijdensDatum","mapToDeclaratieConceptOpdrachtnemer","mapOpdrachtNemerViewModel2ToOpdrachtnemer","getSelectedZok","a","mapFromDeclaratieZorgovereenkomstViewModel","mapZorgverlenerFromZorgverlenerSelecteerViewModel2","mapDeclaratieOpdrachtnemerToOpdrachtnemerViewModel2","z","emptyFeestdagenUitkering","mapToFeestdagenUitkering","mapDeclaratieConceptToFeestdagenUitkering","fdu","mapDeclaratieBudgetViewModel","findSelectedBudget","selectedBudget","mapFactuurReiskostenForDeclaratieConceptViewModel","dateStringOrEmpty","mapWooninitiatiefEnkelHuisForDeclaratieConceptViewModel","fileUploads","mapFileUploads","datesAndNumbers","mapDateAndNumericFields","optionalData","mapOptionalData","_b","naamWooninitiatief","mapToekenningsbeschikkingenToViewModels","toekenningsbeschikkingSelected","mapSingleToekenningsbeschikkingToViewModel","_d","_f","Array","isArray","basicDetails","mapBasicDetails","financialDetails","mapFinancialDetails","statusAndLegalDetails","mapStatusAndLegalDetails","Geldig","mapToDeclaratieConceptViewModel","declaratieConceptStatusType","mapFromDeclaratieConceptViewModel","verantwoordingsvrijBedragSelectedTkb","IdealSuccessRepository","naamBegunstigdeKassabon","addChild","triggerUpdateKassabon","declaratieVM","declaratieClient","begunstigdeNaam","getDeclaratieConcept","effectieveRelatie","callGetKassabon","declaratieKassabonClient","client","home","ingediend","directNaar","props","String","required","default","class","sticky","updating","mobileHidden","slot","_l","$n","amount","on","$event","$d","end","declaration","links","bekijkDeclaratieoverzicht","bekijkBudgetoverzicht","mergeI18nDeep","domainI18n","brutoloon","declarationTotal","werkgeverslastenNotCalculated","budgetNaDeclaratie","resterendeBijbetaling","budgetShortage","payExtra","paidExtra","hideKassabon","details","bijwerken","blocks","budgetPeriod","declaratiesI18n","isFeestdagenUitkering","isBijkomendeZorgkosten","isVrijbesteedbaarBudget","isFactuurReiskosten","components","KassabonBlock","Boolean","IngediendLinks","Kassabon","isReadyRef","stepRouter","stepNumber","navigate","newFactuur","_g","validations","select","callback","$$v","$set","extensions","maxNumberOfFiles","isUploading","uploadingInProgress","downloadFile","maxFileSize","maxTotalSize","files","$attrs","Jpeg","Pjpeg","Png","Tiff","Pdf","WordDoc","WordDocx","Xml","mapVueUploadItem","fileObject","File","size","UseFileUpload","fileDocuments","eventEmitter","_files","_archivedFiles","_uploadedFiles","_uploadingInProgress","_remoteFileService","currentRemoteFileService","_i18n","_emit","init","doc","Valid","Uploaded","includes","watch","vueUploadItem","downloadTemporaryFile","downloadArchivedFile","extractComposable","useFileUpload","errorMessages","unknownError","archivedFiles","emit","mb","nieuweFactuur","cardTitle","factuurUploaden","hint","indienenDeclaratie","indienenDeclaratieButton","infoList","declareren","voorwaarden","link","handtekening","verschillen","button","dialog","indienenList","item1","item2","item3","item4","item5","item6","uploadenList","item7","controle","successMessage","continueTitle","continueText","emptyField","maxLength","emptyDate","maxDate","minDate","declaratiesIndienenI18n","FileUpload","formRef","useReadyToProceedOnValidate","showModal","preventDefault","arguments","toRefs","savePromise","submitFactuur","finally","registerStepComponent","readyToProceed","downloadUploadedFile","mapUploadFactuurViewModel","mapUploadFactuurWithBudgethouderUidViewModel","UploadFieldValidator","mapExtendedValidationResultFromValidationErrorViewModel","errorMessage","memberNames","memberName","UploadFactuurValidator","ModelValidator","DateFieldValidator","today","requiredMessage","StringFieldValidator","doValidateDelayed","newServerValidatedObject","nonReactive","serverValidatedObject","uploadenFactuurClient","errors","serverError","handleValidationResults","UploadFactuurRepository","doAddValidations","getDocument","item","removeArchivedFile","Deleted","getBudgethouderUid","UploadFactuurOpstellen","UploadFactuurControleren","UploadFactuurSucces","useStepRouter","onUnmounted","isRedirecting","hasValidModel","hasZorgverleners","ConditionalApiCallDebouncer","isViewModelValid","invalidResult","doApiCall","_conditionalApiCall","DeclaratieConceptRetreivalService","ServiceBase","GetOpgeslagenDeclaratieConcept","expectedType","declaratieConceptClient","res","isRequiredDataPresent","concept","declaratieConceptRetreivalService","getOrCreateSingleton","DeclaratieConceptBaseRepository","empty","redirectUrl","showSavedDialog","showFailedSaveMessage","showCannotSaveMessage","_isRedirecting","showIndienenNotAllowedAlert","zelfBijbetalenBedrag","getZelfBijbetalenBedrag","hasIdealPayment","loadSavedConcept","handleSavedConceptData","kassabonResterendBudget","doAddWatchers","watchSingle","newZelfBijbetalen","submit","doIdealPayment","submitDeclaration","canUpdateKassabon","callUpdateKassabon","forcedUpdateKassabon","idealRepository","startBetalingResponseVM","idealRedirect","canSave","mapDeclaratieTypeZorgverlenerPeriodeViewModel","mapDeclaratieTypeZorgverlenerPeriodeViewModelNoZok","BijkomendeZorgkostenNumberFieldValidator","extractOptions","alreadyDeclared","maxAmountInPeriod","maxPerDay","BijkomendeZorgkostenValidator","beschikbaarBedrag","invalidMessage","getMaxBedragMessage","maximaleBedrag","alUitbetaald","BooleanFieldValidator","customValidation","ConsumptiesBijOverwerk","BijkomendeZorgkostenRepository","_zorgverlenersRef","savedData","savedZoks","updateZorgverlener","clearModelFromBijkomendezorgkostenData","updatePeriode","updateZok","isValidating","uploadFactuurRepository","setupDebouncer","addWaitForForceUpdate","zokChoiceVm","updateModelBasedOnConceptDeclaration","zorgverlenerZoks","handleApiResult","getZorgverleners","getBudget","b","watchMulti","metWerkgeverslasten","resp","zorgverlenerClient","zorgverleners","mapZorgverlenerFromSelectieZorgverlenerViewModel","invalidResponse","handleErrorResponse","handleSuccesApiResult","isCurrentBijkomendeZorgkostenTypePresent","some","updateModelWithBijkomendezorgkostenBudgets","budgetRetreiver","modelAsObject","capitalizeFirstLetter","string","charAt","toLocaleLowerCase","delayValidation","initialZorgverlenerCardData","onZorgverlenerSelectHandler","onPeriodChangeHandler","onZokSelectHandler","loadingData","availableTypes","onRemoveArchivedFile","updatingKassabon","idealIndienen","steps","opstellen","zorgverlenerCard","budgetTekort","algemeenCard","controlerenEnOndertekenenCard","attention","notice","correctlyFilledRadioLabel","signed","zelfBijbetalenBedragNaGoedkeuring","declaratieIngediend","declareer","geleverdeZorgEnReiskostenZorgverlener","linkName","linkDescription","factuurReiskostenBudgethouder","bijkomendeZorgkostenZorgverlener","feestdagenuitkeringZorgverlener","vraagOp","verantwoordingsvrijBedragBudgethouder","backToIndienenDeclaratie","waitMessage","declaratiePeriode","zorgovereenkomst","date","geenZorgverlenersGevonden","declaratieNietOndertekend","betaalbewijsMetDatumNote","uitbetaaldNaGoedkeuring","typeBijkomendeZorgkosten","typeBijkomendeZorgkostenPlaceholder","betaalbewijsUploaden","invalid","alGedeclareerdJaarMessage","maxPerJaarDeclarerenMessage","alGedeclareerdMaandMessage","maxPerMaandDeclarerenMessage","validation","euroValue","onCentBlurHandler","centValue","UseTransformMulti","fieldName","displayValues","createDisplayValues","createTransform","displayValue","displayChanged","modelChanged","modelValue","getModelValue","getDisplayValue","setDisplayValues","oldValue","newValue","UseEuroCenten","euro","cent","parts","split","cents","substring","euroInput","centInput","validator","prop","reactive","padEnd","dateList","onDateChangeHandler","isfetchingZok","hasMultipleZoks","multipleZokChoices","gekozenZorgverlenerZok","zorgverlenerPlaceholder","periode","chooseZorgovereenkomst","multipleZok","multipleZokFrom","buttonOnly","disabled","zokUid","declaratieZok","geldigheidPeriode","geldigheidVanaf","bekijkZok","modalTitle","ZorgovereenkomstInzien","getLabel","i18nKey","getMultipleZokChoices","useZorgverlenerCardRepository","emptyZorgverlenerCard","ZorgverlenerCardValidator","ZorgverlenerCardRepository","initialData","_zorgverleners","_serverError","availablePeriods","_declaratieType","_initialData","doBeforeOpen","setInitialData","zorgverlenerUidCoupledToZoks","declarabeleMaanden","gekozenZorgverlener","zvl","resetMonth","yearNoLongerAvailable","reduce","isOnlyMonth","monthNoLongerAvailable","preSelectZok","availableZoks","isOnlyOneZokAvailable","isPreviouslySelectedZokPresent","buildZoksViewModel","zoksViewModel","isZoksViewModelValid","getZorgverlenerZoks","bghId","yearSelected","yearList","onYearChangedHandler","monthSelected","monthList","onMonthChangedHandler","yearSelect","monthSelect","placeholders","useDatePeriodSelectLists","sort","y","x","val","months","useSyncNumericProp","propRef","checkMonthValue","yearSelection","onDateChangedHandler","yearProp","monthProp","yearValue","monthValue","newYearList","oldYearList","newMonthList","oldMonthList","onMounted","useConvertApiDateArrayToSelectable","datesRawData","Set","RelatieSelect","DeclaratieZokPeriode","DatePeriodSelect","registerDelayedFormInputValidator","isValidAfterWaitingForAllForcedUpdateCalls","isCurrentStateValidFinalState","debouncerIsBusyRef","dateArray","opslaanDeclaratieConcept","bodyLinkTitle","cannotSave","useOpslaan","routePath","setPristineOnSave","setPristine","usePageDirtyState","addConceptUidToUrl","currentRoute","isCurrentUrlDifferent","savePosition","CurrencyField","ZorgverlenerCard","Opslaan","TitleAndHelp","getAvailableTypes","sortedData","zorgverlenersRef","waitFor","formValidate","useFormValidate","isRedirectingRef","BijkomendeZorgkostenOpstellen","BijkomendeZorgkostenControleren","BijkomendeZorgkostenIngediend","routeName","dataUi","useDeclaratieIndienenHelpItems","budgethoudersEnVertegenwoordigersFaq","useDeclaratieLinks","i18nIdx","getIdealRedirectLink","IdealRepository","returnUrl","idealTransactieReferentieClient","FeestdagenUitkeringValidator","FeestdagenUitkeringRepository","clearModelFromFeestdagenuitkeringData","setupFeestdagenKeuzeDebouncer","isAllowed","handleApiResponse","gekozenZorgverlenerHeeftWerkgeverslasten","VierDagenOfMeer","InDienst","UpdateVoorGeselecteerdeZorgovereenkomst","requestBody","updateModelWithFeestdagenUitkeringData","feestdagenUitkeringCard","maxFeestdagenUitkeringBedrag","uitkeringBedragInfo","ingediendMetOpschorting","hoeveelUitkeren","feestdagenUitkeringBedrag","maximaleBedragUitgekeerd","notAllowedByGemeente","useTransform","_t","items","selectLabel","defaultOptionLabel","$listeners","input","optionText","optionSubText","radioButtonLabel","collection","isSingle","isMulti","subtitle","restantBedrag","bedragLabel","watchOnce","Vue","nextTick","Ideal","FeestdagenUitkeringOpstellen","FeestdagenUitkeringControleren","FeestdagenUitkeringIngediend","hasNoRemainingBudget","filteredTkbs","mapLand","isIbanland","isSepaland","mapLanden","vms","LandenService","_landen","landClient","landenService","emptyAddress","AddressValidator","validateDelay","isDutchie","maxLengthMessage","validateNLPostcode","postcodeHuisnummerCombo","postcodeRegEx","test","updateModel","resetStraatEnPlaatsnaam","extractPostcodeHuisnummer","handleApiCall","serverMessages","adresClient","AddressRepository","isNL","showFields","BankrekeningValidator","bankrekeningClient","BankrekeningRepository","cleanDataModel","requiresIban","requiresBic","doAssignDataModel","dest","source","requiresBankgegevens","emptyVerantwoordingsvrijBedrag","CurrencyWithNumberFieldValidator","VerantwoordingsvrijBedragValidator","VerantwoordingsvrijBedragRepository","_beschikbareTkbs","bankRepository","selectTkb","setVerantwoordingsvrijBedragModel","setOntvanger","getVrijbesteedbaarBudget","every","hasHiddenTkbs","budgetCollectionItems","$tc","ontvangerItems","ontvangerRef","chooseOntvanger","budgetCard","alleenTkbs","verantwoordingsvrijBedragCard","introText","naamOntvanger","bedragOvergemaaktNaar","deBudgethouder","budgethouderName","vertegenwoordigerName","budgetSelectie","selectBudget","budgetSelectieBedrag","landnaam","noTkbSelected","notFilled","geenGeldigeTkbs","noRemainingBudget","index","getChildByKey","typeBankrekening","ibanAndRekeningnummerBothGiven","bicDoesNotMatchIban","ibanSepaTitle","ibanSepaParagraphs","ibanSepaWebsite","ibanSepaLinkHref","ibanSepaLinkText","ibanSepaNope","alert","waarschuwingRekeningnummer","bankrekeningForm","landenItems","hasMultipleErrors","hasErrorsInColumns","srOnly","loadingFinished","mismatch","incorrectCombination","landen","getFieldValidator","firstErrorMessage","Adres","option","ONTVANGER_BUDGETHOUDER","ONTVANGER_VERTEGENWOORDIGER","buildOntvangerItem","ontvangerType","foundOntvangerItem","ontvangerItem","useVerantwoordingsvrijBedrag","cb","payload","BudgetSelectie","Bankrekening","mapDeclaratieToekenningsbeschikkingToBudget","isOtherAccount","isDutchAccount","join","selectedValue","VerantwoordingsvrijBedragOpstellen","VerantwoordingsvrijBedragControleren","VerantwoordingsvrijBedragIngediend","isReadyToSelectYear","yearOptions","onYearChangeHandler","selectedYear","isMobileView","toCsv","isDoneLoadingDeclaraties","tableData","filters","actie","openRoute","goTo","onFiltersStateChangeHandler","onDeleteHandler","user","isZorgverlener","conceptUidToDelete","onCancelDeleteHandler","onConfirmDeleteHandler","tableValues","periodeDates","isGewijzigd","statusWeergevenType","Concept","Ingepland","Uitbetaald","Verrekend","Mislukt","TerGoedkeuring","Afgekeurd","TerBeoordeling","TerBeoordelingBijBudgethouder","TeruggestuurdDoorBudgethouder","BuitenBehandeling","TeVerrekenenVorderen","VerrekendBetaald","IdealInBehandeling","OpgeschortAfgewezen","declaratieStatusType","TerIntrekking","Ingetrokken","maandloonDeclaratieStatusType","Correctie","Gecorrigeerd","begunstigde","declaratiesInJaar","declaraties","noAction","geenDeclaraties","view","export","csvDonwload","dateLocale","defaultOptions","mapToDeclaratieOverzichtEntry","declaratieConceptId","indiendatum","declaratieConceptStatus","maandloonDeclaratieStatus","naamBudgethouder","naamBegunstigde","namenBegunstigden","ingetrokkenDeclaratieUid","naamZorgverlener","DeclaratieOverzichtService","getDeclaraties","getDeclaratieYears","years","declaratieOverzichtService","sortDataTableOnDeclartieTypeTranslation","sortDataTableOnWeergaveStatusTranslation","useTranslatedDataTableSorters","headerNaamTegenpartij","valueTegenPartij","createHeader","sortable","filterable","format","dateFormat","sortCustom","sortDataTableWithEmptyOnTop","sortDataTableOnMaandValue","align","hasLabel","getDeclaratieHelpPanelItems","currentUserIsZorgverlener","zorgverlenersDeclaratiesEnMandloon","zorgverlenersFaq_declaratiesEnMaandloon","supportedDeleteStatuses","ConceptBudgethouder","ConceptZorgverlener","TerGoedkeuringBudgethouder","AfgekeurdBudgethouder","supportedOpenStatuses","Algemeen","Conversie","EenmaligeUitkeringOverlijdenBudgethouder","Intrekking","calculateSoortDeclaratie","ingetrokkenDeclaratie","getConceptRoute","getConceptBudgethouderIndienenRoute","getInzienRoute","calculateActie","shouldRouteToConcept","AfgekeurdSvb","routename","ariaLabelParams","canOpen","deleteConceptUid","canDelete","ariaLabelDelete","ariaLabelOpen","BudgethouderReadonly","statussenVoorGebruiker","OntbrekendBudget","declartieType","useDataEnrichmentIngediendeDeclaratie","calculatePeriod","calculateCombinedStatus","arrayToCsv","row","tableToCsv","headerValues","array","entries","keyA","keyB","indexOf","headerText","concat","downloadBlob","Blob","downloadElement","URL","createObjectURL","toLocaleString","click","csv","sortDataTableOnEnumTranslation","currentFilterState","getPeriodeFilter","getTegenPartijFilter","getDeclaratieTypeFilter","getStatusFilter","periodeOptions","currentFilter","defaultOption","filterDuplicatePSelectItems","selected","idTegenPartij","defaultOptionTegenPartij","labelTegenPartij","optionsTegenPartij","declaratieTypeOptions","statusOptions","seen","duplicate","has","add","deleteDelcaratieConfirmation","cancel","yesRemove","periodeInfo","linkedLabelText","heading","conversie","statusInfo","ingepland","uitbetaald","terGoedkeuring","terBeoordeling","afgekeurd","terBeoordelingBijBudgethouder","teruggestuurdDoorBudgethouder","idealInBehandeling","mislukt","buitenBehandeling","teVerrekenenVorderen","verrekendBetaald","terIntrekking","ingetrokken","gecorrigeerd","correctie","gewijzigd","opgeschort","opgeschortAfgewezen","declaratiesOverzichtI18n","show","stopPropagation","StatusInfoDeclaratiesOverzicht","PeriodeInfoDeclaratiesOverzicht","DeleteDeclaratieConfirmation","TableActions","useTableHeaders","service","useBreakpoints","useFiltersDeclaratieOverzicht","useDeclaratieOverzichtDataEnrichment","useDownloadCsv","declaratiesTable","loadTableData","newYear","dec","combinedStatus","soortDeclaratie","RangeError","rowVersion","requestAnimationFrame","declaratiesTableDomElement","$el","querySelector","focus","mapYearsToDescendingOptions","yearsToMap","userPromise","awaitModel","servicePromise","translatedAfkeurReden","redenAfkeuringOverige","domProps","overigeDocumenten","isIbanForeign","AdresWeergeven","startsWith","documentList","scannedDocuments","signCard","sign","unSignedError","DownloadArchiveFiles","declaratieIntrekken","redenAfgekeurd","redenAfgekeurdListA11y","bodyDeclaratieIntrekken","bodyDeclaratieAnnuleren","intrekken","confirmation","successNotificationDeclaratieAnnuleren","successNotificationDeclaratieIntrekken","declaratieNietIntrekbaar","previousPage","cardTitles","documenten","gedeclareerdBedrag","isLoading","sendToPrinter","useWindowPrint","emptyIntrekbareDeclaratie","intrekbaarheidStatus","NietIntrekbaar","emptyAfkeurbareDeclaratie","redenenVanAfkeuring","emptyIngediendeDeclaratie","emptyWeergevenDeclaratie","budgethouderBurgerservicenummer","begunstigdeBurgerservicenummer","zorgovereenkomstIngangsdatum","zorgovereenkomstEinddatum","begunstigdeAgbCode","begunstigdeRelatienummer","budgethouderRelatienummer","emptyWeergevenVerantwoordingsvrijBedrag","emptyWeergevenWetVrijBesteedbaarBudgetViewModel","mapWeergevenDeclaratie","vmDeclaratie","toDate","getMonth","budgethouderVolledigeNaam","mapWeergevenVerantwoordingsvrijbedragDeclaratie","vmVrijBesteedbaarBudget","wetVrijBesteedbareBudgetten","mapAfkeurbareDeclaratie","declaratieRedenenVanAfkeuring","mapWeergevenFeestdagenuitkering","vmFeestdagenUitkering","totaalBijbetaald","mapWeergevenBijkomendeZorgkosten","vmBijkomendeZorgkosten","bijkomendezorgkostenType","betaalbewijzen","BankrekeningWeergeven","WeergevenDeclaratie","ScannedDocumentsCard","loadData","declaratieVm","kassabonData","mappedDeclaratie","emptyWeergevenFeestdagenUitkering","useDataEnrichmentDeclaratieIntrekbaarheid","isIntrekbaar","IntrekbaarMetDeclaratieAnnuleren","IntrekbaarMetDeclaratieIntrekken","isSignCardListZichtbaar","i18nIdxDeclaratieIntrekkenMessage","i18nIdxSuccessNotificationMessage","i18nIdxWatNuBodyMessage","isWatNuLijstZichtbaar","useFeestdagenUitkeringRetriever","loadKassabon","userModel","declaratieIntrekkenMessage","successNotificationMessage","watNuBodyMessage","zelfBijbetaald","DeclaratieCard","BegunstigdeCard","hasSlot","backRoute","now","useSignatureValidation","ConfirmationValidator","emptySignedModel","ConfirmationRepository","reqired","submitPromise","IntrekkenSignatureForm","IntrekkenDeclaratieConfirmation","_props","slots","useHasSlot","IntrekkenDeclaratie","emptyWeergevenBijkomendeZorgkosten","useBijkomendeZorgkostenRetriever","betaalgegevens","factuurReiskostenCard","betaalgegevensCard","reiskostenFactuurnummer","geenBudgetten","periodeMaand","factuurBedrag","emptyFiles","FactuurReiskostenValidator","isAfter","FactuurReiskostenRepository","onBudgetIdChange","onDateChange","setFactuurReiskostenModel","getFactuurReiskosten","maxBedrag","leftoverBudget","logError","budgetIdChangeHandler","dateChangeHandler","activePickerStartRef","pickerDateRef","factuurDatumRef","mapDeclaratieBudgetToBudget","decBudget","monthsDiff","monthsBetween","newBudget","oldBudget","getPickerStart","currentFactuurDatum","isBetween","idx","FactuurReiskostenOpstellen","FactuurReiskostenControleren","FactuurReiskostenIngediend","UiUploadenFactuur","UiIndienenDeclaratie","UiOverzichtDeclaratiesMaandloon","UiIndienenAlgemeneDeclaratie","UiRaadplegenDeclaratie","requires","UploadFactuur","leavePageDialog","skip","defaultParams","step","DeclaratieIndienen","knockoutLink","declaratieIndienenGeleverdeZorgReiskosten","FeestdagenUitkering","declaratieIndienenWooninitiatief","IdealReturn","IdealSuccess","IdealFailed","VerantwoordingsvrijBedrag","DeclaratiesOverzicht","declaratieIndienenAlgemeen","declaratieZorgverlenerInvoeren","declaratieBekijken","declaratieConceptIndienen","bekijkenTeBeoordelenZorgverlenerDeclaratie","beoordeelZorgverlenerDeclaratie","bewerkenAfgekeurdeDeclaratieZorgverlener","bekijkenTeruggestuurdeZorgverlenerDeclaratie","invoerenBestaandDeclaratieZorgverlener","WeergevenVerantwoordingsvrijBedrag","WeergevenFeestdagenUitkering","WeergevenBijkomendeZorgkosten","eventBus","EventBus","events","pausedEvents","eventName","off","resumeEvent","eventKey","isEventPaused","pauseEvent","registerGlobalEventBus","collectAllPolicies","requiresPolicy","collectConditionalPolicies","or","and","not","getRouteParms","matches","match","hasRequiredPolicy","requiredPolicy","notCachedValue","hasPolicy","policyService","isAllowedCached","hasRequiredPolicyCont","effectieveRol","hasAllRequiredPolicy","hasConditionalRequiredPolicy","requiredPolicies","hasAnyRequiredPolicy","FieldNameNotSet","existingMessages","newMessage","errorMessagesEquals","errorMessages1","errorMessages2","err1","_nonReactive","getValue","buildErrorMessages","forceValidate","addWatchers","getNonReactive","ignoreValidations","trim","valueIsInvalid","getEmptyValueErrorMessages","use","VueCompositionApi","deelnemers","algemeneAfspraken","zorgverlenerType","displayZorgbeschrijving","documentenOverig","ondertekening","ZorgovereenkomstBekijkenService","getZorgovereenkomst","zorgovereenkomstClient","mapZorgovereenkomst","getWWTarief","bhr","wwTariefModel","zorgovereenkomstBekijkenService","UseZorgovereenkomstInzien","useZorgovereenkomstInzien","zokInzien","useZorgovereenskomstInzienAlgemeneAfspraken","algemeneAfsprakenRef","salarisadministratieMachtiging","isSalarisadministratieDoorSvb","heeftLoonheffingskorting","defaultFixDateConditional","endsWith","fixDates","onCondition","minutesToHoursMinutes","minutes","hours","displayHoursMinutes","aantalMinuten","showPerEenheid","perEenheid","unit","hourSlot","andSlot","minuteSpacer","minuteSlot","tc","isNatuurlijkPersoon","NatuurlijkPersoon","isZzper","ZZP","isZorginstelling","Zorginstelling","isContractInDienst","isContractInOpdracht","InOpdracht","UseZorgovereenkomstInzienDeelnemers","deelnemersAdressen","prepareData","prepareAdressen","_defaultValues","defaultValue","col","useZorgovereenkomstInzienDeelnemers","oDeelnemers","UseZorgovereenkomstInzienWerkafspraken","wwTariefType","looptijdBepaaldEnMinderDan6Maanden","diff","werkAfspraakType","VastAantalUren","hasVastAantalUren","vakantieUrenInbegrepen","totaalMaandBedrag","maandloonDagenPerWeek","aanzegtermijn","looptijd","useZorgovereenkomstInzienWerkafspraken","hasProeftijd","isInDienstMetVastAantalUren","vakantieuren","budgethouderZorgverlenerRelatie","relatieAnders","zorgverlenerRef","betreftHetEenWooninitiatief","isNamedSection","headingLevel","inheritAttrs","PHeading","PSection","titles","toekenningsbeschikking","achternaam","telefoon1","telefoon2","soortZorgovereenkomst","werktAlsZZPer","wooninitiatief","agbcode","kvknummer","naamZorginstelling","tenaamstellingIban","geldigheid","afwezig","zorgovereenkomstMainI18n","CardContentSection","deelnemer","sectionTitle","optie","bedrijfsNaam","ZorgovereenkomstInzienDeelnemersAdres","anders","Anders","isContractTypeInOpdracht","ZorgovereenkomstInzienDeelnemer","ZorgovereenkomstInzienDeelnemersTkb","vertegenwoordiging","ZorgovereenkomstInzienVertegenwoordiger","beeindigingswijze","naamVasteZorgverlener","isVervangingszorgovereenkomst","einddatumProeftijd","beeindigingswijzeTerugVanVerlof","datum","looptijdZorgovereenkomst","weekrooster","wwTarief","reiskostenvergoeding","proeftijd","vasteZorgverlener","zorgovereenkomstVerlengen","proeftijdAfgesproken","gemaakteAfspraken","vergoedingRegelen","aantalDagenZorgverlener","aantalUrenZorgverlener","brutotarief","werkzaamheden","wwTariefFrom","wwTariefUntil","afsprakenReiskosten","soortVergoedingZorgverlener","vergoedingPerKilometer","kilometerPerDag","aantalDagenPerWeek","maandelijkseReiskostenvergoeding","aantaalUurPerEenheid","noAanzegtermijn","onbepaald","vervangendeZorgverlener","displayTarief","vakantieGeld","card","tarievenTitle","tariefTitle","soort","BetermeldingOfTerugVanVerlofVasteZorgverlener","reiskostenWordenVergoed","vasteReiskostenvergoedingPerMaand","count","ReiskostWordenWelVergoed","weekroosters","weekdag","total","level","NestedCardContentSection","rooster","weekroosterDag","sum","MinutenPerWeek","afspraak","afspraakIndex","urenPerTijdseenheid","tariefPerEenheid","tariefMetAparteTijdseenheid","werkzaamhedenMappen","useTarieven","isZorgverlenerNatuurlijkePersoon","brutotariefBedrag","eenheid","tijdseenheid","werkzaamheid","werkafspraak","aantalTijdseenheden","werkafspraakEenheid","isNietUren","Maanden","tijdsEenheid","minutenPerTijdseenheid","afspraken","WerkafsprakenWeekrooster","WerkafsprakenTarieven","isInDienstMetOnregelmatigeUren","OnregelmatigAantalUren","betreffendJaar","opZorgovereenkomst","UseWWTarief","calculateWWTariefOpZok","Hoog","Laag","updateWWTarieven","tariefOpZorgovereenkomst","Geen","wwTariefAfwijkendOpJaar","endOfYear","endOf","date1","date2","wwtarieftype","useWWTarief","oUseWWTarief","showTariefBetreffendJaar","WerkafsprakenLooptijd","WerkafsprakenProeftijd","WerkafsprakenReiskosten","WerkafsprakenVakantieuren","WerkafsprakenVergoedingen","WerkafsprakenWwTarief","showWWTarief","isUitbetalingBruto","documentenIdentiteitsbewijs","documentenVragenlijstFamilieverhouding","zorgbeschrijving","overigeAfspraken","betaling","salarisadministratie","identiteitsbewijsZorgverlener","vragenlijstFamilieverhouding","standaardAfspraken","machtigingSalarisadministratie","loonheffingskortingToegepast","voorEnAchterkantIdBewijs","zorgactiviteitenZorgverlener","welkeZorg","redenZorg","overigeAfsprakenZorgverlener","bruto","netto","tagline","nettoOpt","isUitbetalingNetto","standaardAfsprakenCard","close","cards","cardHeader","PartnerOfFamilielid","geheimhouding","ziekteZorgverlener","verantwoordelijkheid","socialeLasten","btw","opzegtermijn","geenOpzegtermijn","wijzigenZok","derdenbeding","header","idx1","ts","entry","idx2","valueOf","contractTypeValidator","useStandaardAfspraken","cardsData","activeCard","cardKey","cardContent","StandaardAfsprakenCard","cardData","standaardAfsprakenCards","StandaardAfspraken","SalarisAdministratie","Zorgbeschrijving","useZorgovereenkomstInzienAlgemeneAfspraken","ondertekendDoorBevoegdPersoonNaam","budgethouderNaam","isVertegenwoordigd","datumOndertekeningBevoegdPersoon","zorgverlenerNaam","adjustZorgverlenerDate","datumOndertekeningZorgverlener","ondertekenenBevoegdPersoon","ondertekenenZorgverlener","ondertekendDoorVertegenwoordiger","namensBudgethouder","ZorgovereenkomstInzienDeelnemers","ZorgovereenkomstInzienVertegenwoordigers","ZorgovereenkomstInzienDocumenten","ZorgovereenkomstInzienWerkafspraken","ZorgovereenkomstInzienAlgemeneAfspraken","ZorgovereenkomstInzienOndertekening","vertegenwoordigingVisible","RemoteFileService","win","binaryStr","atob","bytes","Uint8Array","charCodeAt","doUploadFile","fileUploadClient","ids","FormData","append","doDownloadTemporaryFile","fileDownloadClient","doDownloadArchivedFile","archivedDocument","bestandnaam","relatieid","dataToBlob","webkitURL","blobUrl","remove","uuidv4","random","emptyDeclarabeleRelatieBase","ZorgovereenkomstOverzicht","overzichtZorgovereenkomst","opstellenZorgovereenkomstNew","opstellenZorgovereenkomstEdit","bekijkenZorgovereenkomst","bekijkenZorgovereenkomstConcept","bekijkenVervanginsZorgovereenkomst","wijzigenBestaandZorgovereenkomstConcept","zorgovereenkomstVervangenConcept","zorgovereenkomstBeginvervangenZiek","zorgovereenkomstBeginvervangenZwanger","UiOverzichtZorgovereenkomsten","zorgovereenkomstOverzicht","UiRaadplegenZorgovereenkomst","zorgovereenkomstBekijken","UiOpstellenZorgovereenkomst","zorgovereenkomstOpstellenNew","UiMuterenZorgovereenkomst","zorgovereenkomstOpstellenEdit","redirectTo","zorgovereenkomstBekijkenConcept","zorgovereenkomstWijzigenConceptEdit","zorgovereenkomstVervangenBekijken","emptyAccountRelatie","zorgverlenerIsInstelling","pgb20Einddatum","mapUserSettings","ingangsdatumZiekmeldingMaximaalDagenInHetVerleden","findSettingValue","IngangsdatumZiekmeldingMaximaalDagenInHetVerleden","uploadFactuurIsMogelijk","UploadFactuurIsMogelijk","logTimingsApi","LogTimingsApi","BijstortenMetIdealIsMogelijk","maximumSearchResultsSetting","MaximumSearchResults","opschortingIsMogelijk","OpschortenBetalingFeature","TeamviewerTenantId","ingangsdatumZiekengeldvergoedingRegime","IngangsdatumZiekengeldvergoedingRegime","settingtype","setting","settingRequests","mapCurrentUser","account","gebruikersnaam","mapAccountRelatie","budgethouders","budgethouderOpzoekenViewModels","mapAccountBudgethouder","authorizedOperations","applicatieRollen","emptyUserSettings","emptyCurrentUser","CurrentUserRepository","getUserSettings","getAccountFromApi","isBudgethouder","isVertegenwoordiger","isPortaalMedewerker","isInstantie","FunctioneelApplicatiebeheerder","VerstrekkerMedewerker","isFunctioneelApplicatieBeheerder","isBudgethouderGeselecteerd","findIndex","bgh","setSelectedBudgethouderUidInStorage","accountClient","settingClient","updateLogTimingSetting","globalThis","global","self","getDefaultExportFromCjs","createCommonjsModule","vueSmoothScroll_min","commonjsGlobal","iterator","nodeName","getBoundingClientRect","u","duration","offset","container","updateHistory","f","scrollTo","hash","history","pushState","scrollTop","pageYOffset","install","directive","inserted","addEventListener","clickHandler","unbind","removeEventListener","$smoothScroll","vueSmoothScroll","script$1i","VRow","VCol","__vue_script__$1i","__vue_render__$1k","__vue_staticRenderFns__$1k","_withStripped","__vue_inject_styles__$1k","__vue_scope_id__$1k","__vue_module_identifier__$1k","__vue_is_functional_template__$1k","__vue_component__$1k","normalizeComponent","LogLevel","getCurrentInstance","breakpoint","$vuetify","isDesktopView","mdAndUp","isTabletView","sm","xs","isMobileOrTabletView","smAndDown","_routeLinkResolver","logLevel","Warning","extractErrorMessage","logWarning","optionalParms","warn","errorNotInProd","toStringSave","arg","toISOString","_","tryTranslateRecursive","values","$te","$parent","translateRecursive","vue","te","tRecursiveTry","tRecursive","print","StepRouter","routeParam","$route","hasRoutes","toComposable","getRouteIndex","toStepNumber","getLocation","stepRoute","$router","setupRouteLinkResolver","routeResolver","resolveRouteLink","to","useRouteResolver","linkTo","computeLinkTo","linkHref","computeLinkHref","allowed","computeIsAllowed","useRouteResolverMulti","makeIDGenerator","nextIndex","next","generators","useIdGenerator","useState","initialState","setState","newState","setFromOldState","callBack","oldState","useCustomFocus","currentStyle","script$1h","VDivider","__vue_script__$1h","__vue_render__$1j","role","__vue_staticRenderFns__$1j","__vue_inject_styles__$1j","__vue_scope_id__$1j","__vue_module_identifier__$1j","__vue_is_functional_template__$1j","__vue_component__$1j","script$1g","intLevel","__vue_script__$1g","__vue_render__$1i","__vue_staticRenderFns__$1i","__vue_inject_styles__$1i","__vue_scope_id__$1i","__vue_module_identifier__$1i","__vue_is_functional_template__$1i","__vue_component__$1i","script$1f","PDivider","a11yFocusableOptions","divider","meta","__vue_script__$1f","__vue_render__$1h","__vue_staticRenderFns__$1h","__vue_inject_styles__$1h","__vue_scope_id__$1h","__vue_module_identifier__$1h","__vue_is_functional_template__$1h","__vue_component__$1h","UseHelpMenu","menuRef","withSetTimeout","active","_linkRefs","_focusOnLastItem","_menuRef","_withSetTimeout","_onOpen","_onClose","menuKeyHandler","ev","actions","ArrowUp","_focusOnItem","_getNextItemIndex","ArrowDown","Home","End","activatorKeyHandler","querySelectorAll","_focusedItemIndex","focusedElement","hasFocus","activeElement","documentElement","direction","focusedIndex","indices","prev","useHelpMenu","helpMenu","i18n$9","helpNeeded","helpClose","script$1e","VBtn","VIcon","VMenu","hasItems","mainRef","__vue_script__$1e","__vue_render__$1g","attach","left","color","keydown","_k","keyCode","tabindex","$emit","__vue_staticRenderFns__$1g","__vue_inject_styles__$1g","__vue_scope_id__$1g","__vue_module_identifier__$1g","__vue_is_functional_template__$1g","__vue_component__$1g","btnOutlined","hoverClass","outlined","btnFilled","btnNext","inlineIcon","position","icon","btnPrevious","btnUp","btnDown","btnInfo","btnText","btnHelpMobile","style","width","btnPrint","btnRestore","btnDelete","removeNonInheritableOptions","getGetBtnPresets","colorHexes","theme","defaults","light","filled","previous","up","down","helpMobile","primary","restore","usePresets","getBtnPresets","getPreset","small","hasContent","withIcon","extraSmall","btnPresets","preset","large","script$1d","loading","exact","customFocus","hasCustomFocus","__vue_script__$1d","__vue_render__$1f","_obj","__vue_staticRenderFns__$1f","__vue_inject_styles__$1f","__vue_scope_id__$1f","__vue_module_identifier__$1f","__vue_is_functional_template__$1f","__vue_component__$1f","script$1c","VSlideXReverseTransition","VSheet","PButton","VCardText","VCard","expand","toggleExpand","watchEffect","__vue_script__$1c","__vue_render__$1e","origin","tile","height","elevation","__vue_staticRenderFns__$1e","__vue_inject_styles__$1e","__vue_scope_id__$1e","__vue_module_identifier__$1e","__vue_is_functional_template__$1e","__vue_component__$1e","script$1b","PHelpPanel","PHelpOverlay","portalName","root","scrollToFooter","__vue_script__$1b","__vue_render__$1d","scrollAnimate","__vue_staticRenderFns__$1d","__vue_inject_styles__$1d","__vue_scope_id__$1d","__vue_module_identifier__$1d","__vue_is_functional_template__$1d","__vue_component__$1d","script$1a","PageLayoutBase","PHelp","__vue_script__$1a","__vue_render__$1c","md","cols","__vue_staticRenderFns__$1c","__vue_inject_styles__$1c","__vue_scope_id__$1c","__vue_module_identifier__$1c","__vue_is_functional_template__$1c","__vue_component__$1c","alertDefaultLiveRegion","setWatcher","displayAlert","showAlert","ariaLive","script$19","VAlert","dismissible","truncateTitle","getIcon","icons","liveRegionLevel","titleElement","__vue_script__$19","__vue_render__$1b","__vue_staticRenderFns__$1b","__vue_inject_styles__$1b","__vue_scope_id__$1b","__vue_module_identifier__$1b","__vue_is_functional_template__$1b","__vue_component__$1b","script$18","VCardActions","VCardTitle","VExpandTransition","dark","expandable","expanded","cardId","headingId","expandToggle","titleWrapperElement","__vue_script__$18","__vue_render__$1a","keyup","__vue_staticRenderFns__$1a","__vue_inject_styles__$1a","__vue_scope_id__$1a","__vue_module_identifier__$1a","__vue_is_functional_template__$1a","__vue_component__$1a","script$17","triggerName","__vue_script__$17","__vue_render__$19","__vue_staticRenderFns__$19","__vue_inject_styles__$19","__vue_scope_id__$19","__vue_module_identifier__$19","__vue_is_functional_template__$19","__vue_component__$19","script$16","hideSlot","checkForIllegalElements","valueRows","componentTag","componentOptions","__vue_script__$16","__vue_render__$18","__vue_staticRenderFns__$18","__vue_inject_styles__$18","__vue_scope_id__$18","__vue_module_identifier__$18","__vue_is_functional_template__$18","__vue_component__$18","i18n$8","ariaLabel","ariaLabelWithLinkedLabelText","script$15","VDialog","wide","persistent","visibleModel","modalWidth","getModalWidth","sizes","__vue_script__$15","__vue_render__$17","scrollable","__vue_staticRenderFns__$17","__vue_inject_styles__$17","__vue_scope_id__$17","__vue_module_identifier__$17","__vue_is_functional_template__$17","__vue_component__$17","script$14","PDialog","VHover","invert","internalId","__vue_script__$14","__vue_render__$16","hover","__vue_staticRenderFns__$16","__vue_inject_styles__$16","__vue_scope_id__$16","__vue_module_identifier__$16","__vue_is_functional_template__$16","__vue_component__$16","script$13","PInfo","percentage","days","yesNoBoolean","yesUnknownBoolean","ellipsis","right","bold","defaule","dashOnFalsy","currency","renderChoices","propKey","rowValue","__vue_script__$13","__vue_render__$15","__vue_staticRenderFns__$15","__vue_inject_styles__$15","__vue_scope_id__$15","__vue_module_identifier__$15","__vue_is_functional_template__$15","__vue_component__$15","RegisterPStepKey","provideRegisterPStep","register","provide","injectRegisterPStep","inject","registerPStep","registerStepComponentKey","provideRegisterStepComponent","injectRegisterStepComponent","stepComponent","script$12","complete","saveOnNext","stepComponents","hide","canGoNext","canGoNextFn","getHasValidation","getHasValidationFn","saveFn","current","__vue_script__$12","__vue_render__$14","hidden","__vue_staticRenderFns__$14","__vue_inject_styles__$14","__vue_scope_id__$14","__vue_module_identifier__$14","__vue_is_functional_template__$14","__vue_component__$14","StepNavigator","dc","context","updateState","buildMethods","toNextStep","toPreviousStep","toNavigateStep","saveStep","routed","started","toValidatedNextStep","updateStep","newStep","activeStep","getValidRouteIndex","finished","finishedStep","maxValidStep","currentStepValidated","navigateStep","validRouteIndex","processingNext","valid","nextStep","previousStep","processingSave","saved","completed","useButtons","canShowNext","hasNextButton","hasPreviousButton","hasSubmitButton","hasSaveButton","getDefaultStep","useDataContext","stepHeaders","processing","registerWatchers","navigator","lastStepNumberEmitted","usePStepper","script$11","VStepper","VStepperHeader","VStepperStep","submitLabel","saveLabel","__vue_script__$11","__vue_render__$13","__vue_staticRenderFns__$13","__vue_inject_styles__$13","__vue_scope_id__$13","__vue_module_identifier__$13","__vue_is_functional_template__$13","__vue_component__$13","__vue_render__$12","__vue_staticRenderFns__$12","__vue_inject_styles__$12","__vue_scope_id__$12","__vue_module_identifier__$12","__vue_is_functional_template__$12","__vue_component__$12","maxColumnsOneline","maxColumnsInlineLabels","maxColumnsDefault","script$10","VContainer","fluid","__vue_script__$10","__vue_render__$11","__vue_staticRenderFns__$11","__vue_inject_styles__$11","__vue_scope_id__$11","__vue_module_identifier__$11","__vue_is_functional_template__$11","__vue_component__$11","registerFormInputValidatorKey","provideRegisterFormInputValidator","injectRegisterFormInputValidator","registerFormInputValidator","formInputValidator","UseValidation","shouldValidate","isInError","isRequired","isFormValidating","holdValidation","hasValidationError","getValidationMessage","translate","revalidate","substr","withFieldName","groupValidationProviderName","formsStateManagerKey","formIdProvider","useParentFormId","useFormsStateManager","elementId","formsStateManager","parentFormId","persist","registerElement","isDirty","onBeforeUnmount","deregisterElement","manualDeregister","setDirty","formsState","updateElement","UseInput","listeners","errorId","isTouched","hasBlurredAtLeastOnce","currentInstance","groupValidation","hasGroupValidation","hideChildValidationOnError","formsStateManagerId","registerGroupValidator","setDirtyFn","persistInFormsState","setGroupField","forceErrorState","deleteGroupField","force","onBlur","Vue$1","onChange","onInput","onFocus","getEvents","blur","change","getSlotListeners","validationEvents","lookupEventsAndTrigger","args","validationEvent","listenerEvents","calculateAriaDescribedBy","errorString","setAriaDescribedby","getSlotAttrs","slotAttrs","readonly","autofocus","getExtractedValidation","extractedValidation","hideValidation","slotListeners","script$$","__vue_script__$$","__vue_render__$10","__vue_staticRenderFns__$10","__vue_inject_styles__$10","__vue_scope_id__$10","__vue_module_identifier__$10","__vue_is_functional_template__$10","__vue_component__$10","fieldsetProviderName","script$_","VLabel","PInputLabel","persistentHint","hideDetails","inlineLabel","suppressChildInputState","fieldSetConfig","visuallyHideLabels","__vue_script__$_","__vue_render__$$","focused","for","absolute","min","maxlength","__vue_staticRenderFns__$$","__vue_inject_styles__$$","__vue_scope_id__$$","__vue_module_identifier__$$","__vue_is_functional_template__$$","__vue_component__$$","isElementInView","element","bounding","innerHeight","clientHeight","innerWidth","clientWidth","isScrollable","scrollHeight","maintainScrollVisibility","scrollParent","offsetHeight","offsetTop","parentOffsetHeight","isAbove","isBelow","usePSelectOpenState","comboboxElement","setSelectState","defaultOpen","isOpen","setOpenState","callFocus","scrollIntoView","behavior","pageSize","SelectActions","Close","CloseSelect","First","Last","Next","Open","PageDown","PageUp","Previous","Select","Type","filterOptions","exclude","checkOpenKeys","openKeys","checkHomeEndKeys","checkIfTyping","altKey","ctrlKey","metaKey","checkArrowKeys","checkPageUpPageDown","checkCloseKeys","getActionFromKey","menuOpen","action","getIndexByLetter","startIndex","orderedOptions","firstMatch","allSameLetter","letter","getUpdatedIndex","currentIndex","maxIndex","usePSelectHandlers","selectOptions","activeIndex","collectedStateSetters","searchTimeout","searchString","ignoreBlur","selectOption","changeOption","getSearchString","char","onComboType","searchIndex","preventAndChangeOption","preventAndUpdateMenu","openMenu","onComboKeyDownHandler","actionMapper","onOptionClickHandler","onComboClickHandler","onComboBlurHandler","onOptionMouseDownHandler","usePSelectOptions","isDefaultOption","handleItemScroll","listboxElement","optionElements","usePSelectOptionSetters","emitFn","selectedIndex","selectedText","script$Z","ariaRequired","ariaInvalid","ariaDescribedby","ariaLabelledby","baseId","listboxId","valueProp","newIndex","__vue_script__$Z","__vue_render__$_","mousedown","__vue_staticRenderFns__$_","__vue_inject_styles__$_","__vue_scope_id__$_","__vue_module_identifier__$_","__vue_is_functional_template__$_","__vue_component__$_","script$Y","PInput","PSelectCore","ariaSelect","labelId","onDefaultValueSelectedHandler","labelElement","removeAttribute","__vue_script__$Y","__vue_render__$Z","__vue_staticRenderFns__$Z","__vue_inject_styles__$Z","__vue_scope_id__$Z","__vue_module_identifier__$Z","__vue_is_functional_template__$Z","__vue_component__$Z","i18n$7","placeholder","script$X","VTextField","clearable","debounceTimeout","searchValue","debounce","handleInput","inputPlaceholder","__vue_script__$X","__vue_render__$Y","__vue_staticRenderFns__$Y","__vue_inject_styles__$Y","__vue_scope_id__$Y","__vue_module_identifier__$Y","__vue_is_functional_template__$Y","__vue_component__$Y","i18n$6","openFilterOptions","closeFilterOptions","descriptionFilters","descriptionSearch","script$W","PContainer","PSelect","PSearch","searchEnabled","oneLine","inlineLabels","maxColumns","descriptions","showToggler","filtersId","filterSelects","showFiltersList","showDescriptions","computedMaxColumns","maxColumnsMultiLine","onInputHandler","onSearchHandler","onToggleHandler","newSearch","newFilters","filtersState","searchState","openState","__vue_script__$W","__vue_render__$X","__vue_staticRenderFns__$X","__vue_inject_styles__$X","__vue_scope_id__$X","__vue_module_identifier__$X","__vue_is_functional_template__$X","__vue_component__$X","i18n$5","amountRows","shownResults","unfilteredResults","filteredResults","aria","selectAsc","selectDesc","noData","noFilterData","sortDirection","ascending","descending","sortingDirection","itemsPerPageChoices","itemsPerPage","showAll","UseDataTable","customSorter","sortOptions","defaultSort","order","itemLength","isRef","filteredLength","pageOptions","page","pageCount","arr","shownEntries","first","last","toggleSort","propName","forceOrder","selectedHeader","h","setSortingOrder","isOtherColumn","sortOptionsRef","pageOptionsRef","useDataTable","script$V","VDataTable","Function","dataUiPrefix","disableSort","disablePagination","hasTableRowListener","customFilter","noDataText","noResultsText","createMutatableTableOptions","sortRow","sortingAriaLabels","headingNotSelected","field","handleRowEnterPress","evt","tagName","__vue_script__$V","__vue_render__$W","pagination","scope","children","keypress","headerIndex","child","childIndex","__vue_staticRenderFns__$W","__vue_inject_styles__$W","__vue_scope_id__$W","__vue_module_identifier__$W","__vue_is_functional_template__$W","__vue_component__$W","sortFunctionality","onSortBy","onSortDesc","useCustomSorter","getSortHeaders","script$U","customSorterRef","sortDirectionArray","onSortDirectionChange","onSortChange","onSortByChange","sortHeaders","__vue_script__$U","__vue_render__$V","__vue_staticRenderFns__$V","__vue_inject_styles__$V","__vue_scope_id__$V","__vue_module_identifier__$V","__vue_is_functional_template__$V","__vue_component__$V","dayjs_min","$","M","weekdays","ordinal","utcOffset","clone","ceil","w","D","ms","Q","g","S","O","locale","$L","utc","$u","$x","$offset","UTC","$y","$M","$D","getDate","$W","getDay","$H","getHours","$m","getMinutes","$s","getSeconds","$ms","getMilliseconds","$utils","isSame","startOf","isBefore","$g","set","unix","getTime","$locale","weekStart","daysInMonth","subtract","invalidDate","meridiem","monthsShort","weekdaysMin","weekdaysShort","getTimezoneOffset","toJSON","toUTCString","extend","$i","isDayjs","en","Ls","local","getUTCFullYear","getUTCMonth","getUTCDate","getUTCDay","getUTCHours","getUTCMinutes","getUTCSeconds","getUTCMilliseconds","$localOffset","isUTC","isBetween$1","customParseFormat","LTS","LT","L","LL","LLL","LLLL","zone","A","afternoon","milliseconds","SS","SSS","ss","mm","H","HH","hh","DD","Do","day","MM","MMM","MMMM","Y","YY","YYYY","Z","ZZ","formats","regex","parser","parseTwoDigitYear","seconds","ISO_FORMAT","LOCALE_FORMAT","DATE_LENGTH","overrideVueI18nD","i18nWithOverride","originalD","actualOverrideVueI18nD","toDateOrNull","invalidDateString","invalidDayjs","dateStringFromString","addDashesFromFormat","toDayjs","asDayjs","toDayjsOrInvalid","cursor","compDate","compDates","firstDate","lastDate","granularity","inclusive","num","dayjsDateStart","dayjsDateEnd","startMonth","tillMonth","childDateFormat","percentageFormat","caption","getSelectedFilters","isNothingSelected","selectedFilters","isFilterHit","isSearchHit","dateLikeRegex","fullDateRegex","_m","p1","p2","pop","withCentsRegex","withKSeperatorRegex","canBeSearched","searchableKeys","isAndCombination","filterHits","searchFilter","shouldShowInCombinationWithSearchString","pAriaLiveFunctionsProviderName","pAriaLiveDataProviderName","usePAriaLive","announcePolite","announceAssertive","script$T","PDataTableDesktop","PDataTableMobile","VPagination","PFilters","defaultSortDescending","filterDescriptions","itemTypesI18n","searchInColumns","customSearch","dataTable","isFiltered","pageCountLabelId","dataTableComposables","showTopFilters","customFilter$1","resultsMsg","itemTypes","onFiltersInputHandler","a11yMsg","onPaginationUpdateHandler","itemsLength","totalLength","onPageOptionChangeHandler","scrollY","__vue_script__$T","__vue_render__$U","$scopedSlots","__vue_staticRenderFns__$U","__vue_inject_styles__$U","__vue_scope_id__$U","__vue_module_identifier__$U","__vue_is_functional_template__$U","__vue_component__$U","__vue_render__$T","__vue_staticRenderFns__$T","__vue_inject_styles__$T","__vue_scope_id__$T","__vue_module_identifier__$T","__vue_is_functional_template__$T","__vue_component__$T","DelayedFormInputValidator","onStart","onValidate","_isValidating","_onStart","waitForValidation","_onValidate","_waitForValidation","script$S","inputValidators","waitForValidationList","addFormInputValidator","inputValidator","removeFormInputValidator","startFormValidation","endFormValidation","findAndFocusOnFirstError","validateInputs","runWaitForValidation","inputsWithError","rect","inputElement","__vue_script__$S","__vue_render__$S","novalidate","__vue_staticRenderFns__$S","__vue_inject_styles__$S","__vue_scope_id__$S","__vue_module_identifier__$S","__vue_is_functional_template__$S","__vue_component__$S","updateAllElements","formsStateObj","formId","script$R","VFooter","__vue_script__$R","__vue_render__$R","padless","__vue_staticRenderFns__$R","__vue_inject_styles__$R","__vue_scope_id__$R","__vue_module_identifier__$R","__vue_is_functional_template__$R","__vue_component__$R","script$Q","version","menuIcon","activeMenu","resolvedItems","menu","menuElement","activator","closeIfElementIsOutside","focusOnActivator","closeActiveMenu","toggleActiveMenu","useMenuHandlers","clickOnBtn","onTab","onEsc","useMenuEvents","useActiveMenu","node","noEvent","activatorValue","contains","$nextTick","__vue_script__$Q","__vue_render__$Q","hiddenMobile","refInFor","__vue_staticRenderFns__$Q","__vue_inject_styles__$Q","__vue_scope_id__$Q","__vue_module_identifier__$Q","__vue_is_functional_template__$Q","__vue_component__$Q","script$P","VList","flat","__vue_script__$P","__vue_render__$P","__vue_staticRenderFns__$P","__vue_inject_styles__$P","__vue_scope_id__$P","__vue_module_identifier__$P","__vue_is_functional_template__$P","__vue_component__$P","script$O","VListItem","__vue_script__$O","__vue_render__$O","__vue_staticRenderFns__$O","__vue_inject_styles__$O","__vue_scope_id__$O","__vue_module_identifier__$O","__vue_is_functional_template__$O","__vue_component__$O","script$N","VListItemContent","__vue_script__$N","__vue_render__$N","__vue_staticRenderFns__$N","__vue_inject_styles__$N","__vue_scope_id__$N","__vue_module_identifier__$N","__vue_is_functional_template__$N","__vue_component__$N","script$M","VListItemTitle","__vue_script__$M","__vue_render__$M","__vue_staticRenderFns__$M","__vue_inject_styles__$M","__vue_scope_id__$M","__vue_module_identifier__$M","__vue_is_functional_template__$M","__vue_component__$M","script$L","__vue_script__$L","__vue_render__$L","__vue_staticRenderFns__$L","__vue_inject_styles__$L","__vue_scope_id__$L","__vue_module_identifier__$L","__vue_is_functional_template__$L","__vue_component__$L","script$K","lg","__vue_script__$K","__vue_render__$K","__vue_staticRenderFns__$K","__vue_inject_styles__$K","__vue_scope_id__$K","__vue_module_identifier__$K","__vue_is_functional_template__$K","__vue_component__$K","i18n$4","contentTitle","generateRouteDescriptionIds","cur","useMainMenuDescriptionIds","mainRoutes","additionalRoutes","containerDescriptionId","mainRouteDescriptionIdIndex","additionalRouteDescriptionIdIndex","script$J","PRow","PCol","PList","PListItem","PListItemTitle","PListItemContent","VSlideYTransition","toggleClose","__vue_script__$J","__vue_render__$J","category","__vue_staticRenderFns__$J","__vue_inject_styles__$J","__vue_scope_id__$J","__vue_module_identifier__$J","__vue_is_functional_template__$J","__vue_component__$J","script$I","VNavigationDrawer","__vue_script__$I","__vue_render__$I","fixed","__vue_staticRenderFns__$I","__vue_inject_styles__$I","__vue_scope_id__$I","__vue_module_identifier__$I","__vue_is_functional_template__$I","__vue_component__$I","script$H","TopMenu","MainMenu","MainMenuMobile","toolbarItems","headerImage","isMobile","__vue_script__$H","__vue_render__$H","scopedProps","alt","__vue_staticRenderFns__$H","__vue_inject_styles__$H","__vue_scope_id__$H","__vue_module_identifier__$H","__vue_is_functional_template__$H","__vue_component__$H","script$G","signout","__vue_script__$G","__vue_render__$G","__vue_staticRenderFns__$G","__vue_inject_styles__$G","__vue_scope_id__$G","__vue_module_identifier__$G","__vue_is_functional_template__$G","__vue_component__$G","script$F","__vue_script__$F","__vue_render__$F","__vue_staticRenderFns__$F","__vue_inject_styles__$F","__vue_scope_id__$F","__vue_module_identifier__$F","__vue_is_functional_template__$F","__vue_component__$F","script$E","__vue_script__$E","__vue_render__$E","__vue_staticRenderFns__$E","__vue_inject_styles__$E","__vue_scope_id__$E","__vue_module_identifier__$E","__vue_is_functional_template__$E","__vue_component__$E","script$D","VListItemIcon","PIcon","__vue_script__$D","__vue_render__$D","__vue_staticRenderFns__$D","__vue_inject_styles__$D","__vue_scope_id__$D","__vue_module_identifier__$D","__vue_is_functional_template__$D","__vue_component__$D","phone","hulp","script$C","PListItemIcon","__vue_script__$C","__vue_render__$C","__vue_staticRenderFns__$C","__vue_inject_styles__$C","__vue_scope_id__$C","__vue_module_identifier__$C","__vue_is_functional_template__$C","__vue_component__$C","script$B","offsetY","offsetX","contentClass","__vue_script__$B","__vue_render__$B","__vue_staticRenderFns__$B","__vue_inject_styles__$B","__vue_scope_id__$B","__vue_module_identifier__$B","__vue_is_functional_template__$B","__vue_component__$B","script$A","politeMessage","assertiveMessage","msg","__vue_script__$A","__vue_render__$A","__vue_staticRenderFns__$A","__vue_inject_styles__$A","__vue_scope_id__$A","__vue_module_identifier__$A","__vue_is_functional_template__$A","__vue_component__$A","script$z","internalMessage","timeoutIdentifier","__vue_script__$z","__vue_render__$z","__vue_staticRenderFns__$z","__vue_inject_styles__$z","__vue_scope_id__$z","__vue_module_identifier__$z","__vue_is_functional_template__$z","__vue_component__$z","script$y","PAriaLiveMessage","message1","message2","setFirstMessageField","__vue_script__$y","__vue_render__$y","__vue_staticRenderFns__$y","__vue_inject_styles__$y","__vue_scope_id__$y","__vue_module_identifier__$y","__vue_is_functional_template__$y","__vue_component__$y","script$x","PAriaLiveMessagePair","ariaLiveProvider","__vue_script__$x","__vue_render__$x","__vue_staticRenderFns__$x","__vue_inject_styles__$x","__vue_scope_id__$x","__vue_module_identifier__$x","__vue_is_functional_template__$x","__vue_component__$x","script$w","newFormState","newAllState","partialState","prevFormsState","prevForm","__vue_script__$w","__vue_render__$w","__vue_staticRenderFns__$w","__vue_inject_styles__$w","__vue_scope_id__$w","__vue_module_identifier__$w","__vue_is_functional_template__$w","__vue_component__$w","script$v","VApp","PAriaLive","PAriaLiveMessageBlock","PFormsStateManager","__vue_script__$v","__vue_render__$v","__vue_staticRenderFns__$v","__vue_inject_styles__$v","__vue_scope_id__$v","__vue_module_identifier__$v","__vue_is_functional_template__$v","__vue_component__$v","script$u","VMain","__vue_script__$u","__vue_render__$u","__vue_staticRenderFns__$u","__vue_inject_styles__$u","__vue_scope_id__$u","__vue_module_identifier__$u","__vue_is_functional_template__$u","__vue_component__$u","script$t","VProgressCircular","__vue_script__$t","__vue_render__$t","indeterminate","__vue_staticRenderFns__$t","__vue_inject_styles__$t","__vue_scope_id__$t","__vue_module_identifier__$t","__vue_is_functional_template__$t","__vue_component__$t","script$s","__vue_script__$s","__vue_render__$s","__vue_staticRenderFns__$s","__vue_inject_styles__$s","__vue_scope_id__$s","__vue_module_identifier__$s","__vue_is_functional_template__$s","__vue_component__$s","script$r","suffix","counter","inputmode","inputEventHandler","Event","__vue_script__$r","__vue_render__$r","__vue_staticRenderFns__$r","__vue_inject_styles__$r","__vue_scope_id__$r","__vue_module_identifier__$r","__vue_is_functional_template__$r","__vue_component__$r","script$q","VTextarea","noResize","rows","__vue_script__$q","__vue_render__$q","__vue_staticRenderFns__$q","__vue_inject_styles__$q","__vue_scope_id__$q","__vue_module_identifier__$q","__vue_is_functional_template__$q","__vue_component__$q","i18n$3","script$p","__vue_script__$p","__vue_render__$p","autocomplete","__vue_staticRenderFns__$p","__vue_inject_styles__$p","__vue_scope_id__$p","__vue_module_identifier__$p","__vue_is_functional_template__$p","__vue_component__$p","script$o","VDatePicker","PDatePickerTextField","activePickerStart","pickerDate","toLocaleFormat","dateFormatted","activePickerRef","setDate","onPickerInput","newDate","__vue_script__$o","__vue_render__$o","transition","__vue_staticRenderFns__$o","__vue_inject_styles__$o","__vue_scope_id__$o","__vue_module_identifier__$o","__vue_is_functional_template__$o","__vue_component__$o","script$n","PButtonContainer","selectedDate","modal","setDateFromInput","__vue_script__$n","__vue_render__$n","__vue_staticRenderFns__$n","__vue_inject_styles__$n","__vue_scope_id__$n","__vue_module_identifier__$n","__vue_is_functional_template__$n","__vue_component__$n","script$m","PDatePickerDialog","PDatePickerMenu","updatedValue","newActivePickerStart","newPickerDate","onPickerClickedHandler","fieldValidation","__vue_script__$m","__vue_render__$m","__vue_staticRenderFns__$m","__vue_inject_styles__$m","__vue_scope_id__$m","__vue_module_identifier__$m","__vue_is_functional_template__$m","__vue_component__$m","script$l","VCheckbox","inputState","handleChange","checkboxValidation","__vue_script__$l","__vue_render__$l","ripple","__vue_staticRenderFns__$l","__vue_inject_styles__$l","__vue_scope_id__$l","__vue_module_identifier__$l","__vue_is_functional_template__$l","__vue_component__$l","UseGroupValidation","linkedFormFields","linkedFormFieldsInError","newFields","initValidator","noAriaDescribedby","alwaysReserveChildErrorSpace","script$k","__vue_script__$k","__vue_render__$k","__vue_staticRenderFns__$k","__vue_inject_styles__$k","__vue_scope_id__$k","__vue_module_identifier__$k","__vue_is_functional_template__$k","__vue_component__$k","i18n$2","requiredLegendText","script$j","groupValidationApi","__vue_script__$j","__vue_render__$j","__vue_staticRenderFns__$j","__vue_inject_styles__$j","__vue_scope_id__$j","__vue_module_identifier__$j","__vue_is_functional_template__$j","__vue_component__$j","script$i","PGroupValidationError","legendText","useStandardLabels","__vue_script__$i","__vue_render__$i","__vue_staticRenderFns__$i","__vue_inject_styles__$i","__vue_scope_id__$i","__vue_module_identifier__$i","__vue_is_functional_template__$i","__vue_component__$i","script$h","PFieldsetLegend","PGroupValidation","__vue_script__$h","__vue_render__$h","__vue_staticRenderFns__$h","__vue_inject_styles__$h","__vue_scope_id__$h","__vue_module_identifier__$h","__vue_is_functional_template__$h","__vue_component__$h","script$g","__vue_script__$g","__vue_render__$g","__vue_staticRenderFns__$g","__vue_inject_styles__$g","__vue_scope_id__$g","__vue_module_identifier__$g","__vue_is_functional_template__$g","__vue_component__$g","script$f","PFieldset","PFieldsetError","isColumn","radioGroupId","itemsWithIds","vnew","vold","radioValidation","__vue_script__$f","__vue_render__$f","checked","_q","__vue_staticRenderFns__$f","__vue_inject_styles__$f","__vue_scope_id__$f","__vue_module_identifier__$f","__vue_is_functional_template__$f","__vue_component__$f","createRequest","xhr","XMLHttpRequest","responseType","setRequestHeader","sendRequest","send","sendFormRequest","ChunkUploadHandler","chunks","sessionId","chunkSize","speedInterval","maxRetries","maxActive","startBody","uploadBody","finishBody","completedProgress","chunksUploaded","uploadingProgress","chunksUploading","progress","uploaded","chunksToUpload","createChunks","fileSize","startOffset","retries","updateFileProgress","pause","stopChunks","stopSpeedCalc","resume","startChunking","phase","mime_type","fileType","session_id","end_offset","maxActiveChunks","uploadNextChunk","startSpeedCalc","hasChunksToUpload","uploadChunk","finish","lengthComputable","start_offset","speed","lastUploadedBytes","setInterval","uploadedBytes","clearInterval","script$e","methods","addInputFile","userAgent","$destroy","parent","__vue_script__$e","__vue_render__$e","inputId","accept","capture","webkitdirectory","directory","features","multiple","html5","__vue_staticRenderFns__$e","__vue_inject_styles__$e","__vue_scope_id__$e","__vue_module_identifier__$e","__vue_is_functional_template__$e","__vue_component__$e","CHUNK_DEFAULT_OPTIONS","minSize","handler","script$d","InputFile","maximum","addIndex","postAction","putAction","customAction","drop","dropDirectory","thread","chunkEnabled","dropActive","uploading","mounted","ondrop","maps","$forceUpdate","watchDrop","beforeDestroy","chunkOptions","className","watchActive","watchDropActive","oldMaps","newFile","oldFile","emitFile","clear","emitInput","newFiles","addFiles","webkitRelativePath","relativePath","Element","emitFilter","names","__vuex__","addDataTransfer","dataTransfer","getAsEntry","getAsFile","webkitGetAsEntry","getEntry","results","isFile","isDirectory","dirReader","createReader","readEntries","id1","id2","file1","file2","index1","index2","isPrevent","RegExp","shouldUseChunkUpload","uploadPut","uploadHtml5","uploadHtml4","HandlerClass","querys","queryString","uploadXhr","form","_file","speedTime","speedLoaded","onprogress","speedTime2","toFixed","interval","responseText","getResponseHeader","onabort","ontimeout","onKeydown","iframe","getResponseData","contentWindow","contentDocument","_el","dropElement","onDocumentDragenter","onDocumentDragleave","onDocumentDragover","onDocumentDrop","onDragover","onDrop","$root","newDropActive","oldDropActive","dropTimeout","dt","types","explicitOriginalTarget","fromElement","clientX","clientY","__vue_script__$d","__vue_render__$d","__vue_staticRenderFns__$d","__vue_inject_styles__$d","__vue_scope_id__$d","__vue_module_identifier__$d","__vue_is_functional_template__$d","__vue_component__$d","defaultIcon","isImage","revokeObjectUrl","revokeObjectURL","createThumb","friendlyByteSize","UseFileUploadHelper","maxSize","_totalFileSize","calculateTotalSize","curr","isAllowedFileSize","isDuplicate","allFiles","uniqueValues","isFileAllowed","escapedExtensions","rxExtensions","inputRef","downloaded","removed","warningMessage","batchCompletionTimer","queuedTotalFiles","queuedTotalFileSize","uploadedFiles","failedUploads","extensionsList","helper","totalSize","onMountedHandler","fileComponent","setWarningMessage","clearWarningMessage","validateNewFile","combinedFileSize","numberOfFiles","totalFiles","fileWasRemoved","handleFailedUpload","validationErrorMessage","removeFailedUpload","fileFromArray","checkIfAllUploadsAreQueued","fileWasAdded","prevent","filterInput","usei18n","i18n$1","dragOneFile","dragOneOrMoreFiles","toThisArea","orChooseFile","chooseFile","allowedFileExtensions","maximumFileSize","noMaximumFileSize","noMaximumTotalSize","allowedNumberOfFiles","openFile","illegalTypes","exceedFileSize","exceedMaxFileSize","exceedMaxNumberOfFiles","alreadyUploaded","faultyFiles","script$c","VImg","VListItemAvatar","VListItemAction","PAlert","PLoadingIndicator","fileInfo","thumb","hasBeenUploaded","hasFailed","onImgLoad","__vue_script__$c","__vue_render__$c","load","__vue_staticRenderFns__$c","__vue_inject_styles__$c","__vue_scope_id__$c","__vue_module_identifier__$c","__vue_is_functional_template__$c","__vue_component__$c","script$b","VueUploadComponent","PFile","vmI18n","dataContext","InputIsfocussed","onFileSelectHandler","onButtonClick","__vue_script__$b","__vue_render__$b","dismiss","__vue_staticRenderFns__$b","__vue_inject_styles__$b","__vue_scope_id__$b","__vue_module_identifier__$b","__vue_is_functional_template__$b","__vue_component__$b","script$a","__vue_script__$a","__vue_render__$a","__vue_staticRenderFns__$a","__vue_inject_styles__$a","__vue_scope_id__$a","__vue_module_identifier__$a","__vue_is_functional_template__$a","__vue_component__$a","script$9","headingText","headingClass","__vue_script__$9","__vue_render__$9","__vue_staticRenderFns__$9","__vue_inject_styles__$9","__vue_scope_id__$9","__vue_module_identifier__$9","__vue_is_functional_template__$9","__vue_component__$9","script$8","alwaysShowFieldValidator","__vue_script__$8","__vue_render__$8","__vue_staticRenderFns__$8","__vue_inject_styles__$8","__vue_scope_id__$8","__vue_module_identifier__$8","__vue_is_functional_template__$8","__vue_component__$8","script$7","mobileOnly","__vue_script__$7","__vue_render__$7","__vue_staticRenderFns__$7","__vue_inject_styles__$7","__vue_scope_id__$7","__vue_module_identifier__$7","__vue_is_functional_template__$7","__vue_component__$7","script$6","PGroupValidationExclude","__vue_script__$6","__vue_render__$6","__vue_staticRenderFns__$6","__vue_inject_styles__$6","__vue_scope_id__$6","__vue_module_identifier__$6","__vue_is_functional_template__$6","__vue_component__$6","script$5","PGroupValidationSpacer","__vue_script__$5","__vue_render__$5","__vue_staticRenderFns__$5","__vue_inject_styles__$5","__vue_scope_id__$5","__vue_module_identifier__$5","__vue_is_functional_template__$5","__vue_component__$5","freeze","__proto__","PCard","PHelpMobileTrigger","PValueGrid","PValueRow","PStep","PStepper","PDataTable","PDataTableButton","PForm","PFooter","PHeader","PHeaderButton","PContactList","PContactListItem","PMenu","PApp","PMain","PNotifyRequiredField","PTextField","PTextarea","PDatePicker","PCheckbox","PRadioGroup","PFileUpload","PRouterLink","PFieldsetValidationExclude","PFieldsetSpacer","script$4","helpPanelPosition","propVal","approvedValues","printButton","printer","__vue_script__$4","__vue_render__$4","__vue_staticRenderFns__$4","__vue_inject_styles__$4","__vue_scope_id__$4","__vue_module_identifier__$4","__vue_is_functional_template__$4","__vue_component__$4","pageNotFoundTitle","pageNotFoundBody","notFound","troubleshoot","typo","homepage","tryLater","keepsPersisting","contact","timestamp","script$3","PageLayoutFull","time","__vue_script__$3","__vue_render__$3","__vue_staticRenderFns__$3","__vue_inject_styles__$3","__vue_scope_id__$3","__vue_module_identifier__$3","__vue_is_functional_template__$3","__vue_component__$3","numberFormatKeys","dateTimeFormatKeys","isObject","isBoolean","isString","OBJECT_STRING","isPlainObject","isNull","isFunction","parseArgs","len","looseClone","arrayFrom","ret","hasOwn","merge","arguments$1","output","looseEqual","isObjectA","isObjectB","isArrayA","isArrayB","keysA","keysB","escapeHtml","rawText","escapeParams","$i18n","_getMessages","choice","_tc","_te","defineMixin","bridge","$options","__INTLIFY_META__","beforeCreate","__i18nBridge","__i18n","VueI18n","localeMessages","resource","mergeLocaleMessage","process","_i18nWatcher","watchI18nData","rootI18n","formatter","fallbackLocale","formatFallbackMessages","silentTranslationWarn","silentFallbackWarn","pluralizationRules","preserveDirectiveContent","localeMessages$1","_i18n$1","sharedMessages","sync","_localeWatcher","watchLocale","onComponentInstanceCreated","beforeMount","subscribeDataChanging","_subscribing","unsubscribeDataChanging","destroyVM","interpolationComponent","functional","places","onlyHasDefaultPlace","useLegacyPlaces","createParamsFromPlaces","everyPlace","vnodeHasPlaceAttribute","assignChildPlace","assignChildIndex","place","vnode","numberComponent","acc","_ntp","part","binding","assert","oldVNode","localeEqual","_localeMessage","getLocaleMessage","modifiers","preserve","textContent","_vt","_locale","ref$1","ref$2","parseValue","makeParams","install$1","_Vue","installed","mixin","strats","config","optionMergeStrategies","parentVal","childVal","BaseFormatter","_caches","interpolate","tokens","compile","RE_TOKEN_LIST_VALUE","RE_TOKEN_NAMED_VALUE","sub","isClosed","compiled","token","APPEND","PUSH","INC_SUB_PATH_DEPTH","PUSH_SUB_PATH","BEFORE_PATH","IN_PATH","BEFORE_IDENT","IN_IDENT","IN_SUB_PATH","IN_SINGLE_QUOTE","IN_DOUBLE_QUOTE","AFTER_PATH","ERROR","pathStateMachine","literalValueRE","isLiteral","exp","stripQuotes","str","getPathCharType","ch","formatSubPath","trimmed","parse$1","newChar","typeMap","subPathDepth","maybeUnescapeQuote","nextChar","I18nPath","_cache","parsePath","hit","getPathValue","paths","availabilities","htmlTagMatcher","linkKeyMatcher","linkKeyPrefixMatcher","bracketsMatcher","defaultModifiers","toLocaleUpperCase","defaultFormatter","this$1$1","dateTimeFormats","datetimeFormats","numberFormats","_formatter","_modifiers","_missing","missing","_root","_sync","_fallbackRoot","fallbackRoot","_fallbackRootWithEmptyString","fallbackRootWithEmptyString","_formatFallbackMessages","_silentTranslationWarn","_silentFallbackWarn","_dateTimeFormatters","_numberFormatters","_path","_dataListeners","_componentInstanceCreatedListener","componentInstanceCreatedListener","_preserveDirectiveContent","_warnHtmlInMessage","warnHtmlInMessage","_postTranslation","postTranslation","_escapeParameterHtml","escapeParameterHtml","__VUE_I18N_BRIDGE__","getChoiceIndex","choicesLength","thisPrototype","getPrototypeOf","prototypeGetChoiceIndex","defaultImpl","_choice","_choicesLength","_exist","_checkLocaleMessage","_initVM","prototypeAccessors","configurable","availableLocales","silent","__VUE18N__INSTANCE__","$watch","deep","composer","target$1","immediate","newI18n","_getDateTimeFormats","_getNumberFormats","_localeChainCache","fallback","orgLevel","_warnDefault","interpolateMode","missingRet","parsedArgs","_render","_isFallbackRoot","_isSilentFallbackWarn","_isSilentFallback","_isSilentTranslationWarn","_interpolate","host","visitedLinkStack","pathRet","_link","linkKeyPrefixMatches","linkPrefix","formatterName","linkPlaceholder","translated","_translate","_createMessageContext","_list","_named","named","linked","linkedKey","_appendItemToChain","chain","follow","_appendLocaleToChain","_appendBlockToChain","_getLocaleChain","_i","predefined","fetchChoice","choices","setLocaleMessage","getDateTimeFormat","setDateTimeFormat","_clearDateTimeFormat","mergeDateTimeFormat","_localizeDateTime","Intl","DateTimeFormat","dtf","getNumberFormat","setNumberFormat","_clearNumberFormat","mergeNumberFormat","_getNumberFormatter","NumberFormat","_n","numberFormat","nf","formatToParts","defineProperties","intlDefined","dateTimeFormat","VueI18n$1","common","compose","continue","edit","implement","leavePage","no","ok","printOverview","requiredField","submitted","unknown","verification","yes","chooseOption","noMatch","invalidInteger","positiveInteger","invalidRange","invalidRangeWithStep","notInCollection","long","short","dateTime","hour","minute","hour12","dateTimeLong","buildI18n","currencyDisplay","getI18n","VueI18nInstance","fillGlobalI18n","_typeof","_toConsumableArray","_arrayWithoutHoles","_iterableToArray","_nonIterableSpread","arr2","iter","from","TypeError","inBrowser","combinePassengers","transports","slotProps","passengers","transport","temp","newPassengers","stableSort","compareFn","pick","targets","sources","Wormhole","trackInstances","_transport$order","Infinity","newTransport","$_getTransportIndex","newTransports","registerTarget","unregisterTarget","$delete","registerSource","unregisterSource","hasTarget","hasSource","hasContentFor","_ref","wormhole","_id","Portal","slim","created","_this","sendUpdate","closer","normalizeSlots","$slots","normalizeOwnChildren","slotContent","PortalTarget","firstRender","ownTransports","newVal","oldVal","_this2","noWrapper","_id$1","portalProps","targetProps","MountingPortal","bail","mountTo","targetSlim","targetSlotProps","targetTag","$props","portalTarget","mountEl","propsData","manual","Vue$$1","portalTargetName","MountingPortalName","script$2","announcementText","timeoutId","routeAnnouncement","$a11yRouting","routeAnnouncementText","__vue_script__$2","__vue_render__$2","__vue_staticRenderFns__$2","__vue_inject_styles__$2","__vue_scope_id__$2","__vue_module_identifier__$2","__vue_is_functional_template__$2","__vue_component__$2","script$1","AnnouncerCore","__vue_script__$1","__vue_render__$1","__vue_staticRenderFns__$1","__vue_inject_styles__$1","__vue_scope_id__$1","__vue_module_identifier__$1","__vue_is_functional_template__$1","__vue_component__$1","focusOnContent","findFocusableAndFocus","__vue_script__","__vue_render__","skiplinkId","navigateToContent","__vue_staticRenderFns__","__vue_inject_styles__","__vue_scope_id__","__vue_module_identifier__","__vue_is_functional_template__","__vue_component__","focusableIdentifier","fallbackElement","appointedFocusable","focusOnElement","wait","focusables","setElementAttributes","expressions","ignore","hasTabIndex","classList","setA11yFocusable","autoFocus","beforeEach","noRefocus","a11yRouting","startDate","endDate","dateFromApi","phoenix","Vuetify","componentName","getVuetify","vuetifyOptions","getVueI18n","maxAllowedLoggings","totalLogs","isSuspended","logData","suspendLogs","submitLog","suspendError","FetchErrorLog","lineNumber","logRequest","logginClient","clearLogs","errorLogDataService","ErrorLogRepository","forceNew","correlationId","getOrCreate","handleNewError","setNotification","errorToNotify","ranksHigherThanCurrentNotification","notifyError","timeOfLastError","isLastNotificationSilent","showNotification","isServerError","timeOfErrorString","userCode","getUserCode","ErrorEventLog","lineno","toListOrSingle","resultAsList","listOrSingle","buildRouteInfo","allPolicies","collectAllItemPolicies","itemsCompleted","completeRouteItem","asList","byName","enrichI18n","addRoutes","getRouteDefinitions","completeRoute","unshift","routeInfo","vueRoutes","mapToRoute","_routeName","routeItem","lang","enrichI18nPerLang","readI18n","writeI18n","override","_globalRouteInfo","_allPoliciesPromise","_allPolicies","_allPolicesAvailable","getGlobalRouteInfo","domains","requireRouteContexts","require","buildGlobalRouteInfo","awaitAllPolicies","registerEvent","PolicyService","EventCacheCleared","isAllowedMulti","allPoliciesAvailable","addDomain","mergeAllPolicies","mergeRouteInfos","mergeI18n","_serviceCounter","_singletons","getNextServiceIndex","TheType","typeInstance","ti","instance","destroyed","MILLISECONDS_IN_DAY","cookie","decodedCookie","ca","expireInDays","expires","expireDate","setTime","KEY_SESSIONID","AuthRepository","tokenPromise","_sessionId","updateSessionId","checkAccess","getUser","expired","clearAuthentication","signinSilent","getOidcClient","oidcClient","setUser","setError","signinRedirect","redirectPath","oidcSessionStorage","signinRedirectCallback","sessionExpired","removeUser","localStorage","externalRouter","portalLink","signOutAsExpired","signOut","unwatch","setSessionAboutToExpireNotification","notifySessionAboutToExpire","oidcUser","toAuthError","access_token","zorgovereenkomstDetails","UseTransform","usedTransform","ProcessZekering","LockedQueueItem","Report","Proceskeuzes","Minimumloonoverzicht","Werkzaamheidmappingoverzicht","Werkvoorraad","Berichten","ZoekenRelatie","Profiel","ProfielEigen","ConversieOverzicht","AanmakenZorgverlenerZonderAGB","Servicemelding","Snelgids","Faq","Zvlsnelgids","Zvlfaq","Sitemap","mapVertegenwoordiger","wettelijkeVertegenwoordigerRolType","decapitalize","openAsyncsCount","fields","asyncValidations","subscriptions","SubscriptionOwner","childValidators","forced","validateDelayed","forEachFieldValidator","validationsRunAsync","validationsRunAsyncReady","waitForValidations","collectAllDescendantValidators","waitForValidationsResolver","addFieldValidator","fieldValidator","fieldNameIsSet","beforeOpen","addChildValidation","clearValidateDelayedTimer","validateDelayedCont","validateDelayedTimer","timer","svbAdres","svbAdresIndex","adresIndex","workingDays","openingHours","postalAddress","postalAddressOf","timesheetsAndDeclarations","allForms","attentionOfPgb2","moreInfo","contactPage","sendMailTo","phoneNumber","columnTitle","gemeente","zorgkantoor","useContactInfo","currentContactDataRepository","displayContactInfo","toPreviousPageRoute","toHomepageRoute","routeNameDefinitions","pageNotFound","Contact","PageNotFound","weergevenTijd","per","bepaald","statusBij","beeindigingswijzeAlert","inactief","leadin","newZorgovereenkomst","AuthClient","getPortalSettings","Accept","AppSettingsClient","authClient","getOrCreateClient","appSettingsClient","contactGegevensClient","policyClient","ziekmeldingClient","zwangerschapsmeldingClient","bijstortingClient","beheerToekenningsbeschikkingClient","zorgovereenkomstConceptClient","zorgovereenkomstWijzigenClient","vervangingszorgovereenkomstConceptClient","toekenningsbeschikkingClient","BudgetTerugstorten","BudgetAfsluiten","UiOverzichtBudget","UiTerugstortenBijstortingen","UiBudgetAfsluiten","UiBeheerToekenningsbeschikking","budgetTerugstorten","OverzichtBudget","budgetOverzicht","mapBudgethouder","_router","resolveRoute","resolveRouteItem","findRoute","resolveRedirectTo","buildRouteParams","buildExternalLink","routeIsAllowed","resolved","routeIsActive","pathParams","buildRouteParamsCont","param","resolvedParams","_value","myItems","myOrder","guardForUntyped","sortOnKey","defaultOnKeyCompareFn","emptyOnTopOnKeyCompareFn","webpackContext","req","webpackContextResolve","overzichtToekenningsbeschikking","toekenningsbeschikkingenBekijken","additionalPromise","additionalPromiseIsValid","ServiceState","_state","instanceId","openErrorRef","requiredServices","globalGetOrCreateSingleton","assertNotDestroyed","autoOpen","readyPromise","assertState","waitForOpen","requiredServicesNotReady","requiredServicesReadyPromises","continueOpenAfterDependingServicesAreReady","setOpenError","isDependingOn","globalDestroyed","openPromise","focusableTitle","dataUiValue","emptyZorgverlener","naamCurator","identificatie","mapZorgverlener","mapZorgverlenerFromZorgverlenerSelecteerViewModel","Api","trigger","UiAanmakenActie","UiAanmakenZorgverlenerZonderAgb","UiWerkvoorraad","UiConversieOverzicht","UiGelockteQueueItems","UiKlantbeeld","UiMappings","UiOverzichtBerichten","UiProceskeuze","UiProcesZekering","UiProfiel","UiReports","UiServiceMelding","UiWml","profiel","profielEigen","berichtenOverzicht","relatieZoeken","werkvoorraadOverzicht","proceskeuzeOverzich","processzekeringOverzicht","lockedQueueitemOverzich","reportOverzicht","minimumloonOverzicht","werkzaamheidmappingOverzicht","relatieAanmakenzorgverlenerzonderagb","conversieOverzicht","servicemelding","sitemap","budgethoudersEnVertegenwoordigers","zorgverlenersFaq","UiVerwijderenZorgovereenkomst","mapFiatteerToelichting","fiatteerToelichting","toelichting","toelichtingActie","toelichtingsactie","toelichtingDatum","toelichtingsdatum","toelichtingType","toelichtingtype","instantieId","instantieNaam","mapZorgovereenkomstAlgemeneAfspraken","idDocumenten","vragenlijstDocumenten","mapToekenningsBeschikking","mapZorgovereenkomstDeelnemers","mapReiskosten","mapTarief","aantalMinutenPerTijdseenheid","mapWerkafspraakFromWerkafspraakViewModel","datumBeoordeling","intrekkingsdatum","tarieven","werkafspraakId","mapWerkafspraakFromWeergevenWerkafspraakViewModel","mapWeekrooster","weekNumber","weekroosterdagViewModels","mapZorgovereenkomstWerkafspraken","weekSchedules","vergoedingsregelingType","emptyPeriode","emptyZorgovereenkomstAlgemeneAfspraken","emptyZorgovereenkomstDeelnemers","emptyReiskostenAfspraak","emptyZorgovereenkomstWerkafspraken","emptyZorgovereenkomstOndertekening","emptyZorgovereenkomst","alsNogGoedkeurenLevertOverlap","containsAanvulling","containsWijzigingConcept","fiatteerToelichtingen","ingangsDatumWijzigingConcept","isDerdenbedingVanToepassing","isGewijzigdPerIngangsdatum","origineleZorgovereenkomstId","wijzigingConceptId","isRelatieMetZorgverlener","mapZorgovereenkomstOndertekening","alsnogGoedkeurenLevertOverlap","origineleIngangsdatum","origineleEinddatum","ingangsdatumWijzigingConcept","maxLengthIsHard","maxLengthSoft","getFieldValueErrorMessagesMaxLength","badge","dataIterator","loadingText","itemsPerPageText","sortDescending","sortAscending","sortNone","activateNone","activateDescending","activateAscending","sortBy","dataFooter","itemsPerPageAll","nextPage","prevPage","firstPage","lastPage","pageText","datePicker","itemsSelected","nextMonthAriaLabel","nextYearAriaLabel","prevMonthAriaLabel","prevYearAriaLabel","carousel","delimiter","calendar","moreEvents","prependAction","appendAction","fileInput","counterSize","timePicker","am","pm","wrapper","currentPage","rating","themes","secondary","tertiary","white","aanpassen","bouwen","chevronBeneden","chevronBoven","chevronCirkelBeneden","chevronCirkelBoven","chevronCirkelLinks","chevronCirkelRechts","chevronLinks","chevronRechts","cirkelDunFout","cirkelDunOk","cirkelDunStip","cirkelDun","cirkelFout","cirkelOk","communicatie","diskDun","disk","documentLeeg","document$1","driehoekBeneden","driehoekBoven","emailInkomend","emailUitgaand","envelop","externeLink","gebeurtenis","gebruikerGroep","gebruiker","gereed","gesloten","herhalen","inBehandeling","infoIDun","infoI","kalender","klok","kopie","menuHamburger","nieuw","notitie","onbekend","onderneming","ondertekenen","ongedaanMaken","oog","overleden","paperclip","pijlBeneden","pijlBoven","pijlLinks","pijlRechts","plus","sluiten","stip","uitschrijven","uploadCloud","verwijderen","vierkantDunAanpassen","vierkantDunGeselecteerd","vierkantDunMin","vierkantDunPlus","vierkantDun","vierkantGeselecteerd","vierkantMin","vierkantPlus","vooruit","waarschuwingCirkel","waarschuwing","werkbakLeeg","werkbak","zoeken","icons$5","svg","transformAttributes","hasAttribute","template","scopeId","isFunctionalTemplate","moduleIdentifier","shadowMode","createInjector","createInjectorSSR","createInjectorShadow","hook","_compiled","_scopeId","ssrContext","__VUE_SSR_CONTEXT__","_registeredComponents","_ssrRegister","shadowRoot","originalRender","existing","toCustomIcon","makeIconValues","iconValues","customProperties","checkboxOff","checkboxOn","radioOff","radioOn","dropdown","locales","thresholds","Themeable","themeableProvide","isDark","appIsDark","themeClasses","rootIsDark","rootThemeClasses","Themeable$1","functionalThemeClasses","injections","mixins","rtl","makeWatcher","attr","$data","BindsAttrs","attrs$","listeners$","consoleError","registerComponents","$_vuetify_subcomponents","$_vuetify_installed","vuetify","$ssrContext","observable","framework","isHydrating","Service","Application","bar","insetFooter","footer","application","unregister","Breakpoint","xl","xsOnly","smOnly","smAndUp","mdOnly","mdAndDown","lgOnly","lgAndDown","lgAndUp","xlOnly","mobile","resizeTimeout","mobileBreakpoint","scrollBarWidth","onResize","passive","ssr","getClientHeight","getClientWidth","breakpoints","linear","easeInQuad","easeOutQuad","easeInOutQuad","easeInCubic","easeOutCubic","easeInOutCubic","easeInQuart","easeOutQuart","easeInOutQuart","easeInQuint","easeOutQuint","easeInOutQuint","easingPatterns","getOffset","totalOffset","offsetParent","getContainer","_isVue","HTMLElement","_target","_settings","scrollingElement","easing","appOffset","isDrawer","isClipped","startTime","performance","targetLocation","startLocation","ease","currentTime","timeElapsed","reachBottom","Goto","createSimpleFunctional","addOnceEventListener","once","passiveSupported","testListenerOpts","addPassiveEventListener","getNestedValue","deepEqual","getObjectValueByPath","getPropertyFromItem","createRange","getZIndex","nodeType","Node","ELEMENT_NODE","getComputedStyle","getPropertyValue","filterObjectOnKeys","filtered","convertToUnit","kebabCase","keyCodes","enter","tab","esc","space","del","backspace","insert","pageup","pagedown","remapInternalIcon","iconName","iconPath","camelizeRE","camelize","upperFirst","groupItems","groupBy","groupDesc","groups","wrapInArray","sortItems","sortDesc","customSorters","stringCollator","Collator","sensitivity","usage","sortKey","sortA","sortB","customResult","compare","defaultFilter","searchItems","getSlotType","throttle","limit","throttling","getPrefixedScopedSlots","getSlot","optional","clamp","camelizeObjectKeys","mergeDeep","sourceProperty","targetProperty","fillArray","fill","composedPath","parentElement","icons$4","checkboxIndeterminate","subgroup","ratingEmpty","ratingFull","ratingHalf","unfold","minus","mdiSvg","icons$3","icons$2","mdi","icons$1","fa","fa4","convertToComponentDeclarations","iconSet","faSvg","presets","Icons","iconfont","LANG_PREFIX","getTranslation","usingDefault","defaultLocale","shortKey","translation","consoleWarn","Lang","translator","defaultTranslator","currentLocale","disable","cspNonce","minifyTheme","themeCache","variations","accent","Presets","parentPreset","defaultPreset","userPreset","globalPreset","preset$1","srgbForwardMatrix","srgbForwardTransform","C","srgbReverseMatrix","srgbReverseTransform","fromXYZ$1","xyz","rgb","matrix","toXYZ$1","isCssColor","colorToInt","intToHex","hexColor","repeat","colorToHex","cielabForwardTransform","cbrt","cielabReverseTransform","fromXYZ","transformedY","toXYZ","lab","Ln","isItem","anchor","variant","colors","parsedTheme","genVariations","base","genBaseColor","genVariantColor","genColorVariableName","genColorVariable","genStyles","cssVar","variablesCss","css","aColor","variants","variantValue","lighten","darken","Theme","vueMeta","fillVariant","isVueMeta23","applyVueMeta23","checkOrCreateStyleElement","styleEl","oldDark","applyTheme","clearCss","generatedStyles","$meta","initVueMeta","initSSR","initTheme","setTheme","resetThemes","genStyleElement","defaultTheme","metaKeyName","getOptions","keyName","metaInfo","vuetifyStylesheet","cssText","nonce","addApp","$once","obs","currentTheme","Vuetify$1","createMessage","$_alreadyWarned","generateComponentTrace","deprecate","original","replacement","breaking","classifyRE","classify","formatComponentName","includeFile","cid","_componentTag","__file","tree","currentRecursiveSequence","Colorable","setBackgroundColor","setTextColor","colorName","colorModifier","Elevatable","computedElevation","elevationClasses","Measurable","maxHeight","maxWidth","minHeight","minWidth","measurableStyles","styles","Roundable","roundedClasses","composite","shaped","classes","inserted$2","observer","IntersectionObserver","_observe","_uid","isIntersecting","quiet","unbind$3","observe","unobserve","Intersect","intersect","VResponsive","aspectRatio","computedAspectRatio","aspectStyle","paddingBottom","__cachedSizer","genContent","pattern","styleList","styleProp","parseStyle","styleMap","mergeData","mergeTarget","mergeClasses","mergeStyles","mergeListeners","hasIntersect","contain","eager","gradient","lazySrc","rootMargin","threshold","srcset","currentSrc","image","calculatedAspectRatio","naturalWidth","hasError","normalisedSrc","aspect","__cachedImage","backgroundImage","backgroundPosition","loadImage","lazyImg","Image","pollForSize","onLoad","getSrc","naturalHeight","onError","decode","img","poll","__genPlaceholder","appear","availableProps","factory$3","Positionable","applicationable","app","applicationProperty","removeApplication","callUpdate","activated","deactivated","updateApplication","attachedRoot","getRootNode","composed","defaultConditional","checkEvent","checkIsActive","ShadowRoot","elements","include","closeConditional","directive$1","_clickOutside","lastMousedownWasOutside","handleShadow","ClickOutside","onClick","onMousedown","ClickOutside$1","inserted$1","_onResize","unbind$2","Resize","Resize$1","DELAY_RIPPLE","webkitTransform","isTouchEvent","isKeyboardEvent","calculate","localX","localY","touches","radius","scale","_ripple","circle","center","sqrt","centerX","centerY","ripples","enabled","animation","dataset","previousPosition","getElementsByClassName","isHiding","isRippleEnabled","rippleShow","currentTarget","touched","rippleStop","isTouch","centered","showTimerCommit","showTimer","rippleHide","rippleCancelShow","keyboardRipple","keyboardRippleShow","keyboardRippleHide","focusRippleHide","updateRipple","wasEnabled","removeListeners","unbind$1","Ripple","handleGesture","touchstartX","touchendX","touchstartY","touchendY","dirRatio","minDistance","touchstart","touch","changedTouches","touchend","touchmove","touchmoveX","touchmoveY","move","createHandlers","handlers","_touchHandlers","Touch","Touch$1","SSRBootable","isBooted","factory$2","Toggleable","SIZE_MAP","Toggleable$1","Sizeable","xLarge","xSmall","medium","sizeableClasses","isFontAwesome5","iconType","isSvgPath","dense","hasClickListener","getSize","explicitSize","getDefaultData","getSvgWrapperData","fontSize","wrapperData","applyColors","renderFontIcon","newChildren","delimiterIndex","isMaterialIcon","renderSvgIcon","svgData","xmlns","viewBox","renderSvgIconComponent","nativeOn","VIcon$1","$_wrapperFor","rotate","isVisible","calculatedSize","circumference","PI","normalizedValue","parseFloat","strokeDashArray","strokeDashOffset","strokeWidth","viewBoxSize","svgStyles","genCircle","cx","cy","genSvg","genInfo","onObserve","generateWarning","namespace","factory$1","activeClass","groupClasses","toggle","Routable","exactPath","exactActiveClass","nuxt","proxyClass","computedRipple","isClickable","isLink","onRouteChange","generateRouteLink","$refs","baseMixins$e","btnToggle","depressed","fab","plain","retainFocusOnClick","isElevated","hasBg","isRound","defaultRipple","breakingProps","detail","genLoader","loader","setColor","Transitionable","border","closeLabel","coloredBorder","closeIcon","prominent","__cachedBorder","computedColor","__cachedDismissible","iconColor","__cachedIcon","computedIcon","hasColoredIcon","hasText","genWrapper","prepend","genAlert","mergeTransitions","transitions","createSimpleTransition","group","hideOnLeave","leaveAbsolute","beforeEnter","transformOrigin","webkitTransformOrigin","leave","offsetLeft","offsetWidth","_transitionInitialStyles","afterLeave","setProperty","createJavascriptTransition","functions","ExpandTransitionGenerator","expandedParentClass","sizeProperty","offsetProperty","_parent","_initialStyle","overflow","initialStyle","afterEnter","resetStyles","enterCancelled","leaveCancelled","VFadeTransition","VSlideXTransition","VExpandXTransition","VChip","chipGroup","draggable","filterIcon","pill","textColor","hasClose","genFilter","genClose","VThemeProvider","isComment","Delayable","openDelay","closeDelay","openTimeout","closeTimeout","clearDelay","runDelay","baseMixins$d","Activatable","internalActivator","openOnClick","openOnHover","openOnFocus","activatorElement","activatorNode","slotType","addActivatorEvents","removeActivatorEvents","getActivator","genActivatorListeners","genActivator","getValueProxy","genActivatorAttributes","mouseenter","mouseleave","componentInstance","elm","getContentSlot","resetActivator","searchChildren","isDependent","$children","Dependent","closeDependents","openDependents","getOpenDependents","getOpenDependentElements","getClickableDependentElements","overlay","Stackable","stackElement","stackExclude","stackMinZIndex","activeZIndex","getMaxZIndex","zis","activeElements","Bootable","showLazyContent","validateAttachTarget","removeActivator","Detachable","hasDetached","initDetach","firstChild","nextSibling","insertBefore","isConnected","MutationObserver","record","removedNodes","disconnect","subtree","childList","getScopeIdAttrs","_isDestroyed","baseMixins$c","Menuable","allowOverflow","nudgeBottom","nudgeLeft","nudgeRight","nudgeTop","nudgeWidth","offsetOverflow","positionX","positionY","zIndex","absoluteX","absoluteY","activatedBy","activatorFixed","dimensions","relativeYOffset","hasJustFocused","hasWindow","inputActivator","isContentActive","pageWidth","stackClass","computedLeft","activatorLeft","computedTop","hasActivator","absoluteYOffset","callDeactivate","callActivate","updateDimensions","absolutePosition","activate","calcLeft","menuWidth","calcXOverflow","calcTop","calcYOverflow","xOverflow","getOffsetLeft","documentHeight","getInnerHeight","toTop","contentHeight","totalHeight","isOverflowing","deactivate","checkForPageYOffset","getOffsetTop","checkActivatorFixed","pageXOffset","scrollLeft","getRoundedBoundedClientRect","measure","marginLeft","marginTop","sneakPeek","startTransition","offsetRect","Returnable","returnValue","originalValue","baseMixins$b","isInMenu","auto","closeOnClick","closeOnContentClick","disableKeys","contentProps","calculatedTopAuto","defaultOffset","listIndex","tiles","activeTile","calculatedLeft","calculatedMinWidth","calcLeftAuto","calculatedMaxHeight","calculatedMaxWidth","calculatedTop","hasClickableTiles","tabIndex","calcTopAuto","calcScrollPosition","maxScrollTop","tileDistanceFromMenuTop","firstTileOffsetTop","changeListIndex","getTiles","nextTile","prevTile","lastTile","firstTile","attributes","onKeyDown","genTransition","genDirectives","menuable__content__active","scroll","mouseEnterHandler","mouseLeaveHandler","relatedTarget","VSimpleCheckbox","indeterminateIcon","onIcon","offIcon","ripple$1","def","inset","vertical","orientation","VSubheader","isInList","isInNav","nav","subheader","threeLine","twoLine","listClick","baseMixins$a","isInGroup","listItemGroup","inactive","selectable","genAttrs","inputValue","Comparable","valueComparator","factory","internalLazyValue","internalValue","Proxyable","Proxyable$1","filteredChild","VNode","VAvatar","horizontal","VSelectList","hideSelected","itemDisabled","itemText","itemValue","noFilter","searchInput","selectedItems","parsedItems","tileActiveClass","staticNoDataTile","genTileContent","genAction","genDivider","genFilteredText","middle","getMaskedCharacters","genHighlight","genHeader","genTile","hasItem","getDisabled","scopedSlot","needsTile","getText","Ctor","ctx","newData","VMessages","genChildren","genMessage","baseMixins$9","Validatable","errorCount","rules","successMessages","validateOnBlur","errorBucket","hasColor","hasFocused","hasInput","isFocused","isResetting","lazyValue","isDisabled","internalErrorMessages","hasSuccess","internalSuccessMessages","externalError","hasMessages","validationTarget","hasState","genInternalMessages","internalMessages","isInteractive","isReadonly","validationState","resetValidation","rule","baseMixins$8","VInput","appendIcon","backgroundColor","hideSpinButtons","prependIcon","hasMouseDown","showDetails","isLabelActive","computedId","hasDetails","messagesToDisplay","hasHint","$_modelEvent","validationResult","genPrependSlot","genControl","genAppendSlot","genInputSlot","genMessages","genDefaultSlot","genLabel","genIcon","extraData","hasListener","localeKey","prependInner","appendOuter","mouseup","onMouseDown","onMouseUp","genSlot","VCounter","isGreater","intersectable","onVisible","baseMixins$7","VProgressLinear","backgroundOpacity","bufferValue","reverse","stream","striped","__cachedBackground","backgroundStyle","__cachedBar","computedTransition","__cachedBarType","__cachedIndeterminate","__cachedDeterminate","__cachedBuffer","genProgressBar","__cachedStream","normalizedBuffer","opacity","isReversed","normalize","genListeners","Loadable","loaderHeight","genProgress","baseMixins$6","dirtyTypes","resize","appendOuterIcon","clearIcon","counterValue","fullWidth","prependInnerIcon","persistentPlaceholder","singleLine","solo","soloInverted","badInput","labelWidth","prefixWidth","prependWidth","initialValue","isClearing","isSolo","isEnclosed","computedCounterValue","hasCounter","labelPosition","labelValue","showLabel","setLabelWidth","setPrefixWidth","tryAutofocus","clearableCallback","genPrependInnerSlot","genIconSlot","genClearIcon","genCounter","genFieldset","genTextFieldSlot","genLegend","span","genInput","inputAttrs","is","messagesNode","counterNode","genAffix","validity","scrollWidth","setPrependWidth","updateValue","Filterable","defaultMenuProps","baseMixins$5","VSelect","cacheItems","chips","deletableChips","disableLookup","itemColor","menuProps","openOnClear","returnObject","smallChips","cachedItems","menuIsBooted","isMenuActive","lastItem","keyboardLookupPrefix","keyboardLookupLastTime","allItems","filterDuplicates","hasChips","computedItems","computedOwns","dynamicHeight","selection","listData","virtualizedItems","selectItem","staticList","$_menuProps","menuCanShow","normalisedProps","setSelectedItems","onScroll","onMenuActiveChange","setMenuIndex","activateMenu","setValue","getContent","Map","findExistingIndex","genChipSelection","click:close","onChipInput","genCommaSelection","selections","genSelections","genHiddenInput","genMenu","onKeyPress","genList","genListWithSlot","slotName","genSelection","genSlotSelection","getMenuIndex","isAppendInner","onEscDown","KEYBOARD_LOOKUP_THRESHOLD","onUpDown","onTabDown","onSpaceDown","which","showMoreItems","appendInner","Mobile","mobileWidth","isNumber","VOverlay","__scrim","computedOpacity","Overlayable","hideOverlay","overlayColor","overlayOpacity","animationFrame","removeOverlay","genOverlay","createOverlay","$mount","hideScroll","showScroll","cancelAnimationFrame","scrollListener","isContentEditable","deltaY","checkPath","hasScrollbar","overflowY","overflowX","shouldScroll","dir","shiftKey","deltaX","alreadyAtStart","alreadyAtEnd","scrollingUp","scrollingDown","isInside","getSelection","anchorNode","baseMixins$4","fullscreen","noClickAnimation","retainFocus","animate","animateTimeout","previousActiveElement","contentClasses","animateClick","onFocusin","onClickOutside","focusable","genInnerContent","Localable","Mouse","getDefaultMouseEventHandlers","getData","eventFirst","getMouseEventHandlers","eventOptions","mouseEvent","stop","classSeparator","eventTargetClasses","currentTargets","elementsFromPoint","isSameNode","dispatchEvent","TouchEvent","targetTouches","createUTCDate","isFinite","setUTCFullYear","firstWeekOffset","firstDayOfWeek","firstDayOfYear","firstWeekDayInFirstWeek","firstWeekDayOfYear","dayOfYear","isLeapYear","weeksInYear","weekOffset","weekOffsetNext","daysInYear","localeFirstDayOfYear","week","DAYS_IN_MONTH","DAYS_IN_MONTH_LEAP","raised","background","Rippleable","genRipple","Selectable","falseValue","trueValue","isMultiple","rippleState","inputIndeterminate","genCheckbox","checkboxAttrs","paddingTop","paddingRight","paddingLeft","VData","customSort","mustSort","multiSort","customGroup","disableFiltering","serverItemsLength","internalOptions","sortDiff","groupDiff","filteredItems","pageStart","pageStop","isGrouped","paginateItems","groupedItems","sortArray","updateOptions","originalItemsLength","computedOptions","old","oldBy","oldDesc","by","desc","byIndex","VDataFooter","itemsPerPageOptions","prevIcon","nextIcon","firstIcon","lastIcon","itemsPerPageAllText","showFirstLastPage","showCurrentPage","disableItemsPerPage","disableNextPageIcon","computedDataItemsPerPageOptions","genDataItemsPerPageOption","onFirstPage","onPreviousPage","onNextPage","onLastPage","onChangeItemsPerPage","genItemsPerPageSelect","computedIPPO","ippo","genPaginationInfo","genIcons","before","after","VDataIterator","itemKey","singleSelect","singleExpand","hideDefaultFooter","footerProps","selectableKey","expansion","internalCurrentItems","shiftKeyDown","lastEntry","everyItem","selectableItems","someItems","sanitizedFooterProps","isSelectable","removedProps","onKeyUp","toggleSelectAll","lastEntryKey","lastEntryKeySelected","multipleSelect","currentItem","isExpanded","createItemProps","genEmptyWrapper","genEmpty","filteredItemsLength","noResults","genItems","genFooter","genDefaultScopedSlot","outerProps","update:options","checkboxColor","sortIcon","showGroupBy","genSelectAll","genSortIcon","VDataTableHeaderMobile","sortByText","genSortChip","sortIndex","beingSorted","isDesc","asc","genSortSelect","th","tr","VDataTableHeaderDesktop","genGroupByToggle","getAria","ariaSort","groupable","dedupeModelListeners","rebuildFunctionalSlots","VDataTableHeader","needsTd","Row","computedSlots","columns","regularSlot","textAlign","cellClass","RowGroup","headerClass","summaryClass","VSimpleTable","fixedHeader","MobileRow","hideDefaultHeader","mobileRowChildren","filterFn","searchTableItems","headersWithCustomFilters","headersWithoutCustomFilters","filterMode","matchesColumnFilters","matchesSearchTerm","showSelect","showExpand","headerProps","calculateWidths","headersLength","expandIcon","itemClass","itemStyle","internalGroupBy","openCache","widths","computedHeaders","defaultHeader","colspanAttrs","colspan","columnSorters","sanitizedHeaderProps","computedItemsPerPage","firstOption","groupByText","calcWidths","customFilterWithColumns","customSortWithHeaders","genCaption","genColgroup","genLoading","genHeaders","genGroupedRows","genRows","genDefaultGroupedRow","toggleFn","removeFn","column","genScopedRows","genDefaultRows","genDefaultExpandedRow","genDefaultSimpleRow","headerRow","expandedRow","genBody","genFoot","foot","genFooters","simpleProps","proxySlot","PickerButton","genPickerButton","VDatePickerTitle","selectingYear","yearIcon","isReversing","genYearIcon","getYearBtn","genTitleText","genTitleDate","createItemTypeNativeListeners","itemTypeSuffix","createItemTypeListeners","padStart","targetLength","padString","pad","createNativeLocaleFormatter","substrOptions","makeIsoString","intlFormatter","monthChange","sanitizeDateString","VDatePickerHeader","nextAriaLabel","prevAriaLabel","timeZone","genBtn","ariaLabelId","calculateChange","isDateAllowed","allowedFn","DatePickerTable","allowedDates","eventColor","range","tableDate","wheelThrottle","displayedMonth","displayedYear","wheel","genButtonClasses","isFloating","isCurrent","isFirst","isLast","genButtonEvents","mouseEventType","genButton","isOtherMonth","genEvents","getEventColors","arrayize","eventData","eventColors","isValidScroll","calculateTableDate","sanitizeType","genTable","touchDirective","VDatePickerDateTable","showAdjacentMonths","showWeek","weekdayFormat","weekdayFormatter","weekday","weekDays","genTHead","genTR","weekDaysBeforeFirstDayOfTheMonth","firstDayOfTheMonth","weekDay","getWeekNumber","dayInMonth","genWeekNumber","genTBody","prevMonthYear","prevMonth","firstDayFromPreviousMonth","cellsInRow","nextMonthYear","nextMonth","nextMonthDay","VDatePickerMonthTable","tds","VDatePickerYears","defaultColor","activeItem","genYearItem","formatted","genYearItems","maxYear","minYear","VPicker","landscape","noTitle","computedTitleColor","defaultTitleColor","genTitle","genBodyTransition","genActions","Picker","headerColor","genPickerTitle","genPickerBody","genPickerActionsSlot","genPicker","activePicker","dayFormat","headerDateFormat","monthFormat","showCurrent","selectedItemsText","titleDateFormat","yearFormat","internalActivePicker","inputDay","inputMonth","inputYear","multipleValue","lastValue","selectedMonths","inputDate","tableMonth","tableYear","minMonth","maxMonth","formatters","titleDate","defaultTitleMultipleDateFormatter","defaultTitleDateFormatter","dates","titleFormats","titleDateFormatter","landscapeFormatter","nonDigit","digit","checkMultipleProp","setInputDate","newInput","valueType","expected","yearClick","monthClick","dateClick","genTableHeader","genDateTable","genMonthTable","genYears","computedBottom","isPositioned","computedRight","VGrid","breakpoints$1","breakpointProps","offsetProps","orderProps","propMap$1","breakpointClass$1","cache$1","alignSelf","cacheKey","hasColClasses","ALIGNMENT","makeProps","alignValidator","alignProps","justifyValidator","justifyProps","alignContentValidator","alignContentProps","propMap","justify","alignContent","classMap","breakpointClass","noGutters","onMouseEnter","onMouseLeave","baseMixins$3","clipped","disableResizeWatcher","disableRouteWatcher","expandOnHover","floating","miniVariant","miniVariantWidth","permanent","stateless","temporary","touchless","isMouseover","touchArea","isMiniVariant","computedMaxHeight","hasApp","computedTransform","isBottom","computedWidth","reactsToClick","reactsToMobile","reactsToResize","reactsToRoute","showOverlay","updateMiniVariant","calculateTouchArea","parentRect","genAppend","genPosition","genBackground","swipeLeft","swipeRight","transitionend","resizeEvent","createEvent","initUIEvent","genPrepend","genBorder","navigationColor","navigationTextColor","totalVisible","pageAriaLabel","currentPageAriaLabel","previousAriaLabel","wrapperAriaLabel","maxButtons","MAX_SAFE_INTEGER","even","firstItem","secondItem","beforeLastItem","genItem","isCurrentPage","baseMixins$2","stepClick","isVertical","altLabels","nonLinear","isReverse","updateView","baseMixins$1","completeIcon","editable","editIcon","errorIcon","isInactive","stepper","genStep","genStepContent","keyboardClick","baseMixins","autoGrow","rowHeight","noResizeHandle","calculateInputHeight","removeProperty","red","lighten5","lighten4","lighten3","lighten2","lighten1","darken1","darken2","darken3","darken4","accent1","accent2","accent3","accent4","pink","purple","deepPurple","indigo","blue","lightBlue","cyan","teal","green","lightGreen","lime","yellow","amber","orange","deepOrange","brown","blueGrey","grey","shades","black","transparent","currentUserLoaded","contactsLoaded","currentUser","appSettings","copyrightYear","hulpOpAfstand","cobrowseLabel","beforeConsent","p3","akkoord","afterConsent","useCobrowse","copyright","mainTitle","moreContactInfo","contactPageInfo","disclaimer","privacy","cookies","accessibility","terms","Cobrowse","CobrowseLabel","titleGemeenteZorgKantoor","displayInfoForCurrentUser","termsAndConditions","renewSession","visible","onCancel","onContinue","helpRoutes","LeavePageDialogHelper","registered","unloadNotice","unregisterUnloadFallback","triggerDialogManually","toExternalUrl","shouldLeave","emitter","waitForDialog","exceptionTypes","checkForException","temporaryConditions","leavePageDialogHelper","categories","Toekenningsbeschikking","Monitoring","Instellingen","WML","WerkzaamheidMapping","AanmakenRelaties","Zorgovereenkomst","Declaratie","ZiekEnZwanger","Klantbeeld","Help","Budget","menuBar","mainMenuI18n","currentUserFromProp","goToProfiel","budgethoudersSelectie","changeBudgethouderEnRoute","changeToVertegenwoordiger","goToEigenProfiel","topBar","ProfielMobile","VertegenwoordigerProfiel","BSN","wisselGebruiker","eigenHome","bekijkProfiel","eigenProfiel","budgethouderuid","goToDelayed","helpItems","other","budgethouderMenuItems","condition","ziekEnZwangerschap","ziekEnZwangerschapOverzicht","ziekmeldingIndienen","zwangerschapIndienen","vertegenwoordigerMenuItems","portaalMedewerkerMenuItems","zorgverlenerMenuItems","verstrekkerMedewerkerMenuItems","functioneelApplicatiebeheerderMenuItems","getMainMenu","menuItemsPerRol","useMainMenu","menuItems","mapMenuCategory","mapMenuItems","mappedItem","mapMenuItem","mapMenuItemFromRouteLink","showCode","closeModal","loadCodeModal","ProfielHeader","CobrowseModal","cobrowseEnabled","clearNotification","errorTemplates","server","mapAppSettings","portalAppSettings","CobrowseEnabled","analyticsEnabled","AnalyticsEnabled","cookieBarEnabled","CookieBarEnabled","PortalVersion","ScriptsPath","AppSettingsRepository","getAppSettings","appSettingsRepository","AppHeader","AppFooter","SessionTimeoutMonitor","GeneralError","LeavePageDialog","currentUserRepo","_mtm","isDev","IS_LOCAL","routeByPolicy","routeByRouteItem","routeNotAllowed","setupRouter","VueRouter","createRouter","addBeforeEach","addAfterEach","getRoutes","scrollBehavior","otherRoutes","generateNotFoundRedirectRule","beforeEachRoute","toMetaTitle","shouldContinue","afterEach","redirect","commonChoices","demographic","landPlaceholder","toevoeging","personal","tussenvoegsel","telefoonnummer","contactvoorkeur","rolTypeVertegenwoordiger","nameOrganisation","kvk","aantalWerkdagenPerWeekType","MaximaalDrieDagen","beeindigingswijzeType","OpzeggingDoorDeBudgethouderTijdensProeftijd","MetWederzijdsGoedvindenOpInitiatiefVanDeBudgethouder","OpzeggingDoorDeBudgethouderOmDringendeReden","ViaEenPapierenFormulier","VanRechtswege","OpzeggingDoorOfOpInitiatiefVanDeZorgverlener","OpzeggingDoorDeBudgethouderMetToestemmingVanUWV","OntbindingDoorDeRechterOpVerzoekVanDeBudgethouder","BudgetStopgezetDoorZorgkantoorOfGemeente","BudgethouderIsOverledenOfDefinitiefOpgenomenInEenInstelling","ZorgverlenerIsOverleden","AdministratiefGewijzigd","AnnulerenZonderIntrekkenDeclaraties","AnnulerenMetIntrekkenDeclaraties","AdministratiefBeeindigd","OpzeggingDoorBudgethouderWegensBedrijfseconomischeRedenen","OpzeggingDoorBudgethouderWegensLangdurigeArbeidsongeschiktheid","BudgethouderIsOverleden","BudgethouderIsDefinitiefOpgenomenInEenInstelling","CursusZorgverlener","EntreegeldZorgverlener","WooninitiatiefZorg","budgethouderZorgverlenerRelatieType","Partner","BroerZus","Ouder","Grootouder","Eerstegraads","Tweedegraads","Derdegraads","correspondentieVoorkeur","Digitaal","Papier","dag","Maandag","Dinsdag","Woensdag","Donderdag","Vrijdag","Zaterdag","Zondag","Man","Vrouw","Januari","Februari","Maart","April","Mei","Juni","Juli","Augustus","September","Oktober","November","December","redenAfsluitenType","OpVerzoekErvenBijOverlijdenBudgethouder","OvergangNaarZorgInNatura","UitstroomNaarEenAndereWet","Verhuizing","UitspraakBezwaarBeroep","AutomatischAfgesloten","reiskostenAfspraakType","ReiskostWordenNietVergoed","IkHebNogGeenAfspraak","Minuten","Dagdelen","Etmalen","Weken","Dagen","Nachten","Weekenden","Midweken","PerKm","PerRit","toekenningsbeschikkingStatusRedenType","NietOpgegeven","AdministratieveCorrectie","ClientOverleden","Budgetverhoging","HerbeoordelingVerlengingBudgetperiode","HerbeoordelingVerkortingBudgetperiode","UitstroomNaarAnderDomein","VerhuizingNaarAndereGemeente","BeeindigingDoorWijzigingLeveringsvorm","Budgetverlaging","BeeindigingToekenningsbeschikking","WijzigingRelatieOfContactgegevens","DefinitieveBudgetafsluiting","Overig","BudgethouderTijdelijkInHetBuitenland","Herindicatie","IntrekkenTkb","toekenningsbeschikkingStatusTypeWeergave","Toekomstig","Actief","Verlopen","Afgesloten","ZijnInbegrepen","ZijnNietInbegrepen","doorbetaald","vangnetregelingType","ZiekDoorZwanger","NoRiskPolis","WiaHerleving","VastBedragPerMaand","AchterafDeclareren","vertegenwoordigerRolType","ContactpersoonZorginhoudelijkEnFinancieelVerantwoordelijk","GemachtigdeZorginhoudelijkEnFinancieelVerantwoordelijk","WettelijkVertegenwoordigerZorginhoudelijkEnFinancieelVerantwoordelijk","GewaarborgdeHulp","ContactpersoonZorginhoudelijkVerantwoordelijk","GemachtigdeZorginhoudelijkVerantwoordelijk","WettelijkVertegenwoordigerZorginhoudelijkVerantwoordelijk","ContactpersoonFinancieelVerantwoordelijk","GemachtigdeFinancieelVerantwoordelijk","WettelijkVertegenwoordigerFinancieelVerantwoordelijk","werkafspraakEenheidType","MinutenPerMaand","werkafspraakStatusType","Bewaard","Gedeeld","TerFiattering","Goedgekeurd","Ongeldig","AanvullingNodig","Aangevuld","WordtIngetrokken","persoonlijkeVerzorging","vervoerGroep","WlzBegeleidingIndividueel","WlzVervoerVanNaarBegeleidingGroep","WlzHuishoudelijkeHulp","WlzLogeeropvang","WlzPersoonlijkeVerzorging","WmoBGBegeleiding","WmoBGPersoonlijkVerzorging","WmoHulpBijHetHuishouden","ZvwVerpleging","ZvwPersoonlijkeVerzorging","JeugdwetBegeleidingIndividueel","JeugdwetBegeleidingGroep","JeugdwetVervoerdiensten","JeugdwetLogeeropvang","JeugdwetPersoonlijkeVerzorging","WmoVervoerdiensten","JeugdwetConversie","WlzConversie","WmoConversie","WlzBereikbaarheidsdienst","JeugdwetBereikbaarheidsdienst","WmoBereikbaarheidsdienst","Wmo","Jeugdwet","Zvw","Wetonafhankelijk","zorgFunctieType","HulpBijHetHuishouden","Begeleiding","PersoonlijkeVerzorgingWmo","KortdurendVerblijf","Woondiensten","OverigeOndersteuningGerichtOpHetIndividuOfHuishoudenOfGezin","Dagbesteding","VervoerdienstenWmo","OverigeGroepsgerichteOndersteuning","OverigeMaatwerkArrangementen","Rolstoelen","Vervoervoorzieningen","Woonvoorzieningen","OverigeHulpmiddelen","BeschermdWonen","Opvang","Spoedopvang","OverigeBeschermdWonenEnOpvang","ZonderVerblijfUitgevoerdDoorWijkOfBuurtteam","ZonderVerblijfAmbulanteJeugdhulpOpLocatieVanDeAanbieder","ZonderVerblijfDaghulpOpLocatieVanDeAanbieder","ZonderVerblijfJeugdhulpInHetNetwerkVanDeJeugdige","MetVerblijfPleegzorg","MetVerblijfGezinsgericht","MetVerblijfGeslotenPlaatsing","MetVerblijfOverigResidentieel","PersoonlijkeVerzorgingJeugdzorg","Dagbehandeling","VervoerdienstenJeugdzorg","JeugdhulpVerblijfInclusiefBehandeling","JeugdhulpVerblijfExclusiefBehandeling","JeugdhulpAmbulant","JeugdhulpCrisis","Jeugdreclassering","Jeugdbescherming","ActiviteitenInHetPreventiefJustitieelKader","MaatwerkarrangementenJeugd","GeneralistischeBasisGgz","SpecialistischeGgz","Kindergeneeskunde","JeugdGgz","LandelijkIngekochteZorg","TotaalZorgpakket","redenAfkeuringType","GeenBudgetBeschikbaarVoorDeDeclaratieperiode","GeenToereikendBudget","MaximumBedragFeestdagenuitkeringIsAlBetaald","VvbIsAlVolledigOpgenomen","VvbNietToegekend","GeenGeldigeZorgovereenkomst","ZorgovereenkomstIsGestopt","TypeDeclaratieMagNietWordenIngediendVoorTypeZok","ZiekteUrenMogenNietBetaaldWordenOvo","VakantieUrenMogenNietBetaaldWorden","ReiskostenBijZorginstelling","DeclaratieTeLaatIngediend","DeclaratieperiodeNogNietVerstreken","DeclaratieperiodeLigtVoorIngangsdatumZorgovereenkomst","MeerdereDeclaratiesOverDezelfdeMaand","ZvwDeclaratieKanNietVerwerktWorden","MaandbedragZonderAfwijkendeTarieven","OverwerkGeenApartUurtarief","TariefOfEenheidWijktAfVanZok","BtwOpZorgkosten","OndertekeningOntbreekt","ZorgwetNietJuist","GegevensBudgethouderNietJuist","GegevensVervoerderNietJuist","GegevensZorgverlenerNietJuist","KvkNummerWijktAf","KvkNummerZorgverlenerWijktAf","IbanIsNietJuist","IbanZorgverlenerWijktAf","GeenZorgkostenUitBudgetBetaald","VerkeerdeFormulierGebruiktVoorDeclaratie","DeclaratieNietGoedLeesbaar","TotaaloptellingUrenKomtNietOvereen","TotaaloptellingWerkdagenKomtNietOvereen","TotaaloptellingBedragKomtNietOvereen","Overige","tableTypes","enums","commonChoice","globalI18n","globalTranslations","isCobrowseScriptError","registerErrorEvents","errorHandler","PromiseRejectionEventErrorLog","generalError","SigninCallback","isAuthRoute","setupAuthRoutes","addRoute","setupAccessGuard","fullPath","setupAuth","setupInactivityTimeoutHandler","setupOidcEvents","App","relatieCollection","onRelatieSelection","geenRelatie","relaties","relatieId","ZiekmeldingIndienen","ZiekmeldingBekijken","ZiekmeldingBeterMelden","ZiekmeldingWijzigen","ZiekEnZwangerschapOverzicht","ZwangerschapIndienen","ZwangerschapsmeldingWijzigen","ZwangerschapTerugVanVerlof","ZwangerschapBekijken","ziekmeldingBekijken","zwangerschapWijzigen","zwangerschapBekijken","ziekmeldingBeterMelden","ziekmeldingWijzigen","zwangerschapTerugVanVerlofMelden","Bhr","Zvl","emptyEntityWithId","mapPolicyIsAllowedRequestViewModel","policies","mapPolicies","cacheValue","getPoliciesAsync","unknownPolicies","waitingPolicies","knownPolicies","getIsAllowedRef","currentUserUpdated","fetchPolicies","documentViewModel","reason","enumTranslationOnKeyCompareFn","B","localeCompare","isValueAnEnum","itemsWithProp","ToekenningsbeschikkingOverzicht","ToekenningsbeschikkingBekijken","UiOverzichtToekenningsbeschikking","UiRaadplegenToekenningsbeschikking","UiHeropenenToekenningsbeschikking","UiBeeindigenToekenningsbeschikking","toekenningsbeschikkingOverzicht","toekenningsbeschikkingBekijken","_watchers","_eventList","_registeredAt","stopAllWatches","unregisterAllEvents","addWatch","stopWatch","stophandle","removeWatch","owner","unregisterEventByOwner","unregisterEventByCallback","_modelRef","_children","_childrenByKey","checkOpen","_model","_parentPropName","_isValidPromise","_waitForForceUpdateCount","_isValidPromiseResolve","resolvePromiseIfLast","doCreateDataModel","prepareModel","childDest","setComputed","computation","emptyOpeningsTijden","mapContactData","mapContactItem","mapOpeningsTijden","getContactData","clearCache","contactDataService","emptyCurrentContactData","isSelectedBudgethouder","CurrentContactDataRepository","globalCurrentUserRepository","_super","inInit","comparer","budgethoudersEnVertegenwoordigersFaq_ziekZwanger","budgethoudersEnVertegenwoordigersZiekteEnZwangerschap","budgethoudersEnVertegenwoordigersFaq_BudgetEnToekenningsbeschikking","budgethoudersEnVertegenwoordigersBudgetEnToekenningsbeschikking","budgethoudersEnVertegenwoordigersFaq_zorgovereenkomst","budgethoudersEnVertegenwoordigersZorgovereenkomst","contactGegevens","declaratieIndienenFactuurReiskosten","uploadfactuurIndienen","ziekmeldingOverzicht","ziekmeldingBetermelden","zwangerschapsmeldingOpstellen","zwangerschapsmeldingBekijken","zwangerschapsmeldingWijzigen","klantbeeldWeergavenBudgethouder","addParametersToPath","onDownloadHandler","firstDocument","hasList","DownloadButton","DownloadButtonList","fileService","HeaderCorrelationId","forcedCorrelationId","loggingClient","orinialTransformOptions","defaultLogTimingSetting","logTimingSetting","fetchCount","registeredClients","getRealTime","logTiming","time0","replacedTransformOptions","isAboveThreshold","referer","pathname","elapsedTime","fetchWrapper","_fetch","trackTiming","Client"],"mappings":"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","file":"js/index.4ae3ac6e.js","sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tfunction webpackJsonpCallback(data) {\n \t\tvar chunkIds = data[0];\n \t\tvar moreModules = data[1];\n \t\tvar executeModules = data[2];\n\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [];\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(Object.prototype.hasOwnProperty.call(installedChunks, chunkId) && installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(data);\n\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n\n \t\t// add entry modules from loaded chunk to deferred list\n \t\tdeferredModules.push.apply(deferredModules, executeModules || []);\n\n \t\t// run deferred modules when all chunks ready\n \t\treturn checkDeferredModules();\n \t};\n \tfunction checkDeferredModules() {\n \t\tvar result;\n \t\tfor(var i = 0; i < deferredModules.length; i++) {\n \t\t\tvar deferredModule = deferredModules[i];\n \t\t\tvar fulfilled = true;\n \t\t\tfor(var j = 1; j < deferredModule.length; j++) {\n \t\t\t\tvar depId = deferredModule[j];\n \t\t\t\tif(installedChunks[depId] !== 0) fulfilled = false;\n \t\t\t}\n \t\t\tif(fulfilled) {\n \t\t\t\tdeferredModules.splice(i--, 1);\n \t\t\t\tresult = __webpack_require__(__webpack_require__.s = deferredModule[0]);\n \t\t\t}\n \t\t}\n\n \t\treturn result;\n \t}\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// object to store loaded CSS chunks\n \tvar installedCssChunks = {\n \t\t\"index\": 0\n \t}\n\n \t// object to store loaded and loading chunks\n \t// undefined = chunk not loaded, null = chunk preloaded/prefetched\n \t// Promise = chunk loading, 0 = chunk loaded\n \tvar installedChunks = {\n \t\t\"index\": 0\n \t};\n\n \tvar deferredModules = [];\n\n \t// script path function\n \tfunction jsonpScriptSrc(chunkId) {\n \t\treturn __webpack_require__.p + \"js/\" + ({\"budgetAfsluiten\":\"budgetAfsluiten\",\"budgetTerugstorten\":\"budgetTerugstorten\",\"oidc\":\"oidc\",\"toekenningsbeschikking\":\"toekenningsbeschikking\",\"ziekmelden\":\"ziekmelden\",\"zorgovereenkomst\":\"zorgovereenkomst\",\"zwangerschap\":\"zwangerschap\"}[chunkId]||chunkId) + \".\" + {\"budgetAfsluiten\":\"3dbd9fc0\",\"budgetTerugstorten\":\"bc0887fe\",\"oidc\":\"d3e8d982\",\"toekenningsbeschikking\":\"56a53861\",\"ziekmelden\":\"21138a87\",\"zorgovereenkomst\":\"e0793706\",\"zwangerschap\":\"c830c61f\"}[chunkId] + \".js\"\n \t}\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n \t// This file contains only the entry chunk.\n \t// The chunk loading function for additional chunks\n \t__webpack_require__.e = function requireEnsure(chunkId) {\n \t\tvar promises = [];\n\n\n \t\t// mini-css-extract-plugin CSS loading\n \t\tvar cssChunks = {\"toekenningsbeschikking\":1,\"ziekmelden\":1,\"zorgovereenkomst\":1,\"zwangerschap\":1};\n \t\tif(installedCssChunks[chunkId]) promises.push(installedCssChunks[chunkId]);\n \t\telse if(installedCssChunks[chunkId] !== 0 && cssChunks[chunkId]) {\n \t\t\tpromises.push(installedCssChunks[chunkId] = new Promise(function(resolve, reject) {\n \t\t\t\tvar href = \"css/\" + ({\"budgetAfsluiten\":\"budgetAfsluiten\",\"budgetTerugstorten\":\"budgetTerugstorten\",\"oidc\":\"oidc\",\"toekenningsbeschikking\":\"toekenningsbeschikking\",\"ziekmelden\":\"ziekmelden\",\"zorgovereenkomst\":\"zorgovereenkomst\",\"zwangerschap\":\"zwangerschap\"}[chunkId]||chunkId) + \".\" + {\"budgetAfsluiten\":\"31d6cfe0\",\"budgetTerugstorten\":\"31d6cfe0\",\"oidc\":\"31d6cfe0\",\"toekenningsbeschikking\":\"5409ebab\",\"ziekmelden\":\"ddfb51ae\",\"zorgovereenkomst\":\"29bff43a\",\"zwangerschap\":\"5c1570e2\"}[chunkId] + \".css\";\n \t\t\t\tvar fullhref = __webpack_require__.p + href;\n \t\t\t\tvar existingLinkTags = document.getElementsByTagName(\"link\");\n \t\t\t\tfor(var i = 0; i < existingLinkTags.length; i++) {\n \t\t\t\t\tvar tag = existingLinkTags[i];\n \t\t\t\t\tvar dataHref = tag.getAttribute(\"data-href\") || tag.getAttribute(\"href\");\n \t\t\t\t\tif(tag.rel === \"stylesheet\" && (dataHref === href || dataHref === fullhref)) return resolve();\n \t\t\t\t}\n \t\t\t\tvar existingStyleTags = document.getElementsByTagName(\"style\");\n \t\t\t\tfor(var i = 0; i < existingStyleTags.length; i++) {\n \t\t\t\t\tvar tag = existingStyleTags[i];\n \t\t\t\t\tvar dataHref = tag.getAttribute(\"data-href\");\n \t\t\t\t\tif(dataHref === href || dataHref === fullhref) return resolve();\n \t\t\t\t}\n \t\t\t\tvar linkTag = document.createElement(\"link\");\n \t\t\t\tlinkTag.rel = \"stylesheet\";\n \t\t\t\tlinkTag.type = \"text/css\";\n \t\t\t\tlinkTag.onload = resolve;\n \t\t\t\tlinkTag.onerror = function(event) {\n \t\t\t\t\tvar request = event && event.target && event.target.src || fullhref;\n \t\t\t\t\tvar err = new Error(\"Loading CSS chunk \" + chunkId + \" failed.\\n(\" + request + \")\");\n \t\t\t\t\terr.code = \"CSS_CHUNK_LOAD_FAILED\";\n \t\t\t\t\terr.request = request;\n \t\t\t\t\tdelete installedCssChunks[chunkId]\n \t\t\t\t\tlinkTag.parentNode.removeChild(linkTag)\n \t\t\t\t\treject(err);\n \t\t\t\t};\n \t\t\t\tlinkTag.href = fullhref;\n\n \t\t\t\tvar head = document.getElementsByTagName(\"head\")[0];\n \t\t\t\thead.appendChild(linkTag);\n \t\t\t}).then(function() {\n \t\t\t\tinstalledCssChunks[chunkId] = 0;\n \t\t\t}));\n \t\t}\n\n \t\t// JSONP chunk loading for javascript\n\n \t\tvar installedChunkData = installedChunks[chunkId];\n \t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n \t\t\t// a Promise means \"currently loading\".\n \t\t\tif(installedChunkData) {\n \t\t\t\tpromises.push(installedChunkData[2]);\n \t\t\t} else {\n \t\t\t\t// setup Promise in chunk cache\n \t\t\t\tvar promise = new Promise(function(resolve, reject) {\n \t\t\t\t\tinstalledChunkData = installedChunks[chunkId] = [resolve, reject];\n \t\t\t\t});\n \t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n \t\t\t\t// start chunk loading\n \t\t\t\tvar script = document.createElement('script');\n \t\t\t\tvar onScriptComplete;\n\n \t\t\t\tscript.charset = 'utf-8';\n \t\t\t\tscript.timeout = 120;\n \t\t\t\tif (__webpack_require__.nc) {\n \t\t\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n \t\t\t\t}\n \t\t\t\tscript.src = jsonpScriptSrc(chunkId);\n\n \t\t\t\t// create error before stack unwound to get useful stacktrace later\n \t\t\t\tvar error = new Error();\n \t\t\t\tonScriptComplete = function (event) {\n \t\t\t\t\t// avoid mem leaks in IE.\n \t\t\t\t\tscript.onerror = script.onload = null;\n \t\t\t\t\tclearTimeout(timeout);\n \t\t\t\t\tvar chunk = installedChunks[chunkId];\n \t\t\t\t\tif(chunk !== 0) {\n \t\t\t\t\t\tif(chunk) {\n \t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n \t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n \t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n \t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n \t\t\t\t\t\t\terror.type = errorType;\n \t\t\t\t\t\t\terror.request = realSrc;\n \t\t\t\t\t\t\tchunk[1](error);\n \t\t\t\t\t\t}\n \t\t\t\t\t\tinstalledChunks[chunkId] = undefined;\n \t\t\t\t\t}\n \t\t\t\t};\n \t\t\t\tvar timeout = setTimeout(function(){\n \t\t\t\t\tonScriptComplete({ type: 'timeout', target: script });\n \t\t\t\t}, 120000);\n \t\t\t\tscript.onerror = script.onload = onScriptComplete;\n \t\t\t\tdocument.head.appendChild(script);\n \t\t\t}\n \t\t}\n \t\treturn Promise.all(promises);\n \t};\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/app/\";\n\n \t// on error function for async loading\n \t__webpack_require__.oe = function(err) { console.error(err); throw err; };\n\n \tvar jsonpArray = window[\"webpackJsonp\"] = window[\"webpackJsonp\"] || [];\n \tvar oldJsonpFunction = jsonpArray.push.bind(jsonpArray);\n \tjsonpArray.push = webpackJsonpCallback;\n \tjsonpArray = jsonpArray.slice();\n \tfor(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);\n \tvar parentJsonpFunction = oldJsonpFunction;\n\n\n \t// add entry module to deferred list\n \tdeferredModules.push([1,\"chunk-vendors\"]);\n \t// run deferred modules when ready\n \treturn checkDeferredModules();\n","import { DownloadFile, FileUploadViewModel } from '@/_generated/portalClient'\r\nimport { IVueUploadItem } from 'phoenix/types/library/PFileUpload/FileUpload'\r\nimport { DownloadFileModel } from '../models/downloadFileModel'\r\n\r\nexport function mapDownloadFileModel (download: DownloadFile): DownloadFileModel {\r\n return {\r\n id: download.id,\r\n naam: download.naam || '',\r\n contentType: download.contentType || '',\r\n data: download.data || '',\r\n }\r\n}\r\n\r\nexport function mapVueUploadItemToFileUploadViewModel (bestanden: IVueUploadItem[] | null): FileUploadViewModel[] {\r\n return bestanden\r\n ? bestanden\r\n .filter(file => !file.isArchived)\r\n .map(file => ({\r\n id: file.response.id || file.id,\r\n naam: file.name,\r\n mimeType: file.type,\r\n isValide: true,\r\n melding: null,\r\n imprintnummer: null,\r\n }))\r\n : []\r\n}\r\n","export const policy = {\r\n UiOverzichtZiekZwangerschapsmeldingen: 'UiOverzichtZiekZwangerschapsmeldingen',\r\n UiMuterenZiekZwangerschapsmelding: 'UiMuterenZiekZwangerschapsmelding',\r\n UiOpvoerenZiekZwangerschapsmelding: 'UiOpvoerenZiekZwangerschapsmelding',\r\n UiRaadplegenZiekZwangerschapsmelding: 'UiRaadplegenZiekZwangerschapsmelding',\r\n}\r\n","import { ErrorLogType } from '@/domains/error/dataAccess/ErrorLogType'\r\nimport Vue from 'vue'\r\n\r\nexport interface VueError {\r\n error: Error\r\n vm?: Vue\r\n info?: string\r\n}\r\n\r\nexport class VueErrorLog extends ErrorLogType {\r\n error: Error\r\n _prefix = '[Vue]'\r\n _errorMessage: string\r\n _stack: string\r\n\r\n constructor ({ error, vm, info }: VueError) {\r\n super()\r\n this.error = error\r\n this._stack = error.stack as string\r\n this._errorMessage = error.message\r\n\r\n this.errorMessageTags.Tag = vm && vm.$vnode.tag ? vm.$vnode.tag : ''\r\n this.errorMessageTags.Hook = info || ''\r\n }\r\n}\r\n","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Contact.vue?vue&type=style&index=0&id=fe3f2b9c&prod&lang=scss&scoped=true\"","export * from \"-!../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./StatusInfoDeclaratiesOverzicht.vue?vue&type=style&index=0&id=90df747e&prod&lang=scss\"","const INVALID_VALUE: any = '*@#invalid'\r\n\r\nexport function isRealNaN (value: any): value is number {\r\n return typeof value === 'number' && isNaN(value)\r\n}\r\n\r\nexport function isValidNumber (value: any): value is number {\r\n return typeof value === 'number' && !isNaN(value)\r\n}\r\n\r\nexport function isValidInteger (value: any): value is number {\r\n return isValidNumber(value) && Number.isInteger(value)\r\n}\r\n\r\nexport function isInvalidValue (value: any): boolean {\r\n return value === INVALID_VALUE || isRealNaN(value)\r\n}\r\n\r\nexport function isUndefinedOrNullOrEmpty (value: any): value is undefined | null | '' {\r\n return value === undefined || value === null || value === ''\r\n}\r\n\r\n// node < 15 (en IE) kent string.replaceAll nog niet\r\nfunction replaceAll (s: string, search: string, replace: string) {\r\n let orgStr: string\r\n do {\r\n orgStr = s\r\n s = s.replace(search, replace)\r\n } while (orgStr !== s)\r\n return s\r\n}\r\n\r\nexport interface ITransform {\r\n toDisplay (value: T | null): string\r\n toValue (text: string): T\r\n isValidDisplay (text: string): boolean\r\n isValidValue (value: T | null): boolean\r\n invalidValue: Readonly\r\n emptyValue: Readonly\r\n}\r\n\r\nexport abstract class Transform implements ITransform {\r\n // eslint-disable-next-line\r\n constructor (public emptyValue: T, public invalidValue: T) {\r\n // Dear es-lint. This constructor is NOT empty,\r\n }\r\n\r\n abstract toDisplay (value: T | null): string\r\n abstract toValue (display: string): T\r\n abstract isValidDisplay (display: string): boolean\r\n isValidValue (value: T | null): boolean {\r\n return value !== this.invalidValue && !isInvalidValue(value)\r\n }\r\n}\r\n\r\nexport class DefaultTransform extends Transform {\r\n constructor (emptyValue: any = null, invalidValue: any = INVALID_VALUE) {\r\n super(emptyValue, invalidValue)\r\n }\r\n\r\n toDisplay (value: any): string {\r\n return !isUndefinedOrNullOrEmpty(value) && this.isValidValue(value) ? value.toString() : ''\r\n }\r\n\r\n toValue (display: string | null): any {\r\n return !isUndefinedOrNullOrEmpty(display) ? display : this.emptyValue\r\n }\r\n\r\n isValidDisplay (): boolean {\r\n return true\r\n }\r\n}\r\n\r\nexport class NumberTransform extends Transform {\r\n constructor (emptyValue: number | null = null, invalidValue: number | null = NaN) {\r\n super(emptyValue, invalidValue)\r\n }\r\n\r\n toDisplay (value: number | null) {\r\n return value !== null && this.isValidValue(value) ? replaceAll(value.toString(), '.', ',') : ''\r\n }\r\n\r\n toValue (display: string): number | null {\r\n if (isUndefinedOrNullOrEmpty(display)) {\r\n return this.emptyValue\r\n }\r\n const value = this.parseString(replaceAll(replaceAll(display, ',', '.'), ' ', ''))\r\n return !isNaN(value) ? value : this.invalidValue\r\n }\r\n\r\n isValidDisplay (display: string) {\r\n return isUndefinedOrNullOrEmpty(display) || isValidNumber(this.toValue(display))\r\n }\r\n\r\n isValidValue (value: number | null) {\r\n return value !== this.invalidValue && (value === null || isValidNumber(value))\r\n }\r\n\r\n protected parseString (display: string) {\r\n return Number(display)\r\n }\r\n}\r\n\r\nexport class IntegerTransform extends NumberTransform {\r\n isValidValue (value: number | null) {\r\n return super.isValidValue(value) && isValidInteger(value)\r\n }\r\n\r\n protected parseString (display: string) {\r\n const result = Number(display)\r\n return isValidInteger(result) && result === parseInt(display, 10) ? result : NaN\r\n }\r\n}\r\n","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CurrencyField.vue?vue&type=style&index=0&id=f0508f6e&prod&lang=scss&scoped=true\"","import { mapAddress } from '@/domains/account/dataAccess/mappers/mapAddress'\r\nimport { emptyRelatieBase, RelatieBase } from '@/domains/account/dataAccess/models/relaties/RelatieBase'\r\nimport { RelatieReadOnlyViewModel, RelatieViewModel } from '@/_generated/portalClient'\r\n\r\nexport function mapRelatieBaseFormReadonly (relatie: RelatieReadOnlyViewModel): RelatieBase {\r\n return {\r\n ...emptyRelatieBase,\r\n id: relatie.id,\r\n uid: relatie.uid,\r\n burgerServiceNummer: relatie.burgerservicenummer,\r\n correspondentievoorkeur: null,\r\n emailAddress: relatie.emailadres,\r\n geboorteDatum: relatie.geboortedatum,\r\n geslacht: relatie.geslacht,\r\n telefoonnummer1: relatie.telefoonnummer1,\r\n telefoonnummer2: relatie.telefoonnummer2,\r\n volledigeNaam: relatie.volledigeNaam || '',\r\n }\r\n}\r\n\r\nexport function mapRelatieBase (relatie: RelatieViewModel): RelatieBase {\r\n return {\r\n ...emptyRelatieBase,\r\n uid: relatie.id,\r\n addresses: relatie.adressen ? relatie.adressen.map(mapAddress) : [],\r\n correspondentievoorkeur: relatie.correspondentievoorkeur,\r\n emailAddress: relatie.emailadres,\r\n telefoonnummer1: relatie.telefoonnummer1,\r\n telefoonnummer2: relatie.telefoonnummer2,\r\n volledigeNaam: relatie.volledigeNaam || '',\r\n }\r\n}\r\n","export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./StandaardAfspraken.vue?vue&type=style&index=0&id=26798800&prod&lang=scss&scoped=true\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div')}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SilentRenew.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SilentRenew.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./SilentRenew.vue?vue&type=template&id=05b253c7\"\nimport script from \"./SilentRenew.vue?vue&type=script&lang=js\"\nexport * from \"./SilentRenew.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","export interface ErrorMessageTags {\r\n [key: string]: string\r\n}\r\n\r\nexport enum NotificationType {\r\n general,\r\n serverError,\r\n}\r\n\r\nexport abstract class ErrorLogType {\r\n abstract error: any\r\n abstract _errorMessage: string\r\n abstract _prefix: string\r\n abstract _stack: string\r\n\r\n public notificationType = NotificationType.general\r\n public isSilent = false\r\n\r\n protected errorMessageTags: ErrorMessageTags\r\n\r\n protected constructor () {\r\n this.errorMessageTags = {\r\n Location: `${window.location}`,\r\n }\r\n }\r\n\r\n get message (): string {\r\n let message = this._prefix ? `${this._prefix} ` : ''\r\n message += `${this._errorMessage}\\n`\r\n\r\n Object.keys(this.errorMessageTags).forEach(key => {\r\n message += `${key}: ${this.errorMessageTags[key]}\\n`\r\n })\r\n\r\n return message\r\n }\r\n\r\n get stack (): string { return this._stack }\r\n get lineNumber (): string { return '' }\r\n get fileName (): string { return '' }\r\n}\r\n","import { route } from './routeItems'\r\nconst IndienenDeclaratie = 'Indienen declaratie'\r\nexport default {\r\n messages: {\r\n nl: {\r\n route: {\r\n title: {\r\n [route.uploadFactuur]: 'Uploaden factuur',\r\n [route.IndienenDeclaratie]: IndienenDeclaratie,\r\n [route.OverzichtDeclaratie]: 'Overzicht declaraties en maandlonen',\r\n [route.IndienenAlgemeneDeclaratie]: 'Indienen algemene declaratie',\r\n [route.InvoerenZorgverlenerDeclaratie]: IndienenDeclaratie,\r\n [route.IndienenDeclaratieGeleverdeZorgEnReiskostenZorgverlener]: 'Geleverde zorg en reiskosten zorgverlener',\r\n [route.IndienenDeclaratieFactuurReiskostenBudgethouder]: 'Declareren factuur reiskosten budgethouder',\r\n [route.IndienenDeclaratieBijkomendeZorgkostenZorgverlener]: 'Declareren bijkomende zorgkosten',\r\n [route.IndienenDeclaratieFeestdagenuitkeringZorgverlener]: 'Declareren feestdagenuitkering',\r\n [route.IndienenDeclaratieWooninitiatiefEnkelHuis]: 'Wooninitiatief enkel huis declareren',\r\n [route.IndienenDeclaratieVerantwoordingsvrijBedragBudgethouder]: 'Opvragen verantwoordingsvrij bedrag',\r\n [route.InzienDeclaratieVerantwoordingsvrijBedrag]: 'Declaratie verantwoordingsvrij bedrag',\r\n [route.InzienDeclaratieFeestdagenuitkering]: 'Declaratie feestdagenuitkering',\r\n [route.IntrekkenFeestdagenUitkering]: 'Intrekken declaratie feestdagenuitkering',\r\n [route.InzienDeclaratieBijkomendeZorgkosten]: 'Declaratie bijkomende zorgkosten',\r\n [route.IntrekkenBijkomendeZorgkosten]: 'Intrekken declaratie bijkomende zorgkosten',\r\n [route.IndienenDeclaratieIdealReturn]: 'IndienenDeclaratieIdealReturn',\r\n [route.IndienenDeclaratieFeestdagenuitkeringZorgverlenerConceptId]: 'IndienenDeclaratieFeestdagenuitkeringZorgverlenerConceptId',\r\n [route.IdealReturnSuccess]: 'Ideal betaling is goed gegaan',\r\n [route.IdealReturnFailed]: 'Ideal betaling is fout gegaan',\r\n [route.BekijkenDeclaratie]: 'Bekijken declareatie',\r\n [route.IndienenDeclaratieConcept]: IndienenDeclaratie,\r\n [route.BekijkenTeBeoordelenZorgverlenerDeclaratie]: 'Bekijken te beoordelen declaratie',\r\n [route.BeoordeelZorgverlenerDeclaratie]: 'Beoordelen declaratie',\r\n [route.BewerkenAfgekeurdeDeclaratieZorgverlener]: 'Bewerken afgekeurde declaratie ',\r\n [route.BekijkenTeruggestuurdeZorgverlenerDeclaratie]: 'Bekijken teruggestuurde declareatie',\r\n [route.InvoerenBestaandDeclaratieZorgverlener]: 'Invoeren Bestaand declaratie',\r\n },\r\n },\r\n },\r\n },\r\n}\r\n","import i18n from './i18n'\r\nimport { routeItems } from './routeItems'\r\n\r\nexport const routes = {\r\n domain: 'declaraties',\r\n routeItems,\r\n i18n,\r\n}\r\n","import { mapAddress } from '@/domains/account/dataAccess/mappers/mapAddress'\r\nimport { Bankrekening } from '@/domains/account/dataAccess/models/Bankrekening'\r\nimport { BankrekeningViewModel } from '@/_generated/portalClient'\r\nimport { BankrekeningForm } from '../models/BankrekeningForm'\r\n\r\nexport function mapBankrekening (bankrekening: BankrekeningViewModel): Bankrekening {\r\n return {\r\n address: bankrekening.adres ? mapAddress(bankrekening.adres) : null,\r\n bankkantoor: bankrekening.bankkantoor,\r\n banknaam: bankrekening.banknaam,\r\n hasOnlyRekeningnummer: bankrekening.hasOnlyRekeningnummer,\r\n rekeningnummer: bankrekening.rekeningnummer,\r\n bic: bankrekening.bic,\r\n iban: bankrekening.iban,\r\n tenaamstelling: bankrekening.tenaamstelling,\r\n selectedForm: bankrekening.hasOnlyRekeningnummer ? BankrekeningForm.OtherAccount : BankrekeningForm.EuIban,\r\n }\r\n}\r\n","module.exports = __webpack_public_path__ + \"img/logo.39bc0254.svg\";","import { IModelExtensions } from '../IModelExtensions'\r\nimport { FieldValidator, FieldValidatorOptions, addErrorMessage, StringOrArrayOrNull } from './FieldValidator'\r\nimport { IntegerTransform, NumberTransform } from './transform'\r\nimport { IFieldValidator, IModelValidator } from './types'\r\n\r\nexport interface INumberFieldValidator extends IFieldValidator {\r\n minValue?: number\r\n maxValue?: number\r\n numOfDecimals?: number\r\n}\r\n\r\nexport interface NumberFieldValidatorOptions extends FieldValidatorOptions {\r\n minValue?: number\r\n minMessage?: string\r\n maxValue?: number\r\n maxMessage?: string\r\n numOfDecimals?: number\r\n numOfDecimalsMessage?: string\r\n invalidNumber?: number\r\n invalidNumberMessage?: string\r\n}\r\n\r\nexport class NumberFieldValidator> extends FieldValidator {\r\n minValue?: number\r\n minMessage?: string\r\n maxValue?: number\r\n maxMessage?: string\r\n numOfDecimals = 0\r\n numOfDecimalsMessage?: string\r\n invalidNumber?: number\r\n invalidNumberMessage?: string\r\n\r\n constructor (modelValidator: IModelValidator, options?: NumberFieldValidatorOptions) {\r\n super(modelValidator, options)\r\n if (options) {\r\n this.extractOptionsMinMaxValue(options)\r\n this.extractOptionsOther(options)\r\n }\r\n this.setTransform()\r\n }\r\n\r\n getFieldValueErrorMessages (value: number): StringOrArrayOrNull {\r\n let result = super.getFieldValueErrorMessages(value)\r\n result = this.getFieldValueErrorMessagesMinMaxValue(value, result)\r\n result = this.getFieldValueErrorMessagesNumOfDecimals(value, result)\r\n result = this.getFieldValueErrorMessagesInvalidNumber(value, result)\r\n return result\r\n }\r\n\r\n private extractOptionsMinMaxValue (options: NumberFieldValidatorOptions) {\r\n if (options.minValue !== undefined) {\r\n this.minValue = options.minValue\r\n }\r\n if (options.minMessage) {\r\n this.minMessage = options.minMessage\r\n }\r\n if (options.maxValue !== undefined) {\r\n this.maxValue = options.maxValue\r\n }\r\n if (options.maxMessage) {\r\n this.maxMessage = options.maxMessage\r\n }\r\n }\r\n\r\n private extractOptionsOther (options: NumberFieldValidatorOptions) {\r\n if (options.numOfDecimals !== undefined) {\r\n this.numOfDecimals = options.numOfDecimals\r\n }\r\n if (options.numOfDecimalsMessage) {\r\n this.numOfDecimalsMessage = options.numOfDecimalsMessage\r\n }\r\n if (options.invalidNumber !== undefined) {\r\n this.invalidNumber = options.invalidNumber\r\n }\r\n if (options.invalidNumberMessage) {\r\n this.invalidNumberMessage = options.invalidNumberMessage\r\n }\r\n }\r\n\r\n private getFieldValueErrorMessagesMinMaxValue (value: number, result: StringOrArrayOrNull): StringOrArrayOrNull {\r\n if (typeof this.minValue === 'number' && value < this.minValue) {\r\n return addErrorMessage(result, this.minMessage || 't:errorMessages.minValue')\r\n }\r\n if (typeof this.maxValue === 'number' && value > this.maxValue) {\r\n return addErrorMessage(result, this.maxMessage || 't:errorMessages.maxValue')\r\n }\r\n return result\r\n }\r\n\r\n private getFieldValueErrorMessagesNumOfDecimals (value: number, result: StringOrArrayOrNull): StringOrArrayOrNull {\r\n const abs = Math.abs(value)\r\n let rounded: number\r\n if (this.numOfDecimals === 0) {\r\n rounded = Math.floor(abs)\r\n } else {\r\n const factor = Math.pow(10, this.numOfDecimals)\r\n const n = this.numOfDecimals < 0 ? abs : 0.01 / factor + abs\r\n rounded = Math.round(n * factor) / factor\r\n }\r\n if (rounded - abs < 0) {\r\n return addErrorMessage(result, this.numOfDecimalsMessage || 't:errorMessages.invalidNumber')\r\n }\r\n return result\r\n }\r\n\r\n private getFieldValueErrorMessagesInvalidNumber (value: number, result: StringOrArrayOrNull): StringOrArrayOrNull {\r\n if (typeof this.invalidNumber === 'number' && !isNaN(value) && this.invalidNumber === Number(value)) {\r\n return addErrorMessage(result, this.invalidNumberMessage || 't:errorMessages.invalidNumber')\r\n }\r\n return result\r\n }\r\n\r\n private setTransform () {\r\n if (this.numOfDecimals !== 0) {\r\n this.transform = new NumberTransform()\r\n return\r\n }\r\n this.transform = new IntegerTransform()\r\n if (this.maxValue === undefined) {\r\n this.maxValue = 2147483647\r\n }\r\n if (this.minValue === undefined) {\r\n this.minValue = -2147483648\r\n }\r\n }\r\n}\r\n","//----------------------\r\n// \r\n// Generated using the NSwag toolchain v13.20.0.0 (NJsonSchema v10.9.0.0 (Newtonsoft.Json v11.0.0.0)) (http://NSwag.org)\r\n// \r\n//----------------------\r\n\r\n/* tslint:disable */\r\n/* eslint-disable */\r\n// ReSharper disable InconsistentNaming\r\n\r\nimport { AuthorizedApiBase } from '@/dataAccess/AuthorizedApiBase'\r\nimport { DateString } from 'phoenix'\r\n\r\nexport class AccountClient extends AuthorizedApiBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"/api\";\r\n }\r\n\r\n get(): Promise {\r\n let url_ = this.baseUrl + \"/Account\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processGet(_response);\r\n });\r\n }\r\n\r\n protected processGet(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as CurrentAccountViewModel;\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n getAanmakenAccount(): Promise {\r\n let url_ = this.baseUrl + \"/Account/AanmakenAccount\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processGetAanmakenAccount(_response);\r\n });\r\n }\r\n\r\n protected processGetAanmakenAccount(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as AanmakenAccountViewModel;\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n aanmakenAccount(viewmodel: AanmakenAccountViewModel | null | undefined): Promise {\r\n let url_ = this.baseUrl + \"/Account/AanmakenAccount\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(viewmodel);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processAanmakenAccount(_response);\r\n });\r\n }\r\n\r\n protected processAanmakenAccount(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as AanmakenAccountResponseViewModel;\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class ActieClient extends AuthorizedApiBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"/api\";\r\n }\r\n\r\n getWeergaveActie(guid: string): Promise {\r\n let url_ = this.baseUrl + \"/Actie/WeergaveActie/{guid}\";\r\n if (guid === undefined || guid === null)\r\n throw new Error(\"The parameter 'guid' must be defined.\");\r\n url_ = url_.replace(\"{guid}\", encodeURIComponent(\"\" + guid));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processGetWeergaveActie(_response);\r\n });\r\n }\r\n\r\n protected processGetWeergaveActie(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as WeergaveActieViewModel;\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n getOverzichtActies(gekoppeldAanUid: string | null | undefined, voorGebruikerUid: string | null | undefined): Promise {\r\n let url_ = this.baseUrl + \"/Actie/OverzichtActies?\";\r\n if (gekoppeldAanUid !== undefined && gekoppeldAanUid !== null)\r\n url_ += \"gekoppeldAanUid=\" + encodeURIComponent(\"\" + gekoppeldAanUid) + \"&\";\r\n if (voorGebruikerUid !== undefined && voorGebruikerUid !== null)\r\n url_ += \"voorGebruikerUid=\" + encodeURIComponent(\"\" + voorGebruikerUid) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processGetOverzichtActies(_response);\r\n });\r\n }\r\n\r\n protected processGetOverzichtActies(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as OverzichtActieViewModel[];\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n save(actieViewModel: AanmakenActieViewModel | null | undefined): Promise {\r\n let url_ = this.baseUrl + \"/Actie/Save\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(actieViewModel);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/octet-stream\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processSave(_response);\r\n });\r\n }\r\n\r\n protected processSave(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n getWetten(relatieUid: string | undefined, werktaakUid: string | null | undefined): Promise {\r\n let url_ = this.baseUrl + \"/Actie/Wetten?\";\r\n if (relatieUid === null)\r\n throw new Error(\"The parameter 'relatieUid' cannot be null.\");\r\n else if (relatieUid !== undefined)\r\n url_ += \"relatieUid=\" + encodeURIComponent(\"\" + relatieUid) + \"&\";\r\n if (werktaakUid !== undefined && werktaakUid !== null)\r\n url_ += \"werktaakUid=\" + encodeURIComponent(\"\" + werktaakUid) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n headers: {\r\n \"Accept\": \"application/octet-stream\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processGetWetten(_response);\r\n });\r\n }\r\n\r\n protected processGetWetten(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n afhandelen(actieUid: string): Promise {\r\n let url_ = this.baseUrl + \"/Actie/Afhandelen/{actieUid}\";\r\n if (actieUid === undefined || actieUid === null)\r\n throw new Error(\"The parameter 'actieUid' must be defined.\");\r\n url_ = url_.replace(\"{actieUid}\", encodeURIComponent(\"\" + actieUid));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"POST\",\r\n headers: {\r\n \"Accept\": \"application/octet-stream\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processAfhandelen(_response);\r\n });\r\n }\r\n\r\n protected processAfhandelen(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class AdresClient extends AuthorizedApiBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"/api\";\r\n }\r\n\r\n getAddress(postcode: string | null, huisnummer: number | null): Promise {\r\n let url_ = this.baseUrl + \"/Adres/{postcode}/{huisnummer}\";\r\n if (postcode === undefined || postcode === null)\r\n throw new Error(\"The parameter 'postcode' must be defined.\");\r\n url_ = url_.replace(\"{postcode}\", encodeURIComponent(\"\" + postcode));\r\n if (huisnummer === undefined || huisnummer === null)\r\n throw new Error(\"The parameter 'huisnummer' must be defined.\");\r\n url_ = url_.replace(\"{huisnummer}\", encodeURIComponent(\"\" + huisnummer));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processGetAddress(_response);\r\n });\r\n }\r\n\r\n protected processGetAddress(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as AdresViewModel;\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class BankrekeningClient extends AuthorizedApiBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"/api\";\r\n }\r\n\r\n kanBicBepaaldWorden(iban: string | null | undefined): Promise {\r\n let url_ = this.baseUrl + \"/Bankrekening/KanBicBepaaldWorden\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(iban);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processKanBicBepaaldWorden(_response);\r\n });\r\n }\r\n\r\n protected processKanBicBepaaldWorden(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as ValidatedViewModel;\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n validate(viewModel: BankrekeningViewModel | null | undefined): Promise {\r\n let url_ = this.baseUrl + \"/Bankrekening/Validate\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(viewModel);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processValidate(_response);\r\n });\r\n }\r\n\r\n protected processValidate(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as BankrekeningValidationViewModel;\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class BeheerBudgetClient extends AuthorizedApiBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"/api\";\r\n }\r\n\r\n getOvergeblevenBijstortingenByBudgethouderId(budgethouderId: string): Promise {\r\n let url_ = this.baseUrl + \"/Beheer/Budget/OvergeblevenBijstortingen/{budgethouderId}\";\r\n if (budgethouderId === undefined || budgethouderId === null)\r\n throw new Error(\"The parameter 'budgethouderId' must be defined.\");\r\n url_ = url_.replace(\"{budgethouderId}\", encodeURIComponent(\"\" + budgethouderId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processGetOvergeblevenBijstortingenByBudgethouderId(_response);\r\n });\r\n }\r\n\r\n protected processGetOvergeblevenBijstortingenByBudgethouderId(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as number;\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n getBeheerTotaalBudgetByYearAndBudgethouderId(jaar: number, budgethouderId: string): Promise {\r\n let url_ = this.baseUrl + \"/Beheer/Budget/TotaalBudget/{jaar}/{budgethouderId}\";\r\n if (jaar === undefined || jaar === null)\r\n throw new Error(\"The parameter 'jaar' must be defined.\");\r\n url_ = url_.replace(\"{jaar}\", encodeURIComponent(\"\" + jaar));\r\n if (budgethouderId === undefined || budgethouderId === null)\r\n throw new Error(\"The parameter 'budgethouderId' must be defined.\");\r\n url_ = url_.replace(\"{budgethouderId}\", encodeURIComponent(\"\" + budgethouderId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processGetBeheerTotaalBudgetByYearAndBudgethouderId(_response);\r\n });\r\n }\r\n\r\n protected processGetBeheerTotaalBudgetByYearAndBudgethouderId(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as TotaalBudgetViewModel;\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n getBeheerUitbetalingenByJaarAndBudgethouderId(jaar: number, budgethouderUId: string): Promise {\r\n let url_ = this.baseUrl + \"/Beheer/Budget/Uitbetalingen/{jaar}/{budgethouderUId}\";\r\n if (jaar === undefined || jaar === null)\r\n throw new Error(\"The parameter 'jaar' must be defined.\");\r\n url_ = url_.replace(\"{jaar}\", encodeURIComponent(\"\" + jaar));\r\n if (budgethouderUId === undefined || budgethouderUId === null)\r\n throw new Error(\"The parameter 'budgethouderUId' must be defined.\");\r\n url_ = url_.replace(\"{budgethouderUId}\", encodeURIComponent(\"\" + budgethouderUId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processGetBeheerUitbetalingenByJaarAndBudgethouderId(_response);\r\n });\r\n }\r\n\r\n protected processGetBeheerUitbetalingenByJaarAndBudgethouderId(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as DeclaratieUitbetalingenViewModel;\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n getBeheerIngeplandeUitbetalingenByJaarAndBudgethouderId(jaar: number, budgethouderId: string): Promise {\r\n let url_ = this.baseUrl + \"/Beheer/Budget/IngeplandeUitbetalingen/{jaar}/{budgethouderId}\";\r\n if (jaar === undefined || jaar === null)\r\n throw new Error(\"The parameter 'jaar' must be defined.\");\r\n url_ = url_.replace(\"{jaar}\", encodeURIComponent(\"\" + jaar));\r\n if (budgethouderId === undefined || budgethouderId === null)\r\n throw new Error(\"The parameter 'budgethouderId' must be defined.\");\r\n url_ = url_.replace(\"{budgethouderId}\", encodeURIComponent(\"\" + budgethouderId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processGetBeheerIngeplandeUitbetalingenByJaarAndBudgethouderId(_response);\r\n });\r\n }\r\n\r\n protected processGetBeheerIngeplandeUitbetalingenByJaarAndBudgethouderId(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as DeclaratieUitbetalingenViewModel;\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n getBeheerNietVerwerkteMaandlonenByJaarAndBudgethouderId(jaar: number, budgethouderId: string): Promise {\r\n let url_ = this.baseUrl + \"/Beheer/Budget/NietVerwerkteMaandlonen/{jaar}/{budgethouderId}\";\r\n if (jaar === undefined || jaar === null)\r\n throw new Error(\"The parameter 'jaar' must be defined.\");\r\n url_ = url_.replace(\"{jaar}\", encodeURIComponent(\"\" + jaar));\r\n if (budgethouderId === undefined || budgethouderId === null)\r\n throw new Error(\"The parameter 'budgethouderId' must be defined.\");\r\n url_ = url_.replace(\"{budgethouderId}\", encodeURIComponent(\"\" + budgethouderId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processGetBeheerNietVerwerkteMaandlonenByJaarAndBudgethouderId(_response);\r\n });\r\n }\r\n\r\n protected processGetBeheerNietVerwerkteMaandlonenByJaarAndBudgethouderId(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as DeclaratieUitbetalingenViewModel;\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n getJarenMetBudgetByBudgethouderId(budgethouderId: string): Promise {\r\n let url_ = this.baseUrl + \"/Beheer/Budget/JarenMetBudget/{budgethouderId}\";\r\n if (budgethouderId === undefined || budgethouderId === null)\r\n throw new Error(\"The parameter 'budgethouderId' must be defined.\");\r\n url_ = url_.replace(\"{budgethouderId}\", encodeURIComponent(\"\" + budgethouderId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processGetJarenMetBudgetByBudgethouderId(_response);\r\n });\r\n }\r\n\r\n protected processGetJarenMetBudgetByBudgethouderId(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as number[];\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class BeheerBudgethouderClient extends AuthorizedApiBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"/api\";\r\n }\r\n\r\n getBudgethouder(id: string): Promise {\r\n let url_ = this.baseUrl + \"/Beheer/Budgethouder/Zoeken/{id}\";\r\n if (id === undefined || id === null)\r\n throw new Error(\"The parameter 'id' must be defined.\");\r\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processGetBudgethouder(_response);\r\n });\r\n }\r\n\r\n protected processGetBudgethouder(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as BudgethouderOpzoekenViewModel;\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n zoekRelaties(model: ZoekRelatiesCriteriaViewModel | null | undefined): Promise {\r\n let url_ = this.baseUrl + \"/Beheer/Budgethouder/ZoekRelaties\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(model);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processZoekRelaties(_response);\r\n });\r\n }\r\n\r\n protected processZoekRelaties(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as ZoekRelatiesViewModel;\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n getBudgethoudersByZorgverlenerUid(zorgverlenerId: string): Promise {\r\n let url_ = this.baseUrl + \"/Beheer/Budgethouder/GetByZorgverlener/{zorgverlenerId}\";\r\n if (zorgverlenerId === undefined || zorgverlenerId === null)\r\n throw new Error(\"The parameter 'zorgverlenerId' must be defined.\");\r\n url_ = url_.replace(\"{zorgverlenerId}\", encodeURIComponent(\"\" + zorgverlenerId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processGetBudgethoudersByZorgverlenerUid(_response);\r\n });\r\n }\r\n\r\n protected processGetBudgethoudersByZorgverlenerUid(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as BudgethouderOpzoekenViewModel[];\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class BeheerDeclaratieClient extends AuthorizedApiBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"/api\";\r\n }\r\n\r\n jarenMetDeclaratieByBudgethouder(budgethouderUid: string): Promise {\r\n let url_ = this.baseUrl + \"/Beheer/Declaratie/JarenMetDeclaratieOpBudgethouder/{budgethouderUid}\";\r\n if (budgethouderUid === undefined || budgethouderUid === null)\r\n throw new Error(\"The parameter 'budgethouderUid' must be defined.\");\r\n url_ = url_.replace(\"{budgethouderUid}\", encodeURIComponent(\"\" + budgethouderUid));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processJarenMetDeclaratieByBudgethouder(_response);\r\n });\r\n }\r\n\r\n protected processJarenMetDeclaratieByBudgethouder(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as number[];\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n getDeclaratiesByJaarEnBudgethouderId(jaar: number, budgethouderUid: string): Promise {\r\n let url_ = this.baseUrl + \"/Beheer/Declaratie/DeclaratiesOpJaar/{jaar}/Budgethouder/{budgethouderUid}\";\r\n if (jaar === undefined || jaar === null)\r\n throw new Error(\"The parameter 'jaar' must be defined.\");\r\n url_ = url_.replace(\"{jaar}\", encodeURIComponent(\"\" + jaar));\r\n if (budgethouderUid === undefined || budgethouderUid === null)\r\n throw new Error(\"The parameter 'budgethouderUid' must be defined.\");\r\n url_ = url_.replace(\"{budgethouderUid}\", encodeURIComponent(\"\" + budgethouderUid));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processGetDeclaratiesByJaarEnBudgethouderId(_response);\r\n });\r\n }\r\n\r\n protected processGetDeclaratiesByJaarEnBudgethouderId(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as OverzichtDeclaratieViewModel[];\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n getDeclaratie(declaratieUid: string): Promise {\r\n let url_ = this.baseUrl + \"/Beheer/Declaratie/Weergeven/{declaratieUid}\";\r\n if (declaratieUid === undefined || declaratieUid === null)\r\n throw new Error(\"The parameter 'declaratieUid' must be defined.\");\r\n url_ = url_.replace(\"{declaratieUid}\", encodeURIComponent(\"\" + declaratieUid));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processGetDeclaratie(_response);\r\n });\r\n }\r\n\r\n protected processGetDeclaratie(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as WeergevenDeclaratieViewModel;\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n trekDeclaratieIn(declaratieUid: string): Promise {\r\n let url_ = this.baseUrl + \"/Beheer/Declaratie/Intrekken/{declaratieUid}\";\r\n if (declaratieUid === undefined || declaratieUid === null)\r\n throw new Error(\"The parameter 'declaratieUid' must be defined.\");\r\n url_ = url_.replace(\"{declaratieUid}\", encodeURIComponent(\"\" + declaratieUid));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"POST\",\r\n headers: {\r\n \"Accept\": \"application/octet-stream\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processTrekDeclaratieIn(_response);\r\n });\r\n }\r\n\r\n protected processTrekDeclaratieIn(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n getIsGedeclareerdOpZorgovereenkomstMetPeriode(jaar: number, maand: Maand, zorgovereenkomstUid: string): Promise {\r\n let url_ = this.baseUrl + \"/Beheer/Declaratie/IsGedeclareerdOpZorgovereenkomstMetPeriode/{jaar}/{maand}/{zorgovereenkomstUid}\";\r\n if (jaar === undefined || jaar === null)\r\n throw new Error(\"The parameter 'jaar' must be defined.\");\r\n url_ = url_.replace(\"{jaar}\", encodeURIComponent(\"\" + jaar));\r\n if (maand === undefined || maand === null)\r\n throw new Error(\"The parameter 'maand' must be defined.\");\r\n url_ = url_.replace(\"{maand}\", encodeURIComponent(\"\" + maand));\r\n if (zorgovereenkomstUid === undefined || zorgovereenkomstUid === null)\r\n throw new Error(\"The parameter 'zorgovereenkomstUid' must be defined.\");\r\n url_ = url_.replace(\"{zorgovereenkomstUid}\", encodeURIComponent(\"\" + zorgovereenkomstUid));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n headers: {\r\n \"Accept\": \"application/octet-stream\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processGetIsGedeclareerdOpZorgovereenkomstMetPeriode(_response);\r\n });\r\n }\r\n\r\n protected processGetIsGedeclareerdOpZorgovereenkomstMetPeriode(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n getIsEenUitOverlijdenBghUitAlgemeneMiddelenFeatureToggleEnabled(): Promise {\r\n let url_ = this.baseUrl + \"/Beheer/Declaratie/IsEenmaligeUitkeringOverlijdenBghUitAlgemeneMiddelenFeatureToggleEnabled\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processGetIsEenUitOverlijdenBghUitAlgemeneMiddelenFeatureToggleEnabled(_response);\r\n });\r\n }\r\n\r\n protected processGetIsEenUitOverlijdenBghUitAlgemeneMiddelenFeatureToggleEnabled(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as boolean;\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n getWerkgeverslasten(declaratieWerkgeverlastenViewModel: DeclaratieWerkgeverlastenViewModel | null | undefined): Promise {\r\n let url_ = this.baseUrl + \"/Beheer/Declaratie/Werkgeverslasten/ZiekengeldOverPeriode\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(declaratieWerkgeverlastenViewModel);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processGetWerkgeverslasten(_response);\r\n });\r\n }\r\n\r\n protected processGetWerkgeverslasten(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as WerkgeverslastenViewModel;\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n getMaandlonenInPeriode(zorgverlenerBudgethouderEnPeriodeModel: ZorgverlenerBudgethouderEnPeriodeModel | null | undefined): Promise {\r\n let url_ = this.baseUrl + \"/Beheer/Declaratie/MaandlonenInPeriode\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(zorgverlenerBudgethouderEnPeriodeModel);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processGetMaandlonenInPeriode(_response);\r\n });\r\n }\r\n\r\n protected processGetMaandlonenInPeriode(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as OverzichtDeclaratieViewModel[];\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n intrekkenMaandlonen(intrekkenMaandlonenViewModel: IntrekkenMaandlonenViewModel | null | undefined): Promise {\r\n let url_ = this.baseUrl + \"/Beheer/Declaratie/IntrekkenMaandlonen\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(intrekkenMaandlonenViewModel);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processIntrekkenMaandlonen(_response);\r\n });\r\n }\r\n\r\n protected processIntrekkenMaandlonen(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as OverzichtDeclaratieViewModel[];\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class BeheerDeclaratieKassabonClient extends AuthorizedApiBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"/api\";\r\n }\r\n\r\n getByDeclaratieUid(declaratieUid: string): Promise {\r\n let url_ = this.baseUrl + \"/Beheer/DeclaratieKassabon/{declaratieUid}\";\r\n if (declaratieUid === undefined || declaratieUid === null)\r\n throw new Error(\"The parameter 'declaratieUid' must be defined.\");\r\n url_ = url_.replace(\"{declaratieUid}\", encodeURIComponent(\"\" + declaratieUid));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processGetByDeclaratieUid(_response);\r\n });\r\n }\r\n\r\n protected processGetByDeclaratieUid(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as DeclaratieKassabonViewModel;\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class BeheerDeclaratieOpschortingClient extends AuthorizedApiBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"/api\";\r\n }\r\n\r\n getOpgeschorteDeclaratiesByOpschortingUid(opschortingUid: string): Promise {\r\n let url_ = this.baseUrl + \"/Beheer/DeclaratieOpschorting/GetByOpschortingUid/{opschortingUid}\";\r\n if (opschortingUid === undefined || opschortingUid === null)\r\n throw new Error(\"The parameter 'opschortingUid' must be defined.\");\r\n url_ = url_.replace(\"{opschortingUid}\", encodeURIComponent(\"\" + opschortingUid));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processGetOpgeschorteDeclaratiesByOpschortingUid(_response);\r\n });\r\n }\r\n\r\n protected processGetOpgeschorteDeclaratiesByOpschortingUid(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as OverzichtOpgeschorteDeclaratieViewModel[];\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n vrijgevenDeclaratieOpschorting(opschortingUid: string, declaratieUid: string): Promise {\r\n let url_ = this.baseUrl + \"/Beheer/DeclaratieOpschorting/Vrijgeven/{opschortingUid}/{declaratieUid}\";\r\n if (opschortingUid === undefined || opschortingUid === null)\r\n throw new Error(\"The parameter 'opschortingUid' must be defined.\");\r\n url_ = url_.replace(\"{opschortingUid}\", encodeURIComponent(\"\" + opschortingUid));\r\n if (declaratieUid === undefined || declaratieUid === null)\r\n throw new Error(\"The parameter 'declaratieUid' must be defined.\");\r\n url_ = url_.replace(\"{declaratieUid}\", encodeURIComponent(\"\" + declaratieUid));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"POST\",\r\n headers: {\r\n \"Accept\": \"application/octet-stream\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processVrijgevenDeclaratieOpschorting(_response);\r\n });\r\n }\r\n\r\n protected processVrijgevenDeclaratieOpschorting(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n afwijzenDeclaratieOpschorting(opschortingUid: string, declaratieUid: string): Promise {\r\n let url_ = this.baseUrl + \"/Beheer/DeclaratieOpschorting/Afwijzen/{opschortingUid}/{declaratieUid}\";\r\n if (opschortingUid === undefined || opschortingUid === null)\r\n throw new Error(\"The parameter 'opschortingUid' must be defined.\");\r\n url_ = url_.replace(\"{opschortingUid}\", encodeURIComponent(\"\" + opschortingUid));\r\n if (declaratieUid === undefined || declaratieUid === null)\r\n throw new Error(\"The parameter 'declaratieUid' must be defined.\");\r\n url_ = url_.replace(\"{declaratieUid}\", encodeURIComponent(\"\" + declaratieUid));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"POST\",\r\n headers: {\r\n \"Accept\": \"application/octet-stream\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processAfwijzenDeclaratieOpschorting(_response);\r\n });\r\n }\r\n\r\n protected processAfwijzenDeclaratieOpschorting(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class BeheerOpschortingClient extends AuthorizedApiBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"/api\";\r\n }\r\n\r\n aanmaken(viewModel: OpschortenBetalingViewModel | null | undefined): Promise {\r\n let url_ = this.baseUrl + \"/Beheer/Opschorting/Aanmaken\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(viewModel);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/octet-stream\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processAanmaken(_response);\r\n });\r\n }\r\n\r\n protected processAanmaken(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n getOpschortingDetailsForRelatie(relatieUid: string | undefined, relatieType: RelatieType | undefined): Promise {\r\n let url_ = this.baseUrl + \"/Beheer/Opschorting/GetOpschortingDetailsForRelatie?\";\r\n if (relatieUid === null)\r\n throw new Error(\"The parameter 'relatieUid' cannot be null.\");\r\n else if (relatieUid !== undefined)\r\n url_ += \"relatieUid=\" + encodeURIComponent(\"\" + relatieUid) + \"&\";\r\n if (relatieType === null)\r\n throw new Error(\"The parameter 'relatieType' cannot be null.\");\r\n else if (relatieType !== undefined)\r\n url_ += \"relatieType=\" + encodeURIComponent(\"\" + relatieType) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processGetOpschortingDetailsForRelatie(_response);\r\n });\r\n }\r\n\r\n protected processGetOpschortingDetailsForRelatie(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as WeergevenOpschortenBetalingViewModel;\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class BeheerOpschortingTagClient extends AuthorizedApiBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"/api\";\r\n }\r\n\r\n heeftRelatieActieveOpschorting(relatieUid: string | undefined, relatieType: RelatieType | undefined): Promise {\r\n let url_ = this.baseUrl + \"/Beheer/OpschortingTag/HeeftRelatieActieveOpschorting?\";\r\n if (relatieUid === null)\r\n throw new Error(\"The parameter 'relatieUid' cannot be null.\");\r\n else if (relatieUid !== undefined)\r\n url_ += \"relatieUid=\" + encodeURIComponent(\"\" + relatieUid) + \"&\";\r\n if (relatieType === null)\r\n throw new Error(\"The parameter 'relatieType' cannot be null.\");\r\n else if (relatieType !== undefined)\r\n url_ += \"relatieType=\" + encodeURIComponent(\"\" + relatieType) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processHeeftRelatieActieveOpschorting(_response);\r\n });\r\n }\r\n\r\n protected processHeeftRelatieActieveOpschorting(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as OpschortingTagViewModel;\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class BeheerOpschortingValiderenClient extends AuthorizedApiBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"/api\";\r\n }\r\n\r\n validateAanmakenFull(viewModel: OpschortenBetalingViewModel | null | undefined): Promise {\r\n let url_ = this.baseUrl + \"/Beheer/Opschorting/ValidateAanmakenFull\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(viewModel);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processValidateAanmakenFull(_response);\r\n });\r\n }\r\n\r\n protected processValidateAanmakenFull(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as ValidationErrorViewModel[];\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n validateAanmakenPartial(viewModel: OpschortenBetalingViewModel | null | undefined): Promise {\r\n let url_ = this.baseUrl + \"/Beheer/Opschorting/ValidateAanmakenPartial\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(viewModel);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processValidateAanmakenPartial(_response);\r\n });\r\n }\r\n\r\n protected processValidateAanmakenPartial(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as ValidationErrorViewModel[];\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class BeheerPdfGeneratorClient extends AuthorizedApiBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"/api\";\r\n }\r\n\r\n genereerZokOpId(id: string): Promise {\r\n let url_ = this.baseUrl + \"/Beheer/pdf/zorgovereenkomst/{id}\";\r\n if (id === undefined || id === null)\r\n throw new Error(\"The parameter 'id' must be defined.\");\r\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processGenereerZokOpId(_response);\r\n });\r\n }\r\n\r\n protected processGenereerZokOpId(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as DownloadFile;\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class BeheerToekenningsbeschikkingClient extends AuthorizedApiBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"/api\";\r\n }\r\n\r\n beheerGetById(id: string): Promise {\r\n let url_ = this.baseUrl + \"/Beheer/Toekenningsbeschikking/{id}\";\r\n if (id === undefined || id === null)\r\n throw new Error(\"The parameter 'id' must be defined.\");\r\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processBeheerGetById(_response);\r\n });\r\n }\r\n\r\n protected processBeheerGetById(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as ToekenningsbeschikkingViewModel;\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n beheerGetByYearAndBudgetholder(jaar: number, budgethouder: string): Promise {\r\n let url_ = this.baseUrl + \"/Beheer/Toekenningsbeschikking/Jaar/{jaar}/budgethouder/{budgethouder}\";\r\n if (jaar === undefined || jaar === null)\r\n throw new Error(\"The parameter 'jaar' must be defined.\");\r\n url_ = url_.replace(\"{jaar}\", encodeURIComponent(\"\" + jaar));\r\n if (budgethouder === undefined || budgethouder === null)\r\n throw new Error(\"The parameter 'budgethouder' must be defined.\");\r\n url_ = url_.replace(\"{budgethouder}\", encodeURIComponent(\"\" + budgethouder));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processBeheerGetByYearAndBudgetholder(_response);\r\n });\r\n }\r\n\r\n protected processBeheerGetByYearAndBudgetholder(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as ToekenningsbeschikkingViewModel[];\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n getByVerstrekker(): Promise {\r\n let url_ = this.baseUrl + \"/Beheer/Toekenningsbeschikking/Recent\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processGetByVerstrekker(_response);\r\n });\r\n }\r\n\r\n protected processGetByVerstrekker(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as ToekenningsbeschikkingViewModel[];\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n getOverviewByYearAndBudgetholder(jaar: number, budgethouder: string): Promise {\r\n let url_ = this.baseUrl + \"/Beheer/Toekenningsbeschikking/Overview/Jaar/{jaar}/budgethouder/{budgethouder}\";\r\n if (jaar === undefined || jaar === null)\r\n throw new Error(\"The parameter 'jaar' must be defined.\");\r\n url_ = url_.replace(\"{jaar}\", encodeURIComponent(\"\" + jaar));\r\n if (budgethouder === undefined || budgethouder === null)\r\n throw new Error(\"The parameter 'budgethouder' must be defined.\");\r\n url_ = url_.replace(\"{budgethouder}\", encodeURIComponent(\"\" + budgethouder));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processGetOverviewByYearAndBudgetholder(_response);\r\n });\r\n }\r\n\r\n protected processGetOverviewByYearAndBudgetholder(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as ToekenningsbeschikkingOverviewListItemViewModel[];\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n getGeldigeNietAfgeslotenDeclaratieToekenningsbeschikkingen(budgethouderUid: string, jaar: number, maand: number): Promise {\r\n let url_ = this.baseUrl + \"/Beheer/Toekenningsbeschikking/Valid/budgethouder/{budgethouderUid}/jaar/{jaar}/maand/{maand}\";\r\n if (budgethouderUid === undefined || budgethouderUid === null)\r\n throw new Error(\"The parameter 'budgethouderUid' must be defined.\");\r\n url_ = url_.replace(\"{budgethouderUid}\", encodeURIComponent(\"\" + budgethouderUid));\r\n if (jaar === undefined || jaar === null)\r\n throw new Error(\"The parameter 'jaar' must be defined.\");\r\n url_ = url_.replace(\"{jaar}\", encodeURIComponent(\"\" + jaar));\r\n if (maand === undefined || maand === null)\r\n throw new Error(\"The parameter 'maand' must be defined.\");\r\n url_ = url_.replace(\"{maand}\", encodeURIComponent(\"\" + maand));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processGetGeldigeNietAfgeslotenDeclaratieToekenningsbeschikkingen(_response);\r\n });\r\n }\r\n\r\n protected processGetGeldigeNietAfgeslotenDeclaratieToekenningsbeschikkingen(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as BeschikbareDeclaratieToekenningsbeschikkingenViewModel;\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n heropenToekenningsbeschikking(toekenningsbeschikkingUid: string | undefined): Promise {\r\n let url_ = this.baseUrl + \"/Beheer/Toekenningsbeschikking/Heropen\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(toekenningsbeschikkingUid);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/octet-stream\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processHeropenToekenningsbeschikking(_response);\r\n });\r\n }\r\n\r\n protected processHeropenToekenningsbeschikking(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n beeindigBudget(beeindigBudgetModel: BeeindigBudgetModel | null | undefined): Promise {\r\n let url_ = this.baseUrl + \"/Beheer/Toekenningsbeschikking/BeeindigBudget\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(beeindigBudgetModel);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/octet-stream\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processBeeindigBudget(_response);\r\n });\r\n }\r\n\r\n protected processBeeindigBudget(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class BeheerVertegenwoordigerClient extends AuthorizedApiBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"/api\";\r\n }\r\n\r\n zoekRelaties(model: ZoekVertegenwoordigerCriteriaViewModel | null | undefined): Promise {\r\n let url_ = this.baseUrl + \"/Beheer/Vertegenwoordiger/ZoekRelaties\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(model);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processZoekRelaties(_response);\r\n });\r\n }\r\n\r\n protected processZoekRelaties(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as ZoekRelatiesViewModel2;\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n getByVertegenwoordigerAndYear(jaar: number, uid: string): Promise {\r\n let url_ = this.baseUrl + \"/Beheer/Vertegenwoordiger/{uid}/toekenningsbeschikking/Jaar/{jaar}\";\r\n if (jaar === undefined || jaar === null)\r\n throw new Error(\"The parameter 'jaar' must be defined.\");\r\n url_ = url_.replace(\"{jaar}\", encodeURIComponent(\"\" + jaar));\r\n if (uid === undefined || uid === null)\r\n throw new Error(\"The parameter 'uid' must be defined.\");\r\n url_ = url_.replace(\"{uid}\", encodeURIComponent(\"\" + uid));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processGetByVertegenwoordigerAndYear(_response);\r\n });\r\n }\r\n\r\n protected processGetByVertegenwoordigerAndYear(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as VertegenwoordigerToekenningsbeschikkingViewmodel[];\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n getInactiveByVertegenwoordigerAndYear(jaar: number, uid: string): Promise {\r\n let url_ = this.baseUrl + \"/Beheer/Vertegenwoordiger/{uid}/toekenningsbeschikking/Jaar/{jaar}/inactive\";\r\n if (jaar === undefined || jaar === null)\r\n throw new Error(\"The parameter 'jaar' must be defined.\");\r\n url_ = url_.replace(\"{jaar}\", encodeURIComponent(\"\" + jaar));\r\n if (uid === undefined || uid === null)\r\n throw new Error(\"The parameter 'uid' must be defined.\");\r\n url_ = url_.replace(\"{uid}\", encodeURIComponent(\"\" + uid));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processGetInactiveByVertegenwoordigerAndYear(_response);\r\n });\r\n }\r\n\r\n protected processGetInactiveByVertegenwoordigerAndYear(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as VertegenwoordigerToekenningsbeschikkingViewmodel[];\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class BeheerVervangingszorgovereenkomstConceptClient extends AuthorizedApiBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"/api\";\r\n }\r\n\r\n getWeergaveConceptById(id: string): Promise {\r\n let url_ = this.baseUrl + \"/Beheer/VervangingszorgovereenkomstConcept/Weergeven/Concept/{id}\";\r\n if (id === undefined || id === null)\r\n throw new Error(\"The parameter 'id' must be defined.\");\r\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processGetWeergaveConceptById(_response);\r\n });\r\n }\r\n\r\n protected processGetWeergaveConceptById(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as WeergaveZorgovereenkomstViewModel;\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class BeheerWerkvoorraadClient extends AuthorizedApiBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"/api\";\r\n }\r\n\r\n zoekWerktaken(werktaakType: WerktaakType | null | undefined, werktaakZoekType: WerktaakZoekType | undefined, medewerkerUid: string | null | undefined, verstrekkerUid: string | null | undefined): Promise {\r\n let url_ = this.baseUrl + \"/Beheer/Werkvoorraad/Zoeken?\";\r\n if (werktaakType !== undefined && werktaakType !== null)\r\n url_ += \"werktaakType=\" + encodeURIComponent(\"\" + werktaakType) + \"&\";\r\n if (werktaakZoekType === null)\r\n throw new Error(\"The parameter 'werktaakZoekType' cannot be null.\");\r\n else if (werktaakZoekType !== undefined)\r\n url_ += \"werktaakZoekType=\" + encodeURIComponent(\"\" + werktaakZoekType) + \"&\";\r\n if (medewerkerUid !== undefined && medewerkerUid !== null)\r\n url_ += \"medewerkerUid=\" + encodeURIComponent(\"\" + medewerkerUid) + \"&\";\r\n if (verstrekkerUid !== undefined && verstrekkerUid !== null)\r\n url_ += \"verstrekkerUid=\" + encodeURIComponent(\"\" + verstrekkerUid) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processZoekWerktaken(_response);\r\n });\r\n }\r\n\r\n protected processZoekWerktaken(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as WerktaakSelecteerViewModel[];\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n zoekAfgehandeldeWerktaken(werktaakType: WerktaakType | null | undefined, medewerkerUid: string | undefined): Promise {\r\n let url_ = this.baseUrl + \"/Beheer/Werkvoorraad/ZoekAfgehandeldeWerktaak?\";\r\n if (werktaakType !== undefined && werktaakType !== null)\r\n url_ += \"werktaakType=\" + encodeURIComponent(\"\" + werktaakType) + \"&\";\r\n if (medewerkerUid === null)\r\n throw new Error(\"The parameter 'medewerkerUid' cannot be null.\");\r\n else if (medewerkerUid !== undefined)\r\n url_ += \"medewerkerUid=\" + encodeURIComponent(\"\" + medewerkerUid) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processZoekAfgehandeldeWerktaken(_response);\r\n });\r\n }\r\n\r\n protected processZoekAfgehandeldeWerktaken(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as AfgehandeldeWerktaakModel[];\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n getWerktaakTypeMetAantal(): Promise {\r\n let url_ = this.baseUrl + \"/Beheer/Werkvoorraad/WerktaakTypesMetAantal\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"POST\",\r\n headers: {\r\n \"Accept\": \"application/octet-stream\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processGetWerktaakTypeMetAantal(_response);\r\n });\r\n }\r\n\r\n protected processGetWerktaakTypeMetAantal(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n getWerktaakTypeMetAantalVoorZorgkantoormedewerker(request: GetWerkvoorraadAantalOpenstaandeWerktakenRequest | null | undefined): Promise {\r\n let url_ = this.baseUrl + \"/Werkvoorraad/WerktaakTypesMetAantalVoorZorgkantoormedewerker\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(request);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processGetWerktaakTypeMetAantalVoorZorgkantoormedewerker(_response);\r\n });\r\n }\r\n\r\n protected processGetWerktaakTypeMetAantalVoorZorgkantoormedewerker(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as WerktaaktypeMetAantalViewModel[];\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n getById(id: string): Promise {\r\n let url_ = this.baseUrl + \"/Beheer/Werkvoorraad/{id}\";\r\n if (id === undefined || id === null)\r\n throw new Error(\"The parameter 'id' must be defined.\");\r\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processGetById(_response);\r\n });\r\n }\r\n\r\n protected processGetById(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as WerktaakWeergaveViewModel;\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n claimById(id: string, claimTaak: boolean): Promise {\r\n let url_ = this.baseUrl + \"/Werkvoorraad/{id}/claim/{claimTaak}\";\r\n if (id === undefined || id === null)\r\n throw new Error(\"The parameter 'id' must be defined.\");\r\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\r\n if (claimTaak === undefined || claimTaak === null)\r\n throw new Error(\"The parameter 'claimTaak' must be defined.\");\r\n url_ = url_.replace(\"{claimTaak}\", encodeURIComponent(\"\" + claimTaak));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processClaimById(_response);\r\n });\r\n }\r\n\r\n protected processClaimById(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as WerktaakWeergaveViewModel;\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n getNextWerktaakByWerktaakType(werktaakType: WerktaakType): Promise {\r\n let url_ = this.baseUrl + \"/Beheer/Werkvoorraad/GetVolgendeUnclaimedWerktaak/{werktaakType}\";\r\n if (werktaakType === undefined || werktaakType === null)\r\n throw new Error(\"The parameter 'werktaakType' must be defined.\");\r\n url_ = url_.replace(\"{werktaakType}\", encodeURIComponent(\"\" + werktaakType));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processGetNextWerktaakByWerktaakType(_response);\r\n });\r\n }\r\n\r\n protected processGetNextWerktaakByWerktaakType(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as string;\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n claimWerktaak(id: string): Promise {\r\n let url_ = this.baseUrl + \"/Werkvoorraad/{id}/claim\";\r\n if (id === undefined || id === null)\r\n throw new Error(\"The parameter 'id' must be defined.\");\r\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"POST\",\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processClaimWerktaak(_response);\r\n });\r\n }\r\n\r\n protected processClaimWerktaak(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as TaakClaimResultaat;\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n herindexeer(id: string): Promise {\r\n let url_ = this.baseUrl + \"/Werkvoorraad/Herindexeer/{id}\";\r\n if (id === undefined || id === null)\r\n throw new Error(\"The parameter 'id' must be defined.\");\r\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"POST\",\r\n headers: {\r\n \"Accept\": \"application/octet-stream\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processHerindexeer(_response);\r\n });\r\n }\r\n\r\n protected processHerindexeer(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n verwijder(id: string): Promise {\r\n let url_ = this.baseUrl + \"/Werkvoorraad/Verwijder/{id}\";\r\n if (id === undefined || id === null)\r\n throw new Error(\"The parameter 'id' must be defined.\");\r\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"POST\",\r\n headers: {\r\n \"Accept\": \"application/octet-stream\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processVerwijder(_response);\r\n });\r\n }\r\n\r\n protected processVerwijder(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n release(id: string): Promise {\r\n let url_ = this.baseUrl + \"/Werkvoorraad/{id}/vrijgeven\";\r\n if (id === undefined || id === null)\r\n throw new Error(\"The parameter 'id' must be defined.\");\r\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"POST\",\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processRelease(_response);\r\n });\r\n }\r\n\r\n protected processRelease(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as TaakVrijgevingResultaat;\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n gereedmeldenWerktaak(id: string): Promise {\r\n let url_ = this.baseUrl + \"/Werkvoorraad/{id}/gereed\";\r\n if (id === undefined || id === null)\r\n throw new Error(\"The parameter 'id' must be defined.\");\r\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"POST\",\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processGereedmeldenWerktaak(_response);\r\n });\r\n }\r\n\r\n protected processGereedmeldenWerktaak(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as TaakGereedResultaat;\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n claimVolgende(klaarVolgendeTaakViewModel: KlaarVolgendeTaakViewModel | null | undefined): Promise {\r\n let url_ = this.baseUrl + \"/Werkvoorraad/KlaarVolgendeTaak\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(klaarVolgendeTaakViewModel);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processClaimVolgende(_response);\r\n });\r\n }\r\n\r\n protected processClaimVolgende(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as string;\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n opslaan(viewModel: TussentijdsOpslaanViewModel | null | undefined): Promise {\r\n let url_ = this.baseUrl + \"/Werkvoorraad/Opslaan\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(viewModel);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processOpslaan(_response);\r\n });\r\n }\r\n\r\n protected processOpslaan(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as TussentijdsOpslaanResultaat;\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n voegNotitieToeAanWerktaak(notitieToevoegenViewModel: NotitieToevoegenViewModel | null | undefined): Promise {\r\n let url_ = this.baseUrl + \"/Werkvoorraad/NotitieToevoegen\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(notitieToevoegenViewModel);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processVoegNotitieToeAanWerktaak(_response);\r\n });\r\n }\r\n\r\n protected processVoegNotitieToeAanWerktaak(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as WerktaakNotitie;\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n getWerkvoorraadUserOnAchternaam(viewModel: GetWerkvoorraadGebruikerViewModel | null | undefined): Promise {\r\n let url_ = this.baseUrl + \"/Werkvoorraad/GetWerkvoorraadGebruikers\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(viewModel);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processGetWerkvoorraadUserOnAchternaam(_response);\r\n });\r\n }\r\n\r\n protected processGetWerkvoorraadUserOnAchternaam(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as WerkvoorraadGebruikerViewModel[];\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n getWerkvoorraadUserOnUid(uid: string): Promise {\r\n let url_ = this.baseUrl + \"/Beheer/Werkvoorraad/GetWerkvoorraadGebruiker/{uid}\";\r\n if (uid === undefined || uid === null)\r\n throw new Error(\"The parameter 'uid' must be defined.\");\r\n url_ = url_.replace(\"{uid}\", encodeURIComponent(\"\" + uid));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processGetWerkvoorraadUserOnUid(_response);\r\n });\r\n }\r\n\r\n protected processGetWerkvoorraadUserOnUid(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as WerkvoorraadGebruikerViewModel;\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n getWerktakenByIndex(uid: string): Promise {\r\n let url_ = this.baseUrl + \"/Werkvoorraad/GetWerktakenByIndex/{uid}\";\r\n if (uid === undefined || uid === null)\r\n throw new Error(\"The parameter 'uid' must be defined.\");\r\n url_ = url_.replace(\"{uid}\", encodeURIComponent(\"\" + uid));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processGetWerktakenByIndex(_response);\r\n });\r\n }\r\n\r\n protected processGetWerktakenByIndex(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as WerktaakSelecteerViewModel[];\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n getAfgehandeldeWerktakenByIndex(uid: string): Promise {\r\n let url_ = this.baseUrl + \"/Werkvoorraad/GetAfgehandeldeWerktakenByIndex/{uid}\";\r\n if (uid === undefined || uid === null)\r\n throw new Error(\"The parameter 'uid' must be defined.\");\r\n url_ = url_.replace(\"{uid}\", encodeURIComponent(\"\" + uid));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processGetAfgehandeldeWerktakenByIndex(_response);\r\n });\r\n }\r\n\r\n protected processGetAfgehandeldeWerktakenByIndex(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as AfgehandeldeWerktaakModel[];\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n stuurWerktaakDoorNaar(werktaakDoorsturen: WerktaakDoorsturenViewModel | null | undefined): Promise {\r\n let url_ = this.baseUrl + \"/Werkvoorraad/StuurWerktaakDoorNaar\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(werktaakDoorsturen);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processStuurWerktaakDoorNaar(_response);\r\n });\r\n }\r\n\r\n protected processStuurWerktaakDoorNaar(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as TaakOpslagResultaat;\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n zetWerktaakInDeWacht(werktaakInDeWacht: WerktaakInDeWachtViewModel | null | undefined): Promise {\r\n let url_ = this.baseUrl + \"/Werkvoorraad/ZetWerktaakInDeWacht\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(werktaakInDeWacht);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processZetWerktaakInDeWacht(_response);\r\n });\r\n }\r\n\r\n protected processZetWerktaakInDeWacht(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as TaakOpslagResultaat;\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class BeheerZorgovereenkomstClient extends AuthorizedApiBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"/api\";\r\n }\r\n\r\n getById(id: string): Promise {\r\n let url_ = this.baseUrl + \"/Beheer/Zorgovereenkomst/{id}\";\r\n if (id === undefined || id === null)\r\n throw new Error(\"The parameter 'id' must be defined.\");\r\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processGetById(_response);\r\n });\r\n }\r\n\r\n protected processGetById(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as WeergevenZorgovereenkomstViewModel;\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n getZorgovereenkomstenVoorPapierenWijzigingByBudgethouder(budgethouderId: string): Promise {\r\n let url_ = this.baseUrl + \"/Beheer/Zorgovereenkomst/getZorgovereenkomstenVoorPapierenWijzigingByBudgethouder/BudgethouderId/{budgethouderId}\";\r\n if (budgethouderId === undefined || budgethouderId === null)\r\n throw new Error(\"The parameter 'budgethouderId' must be defined.\");\r\n url_ = url_.replace(\"{budgethouderId}\", encodeURIComponent(\"\" + budgethouderId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processGetZorgovereenkomstenVoorPapierenWijzigingByBudgethouder(_response);\r\n });\r\n }\r\n\r\n protected processGetZorgovereenkomstenVoorPapierenWijzigingByBudgethouder(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as ZorgovereenkomstInfoLightViewModel[];\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n getByJaarAndBudgethouderAndZorgverlener(jaar: number | null | undefined, budgethouderId: string | null | undefined, zorgverlenerId: string | null | undefined): Promise {\r\n let url_ = this.baseUrl + \"/Beheer/Zorgovereenkomst?\";\r\n if (jaar !== undefined && jaar !== null)\r\n url_ += \"jaar=\" + encodeURIComponent(\"\" + jaar) + \"&\";\r\n if (budgethouderId !== undefined && budgethouderId !== null)\r\n url_ += \"budgethouderId=\" + encodeURIComponent(\"\" + budgethouderId) + \"&\";\r\n if (zorgverlenerId !== undefined && zorgverlenerId !== null)\r\n url_ += \"zorgverlenerId=\" + encodeURIComponent(\"\" + zorgverlenerId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processGetByJaarAndBudgethouderAndZorgverlener(_response);\r\n });\r\n }\r\n\r\n protected processGetByJaarAndBudgethouderAndZorgverlener(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as ZorgovereenkomstSelecteerViewModel[];\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n keurAlsnogGoed(alsnogGoedkeurenViewModel: AlsnogGoedkeurenViewModel | null | undefined): Promise {\r\n let url_ = this.baseUrl + \"/Beheer/Zorgovereenkomst/KeurAlsnogGoed\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(alsnogGoedkeurenViewModel);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processKeurAlsnogGoed(_response);\r\n });\r\n }\r\n\r\n protected processKeurAlsnogGoed(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 204) {\r\n return response.text().then((_responseText) => {\r\n return;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n intrekken(intrekkenViewModel: IntrekkenViewModel | null | undefined): Promise {\r\n let url_ = this.baseUrl + \"/Beheer/Zorgovereenkomst/Intrekken\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(intrekkenViewModel);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processIntrekken(_response);\r\n });\r\n }\r\n\r\n protected processIntrekken(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 204) {\r\n return response.text().then((_responseText) => {\r\n return;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n geefWerkafsprakenMetDatumLaatsteDeclaratie(zorgovereenkomstuid: string): Promise {\r\n let url_ = this.baseUrl + \"/Beheer/Zorgovereenkomst/WerkafsprakenMetDatumLaatsteDeclaratie/{zorgovereenkomstuid}\";\r\n if (zorgovereenkomstuid === undefined || zorgovereenkomstuid === null)\r\n throw new Error(\"The parameter 'zorgovereenkomstuid' must be defined.\");\r\n url_ = url_.replace(\"{zorgovereenkomstuid}\", encodeURIComponent(\"\" + zorgovereenkomstuid));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processGeefWerkafsprakenMetDatumLaatsteDeclaratie(_response);\r\n });\r\n }\r\n\r\n protected processGeefWerkafsprakenMetDatumLaatsteDeclaratie(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as WerkafspraakMetDatumLaatsteDeclaratieViewModel[];\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n getMinimumloon(): Promise {\r\n let url_ = this.baseUrl + \"/Beheer/Zorgovereenkomst/Minimumloon\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processGetMinimumloon(_response);\r\n });\r\n }\r\n\r\n protected processGetMinimumloon(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as MinimumloonViewModel[];\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n valideerLooptijdZorgovereenkomstVoorZorgverlener(model: ValideerLooptijdZorgovereenkomstViewModel | null | undefined): Promise {\r\n let url_ = this.baseUrl + \"/Beheer/Zorgovereenkomst/ValideerLooptijd\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(model);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processValideerLooptijdZorgovereenkomstVoorZorgverlener(_response);\r\n });\r\n }\r\n\r\n protected processValideerLooptijdZorgovereenkomstVoorZorgverlener(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as ValidatedViewModel;\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n getRegimeWijziging(request: GetRegimeWijzigingRequestModel | null | undefined): Promise {\r\n let url_ = this.baseUrl + \"/Beheer/Zorgovereenkomst/GetRegimeWijziging\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(request);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processGetRegimeWijziging(_response);\r\n });\r\n }\r\n\r\n protected processGetRegimeWijziging(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as ZorgovereenkomstRegimeWijzigingViewModel;\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n getByJaarAndMaandAndBudgethouderAndZorgverlener(budgethouderUid: string, zorgverlenerUid: string, jaar: number, maand: Maand): Promise {\r\n let url_ = this.baseUrl + \"/Beheer/Zorgovereenkomst/Budgethouder/{budgethouderUid}/Zorgverlener/{zorgverlenerUid}/Jaar/{jaar}/Maand/{maand}\";\r\n if (budgethouderUid === undefined || budgethouderUid === null)\r\n throw new Error(\"The parameter 'budgethouderUid' must be defined.\");\r\n url_ = url_.replace(\"{budgethouderUid}\", encodeURIComponent(\"\" + budgethouderUid));\r\n if (zorgverlenerUid === undefined || zorgverlenerUid === null)\r\n throw new Error(\"The parameter 'zorgverlenerUid' must be defined.\");\r\n url_ = url_.replace(\"{zorgverlenerUid}\", encodeURIComponent(\"\" + zorgverlenerUid));\r\n if (jaar === undefined || jaar === null)\r\n throw new Error(\"The parameter 'jaar' must be defined.\");\r\n url_ = url_.replace(\"{jaar}\", encodeURIComponent(\"\" + jaar));\r\n if (maand === undefined || maand === null)\r\n throw new Error(\"The parameter 'maand' must be defined.\");\r\n url_ = url_.replace(\"{maand}\", encodeURIComponent(\"\" + maand));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processGetByJaarAndMaandAndBudgethouderAndZorgverlener(_response);\r\n });\r\n }\r\n\r\n protected processGetByJaarAndMaandAndBudgethouderAndZorgverlener(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as DeclaratieZorgovereenkomstViewModel;\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class BeheerZorgovereenkomstStatusbarClient extends AuthorizedApiBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"/api\";\r\n }\r\n\r\n getStatusbarByZorgovereenkomstConceptUid(zorgovereenkomstConceptUid: string): Promise {\r\n let url_ = this.baseUrl + \"/Beheer/Status/ZorgovereenkomstConcept/{zorgovereenkomstConceptUid}\";\r\n if (zorgovereenkomstConceptUid === undefined || zorgovereenkomstConceptUid === null)\r\n throw new Error(\"The parameter 'zorgovereenkomstConceptUid' must be defined.\");\r\n url_ = url_.replace(\"{zorgovereenkomstConceptUid}\", encodeURIComponent(\"\" + zorgovereenkomstConceptUid));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processGetStatusbarByZorgovereenkomstConceptUid(_response);\r\n });\r\n }\r\n\r\n protected processGetStatusbarByZorgovereenkomstConceptUid(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as StatusbarViewModel;\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class BeheerZorgovereenkomstWijzigenClient extends AuthorizedApiBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"/api\";\r\n }\r\n\r\n getConceptByIdForOverview(uid: string): Promise {\r\n let url_ = this.baseUrl + \"/Beheer/ZorgovereenkomstWijzigen/Concept/Overview/{uid}\";\r\n if (uid === undefined || uid === null)\r\n throw new Error(\"The parameter 'uid' must be defined.\");\r\n url_ = url_.replace(\"{uid}\", encodeURIComponent(\"\" + uid));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n headers: {\r\n \"Accept\": \"application/octet-stream\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processGetConceptByIdForOverview(_response);\r\n });\r\n }\r\n\r\n protected processGetConceptByIdForOverview(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n getMogelijkeIngangsdatums(uid: string): Promise {\r\n let url_ = this.baseUrl + \"/Beheer/ZorgovereenkomstWijzigen/GetMogelijkeIngangsdatums/{uid}\";\r\n if (uid === undefined || uid === null)\r\n throw new Error(\"The parameter 'uid' must be defined.\");\r\n url_ = url_.replace(\"{uid}\", encodeURIComponent(\"\" + uid));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processGetMogelijkeIngangsdatums(_response);\r\n });\r\n }\r\n\r\n protected processGetMogelijkeIngangsdatums(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as DateString[];\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n getLaatsteDatumDeclaratie(uid: string): Promise {\r\n let url_ = this.baseUrl + \"/Beheer/ZorgovereenkomstWijzigen/GetLaatsteDatumDeclaratie/{uid}\";\r\n if (uid === undefined || uid === null)\r\n throw new Error(\"The parameter 'uid' must be defined.\");\r\n url_ = url_.replace(\"{uid}\", encodeURIComponent(\"\" + uid));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processGetLaatsteDatumDeclaratie(_response);\r\n });\r\n }\r\n\r\n protected processGetLaatsteDatumDeclaratie(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as string;\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class BeheerZorgverlenerClient extends AuthorizedApiBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"/api\";\r\n }\r\n\r\n zoekRelaties(model: ZoekZorgverlenerCriteriaViewModel | null | undefined): Promise {\r\n let url_ = this.baseUrl + \"/Beheer/Zorgverlener/ZoekRelaties\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(model);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processZoekRelaties(_response);\r\n });\r\n }\r\n\r\n protected processZoekRelaties(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as ZoekRelatiesViewModel3;\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n saveZorgverlener(viewModel: ZorgverlenerViewModel | null | undefined): Promise {\r\n let url_ = this.baseUrl + \"/Beheer/Zorgverlener/ZonderAgb\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(viewModel);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processSaveZorgverlener(_response);\r\n });\r\n }\r\n\r\n protected processSaveZorgverlener(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as ZorgverlenerViewModel;\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n findZorgverlenerByBsn(bsn: string | null | undefined): Promise {\r\n let url_ = this.baseUrl + \"/Beheer/Zorgverlener/bsn\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(bsn);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/octet-stream\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processFindZorgverlenerByBsn(_response);\r\n });\r\n }\r\n\r\n protected processFindZorgverlenerByBsn(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n getGegevensFromAgbRegisterByAgbCode(agbCode: string | null): Promise {\r\n let url_ = this.baseUrl + \"/Beheer/Zorgverlener/GetGegevensFromAgbRegisterByAgbCode/{agbCode}\";\r\n if (agbCode === undefined || agbCode === null)\r\n throw new Error(\"The parameter 'agbCode' must be defined.\");\r\n url_ = url_.replace(\"{agbCode}\", encodeURIComponent(\"\" + agbCode));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processGetGegevensFromAgbRegisterByAgbCode(_response);\r\n });\r\n }\r\n\r\n protected processGetGegevensFromAgbRegisterByAgbCode(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as ZorgpartijViewModel;\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n getZorgverlenersMetGeldigeZorgovereenkomstByBudgethouderEnToekenningsbeschikking(budgethouderId: string, toekenningsbeschikkingId: string, jaar: number, maand: number): Promise {\r\n let url_ = this.baseUrl + \"/Beheer/Zorgverleners/MetGeldigeZorgovereenkomst/{budgethouderId}/Toekenningsbeschikkingen/{toekenningsbeschikkingId}/Jaar/{jaar}/Maand/{maand}\";\r\n if (budgethouderId === undefined || budgethouderId === null)\r\n throw new Error(\"The parameter 'budgethouderId' must be defined.\");\r\n url_ = url_.replace(\"{budgethouderId}\", encodeURIComponent(\"\" + budgethouderId));\r\n if (toekenningsbeschikkingId === undefined || toekenningsbeschikkingId === null)\r\n throw new Error(\"The parameter 'toekenningsbeschikkingId' must be defined.\");\r\n url_ = url_.replace(\"{toekenningsbeschikkingId}\", encodeURIComponent(\"\" + toekenningsbeschikkingId));\r\n if (jaar === undefined || jaar === null)\r\n throw new Error(\"The parameter 'jaar' must be defined.\");\r\n url_ = url_.replace(\"{jaar}\", encodeURIComponent(\"\" + jaar));\r\n if (maand === undefined || maand === null)\r\n throw new Error(\"The parameter 'maand' must be defined.\");\r\n url_ = url_.replace(\"{maand}\", encodeURIComponent(\"\" + maand));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processGetZorgverlenersMetGeldigeZorgovereenkomstByBudgethouderEnToekenningsbeschikking(_response);\r\n });\r\n }\r\n\r\n protected processGetZorgverlenersMetGeldigeZorgovereenkomstByBudgethouderEnToekenningsbeschikking(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as SelectieZorgverlenerViewModel[];\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n getZorgverlenersMetGoedgekeurdeIngetrokkenOfOngeldigeZorgovereenkomstByBudgethouder(budgethouderId: string): Promise {\r\n let url_ = this.baseUrl + \"/Beheer/Zorgverleners/MetGoedgekeurdeIngetrokkenOfOngeldigeZorgovereenkomst/{budgethouderId}\";\r\n if (budgethouderId === undefined || budgethouderId === null)\r\n throw new Error(\"The parameter 'budgethouderId' must be defined.\");\r\n url_ = url_.replace(\"{budgethouderId}\", encodeURIComponent(\"\" + budgethouderId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processGetZorgverlenersMetGoedgekeurdeIngetrokkenOfOngeldigeZorgovereenkomstByBudgethouder(_response);\r\n });\r\n }\r\n\r\n protected processGetZorgverlenersMetGoedgekeurdeIngetrokkenOfOngeldigeZorgovereenkomstByBudgethouder(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as SelectieZorgverlenerViewModel[];\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class BetalenClient extends AuthorizedApiBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"/api\";\r\n }\r\n\r\n startBetalingTransactie(uid: string | null, returnRoute: string | null): Promise {\r\n let url_ = this.baseUrl + \"/Betalen/StartBetaling?\";\r\n if (uid === undefined)\r\n throw new Error(\"The parameter 'uid' must be defined.\");\r\n else if(uid !== null)\r\n url_ += \"uid=\" + encodeURIComponent(\"\" + uid) + \"&\";\r\n if (returnRoute === undefined)\r\n throw new Error(\"The parameter 'returnRoute' must be defined.\");\r\n else if(returnRoute !== null)\r\n url_ += \"returnRoute=\" + encodeURIComponent(\"\" + returnRoute) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processStartBetalingTransactie(_response);\r\n });\r\n }\r\n\r\n protected processStartBetalingTransactie(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as StartBetalingResponseViewModel;\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n confirmBetaling(transactieId: string | null): Promise {\r\n let url_ = this.baseUrl + \"/Betalen/TerugkerenNaIdealBetaling/{transactieId}\";\r\n if (transactieId === undefined || transactieId === null)\r\n throw new Error(\"The parameter 'transactieId' must be defined.\");\r\n url_ = url_.replace(\"{transactieId}\", encodeURIComponent(\"\" + transactieId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"POST\",\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processConfirmBetaling(_response);\r\n });\r\n }\r\n\r\n protected processConfirmBetaling(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as ConfirmIdealTransactieResultViewModel;\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n getBetalingskenmerk(budgethouderid: string): Promise {\r\n let url_ = this.baseUrl + \"/Betalen/Betalingskenmerk/{budgethouderid}\";\r\n if (budgethouderid === undefined || budgethouderid === null)\r\n throw new Error(\"The parameter 'budgethouderid' must be defined.\");\r\n url_ = url_.replace(\"{budgethouderid}\", encodeURIComponent(\"\" + budgethouderid));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n headers: {\r\n \"Accept\": \"application/octet-stream\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processGetBetalingskenmerk(_response);\r\n });\r\n }\r\n\r\n protected processGetBetalingskenmerk(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class BijstortingClient extends AuthorizedApiBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"/api\";\r\n }\r\n\r\n getBijstortingen(budgethouderUid: string): Promise {\r\n let url_ = this.baseUrl + \"/Bijstorting/GetBijstortingen/{budgethouderUid}\";\r\n if (budgethouderUid === undefined || budgethouderUid === null)\r\n throw new Error(\"The parameter 'budgethouderUid' must be defined.\");\r\n url_ = url_.replace(\"{budgethouderUid}\", encodeURIComponent(\"\" + budgethouderUid));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processGetBijstortingen(_response);\r\n });\r\n }\r\n\r\n protected processGetBijstortingen(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as GewensteTerugstortingOverzichtViewModel;\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n terugstorten(model: BijstortingTerugstortenViewModel | null | undefined): Promise {\r\n let url_ = this.baseUrl + \"/Bijstorting/Terugstorten\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(model);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processTerugstorten(_response);\r\n });\r\n }\r\n\r\n protected processTerugstorten(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as BijstortingTerugstortenViewModel;\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class BlokkadeClient extends AuthorizedApiBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"/api\";\r\n }\r\n\r\n getBlokkadeOverzicht(guid: string): Promise {\r\n let url_ = this.baseUrl + \"/Blokkade/GetOverzicht/{guid}\";\r\n if (guid === undefined || guid === null)\r\n throw new Error(\"The parameter 'guid' must be defined.\");\r\n url_ = url_.replace(\"{guid}\", encodeURIComponent(\"\" + guid));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n headers: {\r\n \"Accept\": \"application/octet-stream\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processGetBlokkadeOverzicht(_response);\r\n });\r\n }\r\n\r\n protected processGetBlokkadeOverzicht(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n aanmakenBlokkade(aanmakenView: AanmakenBlokkadeView | null | undefined): Promise {\r\n let url_ = this.baseUrl + \"/Blokkade/Aanmaken\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(aanmakenView);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/octet-stream\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processAanmakenBlokkade(_response);\r\n });\r\n }\r\n\r\n protected processAanmakenBlokkade(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n opheffenBlokkade(opheffenView: OpheffenBlokkadeView | null | undefined): Promise {\r\n let url_ = this.baseUrl + \"/Blokkade/Opheffen\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(opheffenView);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/octet-stream\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processOpheffenBlokkade(_response);\r\n });\r\n }\r\n\r\n protected processOpheffenBlokkade(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n isActieveBlokkadeAanwezig(guid: string): Promise {\r\n let url_ = this.baseUrl + \"/Blokkade/IsEenActieveBlokkadeAanwezig/{guid}\";\r\n if (guid === undefined || guid === null)\r\n throw new Error(\"The parameter 'guid' must be defined.\");\r\n url_ = url_.replace(\"{guid}\", encodeURIComponent(\"\" + guid));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n headers: {\r\n \"Accept\": \"application/octet-stream\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processIsActieveBlokkadeAanwezig(_response);\r\n });\r\n }\r\n\r\n protected processIsActieveBlokkadeAanwezig(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n isEenActieveBlokkadeAanwezigVoorVerstrekker(guid: string): Promise {\r\n let url_ = this.baseUrl + \"/Blokkade/IsEenActieveBlokkadeAanwezigVoorVerstrekker/{guid}\";\r\n if (guid === undefined || guid === null)\r\n throw new Error(\"The parameter 'guid' must be defined.\");\r\n url_ = url_.replace(\"{guid}\", encodeURIComponent(\"\" + guid));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n headers: {\r\n \"Accept\": \"application/octet-stream\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processIsEenActieveBlokkadeAanwezigVoorVerstrekker(_response);\r\n });\r\n }\r\n\r\n protected processIsEenActieveBlokkadeAanwezigVoorVerstrekker(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n getByUid(guid: string): Promise {\r\n let url_ = this.baseUrl + \"/Blokkade/GetByUid/{guid}\";\r\n if (guid === undefined || guid === null)\r\n throw new Error(\"The parameter 'guid' must be defined.\");\r\n url_ = url_.replace(\"{guid}\", encodeURIComponent(\"\" + guid));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n headers: {\r\n \"Accept\": \"application/octet-stream\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processGetByUid(_response);\r\n });\r\n }\r\n\r\n protected processGetByUid(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class BudgetClient extends AuthorizedApiBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"/api\";\r\n }\r\n\r\n getOvergeblevenBijstortingenByBudgethouderId(budgethouderId: string): Promise {\r\n let url_ = this.baseUrl + \"/Budget/OvergeblevenBijstortingen/{budgethouderId}\";\r\n if (budgethouderId === undefined || budgethouderId === null)\r\n throw new Error(\"The parameter 'budgethouderId' must be defined.\");\r\n url_ = url_.replace(\"{budgethouderId}\", encodeURIComponent(\"\" + budgethouderId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processGetOvergeblevenBijstortingenByBudgethouderId(_response);\r\n });\r\n }\r\n\r\n protected processGetOvergeblevenBijstortingenByBudgethouderId(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as number;\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n getJarenMetBudgetByBudgethouderId(budgethouderId: string): Promise {\r\n let url_ = this.baseUrl + \"/Budget/JarenMetBudget/{budgethouderId}\";\r\n if (budgethouderId === undefined || budgethouderId === null)\r\n throw new Error(\"The parameter 'budgethouderId' must be defined.\");\r\n url_ = url_.replace(\"{budgethouderId}\", encodeURIComponent(\"\" + budgethouderId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processGetJarenMetBudgetByBudgethouderId(_response);\r\n });\r\n }\r\n\r\n protected processGetJarenMetBudgetByBudgethouderId(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as number[];\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n getTotaalBudgetByYearAndBudgethouderId(jaar: number, budgethouderId: string): Promise {\r\n let url_ = this.baseUrl + \"/Budget/TotaalBudget/{jaar}/{budgethouderId}\";\r\n if (jaar === undefined || jaar === null)\r\n throw new Error(\"The parameter 'jaar' must be defined.\");\r\n url_ = url_.replace(\"{jaar}\", encodeURIComponent(\"\" + jaar));\r\n if (budgethouderId === undefined || budgethouderId === null)\r\n throw new Error(\"The parameter 'budgethouderId' must be defined.\");\r\n url_ = url_.replace(\"{budgethouderId}\", encodeURIComponent(\"\" + budgethouderId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processGetTotaalBudgetByYearAndBudgethouderId(_response);\r\n });\r\n }\r\n\r\n protected processGetTotaalBudgetByYearAndBudgethouderId(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as TotaalBudgetViewModel;\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n getUitbetalingenByJaarAndBudgethouderId(jaar: number, budgethouderId: string): Promise {\r\n let url_ = this.baseUrl + \"/Budget/Uitbetalingen/{jaar}/{budgethouderId}\";\r\n if (jaar === undefined || jaar === null)\r\n throw new Error(\"The parameter 'jaar' must be defined.\");\r\n url_ = url_.replace(\"{jaar}\", encodeURIComponent(\"\" + jaar));\r\n if (budgethouderId === undefined || budgethouderId === null)\r\n throw new Error(\"The parameter 'budgethouderId' must be defined.\");\r\n url_ = url_.replace(\"{budgethouderId}\", encodeURIComponent(\"\" + budgethouderId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processGetUitbetalingenByJaarAndBudgethouderId(_response);\r\n });\r\n }\r\n\r\n protected processGetUitbetalingenByJaarAndBudgethouderId(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as DeclaratieUitbetalingenViewModel;\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n getIngeplandeUitbetalingenByJaarAndBudgethouderId(jaar: number, budgethouderId: string): Promise {\r\n let url_ = this.baseUrl + \"/Budget/IngeplandeUitbetalingen/{jaar}/{budgethouderId}\";\r\n if (jaar === undefined || jaar === null)\r\n throw new Error(\"The parameter 'jaar' must be defined.\");\r\n url_ = url_.replace(\"{jaar}\", encodeURIComponent(\"\" + jaar));\r\n if (budgethouderId === undefined || budgethouderId === null)\r\n throw new Error(\"The parameter 'budgethouderId' must be defined.\");\r\n url_ = url_.replace(\"{budgethouderId}\", encodeURIComponent(\"\" + budgethouderId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processGetIngeplandeUitbetalingenByJaarAndBudgethouderId(_response);\r\n });\r\n }\r\n\r\n protected processGetIngeplandeUitbetalingenByJaarAndBudgethouderId(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as DeclaratieUitbetalingenViewModel;\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n getNietVerwerkteMaandlonenByJaarAndBudgethouderId(jaar: number, budgethouderId: string): Promise {\r\n let url_ = this.baseUrl + \"/Budget/NietVerwerkteMaandlonen/{jaar}/{budgethouderId}\";\r\n if (jaar === undefined || jaar === null)\r\n throw new Error(\"The parameter 'jaar' must be defined.\");\r\n url_ = url_.replace(\"{jaar}\", encodeURIComponent(\"\" + jaar));\r\n if (budgethouderId === undefined || budgethouderId === null)\r\n throw new Error(\"The parameter 'budgethouderId' must be defined.\");\r\n url_ = url_.replace(\"{budgethouderId}\", encodeURIComponent(\"\" + budgethouderId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processGetNietVerwerkteMaandlonenByJaarAndBudgethouderId(_response);\r\n });\r\n }\r\n\r\n protected processGetNietVerwerkteMaandlonenByJaarAndBudgethouderId(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as DeclaratieUitbetalingenViewModel;\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n getDetailBudgetOverzicht(jaar: number, budgethouderId: string): Promise {\r\n let url_ = this.baseUrl + \"/Budget/GetDetailBudgetOverzicht/{jaar}/{budgethouderId}\";\r\n if (jaar === undefined || jaar === null)\r\n throw new Error(\"The parameter 'jaar' must be defined.\");\r\n url_ = url_.replace(\"{jaar}\", encodeURIComponent(\"\" + jaar));\r\n if (budgethouderId === undefined || budgethouderId === null)\r\n throw new Error(\"The parameter 'budgethouderId' must be defined.\");\r\n url_ = url_.replace(\"{budgethouderId}\", encodeURIComponent(\"\" + budgethouderId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processGetDetailBudgetOverzicht(_response);\r\n });\r\n }\r\n\r\n protected processGetDetailBudgetOverzicht(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as BudgetuitputtingViewModel[];\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class BudgethouderClient extends AuthorizedApiBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"/api\";\r\n }\r\n\r\n findBudgethouders(zoekViewModel: GetZoekBudgethouderViewModel | null | undefined): Promise {\r\n let url_ = this.baseUrl + \"/Budgethouders/Zoeken\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(zoekViewModel);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processFindBudgethouders(_response);\r\n });\r\n }\r\n\r\n protected processFindBudgethouders(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as BudgethouderOpzoekenViewModel[];\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n getBudgethoudersByZorgverlenerUid(): Promise {\r\n let url_ = this.baseUrl + \"/Budgethouders/GetByZorgverlener\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processGetBudgethoudersByZorgverlenerUid(_response);\r\n });\r\n }\r\n\r\n protected processGetBudgethoudersByZorgverlenerUid(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as BudgethouderSelecterenViewModel[];\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class CollaborationHubClient extends AuthorizedApiBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"/api\";\r\n }\r\n\r\n getDocumentLock(documentId: string | undefined, collaborationDocumentType: CollaborationDocumentType | undefined): Promise {\r\n let url_ = this.baseUrl + \"/CollaborationHub/GetDocumentLock?\";\r\n if (documentId === null)\r\n throw new Error(\"The parameter 'documentId' cannot be null.\");\r\n else if (documentId !== undefined)\r\n url_ += \"documentId=\" + encodeURIComponent(\"\" + documentId) + \"&\";\r\n if (collaborationDocumentType === null)\r\n throw new Error(\"The parameter 'collaborationDocumentType' cannot be null.\");\r\n else if (collaborationDocumentType !== undefined)\r\n url_ += \"collaborationDocumentType=\" + encodeURIComponent(\"\" + collaborationDocumentType) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n headers: {\r\n \"Accept\": \"application/octet-stream\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processGetDocumentLock(_response);\r\n });\r\n }\r\n\r\n protected processGetDocumentLock(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n lockDocument(model: DocumentLockViewModel | null | undefined): Promise {\r\n let url_ = this.baseUrl + \"/CollaborationHub/LockDocument\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(model);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/octet-stream\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processLockDocument(_response);\r\n });\r\n }\r\n\r\n protected processLockDocument(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n releaseDocument(model: DocumentLockViewModel | null | undefined): Promise {\r\n let url_ = this.baseUrl + \"/CollaborationHub/ReleaseDocument\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(model);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/octet-stream\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processReleaseDocument(_response);\r\n });\r\n }\r\n\r\n protected processReleaseDocument(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n releaseDocumentForConnection(model: ReleaseDocumentForConnectionViewModel | null | undefined): Promise {\r\n let url_ = this.baseUrl + \"/CollaborationHub/ReleaseDocumentForConnection\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(model);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/octet-stream\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processReleaseDocumentForConnection(_response);\r\n });\r\n }\r\n\r\n protected processReleaseDocumentForConnection(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class ConcessiehouderClient extends AuthorizedApiBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"/api\";\r\n }\r\n\r\n getByIngelogdeEntiteit(): Promise {\r\n let url_ = this.baseUrl + \"/Concessiehouder/GetByIngelogdeEntiteit\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processGetByIngelogdeEntiteit(_response);\r\n });\r\n }\r\n\r\n protected processGetByIngelogdeEntiteit(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as ConcessiehouderViewModel;\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class ContactGegevensClient extends AuthorizedApiBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"/api\";\r\n }\r\n\r\n getContactGegevensVoor(relatieUid: string, relatieType: RelatieType): Promise {\r\n let url_ = this.baseUrl + \"/ContactGegevensVoor/{RelatieUid}/{relatieType}\";\r\n if (relatieUid === undefined || relatieUid === null)\r\n throw new Error(\"The parameter 'relatieUid' must be defined.\");\r\n url_ = url_.replace(\"{RelatieUid}\", encodeURIComponent(\"\" + relatieUid));\r\n if (relatieType === undefined || relatieType === null)\r\n throw new Error(\"The parameter 'relatieType' must be defined.\");\r\n url_ = url_.replace(\"{relatieType}\", encodeURIComponent(\"\" + relatieType));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processGetContactGegevensVoor(_response);\r\n });\r\n }\r\n\r\n protected processGetContactGegevensVoor(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as ContactGegevensViewModel[];\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class ContactmomentClient extends AuthorizedApiBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"/api\";\r\n }\r\n\r\n overzichtContactmomenten(model: GetDocumentOpRelatieEnPeriodeModel | null | undefined): Promise {\r\n let url_ = this.baseUrl + \"/Contactmomenten/GetOverzicht\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(model);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processOverzichtContactmomenten(_response);\r\n });\r\n }\r\n\r\n protected processOverzichtContactmomenten(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as ContactmomentViewmodel[];\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n getWettenContactmoment(relatieGuid: string): Promise {\r\n let url_ = this.baseUrl + \"/Contactmomenten/Wetten/{relatieGuid}\";\r\n if (relatieGuid === undefined || relatieGuid === null)\r\n throw new Error(\"The parameter 'relatieGuid' must be defined.\");\r\n url_ = url_.replace(\"{relatieGuid}\", encodeURIComponent(\"\" + relatieGuid));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processGetWettenContactmoment(_response);\r\n });\r\n }\r\n\r\n protected processGetWettenContactmoment(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as WetType[];\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n maakNotitie(model: MaakKlantbeeldNotitieViewModel | null | undefined): Promise {\r\n let url_ = this.baseUrl + \"/Contactmomenten/KlantbeeldNotitie\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(model);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/octet-stream\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processMaakNotitie(_response);\r\n });\r\n }\r\n\r\n protected processMaakNotitie(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class ConversieAccountClient extends AuthorizedApiBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"/api\";\r\n }\r\n\r\n createZorgverlenerAccountsByImportFile(importFileId: number): Promise {\r\n let url_ = this.baseUrl + \"/Conversie/CreateZorgverlenerAccounts/{importFileId}\";\r\n if (importFileId === undefined || importFileId === null)\r\n throw new Error(\"The parameter 'importFileId' must be defined.\");\r\n url_ = url_.replace(\"{importFileId}\", encodeURIComponent(\"\" + importFileId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"POST\",\r\n headers: {\r\n \"Accept\": \"application/octet-stream\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processCreateZorgverlenerAccountsByImportFile(_response);\r\n });\r\n }\r\n\r\n protected processCreateZorgverlenerAccountsByImportFile(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class ConversieClient extends AuthorizedApiBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"/api\";\r\n }\r\n\r\n getZorgovereenkomstConversieBestanden(): Promise {\r\n let url_ = this.baseUrl + \"/Conversie/GetZorgovereenkomstConversieBestanden\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n headers: {\r\n \"Accept\": \"application/octet-stream\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processGetZorgovereenkomstConversieBestanden(_response);\r\n });\r\n }\r\n\r\n protected processGetZorgovereenkomstConversieBestanden(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n startZorgovereenkomstenInlezen(zorgovereenkomstConversieStartPayload: ZorgovereenkomstConversieStartPayload | null | undefined): Promise {\r\n let url_ = this.baseUrl + \"/Conversie/StartZorgovereenkomstenInlezen\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(zorgovereenkomstConversieStartPayload);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/octet-stream\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processStartZorgovereenkomstenInlezen(_response);\r\n });\r\n }\r\n\r\n protected processStartZorgovereenkomstenInlezen(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n getZorgovereenkomstImportFiles(): Promise {\r\n let url_ = this.baseUrl + \"/Conversie/GetZorgovereenkomstImportFiles\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n headers: {\r\n \"Accept\": \"application/octet-stream\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processGetZorgovereenkomstImportFiles(_response);\r\n });\r\n }\r\n\r\n protected processGetZorgovereenkomstImportFiles(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n getBudgethoudersByImportFile(importFileId: number): Promise {\r\n let url_ = this.baseUrl + \"/Conversie/GetBudgethoudersByImportFile/{importFileId}\";\r\n if (importFileId === undefined || importFileId === null)\r\n throw new Error(\"The parameter 'importFileId' must be defined.\");\r\n url_ = url_.replace(\"{importFileId}\", encodeURIComponent(\"\" + importFileId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n headers: {\r\n \"Accept\": \"application/octet-stream\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processGetBudgethoudersByImportFile(_response);\r\n });\r\n }\r\n\r\n protected processGetBudgethoudersByImportFile(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n getZorgovereenkomstenByBudgethouder(id: number): Promise {\r\n let url_ = this.baseUrl + \"/Conversie/GetZorgovereenkomstenByBudgethouder/{id}\";\r\n if (id === undefined || id === null)\r\n throw new Error(\"The parameter 'id' must be defined.\");\r\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n headers: {\r\n \"Accept\": \"application/octet-stream\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processGetZorgovereenkomstenByBudgethouder(_response);\r\n });\r\n }\r\n\r\n protected processGetZorgovereenkomstenByBudgethouder(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n getZorgovereenkomstControleStatusMetAantal(id: number): Promise {\r\n let url_ = this.baseUrl + \"/Conversie/GetZorgovereenkomstControleStatusMetAantal/{id}\";\r\n if (id === undefined || id === null)\r\n throw new Error(\"The parameter 'id' must be defined.\");\r\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n headers: {\r\n \"Accept\": \"application/octet-stream\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processGetZorgovereenkomstControleStatusMetAantal(_response);\r\n });\r\n }\r\n\r\n protected processGetZorgovereenkomstControleStatusMetAantal(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n getZorgovereenkomstExcelReport(id: number): Promise {\r\n let url_ = this.baseUrl + \"/Conversie/GetZorgovereenkomstExcelReport/{id}\";\r\n if (id === undefined || id === null)\r\n throw new Error(\"The parameter 'id' must be defined.\");\r\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n headers: {\r\n \"Accept\": \"application/octet-stream\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processGetZorgovereenkomstExcelReport(_response);\r\n });\r\n }\r\n\r\n protected processGetZorgovereenkomstExcelReport(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n getZorgverlenersByImportFile(importFileId: number): Promise {\r\n let url_ = this.baseUrl + \"/Conversie/GetZorgverlenersByImportFile/{importFileId}\";\r\n if (importFileId === undefined || importFileId === null)\r\n throw new Error(\"The parameter 'importFileId' must be defined.\");\r\n url_ = url_.replace(\"{importFileId}\", encodeURIComponent(\"\" + importFileId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n headers: {\r\n \"Accept\": \"application/octet-stream\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processGetZorgverlenersByImportFile(_response);\r\n });\r\n }\r\n\r\n protected processGetZorgverlenersByImportFile(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n getVerstrekkers(): Promise {\r\n let url_ = this.baseUrl + \"/Conversie/GetVerstrekkers\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n headers: {\r\n \"Accept\": \"application/octet-stream\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processGetVerstrekkers(_response);\r\n });\r\n }\r\n\r\n protected processGetVerstrekkers(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n getBudgethoudersByVerstrekkerId(verstrekkerId: number): Promise {\r\n let url_ = this.baseUrl + \"/Conversie/GetBudgethoudersByVerstrekkerId/{verstrekkerId}\";\r\n if (verstrekkerId === undefined || verstrekkerId === null)\r\n throw new Error(\"The parameter 'verstrekkerId' must be defined.\");\r\n url_ = url_.replace(\"{verstrekkerId}\", encodeURIComponent(\"\" + verstrekkerId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n headers: {\r\n \"Accept\": \"application/octet-stream\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processGetBudgethoudersByVerstrekkerId(_response);\r\n });\r\n }\r\n\r\n protected processGetBudgethoudersByVerstrekkerId(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n getBudgethoudersByVerstrekkerIdEnToekenningsbeschikkingAanmaakDatum(verstrekkerId: number, aanmaakJaar: number, aanmaakMaand: number, aanmaakDag: number): Promise {\r\n let url_ = this.baseUrl + \"/Conversie/GetBudgethoudersByVerstrekkerIdEnToekenningsbeschikkingAanmaakDatum/{verstrekkerId}/{aanmaakJaar}/{aanmaakMaand}/{aanmaakDag}\";\r\n if (verstrekkerId === undefined || verstrekkerId === null)\r\n throw new Error(\"The parameter 'verstrekkerId' must be defined.\");\r\n url_ = url_.replace(\"{verstrekkerId}\", encodeURIComponent(\"\" + verstrekkerId));\r\n if (aanmaakJaar === undefined || aanmaakJaar === null)\r\n throw new Error(\"The parameter 'aanmaakJaar' must be defined.\");\r\n url_ = url_.replace(\"{aanmaakJaar}\", encodeURIComponent(\"\" + aanmaakJaar));\r\n if (aanmaakMaand === undefined || aanmaakMaand === null)\r\n throw new Error(\"The parameter 'aanmaakMaand' must be defined.\");\r\n url_ = url_.replace(\"{aanmaakMaand}\", encodeURIComponent(\"\" + aanmaakMaand));\r\n if (aanmaakDag === undefined || aanmaakDag === null)\r\n throw new Error(\"The parameter 'aanmaakDag' must be defined.\");\r\n url_ = url_.replace(\"{aanmaakDag}\", encodeURIComponent(\"\" + aanmaakDag));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n headers: {\r\n \"Accept\": \"application/octet-stream\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processGetBudgethoudersByVerstrekkerIdEnToekenningsbeschikkingAanmaakDatum(_response);\r\n });\r\n }\r\n\r\n protected processGetBudgethoudersByVerstrekkerIdEnToekenningsbeschikkingAanmaakDatum(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n blokkerenToegangBudgethouders(conversieBlokkerenBudgethoudersPayload: ConversieBlokkerenBudgethoudersPayload | null | undefined): Promise {\r\n let url_ = this.baseUrl + \"/Conversie/BlokkerenToegangBudgethouders\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(conversieBlokkerenBudgethoudersPayload);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/octet-stream\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processBlokkerenToegangBudgethouders(_response);\r\n });\r\n }\r\n\r\n protected processBlokkerenToegangBudgethouders(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n deblokkerenToegangBudgethouders(conversieDeblokkerenBudgethoudersPayload: ConversieDeblokkerenBudgethoudersPayload | null | undefined): Promise {\r\n let url_ = this.baseUrl + \"/Conversie/DeblokkerenToegangBudgethouders\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(conversieDeblokkerenBudgethoudersPayload);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/octet-stream\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processDeblokkerenToegangBudgethouders(_response);\r\n });\r\n }\r\n\r\n protected processDeblokkerenToegangBudgethouders(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class ConversieMaandbedragClient extends AuthorizedApiBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"/api\";\r\n }\r\n\r\n startInlezen(conversieBestandPayload: ConversieBestandPayload | null | undefined): Promise {\r\n let url_ = this.baseUrl + \"/Conversie/StartMaandbedragInlezen\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(conversieBestandPayload);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/octet-stream\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processStartInlezen(_response);\r\n });\r\n }\r\n\r\n protected processStartInlezen(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n getBestanden(): Promise {\r\n let url_ = this.baseUrl + \"/Conversie/GetMaandbedragConversieBestanden\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n headers: {\r\n \"Accept\": \"application/octet-stream\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processGetBestanden(_response);\r\n });\r\n }\r\n\r\n protected processGetBestanden(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n getImportFiles(): Promise {\r\n let url_ = this.baseUrl + \"/Conversie/GetMaandbedragImportFiles\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n headers: {\r\n \"Accept\": \"application/octet-stream\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processGetImportFiles(_response);\r\n });\r\n }\r\n\r\n protected processGetImportFiles(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n getOverzicht(id: number): Promise {\r\n let url_ = this.baseUrl + \"/Conversie/GetMaandbedragOverzichtByImportFileId/{id}\";\r\n if (id === undefined || id === null)\r\n throw new Error(\"The parameter 'id' must be defined.\");\r\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n headers: {\r\n \"Accept\": \"application/octet-stream\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processGetOverzicht(_response);\r\n });\r\n }\r\n\r\n protected processGetOverzicht(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n getControleStatusMetAantal(id: number): Promise {\r\n let url_ = this.baseUrl + \"/Conversie/GetMaandbedragControleStatusMetAantal/{id}\";\r\n if (id === undefined || id === null)\r\n throw new Error(\"The parameter 'id' must be defined.\");\r\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n headers: {\r\n \"Accept\": \"application/octet-stream\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processGetControleStatusMetAantal(_response);\r\n });\r\n }\r\n\r\n protected processGetControleStatusMetAantal(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n getExcelReport(id: number): Promise {\r\n let url_ = this.baseUrl + \"/Conversie/GetMaandbedragExcelReport/{id}\";\r\n if (id === undefined || id === null)\r\n throw new Error(\"The parameter 'id' must be defined.\");\r\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n headers: {\r\n \"Accept\": \"application/octet-stream\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processGetExcelReport(_response);\r\n });\r\n }\r\n\r\n protected processGetExcelReport(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class ConversieOverigeDeclaratieClient extends AuthorizedApiBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"/api\";\r\n }\r\n\r\n startInlezen(conversieBestandPayload: ConversieBestandPayload | null | undefined): Promise {\r\n let url_ = this.baseUrl + \"/Conversie/StartOverigeDeclaratieInlezen\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(conversieBestandPayload);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/octet-stream\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processStartInlezen(_response);\r\n });\r\n }\r\n\r\n protected processStartInlezen(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n getBestanden(): Promise {\r\n let url_ = this.baseUrl + \"/Conversie/GetOverigeDeclaratieConversieBestanden\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n headers: {\r\n \"Accept\": \"application/octet-stream\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processGetBestanden(_response);\r\n });\r\n }\r\n\r\n protected processGetBestanden(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n getImportFiles(): Promise {\r\n let url_ = this.baseUrl + \"/Conversie/GetOverigeDeclaratieImportFiles\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n headers: {\r\n \"Accept\": \"application/octet-stream\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processGetImportFiles(_response);\r\n });\r\n }\r\n\r\n protected processGetImportFiles(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n getOverigeDeclaratieControleStatusMetAantal(id: number): Promise {\r\n let url_ = this.baseUrl + \"/Conversie/GetOverigeDeclaratieControleStatusMetAantal/{id}\";\r\n if (id === undefined || id === null)\r\n throw new Error(\"The parameter 'id' must be defined.\");\r\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n headers: {\r\n \"Accept\": \"application/octet-stream\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processGetOverigeDeclaratieControleStatusMetAantal(_response);\r\n });\r\n }\r\n\r\n protected processGetOverigeDeclaratieControleStatusMetAantal(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n getOverigeDeclaratieOverzichtByImportFileId(id: number): Promise {\r\n let url_ = this.baseUrl + \"/Conversie/GetOverigeDeclaratieOverzichtByImportFileId/{id}\";\r\n if (id === undefined || id === null)\r\n throw new Error(\"The parameter 'id' must be defined.\");\r\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n headers: {\r\n \"Accept\": \"application/octet-stream\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processGetOverigeDeclaratieOverzichtByImportFileId(_response);\r\n });\r\n }\r\n\r\n protected processGetOverigeDeclaratieOverzichtByImportFileId(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n getOverigeDeclaratieExcelReport(id: number): Promise {\r\n let url_ = this.baseUrl + \"/Conversie/GetOverigeDeclaratieExcelReport/{id}\";\r\n if (id === undefined || id === null)\r\n throw new Error(\"The parameter 'id' must be defined.\");\r\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n headers: {\r\n \"Accept\": \"application/octet-stream\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processGetOverigeDeclaratieExcelReport(_response);\r\n });\r\n }\r\n\r\n protected processGetOverigeDeclaratieExcelReport(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class ConversieZiekEnZwangerschapsmeldingClient extends AuthorizedApiBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"/api\";\r\n }\r\n\r\n startInlezen(conversieBestandPayload: ConversieBestandPayload | null | undefined): Promise {\r\n let url_ = this.baseUrl + \"/Conversie/StartZiekEnZwangerschapsmeldingInlezen\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(conversieBestandPayload);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/octet-stream\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processStartInlezen(_response);\r\n });\r\n }\r\n\r\n protected processStartInlezen(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n getBestanden(): Promise {\r\n let url_ = this.baseUrl + \"/Conversie/GetZiekEnZwangerschapsmeldingConversieBestanden\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n headers: {\r\n \"Accept\": \"application/octet-stream\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processGetBestanden(_response);\r\n });\r\n }\r\n\r\n protected processGetBestanden(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n getImportFiles(): Promise {\r\n let url_ = this.baseUrl + \"/Conversie/GetZiekEnZwangerschapsmeldingImportFiles\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n headers: {\r\n \"Accept\": \"application/octet-stream\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processGetImportFiles(_response);\r\n });\r\n }\r\n\r\n protected processGetImportFiles(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n getZiekEnZwangerschapsmeldingOverzichtByImportFileId(id: number): Promise {\r\n let url_ = this.baseUrl + \"/Conversie/GetZiekEnZwangerschapsmeldingOverzichtByImportFileId/{id}\";\r\n if (id === undefined || id === null)\r\n throw new Error(\"The parameter 'id' must be defined.\");\r\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n headers: {\r\n \"Accept\": \"application/octet-stream\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processGetZiekEnZwangerschapsmeldingOverzichtByImportFileId(_response);\r\n });\r\n }\r\n\r\n protected processGetZiekEnZwangerschapsmeldingOverzichtByImportFileId(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n getZiekEnZwangerschapsmeldingControleStatusMetAantal(id: number): Promise {\r\n let url_ = this.baseUrl + \"/Conversie/GetZiekEnZwangerschapsmeldingControleStatusMetAantal/{id}\";\r\n if (id === undefined || id === null)\r\n throw new Error(\"The parameter 'id' must be defined.\");\r\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n headers: {\r\n \"Accept\": \"application/octet-stream\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processGetZiekEnZwangerschapsmeldingControleStatusMetAantal(_response);\r\n });\r\n }\r\n\r\n protected processGetZiekEnZwangerschapsmeldingControleStatusMetAantal(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n getZiekEnZwangerschapsmeldingExcelReport(id: number): Promise {\r\n let url_ = this.baseUrl + \"/Conversie/GetZiekEnZwangerschapsmeldingExcelReport/{id}\";\r\n if (id === undefined || id === null)\r\n throw new Error(\"The parameter 'id' must be defined.\");\r\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n headers: {\r\n \"Accept\": \"application/octet-stream\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processGetZiekEnZwangerschapsmeldingExcelReport(_response);\r\n });\r\n }\r\n\r\n protected processGetZiekEnZwangerschapsmeldingExcelReport(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class ConversieZiekmeldingClient extends AuthorizedApiBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"/api\";\r\n }\r\n\r\n getZiekmeldingConversieBestanden(): Promise {\r\n let url_ = this.baseUrl + \"/Conversie/GetZiekmeldingConversieBestanden\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n headers: {\r\n \"Accept\": \"application/octet-stream\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processGetZiekmeldingConversieBestanden(_response);\r\n });\r\n }\r\n\r\n protected processGetZiekmeldingConversieBestanden(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n startZiekmeldingInlezen(conversieBestandPayload: ConversieBestandPayload | null | undefined): Promise {\r\n let url_ = this.baseUrl + \"/Conversie/StartZiekmeldingInlezen\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(conversieBestandPayload);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/octet-stream\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processStartZiekmeldingInlezen(_response);\r\n });\r\n }\r\n\r\n protected processStartZiekmeldingInlezen(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n getZiekmeldingImportFiles(): Promise {\r\n let url_ = this.baseUrl + \"/Conversie/GetZiekmeldingImportFiles\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n headers: {\r\n \"Accept\": \"application/octet-stream\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processGetZiekmeldingImportFiles(_response);\r\n });\r\n }\r\n\r\n protected processGetZiekmeldingImportFiles(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n getZiekmeldingControleStatusMetAantal(id: number): Promise {\r\n let url_ = this.baseUrl + \"/Conversie/GetZiekmeldingControleStatusMetAantal/{id}\";\r\n if (id === undefined || id === null)\r\n throw new Error(\"The parameter 'id' must be defined.\");\r\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n headers: {\r\n \"Accept\": \"application/octet-stream\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processGetZiekmeldingControleStatusMetAantal(_response);\r\n });\r\n }\r\n\r\n protected processGetZiekmeldingControleStatusMetAantal(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n getZiekmeldingOverzichtByImportFileId(id: number): Promise {\r\n let url_ = this.baseUrl + \"/Conversie/GetZiekmeldingOverzichtByImportFileId/{id}\";\r\n if (id === undefined || id === null)\r\n throw new Error(\"The parameter 'id' must be defined.\");\r\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n headers: {\r\n \"Accept\": \"application/octet-stream\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processGetZiekmeldingOverzichtByImportFileId(_response);\r\n });\r\n }\r\n\r\n protected processGetZiekmeldingOverzichtByImportFileId(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n getZiekmeldingExcelReport(id: number): Promise {\r\n let url_ = this.baseUrl + \"/Conversie/GetZiekmeldingExcelReport/{id}\";\r\n if (id === undefined || id === null)\r\n throw new Error(\"The parameter 'id' must be defined.\");\r\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n headers: {\r\n \"Accept\": \"application/octet-stream\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processGetZiekmeldingExcelReport(_response);\r\n });\r\n }\r\n\r\n protected processGetZiekmeldingExcelReport(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class ConversieZwangerschapsmeldingClient extends AuthorizedApiBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"/api\";\r\n }\r\n\r\n getZwangerschapsmeldingConversieBestanden(): Promise {\r\n let url_ = this.baseUrl + \"/Conversie/GetZwangerschapsmeldingConversieBestanden\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n headers: {\r\n \"Accept\": \"application/octet-stream\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processGetZwangerschapsmeldingConversieBestanden(_response);\r\n });\r\n }\r\n\r\n protected processGetZwangerschapsmeldingConversieBestanden(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n startZwangerschapsmeldingInlezen(conversieBestandPayload: ConversieBestandPayload | null | undefined): Promise {\r\n let url_ = this.baseUrl + \"/Conversie/StartZwangerschapsmeldingInlezen\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(conversieBestandPayload);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/octet-stream\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processStartZwangerschapsmeldingInlezen(_response);\r\n });\r\n }\r\n\r\n protected processStartZwangerschapsmeldingInlezen(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n getZwangerschapsmeldingImportFiles(): Promise {\r\n let url_ = this.baseUrl + \"/Conversie/GetZwangerschapsmeldingImportFiles\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n headers: {\r\n \"Accept\": \"application/octet-stream\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processGetZwangerschapsmeldingImportFiles(_response);\r\n });\r\n }\r\n\r\n protected processGetZwangerschapsmeldingImportFiles(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n getZwangerschapsmeldingControleStatusMetAantal(id: number): Promise {\r\n let url_ = this.baseUrl + \"/Conversie/GetZwangerschapsmeldingControleStatusMetAantal/{id}\";\r\n if (id === undefined || id === null)\r\n throw new Error(\"The parameter 'id' must be defined.\");\r\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n headers: {\r\n \"Accept\": \"application/octet-stream\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processGetZwangerschapsmeldingControleStatusMetAantal(_response);\r\n });\r\n }\r\n\r\n protected processGetZwangerschapsmeldingControleStatusMetAantal(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n getZwangerschapsmeldingOverzichtByImportFileId(id: number): Promise {\r\n let url_ = this.baseUrl + \"/Conversie/GetZwangerschapsmeldingOverzichtByImportFileId/{id}\";\r\n if (id === undefined || id === null)\r\n throw new Error(\"The parameter 'id' must be defined.\");\r\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n headers: {\r\n \"Accept\": \"application/octet-stream\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processGetZwangerschapsmeldingOverzichtByImportFileId(_response);\r\n });\r\n }\r\n\r\n protected processGetZwangerschapsmeldingOverzichtByImportFileId(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n getZwangerschapsmeldingExcelReport(id: number): Promise {\r\n let url_ = this.baseUrl + \"/Conversie/GetZwangerschapsmeldingExcelReport/{id}\";\r\n if (id === undefined || id === null)\r\n throw new Error(\"The parameter 'id' must be defined.\");\r\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n headers: {\r\n \"Accept\": \"application/octet-stream\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processGetZwangerschapsmeldingExcelReport(_response);\r\n });\r\n }\r\n\r\n protected processGetZwangerschapsmeldingExcelReport(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class CorrespondentieClient extends AuthorizedApiBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"/api\";\r\n }\r\n\r\n verstuurVrijeTekstBrief(viewModel: VrijeTekstCorrespondentieViewModel | null | undefined): Promise {\r\n let url_ = this.baseUrl + \"/Correspondentie/VerstuurVrijeTekst\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(viewModel);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processVerstuurVrijeTekstBrief(_response);\r\n });\r\n }\r\n\r\n protected processVerstuurVrijeTekstBrief(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 204) {\r\n return response.text().then((_responseText) => {\r\n return;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n previewVrijeTekstBrief(viewModel: VrijeTekstCorrespondentieViewModel | null | undefined): Promise {\r\n let url_ = this.baseUrl + \"/Correspondentie/PreviewVrijeTekst\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(viewModel);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processPreviewVrijeTekstBrief(_response);\r\n });\r\n }\r\n\r\n protected processPreviewVrijeTekstBrief(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as DownloadFile;\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n vrijeTekstDocumentsoorten(): Promise {\r\n let url_ = this.baseUrl + \"/Correspondentie/VrijeTekstDocumentsoorten\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processVrijeTekstDocumentsoorten(_response);\r\n });\r\n }\r\n\r\n protected processVrijeTekstDocumentsoorten(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as SoortDocument[];\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n getWetten(relatieUid: string | undefined, werktaakUid: string | null | undefined): Promise {\r\n let url_ = this.baseUrl + \"/Correspondentie/Wetten?\";\r\n if (relatieUid === null)\r\n throw new Error(\"The parameter 'relatieUid' cannot be null.\");\r\n else if (relatieUid !== undefined)\r\n url_ += \"relatieUid=\" + encodeURIComponent(\"\" + relatieUid) + \"&\";\r\n if (werktaakUid !== undefined && werktaakUid !== null)\r\n url_ += \"werktaakUid=\" + encodeURIComponent(\"\" + werktaakUid) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processGetWetten(_response);\r\n });\r\n }\r\n\r\n protected processGetWetten(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as WetType[];\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class DeclaratieConceptClient extends AuthorizedApiBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"/api\";\r\n }\r\n\r\n getNewConcept(budgethouderId: string, declaratieType: DeclaratieType): Promise {\r\n let url_ = this.baseUrl + \"/DeclaratieConcept/Budgethouder/{budgethouderId}/{declaratieType}\";\r\n if (budgethouderId === undefined || budgethouderId === null)\r\n throw new Error(\"The parameter 'budgethouderId' must be defined.\");\r\n url_ = url_.replace(\"{budgethouderId}\", encodeURIComponent(\"\" + budgethouderId));\r\n if (declaratieType === undefined || declaratieType === null)\r\n throw new Error(\"The parameter 'declaratieType' must be defined.\");\r\n url_ = url_.replace(\"{declaratieType}\", encodeURIComponent(\"\" + declaratieType));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processGetNewConcept(_response);\r\n });\r\n }\r\n\r\n protected processGetNewConcept(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as DeclaratieConceptViewModel;\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n getZorgovereenkomstenVanOpdrachtnemer(model: DeclaratieTypeZorgverlenerPeriodeViewModel | null | undefined): Promise {\r\n let url_ = this.baseUrl + \"/DeclaratieConcept/GetZorgovereenkomstenVanOpdrachtnemer\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(model);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processGetZorgovereenkomstenVanOpdrachtnemer(_response);\r\n });\r\n }\r\n\r\n protected processGetZorgovereenkomstenVanOpdrachtnemer(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as DeclaratieConceptViewModel;\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n updateVoorGeselecteerdeZorgovereenkomst(model: DeclaratieTypeZorgverlenerPeriodeViewModel | null | undefined): Promise {\r\n let url_ = this.baseUrl + \"/DeclaratieConcept/UpdateVoorGeselecteerdeZorgovereenkomst\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(model);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processUpdateVoorGeselecteerdeZorgovereenkomst(_response);\r\n });\r\n }\r\n\r\n protected processUpdateVoorGeselecteerdeZorgovereenkomst(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as DeclaratieConceptViewModel;\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n getConceptById(id: string): Promise {\r\n let url_ = this.baseUrl + \"/DeclaratieConcept/{id}\";\r\n if (id === undefined || id === null)\r\n throw new Error(\"The parameter 'id' must be defined.\");\r\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processGetConceptById(_response);\r\n });\r\n }\r\n\r\n protected processGetConceptById(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as DeclaratieConceptViewModel;\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n bewaarConcept(declaratie: DeclaratieConceptViewModel | null | undefined): Promise {\r\n let url_ = this.baseUrl + \"/DeclaratieConcept/Bewaar\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(declaratie);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processBewaarConcept(_response);\r\n });\r\n }\r\n\r\n protected processBewaarConcept(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as string;\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n indienen(declaratie: DeclaratieConceptViewModel | null | undefined): Promise {\r\n let url_ = this.baseUrl + \"/DeclaratieConcept/Indienen\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(declaratie);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processIndienen(_response);\r\n });\r\n }\r\n\r\n protected processIndienen(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as DeclaratieIndienenResultaatViewModel;\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n valideerFactuurnummer(budgethouderId: string, factuurnummer: string | null): Promise {\r\n let url_ = this.baseUrl + \"/DeclaratieConcept/ValideerFactuurnummer?\";\r\n if (budgethouderId === undefined || budgethouderId === null)\r\n throw new Error(\"The parameter 'budgethouderId' must be defined and cannot be null.\");\r\n else\r\n url_ += \"budgethouderId=\" + encodeURIComponent(\"\" + budgethouderId) + \"&\";\r\n if (factuurnummer === undefined)\r\n throw new Error(\"The parameter 'factuurnummer' must be defined.\");\r\n else if(factuurnummer !== null)\r\n url_ += \"factuurnummer=\" + encodeURIComponent(\"\" + factuurnummer) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processValideerFactuurnummer(_response);\r\n });\r\n }\r\n\r\n protected processValideerFactuurnummer(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as ValidatedViewModel;\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n bestaatReiskostenFactuurDatum(budgethouderId: string | undefined, factuurdatum: DateString | undefined): Promise {\r\n let url_ = this.baseUrl + \"/DeclaratieConcept/BestaatReiskostenFactuurDatum?\";\r\n if (budgethouderId === null)\r\n throw new Error(\"The parameter 'budgethouderId' cannot be null.\");\r\n else if (budgethouderId !== undefined)\r\n url_ += \"budgethouderId=\" + encodeURIComponent(\"\" + budgethouderId) + \"&\";\r\n if (factuurdatum === null)\r\n throw new Error(\"The parameter 'factuurdatum' cannot be null.\");\r\n else if (factuurdatum !== undefined)\r\n url_ += \"factuurdatum=\" + encodeURIComponent(\"\" + factuurdatum) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processBestaatReiskostenFactuurDatum(_response);\r\n });\r\n }\r\n\r\n protected processBestaatReiskostenFactuurDatum(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as boolean;\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n deleteDeclaratieConcept(deleteDeclaratieConcept: DeleteDeclaratieConceptModel | null | undefined): Promise {\r\n let url_ = this.baseUrl + \"/DeclaratieConcept/Delete\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(deleteDeclaratieConcept);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/octet-stream\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processDeleteDeclaratieConcept(_response);\r\n });\r\n }\r\n\r\n protected processDeleteDeclaratieConcept(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n getZorgverlenerZorgdeclaratieIndienenValidatieGegegevens(zorgovereenkomstId: string | undefined, jaar: number | undefined, maand: Maand | undefined): Promise {\r\n let url_ = this.baseUrl + \"/DeclaratieConcept/ZorgverlenerZorgdeclaratieIndienenValidatieGegegevens?\";\r\n if (zorgovereenkomstId === null)\r\n throw new Error(\"The parameter 'zorgovereenkomstId' cannot be null.\");\r\n else if (zorgovereenkomstId !== undefined)\r\n url_ += \"zorgovereenkomstId=\" + encodeURIComponent(\"\" + zorgovereenkomstId) + \"&\";\r\n if (jaar === null)\r\n throw new Error(\"The parameter 'jaar' cannot be null.\");\r\n else if (jaar !== undefined)\r\n url_ += \"jaar=\" + encodeURIComponent(\"\" + jaar) + \"&\";\r\n if (maand === null)\r\n throw new Error(\"The parameter 'maand' cannot be null.\");\r\n else if (maand !== undefined)\r\n url_ += \"maand=\" + encodeURIComponent(\"\" + maand) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processGetZorgverlenerZorgdeclaratieIndienenValidatieGegegevens(_response);\r\n });\r\n }\r\n\r\n protected processGetZorgverlenerZorgdeclaratieIndienenValidatieGegegevens(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as DeclaratieIndienenValidatieGegegevensViewModel;\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class DeclaratieClient extends AuthorizedApiBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"/api\";\r\n }\r\n\r\n getDeclaratie(declaratieId: string): Promise {\r\n let url_ = this.baseUrl + \"/Declaratie/Weergeven/{declaratieId}\";\r\n if (declaratieId === undefined || declaratieId === null)\r\n throw new Error(\"The parameter 'declaratieId' must be defined.\");\r\n url_ = url_.replace(\"{declaratieId}\", encodeURIComponent(\"\" + declaratieId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processGetDeclaratie(_response);\r\n });\r\n }\r\n\r\n protected processGetDeclaratie(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as WeergevenDeclaratieViewModel;\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n jarenMetDeclaratie(): Promise {\r\n let url_ = this.baseUrl + \"/Declaratie/JarenMetDeclaratie\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processJarenMetDeclaratie(_response);\r\n });\r\n }\r\n\r\n protected processJarenMetDeclaratie(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as number[];\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n jarenMetDeclaratieByBudgethouder(budgethouderId: string): Promise {\r\n let url_ = this.baseUrl + \"/Declaratie/JarenMetDeclaratieOpBudgethouder/{budgethouderId}\";\r\n if (budgethouderId === undefined || budgethouderId === null)\r\n throw new Error(\"The parameter 'budgethouderId' must be defined.\");\r\n url_ = url_.replace(\"{budgethouderId}\", encodeURIComponent(\"\" + budgethouderId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processJarenMetDeclaratieByBudgethouder(_response);\r\n });\r\n }\r\n\r\n protected processJarenMetDeclaratieByBudgethouder(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as number[];\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n getDeclaratiesByJaar(jaar: number): Promise {\r\n let url_ = this.baseUrl + \"/Declaratie/DeclaratiesOpJaar/{jaar}\";\r\n if (jaar === undefined || jaar === null)\r\n throw new Error(\"The parameter 'jaar' must be defined.\");\r\n url_ = url_.replace(\"{jaar}\", encodeURIComponent(\"\" + jaar));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processGetDeclaratiesByJaar(_response);\r\n });\r\n }\r\n\r\n protected processGetDeclaratiesByJaar(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as OverzichtDeclaratieViewModel[];\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n getDeclaratiesByJaarEnBudgethouderId(jaar: number, budgethouderId: string): Promise {\r\n let url_ = this.baseUrl + \"/Declaratie/DeclaratiesOpJaar/{jaar}/Budgethouder/{budgethouderId}\";\r\n if (jaar === undefined || jaar === null)\r\n throw new Error(\"The parameter 'jaar' must be defined.\");\r\n url_ = url_.replace(\"{jaar}\", encodeURIComponent(\"\" + jaar));\r\n if (budgethouderId === undefined || budgethouderId === null)\r\n throw new Error(\"The parameter 'budgethouderId' must be defined.\");\r\n url_ = url_.replace(\"{budgethouderId}\", encodeURIComponent(\"\" + budgethouderId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processGetDeclaratiesByJaarEnBudgethouderId(_response);\r\n });\r\n }\r\n\r\n protected processGetDeclaratiesByJaarEnBudgethouderId(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as OverzichtDeclaratieViewModel[];\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n trekDeclaratieIn(declaratieUId: string): Promise {\r\n let url_ = this.baseUrl + \"/Declaratie/Intrekken/{declaratieUId}\";\r\n if (declaratieUId === undefined || declaratieUId === null)\r\n throw new Error(\"The parameter 'declaratieUId' must be defined.\");\r\n url_ = url_.replace(\"{declaratieUId}\", encodeURIComponent(\"\" + declaratieUId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"POST\",\r\n headers: {\r\n \"Accept\": \"application/octet-stream\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processTrekDeclaratieIn(_response);\r\n });\r\n }\r\n\r\n protected processTrekDeclaratieIn(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n indienenAlgemeneDeclaratie(indienenAlgemeneDeclaratieViewModel: IndienenAlgemeneDeclaratieViewModel | null | undefined): Promise {\r\n let url_ = this.baseUrl + \"/Declaratie/IndienenAlgemeneDeclaratie\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(indienenAlgemeneDeclaratieViewModel);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/octet-stream\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processIndienenAlgemeneDeclaratie(_response);\r\n });\r\n }\r\n\r\n protected processIndienenAlgemeneDeclaratie(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n getIsGedeclareerdOpZorgovereenkomstMetPeriode(jaar: number, maand: Maand, zorgovereenkomstid: string): Promise {\r\n let url_ = this.baseUrl + \"/Declaratie/IsGedeclareerdOpZorgovereenkomstMetPeriode/{jaar}/{maand}/{zorgovereenkomstid}\";\r\n if (jaar === undefined || jaar === null)\r\n throw new Error(\"The parameter 'jaar' must be defined.\");\r\n url_ = url_.replace(\"{jaar}\", encodeURIComponent(\"\" + jaar));\r\n if (maand === undefined || maand === null)\r\n throw new Error(\"The parameter 'maand' must be defined.\");\r\n url_ = url_.replace(\"{maand}\", encodeURIComponent(\"\" + maand));\r\n if (zorgovereenkomstid === undefined || zorgovereenkomstid === null)\r\n throw new Error(\"The parameter 'zorgovereenkomstid' must be defined.\");\r\n url_ = url_.replace(\"{zorgovereenkomstid}\", encodeURIComponent(\"\" + zorgovereenkomstid));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processGetIsGedeclareerdOpZorgovereenkomstMetPeriode(_response);\r\n });\r\n }\r\n\r\n protected processGetIsGedeclareerdOpZorgovereenkomstMetPeriode(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as boolean;\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n getFeestdagenKeuzeByJaarZorgovereenkomstUid(jaar: number | undefined, zorgovereenkomstUid: string | undefined): Promise {\r\n let url_ = this.baseUrl + \"/Declaratie/GetFeestdagenKeuzeByJaarZorgovereenkomstUid?\";\r\n if (jaar === null)\r\n throw new Error(\"The parameter 'jaar' cannot be null.\");\r\n else if (jaar !== undefined)\r\n url_ += \"jaar=\" + encodeURIComponent(\"\" + jaar) + \"&\";\r\n if (zorgovereenkomstUid === null)\r\n throw new Error(\"The parameter 'zorgovereenkomstUid' cannot be null.\");\r\n else if (zorgovereenkomstUid !== undefined)\r\n url_ += \"zorgovereenkomstUid=\" + encodeURIComponent(\"\" + zorgovereenkomstUid) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processGetFeestdagenKeuzeByJaarZorgovereenkomstUid(_response);\r\n });\r\n }\r\n\r\n protected processGetFeestdagenKeuzeByJaarZorgovereenkomstUid(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as boolean;\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class DeclaratieKassabonClient extends AuthorizedApiBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"/api\";\r\n }\r\n\r\n getByDeclaratieUid(declaratieUid: string): Promise {\r\n let url_ = this.baseUrl + \"/DeclaratieKassabon/{declaratieUid}\";\r\n if (declaratieUid === undefined || declaratieUid === null)\r\n throw new Error(\"The parameter 'declaratieUid' must be defined.\");\r\n url_ = url_.replace(\"{declaratieUid}\", encodeURIComponent(\"\" + declaratieUid));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processGetByDeclaratieUid(_response);\r\n });\r\n }\r\n\r\n protected processGetByDeclaratieUid(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as DeclaratieKassabonViewModel;\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n getByDeclaratieUidLight(declaratieUid: string): Promise {\r\n let url_ = this.baseUrl + \"/DeclaratieKassabon/Light/{declaratieUid}\";\r\n if (declaratieUid === undefined || declaratieUid === null)\r\n throw new Error(\"The parameter 'declaratieUid' must be defined.\");\r\n url_ = url_.replace(\"{declaratieUid}\", encodeURIComponent(\"\" + declaratieUid));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processGetByDeclaratieUidLight(_response);\r\n });\r\n }\r\n\r\n protected processGetByDeclaratieUidLight(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as DeclaratieKassabonLightViewModel;\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n update(declaratieMetWerkgeverslasten: DeclaratieConceptMetWerkgeverslastenViewModel | null | undefined): Promise {\r\n let url_ = this.baseUrl + \"/DeclaratieKassabon/Update\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(declaratieMetWerkgeverslasten);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processUpdate(_response);\r\n });\r\n }\r\n\r\n protected processUpdate(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as DeclaratieKassabonViewModel;\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n updateVoorZorgverlenerZorgdeclaratie(zorgverlenerDeclaratie: ZorgverlenerZorgdeclaratieConceptViewModel | null | undefined): Promise {\r\n let url_ = this.baseUrl + \"/DeclaratieKassabon/UpdateVoorZorgverlenerZorgdeclaratie\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(zorgverlenerDeclaratie);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processUpdateVoorZorgverlenerZorgdeclaratie(_response);\r\n });\r\n }\r\n\r\n protected processUpdateVoorZorgverlenerZorgdeclaratie(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as DeclaratieKassabonLightViewModel;\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class DmsClient extends AuthorizedApiBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"/api\";\r\n }\r\n\r\n getOverzichtDocumentenBijRelatie(relatieGuid: string): Promise {\r\n let url_ = this.baseUrl + \"/Dms/GetDocumentOpRelatie/{relatieGuid}\";\r\n if (relatieGuid === undefined || relatieGuid === null)\r\n throw new Error(\"The parameter 'relatieGuid' must be defined.\");\r\n url_ = url_.replace(\"{relatieGuid}\", encodeURIComponent(\"\" + relatieGuid));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processGetOverzichtDocumentenBijRelatie(_response);\r\n });\r\n }\r\n\r\n protected processGetOverzichtDocumentenBijRelatie(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as OverzichtDocumentViewModel[];\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n getOverzichtDocumentenBijRelatieEnPeriode(model: GetDocumentOpRelatieEnPeriodeModel | null | undefined): Promise {\r\n let url_ = this.baseUrl + \"/Dms/GetDocumentOpRelatieEnPeriode\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(model);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processGetOverzichtDocumentenBijRelatieEnPeriode(_response);\r\n });\r\n }\r\n\r\n protected processGetOverzichtDocumentenBijRelatieEnPeriode(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as OverzichtDocumentViewModel[];\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n getRecenteDocumentenBijRelatie(relatieGuid: string): Promise {\r\n let url_ = this.baseUrl + \"/Dms/GetRecenteDocumentOpRelatie/{relatieGuid}\";\r\n if (relatieGuid === undefined || relatieGuid === null)\r\n throw new Error(\"The parameter 'relatieGuid' must be defined.\");\r\n url_ = url_.replace(\"{relatieGuid}\", encodeURIComponent(\"\" + relatieGuid));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processGetRecenteDocumentenBijRelatie(_response);\r\n });\r\n }\r\n\r\n protected processGetRecenteDocumentenBijRelatie(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as OverzichtDocumentViewModel[];\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class FileDownloadClient extends AuthorizedApiBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"/api\";\r\n }\r\n\r\n getArchivedDocument(viewModel: FileDownloadViewModel | null | undefined): Promise {\r\n let url_ = this.baseUrl + \"/FileDownload/Bestand\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(viewModel);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processGetArchivedDocument(_response);\r\n });\r\n }\r\n\r\n protected processGetArchivedDocument(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as DownloadFile;\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n getArchivedDocumentStream(viewModel: FileDownloadViewModel | null | undefined): Promise {\r\n let url_ = this.baseUrl + \"/FileDownload/BestandStream\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(viewModel);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/octet-stream\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processGetArchivedDocumentStream(_response);\r\n });\r\n }\r\n\r\n protected processGetArchivedDocumentStream(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n getTemporaryDocument(id: string): Promise {\r\n let url_ = this.baseUrl + \"/FileDownload/GeefTempBestandOpId/{id}\";\r\n if (id === undefined || id === null)\r\n throw new Error(\"The parameter 'id' must be defined.\");\r\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processGetTemporaryDocument(_response);\r\n });\r\n }\r\n\r\n protected processGetTemporaryDocument(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as DownloadFile;\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n getTemporaryDocumentStream(id: string): Promise {\r\n let url_ = this.baseUrl + \"/FileDownload/GeefTempBestandOpIdStream/{id}\";\r\n if (id === undefined || id === null)\r\n throw new Error(\"The parameter 'id' must be defined.\");\r\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processGetTemporaryDocumentStream(_response);\r\n });\r\n }\r\n\r\n protected processGetTemporaryDocumentStream(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as DownloadFile;\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class FileUploadClient extends AuthorizedApiBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"/api\";\r\n }\r\n\r\n uploadFile(data: FormData): Promise {\r\n let url_ = this.baseUrl + \"/FileUpload/UploadFile\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n body: data,\n method: \"POST\",\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processUploadFile(_response);\r\n });\r\n }\r\n\r\n protected processUploadFile(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as string[];\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n removeFile(id: string | null): Promise {\r\n let url_ = this.baseUrl + \"/FileUpload/RemoveFile/{id}\";\r\n if (id === undefined || id === null)\r\n throw new Error(\"The parameter 'id' must be defined.\");\r\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"POST\",\r\n headers: {\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processRemoveFile(_response);\r\n });\r\n }\r\n\r\n protected processRemoveFile(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 204) {\r\n return response.text().then((_responseText) => {\r\n return;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class HealthClient extends AuthorizedApiBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"/api\";\r\n }\r\n\r\n get(): Promise {\r\n let url_ = this.baseUrl + \"/Health\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processGet(_response);\r\n });\r\n }\r\n\r\n protected processGet(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as IHealthReport;\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n status(): Promise {\r\n let url_ = this.baseUrl + \"/Status\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processStatus(_response);\r\n });\r\n }\r\n\r\n protected processStatus(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as number;\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class IdealTransactieReferentieClient extends AuthorizedApiBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"/api\";\r\n }\r\n\r\n getIdealTransactionStatusDeclaratieConcept(declaratieConceptGuid: string): Promise {\r\n let url_ = this.baseUrl + \"/IdealTransactionStatus/DeclaratieConcept/{declaratieConceptGuid}\";\r\n if (declaratieConceptGuid === undefined || declaratieConceptGuid === null)\r\n throw new Error(\"The parameter 'declaratieConceptGuid' must be defined.\");\r\n url_ = url_.replace(\"{declaratieConceptGuid}\", encodeURIComponent(\"\" + declaratieConceptGuid));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processGetIdealTransactionStatusDeclaratieConcept(_response);\r\n });\r\n }\r\n\r\n protected processGetIdealTransactionStatusDeclaratieConcept(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as boolean;\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n getIdealTransactionStatusDeclaratie(declaratieGuid: string): Promise {\r\n let url_ = this.baseUrl + \"/IdealTransactionStatus/Declaratie/{declaratieGuid}\";\r\n if (declaratieGuid === undefined || declaratieGuid === null)\r\n throw new Error(\"The parameter 'declaratieGuid' must be defined.\");\r\n url_ = url_.replace(\"{declaratieGuid}\", encodeURIComponent(\"\" + declaratieGuid));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processGetIdealTransactionStatusDeclaratie(_response);\r\n });\r\n }\r\n\r\n protected processGetIdealTransactionStatusDeclaratie(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as boolean;\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n getIdealSessionState(budgethouderUid: string): Promise {\r\n let url_ = this.baseUrl + \"/GetIdealSessionState/Budgethouder/{budgethouderUid}\";\r\n if (budgethouderUid === undefined || budgethouderUid === null)\r\n throw new Error(\"The parameter 'budgethouderUid' must be defined.\");\r\n url_ = url_.replace(\"{budgethouderUid}\", encodeURIComponent(\"\" + budgethouderUid));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processGetIdealSessionState(_response);\r\n });\r\n }\r\n\r\n protected processGetIdealSessionState(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as IdealSessionStateViewModel;\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class IdentityServerClient extends AuthorizedApiBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"/api\";\r\n }\r\n\r\n getVerstrekkerIdByCode(code: string | null): Promise {\r\n let url_ = this.baseUrl + \"/Identityserver/Verstrekker/GetByCode/{code}\";\r\n if (code === undefined || code === null)\r\n throw new Error(\"The parameter 'code' must be defined.\");\r\n url_ = url_.replace(\"{code}\", encodeURIComponent(\"\" + code));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n headers: {\r\n \"Accept\": \"application/octet-stream\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processGetVerstrekkerIdByCode(_response);\r\n });\r\n }\r\n\r\n protected processGetVerstrekkerIdByCode(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n getVerstrekkerIdByKvknummer(kvkNummer: string | null): Promise {\r\n let url_ = this.baseUrl + \"/Identityserver/Verstrekker/GetByKvkNummer/{kvkNummer}\";\r\n if (kvkNummer === undefined || kvkNummer === null)\r\n throw new Error(\"The parameter 'kvkNummer' must be defined.\");\r\n url_ = url_.replace(\"{kvkNummer}\", encodeURIComponent(\"\" + kvkNummer));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n headers: {\r\n \"Accept\": \"application/octet-stream\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processGetVerstrekkerIdByKvknummer(_response);\r\n });\r\n }\r\n\r\n protected processGetVerstrekkerIdByKvknummer(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n getZorgverlenerIdByAgbcode(agbcode: string | null): Promise {\r\n let url_ = this.baseUrl + \"/Identityserver/Zorgverlener/GetByAgbcode/{agbcode}\";\r\n if (agbcode === undefined || agbcode === null)\r\n throw new Error(\"The parameter 'agbcode' must be defined.\");\r\n url_ = url_.replace(\"{agbcode}\", encodeURIComponent(\"\" + agbcode));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n headers: {\r\n \"Accept\": \"application/octet-stream\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processGetZorgverlenerIdByAgbcode(_response);\r\n });\r\n }\r\n\r\n protected processGetZorgverlenerIdByAgbcode(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n getHandelsbevoegdheidTypeBudgethouder(relatieId: number): Promise {\r\n let url_ = this.baseUrl + \"/Identityserver/Budgethouder/HandelsbevoegdheidType/{relatieId}\";\r\n if (relatieId === undefined || relatieId === null)\r\n throw new Error(\"The parameter 'relatieId' must be defined.\");\r\n url_ = url_.replace(\"{relatieId}\", encodeURIComponent(\"\" + relatieId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n headers: {\r\n \"Accept\": \"application/octet-stream\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processGetHandelsbevoegdheidTypeBudgethouder(_response);\r\n });\r\n }\r\n\r\n protected processGetHandelsbevoegdheidTypeBudgethouder(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n isAanvullendeVragenGetoond(relatieId: number): Promise {\r\n let url_ = this.baseUrl + \"/Identityserver/Relatie/IsAanvullendeVragenGetoond/{relatieId}\";\r\n if (relatieId === undefined || relatieId === null)\r\n throw new Error(\"The parameter 'relatieId' must be defined.\");\r\n url_ = url_.replace(\"{relatieId}\", encodeURIComponent(\"\" + relatieId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n headers: {\r\n \"Accept\": \"application/octet-stream\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processIsAanvullendeVragenGetoond(_response);\r\n });\r\n }\r\n\r\n protected processIsAanvullendeVragenGetoond(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n updateRelatieVoorkeuren(voorkeurModel: UpdateRelatieVoorkeurModel | null | undefined): Promise {\r\n let url_ = this.baseUrl + \"/Identityserver/Relatie/UpdateVoorkeuren\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(voorkeurModel);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/octet-stream\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processUpdateRelatieVoorkeuren(_response);\r\n });\r\n }\r\n\r\n protected processUpdateRelatieVoorkeuren(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n accepteerNieuweVoorwaarden(relatieEnMutalist: RelatieEnMutalist | null | undefined): Promise {\r\n let url_ = this.baseUrl + \"/Identityserver/Relatie/AccepteerNieuweVoorwaarden\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(relatieEnMutalist);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/octet-stream\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processAccepteerNieuweVoorwaarden(_response);\r\n });\r\n }\r\n\r\n protected processAccepteerNieuweVoorwaarden(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n settingsGetBySleutel(sleutel: string | null): Promise {\r\n let url_ = this.baseUrl + \"/Identityserver/Settings/GetBySleutel/{sleutel}\";\r\n if (sleutel === undefined || sleutel === null)\r\n throw new Error(\"The parameter 'sleutel' must be defined.\");\r\n url_ = url_.replace(\"{sleutel}\", encodeURIComponent(\"\" + sleutel));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n headers: {\r\n \"Accept\": \"application/octet-stream\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processSettingsGetBySleutel(_response);\r\n });\r\n }\r\n\r\n protected processSettingsGetBySleutel(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n getSettingValueByKey(key: string | null): Promise {\r\n let url_ = this.baseUrl + \"/Identityserver/Settings/GetValueByKey/{key}\";\r\n if (key === undefined || key === null)\r\n throw new Error(\"The parameter 'key' must be defined.\");\r\n url_ = url_.replace(\"{key}\", encodeURIComponent(\"\" + key));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n headers: {\r\n \"Accept\": \"application/octet-stream\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processGetSettingValueByKey(_response);\r\n });\r\n }\r\n\r\n protected processGetSettingValueByKey(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n createFabber(model: CreateFabberViewModel | null | undefined): Promise {\r\n let url_ = this.baseUrl + \"/Identityserver/Medewerker/CreateFabber\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(model);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/octet-stream\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processCreateFabber(_response);\r\n });\r\n }\r\n\r\n protected processCreateFabber(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n createGemeenteMedewerker(model: CreateGemeenteMedewerkerViewModel | null | undefined): Promise {\r\n let url_ = this.baseUrl + \"/Identityserver/Medewerker/CreateGemeenteMedewerker\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(model);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/octet-stream\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processCreateGemeenteMedewerker(_response);\r\n });\r\n }\r\n\r\n protected processCreateGemeenteMedewerker(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n createConcessiehouderMedewerker(model: CreateConcessieHouderMedewerkerViewModel | null | undefined): Promise {\r\n let url_ = this.baseUrl + \"/Identityserver/Medewerker/CreateConcessiehouderMedewerker\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(model);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/octet-stream\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processCreateConcessiehouderMedewerker(_response);\r\n });\r\n }\r\n\r\n protected processCreateConcessiehouderMedewerker(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n createSvbMedewerker(model: CreateSvbMedewerkerViewModel | null | undefined): Promise {\r\n let url_ = this.baseUrl + \"/Identityserver/Medewerker/CreateSvbMedewerker\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(model);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/octet-stream\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processCreateSvbMedewerker(_response);\r\n });\r\n }\r\n\r\n protected processCreateSvbMedewerker(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n geefConcessiehouderIdIndienMatchend(model: GeefConcessiehouderIdVoorConcessiehouderOfVerstrekkerCodeModel | null | undefined): Promise {\r\n let url_ = this.baseUrl + \"/Identityserver/GeefConcessiehouderIdIndienMatchend\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(model);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/octet-stream\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processGeefConcessiehouderIdIndienMatchend(_response);\r\n });\r\n }\r\n\r\n protected processGeefConcessiehouderIdIndienMatchend(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n getWettelijkevertegenwoordigerByKvkNummer(kvknummer: string | null): Promise {\r\n let url_ = this.baseUrl + \"/Identityserver/Wettelijkevertegenwoordiger/{kvknummer}\";\r\n if (kvknummer === undefined || kvknummer === null)\r\n throw new Error(\"The parameter 'kvknummer' must be defined.\");\r\n url_ = url_.replace(\"{kvknummer}\", encodeURIComponent(\"\" + kvknummer));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n headers: {\r\n \"Accept\": \"application/octet-stream\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processGetWettelijkevertegenwoordigerByKvkNummer(_response);\r\n });\r\n }\r\n\r\n protected processGetWettelijkevertegenwoordigerByKvkNummer(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n getZorgverlenerByKvkNummer(kvknummer: string | null): Promise {\r\n let url_ = this.baseUrl + \"/Identityserver/Zorgverlener/{kvknummer}\";\r\n if (kvknummer === undefined || kvknummer === null)\r\n throw new Error(\"The parameter 'kvknummer' must be defined.\");\r\n url_ = url_.replace(\"{kvknummer}\", encodeURIComponent(\"\" + kvknummer));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n headers: {\r\n \"Accept\": \"application/octet-stream\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processGetZorgverlenerByKvkNummer(_response);\r\n });\r\n }\r\n\r\n protected processGetZorgverlenerByKvkNummer(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n saveMedewerkerPersoonlijkeInformatie(persoonsgegevens: Persoonsgegevens | null | undefined): Promise {\r\n let url_ = this.baseUrl + \"/Identityserver/Medewerker/PersoonsGegevens\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(persoonsgegevens);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/octet-stream\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processSaveMedewerkerPersoonlijkeInformatie(_response);\r\n });\r\n }\r\n\r\n protected processSaveMedewerkerPersoonlijkeInformatie(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class LandClient extends AuthorizedApiBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"/api\";\r\n }\r\n\r\n getAlleLanden(): Promise {\r\n let url_ = this.baseUrl + \"/Land/All\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processGetAlleLanden(_response);\r\n });\r\n }\r\n\r\n protected processGetAlleLanden(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as LandView[];\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class LoggingClient extends AuthorizedApiBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"/api\";\r\n }\r\n\r\n log(logViewModel: LogViewModel | null | undefined): Promise {\r\n let url_ = this.baseUrl + \"/Logging/Log\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(logViewModel);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processLog(_response);\r\n });\r\n }\r\n\r\n protected processLog(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 204) {\r\n return response.text().then((_responseText) => {\r\n return;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n logApiTiming(logViewModel: LogTimingViewModel | null | undefined): Promise {\r\n let url_ = this.baseUrl + \"/Logging/ApiTiming\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(logViewModel);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processLogApiTiming(_response);\r\n });\r\n }\r\n\r\n protected processLogApiTiming(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 204) {\r\n return response.text().then((_responseText) => {\r\n return;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class MaandloonDeclaratieKassabonClient extends AuthorizedApiBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"/api\";\r\n }\r\n\r\n getKassabonForVoorlopigeDeclaratie(maandloonBijZiekteVm: MaandloonBijZiekteTaakViewModel | null | undefined): Promise {\r\n let url_ = this.baseUrl + \"/MaandloonDeclaratieKassabon/GetForVoorlopigeDeclaratie\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(maandloonBijZiekteVm);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processGetKassabonForVoorlopigeDeclaratie(_response);\r\n });\r\n }\r\n\r\n protected processGetKassabonForVoorlopigeDeclaratie(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as DeclaratieKassabonViewModel;\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n updateHerberekendeKassabon(maandloonBijZiekteVm: MaandloonBijZiekteTaakViewModel | null | undefined): Promise {\r\n let url_ = this.baseUrl + \"/MaandloonDeclaratieKassabon/UpdateHerberekendeKassabon\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(maandloonBijZiekteVm);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processUpdateHerberekendeKassabon(_response);\r\n });\r\n }\r\n\r\n protected processUpdateHerberekendeKassabon(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as DeclaratieKassabonViewModel;\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class LockedQueueItemClient extends AuthorizedApiBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"/api\";\r\n }\r\n\r\n getLockedQueueItem(): Promise {\r\n let url_ = this.baseUrl + \"/LockedQueueItem/Overzicht\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n headers: {\r\n \"Accept\": \"application/octet-stream\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processGetLockedQueueItem(_response);\r\n });\r\n }\r\n\r\n protected processGetLockedQueueItem(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n unlockLockedQueueItem(id: number): Promise {\r\n let url_ = this.baseUrl + \"/LockedQueueItem/Unlock/{id}\";\r\n if (id === undefined || id === null)\r\n throw new Error(\"The parameter 'id' must be defined.\");\r\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"POST\",\r\n headers: {\r\n \"Accept\": \"application/octet-stream\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processUnlockLockedQueueItem(_response);\r\n });\r\n }\r\n\r\n protected processUnlockLockedQueueItem(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n archiveLockedQueueItem(id: number): Promise {\r\n let url_ = this.baseUrl + \"/LockedQueueItem/Archive/{id}\";\r\n if (id === undefined || id === null)\r\n throw new Error(\"The parameter 'id' must be defined.\");\r\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"POST\",\r\n headers: {\r\n \"Accept\": \"application/octet-stream\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processArchiveLockedQueueItem(_response);\r\n });\r\n }\r\n\r\n protected processArchiveLockedQueueItem(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n editComment(model: EditCommentQueueItemModel | null | undefined): Promise {\r\n let url_ = this.baseUrl + \"/LockedQueueItem/EditComment\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(model);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/octet-stream\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processEditComment(_response);\r\n });\r\n }\r\n\r\n protected processEditComment(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class MinimumloonClient extends AuthorizedApiBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"/api\";\r\n }\r\n\r\n getMinimumloonOverzicht(): Promise {\r\n let url_ = this.baseUrl + \"/Minimumloon/Overzicht\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n headers: {\r\n \"Accept\": \"application/octet-stream\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processGetMinimumloonOverzicht(_response);\r\n });\r\n }\r\n\r\n protected processGetMinimumloonOverzicht(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n startHalfJaarlijkseRevisie(datumWrapper: DatumWrapper | null | undefined): Promise {\r\n let url_ = this.baseUrl + \"/Minimumloon/HalfJaarlijkseRevisie\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(datumWrapper);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/octet-stream\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processStartHalfJaarlijkseRevisie(_response);\r\n });\r\n }\r\n\r\n protected processStartHalfJaarlijkseRevisie(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class ProcesszekeringClient extends AuthorizedApiBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"/api\";\r\n }\r\n\r\n getProcessZekering(): Promise {\r\n let url_ = this.baseUrl + \"/Processzekering/Overzicht\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n headers: {\r\n \"Accept\": \"application/octet-stream\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processGetProcessZekering(_response);\r\n });\r\n }\r\n\r\n protected processGetProcessZekering(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n resetProcessZekering(resetProcesszekeringModel: ResetProcesszekeringModel | null | undefined): Promise {\r\n let url_ = this.baseUrl + \"/Processzekering/Reset\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(resetProcesszekeringModel);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/octet-stream\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processResetProcessZekering(_response);\r\n });\r\n }\r\n\r\n protected processResetProcessZekering(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n lockQueueItem(model: LockQueueItemModel | null | undefined): Promise {\r\n let url_ = this.baseUrl + \"/Processzekering/LockQueueItem\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(model);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/octet-stream\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processLockQueueItem(_response);\r\n });\r\n }\r\n\r\n protected processLockQueueItem(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class QueueItemClient extends AuthorizedApiBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"/api\";\r\n }\r\n\r\n getById(id: number): Promise {\r\n let url_ = this.baseUrl + \"/QueueItem/GetById/{id}\";\r\n if (id === undefined || id === null)\r\n throw new Error(\"The parameter 'id' must be defined.\");\r\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n headers: {\r\n \"Accept\": \"application/octet-stream\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processGetById(_response);\r\n });\r\n }\r\n\r\n protected processGetById(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class ReportClient extends AuthorizedApiBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"/api\";\r\n }\r\n\r\n getFDomeinReport(startdatum: DateString | null | undefined, einddatum: DateString | null | undefined): Promise {\r\n let url_ = this.baseUrl + \"/Report/GetFDomeinReport?\";\r\n if (startdatum !== undefined && startdatum !== null)\r\n url_ += \"startdatum=\" + encodeURIComponent(\"\" + startdatum) + \"&\";\r\n if (einddatum !== undefined && einddatum !== null)\r\n url_ += \"einddatum=\" + encodeURIComponent(\"\" + einddatum) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n headers: {\r\n \"Accept\": \"application/octet-stream\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processGetFDomeinReport(_response);\r\n });\r\n }\r\n\r\n protected processGetFDomeinReport(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class PdfGeneratorClient extends AuthorizedApiBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"/api\";\r\n }\r\n\r\n genereerZokOpId(id: string): Promise {\r\n let url_ = this.baseUrl + \"/pdf/zorgovereenkomst/{id}\";\r\n if (id === undefined || id === null)\r\n throw new Error(\"The parameter 'id' must be defined.\");\r\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processGenereerZokOpId(_response);\r\n });\r\n }\r\n\r\n protected processGenereerZokOpId(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as DownloadFile;\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class PolicyClient extends AuthorizedApiBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"/api\";\r\n }\r\n\r\n getIsAllowed(request: PolicyIsAllowedRequestViewModel | null | undefined): Promise {\r\n let url_ = this.baseUrl + \"/Policy/IsAllowed\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(request);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processGetIsAllowed(_response);\r\n });\r\n }\r\n\r\n protected processGetIsAllowed(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as PolicyIsAllowedResponseViewModel;\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class ProceskeuzeClient extends AuthorizedApiBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"/api\";\r\n }\r\n\r\n getProceskeuzeByTypeForVerstrekker(proceskeuzeType: ProceskeuzeType): Promise {\r\n let url_ = this.baseUrl + \"/Proceskeuze/GetProceskeuzeByTypeForVerstrekker?\";\r\n if (proceskeuzeType === undefined || proceskeuzeType === null)\r\n throw new Error(\"The parameter 'proceskeuzeType' must be defined and cannot be null.\");\r\n else\r\n url_ += \"proceskeuzeType=\" + encodeURIComponent(\"\" + proceskeuzeType) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n headers: {\r\n \"Accept\": \"application/octet-stream\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processGetProceskeuzeByTypeForVerstrekker(_response);\r\n });\r\n }\r\n\r\n protected processGetProceskeuzeByTypeForVerstrekker(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n saveProceskeuze(proceskeuzeModelLijst: ProceskeuzeLijstModel | null | undefined): Promise {\r\n let url_ = this.baseUrl + \"/Proceskeuze/Save\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(proceskeuzeModelLijst);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/octet-stream\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processSaveProceskeuze(_response);\r\n });\r\n }\r\n\r\n protected processSaveProceskeuze(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n getVerstrekkerBesteedToetsOpRechtUit(verstrekkerId: number): Promise {\r\n let url_ = this.baseUrl + \"/Proceskeuze/GetVerstrekkerBesteedToetsOpRechtUit/{verstrekkerId}\";\r\n if (verstrekkerId === undefined || verstrekkerId === null)\r\n throw new Error(\"The parameter 'verstrekkerId' must be defined.\");\r\n url_ = url_.replace(\"{verstrekkerId}\", encodeURIComponent(\"\" + verstrekkerId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n headers: {\r\n \"Accept\": \"application/octet-stream\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processGetVerstrekkerBesteedToetsOpRechtUit(_response);\r\n });\r\n }\r\n\r\n protected processGetVerstrekkerBesteedToetsOpRechtUit(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class ProfielClient extends AuthorizedApiBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"/api\";\r\n }\r\n\r\n getBudgethouder(budgethouderId: string): Promise {\r\n let url_ = this.baseUrl + \"/Profiel/Budgethouder/{budgethouderId}\";\r\n if (budgethouderId === undefined || budgethouderId === null)\r\n throw new Error(\"The parameter 'budgethouderId' must be defined.\");\r\n url_ = url_.replace(\"{budgethouderId}\", encodeURIComponent(\"\" + budgethouderId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processGetBudgethouder(_response);\r\n });\r\n }\r\n\r\n protected processGetBudgethouder(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as BudgethouderViewModel;\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n getVertegenwoordiger(): Promise {\r\n let url_ = this.baseUrl + \"/Profiel/Vertegenwoordiger\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processGetVertegenwoordiger(_response);\r\n });\r\n }\r\n\r\n protected processGetVertegenwoordiger(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as VertegenwoordigerViewModel;\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n saveVertegenwoordiger(viewModel: VertegenwoordigerViewModel | null | undefined): Promise {\r\n let url_ = this.baseUrl + \"/Profiel/Vertegenwoordiger\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(viewModel);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processSaveVertegenwoordiger(_response);\r\n });\r\n }\r\n\r\n protected processSaveVertegenwoordiger(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as VertegenwoordigerViewModel;\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n getZorgverlener(): Promise {\r\n let url_ = this.baseUrl + \"/Profiel/Zorgverlener\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processGetZorgverlener(_response);\r\n });\r\n }\r\n\r\n protected processGetZorgverlener(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as ZorgverlenerProfielViewModel;\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n saveZorgverlener(viewModel: ZorgverlenerViewModel | null | undefined): Promise {\r\n let url_ = this.baseUrl + \"/Profiel/Zorgverlener\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(viewModel);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processSaveZorgverlener(_response);\r\n });\r\n }\r\n\r\n protected processSaveZorgverlener(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as ZorgverlenerViewModel;\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n saveBudgethouder(viewModel: BudgethouderViewModel | null | undefined): Promise {\r\n let url_ = this.baseUrl + \"/Profiel/Budgethouder\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(viewModel);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processSaveBudgethouder(_response);\r\n });\r\n }\r\n\r\n protected processSaveBudgethouder(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as BudgethouderViewModel;\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n saveBudgethouderDoorMedewerker(viewModel: WijzigenRelatieProfielViewModel | null | undefined): Promise {\r\n let url_ = this.baseUrl + \"/Profiel/BudgethouderDoorMedewerker\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(viewModel);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processSaveBudgethouderDoorMedewerker(_response);\r\n });\r\n }\r\n\r\n protected processSaveBudgethouderDoorMedewerker(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as WijzigenRelatieProfielViewModel;\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n saveVertegenwoordigerDoorMedewerker(viewModel: WijzigenRelatieProfielViewModel | null | undefined): Promise {\r\n let url_ = this.baseUrl + \"/Profiel/VertegenwoordigerDoorMedewerker\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(viewModel);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processSaveVertegenwoordigerDoorMedewerker(_response);\r\n });\r\n }\r\n\r\n protected processSaveVertegenwoordigerDoorMedewerker(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as WijzigenRelatieProfielViewModel;\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n saveZorgverlenerDoorMedewerker(viewModel: WijzigenRelatieProfielViewModel | null | undefined): Promise {\r\n let url_ = this.baseUrl + \"/Profiel/ZorgverlenerDoorMedewerker\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(viewModel);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processSaveZorgverlenerDoorMedewerker(_response);\r\n });\r\n }\r\n\r\n protected processSaveZorgverlenerDoorMedewerker(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as WijzigenRelatieProfielViewModel;\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n isProfielBudgethouderVolledig(budgethouderUid: string): Promise {\r\n let url_ = this.baseUrl + \"/Profiel/Budgethouder/IsVolledig/{budgethouderUid}\";\r\n if (budgethouderUid === undefined || budgethouderUid === null)\r\n throw new Error(\"The parameter 'budgethouderUid' must be defined.\");\r\n url_ = url_.replace(\"{budgethouderUid}\", encodeURIComponent(\"\" + budgethouderUid));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processIsProfielBudgethouderVolledig(_response);\r\n });\r\n }\r\n\r\n protected processIsProfielBudgethouderVolledig(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as boolean;\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n isProfielVolledig(): Promise {\r\n let url_ = this.baseUrl + \"/Profiel/IsVolledig\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processIsProfielVolledig(_response);\r\n });\r\n }\r\n\r\n protected processIsProfielVolledig(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as boolean;\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n saveBootstrapTour(tourViewModel: TourViewModel | null | undefined): Promise {\r\n let url_ = this.baseUrl + \"/Profiel/BewaarBootstrapTour\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(tourViewModel);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processSaveBootstrapTour(_response);\r\n });\r\n }\r\n\r\n protected processSaveBootstrapTour(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as boolean;\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class RelatieClient extends AuthorizedApiBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"/api\";\r\n }\r\n\r\n get(uid: string): Promise {\r\n let url_ = this.baseUrl + \"/Relatie/{uid}\";\r\n if (uid === undefined || uid === null)\r\n throw new Error(\"The parameter 'uid' must be defined.\");\r\n url_ = url_.replace(\"{uid}\", encodeURIComponent(\"\" + uid));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processGet(_response);\r\n });\r\n }\r\n\r\n protected processGet(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as WijzigenRelatieProfielViewModel;\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class ServicemeldingClient extends AuthorizedApiBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"/api\";\r\n }\r\n\r\n opslaanServicemelding(serviceMeldingViewModel: ServicemeldingViewModel | null | undefined): Promise {\r\n let url_ = this.baseUrl + \"/Servicemelding/Opslaan\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(serviceMeldingViewModel);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/octet-stream\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processOpslaanServicemelding(_response);\r\n });\r\n }\r\n\r\n protected processOpslaanServicemelding(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n getServicemelding(): Promise {\r\n let url_ = this.baseUrl + \"/Servicemelding\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processGetServicemelding(_response);\r\n });\r\n }\r\n\r\n protected processGetServicemelding(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as ServicemeldingViewModel;\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class SettingClient extends AuthorizedApiBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"/api\";\r\n }\r\n\r\n retrieveSettings(): Promise {\r\n let url_ = this.baseUrl + \"/Setting/retrieveSettings\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processRetrieveSettings(_response);\r\n });\r\n }\r\n\r\n protected processRetrieveSettings(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as SettingViewModel;\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class TkbBerichtenTestToolClient extends AuthorizedApiBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"/api\";\r\n }\r\n\r\n getVerstrekkers(): Promise {\r\n let url_ = this.baseUrl + \"/TkbBerichtenTestTool/GetVerstrekkers\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n headers: {\r\n \"Accept\": \"application/octet-stream\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processGetVerstrekkers(_response);\r\n });\r\n }\r\n\r\n protected processGetVerstrekkers(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n indienenTkb(indienenTkbViewModel: IndienenTkbViewModel | null | undefined): Promise {\r\n let url_ = this.baseUrl + \"/TkbBerichtenTestTool/IndienenTKB\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(indienenTkbViewModel);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/octet-stream\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processIndienenTkb(_response);\r\n });\r\n }\r\n\r\n protected processIndienenTkb(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class ToekenningsbeschikkingClient extends AuthorizedApiBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"/api\";\r\n }\r\n\r\n getById(id: string): Promise {\r\n let url_ = this.baseUrl + \"/Toekenningsbeschikking/{id}\";\r\n if (id === undefined || id === null)\r\n throw new Error(\"The parameter 'id' must be defined.\");\r\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processGetById(_response);\r\n });\r\n }\r\n\r\n protected processGetById(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as ToekenningsbeschikkingViewModel;\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n getByYearAndBudgetholder(jaar: number, budgethouder: string): Promise {\r\n let url_ = this.baseUrl + \"/Toekenningsbeschikking/Jaar/{jaar}/budgethouder/{budgethouder}\";\r\n if (jaar === undefined || jaar === null)\r\n throw new Error(\"The parameter 'jaar' must be defined.\");\r\n url_ = url_.replace(\"{jaar}\", encodeURIComponent(\"\" + jaar));\r\n if (budgethouder === undefined || budgethouder === null)\r\n throw new Error(\"The parameter 'budgethouder' must be defined.\");\r\n url_ = url_.replace(\"{budgethouder}\", encodeURIComponent(\"\" + budgethouder));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processGetByYearAndBudgetholder(_response);\r\n });\r\n }\r\n\r\n protected processGetByYearAndBudgetholder(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as ToekenningsbeschikkingViewModel[];\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class UploadenFactuurClient extends AuthorizedApiBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"/api\";\r\n }\r\n\r\n indienen(factuurgegevensViewModel: FactuurgegevensWithBudgethouderUidViewModel | null | undefined): Promise {\r\n let url_ = this.baseUrl + \"/UploadenFactuur/Indienen\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(factuurgegevensViewModel);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/octet-stream\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processIndienen(_response);\r\n });\r\n }\r\n\r\n protected processIndienen(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n valideerFactuurnummer(budgethouderUid: string, factuurnummer: string | null): Promise {\r\n let url_ = this.baseUrl + \"/UploadenFactuur/ValideerFactuurnummer?\";\r\n if (budgethouderUid === undefined || budgethouderUid === null)\r\n throw new Error(\"The parameter 'budgethouderUid' must be defined and cannot be null.\");\r\n else\r\n url_ += \"budgethouderUid=\" + encodeURIComponent(\"\" + budgethouderUid) + \"&\";\r\n if (factuurnummer === undefined)\r\n throw new Error(\"The parameter 'factuurnummer' must be defined.\");\r\n else if(factuurnummer !== null)\r\n url_ += \"factuurnummer=\" + encodeURIComponent(\"\" + factuurnummer) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processValideerFactuurnummer(_response);\r\n });\r\n }\r\n\r\n protected processValideerFactuurnummer(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as ValidatedViewModel;\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class VergoedingClient extends AuthorizedApiBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"/api\";\r\n }\r\n\r\n getGeselecteerdeVergoeding(budgethouderUid: string, zorgovereenkomstUid: string, ingangsdatum: DateString): Promise {\r\n let url_ = this.baseUrl + \"/vergoeding/geselecteerd/budgethouder/{budgethouderUid}/zok/{zorgovereenkomstUid}/ingangsdatum/{ingangsdatum}\";\r\n if (budgethouderUid === undefined || budgethouderUid === null)\r\n throw new Error(\"The parameter 'budgethouderUid' must be defined.\");\r\n url_ = url_.replace(\"{budgethouderUid}\", encodeURIComponent(\"\" + budgethouderUid));\r\n if (zorgovereenkomstUid === undefined || zorgovereenkomstUid === null)\r\n throw new Error(\"The parameter 'zorgovereenkomstUid' must be defined.\");\r\n url_ = url_.replace(\"{zorgovereenkomstUid}\", encodeURIComponent(\"\" + zorgovereenkomstUid));\r\n if (ingangsdatum === undefined || ingangsdatum === null)\r\n throw new Error(\"The parameter 'ingangsdatum' must be defined.\");\r\n url_ = url_.replace(\"{ingangsdatum}\", encodeURIComponent(\"\" + ingangsdatum));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processGetGeselecteerdeVergoeding(_response);\r\n });\r\n }\r\n\r\n protected processGetGeselecteerdeVergoeding(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as WerkafsprakenVergoedingenViewModel;\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class AfwikkelingAlgemeneBlokkadeZorgverlenerWerktaakClient extends AuthorizedApiBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"/api\";\r\n }\r\n\r\n afhandelen(requestViewModel: AfhandelenRequestViewModel | null | undefined): Promise {\r\n let url_ = this.baseUrl + \"/AfwikkelingAlgemeneBlokkadeZorgverlenerWerktaak/Afhandelen\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(requestViewModel);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processAfhandelen(_response);\r\n });\r\n }\r\n\r\n protected processAfhandelen(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 204) {\r\n return response.text().then((_responseText) => {\r\n return;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n getBlokkerendeDeclaraties(zorgverlenerGuid: string | undefined, datumBeeindigingZorgovereenkomsten: string | undefined): Promise {\r\n let url_ = this.baseUrl + \"/AfwikkelingAlgemeneBlokkadeZorgverlenerWerktaak/GetBlokkerendeDeclaraties?\";\r\n if (zorgverlenerGuid === null)\r\n throw new Error(\"The parameter 'zorgverlenerGuid' cannot be null.\");\r\n else if (zorgverlenerGuid !== undefined)\r\n url_ += \"zorgverlenerGuid=\" + encodeURIComponent(\"\" + zorgverlenerGuid) + \"&\";\r\n if (datumBeeindigingZorgovereenkomsten === null)\r\n throw new Error(\"The parameter 'datumBeeindigingZorgovereenkomsten' cannot be null.\");\r\n else if (datumBeeindigingZorgovereenkomsten !== undefined)\r\n url_ += \"datumBeeindigingZorgovereenkomsten=\" + encodeURIComponent(\"\" + datumBeeindigingZorgovereenkomsten) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processGetBlokkerendeDeclaraties(_response);\r\n });\r\n }\r\n\r\n protected processGetBlokkerendeDeclaraties(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as OverzichtDeclaratieViewModel[];\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class BeeindigenZorgovereenkomstWerktaakClient extends AuthorizedApiBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"/api\";\r\n }\r\n\r\n getTeBeeindigenZorgovereenkomsten(budgethouderUid: string | undefined, zorgverlenerUid: string | undefined): Promise {\r\n let url_ = this.baseUrl + \"/BeeindigenZorgovereenkomstWerktaak/TeBeeindigenZorgovereenkomsten?\";\r\n if (budgethouderUid === null)\r\n throw new Error(\"The parameter 'budgethouderUid' cannot be null.\");\r\n else if (budgethouderUid !== undefined)\r\n url_ += \"budgethouderUid=\" + encodeURIComponent(\"\" + budgethouderUid) + \"&\";\r\n if (zorgverlenerUid === null)\r\n throw new Error(\"The parameter 'zorgverlenerUid' cannot be null.\");\r\n else if (zorgverlenerUid !== undefined)\r\n url_ += \"zorgverlenerUid=\" + encodeURIComponent(\"\" + zorgverlenerUid) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processGetTeBeeindigenZorgovereenkomsten(_response);\r\n });\r\n }\r\n\r\n protected processGetTeBeeindigenZorgovereenkomsten(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as TeBeeindigenZorgovereenkomstModel[];\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n afhandelen(request: BeeindigenZorgovereenkomstWerktaakRequestModel | null | undefined): Promise {\r\n let url_ = this.baseUrl + \"/BeeindigenZorgovereenkomstWerktaak/Afhandelen\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(request);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/octet-stream\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processAfhandelen(_response);\r\n });\r\n }\r\n\r\n protected processAfhandelen(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n beoordelen(request: BeeindigenZorgovereenkomstBeoordelenWerktaakRequestModel | null | undefined): Promise {\r\n let url_ = this.baseUrl + \"/BeeindigenZorgovereenkomstWerktaak/Beoordelen\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(request);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/octet-stream\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processBeoordelen(_response);\r\n });\r\n }\r\n\r\n protected processBeoordelen(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class BuitenBehandelingAanvraagZorgovereenkomstWerktaakClient extends AuthorizedApiBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"/api\";\r\n }\r\n\r\n afhandelen(requestViewModel: AfhandelenRequestViewModel2 | null | undefined): Promise {\r\n let url_ = this.baseUrl + \"/BuitenBehandelingAanvraagZorgovereenkomstWerktaak/Afhandelen\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(requestViewModel);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processAfhandelen(_response);\r\n });\r\n }\r\n\r\n protected processAfhandelen(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 204) {\r\n return response.text().then((_responseText) => {\r\n return;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n previewBrief(requestViewModel: AfhandelenRequestViewModel2 | null | undefined): Promise {\r\n let url_ = this.baseUrl + \"/BuitenBehandelingAanvraagZorgovereenkomstWerktaak/PreviewBrief\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(requestViewModel);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processPreviewBrief(_response);\r\n });\r\n }\r\n\r\n protected processPreviewBrief(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as DownloadFile;\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class DeclaratieIndienenWerktaakClient extends AuthorizedApiBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"/api\";\r\n }\r\n\r\n getNewConcept(werktaakUid: string, declaratieType: DeclaratieType): Promise {\r\n let url_ = this.baseUrl + \"/DeclaratieIndienenWerktaak/NewConcept/{werktaakUid}/{declaratieType}\";\r\n if (werktaakUid === undefined || werktaakUid === null)\r\n throw new Error(\"The parameter 'werktaakUid' must be defined.\");\r\n url_ = url_.replace(\"{werktaakUid}\", encodeURIComponent(\"\" + werktaakUid));\r\n if (declaratieType === undefined || declaratieType === null)\r\n throw new Error(\"The parameter 'declaratieType' must be defined.\");\r\n url_ = url_.replace(\"{declaratieType}\", encodeURIComponent(\"\" + declaratieType));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processGetNewConcept(_response);\r\n });\r\n }\r\n\r\n protected processGetNewConcept(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as DeclaratieWerktaakConceptViewModel;\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n koppelWerktaakAanTerAanvulling(huidigeWerktaakUid: string, werktaakTerAanvullingUid: string): Promise {\r\n let url_ = this.baseUrl + \"/DeclaratieIndienenWerktaak/KoppelWerktaakAanTerAanvulling/{huidigeWerktaakUid}/{werktaakTerAanvullingUid}\";\r\n if (huidigeWerktaakUid === undefined || huidigeWerktaakUid === null)\r\n throw new Error(\"The parameter 'huidigeWerktaakUid' must be defined.\");\r\n url_ = url_.replace(\"{huidigeWerktaakUid}\", encodeURIComponent(\"\" + huidigeWerktaakUid));\r\n if (werktaakTerAanvullingUid === undefined || werktaakTerAanvullingUid === null)\r\n throw new Error(\"The parameter 'werktaakTerAanvullingUid' must be defined.\");\r\n url_ = url_.replace(\"{werktaakTerAanvullingUid}\", encodeURIComponent(\"\" + werktaakTerAanvullingUid));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processKoppelWerktaakAanTerAanvulling(_response);\r\n });\r\n }\r\n\r\n protected processKoppelWerktaakAanTerAanvulling(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as KoppelDeclaratieWerktaakResultaatViewModel;\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n getZorgovereenkomstenVanOpdrachtnemer(model: DeclaratieTypeZorgverlenerPeriodeWerktaakViewModel | null | undefined): Promise {\r\n let url_ = this.baseUrl + \"/DeclaratieIndienenWerktaak/GetZorgovereenkomstenVanOpdrachtnemer\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(model);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processGetZorgovereenkomstenVanOpdrachtnemer(_response);\r\n });\r\n }\r\n\r\n protected processGetZorgovereenkomstenVanOpdrachtnemer(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as DeclaratieWerktaakConceptViewModel;\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n updateVoorGeselecteerdeZorgovereenkomst(model: DeclaratieTypeZorgverlenerPeriodeWerktaakViewModel | null | undefined): Promise {\r\n let url_ = this.baseUrl + \"/DeclaratieIndienenWerktaak/UpdateVoorGeselecteerdeZorgovereenkomst\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(model);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processUpdateVoorGeselecteerdeZorgovereenkomst(_response);\r\n });\r\n }\r\n\r\n protected processUpdateVoorGeselecteerdeZorgovereenkomst(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as DeclaratieWerktaakConceptViewModel;\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n afhandelen(viewModel: DeclaratieWerktaakConceptViewModel | null | undefined): Promise {\r\n let url_ = this.baseUrl + \"/DeclaratieIndienenWerktaak/Afhandelen\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(viewModel);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processAfhandelen(_response);\r\n });\r\n }\r\n\r\n protected processAfhandelen(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 204) {\r\n return response.text().then((_responseText) => {\r\n return;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n previewAfhandelenBrief(viewModel: DeclaratieWerktaakConceptViewModel | null | undefined): Promise {\r\n let url_ = this.baseUrl + \"/DeclaratieIndienenWerktaak/PreviewAfhandelenBrief\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(viewModel);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processPreviewAfhandelenBrief(_response);\r\n });\r\n }\r\n\r\n protected processPreviewAfhandelenBrief(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as DownloadFile;\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n previewBijstortenDeclaratieBrief(bijstortenViewModel: BijstortenBriefBenodighedenViewModel | null | undefined): Promise {\r\n let url_ = this.baseUrl + \"/DeclaratieIndienenWerktaak/PreviewBijstortenDeclaratieBudgethouderBrief\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(bijstortenViewModel);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processPreviewBijstortenDeclaratieBrief(_response);\r\n });\r\n }\r\n\r\n protected processPreviewBijstortenDeclaratieBrief(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as DownloadFile;\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n getTekenbevoegdeRelaties(budgethouderUid: string): Promise {\r\n let url_ = this.baseUrl + \"/DeclaratieIndienenWerktaak/GetTekenbevoegdeRelaties/{budgethouderUid}\";\r\n if (budgethouderUid === undefined || budgethouderUid === null)\r\n throw new Error(\"The parameter 'budgethouderUid' must be defined.\");\r\n url_ = url_.replace(\"{budgethouderUid}\", encodeURIComponent(\"\" + budgethouderUid));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processGetTekenbevoegdeRelaties(_response);\r\n });\r\n }\r\n\r\n protected processGetTekenbevoegdeRelaties(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as WeergaveRelatieViewModel[];\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class DeclaratieIntrekkenWerktaakClient extends AuthorizedApiBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"/api\";\r\n }\r\n\r\n goedkeuren(werktaakUid: string, declaratieUid: string): Promise {\r\n let url_ = this.baseUrl + \"/DeclaratieIntrekkenWerktaak/Goedkeuren/Werktaak/{werktaakUid}/Declaratie/{declaratieUid}\";\r\n if (werktaakUid === undefined || werktaakUid === null)\r\n throw new Error(\"The parameter 'werktaakUid' must be defined.\");\r\n url_ = url_.replace(\"{werktaakUid}\", encodeURIComponent(\"\" + werktaakUid));\r\n if (declaratieUid === undefined || declaratieUid === null)\r\n throw new Error(\"The parameter 'declaratieUid' must be defined.\");\r\n url_ = url_.replace(\"{declaratieUid}\", encodeURIComponent(\"\" + declaratieUid));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"POST\",\r\n headers: {\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processGoedkeuren(_response);\r\n });\r\n }\r\n\r\n protected processGoedkeuren(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 204) {\r\n return response.text().then((_responseText) => {\r\n return;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n afkeuren(werktaakUid: string, declaratieUid: string): Promise {\r\n let url_ = this.baseUrl + \"/DeclaratieIntrekkenWerktaak/Afkeuren/Werktaak/{werktaakUid}/Declaratie/{declaratieUid}\";\r\n if (werktaakUid === undefined || werktaakUid === null)\r\n throw new Error(\"The parameter 'werktaakUid' must be defined.\");\r\n url_ = url_.replace(\"{werktaakUid}\", encodeURIComponent(\"\" + werktaakUid));\r\n if (declaratieUid === undefined || declaratieUid === null)\r\n throw new Error(\"The parameter 'declaratieUid' must be defined.\");\r\n url_ = url_.replace(\"{declaratieUid}\", encodeURIComponent(\"\" + declaratieUid));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"POST\",\r\n headers: {\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processAfkeuren(_response);\r\n });\r\n }\r\n\r\n protected processAfkeuren(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 204) {\r\n return response.text().then((_responseText) => {\r\n return;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class DeclaratieJaarovergangClient extends AuthorizedApiBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"/api\";\r\n }\r\n\r\n goedkeurenActieWerktaak(werktaakUid: string, declaratieUid: string): Promise {\r\n let url_ = this.baseUrl + \"/DeclaratieJaarovergangWerktaak/Actie/Werktaak/{werktaakUid}/Declaratie/{declaratieUid}\";\r\n if (werktaakUid === undefined || werktaakUid === null)\r\n throw new Error(\"The parameter 'werktaakUid' must be defined.\");\r\n url_ = url_.replace(\"{werktaakUid}\", encodeURIComponent(\"\" + werktaakUid));\r\n if (declaratieUid === undefined || declaratieUid === null)\r\n throw new Error(\"The parameter 'declaratieUid' must be defined.\");\r\n url_ = url_.replace(\"{declaratieUid}\", encodeURIComponent(\"\" + declaratieUid));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"POST\",\r\n headers: {\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processGoedkeurenActieWerktaak(_response);\r\n });\r\n }\r\n\r\n protected processGoedkeurenActieWerktaak(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 204) {\r\n return response.text().then((_responseText) => {\r\n return;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n goedkeurenSalarisWerktaak(werktaakUid: string, declaratieUid: string): Promise {\r\n let url_ = this.baseUrl + \"/DeclaratieJaarovergangWerktaak/Salaris/Werktaak/{werktaakUid}/Declaratie/{declaratieUid}\";\r\n if (werktaakUid === undefined || werktaakUid === null)\r\n throw new Error(\"The parameter 'werktaakUid' must be defined.\");\r\n url_ = url_.replace(\"{werktaakUid}\", encodeURIComponent(\"\" + werktaakUid));\r\n if (declaratieUid === undefined || declaratieUid === null)\r\n throw new Error(\"The parameter 'declaratieUid' must be defined.\");\r\n url_ = url_.replace(\"{declaratieUid}\", encodeURIComponent(\"\" + declaratieUid));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"POST\",\r\n headers: {\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processGoedkeurenSalarisWerktaak(_response);\r\n });\r\n }\r\n\r\n protected processGoedkeurenSalarisWerktaak(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 204) {\r\n return response.text().then((_responseText) => {\r\n return;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class IndexerenWerktaakClient extends AuthorizedApiBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"/api\";\r\n }\r\n\r\n save(documentIndexerenData: DocumentIndexerenData | null | undefined): Promise {\r\n let url_ = this.baseUrl + \"/IndexerenWerktaak/Opslaan\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(documentIndexerenData);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/octet-stream\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processSave(_response);\r\n });\r\n }\r\n\r\n protected processSave(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n getMogelijkeWerktaakInstanties(documentIndexerenData: SoortDocumentMetDocumentViewModel[] | null | undefined): Promise {\r\n let url_ = this.baseUrl + \"/IndexerenWerktaak/GetMogelijkeWerktaakInstanties\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(documentIndexerenData);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/octet-stream\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processGetMogelijkeWerktaakInstanties(_response);\r\n });\r\n }\r\n\r\n protected processGetMogelijkeWerktaakInstanties(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n getWerktaken(documentIndexerenData: DocumentIndexerenData | null | undefined): Promise {\r\n let url_ = this.baseUrl + \"/IndexerenWerktaak/GetWerktaken\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(documentIndexerenData);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/octet-stream\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processGetWerktaken(_response);\r\n });\r\n }\r\n\r\n protected processGetWerktaken(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class InvoerenFactuurWerktaakClient extends AuthorizedApiBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"/api\";\r\n }\r\n\r\n getDeclaratieConcept(viewModel: InvoerenFactuurWerktaakViewModel | null | undefined): Promise {\r\n let url_ = this.baseUrl + \"/InvoerenFactuurWerktaak/GetDeclaratieConcept\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(viewModel);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processGetDeclaratieConcept(_response);\r\n });\r\n }\r\n\r\n protected processGetDeclaratieConcept(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as DeclaratieWerktaakConceptViewModel;\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n getZorgovereenkomstenOpBudgethouderIdZorgverlenerIdEnPeriode(model: DeclaratieTypeZorgverlenerPeriodeViewModel | null | undefined): Promise {\r\n let url_ = this.baseUrl + \"/InvoerenFactuurWerktaak/GetZorgovereenkomsten\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(model);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processGetZorgovereenkomstenOpBudgethouderIdZorgverlenerIdEnPeriode(_response);\r\n });\r\n }\r\n\r\n protected processGetZorgovereenkomstenOpBudgethouderIdZorgverlenerIdEnPeriode(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as DeclaratieZorgovereenkomstViewModel[];\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n matchFactuurregelsOpZorgovereenkomst(model: MatchFactuurregelsOpZorgovereenkomstModel | null | undefined): Promise {\r\n let url_ = this.baseUrl + \"/InvoerenFactuurWerktaak/MatchFactuurregelsWithZorgovereenkomst\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(model);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/octet-stream\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processMatchFactuurregelsOpZorgovereenkomst(_response);\r\n });\r\n }\r\n\r\n protected processMatchFactuurregelsOpZorgovereenkomst(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n afhandelenFactuur(declaratie: DeclaratieWerktaakConceptViewModel | null | undefined): Promise {\r\n let url_ = this.baseUrl + \"/InvoerenFactuurWerktaak/AfhandelenFactuur\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(declaratie);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/octet-stream\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processAfhandelenFactuur(_response);\r\n });\r\n }\r\n\r\n protected processAfhandelenFactuur(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n preview(declaratie: DeclaratieWerktaakConceptViewModel | null | undefined): Promise {\r\n let url_ = this.baseUrl + \"/InvoerenFactuurWerktaak/Preview\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(declaratie);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/octet-stream\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processPreview(_response);\r\n });\r\n }\r\n\r\n protected processPreview(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n previewBijstortenBrief(bijstortenBriefBenodigheden: BijstortenBriefBenodighedenViewModel | null | undefined): Promise {\r\n let url_ = this.baseUrl + \"/InvoerenFactuurWerktaak/PreviewBijstortenBudgethouderBrief\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(bijstortenBriefBenodigheden);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/octet-stream\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processPreviewBijstortenBrief(_response);\r\n });\r\n }\r\n\r\n protected processPreviewBijstortenBrief(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n afhandelenInvoerenFactuurStap(factuur: InvoerenFactuurWerktaakViewModel | null | undefined): Promise {\r\n let url_ = this.baseUrl + \"/InvoerenFactuurWerktaak/AfhandelenInvoerenFactuurStap\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(factuur);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/octet-stream\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processAfhandelenInvoerenFactuurStap(_response);\r\n });\r\n }\r\n\r\n protected processAfhandelenInvoerenFactuurStap(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n previewInvoerenFactuurStap(factuur: InvoerenFactuurWerktaakViewModel | null | undefined): Promise {\r\n let url_ = this.baseUrl + \"/InvoerenFactuurWerktaak/PreviewInvoerenFactuurStap\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(factuur);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/octet-stream\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processPreviewInvoerenFactuurStap(_response);\r\n });\r\n }\r\n\r\n protected processPreviewInvoerenFactuurStap(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class MaandloonVerwerkenWerktaakClient extends AuthorizedApiBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"/api\";\r\n }\r\n\r\n save(maandloonBijZiekteViewModel: MaandloonBijZiekteTaakViewModel | null | undefined): Promise {\r\n let url_ = this.baseUrl + \"/Werkvoorraad/Werktaak/MaandloonVerwerkenWerktaak/Save\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(maandloonBijZiekteViewModel);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processSave(_response);\r\n });\r\n }\r\n\r\n protected processSave(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 204) {\r\n return response.text().then((_responseText) => {\r\n return;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class ProfielWerktaakClient extends AuthorizedApiBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"/api\";\r\n }\r\n\r\n save(viewModel: WijzigenRelatieProfielViewModel | null | undefined): Promise {\r\n let url_ = this.baseUrl + \"/ProfielWerktaak/Save\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(viewModel);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/octet-stream\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processSave(_response);\r\n });\r\n }\r\n\r\n protected processSave(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n get(uid: string): Promise {\r\n let url_ = this.baseUrl + \"/ProfielWerktaak/{uid}\";\r\n if (uid === undefined || uid === null)\r\n throw new Error(\"The parameter 'uid' must be defined.\");\r\n url_ = url_.replace(\"{uid}\", encodeURIComponent(\"\" + uid));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processGet(_response);\r\n });\r\n }\r\n\r\n protected processGet(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as WijzigenRelatieProfielViewModel;\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n registreerOverlijdenZorgverlener(zorgverlenerUid: string): Promise {\r\n let url_ = this.baseUrl + \"/ProfielWerktaak/OverlijdenZorgverlener/{zorgverlenerUid}\";\r\n if (zorgverlenerUid === undefined || zorgverlenerUid === null)\r\n throw new Error(\"The parameter 'zorgverlenerUid' must be defined.\");\r\n url_ = url_.replace(\"{zorgverlenerUid}\", encodeURIComponent(\"\" + zorgverlenerUid));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"POST\",\r\n headers: {\r\n \"Accept\": \"application/octet-stream\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processRegistreerOverlijdenZorgverlener(_response);\r\n });\r\n }\r\n\r\n protected processRegistreerOverlijdenZorgverlener(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class VerwijderenBudgethouderWerktaakClient extends AuthorizedApiBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"/api\";\r\n }\r\n\r\n addWerkTaakToDeleteBudgethouder(budgethouderUid: string): Promise {\r\n let url_ = this.baseUrl + \"/VerwijderenBudgethouderWerkTaak/Aanmaken/{budgethouderUid}\";\r\n if (budgethouderUid === undefined || budgethouderUid === null)\r\n throw new Error(\"The parameter 'budgethouderUid' must be defined.\");\r\n url_ = url_.replace(\"{budgethouderUid}\", encodeURIComponent(\"\" + budgethouderUid));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"POST\",\r\n headers: {\r\n \"Accept\": \"application/octet-stream\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processAddWerkTaakToDeleteBudgethouder(_response);\r\n });\r\n }\r\n\r\n protected processAddWerkTaakToDeleteBudgethouder(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n afhandelen(request: VerwijderenBudgethouderRequestModel | null | undefined): Promise {\r\n let url_ = this.baseUrl + \"/VerwijderenBudgethouderWerktaak/Afhandelen\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(request);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/octet-stream\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processAfhandelen(_response);\r\n });\r\n }\r\n\r\n protected processAfhandelen(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n canDeleteBudgethouder(budgethouderUid: string): Promise {\r\n let url_ = this.baseUrl + \"/VerwijderenBudgethouderWerktaak/MagVerwijderen/{budgethouderUid}\";\r\n if (budgethouderUid === undefined || budgethouderUid === null)\r\n throw new Error(\"The parameter 'budgethouderUid' must be defined.\");\r\n url_ = url_.replace(\"{budgethouderUid}\", encodeURIComponent(\"\" + budgethouderUid));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n headers: {\r\n \"Accept\": \"application/octet-stream\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processCanDeleteBudgethouder(_response);\r\n });\r\n }\r\n\r\n protected processCanDeleteBudgethouder(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class ZorgovereenkomstPapierClient extends AuthorizedApiBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"/api\";\r\n }\r\n\r\n fiatteren(model: FiatteerRequestViewModel | null | undefined): Promise {\r\n let url_ = this.baseUrl + \"/ZorgovereenkomstPapier/Fiatteren\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(model);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processFiatteren(_response);\r\n });\r\n }\r\n\r\n protected processFiatteren(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 204) {\r\n return response.text().then((_responseText) => {\r\n return;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n indienen(model: IndienenZorgovereenkomstRequestModel | null | undefined): Promise {\r\n let url_ = this.baseUrl + \"/Werkvoorraad/ZorgovereenkomstWerktaak/DienIn\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(model);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processIndienen(_response);\r\n });\r\n }\r\n\r\n protected processIndienen(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 204) {\r\n return response.text().then((_responseText) => {\r\n return;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n getConceptById(uId: string): Promise {\r\n let url_ = this.baseUrl + \"/Werkvoorraad/ZorgovereenkomstWerktaak/ConceptById/{uId}\";\r\n if (uId === undefined || uId === null)\r\n throw new Error(\"The parameter 'uId' must be defined.\");\r\n url_ = url_.replace(\"{uId}\", encodeURIComponent(\"\" + uId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processGetConceptById(_response);\r\n });\r\n }\r\n\r\n protected processGetConceptById(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as PapierenZorgovereenkomstConceptModel;\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n getSupplementZorgovereenkomstenByWettenAndBudgethouderUId(request: GetSupplementZorgovereenkomstenByWettenAndBudgethouderUIdRequest | null | undefined): Promise {\r\n let url_ = this.baseUrl + \"/Werkvoorraad/ZorgovereenkomstWerktaak/getSupplementZorgovereenkomstenByWettenAndBudgethouderUId\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(request);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processGetSupplementZorgovereenkomstenByWettenAndBudgethouderUId(_response);\r\n });\r\n }\r\n\r\n protected processGetSupplementZorgovereenkomstenByWettenAndBudgethouderUId(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as PapierenZorgovereenkomstConceptOverviewViewModel;\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class ZorgovereenkomstPapierenWijzigenClient extends AuthorizedApiBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"/api\";\r\n }\r\n\r\n fiatteren(model: FiatteerRequestViewModel | null | undefined): Promise {\r\n let url_ = this.baseUrl + \"/ZorgovereenkomstPapierWijzigen/Fiatteren\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(model);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/octet-stream\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processFiatteren(_response);\r\n });\r\n }\r\n\r\n protected processFiatteren(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n indienen(model: IndienenZorgovereenkomstWijzigingRequestModel | null | undefined): Promise {\r\n let url_ = this.baseUrl + \"/Werkvoorraad/ZorgovereenkomstPapierenWijzigenWerktaak/DienIn\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(model);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/octet-stream\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processIndienen(_response);\r\n });\r\n }\r\n\r\n protected processIndienen(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n getConceptByZorgovereenkomstId(werktaakUid: string | undefined, zorgovereenkomstUid: string | undefined): Promise {\r\n let url_ = this.baseUrl + \"/Werkvoorraad/ZorgovereenkomstPapierenWijzigenWerktaak/ConceptOphalen?\";\r\n if (werktaakUid === null)\r\n throw new Error(\"The parameter 'werktaakUid' cannot be null.\");\r\n else if (werktaakUid !== undefined)\r\n url_ += \"werktaakUid=\" + encodeURIComponent(\"\" + werktaakUid) + \"&\";\r\n if (zorgovereenkomstUid === null)\r\n throw new Error(\"The parameter 'zorgovereenkomstUid' cannot be null.\");\r\n else if (zorgovereenkomstUid !== undefined)\r\n url_ += \"zorgovereenkomstUid=\" + encodeURIComponent(\"\" + zorgovereenkomstUid) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processGetConceptByZorgovereenkomstId(_response);\r\n });\r\n }\r\n\r\n protected processGetConceptByZorgovereenkomstId(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as PapierenZorgovereenkomstWijzigenConceptModel;\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n previewFiatterenBrief(model: FiatteerRequestViewModel | null | undefined): Promise {\r\n let url_ = this.baseUrl + \"/ZorgovereenkomstPapierWijzigen/PreviewFiatterenBrief\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(model);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/octet-stream\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processPreviewFiatterenBrief(_response);\r\n });\r\n }\r\n\r\n protected processPreviewFiatterenBrief(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n getInTeTrekkkenDeclaratiesVoorWijzigenZorgovereenkomst(conceptUid: string): Promise {\r\n let url_ = this.baseUrl + \"/Werkvoorraad/ZorgovereenkomstPapierenWijzigenWerktaak/InTetrekkenDeclaraties/{conceptUid}\";\r\n if (conceptUid === undefined || conceptUid === null)\r\n throw new Error(\"The parameter 'conceptUid' must be defined.\");\r\n url_ = url_.replace(\"{conceptUid}\", encodeURIComponent(\"\" + conceptUid));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processGetInTeTrekkkenDeclaratiesVoorWijzigenZorgovereenkomst(_response);\r\n });\r\n }\r\n\r\n protected processGetInTeTrekkkenDeclaratiesVoorWijzigenZorgovereenkomst(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as ZorgovereenkomstDeclaratiesIntrekkenViewModel;\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n getApproval(viewModel: PapierenZorgovereenkomstWijzigenApprovalInputViewModel | null | undefined): Promise {\r\n let url_ = this.baseUrl + \"/ZorgovereenkomstPapierWijzigen/GetApproval\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(viewModel);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processGetApproval(_response);\r\n });\r\n }\r\n\r\n protected processGetApproval(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as ZorgovereenkomstWijzigenApprovalViewModel;\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class ZorgovereenkomstWerktaakClient extends AuthorizedApiBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"/api\";\r\n }\r\n\r\n beoordeel(fiatterenViewModel: FiatterenViewModel | null | undefined): Promise {\r\n let url_ = this.baseUrl + \"/Werkvoorraad/ZorgovereenkomstWerktaak/Beoordeel\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(fiatterenViewModel);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processBeoordeel(_response);\r\n });\r\n }\r\n\r\n protected processBeoordeel(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 204) {\r\n return response.text().then((_responseText) => {\r\n return;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n previewBeoordeelBrief(fiatterenViewModel: FiatterenViewModel | null | undefined): Promise {\r\n let url_ = this.baseUrl + \"/Werkvoorraad/ZorgovereenkomstWerktaak/PreviewBeoordeelBrief\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(fiatterenViewModel);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processPreviewBeoordeelBrief(_response);\r\n });\r\n }\r\n\r\n protected processPreviewBeoordeelBrief(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as DownloadFile;\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n fiatteerZorgovereenkomstconcept(model: FiatteerRequestViewModel | null | undefined): Promise {\r\n let url_ = this.baseUrl + \"/Werkvoorraad/ZorgovereenkomstWerktaak/Fiatteer\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(model);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/octet-stream\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processFiatteerZorgovereenkomstconcept(_response);\r\n });\r\n }\r\n\r\n protected processFiatteerZorgovereenkomstconcept(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n previewFiatteerBrief(model: FiatteerRequestViewModel | null | undefined): Promise {\r\n let url_ = this.baseUrl + \"/Werkvoorraad/ZorgovereenkomstWerktaak/PreviewFiatteerBrief\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(model);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processPreviewFiatteerBrief(_response);\r\n });\r\n }\r\n\r\n protected processPreviewFiatteerBrief(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as DownloadFile;\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n getBudgethouderById(budgethouderid: string): Promise {\r\n let url_ = this.baseUrl + \"/Werkvoorraad/ZorgovereenkomstWerktaak/BudgethouderById/{budgethouderid}\";\r\n if (budgethouderid === undefined || budgethouderid === null)\r\n throw new Error(\"The parameter 'budgethouderid' must be defined.\");\r\n url_ = url_.replace(\"{budgethouderid}\", encodeURIComponent(\"\" + budgethouderid));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processGetBudgethouderById(_response);\r\n });\r\n }\r\n\r\n protected processGetBudgethouderById(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as BudgethouderReadOnlyViewModel;\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n getGeldigeToekenningsbeschikkingen(budgethouderid: string): Promise {\r\n let url_ = this.baseUrl + \"/Werkvoorraad/ZorgovereenkomstWerktaak/GeldigeToekenningsbeschikkingen/{budgethouderid}\";\r\n if (budgethouderid === undefined || budgethouderid === null)\r\n throw new Error(\"The parameter 'budgethouderid' must be defined.\");\r\n url_ = url_.replace(\"{budgethouderid}\", encodeURIComponent(\"\" + budgethouderid));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processGetGeldigeToekenningsbeschikkingen(_response);\r\n });\r\n }\r\n\r\n protected processGetGeldigeToekenningsbeschikkingen(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as ToekenningsbeschikkingVertegenwoordigerReadOnlyViewModel;\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n areAllExpectedToekenningsbeschikkingenSelected(request: AreAllExpectedToekenningsbeschikkingenSelectedRequest | null | undefined): Promise {\r\n let url_ = this.baseUrl + \"/Werkvoorraad/ZorgovereenkomstWerktaak/AreAllExpectedToekenningsbeschikkingenSelected\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(request);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/octet-stream\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processAreAllExpectedToekenningsbeschikkingenSelected(_response);\r\n });\r\n }\r\n\r\n protected processAreAllExpectedToekenningsbeschikkingenSelected(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n getToekenningsbeschikkingenByIds(model: IdsInputModel | null | undefined): Promise {\r\n let url_ = this.baseUrl + \"/Werkvoorraad/ZorgovereenkomstWerktaak/ToekenningsbeschikkingenByIds\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(model);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processGetToekenningsbeschikkingenByIds(_response);\r\n });\r\n }\r\n\r\n protected processGetToekenningsbeschikkingenByIds(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as ToekenningsbeschikkingReadOnlyViewModel[];\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n getInTeTrekkkenDeclaratiesVoorWijzigenZorgovereenkomst(conceptUid: string): Promise {\r\n let url_ = this.baseUrl + \"/Werkvoorraad/ZorgovereenkomstWerktaak/InTetrekkenDeclaratiesVoorWijzigenZorgovereenkomst/{conceptUid}\";\r\n if (conceptUid === undefined || conceptUid === null)\r\n throw new Error(\"The parameter 'conceptUid' must be defined.\");\r\n url_ = url_.replace(\"{conceptUid}\", encodeURIComponent(\"\" + conceptUid));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processGetInTeTrekkkenDeclaratiesVoorWijzigenZorgovereenkomst(_response);\r\n });\r\n }\r\n\r\n protected processGetInTeTrekkkenDeclaratiesVoorWijzigenZorgovereenkomst(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as ZorgovereenkomstDeclaratiesIntrekkenViewModel;\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n getInTeTrekkkenDeclaratiesVoorBeeindigenZorgovereenkomst(request: GetInTeTrekkenDeclaratiesBeeindigenZorgovereenkomstRequest | null | undefined): Promise {\r\n let url_ = this.baseUrl + \"/Werkvoorraad/ZorgovereenkomstWerktaak/InTetrekkenDeclaratiesVoorBeeindigenZorgovereenkomst\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(request);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processGetInTeTrekkkenDeclaratiesVoorBeeindigenZorgovereenkomst(_response);\r\n });\r\n }\r\n\r\n protected processGetInTeTrekkkenDeclaratiesVoorBeeindigenZorgovereenkomst(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as ZorgovereenkomstDeclaratiesIntrekkenViewModel;\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n getApproval(viewModel: ZorgovereenkomstWijzigenWerktaakApprovalInputViewModel | null | undefined): Promise {\r\n let url_ = this.baseUrl + \"/Werkvoorraad/ZorgovereenkomstWerktaak/Wijzigen/GetApproval\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(viewModel);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processGetApproval(_response);\r\n });\r\n }\r\n\r\n protected processGetApproval(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as ZorgovereenkomstWijzigenApprovalViewModel;\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n getVoorWabKetenRelevanteZorgovereenkomsten(zorgovereenkomstUid: string): Promise {\r\n let url_ = this.baseUrl + \"/Werkvoorraad/ZorgovereenkomstWerktaak/GetVoorWabKetenRelevanteZorgovereenkomsten/{zorgovereenkomstUid}\";\r\n if (zorgovereenkomstUid === undefined || zorgovereenkomstUid === null)\r\n throw new Error(\"The parameter 'zorgovereenkomstUid' must be defined.\");\r\n url_ = url_.replace(\"{zorgovereenkomstUid}\", encodeURIComponent(\"\" + zorgovereenkomstUid));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processGetVoorWabKetenRelevanteZorgovereenkomsten(_response);\r\n });\r\n }\r\n\r\n protected processGetVoorWabKetenRelevanteZorgovereenkomsten(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as VoorWabKetenRelevanteDataViewModel;\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n getToonVoorWabKetenRelevanteData(zorgovereenkomstUid: string): Promise {\r\n let url_ = this.baseUrl + \"/Werkvoorraad/ZorgovereenkomstWerktaak/GetToonVoorWabKetenRelevanteData/{zorgovereenkomstUid}\";\r\n if (zorgovereenkomstUid === undefined || zorgovereenkomstUid === null)\r\n throw new Error(\"The parameter 'zorgovereenkomstUid' must be defined.\");\r\n url_ = url_.replace(\"{zorgovereenkomstUid}\", encodeURIComponent(\"\" + zorgovereenkomstUid));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processGetToonVoorWabKetenRelevanteData(_response);\r\n });\r\n }\r\n\r\n protected processGetToonVoorWabKetenRelevanteData(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as boolean;\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class WerkzaamheidMappingClient extends AuthorizedApiBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"/api\";\r\n }\r\n\r\n getAll(): Promise {\r\n let url_ = this.baseUrl + \"/WerkzaamheidMapping/GetAll\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n headers: {\r\n \"Accept\": \"application/octet-stream\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processGetAll(_response);\r\n });\r\n }\r\n\r\n protected processGetAll(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n save(werkzaamheidMappingModel: WerkzaamheidMappingModel | null | undefined): Promise {\r\n let url_ = this.baseUrl + \"/WerkzaamheidMapping/Save\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(werkzaamheidMappingModel);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/octet-stream\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processSave(_response);\r\n });\r\n }\r\n\r\n protected processSave(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n getDescriptions(): Promise {\r\n let url_ = this.baseUrl + \"/WerkzaamheidMapping/GetDescriptions\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n headers: {\r\n \"Accept\": \"application/octet-stream\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processGetDescriptions(_response);\r\n });\r\n }\r\n\r\n protected processGetDescriptions(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n delete(uid: string): Promise {\r\n let url_ = this.baseUrl + \"/WerkzaamheidMapping/Delete/{uid}\";\r\n if (uid === undefined || uid === null)\r\n throw new Error(\"The parameter 'uid' must be defined.\");\r\n url_ = url_.replace(\"{uid}\", encodeURIComponent(\"\" + uid));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"POST\",\r\n headers: {\r\n \"Accept\": \"application/octet-stream\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processDelete(_response);\r\n });\r\n }\r\n\r\n protected processDelete(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class ZiekAndZwangerschapsmeldingClient extends AuthorizedApiBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"/api\";\r\n }\r\n\r\n getZiekAndZwangerschapsmeldingGegevensInPeriode(model: GetZiekAndZwangerschapsmeldingGegevensInPeriodeRequestViewModel | null | undefined): Promise {\r\n let url_ = this.baseUrl + \"/ZiekAndZwangerschapsmelding/GetZiekAndZwangerschapsmeldingGegevensInPeriode\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(model);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processGetZiekAndZwangerschapsmeldingGegevensInPeriode(_response);\r\n });\r\n }\r\n\r\n protected processGetZiekAndZwangerschapsmeldingGegevensInPeriode(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as GetZiekAndZwangerschapsmeldingGegevensInPeriodeResultViewModel;\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class ZiekmeldingClient extends AuthorizedApiBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"/api\";\r\n }\r\n\r\n nieuweZiekmelding(budgethouderId: string): Promise {\r\n let url_ = this.baseUrl + \"/Ziekmelding/Opstellen/BudgethouderId/{budgethouderId}\";\r\n if (budgethouderId === undefined || budgethouderId === null)\r\n throw new Error(\"The parameter 'budgethouderId' must be defined.\");\r\n url_ = url_.replace(\"{budgethouderId}\", encodeURIComponent(\"\" + budgethouderId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processNieuweZiekmelding(_response);\r\n });\r\n }\r\n\r\n protected processNieuweZiekmelding(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as ZiekmeldingViewModel;\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n telefoonnummerVerpleegAdres(zorgverlenerId: string): Promise {\r\n let url_ = this.baseUrl + \"/Ziekmelding/TelefoonnummerVerpleegAdres/{zorgverlenerId}\";\r\n if (zorgverlenerId === undefined || zorgverlenerId === null)\r\n throw new Error(\"The parameter 'zorgverlenerId' must be defined.\");\r\n url_ = url_.replace(\"{zorgverlenerId}\", encodeURIComponent(\"\" + zorgverlenerId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n headers: {\r\n \"Accept\": \"application/octet-stream\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processTelefoonnummerVerpleegAdres(_response);\r\n });\r\n }\r\n\r\n protected processTelefoonnummerVerpleegAdres(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n overzichtMeldingen(): Promise {\r\n let url_ = this.baseUrl + \"/Ziekmelding/Huidige\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processOverzichtMeldingen(_response);\r\n });\r\n }\r\n\r\n protected processOverzichtMeldingen(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as SelecteerZiekmeldingViewModel[];\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n overzichtAfgeslotenMeldingen(): Promise {\r\n let url_ = this.baseUrl + \"/Ziekmelding/Afgesloten\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processOverzichtAfgeslotenMeldingen(_response);\r\n });\r\n }\r\n\r\n protected processOverzichtAfgeslotenMeldingen(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as SelecteerZiekmeldingViewModel[];\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n overzichtMeldingenByBudgethouderId(budgethouderId: string): Promise {\r\n let url_ = this.baseUrl + \"/Ziekmelding/Huidige/BudgethouderId/{budgethouderId}\";\r\n if (budgethouderId === undefined || budgethouderId === null)\r\n throw new Error(\"The parameter 'budgethouderId' must be defined.\");\r\n url_ = url_.replace(\"{budgethouderId}\", encodeURIComponent(\"\" + budgethouderId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processOverzichtMeldingenByBudgethouderId(_response);\r\n });\r\n }\r\n\r\n protected processOverzichtMeldingenByBudgethouderId(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as SelecteerZiekmeldingViewModel[];\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n overzichtAfgeslotenMeldingenByBudgethouderId(budgethouderId: string): Promise {\r\n let url_ = this.baseUrl + \"/Ziekmelding/Afgesloten/BudgethouderId/{budgethouderId}\";\r\n if (budgethouderId === undefined || budgethouderId === null)\r\n throw new Error(\"The parameter 'budgethouderId' must be defined.\");\r\n url_ = url_.replace(\"{budgethouderId}\", encodeURIComponent(\"\" + budgethouderId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processOverzichtAfgeslotenMeldingenByBudgethouderId(_response);\r\n });\r\n }\r\n\r\n protected processOverzichtAfgeslotenMeldingenByBudgethouderId(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as SelecteerZiekmeldingViewModel[];\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n opslaanZiekmelding(ziekmeldingViewModel: ZiekmeldingViewModel | null | undefined): Promise {\r\n let url_ = this.baseUrl + \"/Ziekmelding/Save\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(ziekmeldingViewModel);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processOpslaanZiekmelding(_response);\r\n });\r\n }\r\n\r\n protected processOpslaanZiekmelding(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as string;\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n isZorgverlenerZiekOfZwanger(budgethouderId: string | undefined, ingangsdatum: DateString | undefined, zorgverlenerId: string | undefined): Promise {\r\n let url_ = this.baseUrl + \"/Ziekmelding/IsZiekOfZwanger?\";\r\n if (budgethouderId === null)\r\n throw new Error(\"The parameter 'budgethouderId' cannot be null.\");\r\n else if (budgethouderId !== undefined)\r\n url_ += \"budgethouderId=\" + encodeURIComponent(\"\" + budgethouderId) + \"&\";\r\n if (ingangsdatum === null)\r\n throw new Error(\"The parameter 'ingangsdatum' cannot be null.\");\r\n else if (ingangsdatum !== undefined)\r\n url_ += \"ingangsdatum=\" + encodeURIComponent(\"\" + ingangsdatum) + \"&\";\r\n if (zorgverlenerId === null)\r\n throw new Error(\"The parameter 'zorgverlenerId' cannot be null.\");\r\n else if (zorgverlenerId !== undefined)\r\n url_ += \"zorgverlenerId=\" + encodeURIComponent(\"\" + zorgverlenerId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n headers: {\r\n \"Accept\": \"application/octet-stream\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processIsZorgverlenerZiekOfZwanger(_response);\r\n });\r\n }\r\n\r\n protected processIsZorgverlenerZiekOfZwanger(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n ziekmeldingZorgovereenkomstGegevens(budgethouderId: string | undefined, ingangsdatum: DateString | undefined, zorgverlenerId: string | undefined): Promise {\r\n let url_ = this.baseUrl + \"/Ziekmelding/MaandelijkseReiskostenMetWerkdagen?\";\r\n if (budgethouderId === null)\r\n throw new Error(\"The parameter 'budgethouderId' cannot be null.\");\r\n else if (budgethouderId !== undefined)\r\n url_ += \"budgethouderId=\" + encodeURIComponent(\"\" + budgethouderId) + \"&\";\r\n if (ingangsdatum === null)\r\n throw new Error(\"The parameter 'ingangsdatum' cannot be null.\");\r\n else if (ingangsdatum !== undefined)\r\n url_ += \"ingangsdatum=\" + encodeURIComponent(\"\" + ingangsdatum) + \"&\";\r\n if (zorgverlenerId === null)\r\n throw new Error(\"The parameter 'zorgverlenerId' cannot be null.\");\r\n else if (zorgverlenerId !== undefined)\r\n url_ += \"zorgverlenerId=\" + encodeURIComponent(\"\" + zorgverlenerId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processZiekmeldingZorgovereenkomstGegevens(_response);\r\n });\r\n }\r\n\r\n protected processZiekmeldingZorgovereenkomstGegevens(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as ZiekmeldingZorgovereenkomstGegevensViewModel;\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n getZiekmelding(uid: string): Promise {\r\n let url_ = this.baseUrl + \"/Ziekmelding/{uid}\";\r\n if (uid === undefined || uid === null)\r\n throw new Error(\"The parameter 'uid' must be defined.\");\r\n url_ = url_.replace(\"{uid}\", encodeURIComponent(\"\" + uid));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processGetZiekmelding(_response);\r\n });\r\n }\r\n\r\n protected processGetZiekmelding(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as WeergevenZiekmeldingViewModel;\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n beterMelden(betermelding: BetermeldenViewModel | null | undefined): Promise {\r\n let url_ = this.baseUrl + \"/Ziekmelding/Betermelden\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(betermelding);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/octet-stream\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processBeterMelden(_response);\r\n });\r\n }\r\n\r\n protected processBeterMelden(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n getWijzigenZiekmelding(uid: string): Promise {\r\n let url_ = this.baseUrl + \"/Ziekmelding/Wijzigen/{uid}\";\r\n if (uid === undefined || uid === null)\r\n throw new Error(\"The parameter 'uid' must be defined.\");\r\n url_ = url_.replace(\"{uid}\", encodeURIComponent(\"\" + uid));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processGetWijzigenZiekmelding(_response);\r\n });\r\n }\r\n\r\n protected processGetWijzigenZiekmelding(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as ZiekmeldingWijzigenViewModel;\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n updateZiekmelding(viewModel: UpdateZiekmeldingViewModel | null | undefined): Promise {\r\n let url_ = this.baseUrl + \"/Ziekmelding/Wijzigen\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(viewModel);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/octet-stream\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processUpdateZiekmelding(_response);\r\n });\r\n }\r\n\r\n protected processUpdateZiekmelding(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n valideerGeldigeZiekmeldingIngangsdatumVoorZorgverlener(viewModel: ValidateZorgverlenerOnDateRequestViewModel | null | undefined): Promise {\r\n let url_ = this.baseUrl + \"/Ziekmelding/ValideerGeldigeZiekmeldingIngangsdatumVoorZorgverlener\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(viewModel);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processValideerGeldigeZiekmeldingIngangsdatumVoorZorgverlener(_response);\r\n });\r\n }\r\n\r\n protected processValideerGeldigeZiekmeldingIngangsdatumVoorZorgverlener(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as ValidateResponseViewModel;\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n valideerIngangdatumZiekmeldingWijziging(viewModel: ValidateZiekmeldingChangeRequestViewModel | null | undefined): Promise {\r\n let url_ = this.baseUrl + \"/Ziekmelding/ValideerIngangdatumZiekmeldingWijziging\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(viewModel);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processValideerIngangdatumZiekmeldingWijziging(_response);\r\n });\r\n }\r\n\r\n protected processValideerIngangdatumZiekmeldingWijziging(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as ValidateResponseViewModel;\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n valideerIngangsdatumBetermelding(viewModel: ValidateZiekmeldingChangeRequestViewModel | null | undefined): Promise {\r\n let url_ = this.baseUrl + \"/Ziekmelding/ValideerIngangsdatumBetermelding\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(viewModel);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processValideerIngangsdatumBetermelding(_response);\r\n });\r\n }\r\n\r\n protected processValideerIngangsdatumBetermelding(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as ValidateResponseViewModel;\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n verwijder(viewModel: ZiekmeldingVerwijderenViewModel | null | undefined): Promise {\r\n let url_ = this.baseUrl + \"/Ziekmelding/Delete\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(viewModel);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/octet-stream\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processVerwijder(_response);\r\n });\r\n }\r\n\r\n protected processVerwijder(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class ZorgdeclaratieKassabonClient extends AuthorizedApiBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"/api\";\r\n }\r\n\r\n invoerenUpdate(declaratieVm: DeclaratieConceptViewModel | null | undefined): Promise {\r\n let url_ = this.baseUrl + \"/ZorgdeclaratieKassabon/Invoeren/Update\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(declaratieVm);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processInvoerenUpdate(_response);\r\n });\r\n }\r\n\r\n protected processInvoerenUpdate(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as DeclaratieKassabonViewModel;\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n controleUpdate(declaratieVm: DeclaratieConceptViewModel | null | undefined): Promise {\r\n let url_ = this.baseUrl + \"/ZorgdeclaratieKassabon/Controle/Update\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(declaratieVm);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processControleUpdate(_response);\r\n });\r\n }\r\n\r\n protected processControleUpdate(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as DeclaratieKassabonViewModel;\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class ZorgdeclaratieWijzigenClient extends AuthorizedApiBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"/api\";\r\n }\r\n\r\n startNieuweWijziging(declaratieUid: string): Promise {\r\n let url_ = this.baseUrl + \"/ZorgdeclaratieWijzigen/StartNieuweWijziging/{declaratieUid}\";\r\n if (declaratieUid === undefined || declaratieUid === null)\r\n throw new Error(\"The parameter 'declaratieUid' must be defined.\");\r\n url_ = url_.replace(\"{declaratieUid}\", encodeURIComponent(\"\" + declaratieUid));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processStartNieuweWijziging(_response);\r\n });\r\n }\r\n\r\n protected processStartNieuweWijziging(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as ZorgdeclaratieWijzigenViewModel;\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n wijzigingDoorvoeren(viewmodel: ZorgdeclaratieWijzigenViewModel | null | undefined): Promise {\r\n let url_ = this.baseUrl + \"/ZorgdeclaratieWijzigen/WijzigingDoorvoeren\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(viewmodel);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/octet-stream\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processWijzigingDoorvoeren(_response);\r\n });\r\n }\r\n\r\n protected processWijzigingDoorvoeren(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n wijzigingValideren(viewmodel: ZorgdeclaratieWijzigenViewModel | null | undefined): Promise {\r\n let url_ = this.baseUrl + \"/ZorgdeclaratieWijzigen/WijzigingValideren\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(viewmodel);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/octet-stream\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processWijzigingValideren(_response);\r\n });\r\n }\r\n\r\n protected processWijzigingValideren(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n updateKassabon(viewmodel: ZorgdeclaratieWijzigenMetWerkgeverslastenViewModel | null | undefined): Promise {\r\n let url_ = this.baseUrl + \"/ZorgdeclaratieWijzigen/UpdateKassabon\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(viewmodel);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processUpdateKassabon(_response);\r\n });\r\n }\r\n\r\n protected processUpdateKassabon(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as DeclaratieKassabonViewModel;\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n bewaarConcept(viewmodel: ZorgdeclaratieWijzigenViewModel | null | undefined): Promise {\r\n let url_ = this.baseUrl + \"/ZorgdeclaratieWijzigen/Bewaar\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(viewmodel);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processBewaarConcept(_response);\r\n });\r\n }\r\n\r\n protected processBewaarConcept(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as string;\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n valideerFactuurnummer(oorspronkelijkZorgdeclaratieId: string, factuurnummer: string | null): Promise {\r\n let url_ = this.baseUrl + \"/ZorgdeclaratieWijzigen/ValideerFactuurnummer?\";\r\n if (oorspronkelijkZorgdeclaratieId === undefined || oorspronkelijkZorgdeclaratieId === null)\r\n throw new Error(\"The parameter 'oorspronkelijkZorgdeclaratieId' must be defined and cannot be null.\");\r\n else\r\n url_ += \"oorspronkelijkZorgdeclaratieId=\" + encodeURIComponent(\"\" + oorspronkelijkZorgdeclaratieId) + \"&\";\r\n if (factuurnummer === undefined)\r\n throw new Error(\"The parameter 'factuurnummer' must be defined.\");\r\n else if(factuurnummer !== null)\r\n url_ += \"factuurnummer=\" + encodeURIComponent(\"\" + factuurnummer) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processValideerFactuurnummer(_response);\r\n });\r\n }\r\n\r\n protected processValideerFactuurnummer(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as ValidatedViewModel;\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class ZorgkantoormedewerkerClient extends AuthorizedApiBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"/api\";\r\n }\r\n\r\n getRegios(): Promise {\r\n let url_ = this.baseUrl + \"/Zorgkantoormedewerker/GetRegios\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n headers: {\r\n \"Accept\": \"application/octet-stream\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processGetRegios(_response);\r\n });\r\n }\r\n\r\n protected processGetRegios(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n getVoorkeursregioSettings(): Promise {\r\n let url_ = this.baseUrl + \"/Zorgkantoormedewerker/GetVoorkeursregioSettings\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n headers: {\r\n \"Accept\": \"application/octet-stream\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processGetVoorkeursregioSettings(_response);\r\n });\r\n }\r\n\r\n protected processGetVoorkeursregioSettings(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n saveVoorkeursregioSettings(request: SaveVoorkeursregioSettingsRequest | null | undefined): Promise {\r\n let url_ = this.baseUrl + \"/Zorgkantoormedewerker/SaveVoorkeursregioSettings\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(request);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/octet-stream\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processSaveVoorkeursregioSettings(_response);\r\n });\r\n }\r\n\r\n protected processSaveVoorkeursregioSettings(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class VervangingszorgovereenkomstConceptClient extends AuthorizedApiBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"/api\";\r\n }\r\n\r\n bewaarZorgovereenkomstConcept(inputModel: VervangingszorgovereenkomstConceptViewModel | null | undefined): Promise {\r\n let url_ = this.baseUrl + \"/VervangingszorgovereenkomstConcept/BewaarConcept\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(inputModel);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processBewaarZorgovereenkomstConcept(_response);\r\n });\r\n }\r\n\r\n protected processBewaarZorgovereenkomstConcept(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as VervangingszorgovereenkomstConceptViewModel;\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n getConceptById(id: string): Promise {\r\n let url_ = this.baseUrl + \"/VervangingszorgovereenkomstConcept/Concept/{id}\";\r\n if (id === undefined || id === null)\r\n throw new Error(\"The parameter 'id' must be defined.\");\r\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processGetConceptById(_response);\r\n });\r\n }\r\n\r\n protected processGetConceptById(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as VervangingszorgovereenkomstConceptViewModel;\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n getConceptByZiekmeldingUid(ziekmeldingUid: string): Promise {\r\n let url_ = this.baseUrl + \"/VervangingszorgovereenkomstConcept/Ziekmelding/{ziekmeldingUid}\";\r\n if (ziekmeldingUid === undefined || ziekmeldingUid === null)\r\n throw new Error(\"The parameter 'ziekmeldingUid' must be defined.\");\r\n url_ = url_.replace(\"{ziekmeldingUid}\", encodeURIComponent(\"\" + ziekmeldingUid));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processGetConceptByZiekmeldingUid(_response);\r\n });\r\n }\r\n\r\n protected processGetConceptByZiekmeldingUid(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as VervangingszorgovereenkomstConceptViewModel;\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n getConceptByZwangerschapsmeldingUid(zwangerschapsmeldingUid: string): Promise {\r\n let url_ = this.baseUrl + \"/VervangingszorgovereenkomstConcept/Zwangerschapsmelding/{zwangerschapsmeldingUid}\";\r\n if (zwangerschapsmeldingUid === undefined || zwangerschapsmeldingUid === null)\r\n throw new Error(\"The parameter 'zwangerschapsmeldingUid' must be defined.\");\r\n url_ = url_.replace(\"{zwangerschapsmeldingUid}\", encodeURIComponent(\"\" + zwangerschapsmeldingUid));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processGetConceptByZwangerschapsmeldingUid(_response);\r\n });\r\n }\r\n\r\n protected processGetConceptByZwangerschapsmeldingUid(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as VervangingszorgovereenkomstConceptViewModel;\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n getWeergaveConceptById(id: string): Promise {\r\n let url_ = this.baseUrl + \"/VervangingszorgovereenkomstConcept/Weergeven/Concept/{id}\";\r\n if (id === undefined || id === null)\r\n throw new Error(\"The parameter 'id' must be defined.\");\r\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processGetWeergaveConceptById(_response);\r\n });\r\n }\r\n\r\n protected processGetWeergaveConceptById(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as WeergaveZorgovereenkomstViewModel;\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n save(inputModel: VervangingszorgovereenkomstSaveViewModel | null | undefined): Promise {\r\n let url_ = this.baseUrl + \"/VervangingszorgovereenkomstConcept/Zorgovereenkomst\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(inputModel);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processSave(_response);\r\n });\r\n }\r\n\r\n protected processSave(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as NotitieMetConceptGegevensViewModel;\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n delete(inputModel: DeleteZorgovereenkomstconceptInputModel | null | undefined): Promise {\r\n let url_ = this.baseUrl + \"/VervangingszorgovereenkomstConcept/Concept/Delete\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(inputModel);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/octet-stream\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processDelete(_response);\r\n });\r\n }\r\n\r\n protected processDelete(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class ZorgovereenkomstConceptClient extends AuthorizedApiBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"/api\";\r\n }\r\n\r\n bewaarEnDelenZorgovereenkomstConcept(inputModel: ZorgovereenkomstConceptViewModel | null | undefined): Promise {\r\n let url_ = this.baseUrl + \"/ZorgovereenkomstConcept/BewaarEnDelenConcept\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(inputModel);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processBewaarEnDelenZorgovereenkomstConcept(_response);\r\n });\r\n }\r\n\r\n protected processBewaarEnDelenZorgovereenkomstConcept(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as ZorgovereenkomstConceptViewModel;\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n bewaarZorgovereenkomstConcept(inputModel: ZorgovereenkomstConceptViewModel | null | undefined): Promise {\r\n let url_ = this.baseUrl + \"/ZorgovereenkomstConcept/BewaarConcept\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(inputModel);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processBewaarZorgovereenkomstConcept(_response);\r\n });\r\n }\r\n\r\n protected processBewaarZorgovereenkomstConcept(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as ZorgovereenkomstConceptViewModel;\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n getConcept(budgethouderId: string): Promise {\r\n let url_ = this.baseUrl + \"/ZorgovereenkomstConcept/Concept/Budgethouder/{budgethouderId}\";\r\n if (budgethouderId === undefined || budgethouderId === null)\r\n throw new Error(\"The parameter 'budgethouderId' must be defined.\");\r\n url_ = url_.replace(\"{budgethouderId}\", encodeURIComponent(\"\" + budgethouderId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processGetConcept(_response);\r\n });\r\n }\r\n\r\n protected processGetConcept(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as ZorgovereenkomstConceptViewModel;\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n getCopyFromCurrentZorgovereenkomst(copyId: string): Promise {\r\n let url_ = this.baseUrl + \"/ZorgovereenkomstConcept/Copy/{copyId}\";\r\n if (copyId === undefined || copyId === null)\r\n throw new Error(\"The parameter 'copyId' must be defined.\");\r\n url_ = url_.replace(\"{copyId}\", encodeURIComponent(\"\" + copyId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n headers: {\r\n \"Accept\": \"application/octet-stream\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processGetCopyFromCurrentZorgovereenkomst(_response);\r\n });\r\n }\r\n\r\n protected processGetCopyFromCurrentZorgovereenkomst(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n getConceptVoorAanvulling(zorgovereenkomstUid: string): Promise {\r\n let url_ = this.baseUrl + \"/ZorgovereenkomstConcept/Zorgovereenkomst/{zorgovereenkomstUid}\";\r\n if (zorgovereenkomstUid === undefined || zorgovereenkomstUid === null)\r\n throw new Error(\"The parameter 'zorgovereenkomstUid' must be defined.\");\r\n url_ = url_.replace(\"{zorgovereenkomstUid}\", encodeURIComponent(\"\" + zorgovereenkomstUid));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processGetConceptVoorAanvulling(_response);\r\n });\r\n }\r\n\r\n protected processGetConceptVoorAanvulling(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as ZorgovereenkomstConceptViewModel;\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n getConceptById(id: string): Promise {\r\n let url_ = this.baseUrl + \"/ZorgovereenkomstConcept/Concept/{id}\";\r\n if (id === undefined || id === null)\r\n throw new Error(\"The parameter 'id' must be defined.\");\r\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processGetConceptById(_response);\r\n });\r\n }\r\n\r\n protected processGetConceptById(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as ZorgovereenkomstConceptViewModel;\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n ondertekenenEnDelenZorgovereenkomstConcept(inputModel: ZorgovereenkomstConceptViewModel | null | undefined): Promise {\r\n let url_ = this.baseUrl + \"/ZorgovereenkomstConcept/OndertekenenEnDelen\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(inputModel);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processOndertekenenEnDelenZorgovereenkomstConcept(_response);\r\n });\r\n }\r\n\r\n protected processOndertekenenEnDelenZorgovereenkomstConcept(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as ConceptIsIngediendViewModel;\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n delete(inputModel: DeleteZorgovereenkomstconceptInputModel | null | undefined): Promise {\r\n let url_ = this.baseUrl + \"/ZorgovereenkomstConcept/Concept/Delete\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(inputModel);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/octet-stream\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processDelete(_response);\r\n });\r\n }\r\n\r\n protected processDelete(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class ZorgovereenkomstClient extends AuthorizedApiBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"/api\";\r\n }\r\n\r\n getById(id: string): Promise {\r\n let url_ = this.baseUrl + \"/Zorgovereenkomst/{id}\";\r\n if (id === undefined || id === null)\r\n throw new Error(\"The parameter 'id' must be defined.\");\r\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processGetById(_response);\r\n });\r\n }\r\n\r\n protected processGetById(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as WeergevenZorgovereenkomstViewModel;\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n getByJaar(jaar: number): Promise {\r\n let url_ = this.baseUrl + \"/Zorgovereenkomst/Jaar/{jaar}\";\r\n if (jaar === undefined || jaar === null)\r\n throw new Error(\"The parameter 'jaar' must be defined.\");\r\n url_ = url_.replace(\"{jaar}\", encodeURIComponent(\"\" + jaar));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processGetByJaar(_response);\r\n });\r\n }\r\n\r\n protected processGetByJaar(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as ZorgovereenkomstSelecteerViewModel[];\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n getByJaarAndBudgethouderId(jaar: number, budgethouderId: string): Promise {\r\n let url_ = this.baseUrl + \"/Zorgovereenkomst/Jaar/{jaar}/BudgethouderId/{budgethouderId}\";\r\n if (jaar === undefined || jaar === null)\r\n throw new Error(\"The parameter 'jaar' must be defined.\");\r\n url_ = url_.replace(\"{jaar}\", encodeURIComponent(\"\" + jaar));\r\n if (budgethouderId === undefined || budgethouderId === null)\r\n throw new Error(\"The parameter 'budgethouderId' must be defined.\");\r\n url_ = url_.replace(\"{budgethouderId}\", encodeURIComponent(\"\" + budgethouderId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processGetByJaarAndBudgethouderId(_response);\r\n });\r\n }\r\n\r\n protected processGetByJaarAndBudgethouderId(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as ZorgovereenkomstSelecteerViewModel[];\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n getInBewerking(): Promise {\r\n let url_ = this.baseUrl + \"/Zorgovereenkomst/InBewerking\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processGetInBewerking(_response);\r\n });\r\n }\r\n\r\n protected processGetInBewerking(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as ZorgovereenkomstSelecteerViewModel[];\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n getInBewerkingByBudgethouder(budgethouderId: string): Promise {\r\n let url_ = this.baseUrl + \"/Zorgovereenkomst/InBewerking/BudgethouderId/{budgethouderId}\";\r\n if (budgethouderId === undefined || budgethouderId === null)\r\n throw new Error(\"The parameter 'budgethouderId' must be defined.\");\r\n url_ = url_.replace(\"{budgethouderId}\", encodeURIComponent(\"\" + budgethouderId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processGetInBewerkingByBudgethouder(_response);\r\n });\r\n }\r\n\r\n protected processGetInBewerkingByBudgethouder(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as ZorgovereenkomstSelecteerViewModel[];\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n getByJaarAndBudgethouderAndZorgverlener(jaar: number | null | undefined, budgethouderId: string | null | undefined, zorgverlenerId: string | null | undefined): Promise {\r\n let url_ = this.baseUrl + \"/Zorgovereenkomst?\";\r\n if (jaar !== undefined && jaar !== null)\r\n url_ += \"jaar=\" + encodeURIComponent(\"\" + jaar) + \"&\";\r\n if (budgethouderId !== undefined && budgethouderId !== null)\r\n url_ += \"budgethouderId=\" + encodeURIComponent(\"\" + budgethouderId) + \"&\";\r\n if (zorgverlenerId !== undefined && zorgverlenerId !== null)\r\n url_ += \"zorgverlenerId=\" + encodeURIComponent(\"\" + zorgverlenerId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processGetByJaarAndBudgethouderAndZorgverlener(_response);\r\n });\r\n }\r\n\r\n protected processGetByJaarAndBudgethouderAndZorgverlener(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as ZorgovereenkomstSelecteerViewModel[];\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n valideerLooptijdZorgovereenkomstVoorZorgverlener(model: ValideerLooptijdZorgovereenkomstViewModel | null | undefined): Promise {\r\n let url_ = this.baseUrl + \"/Zorgovereenkomst/ValideerLooptijd\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(model);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processValideerLooptijdZorgovereenkomstVoorZorgverlener(_response);\r\n });\r\n }\r\n\r\n protected processValideerLooptijdZorgovereenkomstVoorZorgverlener(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as ValidatedViewModel;\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n getGeldigeToekenningsbeschikkingen(budgethouderId: string): Promise {\r\n let url_ = this.baseUrl + \"/Zorgovereenkomst/GeldigeToekenningsbeschikkingen/{budgethouderId}\";\r\n if (budgethouderId === undefined || budgethouderId === null)\r\n throw new Error(\"The parameter 'budgethouderId' must be defined.\");\r\n url_ = url_.replace(\"{budgethouderId}\", encodeURIComponent(\"\" + budgethouderId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processGetGeldigeToekenningsbeschikkingen(_response);\r\n });\r\n }\r\n\r\n protected processGetGeldigeToekenningsbeschikkingen(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as ToekenningsbeschikkingReadOnlyViewModel[];\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n getToekenningsbeschikkingenByIds(model: GetToekenningsbeschikkingenByIdsAndBudgethouderViewModel | null | undefined): Promise {\r\n let url_ = this.baseUrl + \"/Zorgovereenkomst/ToekenningsbeschikkingenByIds\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(model);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processGetToekenningsbeschikkingenByIds(_response);\r\n });\r\n }\r\n\r\n protected processGetToekenningsbeschikkingenByIds(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as ToekenningsbeschikkingReadOnlyViewModel[];\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n getMinimumloon(): Promise {\r\n let url_ = this.baseUrl + \"/Zorgovereenkomst/Minimumloon\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processGetMinimumloon(_response);\r\n });\r\n }\r\n\r\n protected processGetMinimumloon(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as MinimumloonViewModel[];\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n getEerderBeeindigenGegevens(zorgovereenkomstUid: string): Promise {\r\n let url_ = this.baseUrl + \"/Zorgovereenkomst/EerderBeeindigen/{zorgovereenkomstUid}\";\r\n if (zorgovereenkomstUid === undefined || zorgovereenkomstUid === null)\r\n throw new Error(\"The parameter 'zorgovereenkomstUid' must be defined.\");\r\n url_ = url_.replace(\"{zorgovereenkomstUid}\", encodeURIComponent(\"\" + zorgovereenkomstUid));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processGetEerderBeeindigenGegevens(_response);\r\n });\r\n }\r\n\r\n protected processGetEerderBeeindigenGegevens(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as EerderBeeindigenZorgovereenkomstGegevensModel;\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n eerderBeeindigen(eerderBeeindigenRequest: EerderBeeindigenZorgovereenkomstRequestModel | null | undefined): Promise {\r\n let url_ = this.baseUrl + \"/Zorgovereenkomst/EerderBeeindigen\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(eerderBeeindigenRequest);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processEerderBeeindigen(_response);\r\n });\r\n }\r\n\r\n protected processEerderBeeindigen(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as EerderBeeindigenZorgovereenkomstResponseModel;\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n getRegimeWijziging(request: GetRegimeWijzigingRequestModel | null | undefined): Promise {\r\n let url_ = this.baseUrl + \"/Zorgovereenkomst/GetRegimeWijziging\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(request);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processGetRegimeWijziging(_response);\r\n });\r\n }\r\n\r\n protected processGetRegimeWijziging(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as ZorgovereenkomstRegimeWijzigingViewModel;\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n getWWTariefZorgovereenkomst(model: GetWWTariefZorgovereenkomstRequestModel | null | undefined): Promise {\r\n let url_ = this.baseUrl + \"/Zorgovereenkomst/WWTarief\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(model);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processGetWWTariefZorgovereenkomst(_response);\r\n });\r\n }\r\n\r\n protected processGetWWTariefZorgovereenkomst(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as WWTariefType;\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n getEinddatumJongsteZorgovereenkomst(model: GetJongsteZorgovereenkomstEinddatumRequestModel | null | undefined): Promise {\r\n let url_ = this.baseUrl + \"/Zorgovereenkomst/EinddatumJongsteZorgovereenkomst\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(model);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processGetEinddatumJongsteZorgovereenkomst(_response);\r\n });\r\n }\r\n\r\n protected processGetEinddatumJongsteZorgovereenkomst(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as string;\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class ZorgovereenkomstStatusbarClient extends AuthorizedApiBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"/api\";\r\n }\r\n\r\n getStatusbarByZorgovereenkomstConceptUid(zorgovereenkomstConceptUid: string): Promise {\r\n let url_ = this.baseUrl + \"/Status/ZorgovereenkomstConcept/{zorgovereenkomstConceptUid}\";\r\n if (zorgovereenkomstConceptUid === undefined || zorgovereenkomstConceptUid === null)\r\n throw new Error(\"The parameter 'zorgovereenkomstConceptUid' must be defined.\");\r\n url_ = url_.replace(\"{zorgovereenkomstConceptUid}\", encodeURIComponent(\"\" + zorgovereenkomstConceptUid));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processGetStatusbarByZorgovereenkomstConceptUid(_response);\r\n });\r\n }\r\n\r\n protected processGetStatusbarByZorgovereenkomstConceptUid(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as StatusbarViewModel;\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class ZorgovereenkomstWijzigenClient extends AuthorizedApiBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"/api\";\r\n }\r\n\r\n getApproval(viewModel: ZorgovereenkomstWijzigenApprovalInputViewModel | null | undefined): Promise {\r\n let url_ = this.baseUrl + \"/ZorgovereenkomstWijzigen/GetApproval\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(viewModel);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processGetApproval(_response);\r\n });\r\n }\r\n\r\n protected processGetApproval(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as ZorgovereenkomstWijzigenApprovalViewModel;\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n getConceptById(uid: string): Promise {\r\n let url_ = this.baseUrl + \"/ZorgovereenkomstWijzigen/Concept/{uid}\";\r\n if (uid === undefined || uid === null)\r\n throw new Error(\"The parameter 'uid' must be defined.\");\r\n url_ = url_.replace(\"{uid}\", encodeURIComponent(\"\" + uid));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processGetConceptById(_response);\r\n });\r\n }\r\n\r\n protected processGetConceptById(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as ZorgovereenkomstWijzigenConceptViewModel;\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n getConceptByIdForOverview(uid: string): Promise {\r\n let url_ = this.baseUrl + \"/ZorgovereenkomstWijzigen/Concept/Overview/{uid}\";\r\n if (uid === undefined || uid === null)\r\n throw new Error(\"The parameter 'uid' must be defined.\");\r\n url_ = url_.replace(\"{uid}\", encodeURIComponent(\"\" + uid));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processGetConceptByIdForOverview(_response);\r\n });\r\n }\r\n\r\n protected processGetConceptByIdForOverview(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as ZorgovereenkomstWijzigenConceptViewModel;\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n getConceptByZorgovereenkomstId(uid: string): Promise {\r\n let url_ = this.baseUrl + \"/ZorgovereenkomstWijzigen/Zorgovereenkomst/{uid}\";\r\n if (uid === undefined || uid === null)\r\n throw new Error(\"The parameter 'uid' must be defined.\");\r\n url_ = url_.replace(\"{uid}\", encodeURIComponent(\"\" + uid));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processGetConceptByZorgovereenkomstId(_response);\r\n });\r\n }\r\n\r\n protected processGetConceptByZorgovereenkomstId(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as ZorgovereenkomstWijzigenConceptViewModel;\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n getMogelijkeIngangsdatums(uid: string): Promise {\r\n let url_ = this.baseUrl + \"/ZorgovereenkomstWijzigen/GetMogelijkeIngangsdatums/{uid}\";\r\n if (uid === undefined || uid === null)\r\n throw new Error(\"The parameter 'uid' must be defined.\");\r\n url_ = url_.replace(\"{uid}\", encodeURIComponent(\"\" + uid));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processGetMogelijkeIngangsdatums(_response);\r\n });\r\n }\r\n\r\n protected processGetMogelijkeIngangsdatums(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as DateString[];\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n getLaatsteDatumDeclaratie(uid: string): Promise {\r\n let url_ = this.baseUrl + \"/ZorgovereenkomstWijzigen/GetLaatsteDatumDeclaratie/{uid}\";\r\n if (uid === undefined || uid === null)\r\n throw new Error(\"The parameter 'uid' must be defined.\");\r\n url_ = url_.replace(\"{uid}\", encodeURIComponent(\"\" + uid));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processGetLaatsteDatumDeclaratie(_response);\r\n });\r\n }\r\n\r\n protected processGetLaatsteDatumDeclaratie(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as string;\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n save(model: ZorgovereenkomstWijzigenBewarenViewModel | null | undefined): Promise {\r\n let url_ = this.baseUrl + \"/ZorgovereenkomstWijzigen/Zorgovereenkomst\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(model);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processSave(_response);\r\n });\r\n }\r\n\r\n protected processSave(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as NotitieMetConceptGegevensViewModel;\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n delete(inputModel: DeleteZorgovereenkomstconceptInputModel | null | undefined): Promise {\r\n let url_ = this.baseUrl + \"/ZorgovereenkomstWijzigen/Concept/Delete\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(inputModel);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/octet-stream\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processDelete(_response);\r\n });\r\n }\r\n\r\n protected processDelete(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class ZorgverlenerClient extends AuthorizedApiBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"/api\";\r\n }\r\n\r\n getZorgverlenersMetGeldigeZorgovereenkomst(budgethouderId: string): Promise {\r\n let url_ = this.baseUrl + \"/Zorgverleners/MetGeldigeZorgovereenkomst/{budgethouderId}\";\r\n if (budgethouderId === undefined || budgethouderId === null)\r\n throw new Error(\"The parameter 'budgethouderId' must be defined.\");\r\n url_ = url_.replace(\"{budgethouderId}\", encodeURIComponent(\"\" + budgethouderId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processGetZorgverlenersMetGeldigeZorgovereenkomst(_response);\r\n });\r\n }\r\n\r\n protected processGetZorgverlenersMetGeldigeZorgovereenkomst(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as SelectieZorgverlenerViewModel[];\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n getZorgverlenerSelecteerViewModelMetRecentContract(budgethouderId: string): Promise {\r\n let url_ = this.baseUrl + \"/ZorgverlenersRecent/Budgethouder/{budgethouderId}\";\r\n if (budgethouderId === undefined || budgethouderId === null)\r\n throw new Error(\"The parameter 'budgethouderId' must be defined.\");\r\n url_ = url_.replace(\"{budgethouderId}\", encodeURIComponent(\"\" + budgethouderId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processGetZorgverlenerSelecteerViewModelMetRecentContract(_response);\r\n });\r\n }\r\n\r\n protected processGetZorgverlenerSelecteerViewModelMetRecentContract(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as ZorgverlenerSelecteerViewModel[];\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n zoekZorgverleners(zoekViewModel: GetZoekZorgverlenerViewModel | null | undefined): Promise {\r\n let url_ = this.baseUrl + \"/Zorgverleners/Zoeken\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(zoekViewModel);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processZoekZorgverleners(_response);\r\n });\r\n }\r\n\r\n protected processZoekZorgverleners(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as ZorgverlenerSelecteerViewModel[];\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n getRecenteZorgverlenerVanBudgethouderOpUid(zorgverlenerUid: string, budgethouderUid: string): Promise {\r\n let url_ = this.baseUrl + \"/ZorgverlenerRecent/Id/{zorgverlenerUid}/Budgethouder/{budgethouderUid}\";\r\n if (zorgverlenerUid === undefined || zorgverlenerUid === null)\r\n throw new Error(\"The parameter 'zorgverlenerUid' must be defined.\");\r\n url_ = url_.replace(\"{zorgverlenerUid}\", encodeURIComponent(\"\" + zorgverlenerUid));\r\n if (budgethouderUid === undefined || budgethouderUid === null)\r\n throw new Error(\"The parameter 'budgethouderUid' must be defined.\");\r\n url_ = url_.replace(\"{budgethouderUid}\", encodeURIComponent(\"\" + budgethouderUid));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processGetRecenteZorgverlenerVanBudgethouderOpUid(_response);\r\n });\r\n }\r\n\r\n protected processGetRecenteZorgverlenerVanBudgethouderOpUid(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as ZorgverlenerViewModel;\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n zoekZorgverlenersOpAgbOfNaam(term: string | null | undefined): Promise {\r\n let url_ = this.baseUrl + \"/Zorginstellingen/Zoek\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(term);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processZoekZorgverlenersOpAgbOfNaam(_response);\r\n });\r\n }\r\n\r\n protected processZoekZorgverlenersOpAgbOfNaam(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as FindZorgpartijenViewModel;\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n getGegevensFromAgbRegister(): Promise {\r\n let url_ = this.baseUrl + \"/Zorgverlener/GetGegevensFromAgbRegister\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processGetGegevensFromAgbRegister(_response);\r\n });\r\n }\r\n\r\n protected processGetGegevensFromAgbRegister(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as ZorgpartijViewModel;\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n getNatuurlijkPersoonOfZZPerZorgverlenersActiefOpHuidigeDatum(budgethouderUid: string): Promise {\r\n let url_ = this.baseUrl + \"/Zorgverlener/ActieveZorgovereenkomstBijBudgethouder/{budgethouderUid}\";\r\n if (budgethouderUid === undefined || budgethouderUid === null)\r\n throw new Error(\"The parameter 'budgethouderUid' must be defined.\");\r\n url_ = url_.replace(\"{budgethouderUid}\", encodeURIComponent(\"\" + budgethouderUid));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processGetNatuurlijkPersoonOfZZPerZorgverlenersActiefOpHuidigeDatum(_response);\r\n });\r\n }\r\n\r\n protected processGetNatuurlijkPersoonOfZZPerZorgverlenersActiefOpHuidigeDatum(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as ZorgverlenerSelecteerViewModel[];\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n getVrouwelijkeZorgverlenersOpIngangsdatumZorgovereenkomst(ingangsdatum: DateString | undefined, budgethouderId: string | undefined): Promise {\r\n let url_ = this.baseUrl + \"/Zorgverlener/OpIngangsdatumZorgovereenkomst/Vrouwelijk/BudgethouderId?\";\r\n if (ingangsdatum === null)\r\n throw new Error(\"The parameter 'ingangsdatum' cannot be null.\");\r\n else if (ingangsdatum !== undefined)\r\n url_ += \"ingangsdatum=\" + encodeURIComponent(\"\" + ingangsdatum) + \"&\";\r\n if (budgethouderId === null)\r\n throw new Error(\"The parameter 'budgethouderId' cannot be null.\");\r\n else if (budgethouderId !== undefined)\r\n url_ += \"budgethouderId=\" + encodeURIComponent(\"\" + budgethouderId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processGetVrouwelijkeZorgverlenersOpIngangsdatumZorgovereenkomst(_response);\r\n });\r\n }\r\n\r\n protected processGetVrouwelijkeZorgverlenersOpIngangsdatumZorgovereenkomst(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as ZorgverlenerSelecteerViewModel[];\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n getZorgverlenerOpAgb(agbCode: string | null): Promise {\r\n let url_ = this.baseUrl + \"/Zorgverlener/agb/{agbCode}\";\r\n if (agbCode === undefined || agbCode === null)\r\n throw new Error(\"The parameter 'agbCode' must be defined.\");\r\n url_ = url_.replace(\"{agbCode}\", encodeURIComponent(\"\" + agbCode));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processGetZorgverlenerOpAgb(_response);\r\n });\r\n }\r\n\r\n protected processGetZorgverlenerOpAgb(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as ZorgverlenerViewModel;\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n containsZorgverlenerWithBsn(bsn: string | null | undefined): Promise {\r\n let url_ = this.baseUrl + \"/Zorgverlener/isKnown/bsn\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(bsn);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processContainsZorgverlenerWithBsn(_response);\r\n });\r\n }\r\n\r\n protected processContainsZorgverlenerWithBsn(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as boolean;\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n bepaalCorrecteSelectieZZPerOfInstelling(zorgverlenerAgb: string | null): Promise {\r\n let url_ = this.baseUrl + \"/Zorgverlener/BepaalCorrecteSelectieZZPerOfInstelling/{zorgverlenerAgb}\";\r\n if (zorgverlenerAgb === undefined || zorgverlenerAgb === null)\r\n throw new Error(\"The parameter 'zorgverlenerAgb' must be defined.\");\r\n url_ = url_.replace(\"{zorgverlenerAgb}\", encodeURIComponent(\"\" + zorgverlenerAgb));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processBepaalCorrecteSelectieZZPerOfInstelling(_response);\r\n });\r\n }\r\n\r\n protected processBepaalCorrecteSelectieZZPerOfInstelling(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as BepaalCorrecteSelectieZZPerOfInstellingViewModel;\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n bepaalCorrecteSelectieZZPerOfInstellingZvlKvkNummer(kvkNummer: string | null): Promise {\r\n let url_ = this.baseUrl + \"/Zorgverlener/BepaalCorrecteSelectieZZPerOfInstellingZvlKvkNummer/{kvkNummer}\";\r\n if (kvkNummer === undefined || kvkNummer === null)\r\n throw new Error(\"The parameter 'kvkNummer' must be defined.\");\r\n url_ = url_.replace(\"{kvkNummer}\", encodeURIComponent(\"\" + kvkNummer));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processBepaalCorrecteSelectieZZPerOfInstellingZvlKvkNummer(_response);\r\n });\r\n }\r\n\r\n protected processBepaalCorrecteSelectieZZPerOfInstellingZvlKvkNummer(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as BepaalCorrecteSelectieZZPerOfInstellingViewModel;\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n getZorgverlenerUitAgbOfReedsBekend(zorgverlenerAgb: string | null): Promise {\r\n let url_ = this.baseUrl + \"/Zorgverlener/GetZorgverlenerUitAgbOfReedsBekend/{zorgverlenerAgb}\";\r\n if (zorgverlenerAgb === undefined || zorgverlenerAgb === null)\r\n throw new Error(\"The parameter 'zorgverlenerAgb' must be defined.\");\r\n url_ = url_.replace(\"{zorgverlenerAgb}\", encodeURIComponent(\"\" + zorgverlenerAgb));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processGetZorgverlenerUitAgbOfReedsBekend(_response);\r\n });\r\n }\r\n\r\n protected processGetZorgverlenerUitAgbOfReedsBekend(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as ZorgverlenerUitAgbOfReedsBekendViewModel;\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n getZorgverlenerMetKvkNummer(kvkNummer: string | null): Promise {\r\n let url_ = this.baseUrl + \"/Zorgverlener/GetZorgverlenerMetKvkNummer/{kvkNummer}\";\r\n if (kvkNummer === undefined || kvkNummer === null)\r\n throw new Error(\"The parameter 'kvkNummer' must be defined.\");\r\n url_ = url_.replace(\"{kvkNummer}\", encodeURIComponent(\"\" + kvkNummer));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processGetZorgverlenerMetKvkNummer(_response);\r\n });\r\n }\r\n\r\n protected processGetZorgverlenerMetKvkNummer(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as ZorgverlenerUitAgbOfReedsBekendViewModel;\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n getZorgverlenerMetRelatienummer(zorgverlenerRelatienummer: string | null): Promise {\r\n let url_ = this.baseUrl + \"/Zorgverlener/GetZorgverlenerMetRelatienummer/{zorgverlenerRelatienummer}\";\r\n if (zorgverlenerRelatienummer === undefined || zorgverlenerRelatienummer === null)\r\n throw new Error(\"The parameter 'zorgverlenerRelatienummer' must be defined.\");\r\n url_ = url_.replace(\"{zorgverlenerRelatienummer}\", encodeURIComponent(\"\" + zorgverlenerRelatienummer));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processGetZorgverlenerMetRelatienummer(_response);\r\n });\r\n }\r\n\r\n protected processGetZorgverlenerMetRelatienummer(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as ZorgverlenerUitAgbOfReedsBekendViewModel;\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n getZorgverlenerStatusOpAgb(agbCode: string | null): Promise {\r\n let url_ = this.baseUrl + \"/Zorgverlener/GetZorgverlenerStatusOpAgb/{agbCode}\";\r\n if (agbCode === undefined || agbCode === null)\r\n throw new Error(\"The parameter 'agbCode' must be defined.\");\r\n url_ = url_.replace(\"{agbCode}\", encodeURIComponent(\"\" + agbCode));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processGetZorgverlenerStatusOpAgb(_response);\r\n });\r\n }\r\n\r\n protected processGetZorgverlenerStatusOpAgb(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as ZorgverlenerStatusType;\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n getZorgverlenerStatusOpKvk(kvkNummer: string | null): Promise {\r\n let url_ = this.baseUrl + \"/Zorgverlener/GetZorgverlenerStatusOpKvk/{kvkNummer}\";\r\n if (kvkNummer === undefined || kvkNummer === null)\r\n throw new Error(\"The parameter 'kvkNummer' must be defined.\");\r\n url_ = url_.replace(\"{kvkNummer}\", encodeURIComponent(\"\" + kvkNummer));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processGetZorgverlenerStatusOpKvk(_response);\r\n });\r\n }\r\n\r\n protected processGetZorgverlenerStatusOpKvk(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as ZorgverlenerStatusType;\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class ZorgverlenerZorgdeclaratieConceptClient extends AuthorizedApiBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"/api\";\r\n }\r\n\r\n getZorgovereenkomsten(model: GetZorgovereenkomstenVanBudgethouderMetPeriodeModel | null | undefined): Promise {\r\n let url_ = this.baseUrl + \"/ZorgverlenerdeclaratieConcept/GetZorgovereenkomsten\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(model);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processGetZorgovereenkomsten(_response);\r\n });\r\n }\r\n\r\n protected processGetZorgovereenkomsten(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as ZorgovereenkomstViewModelLight[];\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n bewaar(declaratie: ZorgverlenerZorgdeclaratieConceptViewModel | null | undefined): Promise {\r\n let url_ = this.baseUrl + \"/ZorgverlenerdeclaratieConcept/Bewaar\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(declaratie);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/octet-stream\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processBewaar(_response);\r\n });\r\n }\r\n\r\n protected processBewaar(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n versturenNaarBudgethouder(declaratie: ZorgverlenerZorgdeclaratieConceptViewModel | null | undefined): Promise {\r\n let url_ = this.baseUrl + \"/ZorgverlenerdeclaratieConcept/Verstuur\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(declaratie);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/octet-stream\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processVersturenNaarBudgethouder(_response);\r\n });\r\n }\r\n\r\n protected processVersturenNaarBudgethouder(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n versturenGecorrigeerdNaarBudgethouder(declaratie: ZorgverlenerZorgdeclaratieConceptGecorrigeerdViewModel | null | undefined): Promise {\r\n let url_ = this.baseUrl + \"/ZorgverlenerdeclaratieConcept/VerstuurGecorrigeerd\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(declaratie);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/octet-stream\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processVersturenGecorrigeerdNaarBudgethouder(_response);\r\n });\r\n }\r\n\r\n protected processVersturenGecorrigeerdNaarBudgethouder(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n getMaandOpgave(model: ZorgovereenkomstBudgethouderEnPeriodeModel | null | undefined): Promise {\r\n let url_ = this.baseUrl + \"/ZorgverlenerdeclaratieConcept/GetMaandOpgave\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(model);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processGetMaandOpgave(_response);\r\n });\r\n }\r\n\r\n protected processGetMaandOpgave(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as ZorgdeclaratieMaandopgaveViewModel;\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n getTeBeoordelenConceptByUid(uid: string): Promise {\r\n let url_ = this.baseUrl + \"/ZorgverlenerdeclaratieConcept/GetTeBeoordelenConceptByUid/{uid}\";\r\n if (uid === undefined || uid === null)\r\n throw new Error(\"The parameter 'uid' must be defined.\");\r\n url_ = url_.replace(\"{uid}\", encodeURIComponent(\"\" + uid));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n headers: {\r\n \"Accept\": \"application/octet-stream\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processGetTeBeoordelenConceptByUid(_response);\r\n });\r\n }\r\n\r\n protected processGetTeBeoordelenConceptByUid(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n getAfgekeurdConceptVoorBudgethouderByUid(uid: string): Promise {\r\n let url_ = this.baseUrl + \"/ZorgverlenerdeclaratieConcept/GetAfgekeurdConceptVoorBudgethouderByUid/{uid}\";\r\n if (uid === undefined || uid === null)\r\n throw new Error(\"The parameter 'uid' must be defined.\");\r\n url_ = url_.replace(\"{uid}\", encodeURIComponent(\"\" + uid));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n headers: {\r\n \"Accept\": \"application/octet-stream\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processGetAfgekeurdConceptVoorBudgethouderByUid(_response);\r\n });\r\n }\r\n\r\n protected processGetAfgekeurdConceptVoorBudgethouderByUid(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n getAfgekeurdConceptVoorZorgverlenerByUid(uid: string): Promise {\r\n let url_ = this.baseUrl + \"/ZorgverlenerdeclaratieConcept/GetAfgekeurdConceptVoorZorgverlenerByUid/{uid}\";\r\n if (uid === undefined || uid === null)\r\n throw new Error(\"The parameter 'uid' must be defined.\");\r\n url_ = url_.replace(\"{uid}\", encodeURIComponent(\"\" + uid));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n headers: {\r\n \"Accept\": \"application/octet-stream\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processGetAfgekeurdConceptVoorZorgverlenerByUid(_response);\r\n });\r\n }\r\n\r\n protected processGetAfgekeurdConceptVoorZorgverlenerByUid(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n getConceptVoorZorgverlenerByUid(uid: string): Promise {\r\n let url_ = this.baseUrl + \"/ZorgverlenerdeclaratieConcept/GetConceptVoorZorgverlenerByUid/{uid}\";\r\n if (uid === undefined || uid === null)\r\n throw new Error(\"The parameter 'uid' must be defined.\");\r\n url_ = url_.replace(\"{uid}\", encodeURIComponent(\"\" + uid));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n headers: {\r\n \"Accept\": \"application/octet-stream\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processGetConceptVoorZorgverlenerByUid(_response);\r\n });\r\n }\r\n\r\n protected processGetConceptVoorZorgverlenerByUid(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n getTeBeoordelenConceptVoorZorgverlenerByUid(uid: string): Promise {\r\n let url_ = this.baseUrl + \"/ZorgverlenerdeclaratieConcept/GetTeBeoordelenConceptVoorZorgverlenerByUid/{uid}\";\r\n if (uid === undefined || uid === null)\r\n throw new Error(\"The parameter 'uid' must be defined.\");\r\n url_ = url_.replace(\"{uid}\", encodeURIComponent(\"\" + uid));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n headers: {\r\n \"Accept\": \"application/octet-stream\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processGetTeBeoordelenConceptVoorZorgverlenerByUid(_response);\r\n });\r\n }\r\n\r\n protected processGetTeBeoordelenConceptVoorZorgverlenerByUid(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n beoordeelZorgverlenerZorgdeclaratie(model: BeoordeelZorgdeclaratieModel | null | undefined): Promise {\r\n let url_ = this.baseUrl + \"/ZorgverlenerdeclaratieConcept/BeoordeelConcept\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(model);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/octet-stream\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processBeoordeelZorgverlenerZorgdeclaratie(_response);\r\n });\r\n }\r\n\r\n protected processBeoordeelZorgverlenerZorgdeclaratie(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n valideerFactuurnummer(budgethouderId: string, factuurnummer: string | null): Promise {\r\n let url_ = this.baseUrl + \"/ZorgverlenerdeclaratieConcept/ValideerFactuurnummer?\";\r\n if (budgethouderId === undefined || budgethouderId === null)\r\n throw new Error(\"The parameter 'budgethouderId' must be defined and cannot be null.\");\r\n else\r\n url_ += \"budgethouderId=\" + encodeURIComponent(\"\" + budgethouderId) + \"&\";\r\n if (factuurnummer === undefined)\r\n throw new Error(\"The parameter 'factuurnummer' must be defined.\");\r\n else if(factuurnummer !== null)\r\n url_ += \"factuurnummer=\" + encodeURIComponent(\"\" + factuurnummer) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processValideerFactuurnummer(_response);\r\n });\r\n }\r\n\r\n protected processValideerFactuurnummer(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as ValidatedViewModel;\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class ZwangerschapsmeldingClient extends AuthorizedApiBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"/api\";\r\n }\r\n\r\n nieuweZwangerschapsmeldingVoorBudgethouder(budgethouderId: string): Promise {\r\n let url_ = this.baseUrl + \"/Zwangerschapsmelding/opstellen/BudgethouderId/{budgethouderId}\";\r\n if (budgethouderId === undefined || budgethouderId === null)\r\n throw new Error(\"The parameter 'budgethouderId' must be defined.\");\r\n url_ = url_.replace(\"{budgethouderId}\", encodeURIComponent(\"\" + budgethouderId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processNieuweZwangerschapsmeldingVoorBudgethouder(_response);\r\n });\r\n }\r\n\r\n protected processNieuweZwangerschapsmeldingVoorBudgethouder(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as ZwangerschapsmeldingViewModel;\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n opslaanZwangerschapsmelding(zwangerschapsmeldingViewModel: ZwangerschapsmeldingViewModel | null | undefined): Promise {\r\n let url_ = this.baseUrl + \"/Zwangerschapsmelding/SaveZwangerschap\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(zwangerschapsmeldingViewModel);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processOpslaanZwangerschapsmelding(_response);\r\n });\r\n }\r\n\r\n protected processOpslaanZwangerschapsmelding(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as string;\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n wijzigenZwangerschapsmelding(wijzigenViewModel: ZwangerschapsmeldingWijzigenViewModel | null | undefined): Promise {\r\n let url_ = this.baseUrl + \"/Zwangerschapsmelding/UpdateZwangerschap\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(wijzigenViewModel);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processWijzigenZwangerschapsmelding(_response);\r\n });\r\n }\r\n\r\n protected processWijzigenZwangerschapsmelding(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 204) {\r\n return response.text().then((_responseText) => {\r\n return;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n getZwangerschapsmelding(uid: string): Promise {\r\n let url_ = this.baseUrl + \"/Zwangerschapsmelding/Zwangerschapsmelding/{uid}\";\r\n if (uid === undefined || uid === null)\r\n throw new Error(\"The parameter 'uid' must be defined.\");\r\n url_ = url_.replace(\"{uid}\", encodeURIComponent(\"\" + uid));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processGetZwangerschapsmelding(_response);\r\n });\r\n }\r\n\r\n protected processGetZwangerschapsmelding(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as ZwangerschapsmeldingWeergevenViewModel;\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n terugVanVerlofMelden(terugVanVerlofMelding: TerugVanVerlofMeldenViewModel | null | undefined): Promise {\r\n let url_ = this.baseUrl + \"/Zwangerschapsmelding/TerugVanVerlofMelden\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(terugVanVerlofMelding);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/octet-stream\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processTerugVanVerlofMelden(_response);\r\n });\r\n }\r\n\r\n protected processTerugVanVerlofMelden(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n valideerNieuweGeldigeZwangerschapsmeldingIngangsdatumVoorZorgverlener(viewModel: ValidateZorgverlenerOnDateRequestViewModel2 | null | undefined): Promise {\r\n let url_ = this.baseUrl + \"/Zwangerschapsmelding/ValideerNieuweZwangerschapsmeldingIngangsdatumVoorZorgverlener\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(viewModel);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processValideerNieuweGeldigeZwangerschapsmeldingIngangsdatumVoorZorgverlener(_response);\r\n });\r\n }\r\n\r\n protected processValideerNieuweGeldigeZwangerschapsmeldingIngangsdatumVoorZorgverlener(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as ValidateZorgverlenerOnDateResultViewModel;\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n valideerGewijzigdeZwangerschapsmeldingIngangsdatumVoorZorgverlener(viewModel: ValidateZorgverlenerOnDateRequestViewModel2 | null | undefined): Promise {\r\n let url_ = this.baseUrl + \"/Zwangerschapsmelding/ValideerGewijzigdeZwangerschapsmeldingIngangsdatumVoorZorgverlener\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(viewModel);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processValideerGewijzigdeZwangerschapsmeldingIngangsdatumVoorZorgverlener(_response);\r\n });\r\n }\r\n\r\n protected processValideerGewijzigdeZwangerschapsmeldingIngangsdatumVoorZorgverlener(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as ValidateZorgverlenerOnDateResultViewModel;\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n getZorgovereenkomstGegevens(request: GetZwangerschapsmeldingZorgovereenkomstGegevensRequestViewModel | null | undefined): Promise {\r\n let url_ = this.baseUrl + \"/Zwangerschapsmelding/ZorgovereenkomstGegevens\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(request);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processGetZorgovereenkomstGegevens(_response);\r\n });\r\n }\r\n\r\n protected processGetZorgovereenkomstGegevens(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as ZwangerschapsmeldingZorgovereenkomstGegevensViewModel;\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n verwijder(viewModel: ZwangerschapsmeldingVerwijderenViewModel | null | undefined): Promise {\r\n let url_ = this.baseUrl + \"/Zwangerschapsmelding/Delete\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(viewModel);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/octet-stream\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processVerwijder(_response);\r\n });\r\n }\r\n\r\n protected processVerwijder(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class OpschortingmeldingClient extends AuthorizedApiBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"/api\";\r\n }\r\n\r\n getOpschortingmelding(budgethouderUid: string): Promise {\r\n let url_ = this.baseUrl + \"/Opschortingmelding/{budgethouderUid}\";\r\n if (budgethouderUid === undefined || budgethouderUid === null)\r\n throw new Error(\"The parameter 'budgethouderUid' must be defined.\");\r\n url_ = url_.replace(\"{budgethouderUid}\", encodeURIComponent(\"\" + budgethouderUid));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processGetOpschortingmelding(_response);\r\n });\r\n }\r\n\r\n protected processGetOpschortingmelding(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as OpschortingmeldingViewModel;\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport interface CurrentAccountViewModel {\r\n rol: RolType;\r\n gebruikersnaam: string | null;\r\n relatie: CurrentAccountRelatieViewModel | null;\r\n tours: TourViewModel[] | null;\r\n applicatieRollen: ApplicatieRolType[] | null;\r\n budgethouderOpzoekenViewModels: BudgethouderOpzoekenViewModel[] | null;\r\n authorizedOperations: OperationType[] | null;\r\n authorizedWetten: OperationWetViewModel[] | null;\r\n}\r\n\r\n/** 0 = Onbekend 1 = Budgethouder 2 = Vertegenwoordiger 3 = VerstrekkerMedewerker 4 = Zorgverlener 5 = PortaalMedewerker 6 = Systeemgebruiker 7 = BudgethouderReadonly 8 = FunctioneelApplicatiebeheerder */\r\nexport enum RolType {\r\n Onbekend = 0,\r\n Budgethouder = 1,\r\n Vertegenwoordiger = 2,\r\n VerstrekkerMedewerker = 3,\r\n Zorgverlener = 4,\r\n PortaalMedewerker = 5,\r\n Systeemgebruiker = 6,\r\n BudgethouderReadonly = 7,\r\n FunctioneelApplicatiebeheerder = 8,\r\n}\r\n\r\nexport interface CurrentAccountRelatieViewModel {\r\n volledigeNaam: string | null;\r\n type: RelatieType;\r\n id: number;\r\n uid: string;\r\n burgerServiceNummer: string | null;\r\n relatienummer: string | null;\r\n geslacht: GeslachtType | null;\r\n agbZorgverlener: string | null;\r\n zorgverlenerIsInstelling: boolean;\r\n verstrekkerCode: string | null;\r\n verstrekkerNaam: string | null;\r\n verstrekkerId: number | null;\r\n betrokkenVerstrekkerIds: number[] | null;\r\n soortVerstrekkerType: SoortVerstrekkerType;\r\n pgB20Einddatum: string | null;\r\n}\r\n\r\n/** 0 = Onbekend 1 = Budgethouder 2 = Vertegenwoordiger 3 = Verstrekker 4 = Zorgverlener 5 = Medewerker 6 = Svb 7 = FabberInstantie 8 = Concessiehouder */\r\nexport enum RelatieType {\r\n Onbekend = 0,\r\n Budgethouder = 1,\r\n Vertegenwoordiger = 2,\r\n Verstrekker = 3,\r\n Zorgverlener = 4,\r\n Medewerker = 5,\r\n Svb = 6,\r\n FabberInstantie = 7,\r\n Concessiehouder = 8,\r\n}\r\n\r\n/** 0 = Onbekend 1 = Man 2 = Vrouw */\r\nexport enum GeslachtType {\r\n Onbekend = 0,\r\n Man = 1,\r\n Vrouw = 2,\r\n}\r\n\r\n/** 0 = Onbekend 1 = Gemeente 2 = Zorgkantoor */\r\nexport enum SoortVerstrekkerType {\r\n Onbekend = 0,\r\n Gemeente = 1,\r\n Zorgkantoor = 2,\r\n}\r\n\r\nexport interface TourViewModel {\r\n type: TourType;\r\n doorlopen: boolean;\r\n}\r\n\r\n/** 0 = Onbekend 1 = BudgethouderMain 2 = VertegenwoordigerMain 3 = VertegenwoordigerMultiMain 4 = VertegenwoordigerBudgethouderMain 5 = ZorgverlenerMain */\r\nexport enum TourType {\r\n Onbekend = 0,\r\n BudgethouderMain = 1,\r\n VertegenwoordigerMain = 2,\r\n VertegenwoordigerMultiMain = 3,\r\n VertegenwoordigerBudgethouderMain = 4,\r\n ZorgverlenerMain = 5,\r\n}\r\n\r\n/** 0 = Onbekend 1 = RaadplegenKlantbeeld 2 = MedewerkerRegioteam 3 = WerkvoorraadOverig 4 = GemnetPortaalRaadplegen 5 = GemnetPortaalMuteren 6 = GemnetPortaalManagement 7 = FunctioneelApplicatiebeheerder 8 = ZorgkantoorRaadplegen 9 = ZorgkantoorMuteren 10 = ZorgkantoorGoedkeuren 11 = ZorgkantoorSuperuser 12 = GemnetPortaalRaadplegenJw 13 = GemnetPortaalRaadplegenWmo 14 = GemnetPortaalMuterenJw 15 = GemnetPortaalMuterenWmo 16 = GemnetPortaalManagementJw 17 = GemnetPortaalManagementWmo */\r\nexport enum ApplicatieRolType {\r\n Onbekend = 0,\r\n RaadplegenKlantbeeld = 1,\r\n MedewerkerRegioteam = 2,\r\n WerkvoorraadOverig = 3,\r\n GemnetPortaalRaadplegen = 4,\r\n GemnetPortaalMuteren = 5,\r\n GemnetPortaalManagement = 6,\r\n FunctioneelApplicatiebeheerder = 7,\r\n ZorgkantoorRaadplegen = 8,\r\n ZorgkantoorMuteren = 9,\r\n ZorgkantoorGoedkeuren = 10,\r\n ZorgkantoorSuperuser = 11,\r\n GemnetPortaalRaadplegenJw = 12,\r\n GemnetPortaalRaadplegenWmo = 13,\r\n GemnetPortaalMuterenJw = 14,\r\n GemnetPortaalMuterenWmo = 15,\r\n GemnetPortaalManagementJw = 16,\r\n GemnetPortaalManagementWmo = 17,\r\n}\r\n\r\nexport interface ValidatedViewModel {\r\n isValid: boolean;\r\n serverErrors: ValidationErrorViewModel[] | null;\r\n}\r\n\r\nexport interface BudgethouderOpzoekenViewModel extends ValidatedViewModel {\r\n budgethouderId: string;\r\n volledigeNaam: string | null;\r\n volledigeNaamInclusiefGeslacht: string | null;\r\n achternaamZonderVoorvoegsel: string | null;\r\n burgerServiceNummer: string | null;\r\n geboortedatum: DateString;\r\n pgb20Einddatum: string | null;\r\n relatienummer: string | null;\r\n}\r\n\r\nexport interface PortalDate {\r\n day: number;\r\n month: number;\r\n year: number;\r\n}\r\n\r\nexport interface ValidationErrorViewModel {\r\n code: string | null;\r\n memberName: string | null;\r\n errorMessage: string | null;\r\n}\r\n\r\n/** 0 = Onbekend 1 = NotitieToevoegen 3 = FileUpload 4 = BlokkadeMuteren 5 = ContactBriefOpstellen 8 = ProfielMuteren 9 = ZorgovereenkomstMuteren 10 = WerktaakClaimen 12 = ActieToewijzen 14 = Raadplegen */\r\nexport enum OperationType {\r\n Onbekend = 0,\r\n NotitieToevoegen = 1,\r\n FileUpload = 3,\r\n BlokkadeMuteren = 4,\r\n ContactBriefOpstellen = 5,\r\n ProfielMuteren = 8,\r\n ZorgovereenkomstMuteren = 9,\r\n WerktaakClaimen = 10,\r\n ActieToewijzen = 12,\r\n Raadplegen = 14,\r\n}\r\n\r\nexport interface OperationWetViewModel {\r\n operation: OperationType;\r\n wetten: WetType[] | null;\r\n}\r\n\r\n/** 0 = Onbekend 2 = Wmo 3 = Jeugdwet 4 = Wlz 5 = Zvw 6 = Wetonafhankelijk */\r\nexport enum WetType {\r\n Onbekend = 0,\r\n Wmo = 2,\r\n Jeugdwet = 3,\r\n Wlz = 4,\r\n Zvw = 5,\r\n Wetonafhankelijk = 6,\r\n}\r\n\r\nexport interface AanmakenAccountViewModel {\r\n applicatieRollen: ApplicatieRolType[] | null;\r\n rol: RolType;\r\n gebruikersnaam: string | null;\r\n wachtwoord: string;\r\n bevestigWachtwoord: string;\r\n relatie: AanmakenAccountRelatieViewModel | null;\r\n}\r\n\r\nexport interface AanmakenAccountRelatieViewModel {\r\n burgerServiceNummerBudgethouder: string | null;\r\n bsnVertegenwoordiger: string | null;\r\n kvkVertegenwoordiger: string | null;\r\n agbZorgverlener: string | null;\r\n kvkZorgverlener: string | null;\r\n burgerServiceNummerZorgverlener: string | null;\r\n verstrekkerCode: string | null;\r\n voorlettersMedewerker: string | null;\r\n achternaamMedewerker: string | null;\r\n geslachtMedewerker: GeslachtType | null;\r\n}\r\n\r\nexport interface AanmakenAccountResponseViewModel extends ValidatedViewModel {\r\n gebruikersnaam: string | null;\r\n}\r\n\r\nexport interface WeergaveActieViewModel {\r\n uid: string;\r\n voorGebruiker: WeergaveRelatieViewModel | null;\r\n aangemaaktDoor: WeergaveRelatieViewModel | null;\r\n afgehandeldDoor: WeergaveRelatieViewModel | null;\r\n omschrijving: string | null;\r\n toelichting: string | null;\r\n datumAfgehandeld: string | null;\r\n deadline: string;\r\n gekoppeldAan: WeergaveRelatieViewModel | null;\r\n magAfhandelen: boolean;\r\n}\r\n\r\nexport interface WeergaveRelatieViewModel {\r\n uid: string;\r\n volledigeNaam: string | null;\r\n relatieType: RelatieType;\r\n relatienummer: string | null;\r\n}\r\n\r\nexport interface OverzichtActieViewModel {\r\n uid: string;\r\n omschrijving: string | null;\r\n gekoppeldAan: string | null;\r\n voorGebruiker: string | null;\r\n deadline: string;\r\n aanmaakdatum: string;\r\n afhandelDatum: string | null;\r\n status: string | null;\r\n}\r\n\r\nexport interface AanmakenActieViewModel {\r\n voorGebruikerUid: string;\r\n gekoppeldAan: string;\r\n omschrijving: string | null;\r\n toelichting: string | null;\r\n deadline: string;\r\n wetten: WetType[] | null;\r\n}\r\n\r\nexport interface AdresViewModel extends ValidatedViewModel {\r\n huisletter: string | null;\r\n huisnummer: string | null;\r\n huisnummerAanduiding: string | null;\r\n huisnummerToevoeging: string | null;\r\n locatiebeschrijving: string | null;\r\n plaatsnaam: string | null;\r\n postcode: string | null;\r\n straatnaam: string | null;\r\n land: string | null;\r\n}\r\n\r\nexport interface BankrekeningValidationViewModel {\r\n requiresBic: boolean;\r\n requiresBankgegevens: boolean;\r\n errors: ValidationResult[] | null;\r\n}\r\n\r\nexport interface ValidationResult {\r\n memberNames: string[] | null;\r\n errorMessage: string | null;\r\n}\r\n\r\nexport interface BankrekeningViewModel {\r\n bic: string | null;\r\n tenaamstelling: string | null;\r\n rekeningnummer: string | null;\r\n iban: string | null;\r\n banknaam: string | null;\r\n bankkantoor: string | null;\r\n adres: AdresViewModel | null;\r\n hasOnlyRekeningnummer: boolean;\r\n}\r\n\r\nexport interface TotaalBudgetViewModel {\r\n wettenMetGeldigeBudgetten: WetMetBudgettenViewModel[] | null;\r\n wettenMetIngetrokkenBudgetten: WetMetBudgettenViewModel[] | null;\r\n totaalBijgestortBedrag: number;\r\n}\r\n\r\nexport interface WetMetBudgettenViewModel {\r\n erZijnNietVerwerkteMaandloonDeclaraties: boolean;\r\n wet: WetType;\r\n budgetten: BudgetViewModel[] | null;\r\n}\r\n\r\nexport interface BudgetBaseViewModel {\r\n bedrag: number;\r\n uitbetalingen: number;\r\n ingeplandeUitbetalingen: number;\r\n mislukteUitbetalingen: number;\r\n ingangsdatum: DateString;\r\n einddatum: DateString;\r\n bedragAlgemeneMiddelen: number;\r\n ziektegeld: number;\r\n werkgeverslasten: number;\r\n resterendBudget: number;\r\n totaalBijgestortBedragGebruikt: number;\r\n algemeneMiddelenEenmaligeUitkeringOverlijdenBudgethouderBedrag: number;\r\n toekenningsbeschikkingStatus: ToekenningsbeschikkingStatusType;\r\n}\r\n\r\nexport interface BudgetViewModel extends BudgetBaseViewModel {\r\n ingeplandVrijBesteedbaarBedrag: number;\r\n uitbetaaldVrijBesteedbaarBedrag: number;\r\n totaalVrijBesteedbaarBedrag: number;\r\n misluktVrijBesteedbaarBedrag: number;\r\n ingeplandOpgeschortBedrag: number;\r\n maximaalTeVergoedenZiekengeld: number;\r\n ziekengeldvergoeding: number;\r\n}\r\n\r\n/** 0 = Onbekend 1 = Geldig 2 = Ingetrokken 3 = Ongeldig */\r\nexport enum ToekenningsbeschikkingStatusType {\r\n Onbekend = 0,\r\n Geldig = 1,\r\n Ingetrokken = 2,\r\n Ongeldig = 3,\r\n}\r\n\r\nexport interface DeclaratieUitbetalingenViewModel {\r\n declaratieUitbetalingen: DeclaratieUitbetalingViewModel[] | null;\r\n budgetSelecties: BudgetSelectieViewModel[] | null;\r\n}\r\n\r\nexport interface DeclaratieUitbetalingViewModel {\r\n indienDatum: DateString;\r\n heeftReiskosten: boolean;\r\n omschrijving: string | null;\r\n typeDeclaratie: DeclaratieType;\r\n maandloonDeclaratieStatus: MaandloonDeclaratieStatusType | null;\r\n wetten: string | null;\r\n declaratieId: string;\r\n maand: Maand;\r\n naamBegunstigde: string | null;\r\n budgetten: DeclaratieUitbetalingBudgetViewModel[] | null;\r\n kanDeclaratieInzien: boolean;\r\n isNietUitbetaaldVanwegeBudgetTekort: boolean;\r\n statusWeergevenIcon: DeclaratieStatusWeergevenIcon;\r\n statusWeergevenType: DeclaratieStatusWeergevenType;\r\n}\r\n\r\n/** 0 = Onbekend 1 = Zorgdeclaratie 2 = BijkomendeZorgkosten 3 = Feestdagenuitkering 4 = VrijbesteedbaarBudget 5 = Maandloon 6 = Conversie 7 = Intrekking 8 = EenmaligeUitkeringOverlijdenBudgethouder 9 = FactuurReiskosten 10 = Algemeen 11 = WooninitiatiefEnkelHuis */\r\nexport enum DeclaratieType {\r\n Onbekend = 0,\r\n Zorgdeclaratie = 1,\r\n BijkomendeZorgkosten = 2,\r\n Feestdagenuitkering = 3,\r\n VrijbesteedbaarBudget = 4,\r\n Maandloon = 5,\r\n Conversie = 6,\r\n Intrekking = 7,\r\n EenmaligeUitkeringOverlijdenBudgethouder = 8,\r\n FactuurReiskosten = 9,\r\n Algemeen = 10,\r\n WooninitiatiefEnkelHuis = 11,\r\n}\r\n\r\n/** 0 = Onbekend 1 = Voorlopig 2 = Definitief 3 = Correctie 4 = Gecorrigeerd */\r\nexport enum MaandloonDeclaratieStatusType {\r\n Onbekend = 0,\r\n Voorlopig = 1,\r\n Definitief = 2,\r\n Correctie = 3,\r\n Gecorrigeerd = 4,\r\n}\r\n\r\n/** 0 = Onbekend 1 = Januari 2 = Februari 3 = Maart 4 = April 5 = Mei 6 = Juni 7 = Juli 8 = Augustus 9 = September 10 = Oktober 11 = November 12 = December */\r\nexport enum Maand {\r\n Onbekend = 0,\r\n Januari = 1,\r\n Februari = 2,\r\n Maart = 3,\r\n April = 4,\r\n Mei = 5,\r\n Juni = 6,\r\n Juli = 7,\r\n Augustus = 8,\r\n September = 9,\r\n Oktober = 10,\r\n November = 11,\r\n December = 12,\r\n}\r\n\r\nexport interface DeclaratieUitbetalingBudgetViewModel {\r\n budgetId: number | null;\r\n bedrag: number;\r\n}\r\n\r\n/** 0 = Onbekend 1 = Floppy 2 = InBehandeling 3 = Waarschuwing 4 = Gereed 5 = Afgekeurd 6 = TerBeoordeling */\r\nexport enum DeclaratieStatusWeergevenIcon {\r\n Onbekend = 0,\r\n Floppy = 1,\r\n InBehandeling = 2,\r\n Waarschuwing = 3,\r\n Gereed = 4,\r\n Afgekeurd = 5,\r\n TerBeoordeling = 6,\r\n}\r\n\r\n/** 0 = Onbekend 1 = Concept 2 = Ingepland 3 = Uitbetaald 4 = Verrekend 5 = Mislukt 6 = TerGoedkeuring 7 = Afgekeurd 8 = TerBeoordeling 9 = TerBeoordelingBijBudgethouder 10 = TeruggestuurdDoorBudgethouder 11 = BuitenBehandeling 12 = TeVerrekenenVorderen 13 = VerrekendBetaald 14 = IdealInBehandeling 15 = Opgeschort 16 = OpgeschortAfgewezen */\r\nexport enum DeclaratieStatusWeergevenType {\r\n Onbekend = 0,\r\n Concept = 1,\r\n Ingepland = 2,\r\n Uitbetaald = 3,\r\n Verrekend = 4,\r\n Mislukt = 5,\r\n TerGoedkeuring = 6,\r\n Afgekeurd = 7,\r\n TerBeoordeling = 8,\r\n TerBeoordelingBijBudgethouder = 9,\r\n TeruggestuurdDoorBudgethouder = 10,\r\n BuitenBehandeling = 11,\r\n TeVerrekenenVorderen = 12,\r\n VerrekendBetaald = 13,\r\n IdealInBehandeling = 14,\r\n Opgeschort = 15,\r\n OpgeschortAfgewezen = 16,\r\n}\r\n\r\nexport interface BudgetSelectieViewModel {\r\n budgetId: number;\r\n omschrijving: string | null;\r\n ingangsdatum: DateString;\r\n einddatum: DateString;\r\n}\r\n\r\nexport interface ZoekRelatiesViewModel {\r\n erZijnTeveelBudgethoudersGevonden: boolean;\r\n budgethouders: BudgethouderViewModel[] | null;\r\n}\r\n\r\nexport interface RelatieViewModel {\r\n id: string;\r\n relatienummer: string | null;\r\n volledigeNaam: string | null;\r\n correspondentievoorkeur: CorrespondentieVoorkeurType | null;\r\n emailadres: string | null;\r\n telefoonnummer1: string | null;\r\n telefoonnummer2: string | null;\r\n adressen: AdresViewModel[] | null;\r\n}\r\n\r\nexport interface BudgethouderViewModel extends RelatieViewModel {\r\n burgerservicenummer: string | null;\r\n geboortedatum: DateString | null;\r\n overlijdensdatum: DateString | null;\r\n voorletters: string | null;\r\n voorvoegselGeslachtnaam: string | null;\r\n geslachtsnaam: string | null;\r\n geslacht: GeslachtType;\r\n bankrekening: BankrekeningViewModel | null;\r\n correspondentieAdres: AdresViewModel | null;\r\n}\r\n\r\n/** 0 = Onbekend 1 = Digitaal 2 = Papier */\r\nexport enum CorrespondentieVoorkeurType {\r\n Onbekend = 0,\r\n Digitaal = 1,\r\n Papier = 2,\r\n}\r\n\r\nexport interface ZoekRelatiesCriteriaViewModel {\r\n bsn: string | null;\r\n relatienummer: string | null;\r\n naam: string | null;\r\n geboortedatum: string | null;\r\n postcode: string | null;\r\n}\r\n\r\nexport interface OverzichtDeclaratieViewModel {\r\n declaratieId: string | null;\r\n declaratieConceptId: string | null;\r\n declaratienummer: number | null;\r\n indiendatum: DateString | null;\r\n bedrag: number;\r\n omschrijving: string | null;\r\n omschrijvingVoorZorgverlener: string | null;\r\n omschrijvingVoorBudgethouder: string | null;\r\n omschrijvingExtra: string | null;\r\n status: DeclaratieStatusType;\r\n declaratieConceptStatus: DeclaratieConceptStatusType | null;\r\n maandloonDeclaratieStatus: MaandloonDeclaratieStatusType | null;\r\n betaalopdrachtStatus: BetaalopdrachtStatusType | null;\r\n declaratieType: DeclaratieType;\r\n naamBudgethouder: string | null;\r\n namenBegunstigden: string[] | null;\r\n maand: Maand | null;\r\n statusWeergevenIcon: DeclaratieStatusWeergevenIcon;\r\n statusWeergevenType: DeclaratieStatusWeergevenType;\r\n ingangsdatum: DateString | null;\r\n einddatum: DateString;\r\n idealTransactieStatus: IdealTransactieStatusType | null;\r\n isGewijzigd: boolean;\r\n conceptRowVersion: string | null;\r\n ingetrokkenDeclaratieUid: string | null;\r\n naamZorgverlener: string | null;\r\n periode: string | null;\r\n}\r\n\r\n/** 0 = Onbekend 2 = Concept 3 = WordtVerwerkt 5 = OntbrekendBudget 6 = Verwerkt 7 = TerIntrekking 8 = Ingetrokken 9 = OpgeschortAfgewezen */\r\nexport enum DeclaratieStatusType {\r\n Onbekend = 0,\r\n Concept = 2,\r\n WordtVerwerkt = 3,\r\n OntbrekendBudget = 5,\r\n Verwerkt = 6,\r\n TerIntrekking = 7,\r\n Ingetrokken = 8,\r\n OpgeschortAfgewezen = 9,\r\n}\r\n\r\n/** 0 = Onbekend 1 = ConceptZorgverlener 2 = ConceptBudgethouder 3 = TerGoedkeuringBudgethouder 4 = GoedgekeurdBudgethouder 5 = TerFiatteringSvb 6 = AfgekeurdBudgethouder 7 = AfgekeurdSvb 8 = Voltooid 9 = BuitenBehandeling 10 = OndertekendDoorBevoegdeRelatie 11 = VerborgenConceptBudgethouder */\r\nexport enum DeclaratieConceptStatusType {\r\n Onbekend = 0,\r\n ConceptZorgverlener = 1,\r\n ConceptBudgethouder = 2,\r\n TerGoedkeuringBudgethouder = 3,\r\n GoedgekeurdBudgethouder = 4,\r\n TerFiatteringSvb = 5,\r\n AfgekeurdBudgethouder = 6,\r\n AfgekeurdSvb = 7,\r\n Voltooid = 8,\r\n BuitenBehandeling = 9,\r\n OndertekendDoorBevoegdeRelatie = 10,\r\n VerborgenConceptBudgethouder = 11,\r\n}\r\n\r\n/** 0 = Onbekend 1 = Aangemaakt 2 = VerzondenNaarFdomein 3 = Uitbetaald 4 = Geannuleerd 6 = Teruggeboekt 7 = VerzondenNaarBank 8 = Geblokkeerd 9 = BijstortingVerwacht 10 = Verrekend 11 = VerrekendBetaald 12 = BeoordelingJaarovergang 13 = OnHold 14 = WachtOpBeoordeling 15 = WachtOpBeoordelingPapier 16 = Opgeschort 17 = OpgeschortAfgewezen */\r\nexport enum BetaalopdrachtStatusType {\r\n Onbekend = 0,\r\n Aangemaakt = 1,\r\n VerzondenNaarFdomein = 2,\r\n Uitbetaald = 3,\r\n Geannuleerd = 4,\r\n Teruggeboekt = 6,\r\n VerzondenNaarBank = 7,\r\n Geblokkeerd = 8,\r\n BijstortingVerwacht = 9,\r\n Verrekend = 10,\r\n VerrekendBetaald = 11,\r\n BeoordelingJaarovergang = 12,\r\n OnHold = 13,\r\n WachtOpBeoordeling = 14,\r\n WachtOpBeoordelingPapier = 15,\r\n Opgeschort = 16,\r\n OpgeschortAfgewezen = 17,\r\n}\r\n\r\n/** 0 = Onbekend 1 = Success 2 = Cancelled 3 = Expired 4 = Failure 5 = Open 6 = TechnicalError */\r\nexport enum IdealTransactieStatusType {\r\n Onbekend = 0,\r\n Success = 1,\r\n Cancelled = 2,\r\n Expired = 3,\r\n Failure = 4,\r\n Open = 5,\r\n TechnicalError = 6,\r\n}\r\n\r\nexport interface WeergevenDeclaratieViewModel {\r\n declaratieType: DeclaratieType;\r\n budgethouderId: string;\r\n budgethouderVolledigeNaam: string | null;\r\n budgethouderOverlijdensdatum: DateString | null;\r\n budgethouderRelatienummer: string | null;\r\n budgethouderBurgerservicenummer: string | null;\r\n begunstigdeNaam: string | null;\r\n begunstigdeBurgerservicenummer: string | null;\r\n begunstigdeRelatienummer: string | null;\r\n begunstigdeAgbCode: string | null;\r\n ingangsdatum: DateString;\r\n einddatum: DateString;\r\n indiendatum: DateString;\r\n indienDatumOorspronkelijk: DateString | null;\r\n declaratieStatusWeergevenType: DeclaratieStatusWeergevenType;\r\n declaratieStatus: DeclaratieStatusType;\r\n declaratienummer: number | null;\r\n zorgovereenkomstId: string | null;\r\n zorgovereenkomstIngangsdatum: DateString | null;\r\n zorgovereenkomstEinddatum: DateString | null;\r\n contractType: ContractType;\r\n aantalWerkdagenZorgverlener: AantalWerkdagenPerWeekType | null;\r\n maandloonAfspraken: WeergevenDeclaratieAfsprakenMaandloonViewModel | null;\r\n zorgdeclaratieMaandopgave: ZorgdeclaratieMaandopgaveViewModel | null;\r\n factuurgegevens: WeergevenFactuurgegevensViewModel | null;\r\n declaratieDocumentHistory: WeergevenFactuurgegevensViewModel[] | null;\r\n feestdagenuitkering: WeergevenFeestdagenuitkeringViewModel | null;\r\n reiskosten: WeergevenReiskostenViewModel | null;\r\n vrijBesteedbaarBudget: WeergevenVrijBesteedbaarBudgetViewModel | null;\r\n eenmaligeUitkeringOverlijdenBudgethouder: WeergevenEenmaligeUitkeringOverlijdenBudgethouderViewModel | null;\r\n foutmeldingen: DeclaratieFoutmeldingViewModel[] | null;\r\n misluktMaandloon: WeergevenMisluktMaandloonViewModel | null;\r\n bijkomendezorgkosten: WeergevenBijkomendezorgkostenViewModel | null;\r\n woonInitiatiefEnkelHuisGegevens: WoonInitiatiefEnkelHuisGegevensViewModel | null;\r\n totaalBijgestort: number;\r\n isAnyBetrokkenBudgetBeeindigd: boolean;\r\n isAnyBijstorting: boolean;\r\n bankrekening: BankrekeningViewModel | null;\r\n maandloonDeclaratieStatusType: MaandloonDeclaratieStatusType | null;\r\n overigeDocumenten: OverzichtDocumentViewModel[] | null;\r\n isOpgesteldDoorZorgverlener: boolean;\r\n isIntrekking: boolean;\r\n intrekbaarheidStatus: IntrekbaarheidStatusType;\r\n startDeclaratieWijzigenValidationResult: ValidationErrorViewModel | null;\r\n heeftActieveJaarovergangWerktaak: boolean;\r\n declaratieRedenenVanAfkeuring: WeergevenDeclaratieRedenenVanAfkeuring | null;\r\n}\r\n\r\n/** 0 = Onbekend 1 = Zorginstelling 2 = InOpdracht 3 = InDienst 4 = PartnerOfFamilielid */\r\nexport enum ContractType {\r\n Onbekend = 0,\r\n Zorginstelling = 1,\r\n InOpdracht = 2,\r\n InDienst = 3,\r\n PartnerOfFamilielid = 4,\r\n}\r\n\r\n/** 0 = Onbekend 1 = MaximaalDrieDagen 2 = VierDagenOfMeer */\r\nexport enum AantalWerkdagenPerWeekType {\r\n Onbekend = 0,\r\n MaximaalDrieDagen = 1,\r\n VierDagenOfMeer = 2,\r\n}\r\n\r\nexport interface WeergevenDeclaratieAfsprakenMaandloonViewModel {\r\n werkafspraken: WeergevenDeclaratieAfsprakenMaandloonWerkafspraakViewModel[] | null;\r\n}\r\n\r\nexport interface WeergevenDeclaratieAfsprakenMaandloonWerkafspraakViewModel {\r\n wet: WetType;\r\n werkduur: number;\r\n werkduurEenheid: WerkafspraakEenheidType;\r\n bedragPerMaand: number;\r\n}\r\n\r\n/** 0 = Onbekend 1 = MinutenPerWeek 2 = MinutenPerMaand */\r\nexport enum WerkafspraakEenheidType {\r\n Onbekend = 0,\r\n MinutenPerWeek = 1,\r\n MinutenPerMaand = 2,\r\n}\r\n\r\nexport interface ZorgdeclaratieMaandopgaveViewModel {\r\n gegevensPerDag: GegevensPerDagViewModel[] | null;\r\n opgavePerDag: OpgavePerDagViewModel | null;\r\n opgavePerPeriode: OpgavePerPeriodeViewModel | null;\r\n maxAantalUrenWerkenPerWeek: number;\r\n}\r\n\r\nexport interface GegevensPerDagViewModel {\r\n datum: DateString;\r\n isDeclareerbaar: boolean;\r\n isErAfwezigheid: boolean;\r\n afwezigheidDetails: AfwezigheidDetailsViewModel | null;\r\n}\r\n\r\nexport interface AfwezigheidDetailsViewModel {\r\n isVolledigZiek: boolean;\r\n isDeelsZiek: boolean;\r\n isZwanger: boolean;\r\n isGeenCompensatieZiekteBijAo3OfMinderDagenPerWeek: boolean;\r\n is70ProcentCompensatieZiekteBijAo4OfMeerDagenPerWeek: boolean;\r\n is0ProcentCompensatieZiekteBijAo4OfMeerDagenPerWeek: boolean;\r\n}\r\n\r\nexport interface OpgavePerDagViewModel {\r\n wetWerkzaamheidDagRegels: WetWerkzaamheidDagRegelViewModel[] | null;\r\n}\r\n\r\nexport interface WetWerkzaamheidDagRegelViewModel {\r\n wet: WetType;\r\n werkzaamheid: WerkzaamheidType;\r\n tijdseenheid: TijdseenheidType;\r\n aantalMinutenPerTijdsEenheid: number;\r\n tariefBedrag: number;\r\n dagopgaven: DagopgaveViewModel[] | null;\r\n}\r\n\r\n/** 0 = Onbekend 1 = WlzBegeleidingIndividueel 2 = WlzBegeleidingGroep 3 = WlzVervoerVanNaarBegeleidingGroep 4 = WlzHuishoudelijkeHulp 5 = WlzLogeeropvang 6 = WlzPersoonlijkeVerzorging 7 = WlzVerpleging 8 = WmoBGBegeleiding 9 = WmoBGPersoonlijkVerzorging 10 = WmoHulpBijHetHuishouden 11 = ZvwVerpleging 12 = ZvwPersoonlijkeVerzorging 13 = JeugdwetBegeleidingIndividueel 14 = JeugdwetBegeleidingGroep 15 = JeugdwetVervoerdiensten 16 = JeugdwetLogeeropvang 17 = JeugdwetPersoonlijkeVerzorging 18 = WmoVervoerdiensten 19 = JeugdwetConversie 20 = WlzConversie 21 = WmoConversie 22 = WlzBereikbaarheidsdienst 23 = JeugdwetBereikbaarheidsdienst 24 = WmoBereikbaarheidsdienst 25 = WmoDagbesteding 26 = WmoKortdurendverblijf 27 = WmoBeschermdWonen 28 = WmoOverigeMaatwerkArrangementen 29 = JeugdwetDagbehandeling 30 = JeugdwetJeugdhulpVerblijfInclBehandeling 31 = JeugdwetJeugdhulpVerblijfExclBehandeling 32 = JeugdwetJeugdhulpAmbulant 33 = JeugdwetMaatwerkarrangementenJeugd 34 = JeugdwetGeneralistischeBasisggz 35 = JeugdwetSpecialistischeggz 36 = JeugdwetJeugdggz */\r\nexport enum WerkzaamheidType {\r\n Onbekend = 0,\r\n WlzBegeleidingIndividueel = 1,\r\n WlzBegeleidingGroep = 2,\r\n WlzVervoerVanNaarBegeleidingGroep = 3,\r\n WlzHuishoudelijkeHulp = 4,\r\n WlzLogeeropvang = 5,\r\n WlzPersoonlijkeVerzorging = 6,\r\n WlzVerpleging = 7,\r\n WmoBGBegeleiding = 8,\r\n WmoBGPersoonlijkVerzorging = 9,\r\n WmoHulpBijHetHuishouden = 10,\r\n ZvwVerpleging = 11,\r\n ZvwPersoonlijkeVerzorging = 12,\r\n JeugdwetBegeleidingIndividueel = 13,\r\n JeugdwetBegeleidingGroep = 14,\r\n JeugdwetVervoerdiensten = 15,\r\n JeugdwetLogeeropvang = 16,\r\n JeugdwetPersoonlijkeVerzorging = 17,\r\n WmoVervoerdiensten = 18,\r\n JeugdwetConversie = 19,\r\n WlzConversie = 20,\r\n WmoConversie = 21,\r\n WlzBereikbaarheidsdienst = 22,\r\n JeugdwetBereikbaarheidsdienst = 23,\r\n WmoBereikbaarheidsdienst = 24,\r\n WmoDagbesteding = 25,\r\n WmoKortdurendverblijf = 26,\r\n WmoBeschermdWonen = 27,\r\n WmoOverigeMaatwerkArrangementen = 28,\r\n JeugdwetDagbehandeling = 29,\r\n JeugdwetJeugdhulpVerblijfInclBehandeling = 30,\r\n JeugdwetJeugdhulpVerblijfExclBehandeling = 31,\r\n JeugdwetJeugdhulpAmbulant = 32,\r\n JeugdwetMaatwerkarrangementenJeugd = 33,\r\n JeugdwetGeneralistischeBasisggz = 34,\r\n JeugdwetSpecialistischeggz = 35,\r\n JeugdwetJeugdggz = 36,\r\n}\r\n\r\n/** 0 = Onbekend 1 = Minuten 2 = Uren 3 = Dagdelen 4 = Etmalen 5 = Weken 6 = Maanden 7 = Dagen 8 = Nachten 9 = Weekenden 10 = Midweken 11 = PerKm 12 = PerRit */\r\nexport enum TijdseenheidType {\r\n Onbekend = 0,\r\n Minuten = 1,\r\n Uren = 2,\r\n Dagdelen = 3,\r\n Etmalen = 4,\r\n Weken = 5,\r\n Maanden = 6,\r\n Dagen = 7,\r\n Nachten = 8,\r\n Weekenden = 9,\r\n Midweken = 10,\r\n PerKm = 11,\r\n PerRit = 12,\r\n}\r\n\r\nexport interface DagopgaveViewModel {\r\n datum: DateString;\r\n aantalEenheden: number | null;\r\n}\r\n\r\nexport interface OpgavePerPeriodeViewModel {\r\n wetWerkzaamheidPeriodeRegels: WetWerkzaamheidPeriodeRegelViewModel[] | null;\r\n}\r\n\r\nexport interface WetWerkzaamheidPeriodeRegelViewModel {\r\n wet: WetType;\r\n werkzaamheid: WerkzaamheidType;\r\n tijdseenheid: TijdseenheidType;\r\n aantalMinutenPerTijdseenheid: number | null;\r\n tariefBedrag: number;\r\n periodeopgaven: PeriodeopgaveViewModel[] | null;\r\n}\r\n\r\nexport interface PeriodeopgaveViewModel {\r\n ingangsdatum: DateString | null;\r\n einddatum: DateString | null;\r\n}\r\n\r\nexport interface WeergevenFactuurgegevensViewModel {\r\n datum: DateString;\r\n nummer: string | null;\r\n bestanden: OverzichtDocumentViewModel[] | null;\r\n}\r\n\r\nexport interface OverzichtDocumentViewModel {\r\n imprintnummer: string | null;\r\n mime: MimeType;\r\n filename: string | null;\r\n omschrijving: string | null;\r\n aanmaakDatum: string;\r\n categorie: SoortDocument;\r\n state: FileStateType;\r\n richting: BerichtRichting;\r\n afzender: string | null;\r\n ontvanger: string | null;\r\n indiener: string | null;\r\n indienerRol: RelatieType;\r\n oorsprongType: DocumentOorsprongType;\r\n}\r\n\r\n/** 0 = Onbekend 1 = WordDoc 2 = Pdf 3 = WordDocx 4 = Jpeg 5 = Png 6 = Tiff 7 = Pjpeg 8 = Xml */\r\nexport enum MimeType {\r\n Onbekend = 0,\r\n WordDoc = 1,\r\n Pdf = 2,\r\n WordDocx = 3,\r\n Jpeg = 4,\r\n Png = 5,\r\n Tiff = 6,\r\n Pjpeg = 7,\r\n Xml = 8,\r\n}\r\n\r\n/** 0 = Onbekend 1 = Advocaat 2 = AkteVanErfrecht 3 = AkteVanOverlijdenRouwkaart 4 = AlgeheleVolmacht 5 = AlgemeneVoorwaardeBijZorgovereenkomst 6 = ArboMargolinZorgVanDeZaak 7 = Bankafschrift 8 = BeeindigingZok 9 = Belastingdienst 10 = BeschikkingOverig 11 = BeschikkingVertegenwoordiger 12 = Beslaglegging 13 = Betalingsregeling 14 = BetermeldingHerstelmelding 15 = Bezwaarschrift 16 = BijlageBijZok 17 = BriefBewindvoerder 18 = BudgetplanBegeleidingsplanOfZorgplan 19 = CizIndicatiestelling 20 = Compensatieregeling 21 = Declaratie 22 = Dekra 23 = DiplomaBigVog 24 = EenmaligeMachtigingBelastingdienst 25 = EenmaligeUitkeringBijOverlijden 26 = Factuur 27 = FactuuroverzichtBegeleidendeBrief 28 = Fraude 29 = InGebrekeStellingSvb 30 = IntrekkenOptingIn 31 = InventarisatieSchade 32 = JuridischDocument 33 = Klacht 34 = Klantvraag 35 = KopieId 36 = Loonbelastingverklaring 37 = Loonbeslag 38 = MachtigingBezwaarschriftprocedure 39 = MachtigingVertegenwoordiger 40 = OmzettingPgbNaarZin 41 = OpgaafUitbetaaldBedrag 42 = OptingIn 43 = Overige 44 = Rechtsbijstand 45 = Retour 46 = SalarisstrookJaaropgave 47 = SchuldhulpsaneringBudgetbeheerSchuldbemiddeling 48 = Spoedbetaling 49 = Tarievenlijst 50 = UittrekselKvK 51 = Uwv 52 = VerantwoordingsformulierUrenoverzicht 53 = VerklaringGewaarborgdeHulp 54 = VerklaringVanExecutele 55 = VrijwilligeStorting 56 = VragenlijstFamilieverhoudingen 57 = VragenlijstOnderzoekPgb 58 = WijzigingPersoonsgegevens 59 = WijzigingZok 60 = Ziekmelding 61 = Zorgbeschrijving 62 = Zorgovereenkomst 63 = Zwangerschapsverklaring 64 = BijlageBijDeclaratie 65 = VrijeTekst 66 = VrijeTekstBeeindigingZok 67 = VrijeTekstTerAanvullingZok 68 = VrijeTekstGoedkeuringWijzigingZok 70 = VrijeTekstTerAanvullingWijzigingZok 71 = VrijeTekstAfkeuringZok 72 = VrijeTekstGoedkeuringZok 73 = VrijeTekstAfkeuringDeclaratie 74 = VrijeTekstGoedkeuringDeclaratie 75 = VrijeTekstTerAanvullingDeclaratie 76 = VrijeTekstBudgetTekort 77 = VrijeTekstProfielwijziging 78 = VrijeTekstZiekmelding 79 = VrijeTekstZwangerschapsmelding 80 = VrijeTekstHerstelmelding 81 = VrijeTekstWijzigingZokMinimumloon 82 = GoedkeurenZokBudgethouder 83 = AfkeurenZokBudgethouder 85 = GoedkeurenDeclaratieBudgethouder 86 = AfkeurenDeclaratieBudgethouder 87 = LoonstrookBudgethouder 88 = LoonstrookZorgverlener 91 = BetaalspecificatieCrediteuren 92 = BUO 93 = IngediendZokZorgverlener 94 = BeeindigdZokZorgverlener 95 = AfkeurenWijzigingZokBudgethouder 97 = TekortBudgetBudgethouder 98 = AfkeurenWijzigingZokZorgverlener 99 = GoedkeurenWijzigingZokBudgethouder 100 = GoedkeurenWijzigingZokZorgverlener 101 = WijzigingZokZorgverlener 102 = GedeeldZokBudgethouder 103 = WijzigingZokBudgethouder 104 = GedeeldZokZorgverlener 105 = BijstortenDeclaratieBudgethouder 106 = AanvullingZokBudgethouder 107 = Overzichtsfactuur 108 = JaaropgaveBudgethouder 109 = JaaropgaveZorgverlener 110 = Vervoersbewijs 111 = InkomensgegevensBudgethouder 112 = InkomensgegevensZorgverlener 113 = DeclaratieTeruggestuurdZorgverlener 114 = DeclaratieTerBeoordelingBudgethouder 115 = VerlopenZokBudgethouder 116 = DeclaratieBuitenBehandeling */\r\nexport enum SoortDocument {\r\n Onbekend = 0,\r\n Advocaat = 1,\r\n AkteVanErfrecht = 2,\r\n AkteVanOverlijdenRouwkaart = 3,\r\n AlgeheleVolmacht = 4,\r\n AlgemeneVoorwaardeBijZorgovereenkomst = 5,\r\n ArboMargolinZorgVanDeZaak = 6,\r\n Bankafschrift = 7,\r\n BeeindigingZok = 8,\r\n Belastingdienst = 9,\r\n BeschikkingOverig = 10,\r\n BeschikkingVertegenwoordiger = 11,\r\n Beslaglegging = 12,\r\n Betalingsregeling = 13,\r\n BetermeldingHerstelmelding = 14,\r\n Bezwaarschrift = 15,\r\n BijlageBijZok = 16,\r\n BriefBewindvoerder = 17,\r\n BudgetplanBegeleidingsplanOfZorgplan = 18,\r\n CizIndicatiestelling = 19,\r\n Compensatieregeling = 20,\r\n Declaratie = 21,\r\n Dekra = 22,\r\n DiplomaBigVog = 23,\r\n EenmaligeMachtigingBelastingdienst = 24,\r\n EenmaligeUitkeringBijOverlijden = 25,\r\n Factuur = 26,\r\n FactuuroverzichtBegeleidendeBrief = 27,\r\n Fraude = 28,\r\n InGebrekeStellingSvb = 29,\r\n IntrekkenOptingIn = 30,\r\n InventarisatieSchade = 31,\r\n JuridischDocument = 32,\r\n Klacht = 33,\r\n Klantvraag = 34,\r\n KopieId = 35,\r\n Loonbelastingverklaring = 36,\r\n Loonbeslag = 37,\r\n MachtigingBezwaarschriftprocedure = 38,\r\n MachtigingVertegenwoordiger = 39,\r\n OmzettingPgbNaarZin = 40,\r\n OpgaafUitbetaaldBedrag = 41,\r\n OptingIn = 42,\r\n Overige = 43,\r\n Rechtsbijstand = 44,\r\n Retour = 45,\r\n SalarisstrookJaaropgave = 46,\r\n SchuldhulpsaneringBudgetbeheerSchuldbemiddeling = 47,\r\n Spoedbetaling = 48,\r\n Tarievenlijst = 49,\r\n UittrekselKvK = 50,\r\n Uwv = 51,\r\n VerantwoordingsformulierUrenoverzicht = 52,\r\n VerklaringGewaarborgdeHulp = 53,\r\n VerklaringVanExecutele = 54,\r\n VrijwilligeStorting = 55,\r\n VragenlijstFamilieverhoudingen = 56,\r\n VragenlijstOnderzoekPgb = 57,\r\n WijzigingPersoonsgegevens = 58,\r\n WijzigingZok = 59,\r\n Ziekmelding = 60,\r\n Zorgbeschrijving = 61,\r\n Zorgovereenkomst = 62,\r\n Zwangerschapsverklaring = 63,\r\n BijlageBijDeclaratie = 64,\r\n VrijeTekst = 65,\r\n VrijeTekstBeeindigingZok = 66,\r\n VrijeTekstTerAanvullingZok = 67,\r\n VrijeTekstGoedkeuringWijzigingZok = 68,\r\n VrijeTekstTerAanvullingWijzigingZok = 70,\r\n VrijeTekstAfkeuringZok = 71,\r\n VrijeTekstGoedkeuringZok = 72,\r\n VrijeTekstAfkeuringDeclaratie = 73,\r\n VrijeTekstGoedkeuringDeclaratie = 74,\r\n VrijeTekstTerAanvullingDeclaratie = 75,\r\n VrijeTekstBudgetTekort = 76,\r\n VrijeTekstProfielwijziging = 77,\r\n VrijeTekstZiekmelding = 78,\r\n VrijeTekstZwangerschapsmelding = 79,\r\n VrijeTekstHerstelmelding = 80,\r\n VrijeTekstWijzigingZokMinimumloon = 81,\r\n GoedkeurenZokBudgethouder = 82,\r\n AfkeurenZokBudgethouder = 83,\r\n GoedkeurenDeclaratieBudgethouder = 85,\r\n AfkeurenDeclaratieBudgethouder = 86,\r\n LoonstrookBudgethouder = 87,\r\n LoonstrookZorgverlener = 88,\r\n BetaalspecificatieCrediteuren = 91,\r\n BUO = 92,\r\n IngediendZokZorgverlener = 93,\r\n BeeindigdZokZorgverlener = 94,\r\n AfkeurenWijzigingZokBudgethouder = 95,\r\n TekortBudgetBudgethouder = 97,\r\n AfkeurenWijzigingZokZorgverlener = 98,\r\n GoedkeurenWijzigingZokBudgethouder = 99,\r\n GoedkeurenWijzigingZokZorgverlener = 100,\r\n WijzigingZokZorgverlener = 101,\r\n GedeeldZokBudgethouder = 102,\r\n WijzigingZokBudgethouder = 103,\r\n GedeeldZokZorgverlener = 104,\r\n BijstortenDeclaratieBudgethouder = 105,\r\n AanvullingZokBudgethouder = 106,\r\n Overzichtsfactuur = 107,\r\n JaaropgaveBudgethouder = 108,\r\n JaaropgaveZorgverlener = 109,\r\n Vervoersbewijs = 110,\r\n InkomensgegevensBudgethouder = 111,\r\n InkomensgegevensZorgverlener = 112,\r\n DeclaratieTeruggestuurdZorgverlener = 113,\r\n DeclaratieTerBeoordelingBudgethouder = 114,\r\n VerlopenZokBudgethouder = 115,\r\n DeclaratieBuitenBehandeling = 116,\r\n}\r\n\r\n/** 0 = Onbekend 1 = Valid 2 = Uploaded 3 = Deleted 4 = Invalid */\r\nexport enum FileStateType {\r\n Onbekend = 0,\r\n Valid = 1,\r\n Uploaded = 2,\r\n Deleted = 3,\r\n Invalid = 4,\r\n}\r\n\r\n/** 0 = Onbekend 1 = Inkomend 2 = Uitgaand */\r\nexport enum BerichtRichting {\r\n Onbekend = 0,\r\n Inkomend = 1,\r\n Uitgaand = 2,\r\n}\r\n\r\n/** 0 = Onbekend 1 = Gescand 2 = Upload */\r\nexport enum DocumentOorsprongType {\r\n Onbekend = 0,\r\n Gescand = 1,\r\n Upload = 2,\r\n}\r\n\r\nexport interface WeergevenFeestdagenuitkeringViewModel {\r\n resterendBedrag: number | null;\r\n wetFeestdagenuitkeringen: WetFeestdagenuitkeringViewModel[] | null;\r\n}\r\n\r\nexport interface WetFeestdagenuitkeringViewModel {\r\n bedrag: number;\r\n wettype: WetType;\r\n budget: number;\r\n}\r\n\r\nexport interface WeergevenReiskostenViewModel {\r\n vergoedingPerKilometer: number | null;\r\n aantalKilometer: number | null;\r\n kostenGemaakteKilometers: number | null;\r\n kostenOpenbaarVervoer: number | null;\r\n totaleVergoeding: number;\r\n wetReiskosten: WeergevenWetReiskostenViewModel[] | null;\r\n bestanden: OverzichtDocumentViewModel[] | null;\r\n}\r\n\r\nexport interface WeergevenWetReiskostenViewModel {\r\n bedrag: number;\r\n wet: WetType;\r\n}\r\n\r\nexport interface WeergevenVrijBesteedbaarBudgetViewModel {\r\n wetVrijBesteedbareBudgetten: WeergevenWetVrijBesteedbaarBudgetViewModel[] | null;\r\n}\r\n\r\nexport interface WeergevenWetVrijBesteedbaarBudgetViewModel {\r\n bedrag: number;\r\n naamOntvanger: string | null;\r\n bankrekening: BankrekeningViewModel | null;\r\n wet: WetType;\r\n}\r\n\r\nexport interface WeergevenEenmaligeUitkeringOverlijdenBudgethouderViewModel {\r\n wetEenmaligeUitkeringen: WetEenmaligeUitkeringViewModel[] | null;\r\n overlijdensdatum: DateString | null;\r\n}\r\n\r\nexport interface WetEenmaligeUitkeringViewModel {\r\n bedrag: number;\r\n wet: WetType;\r\n}\r\n\r\nexport interface DeclaratieFoutmeldingViewModel {\r\n titel: string | null;\r\n omschrijving: string | null;\r\n declaratieFoutmeldingType: DeclaratieFoutmeldingType;\r\n}\r\n\r\n/** 0 = Onbekend 1 = BudgetOntoereikend 2 = GeenToekenningsbeschikkingOverPeriode */\r\nexport enum DeclaratieFoutmeldingType {\r\n Onbekend = 0,\r\n BudgetOntoereikend = 1,\r\n GeenToekenningsbeschikkingOverPeriode = 2,\r\n}\r\n\r\nexport interface WeergevenMisluktMaandloonViewModel {\r\n bijTeStortenBedrag: number;\r\n}\r\n\r\nexport interface WeergevenBijkomendezorgkostenViewModel {\r\n bedrag: number;\r\n bijkomendezorgkostenType: BijkomendezorgkostenType;\r\n bestanden: OverzichtDocumentViewModel[] | null;\r\n wet: WetType;\r\n}\r\n\r\n/** 0 = Onbekend 1 = CursusZorgverlener 2 = EntreegeldZorgverlener 3 = ConsumptiesBijOverwerk 4 = WooninitiatiefZorg */\r\nexport enum BijkomendezorgkostenType {\r\n Onbekend = 0,\r\n CursusZorgverlener = 1,\r\n EntreegeldZorgverlener = 2,\r\n ConsumptiesBijOverwerk = 3,\r\n WooninitiatiefZorg = 4,\r\n}\r\n\r\nexport interface WoonInitiatiefEnkelHuisGegevensViewModel {\r\n naamWooninitiatief: string | null;\r\n kvkNummer: string | null;\r\n}\r\n\r\n/** 0 = Onbekend 1 = NietIntrekbaar 2 = IntrekbaarMetDeclaratieAnnuleren 3 = IntrekbaarMetDeclaratieIntrekken */\r\nexport enum IntrekbaarheidStatusType {\r\n Onbekend = 0,\r\n NietIntrekbaar = 1,\r\n IntrekbaarMetDeclaratieAnnuleren = 2,\r\n IntrekbaarMetDeclaratieIntrekken = 3,\r\n}\r\n\r\nexport interface WeergevenDeclaratieRedenenVanAfkeuring {\r\n redenenVanAfkeuring: number[] | null;\r\n redenAfkeuringOverige: string | null;\r\n}\r\n\r\nexport interface WerkgeverslastenViewModel {\r\n totaal: number;\r\n regulierBedrag: number;\r\n bedragZiekengeld: number;\r\n bedragZiekengeldvergoeding: number;\r\n bedragEenmaligeUitkeringOverlijdenBudgethouder: number;\r\n budgetId: number;\r\n betaalopdrachtId: number;\r\n}\r\n\r\nexport interface DeclaratieWerkgeverlastenViewModel {\r\n zorgovereenkomstUid: string;\r\n bedragUitRegulierBudget: number;\r\n ziekengeld: number;\r\n bedragAlgemeneMiddelenOverlijdenBudgethouder: number;\r\n jaar: number;\r\n maand: Maand;\r\n algemeneDeclaratieReden: AlgemeneDeclaratieRedenType | null;\r\n}\r\n\r\n/** 0 = Onbekend 1 = MaandloonNietBetaaldTreks 2 = WijzigingMaandloonTWKVoorPeildatum 3 = EenmaligeUitkeringOpnameBudgethouder 4 = EenmaligeUitkeringOverlijdenBudgethouder 6 = EenmaligeUitkeringOverlijdenZorgverlener 7 = Overig */\r\nexport enum AlgemeneDeclaratieRedenType {\r\n Onbekend = 0,\r\n MaandloonNietBetaaldTreks = 1,\r\n WijzigingMaandloonTWKVoorPeildatum = 2,\r\n EenmaligeUitkeringOpnameBudgethouder = 3,\r\n EenmaligeUitkeringOverlijdenBudgethouder = 4,\r\n EenmaligeUitkeringOverlijdenZorgverlener = 6,\r\n Overig = 7,\r\n}\r\n\r\nexport interface ZorgverlenerBudgethouderEnPeriodeModel {\r\n budgethouderId: string;\r\n zorgverlenerId: string;\r\n periodeVanJaar: number;\r\n periodeVanMaand: Maand;\r\n periodeTotJaar: number;\r\n periodeTotMaand: Maand;\r\n}\r\n\r\nexport interface IntrekkenMaandlonenViewModel {\r\n declaratieUids: string[] | null;\r\n werktaakUid: string;\r\n}\r\n\r\nexport interface DeclaratieKassabonViewModel extends ValidatedViewModel {\r\n titel: string | null;\r\n maand: string | null;\r\n jaar: number;\r\n declaratieType: DeclaratieType;\r\n begunstigdeRelatieType: RelatieType;\r\n toonRestantBudget: boolean;\r\n totaalBedragDeclaratie: number;\r\n totaalBedragWerkgeverslasten: number | null;\r\n resterendBijgestortBudget: number | null;\r\n totaalBedragZiektegeld: number;\r\n totaalBedragAlgemeneMiddelen: number;\r\n totaalBedragUitBudget: number;\r\n blokken: DeclaratieKassabonBlokViewModel[] | null;\r\n delta: number | null;\r\n resterendBudget: number;\r\n ziekengeldvergoeding: number;\r\n isGedeclareerdOpZiektedag: boolean;\r\n}\r\n\r\nexport interface DeclaratieKassabonBlokViewModel {\r\n ingangsdatum: DateString;\r\n einddatum: DateString;\r\n naamWettype: string | null;\r\n budget: number;\r\n wetType: WetType;\r\n reiskosten: number | null;\r\n feestdagenUitkering: number | null;\r\n geleverdeZorg: number | null;\r\n vrijBesteedbaarBudget: number | null;\r\n bijkomendeZorgkosten: number | null;\r\n maandloon: number | null;\r\n ziektegeld: number | null;\r\n bedragAlgemeneMiddelen: number | null;\r\n totaalBedragBlok: number;\r\n eenmaligeUitkeringOverlijdenBudgethouder: number | null;\r\n totaalBijgestort: number;\r\n werkgeverslasten: number | null;\r\n werkgeverslastenZiekengeld: number | null;\r\n werkgeverslastenAlgemeneMiddelen: number | null;\r\n resterendBudget: number;\r\n factuurReiskosten: number | null;\r\n woonInitiatiefEnkelHuis: number | null;\r\n resterendBudgetWoonInitiatiefEnkelHuis: number | null;\r\n subDeclaratieKassabonBlok: SubDeclaratieKassabonBlokViewModel[] | null;\r\n}\r\n\r\nexport interface SubDeclaratieKassabonBlokViewModel {\r\n subBedrag: number;\r\n werkzaamheidType: WerkzaamheidType;\r\n tijdseenheidType: TijdseenheidType;\r\n aantalEenheden: number | null;\r\n tarief: number;\r\n}\r\n\r\nexport interface OverzichtOpgeschorteDeclaratieViewModel extends OverzichtDeclaratieViewModel {\r\n isTeBeoordelen: boolean;\r\n}\r\n\r\nexport interface OpschortenBetalingViewModel {\r\n budgethouderUid: string | null;\r\n zorgverlenerUid: string | null;\r\n type: OpschortingBetalingType;\r\n ingangsdatum: DateString;\r\n reden: string | null;\r\n isBetrokkeneGeinformeerd: boolean;\r\n}\r\n\r\n/** 0 = Onbekend 1 = Budgethouder 2 = Zorgverlener 3 = BudgethouderZorgverlenerCombinatie */\r\nexport enum OpschortingBetalingType {\r\n Onbekend = 0,\r\n Budgethouder = 1,\r\n Zorgverlener = 2,\r\n BudgethouderZorgverlenerCombinatie = 3,\r\n}\r\n\r\nexport interface WeergevenOpschortenBetalingViewModel {\r\n uid: string;\r\n budgethouder: WeergaveRelatieOpschortingViewModel | null;\r\n zorgverlener: WeergaveRelatieOpschortingViewModel | null;\r\n type: OpschortingBetalingType;\r\n ingangstijdstip: string;\r\n reden: string | null;\r\n}\r\n\r\nexport interface WeergaveRelatieOpschortingViewModel extends WeergaveRelatieViewModel {\r\n burgerservicenummer: string | null;\r\n agbCode: string | null;\r\n}\r\n\r\nexport interface OpschortingTagViewModel {\r\n heeftActieveOpschorting: boolean;\r\n}\r\n\r\nexport interface DownloadFile {\r\n id: string;\r\n aanmaakDatum: string | null;\r\n aangemaaktDoor: string | null;\r\n naam: string | null;\r\n naamZonderExtensie: string | null;\r\n extensie: string | null;\r\n contentType: string | null;\r\n referentie: string | null;\r\n data: string | null;\r\n}\r\n\r\nexport interface ToekenningsbeschikkingViewModel {\r\n id: string | null;\r\n budgetten: BudgetViewModel2[] | null;\r\n budgethouder: BudgethouderViewModel | null;\r\n vertegenwoordigers: VertegenwoordigerViewModel[] | null;\r\n wet: WetType | null;\r\n status: ToekenningsbeschikkingStatusType | null;\r\n statusVoorWeergave: ToekenningsbeschikkingStatusTypeWeergave;\r\n statusReden: ToekenningsbeschikkingStatusRedenType | null;\r\n statusRedenOverig: string | null;\r\n datumLaatsteMutatie: string;\r\n afgever: string | null;\r\n afgeverNaam: string | null;\r\n afgiftedatum: DateString | null;\r\n aanmaakdatum: string;\r\n ingangsdatum: DateString | null;\r\n einddatum: DateString | null;\r\n nummer: string | null;\r\n isMutableInPortal: boolean;\r\n budgetIdentificatie: string | null;\r\n redenAfsluiten: RedenAfsluitenType | null;\r\n teBeoordelenDeclaraties: boolean;\r\n}\r\n\r\nexport interface BudgetViewModel2 {\r\n totaalbedrag: number | null;\r\n ingangsdatum: DateString | null;\r\n einddatum: DateString | null;\r\n maximaalVrijBesteedbaarBedrag: number | null;\r\n status: BudgetStatusType;\r\n budgetFunctieRegels: BudgetFunctieRegelViewModel[] | null;\r\n}\r\n\r\n/** 0 = Onbekend 1 = Open 2 = Gesloten */\r\nexport enum BudgetStatusType {\r\n Onbekend = 0,\r\n Open = 1,\r\n Gesloten = 2,\r\n}\r\n\r\nexport interface BudgetFunctieRegelViewModel {\r\n bedrag: number;\r\n verantwoordingsvrijBedrag: number;\r\n werkzaamheid: ZorgFunctieType;\r\n}\r\n\r\n/** 0 = Onbekend 1 = HulpBijHetHuishouden 2 = Begeleiding 3 = PersoonlijkeVerzorgingWmo 4 = KortdurendVerblijf 5 = Woondiensten 6 = OverigeOndersteuningGerichtOpHetIndividuOfHuishoudenOfGezin 7 = Dagbesteding 8 = VervoerdienstenWmo 9 = OverigeGroepsgerichteOndersteuning 10 = OverigeMaatwerkArrangementen 11 = Rolstoelen 12 = Vervoervoorzieningen 13 = Woonvoorzieningen 14 = OverigeHulpmiddelen 15 = BeschermdWonen 16 = Opvang 17 = Spoedopvang 18 = OverigeBeschermdWonenEnOpvang 31 = ZonderVerblijfUitgevoerdDoorWijkOfBuurtteam 32 = ZonderVerblijfAmbulanteJeugdhulpOpLocatieVanDeAanbieder 33 = ZonderVerblijfDaghulpOpLocatieVanDeAanbieder 34 = ZonderVerblijfJeugdhulpInHetNetwerkVanDeJeugdige 35 = MetVerblijfPleegzorg 36 = MetVerblijfGezinsgericht 37 = MetVerblijfGeslotenPlaatsing 38 = MetVerblijfOverigResidentieel 40 = PersoonlijkeVerzorgingJeugdzorg 41 = Dagbehandeling 42 = VervoerdienstenJeugdzorg 43 = JeugdhulpVerblijfInclusiefBehandeling 44 = JeugdhulpVerblijfExclusiefBehandeling 45 = JeugdhulpAmbulant 46 = JeugdhulpCrisis 47 = Jeugdreclassering 48 = Jeugdbescherming 49 = ActiviteitenInHetPreventiefJustitieelKader 50 = MaatwerkarrangementenJeugd 51 = GeneralistischeBasisGgz 52 = SpecialistischeGgz 53 = Kindergeneeskunde 54 = JeugdGgz 55 = LandelijkIngekochteZorg 99 = TotaalZorgpakket */\r\nexport enum ZorgFunctieType {\r\n Onbekend = 0,\r\n HulpBijHetHuishouden = 1,\r\n Begeleiding = 2,\r\n PersoonlijkeVerzorgingWmo = 3,\r\n KortdurendVerblijf = 4,\r\n Woondiensten = 5,\r\n OverigeOndersteuningGerichtOpHetIndividuOfHuishoudenOfGezin = 6,\r\n Dagbesteding = 7,\r\n VervoerdienstenWmo = 8,\r\n OverigeGroepsgerichteOndersteuning = 9,\r\n OverigeMaatwerkArrangementen = 10,\r\n Rolstoelen = 11,\r\n Vervoervoorzieningen = 12,\r\n Woonvoorzieningen = 13,\r\n OverigeHulpmiddelen = 14,\r\n BeschermdWonen = 15,\r\n Opvang = 16,\r\n Spoedopvang = 17,\r\n OverigeBeschermdWonenEnOpvang = 18,\r\n ZonderVerblijfUitgevoerdDoorWijkOfBuurtteam = 31,\r\n ZonderVerblijfAmbulanteJeugdhulpOpLocatieVanDeAanbieder = 32,\r\n ZonderVerblijfDaghulpOpLocatieVanDeAanbieder = 33,\r\n ZonderVerblijfJeugdhulpInHetNetwerkVanDeJeugdige = 34,\r\n MetVerblijfPleegzorg = 35,\r\n MetVerblijfGezinsgericht = 36,\r\n MetVerblijfGeslotenPlaatsing = 37,\r\n MetVerblijfOverigResidentieel = 38,\r\n PersoonlijkeVerzorgingJeugdzorg = 40,\r\n Dagbehandeling = 41,\r\n VervoerdienstenJeugdzorg = 42,\r\n JeugdhulpVerblijfInclusiefBehandeling = 43,\r\n JeugdhulpVerblijfExclusiefBehandeling = 44,\r\n JeugdhulpAmbulant = 45,\r\n JeugdhulpCrisis = 46,\r\n Jeugdreclassering = 47,\r\n Jeugdbescherming = 48,\r\n ActiviteitenInHetPreventiefJustitieelKader = 49,\r\n MaatwerkarrangementenJeugd = 50,\r\n GeneralistischeBasisGgz = 51,\r\n SpecialistischeGgz = 52,\r\n Kindergeneeskunde = 53,\r\n JeugdGgz = 54,\r\n LandelijkIngekochteZorg = 55,\r\n TotaalZorgpakket = 99,\r\n}\r\n\r\nexport interface VertegenwoordigerViewModel extends RelatieViewModel {\r\n voorletters: string | null;\r\n voorvoegselGeslachtnaam: string | null;\r\n geslachtsnaam: string | null;\r\n burgerservicenummer: string | null;\r\n geboortedatum: DateString | null;\r\n geslacht: GeslachtType | null;\r\n isWoonadresGelijkAanBudgethouder: boolean | null;\r\n isAanwezig: boolean | null;\r\n isOrganisatie: boolean | null;\r\n kvkNummer: string | null;\r\n naamOrganisatie: string | null;\r\n bankrekening: BankrekeningViewModel | null;\r\n wettelijkeVertegenwoordigerRolType: WettelijkeVertegenwoordigerRolType | null;\r\n correspondentieAdres: AdresViewModel | null;\r\n}\r\n\r\n/** 0 = Onbekend 1 = ContactpersoonZorginhoudelijkEnFinancieelVerantwoordelijk 2 = GemachtigdeZorginhoudelijkEnFinancieelVerantwoordelijk 3 = WettelijkVertegenwoordigerZorginhoudelijkEnFinancieelVerantwoordelijk 4 = GewaarborgdeHulp 5 = ContactpersoonZorginhoudelijkVerantwoordelijk 6 = GemachtigdeZorginhoudelijkVerantwoordelijk 7 = WettelijkVertegenwoordigerZorginhoudelijkVerantwoordelijk 8 = ContactpersoonFinancieelVerantwoordelijk 9 = GemachtigdeFinancieelVerantwoordelijk 10 = WettelijkVertegenwoordigerFinancieelVerantwoordelijk */\r\nexport enum WettelijkeVertegenwoordigerRolType {\r\n Onbekend = 0,\r\n ContactpersoonZorginhoudelijkEnFinancieelVerantwoordelijk = 1,\r\n GemachtigdeZorginhoudelijkEnFinancieelVerantwoordelijk = 2,\r\n WettelijkVertegenwoordigerZorginhoudelijkEnFinancieelVerantwoordelijk = 3,\r\n GewaarborgdeHulp = 4,\r\n ContactpersoonZorginhoudelijkVerantwoordelijk = 5,\r\n GemachtigdeZorginhoudelijkVerantwoordelijk = 6,\r\n WettelijkVertegenwoordigerZorginhoudelijkVerantwoordelijk = 7,\r\n ContactpersoonFinancieelVerantwoordelijk = 8,\r\n GemachtigdeFinancieelVerantwoordelijk = 9,\r\n WettelijkVertegenwoordigerFinancieelVerantwoordelijk = 10,\r\n}\r\n\r\n/** 0 = Onbekend 1 = Ingetrokken 2 = Toekomstig 3 = Actief 4 = Verlopen 5 = Afgesloten */\r\nexport enum ToekenningsbeschikkingStatusTypeWeergave {\r\n Onbekend = 0,\r\n Ingetrokken = 1,\r\n Toekomstig = 2,\r\n Actief = 3,\r\n Verlopen = 4,\r\n Afgesloten = 5,\r\n}\r\n\r\n/** 0 = Onbekend 1 = AdministratieveCorrectie 2 = ClientOverleden 3 = Budgetverhoging 4 = HerbeoordelingVerlengingBudgetperiode 5 = HerbeoordelingVerkortingBudgetperiode 6 = UitstroomNaarAnderDomein 7 = VerhuizingNaarAndereGemeente 8 = BeeindigingDoorWijzigingLeveringsvorm 10 = Budgetverlaging 11 = BeeindigingToekenningsbeschikking 12 = WijzigingRelatieOfContactgegevens 13 = DefinitieveBudgetafsluiting 100 = Overig 101 = BudgethouderTijdelijkInHetBuitenland 102 = Herindicatie 103 = IntrekkenTkb 104 = NietOpgegeven */\r\nexport enum ToekenningsbeschikkingStatusRedenType {\r\n Onbekend = 0,\r\n AdministratieveCorrectie = 1,\r\n ClientOverleden = 2,\r\n Budgetverhoging = 3,\r\n HerbeoordelingVerlengingBudgetperiode = 4,\r\n HerbeoordelingVerkortingBudgetperiode = 5,\r\n UitstroomNaarAnderDomein = 6,\r\n VerhuizingNaarAndereGemeente = 7,\r\n BeeindigingDoorWijzigingLeveringsvorm = 8,\r\n Budgetverlaging = 10,\r\n BeeindigingToekenningsbeschikking = 11,\r\n WijzigingRelatieOfContactgegevens = 12,\r\n DefinitieveBudgetafsluiting = 13,\r\n Overig = 100,\r\n BudgethouderTijdelijkInHetBuitenland = 101,\r\n Herindicatie = 102,\r\n IntrekkenTkb = 103,\r\n NietOpgegeven = 104,\r\n}\r\n\r\n/** 0 = Onbekend 1 = OpVerzoekErvenBijOverlijdenBudgethouder 2 = OvergangNaarZorgInNatura 3 = UitstroomNaarEenAndereWet 4 = Verhuizing 5 = UitspraakBezwaarBeroep 6 = AutomatischAfgesloten */\r\nexport enum RedenAfsluitenType {\r\n Onbekend = 0,\r\n OpVerzoekErvenBijOverlijdenBudgethouder = 1,\r\n OvergangNaarZorgInNatura = 2,\r\n UitstroomNaarEenAndereWet = 3,\r\n Verhuizing = 4,\r\n UitspraakBezwaarBeroep = 5,\r\n AutomatischAfgesloten = 6,\r\n}\r\n\r\nexport interface ToekenningsbeschikkingOverviewListItemViewModel {\r\n uid: string;\r\n id: number;\r\n wet: WetType;\r\n aanmaakDatum: string;\r\n nummer: string | null;\r\n ingangsDatum: string;\r\n eindDatum: string | null;\r\n periode: string | null;\r\n budgethouderNaam: string | null;\r\n budgethouderId: number;\r\n verstrekkerNaam: string | null;\r\n verstrekkerId: number;\r\n wettelijkeVertegenwoordigerNaam: string | null;\r\n wettelijkeVertegenwoordigerId: number;\r\n heeftWettelijkeVertegenwoordiger: boolean;\r\n status: ToekenningsbeschikkingStatusType;\r\n budgetStatus: BudgetStatusType;\r\n isGeldigEnNietVerlopen: boolean;\r\n statusReden: string | null;\r\n statusRedenOverig: string | null;\r\n statusVoorWeergave: ToekenningsbeschikkingStatusTypeWeergave;\r\n}\r\n\r\nexport interface BeschikbareDeclaratieToekenningsbeschikkingenViewModel {\r\n declaratieToekenningsbeschikkingen: DeclaratieToekenningsbeschikkingViewModel[] | null;\r\n beschikbareJaren: number[] | null;\r\n beschikbareMaanden: number[] | null;\r\n}\r\n\r\nexport interface ToekenningsbeschikkingReadOnlyViewModel {\r\n toekenningsbeschikkingId: number;\r\n toekenningsbeschikkingUid: string;\r\n wet: WetType;\r\n ingangsdatum: DateString;\r\n einddatum: DateString | null;\r\n totaalBudget: number;\r\n vertegenwoordigers: VertegenwoordigerReadOnlyViewModel[] | null;\r\n isGeselecteerd: boolean;\r\n isOngeldig: boolean;\r\n verstrekkerId: number;\r\n verstrekkerNaam: string | null;\r\n status: ToekenningsbeschikkingStatusType;\r\n budgetIdentificatie: string | null;\r\n}\r\n\r\nexport interface DeclaratieToekenningsbeschikkingViewModel extends ToekenningsbeschikkingReadOnlyViewModel {\r\n id: string | null;\r\n budgethouder: BudgethouderReadOnlyViewModel | null;\r\n openstaandTotaalBudget: number | null;\r\n vrijbesteedbaarBudget: number | null;\r\n openstaandVrijbesteedbaarBudget: number | null;\r\n opgenomenBedrag: number | null;\r\n ziektegeld: number | null;\r\n bankrekening: BankrekeningViewModel | null;\r\n uitbetaaldWooninitiatiefEnkelHuis: number;\r\n openstaandWooninitiatiefEnkelHuis: number;\r\n isWooninitiatiefEnkelHuis: boolean;\r\n beschikbareMaanden: number[] | null;\r\n begunstigdeVertegenwoordigers: VertegenwoordigerReadOnlyViewModel[] | null;\r\n begunstigdeRelatieId: string | null;\r\n}\r\n\r\nexport interface RelatieReadOnlyViewModel {\r\n id: number;\r\n uid: string;\r\n burgerservicenummer: string | null;\r\n volledigeNaam: string | null;\r\n geboortedatum: DateString | null;\r\n geslacht: GeslachtType | null;\r\n telefoonnummer1: string | null;\r\n telefoonnummer2: string | null;\r\n emailadres: string | null;\r\n}\r\n\r\nexport interface BudgethouderReadOnlyViewModel extends RelatieReadOnlyViewModel {\r\n voorletters: string | null;\r\n voorvoegselGeslachtnaam: string | null;\r\n geslachtsnaam: string | null;\r\n bankrekening: BankrekeningViewModel | null;\r\n relatienummer: string | null;\r\n overlijdensdatum: DateString | null;\r\n adres: AdresViewModel | null;\r\n correspondentieAdres: AdresViewModel | null;\r\n}\r\n\r\nexport interface VertegenwoordigerReadOnlyViewModel extends RelatieReadOnlyViewModel {\r\n voorletters: string | null;\r\n voorvoegselGeslachtnaam: string | null;\r\n geslachtsnaam: string | null;\r\n isGemachtigd: boolean | null;\r\n ouderVoogd: VertegenwoordigerSubtypeOuder;\r\n bewindvoerderCuratorMentor: VertegenwoordigerSubtypeCurator;\r\n isOrganisatie: boolean | null;\r\n naamOrganisatie: string | null;\r\n kvkNummer: string | null;\r\n relatienummer: string | null;\r\n adressen: AdresViewModel[] | null;\r\n correspondentieAdres: AdresViewModel | null;\r\n bankrekening: BankrekeningViewModel | null;\r\n}\r\n\r\n/** 0 = Onbekend 1 = Ouder 2 = Voogd */\r\nexport enum VertegenwoordigerSubtypeOuder {\r\n Onbekend = 0,\r\n Ouder = 1,\r\n Voogd = 2,\r\n}\r\n\r\n/** 0 = Onbekend 1 = Curator 2 = Bewindvoerder 3 = Mentor */\r\nexport enum VertegenwoordigerSubtypeCurator {\r\n Onbekend = 0,\r\n Curator = 1,\r\n Bewindvoerder = 2,\r\n Mentor = 3,\r\n}\r\n\r\nexport interface BeeindigBudgetModel {\r\n toekenningsbeschikkingUid: string;\r\n redenAfsluiten: RedenAfsluitenType;\r\n}\r\n\r\nexport interface ZoekRelatiesViewModel2 {\r\n erZijnTeveelVertegenwoordigersGevonden: boolean;\r\n vertegenwoordigers: VertegenwoordigerReadOnlyViewModel[] | null;\r\n}\r\n\r\nexport interface ZoekVertegenwoordigerCriteriaViewModel extends ZoekRelatiesCriteriaViewModel {\r\n kvk: string | null;\r\n}\r\n\r\nexport interface VertegenwoordigerToekenningsbeschikkingViewmodel {\r\n budgethouderUid: string;\r\n tkbUid: string;\r\n naamBudgethouder: string | null;\r\n klantnummer: string | null;\r\n rol: WettelijkeVertegenwoordigerRolType;\r\n status: ToekenningsbeschikkingStatusType;\r\n wet: WetType;\r\n ingangsdatum: DateString;\r\n einddatum: DateString;\r\n mutatieDatum: string;\r\n}\r\n\r\nexport interface WeergaveZorgovereenkomstViewModel {\r\n toekenningsbeschikkingen: ToekenningsbeschikkingReadOnlyViewModel[] | null;\r\n isGemeente: boolean;\r\n budgethouder: BudgethouderReadOnlyViewModel | null;\r\n ingangsdatum: DateString | null;\r\n werkafspraken: WerkafsprakenViewModel | null;\r\n aanzegtermijn: boolean;\r\n vakantieUrenInbegrepen: VakantieUrenInbegrepen | null;\r\n reiskosten: ReiskostenViewModel | null;\r\n overigeAfspraken: string | null;\r\n zorgBeschrijving1: string | null;\r\n zorgBeschrijving2: string | null;\r\n opdrachtnemer: OpdrachtnemerViewModel | null;\r\n notities: NotitieViewModel[] | null;\r\n vertegenwoordigers: VertegenwoordigerReadOnlyViewModel[] | null;\r\n proeftijd: ProeftijdViewModel | null;\r\n heeftLoonheffingskorting: boolean | null;\r\n isSalarisadministratieDoorSvb: boolean | null;\r\n isRelatieMetZorgverlener: boolean | null;\r\n isUitbetalingBruto: boolean | null;\r\n uploadedFileIds: string[] | null;\r\n uploadedFileIdsIdentiteitsbewijs: string[] | null;\r\n documentenVragenlijstFamilieverhouding: OverzichtDocumentViewModel[] | null;\r\n documentenIdentiteitsbewijs: OverzichtDocumentViewModel[] | null;\r\n zijnZorgverlenerGegevensOpgehaaldUitProfiel: boolean;\r\n status: ConceptStatusType;\r\n}\r\n\r\nexport interface WerkafsprakenVergoedingenViewModel {\r\n vergoedingtype: VergoedingType | null;\r\n vergoeding: VergoedingViewModel | null;\r\n andereVergoedingen: VergoedingViewModel[] | null;\r\n bereikbaarheidsdienstvergoedingen: BereikbaarheidsdienstvergoedingViewModel[] | null;\r\n}\r\n\r\nexport interface WerkafsprakenViewModel extends WerkafsprakenVergoedingenViewModel {\r\n aantalWerkdagenZorgverlener: AantalWerkdagenPerWeekType | null;\r\n afspraakUren: WerkAfspraakType | null;\r\n zorgverlenerOntvangtVastBedragPerMaand: boolean | null;\r\n isWeekroosterAfgesproken: boolean | null;\r\n zorgverlenerUrenopgaven: ZorgverlenerUrenopgaveViewModel[] | null;\r\n tijdseenheidTypeZorgverlenerUrenopgaven: TijdseenheidType | null;\r\n weekSchedules: WeekScheduleViewModel[] | null;\r\n}\r\n\r\n/** 0 = Onbekend 1 = OnregelmatigAantalUren 2 = VastAantalUren */\r\nexport enum WerkAfspraakType {\r\n Onbekend = 0,\r\n OnregelmatigAantalUren = 1,\r\n VastAantalUren = 2,\r\n}\r\n\r\nexport interface ZorgverlenerUrenopgaveViewModel {\r\n aantalMinuten: number | null;\r\n wetType: WetType;\r\n tijdseenheidType: TijdseenheidType | null;\r\n}\r\n\r\nexport interface WeekScheduleViewModel {\r\n weekNumber: number;\r\n weekroosterdagViewModels: WeekroosterdagViewModel[] | null;\r\n}\r\n\r\nexport interface WeekroosterdagViewModel {\r\n dag: Dag;\r\n aantalMinuten: number | null;\r\n}\r\n\r\n/** 0 = Onbekend 1 = Maandag 2 = Dinsdag 3 = Woensdag 4 = Donderdag 5 = Vrijdag 6 = Zaterdag 7 = Zondag */\r\nexport enum Dag {\r\n Onbekend = 0,\r\n Maandag = 1,\r\n Dinsdag = 2,\r\n Woensdag = 3,\r\n Donderdag = 4,\r\n Vrijdag = 5,\r\n Zaterdag = 6,\r\n Zondag = 7,\r\n}\r\n\r\n/** 0 = Onbekend 1 = EenTarief 2 = TariefPerWerkzaamheid */\r\nexport enum VergoedingType {\r\n Onbekend = 0,\r\n EenTarief = 1,\r\n TariefPerWerkzaamheid = 2,\r\n}\r\n\r\nexport interface VergoedingViewModel {\r\n tariefZorgverlener: number | null;\r\n aantalMinutenPerTijdseenheid: number | null;\r\n tijdseenheidTariefZorgverlener: TijdseenheidType | null;\r\n maandbedragZorgverlener: number | null;\r\n wetWerkzaamheden: WetWerkzaamheidSetViewModel[] | null;\r\n}\r\n\r\nexport interface WetWerkzaamheidSetViewModel {\r\n wetType: WetType;\r\n werkzaamheden: WerkzaamheidViewModel[] | null;\r\n inactieveWerkzaamheden: WerkzaamheidViewModel[] | null;\r\n geselecteerdeNietBeschikbareWerkzaamheden: WerkzaamheidViewModel[] | null;\r\n}\r\n\r\nexport interface WerkzaamheidViewModel {\r\n tarieven: WerkzaamheidTarief[] | null;\r\n werkzaamheidType: WerkzaamheidType;\r\n isGeselecteerd: boolean;\r\n}\r\n\r\nexport interface WerkzaamheidTarief {\r\n tarief: number | null;\r\n tijdseenheidType: TijdseenheidType;\r\n aantalMinutenPerTijdseenheid: number | null;\r\n}\r\n\r\nexport interface BereikbaarheidsdienstvergoedingViewModel {\r\n tariefZorgverlener: number | null;\r\n wetten: WetViewModel[] | null;\r\n}\r\n\r\nexport interface WetViewModel {\r\n wet: WetType;\r\n isSelected: boolean;\r\n}\r\n\r\n/** 0 = Onbekend 1 = ZijnInbegrepen 2 = ZijnNietInbegrepen */\r\nexport enum VakantieUrenInbegrepen {\r\n Onbekend = 0,\r\n ZijnInbegrepen = 1,\r\n ZijnNietInbegrepen = 2,\r\n}\r\n\r\nexport interface ReiskostenViewModel {\r\n reiskostenAfspraak: ReiskostenAfspraakType | null;\r\n kilometervergoeding: boolean | null;\r\n kilometervergoedingBedrag: number | null;\r\n openbaarvervoerVergoeding: boolean | null;\r\n maandloonVergoeding: boolean | null;\r\n maandloonKilometerPerDag: number | null;\r\n maandloonDagenPerWeek: number | null;\r\n}\r\n\r\n/** 0 = Onbekend 1 = ReiskostWordenNietVergoed 2 = ReiskostWordenWelVergoed 3 = IkHebNogGeenAfspraak */\r\nexport enum ReiskostenAfspraakType {\r\n Onbekend = 0,\r\n ReiskostWordenNietVergoed = 1,\r\n ReiskostWordenWelVergoed = 2,\r\n IkHebNogGeenAfspraak = 3,\r\n}\r\n\r\nexport interface OpdrachtnemerViewModel {\r\n nieuwOfEerderIngevoerdeZorgverlener: NieuweOfBekendeZorgverlenerType;\r\n contractType: ContractType | null;\r\n relatie: boolean | null;\r\n relatieType: BudgethouderZorgverlenerRelatieType | null;\r\n relatieAnders: string | null;\r\n zorgverlener: ZorgverlenerViewModel | null;\r\n zorgverlenerIsZZPer: boolean | null;\r\n}\r\n\r\n/** 0 = Onbekend 1 = EerderIngevoerdeZorgverlener 2 = NieuweZorgverlener */\r\nexport enum NieuweOfBekendeZorgverlenerType {\r\n Onbekend = 0,\r\n EerderIngevoerdeZorgverlener = 1,\r\n NieuweZorgverlener = 2,\r\n}\r\n\r\n/** 0 = Onbekend 1 = Partner 2 = BroerZus 3 = Ouder 4 = Grootouder 5 = Anders 6 = Eerstegraads 7 = Tweedegraads 8 = Derdegraads 9 = Geen 10 = Conversie */\r\nexport enum BudgethouderZorgverlenerRelatieType {\r\n Onbekend = 0,\r\n Partner = 1,\r\n BroerZus = 2,\r\n Ouder = 3,\r\n Grootouder = 4,\r\n Anders = 5,\r\n Eerstegraads = 6,\r\n Tweedegraads = 7,\r\n Derdegraads = 8,\r\n Geen = 9,\r\n Conversie = 10,\r\n}\r\n\r\nexport interface ZorgverlenerViewModel extends RelatieViewModel {\r\n adres: AdresViewModel | null;\r\n agbCode: string | null;\r\n naamZorginstelling: string | null;\r\n vertegenwoordigerZorginstelling: string | null;\r\n geslachtVertegenwoordiger: GeslachtType | null;\r\n functieVertegenwoordiger: string | null;\r\n voorletters: string | null;\r\n achternaam: string | null;\r\n burgerServiceNummer: string | null;\r\n kvkNummer: string | null;\r\n geboortedatum: DateString | null;\r\n overlijdensdatum: DateString | null;\r\n geslacht: GeslachtType | null;\r\n bankrekening: BankrekeningViewModel | null;\r\n zorgverlenerType: ZorgverlenerType | null;\r\n status: ZorgverlenerStatusType;\r\n naamCurator: string | null;\r\n meestRecenteZorgovereenkomstContractType: ContractType | null;\r\n meestRecenteZorgovereenkomstRelatieType: BudgethouderZorgverlenerRelatieType | null;\r\n meestRecenteZorgovereenkomstBetreftHetEenWooninitiatief: boolean | null;\r\n meestRecenteZorgovereenkomstRelatieAnders: string | null;\r\n}\r\n\r\n/** 0 = Onbekend 1 = Zorginstelling 2 = NatuurlijkPersoon 3 = ZZP */\r\nexport enum ZorgverlenerType {\r\n Onbekend = 0,\r\n Zorginstelling = 1,\r\n NatuurlijkPersoon = 2,\r\n ZZP = 3,\r\n}\r\n\r\n/** 0 = Onbekend 1 = Actief 2 = Gestopt 3 = Failliet */\r\nexport enum ZorgverlenerStatusType {\r\n Onbekend = 0,\r\n Actief = 1,\r\n Gestopt = 2,\r\n Failliet = 3,\r\n}\r\n\r\nexport interface NotitieViewModel {\r\n medewerker: string | null;\r\n aanmaakDatum: string;\r\n tekst: string | null;\r\n isAutomatischAangemaakt: boolean;\r\n isVanMezelf: boolean;\r\n}\r\n\r\nexport interface ProeftijdViewModel {\r\n isProeftijdAfgesproken: boolean | null;\r\n einddatumProeftijd: DateString | null;\r\n}\r\n\r\n/** 0 = Onbekend 1 = Concept 2 = Gedeeld 3 = TerFiattering 4 = Voltooid 5 = Nieuw 6 = Afgekeurd 7 = SupplementRequired */\r\nexport enum ConceptStatusType {\r\n Onbekend = 0,\r\n Concept = 1,\r\n Gedeeld = 2,\r\n TerFiattering = 3,\r\n Voltooid = 4,\r\n Nieuw = 5,\r\n Afgekeurd = 6,\r\n SupplementRequired = 7,\r\n}\r\n\r\nexport interface WerktaakSelecteerViewModel {\r\n datumAangemaakt: string;\r\n flowIndiendatum: string;\r\n deadline: string | null;\r\n deadlineVerstreken: boolean;\r\n deadlineNadert: boolean;\r\n medewerker: string | null;\r\n werktaakType: WerktaakType;\r\n datumUitDeWacht: string | null;\r\n id: string | null;\r\n status: string | null;\r\n relaties: string | null;\r\n kanWerktaakOpenen: boolean;\r\n isInFlow: boolean;\r\n hasBeslistermijn: boolean;\r\n verstrekkerNaam: string | null;\r\n isWerktaakGeclaimdDoorIngelogdeMedewerker: boolean;\r\n naamZorgverlener: string | null;\r\n periode: string | null;\r\n}\r\n\r\n/** 0 = Onbekend 3 = InvoerenGoedkeurenDeclaratie 4 = InvoerenGoedkeurenZorgovereenkomst 5 = FiatterenZorgovereenkomst 6 = FiatterenPapierenZorgovereenkomst 7 = FiatterenGewijzigdeZorgovereenkomst 8 = IndexerenDocument 9 = BabFout508 10 = NietOndersteundeTkb 11 = JuridischeZaken 12 = Klantvraag 13 = Debiteurenbeheer 14 = Wga 15 = Bezwaar 16 = Klacht 17 = ZiekEnHerstel 18 = SchadeRechtsbijstand 19 = Salarisadministratie 20 = Profielwijziging 21 = Fraude 22 = Financieel 25 = FiatterenVervangingszorgovereenkomst 26 = BerekenenMaandloon 29 = Vertegenwoordiger 30 = BeeindigenZorgovereenkomst 32 = RekeningnummerGewijzigdDigitaal 33 = RekeningnummerGewijzigdPapier 34 = IntrekkenDeclaratie 35 = BeoordelenDeclaratieReiskosten 36 = InvoerenBeoordelenDeclaratieReiskosten 37 = InvoerenFactuur 38 = InvoerenPapierenWijzigingZorgovereenkomst 39 = FiatterenPapierenWijzigingZorgovereenkomst 40 = BeeindigenZorgovereenkomstBeoordelen 41 = BeoordelenNokZok 42 = BeoordelenNokBetaalverzoek 43 = AfwikkelingAlgemeneBlokkadeZorgverlener 44 = BuitenBehandelingAanvraagZorgovereenkomst 45 = BeoordelenNokZorgverlener 46 = FiatterenZorgovereenkomstWlz 47 = FiatterenZorgovereenkomstJw 48 = FiatterenZorgovereenkomstWmo 49 = BuitenBehandelingAanvraagZorgovereenkomstWlz 50 = BuitenBehandelingAanvraagZorgovereenkomstJw 51 = BuitenBehandelingAanvraagZorgovereenkomstWmo 52 = BeeindigenZorgovereenkomstBeoordelenWlz 53 = BeeindigenZorgovereenkomstBeoordelenJw 54 = BeeindigenZorgovereenkomstBeoordelenWmo 55 = FiatterenPapierenZorgovereenkomstWlz 56 = FiatterenPapierenZorgovereenkomstJw 57 = FiatterenPapierenZorgovereenkomstWmo 58 = FiatterenPapierenWijzigingZorgovereenkomstWlz 59 = FiatterenPapierenWijzigingZorgovereenkomstJw 60 = FiatterenPapierenWijzigingZorgovereenkomstWmo 61 = FiatterenGewijzigdeZorgovereenkomstWlz 62 = FiatterenGewijzigdeZorgovereenkomstJw 63 = FiatterenGewijzigdeZorgovereenkomstWmo 64 = FiatterenVervangingszorgovereenkomstWlz 65 = FiatterenVervangingszorgovereenkomstJw 66 = FiatterenVervangingszorgovereenkomstWmo 67 = BeoordelenDeclaratieJaarovergang 68 = VerwijderenBudgethouder 69 = VerhuizenBudgethouderNaar10 70 = Transitievergoeding 71 = SalarisadministratiecontroleSvb 72 = BeoordelenDeclaratieWooninitiatief 74 = BeoordelenDeclaratieBijkomendeZorgkosten 75 = IntrekkenMaandloon 76 = AfhandelenOpschorting */\r\nexport enum WerktaakType {\r\n Onbekend = 0,\r\n InvoerenGoedkeurenDeclaratie = 3,\r\n InvoerenGoedkeurenZorgovereenkomst = 4,\r\n FiatterenZorgovereenkomst = 5,\r\n FiatterenPapierenZorgovereenkomst = 6,\r\n FiatterenGewijzigdeZorgovereenkomst = 7,\r\n IndexerenDocument = 8,\r\n BabFout508 = 9,\r\n NietOndersteundeTkb = 10,\r\n JuridischeZaken = 11,\r\n Klantvraag = 12,\r\n Debiteurenbeheer = 13,\r\n Wga = 14,\r\n Bezwaar = 15,\r\n Klacht = 16,\r\n ZiekEnHerstel = 17,\r\n SchadeRechtsbijstand = 18,\r\n Salarisadministratie = 19,\r\n Profielwijziging = 20,\r\n Fraude = 21,\r\n Financieel = 22,\r\n FiatterenVervangingszorgovereenkomst = 25,\r\n BerekenenMaandloon = 26,\r\n Vertegenwoordiger = 29,\r\n BeeindigenZorgovereenkomst = 30,\r\n RekeningnummerGewijzigdDigitaal = 32,\r\n RekeningnummerGewijzigdPapier = 33,\r\n IntrekkenDeclaratie = 34,\r\n BeoordelenDeclaratieReiskosten = 35,\r\n InvoerenBeoordelenDeclaratieReiskosten = 36,\r\n InvoerenFactuur = 37,\r\n InvoerenPapierenWijzigingZorgovereenkomst = 38,\r\n FiatterenPapierenWijzigingZorgovereenkomst = 39,\r\n BeeindigenZorgovereenkomstBeoordelen = 40,\r\n BeoordelenNokZok = 41,\r\n BeoordelenNokBetaalverzoek = 42,\r\n AfwikkelingAlgemeneBlokkadeZorgverlener = 43,\r\n BuitenBehandelingAanvraagZorgovereenkomst = 44,\r\n BeoordelenNokZorgverlener = 45,\r\n FiatterenZorgovereenkomstWlz = 46,\r\n FiatterenZorgovereenkomstJw = 47,\r\n FiatterenZorgovereenkomstWmo = 48,\r\n BuitenBehandelingAanvraagZorgovereenkomstWlz = 49,\r\n BuitenBehandelingAanvraagZorgovereenkomstJw = 50,\r\n BuitenBehandelingAanvraagZorgovereenkomstWmo = 51,\r\n BeeindigenZorgovereenkomstBeoordelenWlz = 52,\r\n BeeindigenZorgovereenkomstBeoordelenJw = 53,\r\n BeeindigenZorgovereenkomstBeoordelenWmo = 54,\r\n FiatterenPapierenZorgovereenkomstWlz = 55,\r\n FiatterenPapierenZorgovereenkomstJw = 56,\r\n FiatterenPapierenZorgovereenkomstWmo = 57,\r\n FiatterenPapierenWijzigingZorgovereenkomstWlz = 58,\r\n FiatterenPapierenWijzigingZorgovereenkomstJw = 59,\r\n FiatterenPapierenWijzigingZorgovereenkomstWmo = 60,\r\n FiatterenGewijzigdeZorgovereenkomstWlz = 61,\r\n FiatterenGewijzigdeZorgovereenkomstJw = 62,\r\n FiatterenGewijzigdeZorgovereenkomstWmo = 63,\r\n FiatterenVervangingszorgovereenkomstWlz = 64,\r\n FiatterenVervangingszorgovereenkomstJw = 65,\r\n FiatterenVervangingszorgovereenkomstWmo = 66,\r\n BeoordelenDeclaratieJaarovergang = 67,\r\n VerwijderenBudgethouder = 68,\r\n VerhuizenBudgethouderNaar10 = 69,\r\n Transitievergoeding = 70,\r\n SalarisadministratiecontroleSvb = 71,\r\n BeoordelenDeclaratieWooninitiatief = 72,\r\n BeoordelenDeclaratieBijkomendeZorgkosten = 74,\r\n IntrekkenMaandloon = 75,\r\n AfhandelenOpschorting = 76,\r\n}\r\n\r\n/** 0 = Onbekend 1 = VanMij 2 = InDeWacht 3 = SpecifiekeGebruiker */\r\nexport enum WerktaakZoekType {\r\n Onbekend = 0,\r\n VanMij = 1,\r\n InDeWacht = 2,\r\n SpecifiekeGebruiker = 3,\r\n}\r\n\r\nexport interface AfgehandeldeWerktaakModel {\r\n datumAangemaakt: string;\r\n datumAfgehandeld: string;\r\n medewerker: string | null;\r\n werktaakType: WerktaakType;\r\n betreffend: string | null;\r\n werktaakNotities: WerktaakNotitieViewModel[] | null;\r\n}\r\n\r\nexport interface WerktaakNotitieViewModel {\r\n werktaakNotitieType: WerktaakNotitieType;\r\n notitie: NotitieViewModel | null;\r\n datumUitDeWacht: string | null;\r\n doorgestuurdAan: string | null;\r\n}\r\n\r\n/** 0 = Onbekend 1 = Werktaaknotitie 2 = InDeWachtNotitie 3 = DoorGestuurDoorNotitie */\r\nexport enum WerktaakNotitieType {\r\n Onbekend = 0,\r\n Werktaaknotitie = 1,\r\n InDeWachtNotitie = 2,\r\n DoorGestuurDoorNotitie = 3,\r\n}\r\n\r\nexport interface WerktaaktypeMetAantalViewModel {\r\n werktaakType: WerktaakType;\r\n aantal: number;\r\n magClaimen: boolean;\r\n isErEenWerktaakAanwezig: boolean;\r\n aantalOverDeadline: number;\r\n isErEenWerktaakOverDeDeadline: boolean;\r\n aantalOverIndicatieline: number;\r\n isErEenWerktaakOverDeIndicatieline: boolean;\r\n}\r\n\r\nexport interface GetWerkvoorraadAantalOpenstaandeWerktakenRequest {\r\n verstrekkerIds: string[] | null;\r\n isRegioOverstijgend: boolean;\r\n}\r\n\r\nexport interface WerktaakWeergaveViewModel {\r\n datumAangemaakt: string;\r\n datumAfgehandeld: string | null;\r\n naam: string | null;\r\n medewerkerId: number | null;\r\n werktaakType: WerktaakType;\r\n data: any | null;\r\n persistenceData: any | null;\r\n omschrijving: string | null;\r\n id: number;\r\n uid: string;\r\n werktaakNotities: WerktaakNotitieViewModel[] | null;\r\n werktaakIndexen: WeergaveRelatieViewModel[] | null;\r\n werktaakDocumenten: OverzichtDocumentViewModel[] | null;\r\n correspondentie: OverzichtDocumentViewModel[] | null;\r\n alleWerktakenBudgethouder: OpenstaandeWerktaakModel[] | null;\r\n budgethouderIsGeblokkeerd: boolean;\r\n zorgverlenerIsGeblokkeerd: boolean;\r\n}\r\n\r\nexport interface OpenstaandeWerktaakModel {\r\n flowIndiendatum: string;\r\n medewerker: string | null;\r\n werktaakType: WerktaakType;\r\n betreffend: string | null;\r\n verstrekkerNaam: string | null;\r\n}\r\n\r\nexport interface DeclaratieConceptViewModel extends ValidatedViewModel {\r\n bijkomendezorgkosten: BijkomendezorgkostenViewModel | null;\r\n budgethouder: BudgethouderReadOnlyViewModel | null;\r\n datumOndertekening: DateString | null;\r\n ondertekendDoorBevoegdeRelatieUid: string | null;\r\n ondertekeningStatus: OndertekeningStatusType;\r\n conceptId: string;\r\n declaratieType: DeclaratieType;\r\n factuurgegevens: FactuurgegevensViewModel | null;\r\n factuurReiskosten: FactuurReiskostenViewModel | null;\r\n wooninitiatiefEnkelHuis: WooninitiatiefEnkelHuisViewModel | null;\r\n feestdagenuitkering: FeestdagenuitkeringViewModel | null;\r\n declaratieConceptStatusType: DeclaratieConceptStatusType;\r\n heeftFactuur: boolean;\r\n heeftVervoersbewijs: boolean;\r\n opdrachtnemer: OpdrachtnemerViewModel2 | null;\r\n reiskosten: ReiskostenViewModel2 | null;\r\n vrijbesteedbaarBudget: VrijbesteedbaarBudgetModel | null;\r\n zorgdeclaratieMaandopgave: ZorgdeclaratieMaandopgaveViewModel | null;\r\n laatsteToelichting: DeclaratieToelichtingViewModel | null;\r\n declaratienummer: number | null;\r\n}\r\n\r\nexport interface DeclaratieWerktaakConceptViewModel extends DeclaratieConceptViewModel {\r\n fiattering: DeclaratieFiatteerType | null;\r\n toelichtingAfkeuring: string | null;\r\n declaratiesTerAanvullingBudgethouder: DeclaratieTerAanvullingBudgethouderViewModel[] | null;\r\n afkeurBriefVragen: AfkeurBriefVragenModel | null;\r\n werktaakId: string;\r\n bijlagen: BriefBijlageViewModel[] | null;\r\n isDeclaratieTerAanvullingSelected: boolean;\r\n}\r\n\r\nexport interface FactuurreiskostenWerktaakViewModel extends DeclaratieWerktaakConceptViewModel {\r\n vertegenwoordigers: VertegenwoordigerReadOnlyViewModel[] | null;\r\n hasVertegenwoordiger: boolean;\r\n}\r\n\r\n/** 0 = Onbekend 1 = Goedkeuren 2 = TerAanvullingDoorBudgethouder 3 = Afkeuren 4 = GoedkeurenAanvraagBijstorting 5 = NietVanToepassing */\r\nexport enum DeclaratieFiatteerType {\r\n Onbekend = 0,\r\n Goedkeuren = 1,\r\n TerAanvullingDoorBudgethouder = 2,\r\n Afkeuren = 3,\r\n GoedkeurenAanvraagBijstorting = 4,\r\n NietVanToepassing = 5,\r\n}\r\n\r\nexport interface DeclaratieTerAanvullingBudgethouderViewModel {\r\n indiendatum: DateString;\r\n omschrijving: string | null;\r\n bedrag: number;\r\n werktaakId: string;\r\n isSelected: boolean;\r\n}\r\n\r\nexport interface AfkeurBriefVragenModel {\r\n afkeurredenen: AfkeurredenModel[] | null;\r\n ontbrekenErGegevens: boolean | null;\r\n ontbrekendeGegevens: OntbrekendGegevenModel[] | null;\r\n magBudgethouderEenNieuweDeclaratieOpsturen: boolean | null;\r\n moetErEenBezwaarClausuleWordenMeegestuurd: boolean | null;\r\n}\r\n\r\nexport interface AfkeurredenModel {\r\n redenAfkeuring: RedenAfkeuringType | null;\r\n overigTekst: string | null;\r\n}\r\n\r\n/** 0 = Onbekend 1 = GeenBudgetBeschikbaarVoorDeDeclaratieperiode 2 = GeenToereikendBudget 3 = MaximumBedragFeestdagenuitkeringIsAlBetaald 4 = VvbIsAlVolledigOpgenomen 5 = VvbNietToegekend 6 = GeenGeldigeZorgovereenkomst 7 = ZorgovereenkomstIsGestopt 8 = TypeDeclaratieMagNietWordenIngediendVoorTypeZok 9 = ZiekteUrenMogenNietBetaaldWordenOvo 10 = VakantieUrenMogenNietBetaaldWorden 11 = ReiskostenBijZorginstelling 12 = DeclaratieTeLaatIngediend 13 = DeclaratieperiodeNogNietVerstreken 14 = DeclaratieperiodeLigtVoorIngangsdatumZorgovereenkomst 15 = MeerdereDeclaratiesOverDezelfdeMaand 16 = ZvwDeclaratieKanNietVerwerktWorden 17 = MaandbedragZonderAfwijkendeTarieven 18 = OverwerkGeenApartUurtarief 19 = TariefOfEenheidWijktAfVanZok 20 = BtwOpZorgkosten 21 = OndertekeningOntbreekt 22 = ZorgwetNietJuist 23 = GegevensBudgethouderNietJuist 24 = GegevensVervoerderNietJuist 25 = GegevensZorgverlenerNietJuist 26 = KvkNummerWijktAf 27 = KvkNummerZorgverlenerWijktAf 28 = IbanIsNietJuist 29 = IbanZorgverlenerWijktAf 30 = GeenZorgkostenUitBudgetBetaald 31 = VerkeerdeFormulierGebruiktVoorDeclaratie 32 = DeclaratieNietGoedLeesbaar 33 = TotaaloptellingUrenKomtNietOvereen 34 = TotaaloptellingWerkdagenKomtNietOvereen 35 = TotaaloptellingBedragKomtNietOvereen 36 = Overige */\r\nexport enum RedenAfkeuringType {\r\n Onbekend = 0,\r\n GeenBudgetBeschikbaarVoorDeDeclaratieperiode = 1,\r\n GeenToereikendBudget = 2,\r\n MaximumBedragFeestdagenuitkeringIsAlBetaald = 3,\r\n VvbIsAlVolledigOpgenomen = 4,\r\n VvbNietToegekend = 5,\r\n GeenGeldigeZorgovereenkomst = 6,\r\n ZorgovereenkomstIsGestopt = 7,\r\n TypeDeclaratieMagNietWordenIngediendVoorTypeZok = 8,\r\n ZiekteUrenMogenNietBetaaldWordenOvo = 9,\r\n VakantieUrenMogenNietBetaaldWorden = 10,\r\n ReiskostenBijZorginstelling = 11,\r\n DeclaratieTeLaatIngediend = 12,\r\n DeclaratieperiodeNogNietVerstreken = 13,\r\n DeclaratieperiodeLigtVoorIngangsdatumZorgovereenkomst = 14,\r\n MeerdereDeclaratiesOverDezelfdeMaand = 15,\r\n ZvwDeclaratieKanNietVerwerktWorden = 16,\r\n MaandbedragZonderAfwijkendeTarieven = 17,\r\n OverwerkGeenApartUurtarief = 18,\r\n TariefOfEenheidWijktAfVanZok = 19,\r\n BtwOpZorgkosten = 20,\r\n OndertekeningOntbreekt = 21,\r\n ZorgwetNietJuist = 22,\r\n GegevensBudgethouderNietJuist = 23,\r\n GegevensVervoerderNietJuist = 24,\r\n GegevensZorgverlenerNietJuist = 25,\r\n KvkNummerWijktAf = 26,\r\n KvkNummerZorgverlenerWijktAf = 27,\r\n IbanIsNietJuist = 28,\r\n IbanZorgverlenerWijktAf = 29,\r\n GeenZorgkostenUitBudgetBetaald = 30,\r\n VerkeerdeFormulierGebruiktVoorDeclaratie = 31,\r\n DeclaratieNietGoedLeesbaar = 32,\r\n TotaaloptellingUrenKomtNietOvereen = 33,\r\n TotaaloptellingWerkdagenKomtNietOvereen = 34,\r\n TotaaloptellingBedragKomtNietOvereen = 35,\r\n Overige = 36,\r\n}\r\n\r\nexport interface OntbrekendGegevenModel {\r\n ontbrekendGegeven: OntbrekendGegevenType | null;\r\n overigTekst: string | null;\r\n}\r\n\r\n/** 0 = Onbekend 1 = Betaalbewijzen 2 = Vervoersbewijzen 3 = GegevensBudgethouder 4 = GegevensVervoerder 5 = GegevensZorgverlener 6 = DeclaratieperiodeMaand 7 = DeclaratieperiodeJaar 8 = BedragPerDag 9 = Bedrag 10 = Totaalbedrag 11 = Uurtarief 12 = Tijdseenheid 13 = Kostensoort 14 = Handtekening 15 = Betaalgegevens 16 = Factuurdatum 17 = Factuurnummer 18 = ZorgwetOntbreektBijGelijkeTarieven 19 = Werkdagen 20 = ZiekteUren 21 = VakantieUren 22 = TotaaloptellingUrenKomtNietOvereen 23 = TotaaloptellingWerkdagenKomtNietOvereen 24 = TotaaloptellingBedragKomtNietOvereen 25 = AfwijkendeBetaalgegevens 26 = Overige */\r\nexport enum OntbrekendGegevenType {\r\n Onbekend = 0,\r\n Betaalbewijzen = 1,\r\n Vervoersbewijzen = 2,\r\n GegevensBudgethouder = 3,\r\n GegevensVervoerder = 4,\r\n GegevensZorgverlener = 5,\r\n DeclaratieperiodeMaand = 6,\r\n DeclaratieperiodeJaar = 7,\r\n BedragPerDag = 8,\r\n Bedrag = 9,\r\n Totaalbedrag = 10,\r\n Uurtarief = 11,\r\n Tijdseenheid = 12,\r\n Kostensoort = 13,\r\n Handtekening = 14,\r\n Betaalgegevens = 15,\r\n Factuurdatum = 16,\r\n Factuurnummer = 17,\r\n ZorgwetOntbreektBijGelijkeTarieven = 18,\r\n Werkdagen = 19,\r\n ZiekteUren = 20,\r\n VakantieUren = 21,\r\n TotaaloptellingUrenKomtNietOvereen = 22,\r\n TotaaloptellingWerkdagenKomtNietOvereen = 23,\r\n TotaaloptellingBedragKomtNietOvereen = 24,\r\n AfwijkendeBetaalgegevens = 25,\r\n Overige = 26,\r\n}\r\n\r\nexport interface BriefBijlageViewModel {\r\n imprintnummer: string | null;\r\n naam: string | null;\r\n isSelected: boolean;\r\n}\r\n\r\nexport interface BijkomendezorgkostenViewModel {\r\n bijkomendezorgkostenChoices: BijkomendezorgkostenType[] | null;\r\n bijkomendezorgkostenTypeSelected: BijkomendezorgkostenType;\r\n bedrag: number | null;\r\n wooninitiatiefzorgMax: number;\r\n wooninitiatiefzorgAlVerbruikt: number;\r\n consumptiePeriodeMax: number;\r\n consumptieDagMax: number;\r\n bestanden: FileUploadViewModel[] | null;\r\n heeftOvergeblevenBudget: boolean;\r\n consumptiesBijOverwerkAlVerbruikt: number;\r\n cursusZorgverlenerAlVerbruikt: number;\r\n cursusZorgverlenerMax: number;\r\n entreegeldZorgverlenerMax: number;\r\n entreegeldZorgverlenerAlVerbruikt: number;\r\n gearchiveerdeBestanden: OverzichtDocumentViewModel[] | null;\r\n}\r\n\r\nexport interface FileUploadViewModel {\r\n id: string;\r\n naam: string | null;\r\n mimeType: string | null;\r\n isValide: boolean;\r\n melding: string | null;\r\n imprintnummer: string | null;\r\n}\r\n\r\n/** 0 = NietOndertekend 1 = OndertekendDoorBevoegdPersoon 2 = OnbekendOfOnvolledig */\r\nexport enum OndertekeningStatusType {\r\n NietOndertekend = 0,\r\n OndertekendDoorBevoegdPersoon = 1,\r\n OnbekendOfOnvolledig = 2,\r\n}\r\n\r\nexport interface FactuurgegevensViewModel {\r\n factuurnummer: string | null;\r\n factuurdatum: DateString | null;\r\n bestanden: FileUploadViewModel[] | null;\r\n gearchiveerdeBestanden: OverzichtDocumentViewModel[] | null;\r\n}\r\n\r\nexport interface FactuurReiskostenViewModel {\r\n bestanden: FileUploadViewModel[] | null;\r\n gearchiveerdeBestanden: OverzichtDocumentViewModel[] | null;\r\n budgetSelected: DeclaratieBudgetViewModel | null;\r\n budgetten: DeclaratieBudgetViewModel[] | null;\r\n bankrekening: BankrekeningViewModel | null;\r\n factuurbedrag: number | null;\r\n factuurdatum: DateString | null;\r\n factuurnummer: string | null;\r\n geselecteerdJaar: number | null;\r\n geselecteerdeMaand: Maand | null;\r\n}\r\n\r\nexport interface DeclaratieBudgetViewModel {\r\n id: string | null;\r\n einddatum: DateString | null;\r\n ingangsdatum: DateString;\r\n verstrekkerNaam: string | null;\r\n wet: WetType;\r\n isOngeldig: boolean;\r\n overgeblevenBudget: number | null;\r\n}\r\n\r\nexport interface WooninitiatiefEnkelHuisViewModel {\r\n bestanden: FileUploadViewModel[] | null;\r\n gearchiveerdeBestanden: OverzichtDocumentViewModel[] | null;\r\n toekenningsbeschikkingSelected: DeclaratieToekenningsbeschikkingViewModel | null;\r\n toekenningsbeschikkingen: DeclaratieToekenningsbeschikkingViewModel[] | null;\r\n bankrekening: BankrekeningViewModel | null;\r\n factuurbedrag: number | null;\r\n factuurdatum: DateString | null;\r\n factuurnummer: string | null;\r\n geselecteerdJaar: number | null;\r\n geselecteerdeMaand: Maand | null;\r\n adres: AdresViewModel | null;\r\n openstaandWooninitiatiefEnkelHuis: number;\r\n naamWooninitiatief: string | null;\r\n kvkNummer: string | null;\r\n declaratieUid: string | null;\r\n}\r\n\r\nexport interface FeestdagenuitkeringViewModel {\r\n wetFeestdagenuitkeringen: WetFeestdagenuitkeringViewModel[] | null;\r\n reedsUitbetaaldeFeestdagenuitkering: number | null;\r\n maximaleFeestdagenuitkering: number;\r\n}\r\n\r\nexport interface OpdrachtnemerViewModel2 {\r\n geselecteerdJaar: number;\r\n geselecteerdeMaand: Maand | null;\r\n geselecteerdeZorgverlener: ZorgverlenerViewModel2 | null;\r\n zorgovereenkomsten: DeclaratieZorgovereenkomstViewModel[] | null;\r\n einddatumDoorbetalenReiskosten: DateString | null;\r\n zorgverlenerIsVolledigZiekgemeldInDeelVanDeGekozenPeriode: boolean;\r\n zorgverlenerIsGedeeltelijkZiekgemeldInGekozenPeriode: boolean;\r\n zorgverlenerIsVolledigZiekgemeldInGekozenPeriode: boolean;\r\n zorgverlenerIsVolledigZwangergemeldInGekozenPeriode: boolean;\r\n}\r\n\r\nexport interface ZorgverlenerViewModel2 {\r\n id: string | null;\r\n naam: string | null;\r\n bankrekening: BankrekeningViewModel | null;\r\n relatienummer: string | null;\r\n overlijdensdatum: DateString | null;\r\n}\r\n\r\nexport interface ZorgovereenkomstViewModelBase {\r\n id: string;\r\n contractType: ContractType;\r\n aantalWerkdagenZorgverlener: AantalWerkdagenPerWeekType | null;\r\n werkafspraken: WerkafspraakViewModel[] | null;\r\n reiskostenAfspraken: ZorgovereenkomstReiskostenAfsprakenViewModel | null;\r\n einddatum: DateString | null;\r\n ingangsdatum: DateString;\r\n isSelected: boolean;\r\n heeftEenWijzigingInGoedkeuring: boolean;\r\n heeftAlleenMaandloon: boolean;\r\n heeftMaandloonZonderAanvullendeTarieven: boolean;\r\n wetten: WetType[] | null;\r\n}\r\n\r\nexport interface DeclaratieZorgovereenkomstViewModel extends ZorgovereenkomstViewModelBase {\r\n overgeblevenBudgetten: OvergeblevenBudgetViewModel[] | null;\r\n}\r\n\r\nexport interface OvergeblevenBudgetViewModel {\r\n ingangsdatum: DateString;\r\n einddatum: DateString | null;\r\n budget: number;\r\n wet: WetType;\r\n id: number;\r\n ziektegeld: number;\r\n status: BudgetStatusType;\r\n}\r\n\r\nexport interface WerkafspraakViewModel {\r\n wet: WetType;\r\n werkafspraakEenheid: WerkafspraakEenheidType | null;\r\n aantalTijdseenheden: number | null;\r\n tarieven: TariefViewModel[] | null;\r\n status: WerkafspraakStatusType;\r\n datumBeoordeling: string | null;\r\n intrekkingsdatum: DateString | null;\r\n}\r\n\r\nexport interface TariefViewModel {\r\n werkzaamheidType: WerkzaamheidType[] | null;\r\n bedrag: number;\r\n tijdseenheid: TijdseenheidType;\r\n aantalMinutenPerTijdseenheid: number | null;\r\n}\r\n\r\n/** 0 = Onbekend 2 = Bewaard 3 = Gedeeld 4 = TerBeoordeling 5 = Afgekeurd 6 = TerFiattering 7 = Goedgekeurd 10 = Ingetrokken 11 = Ongeldig 12 = AanvullingNodig 13 = Aangevuld 14 = BuitenBehandeling */\r\nexport enum WerkafspraakStatusType {\r\n Onbekend = 0,\r\n Bewaard = 2,\r\n Gedeeld = 3,\r\n TerBeoordeling = 4,\r\n Afgekeurd = 5,\r\n TerFiattering = 6,\r\n Goedgekeurd = 7,\r\n Ingetrokken = 10,\r\n Ongeldig = 11,\r\n AanvullingNodig = 12,\r\n Aangevuld = 13,\r\n BuitenBehandeling = 14,\r\n}\r\n\r\nexport interface ZorgovereenkomstReiskostenAfsprakenViewModel {\r\n reiskostenAfspraak: ReiskostenAfspraakType;\r\n kilometervergoeding: boolean | null;\r\n kilometervergoedingBedrag: number | null;\r\n openbaarvervoerVergoeding: boolean | null;\r\n maandloonVergoeding: boolean | null;\r\n maandloonKilometerPerDag: number | null;\r\n}\r\n\r\nexport interface ReiskostenViewModel2 {\r\n kilometersAfgelegd: number | null;\r\n openbaarvervoerVergoedingBedrag: number | null;\r\n bedragPerWetType: WetTypeBedrag[] | null;\r\n bestanden: FileUploadViewModel[] | null;\r\n gearchiveerdeBestanden: OverzichtDocumentViewModel[] | null;\r\n}\r\n\r\nexport interface WetTypeBedrag {\r\n wetType: WetType;\r\n bedrag: number | null;\r\n}\r\n\r\nexport interface VrijbesteedbaarBudgetModel {\r\n toekenningsbeschikkingen: DeclaratieToekenningsbeschikkingViewModel[] | null;\r\n}\r\n\r\nexport interface DeclaratieToelichtingViewModel {\r\n toelichting: string | null;\r\n naamVanToelichtingAanmaker: string | null;\r\n}\r\n\r\n/** 0 = Geslaagd 1 = NietBestaandeTaak 2 = GeclaimdDoorIemandAnders 3 = GeclaimdDoorMedewerker 4 = Afgehandeld */\r\nexport enum TaakClaimResultaat {\r\n Geslaagd = 0,\r\n NietBestaandeTaak = 1,\r\n GeclaimdDoorIemandAnders = 2,\r\n GeclaimdDoorMedewerker = 3,\r\n Afgehandeld = 4,\r\n}\r\n\r\n/** 0 = Geslaagd 1 = NietToegewezen 2 = ToegewezenAanIemandAnders 3 = Afgehandeld */\r\nexport enum TaakVrijgevingResultaat {\r\n Geslaagd = 0,\r\n NietToegewezen = 1,\r\n ToegewezenAanIemandAnders = 2,\r\n Afgehandeld = 3,\r\n}\r\n\r\n/** 0 = Geslaagd 1 = TaakBestaatNiet 2 = TaakIsAlAfgehandeld 3 = TaakNietGeclaimt 4 = TaakOpNaamVanIemandAnders */\r\nexport enum TaakGereedResultaat {\r\n Geslaagd = 0,\r\n TaakBestaatNiet = 1,\r\n TaakIsAlAfgehandeld = 2,\r\n TaakNietGeclaimt = 3,\r\n TaakOpNaamVanIemandAnders = 4,\r\n}\r\n\r\nexport interface KlaarVolgendeTaakViewModel {\r\n huidigeTaak: string;\r\n werktaakType: WerktaakType;\r\n}\r\n\r\n/** 0 = Onbekend 1 = Geslaagd 2 = InvoerenZokAlAfgerond */\r\nexport enum TussentijdsOpslaanResultaat {\r\n Onbekend = 0,\r\n Geslaagd = 1,\r\n InvoerenZokAlAfgerond = 2,\r\n}\r\n\r\nexport interface TussentijdsOpslaanViewModel {\r\n werktaakId: string;\r\n werktaakType: WerktaakType;\r\n data: string | null;\r\n}\r\n\r\nexport interface EntityBase {\r\n id: number;\r\n rowVersion: string | null;\r\n modifiedBy: string | null;\r\n modifiedOn: string;\r\n isNew: boolean;\r\n isDirty: boolean;\r\n isDeleted: boolean;\r\n}\r\n\r\nexport interface WerktaakNotitie extends EntityBase {\r\n werktaakId: number;\r\n notitie: Notitie;\r\n werktaakNotitieType: WerktaakNotitieType;\r\n datumUitDeWacht: string | null;\r\n doorgestuurdAan: string | null;\r\n}\r\n\r\nexport interface Notitie extends EntityBase {\r\n tekst: string;\r\n aanmaakDatum: string;\r\n relatienaam: string;\r\n isAutomatischAangemaakt: boolean;\r\n}\r\n\r\nexport interface NotitieToevoegenViewModel {\r\n werktaakUid: string;\r\n notitieTekst: string | null;\r\n}\r\n\r\nexport interface WerkvoorraadGebruikerViewModel {\r\n id: string;\r\n naam: string | null;\r\n}\r\n\r\nexport interface GetWerkvoorraadGebruikerViewModel {\r\n achternaam: string | null;\r\n zoekType: ZoekWerkvoorraadGebruikerType;\r\n geopendeWerktaakType: WerktaakType;\r\n geopendeWerktaakUid: string | null;\r\n}\r\n\r\n/** 0 = Onbekend 1 = ZoekMedewerkerVoorDoorsturenSpecifiekeWerktaak 2 = ZoekMedewerkerOmZijnWerktakenTeZien 3 = ZoekMedewerkerVoorAanmakenNieuweActie */\r\nexport enum ZoekWerkvoorraadGebruikerType {\r\n Onbekend = 0,\r\n ZoekMedewerkerVoorDoorsturenSpecifiekeWerktaak = 1,\r\n ZoekMedewerkerOmZijnWerktakenTeZien = 2,\r\n ZoekMedewerkerVoorAanmakenNieuweActie = 3,\r\n}\r\n\r\n/** 0 = Onbekend 1 = Geslaagd 2 = NietGevonden 3 = NietGeclaimd 4 = GeclaimdDoorAndereMedewerker 5 = Alafgehandeld */\r\nexport enum TaakOpslagResultaat {\r\n Onbekend = 0,\r\n Geslaagd = 1,\r\n NietGevonden = 2,\r\n NietGeclaimd = 3,\r\n GeclaimdDoorAndereMedewerker = 4,\r\n Alafgehandeld = 5,\r\n}\r\n\r\nexport interface WerktaakDoorsturenViewModel extends NotitieToevoegenViewModel {\r\n doorsturenNaar: string;\r\n data: string | null;\r\n werktaakType: WerktaakType;\r\n}\r\n\r\nexport interface WerktaakInDeWachtViewModel extends NotitieToevoegenViewModel {\r\n wachtTijdPeriode: string;\r\n}\r\n\r\nexport interface ZorgovereenkomstViewModel {\r\n uid: string;\r\n aantalWerkdagenZorgverlener: AantalWerkdagenPerWeekType | null;\r\n alsnogGoedkeurenLevertOverlap: boolean;\r\n containsWijzigingConcept: boolean;\r\n isVervangingszorgovereenkomst: boolean;\r\n isGemeente: boolean;\r\n ingangsdatum: DateString | null;\r\n einddatum: DateString | null;\r\n origineleIngangsdatum: DateString | null;\r\n origineleEinddatum: DateString | null;\r\n contractType: ContractType;\r\n zorgverlener: ZorgverlenerViewModel | null;\r\n datumOndertekeningBevoegdPersoon: DateString | null;\r\n ondertekendDoorBevoegdPersoonId: number | null;\r\n datumOndertekeningZorgverlener: DateString | null;\r\n datumOndertekeningSVB: string | null;\r\n overigeAfspraken: string | null;\r\n einddatumProeftijd: DateString | null;\r\n vakantieUrenInbegrepen: VakantieUrenInbegrepen | null;\r\n budgethouder: BudgethouderReadOnlyViewModel | null;\r\n reiskosten: ReiskostenViewModel | null;\r\n fiatteerToelichtingen: FiatteerToelichtingViewModel[] | null;\r\n vertegenwoordigers: VertegenwoordigerReadOnlyViewModel[] | null;\r\n toekenningsbeschikkingen: ToekenningsbeschikkingReadOnlyViewModel[] | null;\r\n zorgbeschrijving: ZorgbeschrijvingViewModel | null;\r\n werkafspraken: WeergevenWerkafspraakViewModel[] | null;\r\n werkAfspraakType: WerkAfspraakType;\r\n weekSchedules: WeekScheduleViewModel[] | null;\r\n isSalarisadministratieDoorSvb: boolean | null;\r\n heeftLoonheffingskorting: boolean | null;\r\n isUitbetalingBruto: boolean | null;\r\n isRelatieMetZorgverlener: boolean | null;\r\n aanzegtermijn: boolean;\r\n origineleZorgovereenkomstId: string | null;\r\n isOrigineleZokInTeZienDoorHuidigeGebruiker: boolean;\r\n documentenVragenlijstFamilieverhouding: OverzichtDocumentViewModel[] | null;\r\n documentenIdentiteitsbewijs: OverzichtDocumentViewModel[] | null;\r\n documentenOverig: OverzichtDocumentViewModel[] | null;\r\n naamVasteZorgverlener: string | null;\r\n beeindigdDoorBevoegdPersoonId: number | null;\r\n beeindigdDoorBevoegdPersoonNaam: string | null;\r\n beeindigingswijze: BeeindigingswijzeType | null;\r\n vergoedingsregelingType: VergoedingsregelingType;\r\n isDerdenbedingVanToepassing: boolean;\r\n betreftHetEenWooninitiatief: boolean | null;\r\n budgethouderZorgverlenerRelatie: BudgethouderZorgverlenerRelatieType | null;\r\n relatieAnders: string | null;\r\n containsAanvulling: boolean;\r\n ondertekendDoorBevoegdPersoonNaam: string | null;\r\n isDownloadEnabled: boolean;\r\n isOvo: boolean;\r\n isAo: boolean;\r\n}\r\n\r\nexport interface WeergevenZorgovereenkomstViewModel extends ZorgovereenkomstViewModel {\r\n wijzigingConceptId: string | null;\r\n ingangsdatumWijzigingConcept: string | null;\r\n isGewijzigdPerIngangsdatum: boolean;\r\n isToetsOpRechtUitbesteed: boolean;\r\n}\r\n\r\nexport interface FiatteerToelichtingViewModel {\r\n id: number;\r\n toelichting: string | null;\r\n toelichtingsactie: string | null;\r\n toelichtingsdatum: DateString;\r\n instantieId: number;\r\n instantieNaam: string | null;\r\n toelichtingtype: FiatteerToelichtingType;\r\n}\r\n\r\n/** 0 = Onbekend 1 = Goedkeuren 2 = TerAanvulling 3 = Afkeuren 4 = Intrekken 5 = BuitenBehandeling */\r\nexport enum FiatteerToelichtingType {\r\n Onbekend = 0,\r\n Goedkeuren = 1,\r\n TerAanvulling = 2,\r\n Afkeuren = 3,\r\n Intrekken = 4,\r\n BuitenBehandeling = 5,\r\n}\r\n\r\nexport interface ZorgbeschrijvingViewModel {\r\n welkeZorg: string | null;\r\n redenZorg: string | null;\r\n}\r\n\r\nexport interface WeergevenWerkafspraakViewModel extends WerkafspraakViewModel {\r\n verstrekkerId: number;\r\n verstrekkerNaam: string | null;\r\n werkafspraakId: number;\r\n isToetsOpRechtUitbesteedAanSvb: boolean;\r\n}\r\n\r\n/** 0 = Onbekend 1 = OpzeggingDoorDeBudgethouderTijdensProeftijd 2 = MetWederzijdsGoedvindenOpInitiatiefVanDeBudgethouder 3 = OpzeggingDoorDeBudgethouderOmDringendeReden 4 = ViaEenPapierenFormulier 5 = VanRechtswege 6 = BetermeldingOfTerugVanVerlofVasteZorgverlener 7 = OpzeggingDoorOfOpInitiatiefVanDeZorgverlener 8 = OpzeggingDoorDeBudgethouderMetToestemmingVanUWV 9 = OntbindingDoorDeRechterOpVerzoekVanDeBudgethouder 10 = BudgetStopgezetDoorZorgkantoorOfGemeente 11 = BudgethouderIsOverledenOfDefinitiefOpgenomenInEenInstelling 12 = ZorgverlenerIsOverleden 13 = AdministratiefGewijzigd 14 = AnnulerenZonderIntrekkenDeclaraties 15 = AnnulerenMetIntrekkenDeclaraties 16 = AdministratiefBeeindigd 17 = OpzeggingDoorBudgethouderWegensBedrijfseconomischeRedenen 18 = OpzeggingDoorBudgethouderWegensLangdurigeArbeidsongeschiktheid 19 = BudgethouderIsOverleden 20 = BudgethouderIsDefinitiefOpgenomenInEenInstelling 21 = VanSaNaarOout 22 = VanAobnNaarOin */\r\nexport enum BeeindigingswijzeType {\r\n Onbekend = 0,\r\n OpzeggingDoorDeBudgethouderTijdensProeftijd = 1,\r\n MetWederzijdsGoedvindenOpInitiatiefVanDeBudgethouder = 2,\r\n OpzeggingDoorDeBudgethouderOmDringendeReden = 3,\r\n ViaEenPapierenFormulier = 4,\r\n VanRechtswege = 5,\r\n BetermeldingOfTerugVanVerlofVasteZorgverlener = 6,\r\n OpzeggingDoorOfOpInitiatiefVanDeZorgverlener = 7,\r\n OpzeggingDoorDeBudgethouderMetToestemmingVanUWV = 8,\r\n OntbindingDoorDeRechterOpVerzoekVanDeBudgethouder = 9,\r\n BudgetStopgezetDoorZorgkantoorOfGemeente = 10,\r\n BudgethouderIsOverledenOfDefinitiefOpgenomenInEenInstelling = 11,\r\n ZorgverlenerIsOverleden = 12,\r\n AdministratiefGewijzigd = 13,\r\n AnnulerenZonderIntrekkenDeclaraties = 14,\r\n AnnulerenMetIntrekkenDeclaraties = 15,\r\n AdministratiefBeeindigd = 16,\r\n OpzeggingDoorBudgethouderWegensBedrijfseconomischeRedenen = 17,\r\n OpzeggingDoorBudgethouderWegensLangdurigeArbeidsongeschiktheid = 18,\r\n BudgethouderIsOverleden = 19,\r\n BudgethouderIsDefinitiefOpgenomenInEenInstelling = 20,\r\n VanSaNaarOout = 21,\r\n VanAobnNaarOin = 22,\r\n}\r\n\r\n/** 0 = Onbekend 1 = VastBedragPerMaand 2 = AchterafDeclareren */\r\nexport enum VergoedingsregelingType {\r\n Onbekend = 0,\r\n VastBedragPerMaand = 1,\r\n AchterafDeclareren = 2,\r\n}\r\n\r\nexport interface ZorgovereenkomstInfoLightSharedViewModel {\r\n uid: string;\r\n identificatie: string | null;\r\n ingangsdatum: string;\r\n einddatum: string | null;\r\n wetten: WetType[] | null;\r\n}\r\n\r\nexport interface ZorgovereenkomstInfoLightViewModel extends ZorgovereenkomstInfoLightSharedViewModel {\r\n zorgverlenerVolledigeNaam: string | null;\r\n relatedZorgovereenkomsten: ZorgovereenkomstInfoLightChildViewModel[] | null;\r\n}\r\n\r\nexport interface ZorgovereenkomstInfoLightChildViewModel extends ZorgovereenkomstInfoLightSharedViewModel {\r\n}\r\n\r\nexport interface ZorgovereenkomstSelecteerViewModelWithoutChilds {\r\n id: string | null;\r\n conceptId: string | null;\r\n rowVersion: string | null;\r\n conceptType: ConceptType | null;\r\n budgethouderNaam: string | null;\r\n mutatiedatum: string | null;\r\n ingangsdatum: DateString | null;\r\n einddatum: DateString | null;\r\n origineleIngangsdatum: DateString | null;\r\n origineleEinddatum: DateString | null;\r\n origineleZorgovereenkomstId: number | null;\r\n aanvullingsZorgovereenkomstId: string | null;\r\n wettenMetStatus: ZorgovereenkomstSelecteerWerkafspraakViewModel[] | null;\r\n zorgverlenerNaam: string | null;\r\n isOndertekendDoorZorgverlener: boolean;\r\n isOndertekendDoorBudgethouder: boolean;\r\n}\r\n\r\nexport interface ZorgovereenkomstSelecteerViewModel extends ZorgovereenkomstSelecteerViewModelWithoutChilds {\r\n childs: ZorgovereenkomstSelecteerViewModelWithoutChilds[] | null;\r\n}\r\n\r\n/** 0 = Onbekend 1 = ZorgovereenkomstConcept 2 = DeclaratieConcept 3 = ZorgovereenkomstWijzigenConcept 4 = VervangingszorgovereenkomstConcept 5 = PapierenZorgovereenkomstConcept 6 = PapierenZorgovereenkomstWijzigingConcept 7 = DeclaratieWerktaakConcept */\r\nexport enum ConceptType {\r\n Onbekend = 0,\r\n ZorgovereenkomstConcept = 1,\r\n DeclaratieConcept = 2,\r\n ZorgovereenkomstWijzigenConcept = 3,\r\n VervangingszorgovereenkomstConcept = 4,\r\n PapierenZorgovereenkomstConcept = 5,\r\n PapierenZorgovereenkomstWijzigingConcept = 6,\r\n DeclaratieWerktaakConcept = 7,\r\n}\r\n\r\nexport interface ZorgovereenkomstSelecteerWerkafspraakViewModel {\r\n status: WerkafspraakStatusType;\r\n intrekkingsdatum: DateString | null;\r\n wet: WetType;\r\n}\r\n\r\nexport interface AlsnogGoedkeurenViewModel {\r\n zorgovereenkomstId: string;\r\n werkafspraken: WetWithAssessmentViewModel[] | null;\r\n toelichting: string | null;\r\n}\r\n\r\nexport interface WetWithAssessmentViewModel {\r\n wet: WetType;\r\n assessment: Assessment | null;\r\n}\r\n\r\n/** 0 = Onbekend 1 = NotYetAssessed 2 = Approved 3 = SupplementRequired 4 = Rejected 5 = NoAssessmentRequired 6 = NonConsideration 7 = CorrigerenFoutieveInvoer */\r\nexport enum Assessment {\r\n Onbekend = 0,\r\n NotYetAssessed = 1,\r\n Approved = 2,\r\n SupplementRequired = 3,\r\n Rejected = 4,\r\n NoAssessmentRequired = 5,\r\n NonConsideration = 6,\r\n CorrigerenFoutieveInvoer = 7,\r\n}\r\n\r\nexport interface IntrekkenViewModel {\r\n zorgovereenkomstId: string;\r\n werkafspraken: WetMetIntrekkingViewModel[] | null;\r\n toelichting: string | null;\r\n intrekkingsDatum: DateString;\r\n}\r\n\r\nexport interface WetMetIntrekkingViewModel {\r\n wet: WetType;\r\n intrekken: boolean;\r\n}\r\n\r\nexport interface WerkafspraakMetDatumLaatsteDeclaratieViewModel {\r\n werkafspraakId: number;\r\n verstrekkerId: number;\r\n datumLaatsteDeclaratie: DateString | null;\r\n}\r\n\r\nexport interface MinimumloonViewModel {\r\n ingangsdatum: DateString | null;\r\n einddatum: DateString | null;\r\n minimumLeeftijd: number | null;\r\n maximumLeeftijd: number | null;\r\n minimumMaandloonInclusiefVakantieGeld: number;\r\n}\r\n\r\nexport interface ValideerLooptijdZorgovereenkomstViewModel {\r\n budgethouderId: string;\r\n ingangsdatum: DateString;\r\n einddatum: DateString | null;\r\n zorgverlenerBsn: string | null;\r\n zorgverlenerAgb: string | null;\r\n zorgverlenerKvk: string | null;\r\n zorgverlenerRelatienummer: string | null;\r\n zorgovereenkomstConceptUid: string | null;\r\n uidZoksUitTeSluitenVanLooptijdCheck: string | null;\r\n}\r\n\r\nexport interface ZorgovereenkomstRegimeWijzigingViewModel {\r\n voorliggendeZokRegime: ZorgovereenkomstRegimeViewModel | null;\r\n huidigeZokRegime: ZorgovereenkomstRegimeViewModel | null;\r\n opvolgedeZokRegime: ZorgovereenkomstRegimeViewModel | null;\r\n afgeslotenTotEnMetJaar: string | null;\r\n datumLaatsteDeclaratieHuidigeZok: string | null;\r\n}\r\n\r\nexport interface ZorgovereenkomstRegimeViewModel {\r\n isUitbetalingBruto: boolean | null;\r\n heeftLoonheffingskorting: boolean | null;\r\n aantalWerkdagenZorgverlener: AantalWerkdagenPerWeekType | null;\r\n}\r\n\r\nexport interface GetRegimeWijzigingRequestModel {\r\n ingangsDatum: DateString | null;\r\n eindDatum: DateString | null;\r\n bsnZorgverlener: string | null;\r\n budgethouderUid: string;\r\n origineleZokUid: string | null;\r\n}\r\n\r\nexport interface StatusbarViewModel {\r\n datumLaatsteStatuswijziging: string;\r\n wet: WetType | null;\r\n toetsOpRechtUitbesteedAanSvb: boolean;\r\n laatstIngediendeNotitie: NotitieViewModel | null;\r\n aantalNotities: number;\r\n delenStep: StatusbarStepViewModel | null;\r\n ondertekenenStep: StatusbarStepViewModel | null;\r\n indienenStep: StatusbarStepViewModel | null;\r\n goedkeurenStep: StatusbarGoedkeurenStepViewModel | null;\r\n}\r\n\r\nexport interface StatusbarStepViewModel {\r\n header: string | null;\r\n actions: StepActionViewModel[] | null;\r\n isVoltooid: boolean;\r\n}\r\n\r\nexport interface StepActionViewModel {\r\n label: string | null;\r\n naamActor: string | null;\r\n isUitgevoerd: boolean;\r\n}\r\n\r\nexport interface StatusbarGoedkeurenStepViewModel {\r\n header: string | null;\r\n isVoltooid: boolean;\r\n actions: StatusbarGoedkeurenStepActionViewModel[] | null;\r\n}\r\n\r\nexport interface StatusbarGoedkeurenStepActionViewModel {\r\n label: string | null;\r\n naamActor: string | null;\r\n datumBeoordeling: string | null;\r\n status: WerkafspraakStatusType;\r\n terBeoordelingBySvb: boolean;\r\n}\r\n\r\nexport interface ZoekRelatiesViewModel3 {\r\n erZijnTeveelZorgverlenersGevonden: boolean;\r\n zorgverleners: ZorgverlenerViewModel[] | null;\r\n}\r\n\r\nexport interface ZoekZorgverlenerCriteriaViewModel extends ZoekRelatiesCriteriaViewModel {\r\n agbcode: string | null;\r\n kvk: string | null;\r\n}\r\n\r\nexport interface ZorgpartijViewModel {\r\n id: string;\r\n agbCode: string | null;\r\n naamZorginstelling: string | null;\r\n adres: AdresViewModel | null;\r\n telefoonnummer1: string | null;\r\n telefoonnummer2: string | null;\r\n kvkNummer: string | null;\r\n emailadres: string | null;\r\n zorgverlenerType: ZorgverlenerType;\r\n bankrekening: BankrekeningViewModel | null;\r\n status: ZorgverlenerStatusType;\r\n relatienummer: string | null;\r\n}\r\n\r\nexport interface SelectieZorgverlenerViewModel {\r\n id: string;\r\n naam: string | null;\r\n soort: string | null;\r\n identificatie: string | null;\r\n agbCode: string | null;\r\n kvKNummer: string | null;\r\n burgerservicenummer: string | null;\r\n relatienummer: string | null;\r\n overlijdensdatum: DateString | null;\r\n bankrekening: BankrekeningViewModel | null;\r\n declarabeleMaanden: MaandJaarViewModel[] | null;\r\n}\r\n\r\nexport interface MaandJaarViewModel {\r\n maand: Maand;\r\n jaar: number;\r\n}\r\n\r\nexport interface StartBetalingResponseViewModel {\r\n redirectUrl: string | null;\r\n}\r\n\r\nexport interface ConfirmIdealTransactieResultViewModel {\r\n declaratieOfConceptUid: string;\r\n betalingskenmerk: string | null;\r\n isTransactieVerwerktOpDeclaratie: boolean | null;\r\n isConceptDeclaratieGestartDoorZorgverlener: boolean;\r\n referentieType: IdealReferentieType;\r\n oorspronkelijkeDeclaratieUid: string | null;\r\n}\r\n\r\n/** 0 = Onbekend 1 = Maandloon 2 = Concept 3 = Wijzigingsconcept */\r\nexport enum IdealReferentieType {\r\n Onbekend = 0,\r\n Maandloon = 1,\r\n Concept = 2,\r\n Wijzigingsconcept = 3,\r\n}\r\n\r\nexport interface GewensteTerugstortingOverzichtViewModel {\r\n items: GewensteTerugstortingViewModel[] | null;\r\n totaalTerugTeStortenBedrag: number;\r\n totaalNietTerugTeStortenBedrag: number;\r\n}\r\n\r\nexport interface GewensteTerugstortingViewModel {\r\n bankrekening: GewensteTerugstortingBankrekeningViewModel | null;\r\n stortingsDatum: DateString;\r\n gestortBedrag: number;\r\n terugTeStortenBedrag: number;\r\n kanTerugstorten: boolean;\r\n}\r\n\r\nexport interface GewensteTerugstortingBankrekeningViewModel {\r\n tenaamstelling: string | null;\r\n iban: string | null;\r\n}\r\n\r\nexport interface BijstortingTerugstortenViewModel {\r\n budgethouderUid: string;\r\n totaalTerugTeStortenBedrag: number;\r\n}\r\n\r\nexport interface AanmakenBlokkadeView {\r\n reden: BlokkadeRedenType;\r\n betreffendeRelatieUid: string;\r\n}\r\n\r\n/** 0 = Onbekend 1 = Fraude 2 = KwaliteitVanZorgOndermaats 3 = Faillissement 4 = Overig 5 = NietMeerActief 6 = BedrijfIsUitgeschreven 7 = Onterecht */\r\nexport enum BlokkadeRedenType {\r\n Onbekend = 0,\r\n Fraude = 1,\r\n KwaliteitVanZorgOndermaats = 2,\r\n Faillissement = 3,\r\n Overig = 4,\r\n NietMeerActief = 5,\r\n BedrijfIsUitgeschreven = 6,\r\n Onterecht = 7,\r\n}\r\n\r\nexport interface OpheffenBlokkadeView {\r\n blokkadeUid: string;\r\n}\r\n\r\nexport interface BudgetuitputtingViewModel {\r\n declaratieUid: string;\r\n declaratieType: DeclaratieType;\r\n ingangsDatum: string;\r\n budgetRegels: BudgetRegelViewModel[] | null;\r\n werkgeverslasten: BudgetuitputtingWerkgeverslastenViewModel | null;\r\n bijstortingGebruiktPerDeclaratie: number;\r\n}\r\n\r\nexport interface BudgetRegelViewModel {\r\n bedrag: number;\r\n type: UitbetalingType;\r\n}\r\n\r\n/** 0 = Onbekend 1 = Budgetuitgave 2 = Ziekengeld 3 = AlgemeneMiddelenOverlijdenBudgethouder 4 = Ziekengeldvergoeding */\r\nexport enum UitbetalingType {\r\n Onbekend = 0,\r\n Budgetuitgave = 1,\r\n Ziekengeld = 2,\r\n AlgemeneMiddelenOverlijdenBudgethouder = 3,\r\n Ziekengeldvergoeding = 4,\r\n}\r\n\r\nexport interface BudgetuitputtingWerkgeverslastenViewModel {\r\n bedragZorg: number;\r\n bedragZiekengeld: number;\r\n bedragEenmaligeUitkeringOverlijdenBudgethouder: number;\r\n bedragZiekengeldvergoeding: number;\r\n}\r\n\r\nexport interface GetZoekBudgethouderViewModel {\r\n zoekcriteria: string | null;\r\n zoekmethode: ZoekBudgethoudersType;\r\n}\r\n\r\n/** 0 = Onbekend 1 = Toekenningsbeschikking 2 = Zorgovereenkomst 3 = Declaraties 4 = Medewerker */\r\nexport enum ZoekBudgethoudersType {\r\n Onbekend = 0,\r\n Toekenningsbeschikking = 1,\r\n Zorgovereenkomst = 2,\r\n Declaraties = 3,\r\n Medewerker = 4,\r\n}\r\n\r\nexport interface BudgethouderSelecterenViewModel {\r\n relatieId: string;\r\n volledigeNaam: string | null;\r\n identificatie: string | null;\r\n identificatieSoort: IdentificatieSoortType;\r\n declarabeleMaanden: MaandJaarViewModel[] | null;\r\n}\r\n\r\n/** 0 = Onbekend 1 = BSN 2 = AGBCode */\r\nexport enum IdentificatieSoortType {\r\n Onbekend = 0,\r\n BSN = 1,\r\n AGBCode = 2,\r\n}\r\n\r\n/** 0 = Onbekend 1 = ZorgovereenkomstConcept 2 = ZorgovereenkomstWijzigenConcept 3 = Werktaak */\r\nexport enum CollaborationDocumentType {\r\n Onbekend = 0,\r\n ZorgovereenkomstConcept = 1,\r\n ZorgovereenkomstWijzigenConcept = 2,\r\n Werktaak = 3,\r\n}\r\n\r\nexport interface DocumentLockViewModel {\r\n documentId: string;\r\n collaborationDocumentType: CollaborationDocumentType;\r\n connectionId: string;\r\n relatieId: number;\r\n}\r\n\r\nexport interface ReleaseDocumentForConnectionViewModel {\r\n connectionId: string;\r\n relatieId: number;\r\n}\r\n\r\nexport interface ConcessiehouderViewModel {\r\n volledigeNaam: string | null;\r\n code: string | null;\r\n naam: string | null;\r\n kvkNummer: string | null;\r\n}\r\n\r\nexport interface ContactGegevensViewModel {\r\n naam: string | null;\r\n soortVerstrekkerType: SoortVerstrekkerType;\r\n contacten: ContactViewModel[] | null;\r\n adres: AdresViewModel | null;\r\n openingstijden: OpeningsTijdenViewModel[] | null;\r\n}\r\n\r\nexport interface ContactViewModel {\r\n waarde: string | null;\r\n contactType: ContactType;\r\n}\r\n\r\n/** 0 = Onbekend 1 = Telefoonnummer2 2 = Telefoonnummer1 3 = Email 4 = Website 5 = EmailFrom 6 = TelefoonnummerVerpleegAdres */\r\nexport enum ContactType {\r\n Onbekend = 0,\r\n Telefoonnummer2 = 1,\r\n Telefoonnummer1 = 2,\r\n Email = 3,\r\n Website = 4,\r\n EmailFrom = 5,\r\n TelefoonnummerVerpleegAdres = 6,\r\n}\r\n\r\nexport interface OpeningsTijdenViewModel {\r\n openingstijd: string | null;\r\n sluitingstijd: string | null;\r\n openingstijdTekst: string | null;\r\n}\r\n\r\nexport interface ContactmomentViewmodel {\r\n datum: string;\r\n categorieType: ContactmomentType;\r\n categorie: string | null;\r\n onderwerp: string | null;\r\n}\r\n\r\n/** 0 = Onbekend 1 = TelefoonInkomend 2 = TelefoonUitgaand 3 = PostInkomend 4 = PostUitgaand 5 = Notitie */\r\nexport enum ContactmomentType {\r\n Onbekend = 0,\r\n TelefoonInkomend = 1,\r\n TelefoonUitgaand = 2,\r\n PostInkomend = 3,\r\n PostUitgaand = 4,\r\n Notitie = 5,\r\n}\r\n\r\nexport interface GetDocumentOpRelatieEnPeriodeModel {\r\n relatieUid: string;\r\n beginDatum: DateString | null;\r\n eindDatum: DateString | null;\r\n}\r\n\r\nexport interface MaakKlantbeeldNotitieViewModel {\r\n relatieUid: string;\r\n categorie: ContactmomentType;\r\n onderwerp: string | null;\r\n notitieTekst: string | null;\r\n wetten: WetType[] | null;\r\n}\r\n\r\nexport interface ZorgovereenkomstConversieStartPayload {\r\n zokXmlFileName: string | null;\r\n agbcodeCsvFileName: string | null;\r\n vervoersCsvFileName: string | null;\r\n aangepastTariefCsvFileName: string | null;\r\n createBudgethoudersAndTkbsBasedOnStaging: boolean;\r\n twkPeilDatum: string;\r\n}\r\n\r\nexport interface ConversieBlokkerenBudgethoudersPayload {\r\n verstrekkerId: number;\r\n aanmaakDatum: string;\r\n}\r\n\r\nexport interface ConversieDeblokkerenBudgethoudersPayload {\r\n verstrekkerId: number;\r\n}\r\n\r\nexport interface ConversieBestandPayload {\r\n fileName: string | null;\r\n}\r\n\r\nexport interface CorrespondentieViewModel {\r\n soortDocument: SoortDocument;\r\n ontvangerUid: string;\r\n relatieTypeOntvanger: RelatieType;\r\n indexkenmerken: KeyValuePairOfIndexkenmerkNaamTypeAndString[] | null;\r\n wetten: WetType[] | null;\r\n correspondentieBijlagen: BriefBijlageViewModel[] | null;\r\n}\r\n\r\nexport interface VrijeTekstCorrespondentieViewModel extends CorrespondentieViewModel {\r\n onderwerp: string | null;\r\n vrijeTekst: string | null;\r\n viaBasisregistratiePrintenVersturen: boolean;\r\n}\r\n\r\nexport interface KeyValuePairOfIndexkenmerkNaamTypeAndString {\r\n key: IndexkenmerkNaamType;\r\n value: string | null;\r\n}\r\n\r\n/** 0 = Onbekend 1 = DocumentGuid 2 = WerktaakGuid 3 = Relatienummer 4 = Filenaam 5 = Omschrijving 6 = DocumentOorsprong 7 = WetType 8 = OntvangerRelatienummer 9 = IndienerRelatienummer 10 = Periode */\r\nexport enum IndexkenmerkNaamType {\r\n Onbekend = 0,\r\n DocumentGuid = 1,\r\n WerktaakGuid = 2,\r\n Relatienummer = 3,\r\n Filenaam = 4,\r\n Omschrijving = 5,\r\n DocumentOorsprong = 6,\r\n WetType = 7,\r\n OntvangerRelatienummer = 8,\r\n IndienerRelatienummer = 9,\r\n Periode = 10,\r\n}\r\n\r\nexport interface DeclaratieTypeZorgverlenerPeriodeViewModel {\r\n budgethouderUid: string;\r\n declaratieType: DeclaratieType;\r\n zorgverlenerUid: string;\r\n zorgovereenkomstUid: string | null;\r\n jaar: number;\r\n maand: Maand;\r\n}\r\n\r\nexport interface DeclaratieIndienenResultaatViewModel {\r\n declaratieWordtOpgeschort: boolean;\r\n declaratienummer: number;\r\n}\r\n\r\nexport interface DeleteDeclaratieConceptModel {\r\n conceptUid: string;\r\n rowVersion: string | null;\r\n}\r\n\r\nexport interface DeclaratieIndienenValidatieGegegevensViewModel {\r\n isZorgEnReiskostenIndienenBlokkering: boolean;\r\n zorgEnReiskostenIndienenBlokkeringScenario: ZorgEnReiskostenIndienenBlokkeringScenarioType;\r\n ziekEnZwangerschapGegevens: ZiekEnZwangerschapGegevensViewModel | null;\r\n reiskostenGegevens: ReiskostenGegevensViewModel | null;\r\n}\r\n\r\n/** 0 = Onbekend 1 = NietGeblokkeerd 2 = KanNietDeclarerenAlgemeen 3 = ZorgverlenerIsDeHeleMaandZwanger 4 = ZorgverlenerOvoEnIsDeHeleMaandperiode0ProcentArbeidsgeschikt 5 = ZorgverlenerAoMax3DagenZiektecompensatie0ProcentEnIsDeHeleMaandperiode0ProcentArbeidsgeschikt 6 = ZorgverlenerAo4DagenOfMeerZiektecompensatie0ProcentEnIsDeHeleMaandperiode0ProcentArbeidsgeschikt 7 = DeZorgovereenkomstStaatTerGoedkeuring 8 = HeeftGeenGeldigBudgetOmTeDeclareren 9 = HeeftZorgdeclaratieOpMomentDatZorgverlenerGeheelZiekIs 10 = HeeftZorgdeclaratieOpMomentDatBudgethouderGeenBudgetHeeft */\r\nexport enum ZorgEnReiskostenIndienenBlokkeringScenarioType {\r\n Onbekend = 0,\r\n NietGeblokkeerd = 1,\r\n KanNietDeclarerenAlgemeen = 2,\r\n ZorgverlenerIsDeHeleMaandZwanger = 3,\r\n ZorgverlenerOvoEnIsDeHeleMaandperiode0ProcentArbeidsgeschikt = 4,\r\n ZorgverlenerAoMax3DagenZiektecompensatie0ProcentEnIsDeHeleMaandperiode0ProcentArbeidsgeschikt = 5,\r\n ZorgverlenerAo4DagenOfMeerZiektecompensatie0ProcentEnIsDeHeleMaandperiode0ProcentArbeidsgeschikt = 6,\r\n DeZorgovereenkomstStaatTerGoedkeuring = 7,\r\n HeeftGeenGeldigBudgetOmTeDeclareren = 8,\r\n HeeftZorgdeclaratieOpMomentDatZorgverlenerGeheelZiekIs = 9,\r\n HeeftZorgdeclaratieOpMomentDatBudgethouderGeenBudgetHeeft = 10,\r\n}\r\n\r\nexport interface ZiekEnZwangerschapGegevensViewModel {\r\n zorgverlenerIsVolledigZiekgemeldInDeelVanDeGekozenPeriode: boolean;\r\n zorgverlenerIsGedeeltelijkZiekgemeldInGekozenPeriode: boolean;\r\n zorgverlenerIsVolledigZiekgemeldInGekozenPeriode: boolean;\r\n zorgverlenerIsVolledigZwangergemeldInGekozenPeriode: boolean;\r\n isMinimaalEenDagInPeriodeZwanger: boolean;\r\n}\r\n\r\nexport interface ReiskostenGegevensViewModel {\r\n einddatumReiskostenDoorbetalen: string | null;\r\n isReiskostenIndienenBlokkering: boolean;\r\n}\r\n\r\nexport interface IndienenAlgemeneDeclaratieViewModel {\r\n budgethouder: string;\r\n toekenningsbeschikking: string;\r\n zorgverlener: string;\r\n zorgovereenkomst: string;\r\n ingangsDatum: DateString;\r\n eindDatum: DateString;\r\n algemeneDeclaratieReden: AlgemeneDeclaratieRedenType;\r\n bedragRegulier: number;\r\n bedragZiekengeld: number;\r\n bedragAlgemeneMiddelenOverlijdenBudgethouder: number;\r\n aantalKilometersReiskosten: number | null;\r\n openbaarvervoerVergoedingBedrag: number | null;\r\n maandloonKilometerBedrag: number | null;\r\n}\r\n\r\nexport interface DeclaratieKassabonLightViewModel {\r\n titel: string | null;\r\n maand: string | null;\r\n jaar: number;\r\n declaratieType: DeclaratieType;\r\n totaalBedragDeclaratie: number;\r\n totaalBedragUitBudget: number;\r\n blokken: DeclaratieKassabonBlokLightViewModel[] | null;\r\n}\r\n\r\nexport interface DeclaratieKassabonBlokLightViewModel {\r\n naamWettype: string | null;\r\n wetType: WetType;\r\n reiskosten: number | null;\r\n feestdagenUitkering: number | null;\r\n geleverdeZorg: number | null;\r\n bijkomendeZorgkosten: number | null;\r\n maandloon: number | null;\r\n totaalBedragBlok: number;\r\n eenmaligeUitkeringOverlijdenBudgethouder: number | null;\r\n factuurReiskosten: number | null;\r\n subDeclaratieKassabonBlok: SubDeclaratieKassabonBlokViewModel[] | null;\r\n}\r\n\r\nexport interface DeclaratieConceptMetWerkgeverslastenViewModel {\r\n declaratie: DeclaratieConceptViewModel | null;\r\n metWerkgeverslasten: boolean;\r\n}\r\n\r\nexport interface ZorgverlenerZorgdeclaratieConceptViewModel {\r\n conceptId: string | null;\r\n budgethouderId: string | null;\r\n zorgovereenkomstId: string | null;\r\n jaar: number;\r\n maand: Maand | null;\r\n zorgdeclaratieMaandopgave: ZorgdeclaratieMaandopgaveViewModel | null;\r\n reiskosten: ReiskostenViewModel2 | null;\r\n factuurgegevens: FactuurgegevensViewModel | null;\r\n heeftFactuur: boolean;\r\n laatsteToelichting: DeclaratieToelichtingViewModel | null;\r\n declaratieConceptStatusType: DeclaratieConceptStatusType;\r\n}\r\n\r\nexport interface FileDownloadViewModel {\r\n imprintnummer: string | null;\r\n relatieid: string;\r\n bestandnaam: string | null;\r\n}\r\n\r\nexport interface IHealthReport {\r\n name: string | null;\r\n status: HealthStatus;\r\n message: string | null;\r\n versionInfo: string | null;\r\n dependencies: IHealthReport[] | null;\r\n}\r\n\r\n/** 0 = Unknown 1 = Unhealthy 2 = Healthy */\r\nexport enum HealthStatus {\r\n Unknown = 0,\r\n Unhealthy = 1,\r\n Healthy = 2,\r\n}\r\n\r\nexport interface IdealSessionStateViewModel {\r\n isTransactionOpenForBudgethouder: boolean;\r\n}\r\n\r\nexport interface UpdateRelatieVoorkeurModel {\r\n relatieId: number;\r\n email: string | null;\r\n correspondentieVoorkeur: CorrespondentieVoorkeurType;\r\n mutalist: string | null;\r\n}\r\n\r\nexport interface RelatieEnMutalist {\r\n relatieId: number;\r\n mutalist: string | null;\r\n}\r\n\r\nexport interface MedewerkerViewModel {\r\n id: string;\r\n geslacht: GeslachtType;\r\n voorletters: string | null;\r\n achternaam: string | null;\r\n volledigeNaam: string | null;\r\n}\r\n\r\nexport interface CreateFabberViewModel extends MedewerkerViewModel {\r\n}\r\n\r\nexport interface CreateGemeenteMedewerkerViewModel extends MedewerkerViewModel {\r\n verstrekkerId: number;\r\n}\r\n\r\nexport interface CreateConcessieHouderMedewerkerViewModel extends MedewerkerViewModel {\r\n concessiehouderId: number;\r\n}\r\n\r\nexport interface CreateSvbMedewerkerViewModel extends MedewerkerViewModel {\r\n}\r\n\r\nexport interface GeefConcessiehouderIdVoorConcessiehouderOfVerstrekkerCodeModel {\r\n concessiehouderCode: string | null;\r\n verstrekkerCodes: string[] | null;\r\n relatieId: number | null;\r\n}\r\n\r\nexport interface Persoonsgegevens {\r\n relatieId: number;\r\n voorletters: string | null;\r\n achternaam: string | null;\r\n}\r\n\r\nexport interface LandView {\r\n naam: string | null;\r\n code: string | null;\r\n isIbanland: boolean;\r\n isSepaland: boolean;\r\n}\r\n\r\nexport interface LogViewModel {\r\n error: string | null;\r\n stack: string | null;\r\n file: string | null;\r\n lineNumber: string | null;\r\n}\r\n\r\nexport interface LogTimingViewModel {\r\n isAboveThreshold: boolean;\r\n url: string | null;\r\n referer: string | null;\r\n elapsedTime: number | null;\r\n}\r\n\r\nexport interface MaandloonBijZiekteTaakViewModel {\r\n jaar: number;\r\n maand: Maand;\r\n budgethouderUid: string;\r\n zorgverlenerUid: string;\r\n budgethouderVolledigeNaam: string | null;\r\n budgethouderBurgerservicenummer: string | null;\r\n zorgverlenerVolledigeNaam: string | null;\r\n zorgverlenerBurgerservicenummer: string | null;\r\n zorgovereenkomstUid: string;\r\n periodeBedragOpBudgetten: PeriodeBedragOpBudgettenViewModel[] | null;\r\n reiskosten: ReiskostenViewModel3 | null;\r\n ziekmeldingverloop: ZiekmeldingWeergevenVerloopViewModel[] | null;\r\n zwangerschapsmelding: ZwangerschapsmeldingWeergevenViewModel | null;\r\n maxAfgesprokenAantalMinutenPerMaand: number;\r\n maxAfgesprokenBedragPerMaand: number;\r\n werktaakUid: string;\r\n}\r\n\r\nexport interface PeriodeBedragOpBudgettenViewModel {\r\n startDate: DateString;\r\n endDate: DateString;\r\n regels: BedragOpBudgetViewModel[] | null;\r\n percentageArbeidsgeschikt: number;\r\n percentageCompensatie: number;\r\n isZwangerschapsVerlof: boolean;\r\n}\r\n\r\nexport interface BedragOpBudgetViewModel {\r\n wet: WetType;\r\n bedrag: number;\r\n}\r\n\r\nexport interface ReiskostenViewModel3 {\r\n afgesprokenReiskostenVergoeding: number;\r\n afgesprokenDagenReiskostenVergoeding: number;\r\n heeftReiskostenAfgesproken: boolean;\r\n bedrag: number;\r\n standaardMaandloonReiskostenBetalen: boolean | null;\r\n einddatumReiskostenDoorbetalen: DateString | null;\r\n}\r\n\r\nexport interface ZiekmeldingWeergevenVerloopViewModel {\r\n ingangsdatum: DateString;\r\n invoerdatum: DateString;\r\n percentageArbeidsgeschikt: number;\r\n vangnetregelingType: VangnetregelingType | null;\r\n}\r\n\r\n/** 1 = ZiekDoorZwanger 2 = NoRiskPolis 3 = WiaHerleving */\r\nexport enum VangnetregelingType {\r\n ZiekDoorZwanger = 1,\r\n NoRiskPolis = 2,\r\n WiaHerleving = 3,\r\n}\r\n\r\nexport interface ZwangerschapsmeldingWeergevenViewModel {\r\n naamZorgverlener: string | null;\r\n naamBudgethouder: string | null;\r\n zorgverlenerUid: string;\r\n datumZwangerschapsmelding: DateString;\r\n datumLaatsteWijziging: DateString;\r\n verlofdatum: DateString;\r\n bevallingsdatum: DateString;\r\n einddatum: DateString | null;\r\n heeftMaandloon: boolean;\r\n aantalWerkdagen: AantalWerkdagenPerWeekType;\r\n wijzigingen: ZwangerschapsmeldingWeergevenWijzigingViewModel[] | null;\r\n budgethouderUid: string;\r\n}\r\n\r\nexport interface ZwangerschapsmeldingWeergevenWijzigingViewModel {\r\n wijzigingsdatum: DateString;\r\n verlofdatum: DateString;\r\n bevallingsdatum: DateString;\r\n}\r\n\r\nexport interface EditCommentQueueItemModel {\r\n id: number;\r\n comment: string | null;\r\n}\r\n\r\nexport interface DatumWrapper {\r\n peildatum: string;\r\n}\r\n\r\nexport interface ResetProcesszekeringModel {\r\n processen: ProcessTypeMetStatusModel[] | null;\r\n}\r\n\r\nexport interface ProcessTypeMetStatusModel {\r\n processType: ProcessType;\r\n processStatus: number;\r\n}\r\n\r\n/** 0 = Onbekend 2 = OpenstaandeDeclaratieUitbetalen 3 = TkbLeveringV0200Verwerken 4 = BabBerichtVersturen 5 = TkbIntrekkingBabAanmaken 6 = BabRetourVerwerken 7 = VersturenFdomeinGegevens 8 = VersturenBetaalverzoek 9 = InkomendeDocumentenVerwerken 10 = VersturenBrief 11 = OverlijdenZorgverlenerVerwerken 12 = OverlijdenBudgethouderVerwerken 14 = BetermeldenIvmVerlofdatum 15 = MinimumloonZokAanpassen 16 = ResterendBudgetCheck 17 = MinimumloonZokHalfjaarlijkseAanpassing 18 = HerberekenEnkelMaandloon 19 = EmailVersturen 21 = VersturenZorgverlenerGegevens 22 = BuitenBehandelingWerktakenAnnuleren 23 = TekortBudgetVoorUitbetalingMaandloonBriefVersturen 24 = OpenstaandeDeclaratieUitbetalenEnVersturen 25 = ConversieZokFileImporteren 26 = ConversieZiekmeldingFileImporteren 27 = ConversieZwangerschapsmeldingFileImporteren 28 = ConversieAanmakenBudgethouderZorgovereenkomst 30 = ConversieInlezenOverigeDeclaratie 31 = ConversieAanmakenZiekmeldingenPerBudgethouder 32 = ConversieAanmakenZwangerschapsmeldingPerBudgethouder 33 = ConversieAanmakenOverigeDeclaratiePerBudgethouder 35 = GgkBerichtVerwerken 36 = ConversieAanmakenZorgverlenerAccount 37 = VersturenZiekteEnHerstelStatusMelding 38 = IdealTransactieVerwerken 39 = TkbVervangingBabAanmaken 40 = VersturenTerugstortenVerzoek 41 = ConversieImporterenZiekEnZwangerschapsmelding 42 = ConversieVerwerkenZiekEnZwangerschapsmelding 43 = ConversieImporterenMaandbedrag 44 = ConversieAanmakenMaandbedragPerBudgethouder */\r\nexport enum ProcessType {\r\n Onbekend = 0,\r\n OpenstaandeDeclaratieUitbetalen = 2,\r\n TkbLeveringV0200Verwerken = 3,\r\n BabBerichtVersturen = 4,\r\n TkbIntrekkingBabAanmaken = 5,\r\n BabRetourVerwerken = 6,\r\n VersturenFdomeinGegevens = 7,\r\n VersturenBetaalverzoek = 8,\r\n InkomendeDocumentenVerwerken = 9,\r\n VersturenBrief = 10,\r\n OverlijdenZorgverlenerVerwerken = 11,\r\n OverlijdenBudgethouderVerwerken = 12,\r\n BetermeldenIvmVerlofdatum = 14,\r\n MinimumloonZokAanpassen = 15,\r\n ResterendBudgetCheck = 16,\r\n MinimumloonZokHalfjaarlijkseAanpassing = 17,\r\n HerberekenEnkelMaandloon = 18,\r\n EmailVersturen = 19,\r\n VersturenZorgverlenerGegevens = 21,\r\n BuitenBehandelingWerktakenAnnuleren = 22,\r\n TekortBudgetVoorUitbetalingMaandloonBriefVersturen = 23,\r\n OpenstaandeDeclaratieUitbetalenEnVersturen = 24,\r\n ConversieZokFileImporteren = 25,\r\n ConversieZiekmeldingFileImporteren = 26,\r\n ConversieZwangerschapsmeldingFileImporteren = 27,\r\n ConversieAanmakenBudgethouderZorgovereenkomst = 28,\r\n ConversieInlezenOverigeDeclaratie = 30,\r\n ConversieAanmakenZiekmeldingenPerBudgethouder = 31,\r\n ConversieAanmakenZwangerschapsmeldingPerBudgethouder = 32,\r\n ConversieAanmakenOverigeDeclaratiePerBudgethouder = 33,\r\n GgkBerichtVerwerken = 35,\r\n ConversieAanmakenZorgverlenerAccount = 36,\r\n VersturenZiekteEnHerstelStatusMelding = 37,\r\n IdealTransactieVerwerken = 38,\r\n TkbVervangingBabAanmaken = 39,\r\n VersturenTerugstortenVerzoek = 40,\r\n ConversieImporterenZiekEnZwangerschapsmelding = 41,\r\n ConversieVerwerkenZiekEnZwangerschapsmelding = 42,\r\n ConversieImporterenMaandbedrag = 43,\r\n ConversieAanmakenMaandbedragPerBudgethouder = 44,\r\n}\r\n\r\nexport interface LockQueueItemModel {\r\n processZekering: ProcessTypeMetStatusModel | null;\r\n comment: string | null;\r\n}\r\n\r\nexport interface PolicyIsAllowedResponseViewModel {\r\n policies: PolicyIsAllowedViewModel[];\r\n}\r\n\r\nexport interface PolicyIsAllowedViewModel {\r\n policy: string;\r\n isAllowed: boolean;\r\n}\r\n\r\nexport interface PolicyIsAllowedRequestViewModel {\r\n policies: string[];\r\n}\r\n\r\n/** 0 = Onbekend 1 = FeestdagenUitkering 2 = TORUitbestedenAanSVB */\r\nexport enum ProceskeuzeType {\r\n Onbekend = 0,\r\n FeestdagenUitkering = 1,\r\n TORUitbestedenAanSVB = 2,\r\n}\r\n\r\nexport interface ProceskeuzeLijstModel {\r\n proceskeuzes: ProceskeuzeModel[] | null;\r\n}\r\n\r\nexport interface ProceskeuzeModel {\r\n jaar: number | null;\r\n proceskeuzeType: ProceskeuzeType;\r\n wmoKeuze: ProceskeuzeRegelModel | null;\r\n jeugdWetKeuze: ProceskeuzeRegelModel | null;\r\n aangepastDoor: string | null;\r\n aangepastOp: DateString | null;\r\n}\r\n\r\nexport interface ProceskeuzeRegelModel {\r\n uid: string;\r\n wet: WetType | null;\r\n isMogelijk: boolean;\r\n isLocked: boolean;\r\n}\r\n\r\nexport interface ZorgverlenerProfielViewModel extends ZorgverlenerViewModel {\r\n isSoortZorgovereenkomstEditable: boolean;\r\n}\r\n\r\nexport interface WijzigenRelatieProfielViewModel {\r\n correspondentieVoorkeur: CorrespondentieVoorkeurType | null;\r\n relatieType: RelatieType;\r\n relatieTypeDisplay: string | null;\r\n adres: AdresViewModel | null;\r\n emailadres: string | null;\r\n id: number;\r\n telefoonnummer1: string | null;\r\n telefoonnummer2: string | null;\r\n uid: string;\r\n volledigeNaam: string | null;\r\n volledigeNaamInclusiefAanhef: string | null;\r\n burgerservicenummer: string | null;\r\n relatienummer: string | null;\r\n geslacht: GeslachtType;\r\n modifiedBy: string | null;\r\n modifiedOn: string;\r\n website: string | null;\r\n ontschotting: boolean;\r\n geslachtsnaam: string | null;\r\n naamOrganisatie: string | null;\r\n partnernaam: string | null;\r\n kvkNummer: string | null;\r\n achternaam: string | null;\r\n agbCode: string | null;\r\n functieVertegenwoordigerZorginstelling: string | null;\r\n betreftHetEenWooninitiatief: boolean | null;\r\n geslachtVertegenwoordigerZorginstelling: GeslachtType | null;\r\n vertegenwoordigerZorginstelling: string | null;\r\n naamZorginstelling: string | null;\r\n zorgverlenerType: ZorgverlenerType;\r\n voorletters: string | null;\r\n code: string | null;\r\n isOrganisatie: boolean;\r\n geboortedatum: DateString | null;\r\n overlijdensdatum: DateString | null;\r\n status: ZorgverlenerStatusType;\r\n naamCurator: string | null;\r\n parentWerkTaakUid: string | null;\r\n bankrekening: BankrekeningViewModel | null;\r\n pgb20Einddatum: string | null;\r\n}\r\n\r\nexport interface ServicemeldingViewModel {\r\n id: number | null;\r\n tekst: string | null;\r\n isActief: boolean;\r\n}\r\n\r\nexport interface SettingViewModel {\r\n settingRequests: SettingRequest[];\r\n}\r\n\r\nexport interface SettingRequest {\r\n id: SettingType;\r\n value: any | null;\r\n}\r\n\r\n/** 0 = Onbekend 1 = MinimaleWettelijkeVertegenwoordigerLeeftijd 2 = WinnovativeLicenseKey 3 = MaximaleLeeftijd 4 = MaximaleFeestdagenUitkering 5 = UitvoerDatumsBatchMaandloonVerwerken 6 = BsnMappings 7 = VecozoMappings 8 = IngangsdatumZiekmeldingMaximaalDagenInHetVerleden 11 = AantalDagenTotStoppenCompensatieZiekteEnAo3OfMinderDagenPerWeek 12 = AantalDagenTotCompensatieZiekte70ProcentEnAo4OfMeerDagenPerWeek 13 = AantalDagenTotGeenCompensatieZiekteEnAo4OfMeerDagenPerWeek 16 = MaxBedragConsumptieBijOverwerkPerDag 17 = MaxBedragWooninitiatiefZorg 20 = FormaatRecordAVanV0105 21 = FormaatRecordBVanV0105 22 = PadVoorGbaBestandV0105 23 = MaxBedragCursusZorgverlener 24 = PadVoorGbaBestandV0107 25 = PadVoorArbodienstBestand 26 = MaxBedragEntreegeldZorgverlener 27 = BijstortenMetIdealIsMogelijk 29 = AantalDagenTotEenmaligeUitkeringBijOverlijdenBudgethouder 30 = MaandloonVerwerkingCurrentDateTimeOverride 31 = VBCryptoKey 32 = VBCryptoVector 33 = CronExpressieVoorlopigeMaandloonJob 34 = PortalUrl 35 = UitlegBereikbaarheidsdienstUrl 36 = UploadFactuurIsMogelijk 37 = BlokkadeAanmakenIsMogelijk 38 = BijstortenOpPapierIsMogelijk 39 = EmailAdressFromPgbPortaal 40 = DisplayNameEmailAdressFromPgbPortaal 41 = MinToegestaanFactuurdatum 42 = Omgeving 43 = EmailAdressPgbportaal 44 = IbanSvb 45 = EmailAdresUploadenFactuur 46 = EmailBijlageSize 47 = AantalMaandenMutatiesZokInHetVerleden 49 = DeclaratieZorgverlenerIsMogelijk 50 = BepaalZorgkantoorRollenUitVecozoClaims 53 = AwbTermijnAantalDagenTotBuitenBehandelingStellenWerktaak 54 = AwbTermijnMaxAantalDagenOptellenBijReactieBudgethouder 55 = AwbTermijnAantalDagenTotBuitenBehandelingStellenDeclaratie 56 = AwbTermijnBeslistermijnVanBuitenBehandelingStellen 57 = VersturenBriefTekortBudgetVoorUitbetalenVanMaandloonStarttijdInMinuten 58 = PadVoorConversieBudgethouderXmlInlezen 60 = PadVoorConversieVervoerskostenCsvInlezenVerwerkt 61 = PadVoorConversieOverigeDeclaratiesXmlInlezen 62 = PadVoorConversieZwangerschapsmeldingenXmlInlezen 63 = PadVoorConversieZiekmeldingenXmlInlezen 64 = PadVoorConversieAgbCodeCsvInlezen 65 = PadVoorConversieVervoerskostenCsvInlezen 66 = PadVoorConversieBudgethouderXmlInlezenVerwerkt 68 = PadVoorConversieOverigeDeclaratiesXmlInlezenVerwerkt 69 = PadVoorConversieZwangerschapsmeldingenXmlInlezenVerwerkt 70 = PadVoorConversieZiekmeldingenXmlInlezenVerwerkt 71 = PadVoorConversieAgbCodeCsvInlezenVerwerkt 74 = NieuweAlgemeneVoorwaardenGebruiken 75 = DeclaratiesVerplaatsen 76 = MaxDagenInactiefAfnemersIndicatieVerwijderen 77 = EmailAdressFunctioneelBeheerDsw 78 = EmailAdressFunctioneelBeheerZilverenKruis 79 = MaandloonUitbetalenAttemptTimeOfDay 80 = WetPoortwachterMaximaleZiekmeldingHistorieDoorgevenInDagen 81 = AantalMinutenTussenIdealNavraagRequests 82 = BabBestedingsConflictSendAfterDay 83 = PadVoorConversieAangepastTariefCsvInlezen 84 = PadVoorConversieAangepastTariefCsvInlezenVerwerkt 88 = IngangsdatumZiekmeldingMaximaalDagenInHetVerledenFabber 89 = PadVoorConversieZiekEnZwangerschapsmeldingenCsvInlezen 90 = PadVoorConversieZiekEnZwangerschapsmeldingenCsvInlezenVerwerkt 91 = PadVoorConversieMaandbedragCsvInlezen 92 = PadVoorConversieMaandbedragCsvInlezenVerwerkt 94 = LogTimingsApi 95 = LogTimingsRequest 96 = AwbTermijnAantalDagenToetsOpRecht 97 = MinToegestaanOndertekendatum 99 = AantalThreadsVoorVersturenBetaalopdracht 101 = AantalDagenTotVerwijderenConceptBestanden 102 = CronExpressieVerwijderenConceptBestandenJob 103 = MaximaalBedragOnbelasteReiskosten 105 = MaximumSearchResults 106 = EenmaligeUitkeringOverlijdenDatum 107 = LogTimingsRunnerThreshold 108 = AantalDagenTotEenmaligeUitkeringBijOverlijdenBudgethouderAoLangeZoks 109 = AantalDagenTotZorgovereenkomstBuitenBehandelingDefinitief 110 = TenaamstellingSvb 111 = LimietAantalMaandenWabKetenregeling 112 = LimietAantalTijdelijkeContractenWabKetenregeling 113 = OpschortenBetalingFeature 114 = TeamviewerTenantId 115 = DatumJaarafsluitingFdomein 116 = RetryGetIdealTransactieStatus 117 = AantalMillisecondenRetryIdealTransactieStatus 118 = MaxAantalRetryIdealTransactieStatus 119 = IngangsdatumZiekengeldvergoedingRegime 120 = CronExpressieZiekengeldvergoedingVerwerkenJob */\r\nexport enum SettingType {\r\n Onbekend = 0,\r\n MinimaleWettelijkeVertegenwoordigerLeeftijd = 1,\r\n WinnovativeLicenseKey = 2,\r\n MaximaleLeeftijd = 3,\r\n MaximaleFeestdagenUitkering = 4,\r\n UitvoerDatumsBatchMaandloonVerwerken = 5,\r\n BsnMappings = 6,\r\n VecozoMappings = 7,\r\n IngangsdatumZiekmeldingMaximaalDagenInHetVerleden = 8,\r\n AantalDagenTotStoppenCompensatieZiekteEnAo3OfMinderDagenPerWeek = 11,\r\n AantalDagenTotCompensatieZiekte70ProcentEnAo4OfMeerDagenPerWeek = 12,\r\n AantalDagenTotGeenCompensatieZiekteEnAo4OfMeerDagenPerWeek = 13,\r\n MaxBedragConsumptieBijOverwerkPerDag = 16,\r\n MaxBedragWooninitiatiefZorg = 17,\r\n FormaatRecordAVanV0105 = 20,\r\n FormaatRecordBVanV0105 = 21,\r\n PadVoorGbaBestandV0105 = 22,\r\n MaxBedragCursusZorgverlener = 23,\r\n PadVoorGbaBestandV0107 = 24,\r\n PadVoorArbodienstBestand = 25,\r\n MaxBedragEntreegeldZorgverlener = 26,\r\n BijstortenMetIdealIsMogelijk = 27,\r\n AantalDagenTotEenmaligeUitkeringBijOverlijdenBudgethouder = 29,\r\n MaandloonVerwerkingCurrentDateTimeOverride = 30,\r\n VBCryptoKey = 31,\r\n VBCryptoVector = 32,\r\n CronExpressieVoorlopigeMaandloonJob = 33,\r\n PortalUrl = 34,\r\n UitlegBereikbaarheidsdienstUrl = 35,\r\n UploadFactuurIsMogelijk = 36,\r\n BlokkadeAanmakenIsMogelijk = 37,\r\n BijstortenOpPapierIsMogelijk = 38,\r\n EmailAdressFromPgbPortaal = 39,\r\n DisplayNameEmailAdressFromPgbPortaal = 40,\r\n MinToegestaanFactuurdatum = 41,\r\n Omgeving = 42,\r\n EmailAdressPgbportaal = 43,\r\n IbanSvb = 44,\r\n EmailAdresUploadenFactuur = 45,\r\n EmailBijlageSize = 46,\r\n AantalMaandenMutatiesZokInHetVerleden = 47,\r\n DeclaratieZorgverlenerIsMogelijk = 49,\r\n BepaalZorgkantoorRollenUitVecozoClaims = 50,\r\n AwbTermijnAantalDagenTotBuitenBehandelingStellenWerktaak = 53,\r\n AwbTermijnMaxAantalDagenOptellenBijReactieBudgethouder = 54,\r\n AwbTermijnAantalDagenTotBuitenBehandelingStellenDeclaratie = 55,\r\n AwbTermijnBeslistermijnVanBuitenBehandelingStellen = 56,\r\n VersturenBriefTekortBudgetVoorUitbetalenVanMaandloonStarttijdInMinuten = 57,\r\n PadVoorConversieBudgethouderXmlInlezen = 58,\r\n PadVoorConversieVervoerskostenCsvInlezenVerwerkt = 60,\r\n PadVoorConversieOverigeDeclaratiesXmlInlezen = 61,\r\n PadVoorConversieZwangerschapsmeldingenXmlInlezen = 62,\r\n PadVoorConversieZiekmeldingenXmlInlezen = 63,\r\n PadVoorConversieAgbCodeCsvInlezen = 64,\r\n PadVoorConversieVervoerskostenCsvInlezen = 65,\r\n PadVoorConversieBudgethouderXmlInlezenVerwerkt = 66,\r\n PadVoorConversieOverigeDeclaratiesXmlInlezenVerwerkt = 68,\r\n PadVoorConversieZwangerschapsmeldingenXmlInlezenVerwerkt = 69,\r\n PadVoorConversieZiekmeldingenXmlInlezenVerwerkt = 70,\r\n PadVoorConversieAgbCodeCsvInlezenVerwerkt = 71,\r\n NieuweAlgemeneVoorwaardenGebruiken = 74,\r\n DeclaratiesVerplaatsen = 75,\r\n MaxDagenInactiefAfnemersIndicatieVerwijderen = 76,\r\n EmailAdressFunctioneelBeheerDsw = 77,\r\n EmailAdressFunctioneelBeheerZilverenKruis = 78,\r\n MaandloonUitbetalenAttemptTimeOfDay = 79,\r\n WetPoortwachterMaximaleZiekmeldingHistorieDoorgevenInDagen = 80,\r\n AantalMinutenTussenIdealNavraagRequests = 81,\r\n BabBestedingsConflictSendAfterDay = 82,\r\n PadVoorConversieAangepastTariefCsvInlezen = 83,\r\n PadVoorConversieAangepastTariefCsvInlezenVerwerkt = 84,\r\n IngangsdatumZiekmeldingMaximaalDagenInHetVerledenFabber = 88,\r\n PadVoorConversieZiekEnZwangerschapsmeldingenCsvInlezen = 89,\r\n PadVoorConversieZiekEnZwangerschapsmeldingenCsvInlezenVerwerkt = 90,\r\n PadVoorConversieMaandbedragCsvInlezen = 91,\r\n PadVoorConversieMaandbedragCsvInlezenVerwerkt = 92,\r\n LogTimingsApi = 94,\r\n LogTimingsRequest = 95,\r\n AwbTermijnAantalDagenToetsOpRecht = 96,\r\n MinToegestaanOndertekendatum = 97,\r\n AantalThreadsVoorVersturenBetaalopdracht = 99,\r\n AantalDagenTotVerwijderenConceptBestanden = 101,\r\n CronExpressieVerwijderenConceptBestandenJob = 102,\r\n MaximaalBedragOnbelasteReiskosten = 103,\r\n MaximumSearchResults = 105,\r\n EenmaligeUitkeringOverlijdenDatum = 106,\r\n LogTimingsRunnerThreshold = 107,\r\n AantalDagenTotEenmaligeUitkeringBijOverlijdenBudgethouderAoLangeZoks = 108,\r\n AantalDagenTotZorgovereenkomstBuitenBehandelingDefinitief = 109,\r\n TenaamstellingSvb = 110,\r\n LimietAantalMaandenWabKetenregeling = 111,\r\n LimietAantalTijdelijkeContractenWabKetenregeling = 112,\r\n OpschortenBetalingFeature = 113,\r\n TeamviewerTenantId = 114,\r\n DatumJaarafsluitingFdomein = 115,\r\n RetryGetIdealTransactieStatus = 116,\r\n AantalMillisecondenRetryIdealTransactieStatus = 117,\r\n MaxAantalRetryIdealTransactieStatus = 118,\r\n IngangsdatumZiekengeldvergoedingRegime = 119,\r\n CronExpressieZiekengeldvergoedingVerwerkenJob = 120,\r\n}\r\n\r\nexport interface IndienenTkbViewModel {\r\n payload: string | null;\r\n wetType: WetType;\r\n aanmakenInGba: string[] | null;\r\n}\r\n\r\nexport interface FactuurgegevensWithBudgethouderUidViewModel extends FactuurgegevensViewModel {\r\n budgethouderUid: string;\r\n}\r\n\r\nexport interface AfhandelenRequestViewModel {\r\n werktaakGuid: string;\r\n blokkadeGuid: string;\r\n status: AfwikkelingAlgemeneBlokkadeZorgverlenerWerktaakType;\r\n datumBeeindigingZorgovereenkomsten: string | null;\r\n naamCurator: string | null;\r\n nieuweBankrekening: BankrekeningViewModel | null;\r\n}\r\n\r\n/** 0 = Onbekend 1 = Gestopt 2 = Failliet 3 = Onterecht */\r\nexport enum AfwikkelingAlgemeneBlokkadeZorgverlenerWerktaakType {\r\n Onbekend = 0,\r\n Gestopt = 1,\r\n Failliet = 2,\r\n Onterecht = 3,\r\n}\r\n\r\nexport interface TeBeeindigenZorgovereenkomstModel {\r\n zorgovereenkomstUid: string;\r\n origineleZorgovereenkomstUid: string;\r\n ingangsdatum: DateString;\r\n einddatum: DateString | null;\r\n einddatumProeftijd: DateString | null;\r\n wetten: WetType[] | null;\r\n datumLaatsteDeclaratie: DateString | null;\r\n statusText: string | null;\r\n isAo: boolean;\r\n isOvo: boolean;\r\n}\r\n\r\nexport interface BeeindigenZorgovereenkomstWerktaakRequestModel {\r\n werktaakId: string;\r\n budgethouderId: string;\r\n zorgverlenerId: string | null;\r\n teBeeindigenZorgovereenkomstIds: string[] | null;\r\n nieuweEinddatum: DateString | null;\r\n ondertekenDatumBevoegdPersoon: DateString | null;\r\n heeftBevoegdPersoonOndertekend: boolean | null;\r\n ondertekendDoorBevoegdPersoonId: number | null;\r\n heeftZorgverlenerOndertekend: boolean | null;\r\n fiattering: Assessment;\r\n beeindigingswijze: BeeindigingswijzeType | null;\r\n isAnnulering: boolean;\r\n}\r\n\r\nexport interface BeeindigenZorgovereenkomstBeoordelenWerktaakRequestModel {\r\n werktaakId: string;\r\n fiattering: Assessment;\r\n}\r\n\r\nexport interface AfhandelenRequestViewModel2 {\r\n werktaakGuid: string;\r\n conceptGuid: string | null;\r\n zorgovereenkomstGuid: string | null;\r\n status: BuitenBehandelingAanvraagZorgovereenkomstWerktaakType;\r\n toelichting: string | null;\r\n}\r\n\r\n/** 0 = Onbekend 1 = Afkeuren 2 = BuitenBehandelingStellen */\r\nexport enum BuitenBehandelingAanvraagZorgovereenkomstWerktaakType {\r\n Onbekend = 0,\r\n Afkeuren = 1,\r\n BuitenBehandelingStellen = 2,\r\n}\r\n\r\nexport interface KoppelDeclaratieWerktaakResultaatViewModel {\r\n werktaakTerAanvulling: WerktaakWeergaveViewModel | null;\r\n bijgewerktDeclaratieConcept: DeclaratieConceptViewModel | null;\r\n}\r\n\r\nexport interface DeclaratieTypeZorgverlenerPeriodeWerktaakViewModel extends DeclaratieTypeZorgverlenerPeriodeViewModel {\r\n werktaakId: string;\r\n}\r\n\r\nexport interface BijstortenBriefBenodighedenViewModel {\r\n kassabon: DeclaratieKassabonViewModel | null;\r\n budgethouderUid: string;\r\n zorgverlenerUid: string;\r\n naamWooninitiatief: string | null;\r\n}\r\n\r\nexport interface DocumentIndexerenData {\r\n werktaakUid: string;\r\n documentIndexerenViewModel: DocumentIndexerenViewModel | null;\r\n}\r\n\r\nexport interface DocumentIndexerenViewModel {\r\n teIndexerenDocumenten: SoortDocumentMetDocumentViewModel[] | null;\r\n vervolgActiemetDocumenten: VervolgActieMetDocumentenViewModel[] | null;\r\n correspondentieVoorkeur: CorrespondentieVoorkeurType;\r\n idsVanSoortDocumentenGeldigVoorIndexeren: number[] | null;\r\n toegestaneVervolgactiesPerSoortDocument: VervolgactiesVoorSoortDocument[] | null;\r\n indexerenSoortDocumentRulesViewModels: IndexerenSoortDocumentRuleSetViewModel[] | null;\r\n}\r\n\r\nexport interface SoortDocumentMetDocumentViewModel {\r\n werktaakSoortDocument: SoortDocument;\r\n document: OverzichtDocumentViewModel | null;\r\n isSelected: boolean;\r\n gekoppeldeRelaties: GekoppeldeRelatieViewModel[] | null;\r\n}\r\n\r\nexport interface GekoppeldeRelatieViewModel {\r\n id: string;\r\n relatienummer: string | null;\r\n type: RelatieType;\r\n volledigeNaam: string | null;\r\n burgerservicenummer: string | null;\r\n agbcode: string | null;\r\n kvk: string | null;\r\n}\r\n\r\nexport interface VervolgActieMetDocumentenViewModel {\r\n soortDocumenten: SoortDocumentMetDocumentViewModel[] | null;\r\n vervolgactieType: WerkvoorraadVervolgactieType;\r\n teKoppelenWerktaak: WerktaakSelecteerViewModel | null;\r\n gekozenInstantieUid: string;\r\n}\r\n\r\n/** 0 = Onbekend 1 = JuridischeZaken 2 = Salarisadministratie 3 = Klantvraag 4 = Debiteurenbeheer 5 = Financieel 6 = Wga 7 = SchadeRechtsbijstand 8 = Klacht 9 = Bezwaar 10 = Vertegenwoordiger 11 = Verstrekker 13 = ZiekHerstel 14 = InvoerenZok 16 = InvoerenDeclaratie 18 = Profielwijziging 19 = KoppelDocumentAanWerktaak 20 = GeenVervolgWerktaakEbs 21 = Fraude 22 = BeeindigenZok 23 = InvoerenBeoordelenDeclaratieReiskosten 24 = InvoerenWijzigingZok 25 = Transitievergoeding */\r\nexport enum WerkvoorraadVervolgactieType {\r\n Onbekend = 0,\r\n JuridischeZaken = 1,\r\n Salarisadministratie = 2,\r\n Klantvraag = 3,\r\n Debiteurenbeheer = 4,\r\n Financieel = 5,\r\n Wga = 6,\r\n SchadeRechtsbijstand = 7,\r\n Klacht = 8,\r\n Bezwaar = 9,\r\n Vertegenwoordiger = 10,\r\n Verstrekker = 11,\r\n ZiekHerstel = 13,\r\n InvoerenZok = 14,\r\n InvoerenDeclaratie = 16,\r\n Profielwijziging = 18,\r\n KoppelDocumentAanWerktaak = 19,\r\n GeenVervolgWerktaakEbs = 20,\r\n Fraude = 21,\r\n BeeindigenZok = 22,\r\n InvoerenBeoordelenDeclaratieReiskosten = 23,\r\n InvoerenWijzigingZok = 24,\r\n Transitievergoeding = 25,\r\n}\r\n\r\nexport interface VervolgactiesVoorSoortDocument {\r\n soortDocument: SoortDocument;\r\n vervolgActies: WerkvoorraadVervolgactieType[] | null;\r\n}\r\n\r\nexport interface IndexerenSoortDocumentRuleSetViewModel {\r\n soortDocument: SoortDocument;\r\n message: string | null;\r\n indexerenSoortDocumentRuleViewModels: IndexerenSoortDocumentRuleViewModel[] | null;\r\n}\r\n\r\nexport interface IndexerenSoortDocumentRuleViewModel {\r\n allowedLength: number;\r\n requiredTypes: RelatieType[] | null;\r\n optionalTypes: RelatieType[] | null;\r\n}\r\n\r\nexport interface InvoerenFactuurWerktaakViewModel {\r\n afkeurBriefVragen: AfkeurBriefVragenModel | null;\r\n datumOndertekening: string | null;\r\n factuur: GescandeFactuurViewModel | null;\r\n fiattering: DeclaratieFiatteerType | null;\r\n declaratieConceptStatusType: DeclaratieConceptStatusType;\r\n toelichtingAfkeuring: string | null;\r\n werktaakId: string;\r\n geselecteerdMaand: Maand | null;\r\n bijlagen: BriefBijlageViewModel[] | null;\r\n}\r\n\r\nexport interface GescandeFactuurViewModel {\r\n budgethouder: BudgethouderReadOnlyViewModel | null;\r\n factuurgegevens: FactuurgegevensViewModel | null;\r\n factuurregels: GescandeFactuurregelViewModel[] | null;\r\n zorgverlener: ZorgverlenerViewModel2 | null;\r\n totaalBedrag: number | null;\r\n uploaddatum: string | null;\r\n}\r\n\r\nexport interface GescandeFactuurregelViewModel {\r\n aantal: number | null;\r\n bedrag: number | null;\r\n datum: DateString | null;\r\n eenheid: TijdseenheidType | null;\r\n omschrijving: string | null;\r\n tarief: number | null;\r\n werkzaamheid: WerkzaamheidType | null;\r\n werkzaamheidDescription: string | null;\r\n isAutomatischGematched: boolean | null;\r\n uid: string;\r\n volgnummer: number;\r\n}\r\n\r\nexport interface MatchFactuurregelsOpZorgovereenkomstModel {\r\n zorgovereenkomstUid: string;\r\n factuur: GescandeFactuurViewModel | null;\r\n}\r\n\r\nexport interface VerwijderenBudgethouderRequestModel {\r\n werktaakUid: string;\r\n budgethouderUid: string;\r\n fiattering: VerwijderenBudgethouderStatusType;\r\n}\r\n\r\n/** 0 = Onbekend 1 = Afgekeurd 2 = Goedgekeurd */\r\nexport enum VerwijderenBudgethouderStatusType {\r\n Onbekend = 0,\r\n Afgekeurd = 1,\r\n Goedgekeurd = 2,\r\n}\r\n\r\nexport interface WerktaakAfhandelViewModel {\r\n werktaakUid: string;\r\n}\r\n\r\nexport interface FiatteerRequestViewModel extends WerktaakAfhandelViewModel {\r\n conceptId: string;\r\n wettenWithAssessment: WetWithAssessmentViewModel[] | null;\r\n toelichting: string | null;\r\n bijlagen: BriefBijlageViewModel[] | null;\r\n}\r\n\r\nexport interface IndienenZorgovereenkomstRequestModel {\r\n werktaakUid: string;\r\n zorgovereenkomst: PapierenZorgovereenkomstConceptModel | null;\r\n}\r\n\r\nexport interface ZorgovereenkomstConceptViewModelBase {\r\n zijnZorgverlenerGegevensOpgehaaldUitProfiel: boolean;\r\n zorgBeschrijving1: string | null;\r\n zorgBeschrijving2: string | null;\r\n heeftLoonheffingskorting: boolean | null;\r\n isSalarisadministratieDoorSvb: boolean | null;\r\n isUitbetalingBruto: boolean | null;\r\n isRelatieMetZorgverlener: boolean | null;\r\n uploadedFileIds: string[] | null;\r\n uploadedFileIdsIdentiteitsbewijs: string[] | null;\r\n documentenVragenlijstFamilieverhouding: OverzichtDocumentViewModel[] | null;\r\n documentenIdentiteitsbewijs: OverzichtDocumentViewModel[] | null;\r\n budgethouder: BudgethouderReadOnlyViewModel | null;\r\n vakantieUrenInbegrepen: VakantieUrenInbegrepen | null;\r\n reiskosten: ReiskostenViewModel | null;\r\n notities: NotitieViewModel[] | null;\r\n vertegenwoordigers: VertegenwoordigerReadOnlyViewModel[] | null;\r\n aanzegtermijn: boolean;\r\n overigeAfspraken: string | null;\r\n isReadOnly: boolean;\r\n werkafspraken: WerkafsprakenViewModel | null;\r\n ingangsdatum: DateString | null;\r\n conceptId: string;\r\n rowVersion: string | null;\r\n betreftHetEenWooninitiatief: boolean | null;\r\n proeftijd: ProeftijdViewModel | null;\r\n relatieConcepten: RelatieConceptViewModel[] | null;\r\n conceptStatusLogs: ConceptStatusLogViewModel[] | null;\r\n isGedeeld: boolean;\r\n isVoltooid: boolean;\r\n isTerFiattering: boolean;\r\n status: ConceptStatusType;\r\n didISign: boolean;\r\n didOtherPartySign: boolean;\r\n fiatteertoelichtingen: FiatteerToelichtingViewModel[] | null;\r\n isIntermediateSave: boolean;\r\n geselecteerdeToekenningsbeschikkingIds: number[] | null;\r\n isVoorOnbepaaldeTijd: boolean | null;\r\n einddatum: DateString | null;\r\n}\r\n\r\nexport interface CreatedZorgovereenkomstConceptBaseViewModel extends ZorgovereenkomstConceptViewModelBase {\r\n opdrachtnemer: OpdrachtnemerViewModel | null;\r\n notitieTekst: string | null;\r\n}\r\n\r\nexport interface PapierenZorgovereenkomstConceptModel extends CreatedZorgovereenkomstConceptBaseViewModel {\r\n vasteZorgverlenerUid: string | null;\r\n isVervangingszorgovereenkomst: boolean;\r\n heeftBudgethouderOndertekend: boolean | null;\r\n budgethouderOndertekenDatum: DateString | null;\r\n ondertekendDoorBevoegdPersoonId: number | null;\r\n ondertekendDoorBevoegdPersoonNaam: string | null;\r\n bevoegdPersoonOndertekenDatum: DateString | null;\r\n ondertekeningsBevoegdePersonen: WeergaveRelatieViewModel[] | null;\r\n heeftZorgverlenerOndertekend: boolean | null;\r\n zorgverlenerOndertekenDatum: DateString | null;\r\n archivedDocuments: OverzichtDocumentViewModel[] | null;\r\n budgethouderHasGeldigeToekenningsbeschikking: boolean;\r\n origineleGeselecteerdeToekenningsbeschikkingsZijnOngeldig: boolean;\r\n}\r\n\r\nexport interface RelatieConceptViewModel {\r\n datumOndertekening: string | null;\r\n volledigeNaam: string | null;\r\n isOndertekend: boolean;\r\n relatieType: RelatieType;\r\n}\r\n\r\nexport interface ConceptStatusLogViewModel {\r\n status: ConceptStatusType;\r\n logDatum: string;\r\n}\r\n\r\nexport interface PapierenZorgovereenkomstConceptOverviewViewModel {\r\n conceptId: string;\r\n wetten: WetType[] | null;\r\n nameZorgverlener: string | null;\r\n ingangsdatum: string | null;\r\n einddatum: string | null;\r\n}\r\n\r\nexport interface GetSupplementZorgovereenkomstenByWettenAndBudgethouderUIdRequest {\r\n wetten: WetType[] | null;\r\n budgethouderUId: string;\r\n}\r\n\r\nexport interface IndienenZorgovereenkomstWijzigingRequestModel {\r\n werktaakUid: string;\r\n zorgovereenkomst: PapierenZorgovereenkomstWijzigenConceptModel | null;\r\n}\r\n\r\nexport interface PapierenZorgovereenkomstWijzigenConceptModel extends ZorgovereenkomstConceptViewModelBase {\r\n origineleZorgovereenkomstUId: string;\r\n origineleZorgovereenkomstId: number;\r\n toekenningsbeschikkingen: ToekenningsbeschikkingReadOnlyViewModel[] | null;\r\n origineleIngangsdatum: DateString | null;\r\n origineleEinddatum: DateString | null;\r\n contractType: ContractType;\r\n zorgverlener: ZorgverlenerViewModel | null;\r\n approvals: ApprovalViewModel[] | null;\r\n conversieWerkzaamheidMelding: ZorgovereenkomstwijzigenConversieWerkzaamheidMeldingViewModel | null;\r\n budgethouderZorgverlenerRelatie: BudgethouderZorgverlenerRelatieType | null;\r\n relatieAnders: string | null;\r\n extendDuration: boolean | null;\r\n isCurrentlyExtendable: boolean;\r\n isModification: boolean | null;\r\n isInitiallyExtendable: boolean;\r\n heeftBudgethouderOndertekend: boolean | null;\r\n heeftZorgverlenerOndertekend: boolean | null;\r\n budgethouderOndertekenDatum: DateString | null;\r\n zorgverlenerOndertekenDatum: DateString | null;\r\n ondertekendDoorBevoegdPersoonId: number | null;\r\n ondertekendDoorBevoegdPersoonNaam: string | null;\r\n bevoegdPersoonOndertekenDatum: DateString | null;\r\n ondertekeningsBevoegdePersonen: WeergaveRelatieViewModel[] | null;\r\n archivedDocuments: OverzichtDocumentViewModel[] | null;\r\n}\r\n\r\nexport interface ApprovalViewModel {\r\n wet: WetType;\r\n assessment: Assessment;\r\n approvedOn: string | null;\r\n approvedBy: string | null;\r\n notes: string | null;\r\n verstrekker: VerstrekkerViewModel | null;\r\n verstrekkerId: number;\r\n}\r\n\r\nexport interface VerstrekkerViewModel extends RelatieViewModel {\r\n adres: AdresViewModel | null;\r\n verstrekkerCode: string | null;\r\n website: string | null;\r\n}\r\n\r\nexport interface ZorgovereenkomstwijzigenConversieWerkzaamheidMeldingViewModel {\r\n toonEnkelTariefMelding: boolean;\r\n enkelTarief: number | null;\r\n toonMeerdereTarievenMelding: boolean;\r\n wettenMetTarieven: ZorgovereenkomstwijzigenConversieWerkzaamheidMeldingWetMetTarievenViewModel[] | null;\r\n toonMaandloonTarievenMelding: boolean;\r\n maandloonWettenMetTarieven: ZorgovereenkomstwijzigenConversieWerkzaamheidMeldingWetMetTarievenViewModel[] | null;\r\n toonAndereVergoedingenMelding: boolean;\r\n andereVergoedingenWettenMetTarieven: ZorgovereenkomstwijzigenConversieWerkzaamheidMeldingWetMetTarievenViewModel[] | null;\r\n}\r\n\r\nexport interface ZorgovereenkomstwijzigenConversieWerkzaamheidMeldingWetMetTarievenViewModel {\r\n wet: WetType;\r\n tarieven: ZorgovereenkomstwijzigenConversieWerkzaamheidMeldingTariefViewModel[] | null;\r\n}\r\n\r\nexport interface ZorgovereenkomstwijzigenConversieWerkzaamheidMeldingTariefViewModel {\r\n bedrag: number;\r\n tijdseenheid: TijdseenheidType;\r\n}\r\n\r\nexport interface ZorgovereenkomstDeclaratiesIntrekkenViewModel {\r\n inTeTrekkenDeclaraties: OverzichtDeclaratieViewModel[] | null;\r\n heeftBlokkerendeDeclaraties: boolean;\r\n blokkerendeDeclaraties: number[] | null;\r\n blokkerendeConcepten: number[] | null;\r\n gerelateerdeZorgovereenkomsten: string[] | null;\r\n}\r\n\r\nexport interface ZorgovereenkomstWijzigenApprovalViewModel {\r\n needsApproval: boolean;\r\n approvalsOnWet: ApprovalOnWetViewModel[] | null;\r\n}\r\n\r\nexport interface ApprovalOnWetViewModel {\r\n hasChangedWerkzaamhedenOrVergoedingen: boolean;\r\n hasChangedZorgbeschrijving: boolean;\r\n hasVervallenDeclaraties: boolean;\r\n hasInTeTrekkenDeclaraties: boolean;\r\n needsApproval: boolean;\r\n verstrekker: string | null;\r\n wet: WetType;\r\n wetDisplay: string | null;\r\n hasChangedEinddatumAndContractTypeIsAo: boolean;\r\n}\r\n\r\nexport interface PapierenZorgovereenkomstWijzigenApprovalInputViewModel {\r\n origineleZorgovereenkomstUId: string;\r\n papierenZorgovereenkomstWijzigenConcept: PapierenZorgovereenkomstWijzigenConceptModel | null;\r\n}\r\n\r\nexport interface FiatterenViewModel extends WerktaakAfhandelViewModel {\r\n zorgovereenkomstId: string;\r\n werkafspraken: WetWithAssessmentViewModel[] | null;\r\n toelichting: string | null;\r\n}\r\n\r\nexport interface ToekenningsbeschikkingVertegenwoordigerReadOnlyViewModel {\r\n toekenningsbeschikkingen: ToekenningsbeschikkingReadOnlyViewModel[] | null;\r\n actieveVertegenwoordigers: VertegenwoordigerReadOnlyViewModel[] | null;\r\n}\r\n\r\nexport interface AreAllExpectedToekenningsbeschikkingenSelectedRequest {\r\n ingangsdatum: DateString;\r\n einddatum: DateString | null;\r\n idsSelectedToekenningsbeschikkingen: number[] | null;\r\n budgethouderUid: string;\r\n}\r\n\r\nexport interface IdsInputModel {\r\n ids: number[] | null;\r\n}\r\n\r\nexport interface GetInTeTrekkenDeclaratiesBeeindigenZorgovereenkomstRequest {\r\n teBeeindigenZorgovereenkomstIds: string[] | null;\r\n nieuweEinddatum: DateString;\r\n}\r\n\r\nexport interface ZorgovereenkomstWijzigenApprovalInputViewModel {\r\n origineleZorgovereenkomstUId: string;\r\n zorgovereenkomstWijzigenConcept: ZorgovereenkomstWijzigenConceptViewModel | null;\r\n}\r\n\r\nexport interface ZorgovereenkomstWijzigenWerktaakApprovalInputViewModel extends ZorgovereenkomstWijzigenApprovalInputViewModel {\r\n werktaakUid: string;\r\n}\r\n\r\nexport interface ZorgovereenkomstWijzigenConceptViewModel extends ZorgovereenkomstConceptViewModelBase {\r\n origineleZorgovereenkomstUId: string;\r\n origineleZorgovereenkomstId: number;\r\n origineleZorgovereenkomstIdVanDeOrigineleZorgovereenkomst: number;\r\n origineleZorgovereenkomstUIdVanDeOrigineleZorgovereenkomst: string;\r\n toekenningsbeschikkingen: ToekenningsbeschikkingReadOnlyViewModel[] | null;\r\n origineleIngangsdatum: DateString | null;\r\n ingangsdatumWijziging: DateString | null;\r\n origineleEinddatum: DateString | null;\r\n datumOndertekeningBevoegdPersoon: string | null;\r\n ondertekendDoorBevoegdPersoonId: number | null;\r\n contractType: ContractType | null;\r\n zorgverlener: ZorgverlenerViewModel | null;\r\n approvals: ApprovalViewModel[] | null;\r\n conversieWerkzaamheidMelding: ZorgovereenkomstwijzigenConversieWerkzaamheidMeldingViewModel | null;\r\n budgethouderZorgverlenerRelatie: BudgethouderZorgverlenerRelatieType | null;\r\n relatieAnders: string | null;\r\n einddatumWijziging: DateString | null;\r\n extendDuration: boolean | null;\r\n isVoorOnbepaaldeTijdWijziging: boolean | null;\r\n isCurrentlyExtendable: boolean;\r\n isModification: boolean | null;\r\n isInitiallyExtendable: boolean;\r\n ondertekendDoorBevoegdPersoonNaam: string | null;\r\n voldoetStandaardVerlengingZorgovereenkomstAanMinimumLoon: boolean | null;\r\n}\r\n\r\nexport interface VoorWabKetenRelevanteDataViewModel {\r\n toonWabKetenregelingRelevanteData: boolean;\r\n ingevoerdeZokPasseertLimietAantalTijdelijkeContractenInWabKeten: boolean | null;\r\n ingevoerdeZokPasseertLimietAantalMaandenInWabKeten: boolean | null;\r\n voorWabKetenRelevanteZorgovereenkomstViewModels: VoorWabKetenRelevanteZorgovereenkomstViewModel[] | null;\r\n}\r\n\r\nexport interface VoorWabKetenRelevanteZorgovereenkomstViewModel {\r\n datumLaatstAangepast: string;\r\n zorgverlenerVoorletterEnAchternaam: string | null;\r\n ingangsdatum: string | null;\r\n einddatum: string | null;\r\n status: WerkafspraakStatusType;\r\n}\r\n\r\nexport interface WerkzaamheidMappingModel {\r\n uid: string;\r\n externeOmschrijving: string | null;\r\n interneOmschrijving: string | null;\r\n}\r\n\r\nexport interface GetZiekAndZwangerschapsmeldingGegevensInPeriodeResultViewModel {\r\n zorgverlenerIsVolledigZiekgemeldInGekozenPeriode: boolean;\r\n zorgverlenerIsVolledigZwangergemeldInGekozenPeriode: boolean;\r\n dagenVolledigZiekOfZwangerschap: DateString[] | null;\r\n}\r\n\r\nexport interface GetZiekAndZwangerschapsmeldingGegevensInPeriodeRequestViewModel {\r\n budgethouderUid: string;\r\n zorgverlenerUid: string;\r\n jaar: number;\r\n maand: Maand;\r\n}\r\n\r\nexport interface ZiekmeldingViewModel {\r\n budgethouder: string | null;\r\n zorgverlener: string | null;\r\n ingangsdatum: DateString | null;\r\n percentageArbeidsgeschikt: number;\r\n reiskostenVergoedingType: ReiskostenVergoedingType;\r\n vangnetregelingType: VangnetregelingType | null;\r\n einddatumReiskostenDoorbetalen: DateString | null;\r\n verblijftOpZorgverlenerAdres: boolean;\r\n verpleegadres: AdresViewModel | null;\r\n telefoonnummerVerpleegadres: string | null;\r\n omschrijvingVerblijfplaatsZorgverlener: string | null;\r\n}\r\n\r\n/** 0 = Onbekend 1 = Geen 2 = Variabel 3 = Vast 4 = VariabelEnVast */\r\nexport enum ReiskostenVergoedingType {\r\n Onbekend = 0,\r\n Geen = 1,\r\n Variabel = 2,\r\n Vast = 3,\r\n VariabelEnVast = 4,\r\n}\r\n\r\nexport interface SelecteerZiekmeldingViewModel {\r\n uid: string;\r\n meldingType: ZiekmeldingType;\r\n ingangsdatum: DateString;\r\n arbeidsgeschikt: number | null;\r\n einddatum: DateString | null;\r\n naamZorgverlener: string | null;\r\n naamBudgethouder: string | null;\r\n vangnetregelingType: VangnetregelingType | null;\r\n}\r\n\r\n/** 0 = Onbekend 1 = Ziekmelding 2 = Zwangerschapsmelding */\r\nexport enum ZiekmeldingType {\r\n Onbekend = 0,\r\n Ziekmelding = 1,\r\n Zwangerschapsmelding = 2,\r\n}\r\n\r\nexport interface ZiekmeldingZorgovereenkomstGegevensViewModel {\r\n heeftVasteReiskostenVergoeding: boolean;\r\n heeftVariabeleReiskostenVergoeding: boolean;\r\n aantalwerkdagen: AantalWerkdagenPerWeekType;\r\n heeftMaandloon: boolean;\r\n contractType: ContractType;\r\n}\r\n\r\nexport interface WeergevenZiekmeldingViewModel {\r\n ingangsdatum: DateString;\r\n einddatum: DateString | null;\r\n percentageArbeidsgeschikt: number;\r\n reiskostenVergoedingType: ReiskostenVergoedingType;\r\n aantalWerkdagenPerWeek: AantalWerkdagenPerWeekType;\r\n heeftMaandloon: boolean;\r\n contractType: ContractType;\r\n einddatumReiskostenDoorbetalen: DateString | null;\r\n einddatumCompensatie: DateString | null;\r\n einddatumCompensatieWijzigingsDatum: DateString | null;\r\n einddatumCompensatieMedewerkerId: number | null;\r\n naamZorgverlener: string | null;\r\n naamBudgethouder: string | null;\r\n aantalDagenZiek: number;\r\n wijzigingen: ZiekmeldingWeergevenVerloopViewModel[] | null;\r\n zorgverlenerUid: string;\r\n maxAantalDagenInHetVerledenZiekmelden: number;\r\n vangnetregelingType: VangnetregelingType | null;\r\n isGekoppeldAanVervangingszorgovereenkomst: boolean;\r\n}\r\n\r\nexport interface BetermeldenViewModel {\r\n datumBetermelding: DateString;\r\n ziekmeldingId: string;\r\n}\r\n\r\nexport interface ZiekmeldingWijzigenViewModel {\r\n ziekmeldingUid: string;\r\n maxAantalDagenInHetVerledenZiekmelden: number;\r\n ingangsdatum: DateString;\r\n ingangsdatumLaatsteWijziging: DateString;\r\n zorgverlener: string | null;\r\n percentageArbeidsgeschikt: number;\r\n reiskostenVergoedingType: ReiskostenVergoedingType;\r\n einddatumReiskostenDoorbetalen: DateString | null;\r\n vangnetregelingType: VangnetregelingType | null;\r\n aantalwerkdagen: AantalWerkdagenPerWeekType;\r\n contractType: ContractType;\r\n}\r\n\r\nexport interface UpdateZiekmeldingViewModel {\r\n uid: string;\r\n percentageArbeidsgeschikt: number;\r\n ingangsdatum: DateString;\r\n einddatumDoorbetalenReiskosten: DateString | null;\r\n reiskostenVergoedingType: ReiskostenVergoedingType;\r\n vangnetregelingType: VangnetregelingType | null;\r\n}\r\n\r\nexport interface ValidateResponseViewModel {\r\n validationResult: ZiekmeldingValidatieResultaat;\r\n message: string | null;\r\n ingangsdatumOrigineleZiekmelding: DateString | null;\r\n}\r\n\r\n/** 0 = Geslaagd 1 = ZorgverlenerNietActief 2 = OpenstaandeZiekmelding 3 = ZiekmeldingBinnen28Dagen 4 = IsAlGedeclareerd 5 = IngangsDatumZiekmeldingTeVerInVerleden 6 = ZiekmeldingOpLatereIngangsdatumAanwezig 7 = VangnetregelingNotAllowed */\r\nexport enum ZiekmeldingValidatieResultaat {\r\n Geslaagd = 0,\r\n ZorgverlenerNietActief = 1,\r\n OpenstaandeZiekmelding = 2,\r\n ZiekmeldingBinnen28Dagen = 3,\r\n IsAlGedeclareerd = 4,\r\n IngangsDatumZiekmeldingTeVerInVerleden = 5,\r\n ZiekmeldingOpLatereIngangsdatumAanwezig = 6,\r\n VangnetregelingNotAllowed = 7,\r\n}\r\n\r\nexport interface ValidateZorgverlenerOnDateRequestViewModel {\r\n zorgverlenerUid: string;\r\n budgethouderUid: string;\r\n ingangsDatum: DateString;\r\n}\r\n\r\nexport interface ValidateZiekmeldingChangeRequestViewModel {\r\n ziekmeldingUid: string;\r\n ingangsdatum: string;\r\n}\r\n\r\nexport interface ZiekmeldingVerwijderenViewModel {\r\n meldingUid: string;\r\n}\r\n\r\nexport interface ZorgdeclaratieWijzigenViewModel extends ValidatedViewModel {\r\n oorspronkelijkZorgdeclaratieId: string;\r\n heeftFactuur: boolean;\r\n heeftVervoersbewijs: boolean;\r\n reiskosten: ReiskostenViewModel2 | null;\r\n zorgdeclaratieMaandopgave: ZorgdeclaratieMaandopgaveViewModel | null;\r\n factuurgegevens: FactuurgegevensViewModel | null;\r\n opdrachtnemer: OpdrachtnemerViewModel2 | null;\r\n declaratieDocumentHistory: WeergevenFactuurgegevensViewModel[] | null;\r\n ingangsdatumDeclaratie: DateString;\r\n einddatumDeclaratie: DateString;\r\n heeftBijstorting: boolean;\r\n}\r\n\r\nexport interface ZorgdeclaratieWijzigenMetWerkgeverslastenViewModel {\r\n declaratie: ZorgdeclaratieWijzigenViewModel | null;\r\n werktaakDeclaratie: ZorgdeclaratieWijzigenWerktaakViewModel | null;\r\n metWerkgeverslasten: boolean;\r\n}\r\n\r\nexport interface ZorgdeclaratieWijzigenWerktaakViewModel extends ZorgdeclaratieWijzigenViewModel {\r\n budgethouder: BudgethouderReadOnlyViewModel | null;\r\n budgethouderHeeftOndertekend: boolean;\r\n datumOndertekening: DateString | null;\r\n fiattering: DeclaratieFiatteerType;\r\n isBudgethouderGeinformeerdBijAfkeuring: boolean | null;\r\n werktaakId: string;\r\n}\r\n\r\nexport interface SaveVoorkeursregioSettingsRequest {\r\n voorkeursregioUids: string[] | null;\r\n isRegioOverstijgend: boolean;\r\n}\r\n\r\nexport interface VervangingszorgovereenkomstConceptViewModel extends CreatedZorgovereenkomstConceptBaseViewModel {\r\n ziekmeldingUid: string | null;\r\n zwangerschapsmeldingUid: string | null;\r\n vasteZorgverlenerNaam: string | null;\r\n vasteZorgverlenerZiekOfVerlofmeldingIngangsdatum: string | null;\r\n ondertekendDoorBevoegdPersoonId: number | null;\r\n ondertekendDoorBevoegdPersoonNaam: string | null;\r\n datumOndertekeningBevoegdPersoon: string | null;\r\n}\r\n\r\nexport interface NotitieMetConceptGegevensViewModel {\r\n conceptGegevensViewModel: ConceptGegevensViewModel | null;\r\n notitieViewModel: NotitieViewModel | null;\r\n}\r\n\r\nexport interface ConceptGegevensViewModel {\r\n conceptId: string;\r\n conceptStatusLogViewModels: ConceptStatusLogViewModel[] | null;\r\n relatieConceptViewModels: RelatieConceptViewModel[] | null;\r\n isGedeeld: boolean;\r\n isTerFiattering: boolean;\r\n isVoltooid: boolean;\r\n}\r\n\r\nexport interface VervangingszorgovereenkomstSaveViewModel {\r\n vervangingszorgovereenkomstConcept: VervangingszorgovereenkomstConceptViewModel | null;\r\n wilOndertekenen: boolean;\r\n notitie: string | null;\r\n}\r\n\r\nexport interface DeleteZorgovereenkomstconceptInputModel {\r\n conceptUid: string;\r\n rowVersion: string | null;\r\n}\r\n\r\nexport interface ZorgovereenkomstConceptViewModel extends CreatedZorgovereenkomstConceptBaseViewModel {\r\n isAanvulling: boolean;\r\n aanvullingZorgovereenkomstId: string | null;\r\n}\r\n\r\nexport interface ConceptIsIngediendViewModel {\r\n isIngediend: boolean;\r\n ingediendeZorgovereenkomstId: string;\r\n zorgovereenkomstConceptViewModel: ZorgovereenkomstConceptViewModel | null;\r\n}\r\n\r\nexport interface GetToekenningsbeschikkingenByIdsAndBudgethouderViewModel extends IdsInputModel {\r\n budgethouderId: string;\r\n}\r\n\r\nexport interface EerderBeeindigenZorgovereenkomstGegevensModel {\r\n zorgovereenkomst: WeergevenZorgovereenkomstViewModel | null;\r\n datumLaatsteDeclaratie: DateString | null;\r\n}\r\n\r\nexport interface EerderBeeindigenZorgovereenkomstResponseModel {\r\n isGeslaagd: boolean;\r\n foutmelding: string | null;\r\n}\r\n\r\nexport interface EerderBeeindigenZorgovereenkomstRequestModel {\r\n zorgovereenkomstId: string;\r\n beeindigingswijze: BeeindigingswijzeType | null;\r\n nieuweEinddatum: DateString;\r\n erIsSchriftelijkOpgezegdBijOpzeggingTijdensProeftijd: boolean | null;\r\n erIsVoldaanAanOpzegtermijnBijOpzeggingInOvereenstemming: boolean | null;\r\n erIsOvereenstemmingBijOpzeggingInOvereenstemming: boolean | null;\r\n erIsInformatieGelezenBijOpzeggingZonderOvereenstemming: boolean | null;\r\n isAnnulering: boolean;\r\n}\r\n\r\n/** 0 = Onbekend 1 = Geen 2 = Laag 3 = Hoog */\r\nexport enum WWTariefType {\r\n Onbekend = 0,\r\n Geen = 1,\r\n Laag = 2,\r\n Hoog = 3,\r\n}\r\n\r\nexport interface GetWWTariefZorgovereenkomstRequestModel {\r\n budgethouderId: number;\r\n zorgverlenerUid: string;\r\n ingangsDatum: string;\r\n}\r\n\r\nexport interface GetJongsteZorgovereenkomstEinddatumRequestModel {\r\n budgethouderUid: string;\r\n zorgverlenerBsn: string | null;\r\n}\r\n\r\nexport interface ZorgovereenkomstWijzigenBewarenViewModel {\r\n zorgovereenkomstWijzigenConcept: ZorgovereenkomstWijzigenConceptViewModel | null;\r\n wilOndertekenen: boolean;\r\n notitie: string | null;\r\n approvalsOnWet: ApprovalOnWetViewModel[] | null;\r\n}\r\n\r\nexport interface ZorgverlenerSelecteerViewModel {\r\n id: string;\r\n volledigeNaam: string | null;\r\n adres: AdresViewModel | null;\r\n agbCode: string | null;\r\n burgerServiceNummer: string | null;\r\n kvkNummer: string | null;\r\n telefoonnummer1: string | null;\r\n emailadres: string | null;\r\n recentContractType: ContractType;\r\n identificatie: string | null;\r\n}\r\n\r\nexport interface GetZoekZorgverlenerViewModel {\r\n zoekcriteria: string | null;\r\n zoekmethode: ZoekZorgverlenersType;\r\n}\r\n\r\n/** 0 = Onbekend 1 = Declaraties 2 = Zorgovereenkomst */\r\nexport enum ZoekZorgverlenersType {\r\n Onbekend = 0,\r\n Declaraties = 1,\r\n Zorgovereenkomst = 2,\r\n}\r\n\r\nexport interface FindZorgpartijenViewModel {\r\n maxResultaten: boolean;\r\n zorgpartijen: ZorgpartijViewModel[] | null;\r\n}\r\n\r\nexport interface BepaalCorrecteSelectieZZPerOfInstellingViewModel {\r\n zorgverlenerBestaatAlInSysteem: boolean;\r\n zorgverlenerType: ZorgverlenerType | null;\r\n zorgverlenerHeeftNonConceptZok: boolean | null;\r\n}\r\n\r\nexport interface ZorgverlenerUitAgbOfReedsBekendViewModel {\r\n zorgpartijViewModel: ZorgpartijViewModel | null;\r\n zorgverlenerGegevensBron: ZorgverlenerGegevensBronType;\r\n zorgverlenerGegevensStatus: ZorgverlenerGegevensStatusType;\r\n}\r\n\r\n/** 0 = Onbekend 1 = AgbRegister 2 = ReedsBekendInSysteem 3 = KvkRegister */\r\nexport enum ZorgverlenerGegevensBronType {\r\n Onbekend = 0,\r\n AgbRegister = 1,\r\n ReedsBekendInSysteem = 2,\r\n KvkRegister = 3,\r\n}\r\n\r\n/** 0 = Correct 1 = BekendInSystemZonderAgbCode 2 = BekendInSystemMetAgbCode */\r\nexport enum ZorgverlenerGegevensStatusType {\r\n Correct = 0,\r\n BekendInSystemZonderAgbCode = 1,\r\n BekendInSystemMetAgbCode = 2,\r\n}\r\n\r\nexport interface ZorgovereenkomstViewModelLight extends ZorgovereenkomstViewModelBase {\r\n}\r\n\r\nexport interface GetZorgovereenkomstenVanBudgethouderMetPeriodeModel {\r\n jaar: number;\r\n maand: Maand;\r\n budgethouderUid: string;\r\n}\r\n\r\nexport interface ZorgverlenerZorgdeclaratieConceptGecorrigeerdViewModel extends ZorgverlenerZorgdeclaratieConceptViewModel {\r\n}\r\n\r\nexport interface ZorgovereenkomstPeriodeModel {\r\n zorgovereenkomstId: string;\r\n jaar: number;\r\n maand: Maand;\r\n}\r\n\r\nexport interface ZorgovereenkomstBudgethouderEnPeriodeModel extends ZorgovereenkomstPeriodeModel {\r\n budgethouderId: string;\r\n}\r\n\r\nexport interface BeoordeelZorgdeclaratieModel {\r\n conceptUid: string;\r\n heeftBudgethouderDeclaratieGoedgekeurd: boolean;\r\n toelichting: string | null;\r\n}\r\n\r\nexport interface ZwangerschapsmeldingViewModel {\r\n budgethouder: string;\r\n zorgverlener: string;\r\n datumZwangerschapsmelding: DateString;\r\n verlofdatum: DateString | null;\r\n bevallingsdatum: DateString | null;\r\n}\r\n\r\nexport interface ZwangerschapsmeldingWijzigenViewModel {\r\n uid: string;\r\n verlofdatum: DateString;\r\n}\r\n\r\nexport interface TerugVanVerlofMeldenViewModel {\r\n datumTerugVanVerlof: DateString;\r\n zwangerschapsmeldingId: string;\r\n}\r\n\r\nexport interface ValidateZorgverlenerOnDateResultViewModel {\r\n validationResult: ZwangerschapsmeldingZorgverlenerSelectieResultaat;\r\n message: string | null;\r\n}\r\n\r\n/** 0 = Geslaagd 1 = ZorgverlenerNietActief 2 = OpenstaandeZwangerschapsmelding 3 = IsAlGedeclareerd */\r\nexport enum ZwangerschapsmeldingZorgverlenerSelectieResultaat {\r\n Geslaagd = 0,\r\n ZorgverlenerNietActief = 1,\r\n OpenstaandeZwangerschapsmelding = 2,\r\n IsAlGedeclareerd = 3,\r\n}\r\n\r\nexport interface ValidateZorgverlenerOnDateRequestViewModel2 {\r\n zorgverlenerUid: string;\r\n budgethouderUid: string;\r\n verlofDatum: DateString;\r\n}\r\n\r\nexport interface ZwangerschapsmeldingZorgovereenkomstGegevensViewModel {\r\n aantalWerkdagen: AantalWerkdagenPerWeekType;\r\n heeftMaandloon: boolean;\r\n}\r\n\r\nexport interface GetZwangerschapsmeldingZorgovereenkomstGegevensRequestViewModel {\r\n budgethouderUid: string;\r\n zorgverlenerUid: string;\r\n verlofdatum: DateString;\r\n}\r\n\r\nexport interface ZwangerschapsmeldingVerwijderenViewModel {\r\n meldingUid: string;\r\n}\r\n\r\nexport interface OpschortingmeldingViewModel {\r\n heeftActieveOpschorting: boolean;\r\n}\r\n\r\nexport interface FileResponse {\r\n data: Blob;\r\n status: number;\r\n fileName?: string;\r\n headers?: { [name: string]: any };\r\n}\r\n\r\nexport class ApiException extends Error {\r\n message: string;\r\n status: number;\r\n response: string;\r\n headers: { [key: string]: any; };\r\n result: any;\r\n\r\n constructor(message: string, status: number, response: string, headers: { [key: string]: any; }, result: any) {\r\n super();\r\n\r\n this.message = message;\r\n this.status = status;\r\n this.response = response;\r\n this.headers = headers;\r\n this.result = result;\r\n }\r\n\r\n protected isApiException = true;\r\n\r\n static isApiException(obj: any): obj is ApiException {\r\n return obj.isApiException === true;\r\n }\r\n}\r\n\r\nfunction throwException(message: string, status: number, response: string, headers: { [key: string]: any; }, result?: any): any {\r\n if (result !== null && result !== undefined)\r\n throw result;\r\n else\r\n throw new ApiException(message, status, response, headers, null);\r\n}\r\n\r\n// Contents of this file will be added at the top of the generated Api Client file","import { authRepository } from '@/domains/auth/dataAccess/AuthRepository'\r\nimport { AbortablePromise, makeAbortablePromise } from '@/utils/AbortablePromise'\r\n\r\nexport class AuthorizedApiBase {\r\n private _initOptions?: RequestInit\r\n\r\n protected transformOptions = (options: RequestInit): Promise => {\r\n const initOptions = this._initOptions\r\n this._initOptions = undefined\r\n return authRepository().ensureToken().then(() => ({\r\n ...initOptions,\r\n ...options,\r\n cache: 'no-cache',\r\n credentials: 'same-origin',\r\n headers: {\r\n ...options.headers,\r\n Authorization: `Bearer ${authRepository().accessToken}`,\r\n },\r\n }))\r\n }\r\n\r\n public callWithAbort (this: TThis, call: (client: TThis) => Promise,\r\n abortResult: TResult = null as any): AbortablePromise {\r\n const controller = new AbortController()\r\n this._initOptions = { signal: controller.signal }\r\n return makeAbortablePromise(\r\n call(this).catch(e => e && e.name === 'AbortError' ? abortResult : Promise.reject(e)),\r\n () => controller.abort())\r\n }\r\n}\r\n","export * from \"-!../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BijkomendeZorgkostenOpstellen.vue?vue&type=style&index=0&id=1576156a&prod&lang=scss\"","export * from \"-!../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./WeergevenVerantwoordingsvrijBedrag.vue?vue&type=style&index=0&id=561f2d7c&prod&lang=scss&scoped=true\"","export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NestedCardContentSection.vue?vue&type=style&index=0&id=0b7051b8&prod&lang=scss&scoped=true\"","export const REDIRECT_PATH_KEY = 'pgb_redirect_path'\r\nexport const COBROWSE_CONSENT_GIVEN_KEY = 'cobrowse_consent_given'\r\nexport const VERTEGENWOORDIGER_SELECTED_BUDGETHOUDER_KEY = 'vertegenwoordigerSelectedBudgethouder'\r\n\r\nconst setRedirectPath = (path?: string) => {\r\n if (path) {\r\n sessionStorage.setItem(REDIRECT_PATH_KEY, path)\r\n } else {\r\n sessionStorage.removeItem(REDIRECT_PATH_KEY)\r\n }\r\n}\r\n\r\nconst getRedirectPath = (): string => {\r\n return sessionStorage.getItem(REDIRECT_PATH_KEY) || '/'\r\n}\r\n\r\nconst getCobrowseConsentGiven = (): boolean => {\r\n return sessionStorage.getItem(COBROWSE_CONSENT_GIVEN_KEY) === 'true'\r\n}\r\n\r\nconst setCobrowseConsentGiven = (value = true) => {\r\n sessionStorage.setItem(COBROWSE_CONSENT_GIVEN_KEY, `${value}`)\r\n}\r\n\r\nconst getVertegenwoordigerSelectedBudgethouder = (): string | null => {\r\n const selectedBudgethouderUid = sessionStorage.getItem(VERTEGENWOORDIGER_SELECTED_BUDGETHOUDER_KEY)\r\n return selectedBudgethouderUid ? selectedBudgethouderUid.replace(/^\"|\"$/g, '') : null\r\n}\r\n\r\nconst setVertegenwoordigerSelectedBudgethouder = (value?: string | null): void => {\r\n if (value) {\r\n sessionStorage.setItem(VERTEGENWOORDIGER_SELECTED_BUDGETHOUDER_KEY, `\"${value}\"`)\r\n } else {\r\n sessionStorage.removeItem(VERTEGENWOORDIGER_SELECTED_BUDGETHOUDER_KEY)\r\n }\r\n}\r\n\r\nexport default {\r\n setRedirectPath,\r\n getRedirectPath,\r\n setCobrowseConsentGiven,\r\n getCobrowseConsentGiven,\r\n setVertegenwoordigerSelectedBudgethouder,\r\n getVertegenwoordigerSelectedBudgethouder,\r\n}\r\n","import { computed, ref } from '@vue/composition-api'\r\nimport { SoortVerstrekkerType, ContactType } from '@/_generated/portalClient'\r\n\r\nimport { ContactData } from '@/domains/account/dataAccess/models/ContactData'\r\nimport { CurrentContactDataExtended } from '@/domains/account/dataAccess/models/CurrentContactDataExtended'\r\n\r\nexport interface ContactInfo {\r\n telefoon?: string | null\r\n openingstijd?: string | null\r\n sluitingstijd?: string | null\r\n openingstijdTekst?: string[] | null\r\n email?: string | null\r\n website?: string | null\r\n adres?: string[] | null\r\n}\r\n\r\nconst isSvb = (gegevens: ContactData): boolean => gegevens.soortVerstrekkerType === SoortVerstrekkerType.Onbekend\r\nconst isGemeente = (gegevens: ContactData): boolean => gegevens.soortVerstrekkerType === SoortVerstrekkerType.Gemeente\r\nconst isZorgkantoor = (gegevens: ContactData): boolean => gegevens.soortVerstrekkerType === SoortVerstrekkerType.Zorgkantoor\r\nconst isVerstrekker = (gegevens: ContactData): boolean => gegevens.soortVerstrekkerType !== SoortVerstrekkerType.Onbekend\r\n\r\nfunction extractContacten (gegevens: ContactData, contacts: ContactInfo) {\r\n if (gegevens.contacten) {\r\n gegevens.contacten.forEach((el) => {\r\n if (el.contactType === ContactType.Telefoonnummer1) {\r\n contacts.telefoon = el.waarde\r\n } else if (el.contactType === ContactType.Email) {\r\n contacts.email = el.waarde\r\n } else if (el.contactType === ContactType.Website) {\r\n contacts.website = el.waarde\r\n }\r\n })\r\n }\r\n}\r\n\r\nfunction extractOpeningstijden (gegevens: ContactData, contacts: ContactInfo) {\r\n if (gegevens.openingstijden) {\r\n const tijd = gegevens.openingstijden\r\n if (gegevens.openingstijden.length > 0) {\r\n tijd.forEach(t => {\r\n contacts.openingstijdTekst?.push(t.openingstijdTekst)\r\n })\r\n contacts.openingstijd = tijd[0].openingstijd ? tijd[0].openingstijd.replace(':00', '') : ''\r\n contacts.sluitingstijd = tijd[0].sluitingstijd ? tijd[0].sluitingstijd.replace(':00', '') : ''\r\n }\r\n }\r\n}\r\n\r\nfunction extractAdres (gegevens: ContactData, contacts: ContactInfo) {\r\n if (gegevens.adres) {\r\n const adres = gegevens.adres\r\n contacts.adres = [`${adres.straatnaam} ${adres.huisnummer}`, `${adres.postcode} ${adres.plaatsnaam}`]\r\n }\r\n}\r\n\r\nfunction getContactInfo (gegevens?: ContactData): ContactInfo {\r\n const contacts: ContactInfo = {}\r\n if (gegevens) {\r\n extractContacten(gegevens, contacts)\r\n extractOpeningstijden(gegevens, contacts)\r\n extractAdres(gegevens, contacts)\r\n }\r\n return contacts\r\n}\r\n\r\nexport default function (contacts: CurrentContactDataExtended) {\r\n const contactDataList = computed(() => contacts.list || [])\r\n\r\n const properties = ref({\r\n allContacts: computed(() =>\r\n contactDataList.value\r\n .map(contactData => ({ ...contactData, info: getContactInfo(contactData) }))\r\n ),\r\n svb: computed(() => {\r\n const contactData = contactDataList.value.find(isSvb)\r\n return { ...contactData, info: getContactInfo(contactData) }\r\n }),\r\n verstrekkers: computed(() => {\r\n let verstrekkers = contactDataList.value.filter(isVerstrekker)\r\n if (!verstrekkers.length) {\r\n verstrekkers = contactDataList.value.filter(isSvb)\r\n }\r\n return verstrekkers.map(contactData => ({ ...contactData, info: getContactInfo(contactData) }))\r\n }),\r\n })\r\n\r\n return {\r\n loaded: computed(() => contacts.list.length > 0),\r\n properties,\r\n isSvb,\r\n isGemeente,\r\n isZorgkantoor,\r\n isVerstrekker,\r\n }\r\n}\r\n","export function loadScript (url: string, attrs?: {[key: string]: string}) {\r\n const script = document.createElement('script')\r\n script.type = 'text/javascript'\r\n script.async = true\r\n script.src = url\r\n document.head.appendChild(script)\r\n\r\n if (attrs) {\r\n Object.keys(attrs).forEach(key => {\r\n script.setAttribute(key, attrs[key])\r\n })\r\n }\r\n\r\n return new Promise((resolve, reject) => {\r\n script.onload = resolve\r\n script.onerror = reject\r\n })\r\n}\r\n","/* eslint-disable no-console */\r\nimport { ref } from '@vue/composition-api'\r\nimport { loadScript } from '@/utils/loadScript'\r\nimport pgbSessionStorage from '@/utils/pgbSessionStorage'\r\n\r\nconst scriptLoaded = ref(false)\r\nconst cobrowseScriptUrl = ref('')\r\nconst showCobrowseModal = ref(false)\r\nconst cobrowseLoaded = ref(false)\r\nconst cobrowseCode = ref('')\r\n\r\nconst initCobrowse = async (teamviewerTenantId: string, scriptsPath: string) => {\r\n cobrowseScriptUrl.value = `${scriptsPath}/vendor/teamviewer/${teamviewerTenantId}.js`\r\n await runScript()\r\n if (pgbSessionStorage.getCobrowseConsentGiven()) {\r\n launchCobrowse()\r\n }\r\n}\r\n\r\nconst launchCobrowse = async () => {\r\n pgbSessionStorage.setCobrowseConsentGiven()\r\n if (scriptLoaded.value && cobrowseScriptUrl.value !== '') {\r\n startCobrowsing()\r\n } else {\r\n await runScript()\r\n }\r\n}\r\n\r\nconst runScript = async () => {\r\n try {\r\n await loadScript(cobrowseScriptUrl.value)\r\n scriptLoaded.value = true\r\n } catch {\r\n scriptLoaded.value = false\r\n if (pgbSessionStorage.getCobrowseConsentGiven()) {\r\n pgbSessionStorage.setCobrowseConsentGiven(false)\r\n throw new Error('Cobrowse script not loaded.')\r\n }\r\n pgbSessionStorage.setCobrowseConsentGiven(false)\r\n }\r\n}\r\n\r\nconst startCobrowsing = () => {\r\n const CV = (window as any).CV\r\n\r\n if (CV) {\r\n CV.cobrowse.clearListener()\r\n\r\n CV.cobrowse.start()\r\n cobrowseLoaded.value = true\r\n\r\n CV.cobrowse.addCobrowsingStartedListener(() => {\r\n const cobrowseElement = document.getElementById('CV-SESSION-ID')\r\n if (cobrowseElement) {\r\n cobrowseCode.value = cobrowseElement ? cobrowseElement.innerHTML : ''\r\n }\r\n })\r\n\r\n CV.cobrowse.addCobrowsingStoppedListener(() => {\r\n sessionStorage.setItem('cobrowse_consent_given', 'false')\r\n cobrowseLoaded.value = false\r\n cobrowseCode.value = ''\r\n })\r\n }\r\n}\r\n\r\nconst launchCobrowseModal = () => {\r\n showCobrowseModal.value = true\r\n}\r\n\r\nconst cobrowse = {\r\n showCobrowseModal,\r\n cobrowseLoaded,\r\n cobrowseCode,\r\n launchCobrowse,\r\n launchCobrowseModal,\r\n initCobrowse,\r\n}\r\n\r\nexport default function () {\r\n return cobrowse\r\n}\r\n","import { Address } from '@/domains/account/dataAccess/models/Address'\r\n\r\nexport interface UseAddress {\r\n addresses: string[]\r\n}\r\n\r\nconst addPrefix = (value: string | null, prefix: string): string => value ? `${prefix}${value}` : ''\r\n\r\nconst composeHuisnummer = (address: Address, longFormat: boolean): string => {\r\n if (!address.huisnummer) {\r\n return ''\r\n }\r\n const huisnummer =\r\n `${addPrefix(address.huisnummer ? address.huisnummer.toString() : null, ' ')}${addPrefix(address.huisletter, '')}${addPrefix(address.huisnummerToevoeging, ' ')}`\r\n\r\n const huisnummerLong = longFormat ? `${addPrefix(address.huisnummerAanduiding, ' ')}${addPrefix(address.locatiebeschrijving, ' ')}` : ''\r\n return `${huisnummer}${huisnummerLong}`\r\n}\r\n\r\nconst composePostode = (address: Address): string => {\r\n return `${address.postcode}${composeHuisnummer(address, false)}${addPrefix(address.plaatsnaam, ' ')}`\r\n}\r\n\r\nconst composeStreetName = (address: Address): string => {\r\n const huisnummer = composeHuisnummer(address, true)\r\n const postcodePlaatsnaam = addPrefix(`${addPrefix(address.postcode, ' ')}${addPrefix(address.plaatsnaam, ' ')}`, ',')\r\n const land = (address.land && address.land.toLowerCase() !== 'nl') ? `(${address.land})` : ''\r\n return `${address.straatnaam}${huisnummer}${postcodePlaatsnaam}${addPrefix(land, ' ')}`\r\n}\r\n\r\nconst isIncompleteAddress = (address: Address): boolean => !(address.huisnummer && (address.postcode || (address.straatnaam && address.plaatsnaam)))\r\n\r\nexport const composeAddress = (address: Address): string => {\r\n if (isIncompleteAddress(address)) {\r\n return ''\r\n }\r\n if (address.straatnaam) {\r\n return composeStreetName(address)\r\n } else {\r\n return composePostode(address)\r\n }\r\n}\r\n\r\nexport default function useAddress (addresses: Address[]): UseAddress {\r\n return {\r\n addresses: addresses.map(composeAddress),\r\n }\r\n}\r\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('page-layout-standard',{attrs:{\"help-panel-items\":_vm.helpPanelItems,\"page-title\":_vm.$t(_vm.pageTitle)}},[_c('section',[_c('div',[_c('h2',{directives:[{name:\"a11y-focusable\",rawName:\"v-a11y-focusable\",value:({dictate: (\"\" + (_vm.$t('failed.pageSecondaryTitle')))}),expression:\"{dictate: `${$t('failed.pageSecondaryTitle')}`}\"}]},[_vm._v(\" \"+_vm._s(_vm.$t('failed.pageSecondaryTitle'))+\" \")]),_c('p-alert',{staticClass:\"mb-6 mt-6\",attrs:{\"data-ui\":\"ideal-failed\",\"role\":\"status\",\"type\":\"error\"}},[_c('p',[_vm._v(\" \"+_vm._s(_vm.$t('failed.message.top')))]),_c('p',[_vm._v(\" \"+_vm._s(_vm.$t('failed.message.bottom')))])])],1),_c('p-button-container',{staticClass:\"flex-column align-start mt-10\"},[_c('p-button',{attrs:{\"to\":{name: 'OverzichtDeclaratie'}}},[_vm._v(\" \"+_vm._s(_vm.$t('buttons.overzichtDeclaraties'))+\" \")])],1)],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export default {\r\n messages: {\r\n nl: {\r\n pageTitle: {\r\n feestdagenuitkering: 'Declareren feestdagenuitkering',\r\n bijkomendezorgkosten: 'Declareren bijkomende zorgkosten', // TODO: PD-75032 move titles out of the ideal componenet\r\n },\r\n helpLinks: {\r\n uitleg: 'Uitleg over indienen declaraties',\r\n faq: 'Veelgestelde vragen',\r\n helpdesk: 'Helpdesk',\r\n },\r\n pageSecondaryTitle: 'Ingediend',\r\n success: {\r\n messageBetalingskenmerk: 'Uw bijbetaling via iDEAL is gelukt. Het betalingskenmerk is {betalingskenmerk}.',\r\n messageDeclaratienummer: 'Uw declaratie is ingediend en deze wordt uitbetaald. Het declaratienummer is {declaratienummer}.',\r\n watNu: {\r\n title: 'Wat gebeurt er nu?',\r\n body: 'Het PGB Portaal heeft de SVB de opdracht gegeven om het geld over te maken. Het geld wordt binnen enkele dagen uitbetaald.',\r\n },\r\n },\r\n successMetOpschorting: {\r\n messageBetalingskenmerk: 'Uw bijbetaling via iDEAL is gelukt. Het betalingskenmerk is {betalingskenmerk}.',\r\n messageDeclaratienummer: 'Uw declaratie wordt eerst beoordeeld omdat er sprake is van een opschorting. Indien de declaratie wordt ' +\r\n 'afgewezen kan het bijgestorte bedrag worden teruggestort. Het declaratienummer is {declaratienummer}.',\r\n watNu: {\r\n title: 'Wat gebeurt er nu?',\r\n body: 'Het PGB Portaal heeft de SVB de opdracht gegeven om het geld over te maken. Het geld wordt binnen enkele dagen uitbetaald.',\r\n },\r\n },\r\n failed: {\r\n pageSecondaryTitle: 'De iDEAL betaling is mislukt',\r\n message: {\r\n top: 'Het is niet gelukt uw declaratie in te dienen. ' +\r\n 'U kunt nogmaals proberen de declaratie in te dienen en bij te betalen via iDEAL.',\r\n bottom: 'Uw declaratie is wel opgeslagen als concept. U kunt het terugvinden in het overzicht declaraties en maandlonen. ' +\r\n 'U kunt ook op een later moment nog eens proberen de declaratie in te dienen.',\r\n },\r\n },\r\n buttons: {\r\n nieuweDeclaratie: 'Nieuwe declaratie',\r\n startpagina: 'Home',\r\n overzichtDeclaraties: 'Overzicht declaraties en maandlonen',\r\n },\r\n ideal: {\r\n title: 'Zelf bijbetalen met iDEAL',\r\n info: 'Om deze declaratie te kunnen laten uitbetalen, zult u het tekort aan budget ' +\r\n 'zelf moeten betalen van uw eigen rekening via iDEAL.',\r\n },\r\n warning: {\r\n title: 'Let op!',\r\n content: 'Als uw iDEAL betaling is gelukt, ziet u op de website van uw bank een knop ' +\r\n 'of link om terug te gaan naar de website. De declaratie is dan nog niet ingediend. ' +\r\n 'U moet op de knop of link klikken om de declaratie succesvol in te dienen en gelijk ' +\r\n 'terug te gaan naar het PGB Portaal. U krijgt dan te zien of het indienen is gelukt.',\r\n },\r\n warningPaymentInProcess: {\r\n title: 'Let op!',\r\n content: 'U kunt tijdelijk geen declaratie indienen, omdat er een iDEAL betaling in behandeling is.',\r\n },\r\n labels: {\r\n naam: 'Naam',\r\n bedrag: 'Bedrag',\r\n },\r\n },\r\n },\r\n}\r\n","import { useI18n } from 'phoenix'\r\nimport { IPgbUrlItem } from 'phoenix/src/library/types'\r\nimport { externalLink } from '@/externalRouter'\r\n\r\nexport default function useDeclaratieHelpPanelItems (): IPgbUrlItem[] {\r\n const { t } = useI18n()\r\n\r\n return [\r\n {\r\n url: externalLink.mijnpgb.budgethoudersEnVertegenwoordigersDeclaratiesEnMandloon,\r\n label: t('helpLinks.uitleg'),\r\n },\r\n {\r\n url: externalLink.mijnpgb.budgethoudersEnVertegenwoordigersFaq_declaratiesEnMaandloon,\r\n label: t('helpLinks.faq'),\r\n },\r\n {\r\n url: '#contactgegevens_helpdesk',\r\n anchorPoint: true,\r\n label: t('helpLinks.helpdesk'),\r\n },\r\n ]\r\n}\r\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { defineComponent } from '@vue/composition-api'\r\nimport i18n from './i18n'\r\nimport { useRouter } from 'phoenix'\r\nimport useDeclaratieHelpPanelItems from '@/domains/declaraties/pages/helpPanels/useDeclaratieHelpPanelItems'\r\n\r\nexport default defineComponent({\r\n name: 'IdealFailed',\r\n i18n,\r\n setup () {\r\n const { route, router } = useRouter()\r\n const helpPanelItems = useDeclaratieHelpPanelItems()\r\n\r\n return {\r\n newDeclaratie: () => { router.go() },\r\n pageTitle: `pageTitle.${route.params.type}`,\r\n helpPanelItems,\r\n }\r\n },\r\n})\r\n\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./IdealFailed.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./IdealFailed.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./IdealFailed.vue?vue&type=template&id=5ae20091\"\nimport script from \"./IdealFailed.vue?vue&type=script&lang=ts\"\nexport * from \"./IdealFailed.vue?vue&type=script&lang=ts\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('section',[_c('div',{staticClass:\"text-center mb-8\"},[_c('p-loading-indicator',{attrs:{\"data-ui\":\"return-loader\"}})],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { ConfirmIdealTransactieResultViewModel } from '@/_generated/portalClient'\r\nimport { IdealReturn } from '../models/indienen/ideal/IdealReturn'\r\n\r\nexport function mapIdealReturn (vm: ConfirmIdealTransactieResultViewModel): IdealReturn {\r\n return {\r\n declaratieOfConceptUid: vm.declaratieOfConceptUid,\r\n betalingskenmerk: vm.betalingskenmerk,\r\n isTransactieVerwerktOpDeclaratie: vm.isTransactieVerwerktOpDeclaratie,\r\n }\r\n}\r\n","export interface IdealReturn {\r\n declaratieOfConceptUid: string | null\r\n betalingskenmerk: string | null\r\n isTransactieVerwerktOpDeclaratie: boolean | null\r\n}\r\n\r\nexport const emptyIdealReturn: IdealReturn = {\r\n declaratieOfConceptUid: null,\r\n betalingskenmerk: null,\r\n isTransactieVerwerktOpDeclaratie: null,\r\n}\r\n","import { betalenClient } from '@/dataAccess/clients'\r\nimport { RepositoryBase } from '@/dataAccess/RepositoryBase'\r\nimport { mapIdealReturn } from './mappers/mapIdealReturn'\r\nimport { emptyIdealReturn, IdealReturn } from './models/indienen/ideal/IdealReturn'\r\nimport { IdealReturnExtended } from './models/indienen/ideal/IdealReturnExtended'\r\n\r\nexport class IdealReturnRepository extends RepositoryBase {\r\n constructor (public trxId: string) {\r\n super('IdealReturnRepository', emptyIdealReturn)\r\n }\r\n\r\n protected doOpen () {\r\n super.doOpen()\r\n return this.confirmPayment()\r\n }\r\n\r\n public async confirmPayment () {\r\n this.dataModel = mapIdealReturn(await betalenClient().confirmBetaling(this.trxId))\r\n }\r\n}\r\n","\n\n\n\n\n\n\n\n\n\r\nimport { defineComponent } from '@vue/composition-api'\r\nimport i18n from './i18n'\r\nimport { useRouter } from 'phoenix'\r\nimport { IdealReturnRepository } from '@/domains/declaraties/dataAccess/IdealReturnRepository'\r\nimport { route as declaratieRoute } from '@/domains/declaraties/routes/routeItems'\r\n\r\nexport default defineComponent({\r\n name: 'IdealReturn',\r\n i18n,\r\n setup () {\r\n const { route, router } = useRouter()\r\n const repository = new IdealReturnRepository(route.query.trxid)\r\n repository.open()\r\n\r\n repository.ready()\r\n .then(() => {\r\n if (repository.model.isTransactieVerwerktOpDeclaratie) {\r\n const params = {\r\n id: repository.model.declaratieOfConceptUid,\r\n betalingskenmerk: repository.model.betalingskenmerk,\r\n type: route.params.type,\r\n }\r\n router.replace({ name: declaratieRoute.IdealReturnSuccess, params })\r\n } else {\r\n const params = {\r\n type: route.params.type,\r\n }\r\n router.replace({ name: declaratieRoute.IdealReturnFailed, params })\r\n }\r\n })\r\n\r\n return {\r\n pageTitle: `pageTitle.${route.params.type}`,\r\n }\r\n },\r\n})\r\n\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./IdealReturn.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./IdealReturn.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./IdealReturn.vue?vue&type=template&id=8251201e\"\nimport script from \"./IdealReturn.vue?vue&type=script&lang=ts\"\nexport * from \"./IdealReturn.vue?vue&type=script&lang=ts\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('page-layout-standard',{attrs:{\"help-panel-items\":_vm.helpPanelItems,\"page-title\":_vm.$t(_vm.pageTitle)},scopedSlots:_vm._u([{key:\"colRight\",fn:function(){return [(_vm.idealSuccessRepository.kassabonRepository.hasValidModel)?_c('kassabon',{attrs:{\"data\":_vm.idealSuccessRepository.kassabonRepository.modelRef,\"sticky\":\"\"}}):_vm._e()]},proxy:true}])},[_c('section',[(!_vm.isReady)?_c('div',{staticClass:\"text-center mb-8\"},[_c('p-loading-indicator')],1):_vm._e(),(_vm.isReady)?[_c('div',{staticClass:\"pb-4\"},[_c('h2',{directives:[{name:\"a11y-focusable\",rawName:\"v-a11y-focusable\",value:({dictate: (\"\" + (_vm.$t('pageSecondaryTitle')))}),expression:\"{dictate: `${$t('pageSecondaryTitle')}`}\"}]},[_vm._v(\" \"+_vm._s(_vm.$t('pageSecondaryTitle'))+\" \")]),(_vm.idealSuccessRepository.model.declaratieWordtOpgeschort)?_c('p-alert',{staticClass:\"mb-6 mt-3\",attrs:{\"data-ui\":\"ideal-success-met-opschorting\",\"role\":\"status\",\"type\":\"success\"}},[_vm._v(\" \"+_vm._s(_vm.$t('successMetOpschorting.messageBetalingskenmerk', { betalingskenmerk: _vm.idealSuccessRepository.model.betalingskenmerk}))+\" \"+_vm._s(_vm.$t('successMetOpschorting.messageDeclaratienummer', { declaratienummer: _vm.idealSuccessRepository.model.declaratienummer}))+\" \")]):_c('p-alert',{staticClass:\"mb-6 mt-3\",attrs:{\"data-ui\":\"ideal-success\",\"role\":\"status\",\"type\":\"success\"}},[_vm._v(\" \"+_vm._s(_vm.$t('success.messageBetalingskenmerk', { betalingskenmerk: _vm.idealSuccessRepository.model.betalingskenmerk}))+\" \"+_vm._s(_vm.$t('success.messageDeclaratienummer', { declaratienummer: _vm.idealSuccessRepository.model.declaratienummer}))+\" \")])],1),_c('ingediend-links')]:_vm._e()],2)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { DeclaratieType, RelatieType, ValidatedViewModel } from '@/_generated/portalClient'\r\nimport { KassabonDeclaratieBlok } from './KassabonBlok'\r\n\r\nexport interface Kassabon extends ValidatedViewModel {\r\n maand: string | null\r\n jaar: number | null\r\n declaratieType: DeclaratieType\r\n begunstigdeRelatieType: RelatieType\r\n showRestantBudget: boolean\r\n totaalBedragDeclaratie: number\r\n totaalBedragWerkgeverslasten: number | null\r\n resterendBijgestortBudget: number | null\r\n totaalBedragZiektegeld: number\r\n totaalBedragAlgemeneMiddelen: number\r\n totaalBedragUitBudget: number\r\n title: string\r\n hasWerkgeverslasten: boolean\r\n kassabonBlokken: KassabonDeclaratieBlok[]\r\n resterendBudget: number\r\n ziekengeldvergoeding: number\r\n isGedeclareerdOpZiektedag: boolean\r\n delta: number | null\r\n}\r\n\r\nexport const emptyKassabon: Kassabon = {\r\n maand: null,\r\n jaar: null,\r\n declaratieType: DeclaratieType.Onbekend,\r\n begunstigdeRelatieType: RelatieType.Onbekend,\r\n showRestantBudget: false,\r\n totaalBedragDeclaratie: 0,\r\n totaalBedragWerkgeverslasten: null,\r\n resterendBijgestortBudget: 0,\r\n totaalBedragZiektegeld: 0,\r\n totaalBedragAlgemeneMiddelen: 0,\r\n totaalBedragUitBudget: 0,\r\n title: '',\r\n hasWerkgeverslasten: false,\r\n kassabonBlokken: [],\r\n isValid: true,\r\n serverErrors: null,\r\n resterendBudget: 0,\r\n ziekengeldvergoeding: 0,\r\n isGedeclareerdOpZiektedag: false,\r\n delta: null,\r\n}\r\n","import { DeclaratieStatusWeergevenType, WeergevenDeclaratieViewModel } from '@/_generated/portalClient'\r\nimport { IdealSuccess } from '../models/indienen/ideal/IdealSuccess'\r\nimport { emptyKassabon } from '../models/kassabon/Kassabon'\r\n\r\nexport function mapIdealSuccess (vm: WeergevenDeclaratieViewModel): IdealSuccess {\r\n return {\r\n declaratienummer: vm.declaratienummer,\r\n declaratieType: vm.declaratieType,\r\n declaratieStatusWeergevenType: vm.declaratieStatusWeergevenType,\r\n declaratieStatus: vm.declaratieStatus,\r\n declaratieWordtOpgeschort: vm.declaratieStatusWeergevenType === DeclaratieStatusWeergevenType.Opgeschort,\r\n heeftActieveJaarovergangWerktaak: vm.heeftActieveJaarovergangWerktaak,\r\n kassabon: emptyKassabon,\r\n contractType: vm.contractType,\r\n }\r\n}\r\n","import { ContractType, DeclaratieStatusType, DeclaratieStatusWeergevenType, DeclaratieType } from '@/_generated/portalClient'\r\nimport { emptyKassabon, Kassabon } from '@/domains/declaraties/dataAccess/models/kassabon/Kassabon'\r\n\r\nexport interface IdealSuccess {\r\n declaratienummer: number | null\r\n declaratieType: DeclaratieType;\r\n declaratieStatusWeergevenType: DeclaratieStatusWeergevenType,\r\n declaratieStatus: DeclaratieStatusType,\r\n declaratieWordtOpgeschort: boolean,\r\n heeftActieveJaarovergangWerktaak: boolean,\r\n contractType: ContractType\r\n kassabon: Kassabon,\r\n}\r\n\r\nexport const emptyIdealSuccess: IdealSuccess = {\r\n declaratienummer: null,\r\n declaratieType: DeclaratieType.Onbekend,\r\n declaratieStatusWeergevenType: DeclaratieStatusWeergevenType.Onbekend,\r\n declaratieStatus: DeclaratieStatusType.Onbekend,\r\n declaratieWordtOpgeschort: false,\r\n heeftActieveJaarovergangWerktaak: false,\r\n contractType: ContractType.Onbekend,\r\n kassabon: emptyKassabon,\r\n}\r\n","import { DateString } from 'phoenix'\r\nimport { WetType } from '@/_generated/portalClient'\r\nimport { SubKassabonBlok } from './SubKassabonBlok'\r\n\r\nexport interface KassabonDeclaratieBlok {\r\n ingangsDatum: DateString;\r\n eindDatum: DateString;\r\n budget: number;\r\n wetType: WetType;\r\n reiskosten: number | null;\r\n feestdagenUitkering: number | null;\r\n geleverdeZorg: number | null;\r\n vrijBesteedbaarBudget: number | null;\r\n bijkomendeZorgkosten: number | null;\r\n maandloon: number | null;\r\n ziektegeld: number | null;\r\n bedragAlgemeneMiddelen: number | null;\r\n totaalBedragBlok: number;\r\n eenmaligeUitkeringOverlijdenBudgethouder: number | null;\r\n totaalBijgestort: number;\r\n werkgeverslasten: number | null;\r\n werkgeverslastenZiekengeld: number | null;\r\n werkgeverslastenAlgemeneMiddelen: number | null;\r\n resterendBudget: number;\r\n factuurReiskosten: number | null;\r\n naamWettype: string | null;\r\n resterendBudgetWoonInitiatiefEnkelHuis: number | null;\r\n subDeclaratieKassabonBlok: SubKassabonBlok[] | null;\r\n woonInitiatiefEnkelHuis: number | null;\r\n}\r\n\r\nexport const emptyKassabonBlok: KassabonDeclaratieBlok = {\r\n ingangsDatum: '',\r\n eindDatum: '',\r\n budget: 0,\r\n wetType: WetType.Onbekend,\r\n reiskosten: null,\r\n feestdagenUitkering: null,\r\n geleverdeZorg: null,\r\n vrijBesteedbaarBudget: null,\r\n bijkomendeZorgkosten: null,\r\n maandloon: null,\r\n ziektegeld: null,\r\n bedragAlgemeneMiddelen: null,\r\n totaalBedragBlok: 0,\r\n eenmaligeUitkeringOverlijdenBudgethouder: null,\r\n totaalBijgestort: 0,\r\n werkgeverslasten: null,\r\n werkgeverslastenZiekengeld: null,\r\n werkgeverslastenAlgemeneMiddelen: null,\r\n resterendBudget: 0,\r\n factuurReiskosten: null,\r\n naamWettype: null,\r\n resterendBudgetWoonInitiatiefEnkelHuis: null,\r\n subDeclaratieKassabonBlok: null,\r\n woonInitiatiefEnkelHuis: null,\r\n}\r\n","import { dateString } from 'phoenix'\r\nimport {\r\n DeclaratieKassabonBlokViewModel,\r\n DeclaratieKassabonBlokLightViewModel,\r\n DeclaratieKassabonViewModel,\r\n DeclaratieKassabonLightViewModel,\r\n WetType,\r\n} from '@/_generated/portalClient'\r\nimport { Kassabon, emptyKassabon } from '../models/kassabon/Kassabon'\r\nimport { KassabonDeclaratieBlok, emptyKassabonBlok } from '../models/kassabon/KassabonBlok'\r\n\r\nexport const mapKassabon = (\r\n data: DeclaratieKassabonViewModel,\r\n title?: string | null,\r\n hasWerkgeverslasten?: boolean\r\n): Kassabon => ({\r\n maand: data.maand,\r\n jaar: data.jaar,\r\n declaratieType: data.declaratieType,\r\n showRestantBudget: data.toonRestantBudget,\r\n totaalBedragDeclaratie: data.totaalBedragDeclaratie,\r\n totaalBedragWerkgeverslasten: data.totaalBedragWerkgeverslasten,\r\n resterendBijgestortBudget: data.resterendBijgestortBudget,\r\n totaalBedragZiektegeld: data.totaalBedragZiektegeld,\r\n totaalBedragAlgemeneMiddelen: data.totaalBedragAlgemeneMiddelen,\r\n totaalBedragUitBudget: data.totaalBedragUitBudget,\r\n title: title || '',\r\n hasWerkgeverslasten: hasWerkgeverslasten || false,\r\n kassabonBlokken: data.blokken ? mapKassabonBlocks(data.blokken) : [],\r\n begunstigdeRelatieType: data.begunstigdeRelatieType,\r\n isValid: data.isValid,\r\n serverErrors: data.serverErrors || [],\r\n resterendBudget: data.resterendBudget,\r\n ziekengeldvergoeding: data.ziekengeldvergoeding,\r\n isGedeclareerdOpZiektedag: data.isGedeclareerdOpZiektedag,\r\n delta: data.delta,\r\n})\r\n\r\nexport const mapKassabonBlocks = (data: DeclaratieKassabonBlokViewModel[]): KassabonDeclaratieBlok[] =>\r\n data.map((block) => ({\r\n ingangsDatum: dateString(block.ingangsdatum, ''),\r\n eindDatum: dateString(block.einddatum, ''),\r\n budget: block.budget || 0,\r\n wetType: block.wetType || WetType.Onbekend,\r\n reiskosten: block.reiskosten,\r\n feestdagenUitkering: block.feestdagenUitkering,\r\n geleverdeZorg: block.geleverdeZorg,\r\n vrijBesteedbaarBudget: block.vrijBesteedbaarBudget,\r\n bijkomendeZorgkosten: block.bijkomendeZorgkosten,\r\n maandloon: block.maandloon,\r\n ziektegeld: block.ziektegeld,\r\n bedragAlgemeneMiddelen: block.bedragAlgemeneMiddelen,\r\n totaalBedragBlok: block.totaalBedragBlok,\r\n eenmaligeUitkeringOverlijdenBudgethouder: block.eenmaligeUitkeringOverlijdenBudgethouder,\r\n totaalBijgestort: block.totaalBijgestort,\r\n werkgeverslasten: block.werkgeverslasten,\r\n werkgeverslastenZiekengeld: block.werkgeverslastenZiekengeld,\r\n werkgeverslastenAlgemeneMiddelen: block.werkgeverslastenAlgemeneMiddelen,\r\n resterendBudget: block.resterendBudget,\r\n factuurReiskosten: block.factuurReiskosten,\r\n naamWettype: block.naamWettype,\r\n resterendBudgetWoonInitiatiefEnkelHuis: block.resterendBudgetWoonInitiatiefEnkelHuis,\r\n subDeclaratieKassabonBlok: block.subDeclaratieKassabonBlok,\r\n woonInitiatiefEnkelHuis: block.woonInitiatiefEnkelHuis,\r\n }))\r\n\r\nexport const mapKassabonLite = (data: DeclaratieKassabonLightViewModel, title?: string | null): Kassabon => ({\r\n ...emptyKassabon,\r\n maand: data.maand,\r\n jaar: data.jaar,\r\n declaratieType: data.declaratieType,\r\n totaalBedragDeclaratie: data.totaalBedragDeclaratie,\r\n totaalBedragUitBudget: data.totaalBedragUitBudget,\r\n title: title || '',\r\n kassabonBlokken: data.blokken\r\n ? mapKassabonLiteBlocks(data.blokken)\r\n : [],\r\n})\r\n\r\nexport const mapKassabonLiteBlocks = (data: DeclaratieKassabonBlokLightViewModel[]): KassabonDeclaratieBlok[] =>\r\n data.map((block) => ({\r\n ...emptyKassabonBlok,\r\n naamWettype: block.naamWettype,\r\n wetType: block.wetType || WetType.Onbekend,\r\n reiskosten: block.reiskosten,\r\n feestdagenUitkering: block.feestdagenUitkering,\r\n geleverdeZorg: block.geleverdeZorg,\r\n bijkomendeZorgkosten: block.bijkomendeZorgkosten,\r\n maandloon: block.maandloon,\r\n totaalBedragBlok: block.totaalBedragBlok,\r\n eenmaligeUitkeringOverlijdenBudgethouder: block.eenmaligeUitkeringOverlijdenBudgethouder,\r\n factuurReiskosten: block.factuurReiskosten,\r\n subDeclaratieKassabonBlok: block.subDeclaratieKassabonBlok,\r\n }))\r\n","export interface BuilderExternal {\r\n buildViewModel (): TViewEntity\r\n}\r\n\r\nexport abstract class Builder {\r\n protected entity: TEntity;\r\n\r\n constructor (partial?: Partial) {\r\n if (partial) {\r\n this.entity = { ...this.getEmpty(), ...partial }\r\n if (this.isComplexEntity) {\r\n this.entity = deepCopy(this.entity)\r\n }\r\n this.afterAssignPartial(partial)\r\n } else {\r\n this.entity = this.isComplexEntity ? deepCopy(this.getEmpty()) : { ...this.getEmpty() }\r\n }\r\n }\r\n\r\n build (): TEntity {\r\n return this.entity\r\n }\r\n\r\n protected getEmpty (): TEntity {\r\n throw new Error('getEmpty() must be implemented')\r\n }\r\n\r\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\r\n protected afterAssignPartial (_partial: Partial) { /* Empty by default */ }\r\n\r\n protected get isComplexEntity (): boolean {\r\n return false\r\n }\r\n}\r\n\r\nexport function deepCopy (o: T): T {\r\n return JSON.parse(JSON.stringify(o))\r\n}\r\n\r\nexport function buildAll (builders: Builder[]): TEntity[] {\r\n return builders.map(builder => builder.build())\r\n}\r\n\r\nexport function buildAllViewModels (builders: BuilderExternal[]): TViewEntity[] {\r\n return builders.map(builder => builder.buildViewModel())\r\n}\r\n","import {\r\n DeclaratieKassabonBlokViewModel, DeclaratieKassabonViewModel, SubDeclaratieKassabonBlokViewModel,\r\n} from '@/_generated/portalClient'\r\nimport { Kassabon } from '@/domains/declaraties/dataAccess/models/kassabon/Kassabon'\r\nimport { KassabonDeclaratieBlok } from '@/domains/declaraties/dataAccess/models/kassabon/KassabonBlok'\r\nimport { SubKassabonBlok } from '@/domains/declaraties/dataAccess/models/kassabon/SubKassabonBlok'\r\n\r\nexport function mapKassabonViewModel (model: Kassabon): DeclaratieKassabonViewModel {\r\n return {\r\n titel: 'Uw declaratie',\r\n maand: model.maand,\r\n jaar: model.jaar || new Date().getFullYear(),\r\n declaratieType: model.declaratieType,\r\n toonRestantBudget: model.showRestantBudget,\r\n totaalBedragDeclaratie: model.totaalBedragDeclaratie,\r\n totaalBedragWerkgeverslasten: model.totaalBedragWerkgeverslasten,\r\n resterendBijgestortBudget: model.resterendBijgestortBudget,\r\n totaalBedragZiektegeld: model.totaalBedragZiektegeld,\r\n totaalBedragAlgemeneMiddelen: model.totaalBedragAlgemeneMiddelen,\r\n totaalBedragUitBudget: model.totaalBedragUitBudget,\r\n blokken: model.kassabonBlokken.map(mapKassabonBlokViewModel),\r\n delta: model.delta,\r\n begunstigdeRelatieType: model.begunstigdeRelatieType,\r\n isValid: true,\r\n serverErrors: [],\r\n resterendBudget: model.resterendBudget,\r\n ziekengeldvergoeding: model.ziekengeldvergoeding,\r\n isGedeclareerdOpZiektedag: model.isGedeclareerdOpZiektedag,\r\n }\r\n}\r\n\r\nexport function mapKassabonBlokViewModel (blok: KassabonDeclaratieBlok): DeclaratieKassabonBlokViewModel {\r\n return {\r\n ingangsdatum: blok.ingangsDatum,\r\n einddatum: blok.eindDatum,\r\n naamWettype: blok.naamWettype,\r\n budget: blok.budget,\r\n wetType: blok.wetType,\r\n reiskosten: blok.reiskosten,\r\n feestdagenUitkering: blok.feestdagenUitkering,\r\n geleverdeZorg: blok.geleverdeZorg,\r\n vrijBesteedbaarBudget: blok.vrijBesteedbaarBudget,\r\n bijkomendeZorgkosten: blok.bijkomendeZorgkosten,\r\n maandloon: blok.maandloon,\r\n ziektegeld: blok.ziektegeld,\r\n bedragAlgemeneMiddelen: blok.bedragAlgemeneMiddelen,\r\n totaalBedragBlok: blok.totaalBedragBlok,\r\n eenmaligeUitkeringOverlijdenBudgethouder: blok.eenmaligeUitkeringOverlijdenBudgethouder,\r\n totaalBijgestort: blok.totaalBijgestort,\r\n werkgeverslasten: blok.werkgeverslasten,\r\n werkgeverslastenZiekengeld: blok.werkgeverslastenZiekengeld,\r\n werkgeverslastenAlgemeneMiddelen: blok.werkgeverslastenAlgemeneMiddelen,\r\n resterendBudget: blok.resterendBudget,\r\n factuurReiskosten: blok.factuurReiskosten,\r\n subDeclaratieKassabonBlok: blok.subDeclaratieKassabonBlok ? blok.subDeclaratieKassabonBlok.map((subblok: SubKassabonBlok) => mapSubKassabonBlokViewModel(subblok)) : null,\r\n resterendBudgetWoonInitiatiefEnkelHuis: null,\r\n woonInitiatiefEnkelHuis: null,\r\n }\r\n}\r\n\r\nexport function mapSubKassabonBlokViewModel (subBlok: SubKassabonBlok): SubDeclaratieKassabonBlokViewModel {\r\n return {\r\n subBedrag: subBlok.subBedrag,\r\n aantalEenheden: subBlok.aantalEenheden,\r\n tarief: subBlok.tarief,\r\n tijdseenheidType: subBlok.tijdseenheidType,\r\n werkzaamheidType: subBlok.werkzaamheidType,\r\n }\r\n}\r\n","import { TijdseenheidType, WerkzaamheidType } from '@/_generated/portalClient'\r\n\r\nexport interface SubKassabonBlok {\r\n subBedrag: number;\r\n werkzaamheidType: WerkzaamheidType;\r\n tijdseenheidType: TijdseenheidType;\r\n aantalEenheden: number | null;\r\n tarief: number;\r\n}\r\n\r\nexport const emptySubKassabonBlok: SubKassabonBlok = {\r\n subBedrag: 0,\r\n werkzaamheidType: WerkzaamheidType.Onbekend,\r\n tijdseenheidType: TijdseenheidType.Onbekend,\r\n aantalEenheden: null,\r\n tarief: 0,\r\n}\r\n","import { TijdseenheidType, WerkzaamheidType } from '@/_generated/portalClient'\r\nimport { Builder } from '@/dataAccess/mocks/builders/Builder'\r\nimport { emptySubKassabonBlok, SubKassabonBlok } from '@/domains/declaraties/dataAccess/models/kassabon/SubKassabonBlok'\r\n\r\nexport class SubKassabonBlokBuilder extends Builder {\r\n static getDefault (): SubKassabonBlok {\r\n return {\r\n ...emptySubKassabonBlok,\r\n }\r\n }\r\n\r\n static createDefault (partial?: Partial): SubKassabonBlokBuilder {\r\n return new SubKassabonBlokBuilder({\r\n ...SubKassabonBlokBuilder.getDefault(),\r\n ...partial,\r\n })\r\n }\r\n\r\n static withKassabonSubBlokZonderBudget (): SubKassabonBlokBuilder {\r\n return new SubKassabonBlokBuilder({\r\n ...emptySubKassabonBlok,\r\n }).withSubBedrag(528.0)\r\n .withWerkzaamheidType(WerkzaamheidType.WlzVerpleging)\r\n .withTijdseenheidType(TijdseenheidType.Uren)\r\n .withAantalEenheden(960.0)\r\n .withTarief(33.0)\r\n }\r\n\r\n withSubBedrag (subBedrag: number) {\r\n this.entity.subBedrag = subBedrag\r\n return this\r\n }\r\n\r\n withWerkzaamheidType (werkzaamheidType: WerkzaamheidType) {\r\n this.entity.werkzaamheidType = werkzaamheidType\r\n return this\r\n }\r\n\r\n withTijdseenheidType (tijdseenheidType: TijdseenheidType) {\r\n this.entity.tijdseenheidType = tijdseenheidType\r\n return this\r\n }\r\n\r\n withAantalEenheden (aantalEenheden: number | null) {\r\n this.entity.aantalEenheden = aantalEenheden\r\n return this\r\n }\r\n\r\n withTarief (tarief: number) {\r\n this.entity.tarief = tarief\r\n return this\r\n }\r\n\r\n getEmpty () {\r\n return emptySubKassabonBlok\r\n }\r\n}\r\n","import { DeclaratieKassabonBlokViewModel, TijdseenheidType, WerkzaamheidType, WetType } from '@/_generated/portalClient'\r\nimport { Builder, BuilderExternal } from '@/dataAccess/mocks/builders/Builder'\r\nimport { emptyKassabonBlok, KassabonDeclaratieBlok } from '@/domains/declaraties/dataAccess/models/kassabon/KassabonBlok'\r\nimport { emptySubKassabonBlok, SubKassabonBlok } from '@/domains/declaraties/dataAccess/models/kassabon/SubKassabonBlok'\r\nimport { SubKassabonBlokBuilder } from '@/domains/declaraties/mocks/builders/SubKassabonBlokBuilder'\r\nimport { mapKassabonBlokViewModel } from '@/domains/declaraties/mocks/mappers/mapKassabonViewModel'\r\n\r\nexport class KassabonBlokBuilder extends Builder implements BuilderExternal {\r\n buildViewModel (): DeclaratieKassabonBlokViewModel {\r\n return mapKassabonBlokViewModel(this.entity)\r\n }\r\n\r\n static getDefault (): KassabonDeclaratieBlok {\r\n return {\r\n ...emptyKassabonBlok,\r\n wetType: WetType.Wlz,\r\n bijkomendeZorgkosten: 500,\r\n feestdagenUitkering: 500,\r\n totaalBedragBlok: 500,\r\n resterendBudget: 1000,\r\n budget: 1500,\r\n }\r\n }\r\n\r\n static createDefault (partial?: Partial): KassabonBlokBuilder {\r\n return new KassabonBlokBuilder({\r\n ...KassabonBlokBuilder.getDefault(),\r\n ...partial,\r\n })\r\n }\r\n\r\n static withZorgdeclaratieKassabonBlok (): KassabonBlokBuilder {\r\n const subblokWlzBegeleidingGroep = new SubKassabonBlokBuilder({\r\n ...emptySubKassabonBlok,\r\n }).withSubBedrag(999.0)\r\n .withWerkzaamheidType(WerkzaamheidType.WlzBegeleidingGroep)\r\n .withTijdseenheidType(TijdseenheidType.Uren)\r\n .withAantalEenheden(60.0)\r\n .withTarief(99.0)\r\n .build()\r\n\r\n const subblokWlzVerpleging = new SubKassabonBlokBuilder({\r\n ...emptySubKassabonBlok,\r\n }).withSubBedrag(999.0)\r\n .withWerkzaamheidType(WerkzaamheidType.WlzVerpleging)\r\n .withTijdseenheidType(TijdseenheidType.Uren)\r\n .withAantalEenheden(60.0)\r\n .withTarief(99.0)\r\n .build()\r\n\r\n return new KassabonBlokBuilder({\r\n ...emptyKassabonBlok,\r\n }).withIngangsdatum('2021-01-01')\r\n .withEinddatum('2021-01-31')\r\n .withNaamWettype('Wlz')\r\n .withBudget(99999.0)\r\n .withWetType(4)\r\n .withReiskosten(99.9)\r\n .withGeleverdeZorg(999.0)\r\n .withTotaalBedragBlok(999.9)\r\n .withResterendBudget(999999)\r\n .withSubBlokken([subblokWlzBegeleidingGroep, subblokWlzVerpleging])\r\n }\r\n\r\n static withKassabonBlokZonderBudget (): KassabonBlokBuilder {\r\n const subblokWlzVerpleging = SubKassabonBlokBuilder\r\n .withKassabonSubBlokZonderBudget()\r\n .build()\r\n\r\n return new KassabonBlokBuilder({\r\n ...emptyKassabonBlok,\r\n }).withIngangsdatum('2021-01-01')\r\n .withEinddatum('2021-12-31')\r\n .withNaamWettype('Wlz')\r\n .withBudget(0)\r\n .withWetType(WetType.Wlz)\r\n .withGeleverdeZorg(528.0)\r\n .withTotaalBedragBlok(528.0)\r\n .withSubBlokken([subblokWlzVerpleging])\r\n }\r\n\r\n static withVoorlopigMaandloonKassabon (): KassabonBlokBuilder {\r\n return new KassabonBlokBuilder({\r\n ...emptyKassabonBlok,\r\n }).withIngangsdatum('001-01-01')\r\n .withEinddatum('0001-12-31')\r\n .withNaamWettype('Wlz')\r\n .withWetType(WetType.Wlz)\r\n .withReiskosten(19.93)\r\n .withMaandloon(2000.00)\r\n .withZiektegeld(529.41)\r\n .withTotaalBedragBlok(2549.34)\r\n .withResterendBudget(-2019.93)\r\n }\r\n\r\n withBijkomendeZorgkosten (bijkomendeZorgkosten: number) {\r\n this.entity.bijkomendeZorgkosten = bijkomendeZorgkosten\r\n return this\r\n }\r\n\r\n withFeestdagenUitkering (feestdagenUitkering: number) {\r\n this.entity.feestdagenUitkering = feestdagenUitkering\r\n return this\r\n }\r\n\r\n withAlgemeneMiddelen (algemeneMiddelen: number) {\r\n this.entity.bedragAlgemeneMiddelen = algemeneMiddelen\r\n return this\r\n }\r\n\r\n withSubBlokken (subBlocks: Partial[]) {\r\n const defaultSubBlok = SubKassabonBlokBuilder.createDefault().build()\r\n this.entity.subDeclaratieKassabonBlok = subBlocks.map(blok => ({\r\n ...defaultSubBlok,\r\n ...blok,\r\n }))\r\n return this\r\n }\r\n\r\n withResterendBudget (resterendBudget: number) {\r\n this.entity.resterendBudget = resterendBudget\r\n return this\r\n }\r\n\r\n withIngangsdatum (dateString: string) {\r\n this.entity.ingangsDatum = dateString\r\n return this\r\n }\r\n\r\n withEinddatum (dateString: string) {\r\n this.entity.eindDatum = dateString\r\n return this\r\n }\r\n\r\n withNaamWettype (naamWettype: string | null) {\r\n this.entity.naamWettype = naamWettype\r\n return this\r\n }\r\n\r\n withBudget (budget: number) {\r\n this.entity.budget = budget\r\n return this\r\n }\r\n\r\n withWetType (wetType: WetType) {\r\n this.entity.wetType = wetType\r\n return this\r\n }\r\n\r\n withReiskosten (reiskosten: number | null) {\r\n this.entity.reiskosten = reiskosten\r\n return this\r\n }\r\n\r\n withGeleverdeZorg (geleverdeZorg: number | null) {\r\n this.entity.geleverdeZorg = geleverdeZorg\r\n return this\r\n }\r\n\r\n withTotaalBedragBlok (totaalBedragBlok: number) {\r\n this.entity.totaalBedragBlok = totaalBedragBlok\r\n return this\r\n }\r\n\r\n withMaandloon (maandloon: number) {\r\n this.entity.maandloon = maandloon\r\n return this\r\n }\r\n\r\n withZiektegeld (ziektegeld: number) {\r\n this.entity.ziektegeld = ziektegeld\r\n return this\r\n }\r\n\r\n withVrijBesteedbaarBudget (vrijBesteedbaarBudget: number) {\r\n this.entity.vrijBesteedbaarBudget = vrijBesteedbaarBudget\r\n return this\r\n }\r\n\r\n getEmpty () {\r\n return emptyKassabonBlok\r\n }\r\n}\r\n","import { DeclaratieKassabonViewModel, DeclaratieType, RelatieType } from '@/_generated/portalClient'\r\nimport { Builder, BuilderExternal } from '@/dataAccess/mocks/builders/Builder'\r\nimport { emptyKassabon, Kassabon } from '@/domains/declaraties/dataAccess/models/kassabon/Kassabon'\r\nimport { KassabonDeclaratieBlok } from '@/domains/declaraties/dataAccess/models/kassabon/KassabonBlok'\r\nimport { mapKassabonViewModel } from '@/domains/declaraties/mocks/mappers/mapKassabonViewModel'\r\nimport { KassabonBlokBuilder } from './KassabonBlokBuilder'\r\n\r\nexport class KassabonBuilder extends Builder implements BuilderExternal {\r\n static getDefault (): Kassabon {\r\n return {\r\n ...emptyKassabon,\r\n totaalBedragDeclaratie: 1000,\r\n totaalBedragUitBudget: 1000,\r\n jaar: 1970,\r\n maand: 'januari',\r\n kassabonBlokken: [KassabonBlokBuilder.createDefault().build()],\r\n }\r\n }\r\n\r\n static createDefault (partial?: Partial): KassabonBuilder {\r\n return new KassabonBuilder({\r\n ...KassabonBuilder.getDefault(),\r\n ...partial,\r\n })\r\n }\r\n\r\n static withZorgdeclaratieKassabon (): KassabonBuilder {\r\n const blok = KassabonBlokBuilder\r\n .withZorgdeclaratieKassabonBlok()\r\n .build()\r\n\r\n return new KassabonBuilder({\r\n ...emptyKassabon,\r\n }).withYear(2021)\r\n .withMonth('Januari')\r\n .withDeclaratieType(DeclaratieType.Zorgdeclaratie)\r\n .withBegunstigdeRelatieType(RelatieType.Zorgverlener)\r\n .withShowRestantBudget(true)\r\n .withTotaalBedragDeclaratie(999.99)\r\n .withTotaalBedragZorg(999.99)\r\n .withKassabonBlocks([blok])\r\n }\r\n\r\n static withKassabonZonderBudget (): KassabonBuilder {\r\n const blok = KassabonBlokBuilder\r\n .withKassabonBlokZonderBudget()\r\n .build()\r\n\r\n return new KassabonBuilder({\r\n ...emptyKassabon,\r\n }).withYear(2021)\r\n .withMonth('Januari')\r\n .withDeclaratieType(DeclaratieType.Zorgdeclaratie)\r\n .withShowRestantBudget(true)\r\n // 8 uur x 33 . x 2 dagen = 528\r\n .withTotaalBedragDeclaratie(528.0)\r\n .withTotaalBedragZorg(528.0)\r\n .withKassabonBlocks([blok])\r\n }\r\n\r\n static legeKassabon (): KassabonBuilder {\r\n return new KassabonBuilder({\r\n ...emptyKassabon,\r\n })\r\n }\r\n\r\n static withHerberekendeMaandloonKassabon (): KassabonBuilder {\r\n return new KassabonBuilder({\r\n ...emptyKassabon,\r\n }).withYear(2022)\r\n .withMonth('Januari')\r\n .withDeclaratieType(DeclaratieType.Maandloon)\r\n }\r\n\r\n static withVoorlopigMaandloonKassabon (): KassabonBuilder {\r\n const blok = KassabonBlokBuilder\r\n .withVoorlopigMaandloonKassabon()\r\n .build()\r\n\r\n return new KassabonBuilder({\r\n ...emptyKassabon,\r\n }).withYear(2022)\r\n .withMonth('Januari')\r\n .withDeclaratieType(DeclaratieType.Maandloon)\r\n .withTotaalBedragDeclaratie(2549.34)\r\n .withTotaalBedragZiektegeld(529.41)\r\n .withTotaalBedragZorg(2019.93)\r\n .withKassabonBlocks([blok])\r\n }\r\n\r\n withMonth (month: string | null) {\r\n this.entity.maand = month\r\n return this\r\n }\r\n\r\n withYear (year: number) {\r\n this.entity.jaar = year\r\n return this\r\n }\r\n\r\n withDeclaratieType (type: DeclaratieType) {\r\n this.entity.declaratieType = type\r\n this.entity.begunstigdeRelatieType = this.getRelatieTypeForDeclaratieType(type)\r\n return this\r\n }\r\n\r\n withBegunstigdeRelatieType (type: RelatieType) {\r\n this.entity.begunstigdeRelatieType = type\r\n return this\r\n }\r\n\r\n withTotaalBedragDeclaratie (bedrag: number) {\r\n this.entity.totaalBedragDeclaratie = bedrag\r\n return this\r\n }\r\n\r\n withTotaalBedragWerkgeverslasten (bedrag: number | null) {\r\n this.entity.totaalBedragWerkgeverslasten = bedrag\r\n return this\r\n }\r\n\r\n withResterendBijgestortBudget (bedrag: number) {\r\n this.entity.resterendBijgestortBudget = bedrag\r\n return this\r\n }\r\n\r\n withTotaalBedragZiektegeld (bedrag: number) {\r\n this.entity.totaalBedragZiektegeld = bedrag\r\n return this\r\n }\r\n\r\n withTotaalBedragZorg (bedrag: number) {\r\n this.entity.totaalBedragUitBudget = bedrag\r\n return this\r\n }\r\n\r\n withTitle (titleText: string) {\r\n this.entity.title = titleText\r\n return this\r\n }\r\n\r\n withHasWerkgeverslasten (hasWerkgeverslasten: boolean) {\r\n this.entity.hasWerkgeverslasten = hasWerkgeverslasten\r\n return this\r\n }\r\n\r\n withKassabonBlocks (kassabonBlocks: Partial[]) {\r\n const defaultKassabonBlok = KassabonBlokBuilder.createDefault().build()\r\n this.entity.kassabonBlokken = kassabonBlocks.map(block => ({\r\n ...defaultKassabonBlok,\r\n ...block,\r\n }))\r\n return this\r\n }\r\n\r\n withFeestdagenUitkeringBlok (feestdagenUitkering: number) {\r\n const defaultKassabonBlok = KassabonBlokBuilder.createDefault().withFeestdagenUitkering(feestdagenUitkering).build()\r\n this.entity.kassabonBlokken\r\n ? this.entity.kassabonBlokken.push(defaultKassabonBlok)\r\n : this.entity.kassabonBlokken = [defaultKassabonBlok]\r\n return this\r\n }\r\n\r\n withBijkomendeZorgkostenKassabonBlock (bijkomendeZorgkosten: number) {\r\n const defaultKassabonBlok = KassabonBlokBuilder.createDefault().withBijkomendeZorgkosten(bijkomendeZorgkosten).build()\r\n this.entity.kassabonBlokken\r\n ? this.entity.kassabonBlokken.push(defaultKassabonBlok)\r\n : this.entity.kassabonBlokken = [defaultKassabonBlok]\r\n return this\r\n }\r\n\r\n withTotaalBedragAlgemeneMiddelen (totaalBedragAlgemeneMiddelen: number) {\r\n this.entity.totaalBedragAlgemeneMiddelen = totaalBedragAlgemeneMiddelen\r\n return this\r\n }\r\n\r\n withShowRestantBudget (showRestantBudget: boolean) {\r\n this.entity.showRestantBudget = showRestantBudget\r\n return this\r\n }\r\n\r\n withZiekengeldvergoeding (ziekengeldvergoeding: number) {\r\n this.entity.ziekengeldvergoeding = ziekengeldvergoeding\r\n return this\r\n }\r\n\r\n withResterendBudgetKassabonBlok (resterendBedrag: number) {\r\n const defaultKassabonBlok = KassabonBlokBuilder.createDefault().withResterendBudget(resterendBedrag).build()\r\n if (!this.entity.kassabonBlokken) {\r\n this.entity.kassabonBlokken = [defaultKassabonBlok]\r\n return this\r\n }\r\n\r\n if (this.entity.kassabonBlokken.length === 0) {\r\n this.entity.kassabonBlokken.push(defaultKassabonBlok)\r\n return this\r\n }\r\n this.entity.kassabonBlokken[0].resterendBudget = resterendBedrag\r\n return this\r\n }\r\n\r\n withZiektegeldKassabonBlok (ziektegeld: number) {\r\n const defaultKassabonBlok = KassabonBlokBuilder.createDefault().withZiektegeld(ziektegeld).build()\r\n if (!this.entity.kassabonBlokken) {\r\n this.entity.kassabonBlokken = [defaultKassabonBlok]\r\n return this\r\n }\r\n\r\n if (this.entity.kassabonBlokken.length === 0) {\r\n this.entity.kassabonBlokken.push(defaultKassabonBlok)\r\n return this\r\n }\r\n this.entity.kassabonBlokken[0].ziektegeld = ziektegeld\r\n return this\r\n }\r\n\r\n withIsGedeclareerdOpZiektedag (isGedeclareerdOpZiektedag: boolean) {\r\n this.entity.isGedeclareerdOpZiektedag = isGedeclareerdOpZiektedag\r\n return this\r\n }\r\n\r\n withDelta (delta: number) {\r\n this.entity.delta = delta\r\n return this\r\n }\r\n\r\n getEmpty () {\r\n return emptyKassabon\r\n }\r\n\r\n buildViewModel (): DeclaratieKassabonViewModel {\r\n return mapKassabonViewModel(this.entity)\r\n }\r\n\r\n getRelatieTypeForDeclaratieType (declaratieType: DeclaratieType): RelatieType {\r\n switch (declaratieType) {\r\n case DeclaratieType.FactuurReiskosten:\r\n return RelatieType.Budgethouder\r\n case DeclaratieType.Zorgdeclaratie:\r\n case DeclaratieType.BijkomendeZorgkosten:\r\n case DeclaratieType.Feestdagenuitkering:\r\n case DeclaratieType.WooninitiatiefEnkelHuis:\r\n return RelatieType.Zorgverlener\r\n case DeclaratieType.VrijbesteedbaarBudget:\r\n default:\r\n return RelatieType.Onbekend\r\n }\r\n }\r\n}\r\n","import { computed, ref } from '@vue/composition-api'\r\nimport { AbortablePromise } from './AbortablePromise'\r\n\r\nexport abstract class Debouncer {\r\n private readonly _updateCounter = ref(0)\r\n private readonly _updating = computed(() => !!this._updateCounter.value)\r\n private readonly _busyCounter = ref(0)\r\n private readonly _busy = computed(() => !!this._busyCounter.value)\r\n private _debouncer?: number\r\n private _debounceDelay = 500\r\n private _updatingPromise?: AbortablePromise\r\n\r\n // Returns true if the debouncer is inside the timeout and/or fetching data from the back-end. This can be used for showing the spinner.\r\n get isBusy () {\r\n return this._busy\r\n }\r\n\r\n get isUpdating () {\r\n return this._updating\r\n }\r\n\r\n get debounceDelay () {\r\n return this._debounceDelay\r\n }\r\n\r\n set debounceDelay (delay: number) {\r\n this._debounceDelay = delay\r\n }\r\n\r\n // Will trigger the call but will not wait for it in any way.\r\n // This can be usuful for updating the \"check-out cart\", in between adding products to it.When it is not required to be updated immediately.\r\n public triggerUpdate (): void {\r\n this.update(false)\r\n }\r\n\r\n /// Will trigger the call and will wait for it. Will also kill existing call if it in progres and not with the same viewModel.\r\n public forcedUpdate (): Promise {\r\n return this.update(true)\r\n }\r\n\r\n public destroy () {\r\n this.abort()\r\n }\r\n\r\n public abort () {\r\n this.killDebouncer()\r\n if (this._updatingPromise) {\r\n this._updatingPromise.abort()\r\n this._updatingPromise = undefined\r\n }\r\n }\r\n\r\n public reset () {\r\n this.abort()\r\n }\r\n\r\n private killDebouncer () {\r\n if (this._debouncer) {\r\n this._busyCounter.value--\r\n clearTimeout(this._debouncer)\r\n this._debouncer = undefined\r\n }\r\n }\r\n\r\n protected updateBegin () {\r\n // no code in base\r\n }\r\n\r\n protected mustUpdate (): boolean {\r\n return true\r\n }\r\n\r\n protected isUpdatingCurrent (): boolean {\r\n return false\r\n }\r\n\r\n protected abstract doUpdate (): AbortablePromise;\r\n\r\n protected updateDone (isAborted: boolean) {\r\n if (!isAborted) {\r\n this._updatingPromise = undefined\r\n }\r\n }\r\n\r\n private async update (forceUpdate = false): Promise {\r\n if (this._updatingPromise && !forceUpdate) {\r\n await this._updatingPromise\r\n }\r\n this.killDebouncer()\r\n this._busyCounter.value++\r\n if (forceUpdate) {\r\n return this.updateCont()\r\n }\r\n this._debouncer = window.setTimeout(() => {\r\n this._debouncer = undefined\r\n this.updateCont()\r\n }, this._debounceDelay)\r\n return Promise.resolve()\r\n }\r\n\r\n private async updateCont (): Promise {\r\n this.updateBegin()\r\n if (!this.mustUpdate()) {\r\n this._busyCounter.value--\r\n return Promise.resolve() // ready\r\n }\r\n // if the current data is already being retreived then don't do it again, but return that promise\r\n if (this.isUpdatingCurrent()) {\r\n this._busyCounter.value--\r\n return this._updatingPromise\r\n }\r\n // any in progress has to be aborted\r\n if (this._updatingPromise) {\r\n this._updatingPromise.abort()\r\n this._updatingPromise = undefined\r\n }\r\n // let's call the api\r\n let promise: AbortablePromise | null = null\r\n this._updateCounter.value++\r\n try {\r\n // start the update\r\n promise = this.doUpdate()\r\n // remember the promise, so it can be aborted if needed\r\n this._updatingPromise = promise\r\n // run the promise\r\n await promise\r\n } finally {\r\n this._updateCounter.value--\r\n this._busyCounter.value--\r\n // we are ready, if _updatingPromise is not our promise than this update has been aborted, so do not use the result\r\n this.updateDone(this._updatingPromise !== promise)\r\n }\r\n return Promise.resolve()\r\n }\r\n}\r\n\r\nexport class CustomDebouncer extends Debouncer {\r\n private readonly _update: () => AbortablePromise;\r\n public onUpdateBegin?: () => void;\r\n public onMustUpdate?: () => boolean;\r\n public onIsUpdatingCurrent?: () => boolean;\r\n public onUpdateDone?: (isAborted: boolean) => void\r\n\r\n constructor (update: () => AbortablePromise) {\r\n super()\r\n this._update = update\r\n }\r\n\r\n protected updateBegin () {\r\n if (this.onUpdateBegin) {\r\n this.onUpdateBegin()\r\n }\r\n }\r\n\r\n protected mustUpdate (): boolean {\r\n return !this.onMustUpdate || this.onMustUpdate()\r\n }\r\n\r\n protected isUpdatingCurrent (): boolean {\r\n return !!this.onIsUpdatingCurrent && this.onIsUpdatingCurrent()\r\n }\r\n\r\n protected doUpdate () {\r\n return this._update()\r\n }\r\n\r\n protected updateDone (isAborted: boolean) {\r\n super.updateDone(isAborted)\r\n if (this.onUpdateDone) {\r\n this.onUpdateDone(isAborted)\r\n }\r\n }\r\n}\r\n\r\nexport function GetDebouncer (options: {\r\n onUpdate: () => AbortablePromise,\r\n onUpdateBegin?: () => void;\r\n onMustUpdate?: () => boolean;\r\n onIsUpdatingCurrent?: () => boolean;\r\n onUpdateDone?: (isAborted: boolean) => void\r\n}) {\r\n const debouncer = new CustomDebouncer(options.onUpdate)\r\n debouncer.onUpdateBegin = options.onUpdateBegin\r\n debouncer.onMustUpdate = options.onMustUpdate\r\n debouncer.onUpdateDone = options.onUpdateDone\r\n debouncer.onIsUpdatingCurrent = options.onIsUpdatingCurrent\r\n return {\r\n triggerUpdate: () => debouncer.triggerUpdate(),\r\n forceUpdate: () => debouncer.forcedUpdate(),\r\n debouncer,\r\n }\r\n}\r\n","import { AbortablePromise, makeAbortablePromise } from './AbortablePromise'\r\nimport { Debouncer } from './Debouncer'\r\n\r\n// The ApiCallDebouncer has the following functionality:\r\n// - requests sent inside a(trailing) timeout will not be send to the back - end.Only the last request will be actually sent.\r\n// - a request that has the same viewModel as the previous call will not be sent to the back-end.\r\n// - forcing an update by killing the timer and executing the currently running request immidiatly triggering a new one.\r\n// - new request fired during a forced-updated, will abort the previous call and fire the new one to the back-end.\r\nexport class ApiCallDebouncer extends Debouncer {\r\n private _updateViewModel!: TViewModel;\r\n private _updateViewModelAsJson!: string;\r\n private _currentViewModelJson?: string;\r\n private _callingViewModelJson?: string;\r\n\r\n // getViewModel: Should return the viewModel that is required by the call towards the back-end.\r\n // apiCall: is the actuall call that will use the viewModel to call the bacl-end. The call should be a Abortable Promise, so it can be canceld, when no longer needed.\r\n // updated: Is the handeling of the result from the Api call. This includes mapping the result to the repository model etc,\r\n constructor (\r\n protected getViewModel: () => TViewModel,\r\n protected apiCall: (viewModel: TViewModel) => AbortablePromise,\r\n protected updated: (result: TApiResult) => Promise) {\r\n super()\r\n }\r\n\r\n public reset () {\r\n this._currentViewModelJson = undefined\r\n super.reset()\r\n }\r\n\r\n public abort () {\r\n this._currentViewModelJson = undefined\r\n super.abort()\r\n }\r\n\r\n protected updateBegin () {\r\n this._updateViewModel = this.getViewModel()\r\n this._updateViewModelAsJson = JSON.stringify(this._updateViewModel)\r\n }\r\n\r\n protected mustUpdate (): boolean {\r\n if (this._currentViewModelJson === undefined && this._updateViewModelAsJson === undefined) {\r\n return false\r\n }\r\n return this._currentViewModelJson !== this._updateViewModelAsJson\r\n }\r\n\r\n protected isUpdatingCurrent (): boolean {\r\n if (this._callingViewModelJson === undefined && this._updateViewModelAsJson === undefined) {\r\n return false\r\n }\r\n return this._callingViewModelJson === this._updateViewModelAsJson\r\n }\r\n\r\n protected doUpdate () {\r\n const json = this._updateViewModelAsJson\r\n this._callingViewModelJson = json\r\n const promise = this.apiCall(this._updateViewModel)\r\n const result = promise\r\n .then(async apiResult => {\r\n // an aborted api-call return null, so\r\n // result is valid if not null and calling json still is the json of this call\r\n if ((apiResult != null) && (this._callingViewModelJson === json)) {\r\n this._currentViewModelJson = json\r\n await this.updated(apiResult)\r\n }\r\n })\r\n return makeAbortablePromise(result, promise.abort)\r\n }\r\n\r\n protected updateDone (isAborted: boolean) {\r\n super.updateDone(isAborted)\r\n if (!isAborted) {\r\n this._callingViewModelJson = undefined\r\n }\r\n }\r\n}\r\n\r\nexport function GetApiCallDebouncer (options: {\r\n getViewModel: () => TViewModel,\r\n apiCall: (viewModel: TViewModel) => AbortablePromise,\r\n updated: (result: TApiResult) => Promise,\r\n}) {\r\n const debouncer = new ApiCallDebouncer(options.getViewModel, options.apiCall, options.updated)\r\n return {\r\n triggerUpdate: () => debouncer.triggerUpdate(),\r\n forceUpdate: () => debouncer.forcedUpdate(),\r\n debouncer,\r\n }\r\n}\r\n","import { DeclaratieConceptViewModel, RolType } from '@/_generated/portalClient'\r\nimport { RepositoryBase } from '@/dataAccess/RepositoryBase'\r\nimport { currentUserRepository } from '@/domains/account/dataAccess/CurrentUserRepository'\r\nimport { emptyKassabon, Kassabon } from '@/domains/declaraties/dataAccess/models/kassabon/Kassabon'\r\nimport { KassabonExtended } from '@/domains/declaraties/dataAccess/models/kassabon/KassabonExtended'\r\nimport { KassabonBuilder } from '@/domains/declaraties/mocks/builders/KassabonBuilder'\r\nimport { AbortablePromise, makeDummyAbortablePromise } from '@/utils/AbortablePromise'\r\nimport { ApiCallDebouncer } from '@/utils/ApiCallDebouncer'\r\nimport { computed, Ref } from '@vue/composition-api'\r\n\r\nexport class KassabonRepository extends RepositoryBase {\r\n private _debouncer: ApiCallDebouncer\r\n private _getViewModel?: () => TViewModel\r\n private _apiCall?: (viewModel: TViewModel) => AbortablePromise\r\n\r\n constructor () {\r\n super('KassabonService', new KassabonBuilder().getEmpty())\r\n this.dependsOn(currentUserRepository())\r\n this._debouncer = new ApiCallDebouncer(\r\n () => this.getViewModel(),\r\n (vm) => this.apiCall(vm),\r\n async (kassabon) => this.setDataModel(kassabon))\r\n this.debounceDelay = 200\r\n }\r\n\r\n get hasValidModel (): boolean {\r\n return this.model.maand !== null && this.model.jaar !== null\r\n }\r\n\r\n get isUpdating (): Readonly> {\r\n return this._debouncer.isUpdating\r\n }\r\n\r\n get isBusy (): Readonly> {\r\n return this._debouncer.isBusy\r\n }\r\n\r\n get debounceDelay (): number {\r\n return this._debouncer.debounceDelay\r\n }\r\n\r\n set debounceDelay (delay: number) {\r\n this._debouncer.debounceDelay = delay\r\n }\r\n\r\n public reset () {\r\n this._debouncer.abort()\r\n return this.setDataModel(emptyKassabon)\r\n }\r\n\r\n protected doDestroy (): void {\r\n super.doDestroy()\r\n this._debouncer.destroy()\r\n }\r\n\r\n protected doExtendModel (model: KassabonExtended) {\r\n const userData = currentUserRepository().model\r\n const kassabonBlockData = computed(() => model.kassabonBlokken[0])\r\n\r\n model.bijBetalenMetIdealIsMogelijk = computed(() => userData.settings.bijstortenMetIdealIsMogelijk) as any\r\n model.showBijstorten = computed(() => {\r\n if (kassabonBlockData.value) {\r\n return !kassabonBlockData.value.vrijBesteedbaarBudget &&\r\n (kassabonBlockData.value.resterendBudget + kassabonBlockData.value.totaalBijgestort) < 0 &&\r\n userData.rol !== RolType.PortaalMedewerker\r\n }\r\n return false\r\n }) as any\r\n model.teBetalenBedrag = computed(() => kassabonBlockData.value && kassabonBlockData.value.resterendBudget < 0\r\n ? Math.abs(kassabonBlockData.value.resterendBudget)\r\n : 0) as any\r\n model.hasBijbetaald = computed(() => kassabonBlockData.value ? kassabonBlockData.value.totaalBijgestort > 0 : null) as any\r\n model.hasWerkgeverslastenWithoutAmount = computed(() => model.hasWerkgeverslasten && !model.totaalBedragWerkgeverslasten) as any\r\n model.hasWerkgeverslastenWithAmount = computed(() => model.hasWerkgeverslasten && !!model.totaalBedragWerkgeverslasten) as any\r\n model.totalAmount = computed(() => model.totaalBedragDeclaratie + (model.totaalBedragWerkgeverslasten || 0)) as any\r\n model.resterendTotaalBudget = computed(() => kassabonBlockData.value && Math.max(0, kassabonBlockData.value.resterendBudget)) as any\r\n model.totaalBijgestort = computed(() => kassabonBlockData.value && Math.abs(kassabonBlockData.value.totaalBijgestort)) as any\r\n }\r\n\r\n forcedUpdate (getViewModel: () => TViewModel, apiCall: (viewModel: TViewModel) => AbortablePromise): Promise {\r\n this._getViewModel = getViewModel\r\n this._apiCall = apiCall\r\n return this._debouncer.forcedUpdate()\r\n }\r\n\r\n triggerUpdate (getViewModel: () => TViewModel, apiCall: (viewModel: TViewModel) => AbortablePromise) {\r\n this._getViewModel = getViewModel\r\n this._apiCall = apiCall\r\n this._debouncer.triggerUpdate()\r\n }\r\n\r\n private getViewModel () {\r\n if (!this._getViewModel) {\r\n throw new Error('getViewModel not set')\r\n }\r\n return this._getViewModel()\r\n }\r\n\r\n private apiCall (viewModel: TViewModel): AbortablePromise {\r\n return this._apiCall ? this._apiCall(viewModel) : makeDummyAbortablePromise(Promise.reject(Error('doApiCall not set')))\r\n }\r\n}\r\n","import { AdresViewModel } from '@/_generated/portalClient'\r\nimport { Address } from '@/domains/account/dataAccess/models/Address'\r\n\r\nexport function mapAdresViewModel (address: Address): AdresViewModel {\r\n return {\r\n huisletter: address.huisletter,\r\n huisnummer: address.huisnummer ? address.huisnummer.toString() : null,\r\n huisnummerAanduiding: address.huisnummerAanduiding,\r\n huisnummerToevoeging: address.huisnummerToevoeging,\r\n locatiebeschrijving: address.locatiebeschrijving,\r\n plaatsnaam: address.plaatsnaam,\r\n postcode: address.postcode ? address.postcode : null,\r\n straatnaam: address.straatnaam,\r\n land: address.land,\r\n isValid: true,\r\n serverErrors: null,\r\n }\r\n}\r\n\r\nexport function mapAdresViewModelInvalid (address: Address): AdresViewModel {\r\n return {\r\n huisletter: null,\r\n huisnummer: address.huisnummer ? address.huisnummer.toString() : null,\r\n huisnummerAanduiding: null,\r\n huisnummerToevoeging: null,\r\n locatiebeschrijving: null,\r\n plaatsnaam: null,\r\n postcode: address.postcode,\r\n straatnaam: null,\r\n land: address.land,\r\n isValid: false,\r\n serverErrors: [\r\n {\r\n memberName: 'Huisnummer',\r\n errorMessage: 'Ongeldige combinatie postcode en huisnummer',\r\n code: null,\r\n },\r\n ],\r\n }\r\n}\r\n\r\nexport function mapAdresViewModelNull (): AdresViewModel {\r\n return {\r\n huisletter: null,\r\n huisnummer: null,\r\n huisnummerAanduiding: null,\r\n huisnummerToevoeging: null,\r\n locatiebeschrijving: null,\r\n plaatsnaam: null,\r\n postcode: null,\r\n straatnaam: null,\r\n land: null,\r\n isValid: false,\r\n serverErrors: null,\r\n }\r\n}\r\n","import { BankrekeningViewModel } from '@/_generated/portalClient'\r\nimport { Bankrekening } from '../models/Bankrekening'\r\nimport { mapAdresViewModel, mapAdresViewModelNull } from '@/domains/account/mocks/mappers/mapAdresViewModel'\r\n\r\nexport function mapBankrekeningViewModel (bankrekening: Bankrekening): BankrekeningViewModel {\r\n return {\r\n bic: bankrekening.bic,\r\n tenaamstelling: bankrekening.tenaamstelling,\r\n rekeningnummer: bankrekening.rekeningnummer,\r\n iban: bankrekening.iban ? bankrekening.iban.replace(/\\s+/g, '').toUpperCase() : bankrekening.iban,\r\n banknaam: bankrekening.banknaam,\r\n bankkantoor: bankrekening.bankkantoor,\r\n adres: bankrekening.address ? mapAdresViewModel(bankrekening.address) : mapAdresViewModelNull(),\r\n hasOnlyRekeningnummer: bankrekening.hasOnlyRekeningnummer,\r\n }\r\n}\r\n","import { RelatieReadOnlyViewModel } from '@/_generated/portalClient'\r\nimport { RelatieBase } from '@/domains/account/dataAccess/models/relaties/RelatieBase'\r\n\r\nexport function mapRelatieReadOnlyViewModel (relatie: RelatieBase): RelatieReadOnlyViewModel {\r\n return {\r\n id: relatie.id || 0,\r\n uid: relatie.uid,\r\n burgerservicenummer: relatie.burgerServiceNummer,\r\n volledigeNaam: relatie.volledigeNaam,\r\n geboortedatum: relatie.geboorteDatum,\r\n geslacht: relatie.geslacht,\r\n telefoonnummer1: relatie.telefoonnummer1,\r\n telefoonnummer2: relatie.telefoonnummer2,\r\n emailadres: relatie.emailAddress,\r\n }\r\n}\r\n","import { BudgethouderReadOnlyViewModel } from '@/_generated/portalClient'\r\nimport { Budgethouder } from '@/domains/account/dataAccess/models/relaties/Budgethouder'\r\nimport { mapBankrekeningViewModel } from '@/domains/account/dataAccess/mappers/mapBankrekeningViewModel'\r\nimport { mapRelatieReadOnlyViewModel } from './mapRelatieReadOnlyViewModel'\r\nimport { mapAdresViewModel } from './mapAdresViewModel'\r\n\r\nexport function mapBudgethouderReadOnlyViewModel (model: Budgethouder): BudgethouderReadOnlyViewModel {\r\n return {\r\n ...mapRelatieReadOnlyViewModel(model),\r\n voorletters: model.voorletters,\r\n voorvoegselGeslachtnaam: model.voorvoegselGeslachtnaam,\r\n geslachtsnaam: model.geslachtsnaam,\r\n bankrekening: model.bankrekening ? mapBankrekeningViewModel(model.bankrekening) : null,\r\n relatienummer: model.relatienummer,\r\n overlijdensdatum: model.overlijdensdatum,\r\n adres: (model.addresses && model.addresses.length > 0) ? mapAdresViewModel(model.addresses[0]) : null,\r\n correspondentieAdres: model.correspondentieAdres ? mapAdresViewModel(model.correspondentieAdres) : null,\r\n }\r\n}\r\n","import { OverzichtDocumentViewModel } from '@/_generated/portalClient'\r\nimport { Document } from '@/domains/remoteFile/dataAccess/models/Document'\r\n\r\nexport function mapOverzichtDocumentViewModel (document: Document): OverzichtDocumentViewModel {\r\n return {\r\n aanmaakDatum: document.aanmaakDatum,\r\n afzender: document.afzender,\r\n categorie: document.categorie,\r\n filename: document.filename,\r\n imprintnummer: document.imprintnummer,\r\n mime: document.mime,\r\n omschrijving: document.omschrijving,\r\n richting: document.richting,\r\n state: document.state,\r\n ontvanger: document.ontvanger,\r\n indiener: document.indiener,\r\n indienerRol: document.indienerRol,\r\n oorsprongType: document.oorsprongType,\r\n }\r\n}\r\n","import { BijkomendezorgkostenType, BijkomendezorgkostenViewModel } from '@/_generated/portalClient'\r\nimport { BijkomendeZorgkosten } from '@/domains/declaraties/dataAccess/models/indienen/BijkomendeZorgkosten'\r\nimport { mapVueUploadItemToFileUploadViewModel } from '@/domains/remoteFile/dataAccess/mappers/remoteFileMappers'\r\nimport { mapOverzichtDocumentViewModel } from '@/domains/remoteFile/mocks/mappers/mapDocumentViewModel'\r\n\r\nexport function mapBijkomendeZorgkostenForDeclaratieConceptViewModel (model: BijkomendeZorgkosten): BijkomendezorgkostenViewModel {\r\n return {\r\n bijkomendezorgkostenChoices: model.bijkomendezorgkostenChoices,\r\n bijkomendezorgkostenTypeSelected: model.bijkomendeZorgkostenType ? model.bijkomendeZorgkostenType : BijkomendezorgkostenType.Onbekend,\r\n bedrag: model.bedrag || 0,\r\n wooninitiatiefzorgMax: model.wooninitiatiefZorg.max || 0,\r\n wooninitiatiefzorgAlVerbruikt: model.wooninitiatiefZorg.alVerbruikt || 0,\r\n consumptiePeriodeMax: model.consumptiesBijOverwerk.max || 0,\r\n consumptieDagMax: model.consumptiesBijOverwerk.dagMax || 0,\r\n bestanden: mapVueUploadItemToFileUploadViewModel(model.upload.bestanden),\r\n heeftOvergeblevenBudget: true,\r\n consumptiesBijOverwerkAlVerbruikt: model.consumptiesBijOverwerk.alVerbruikt || 0,\r\n cursusZorgverlenerAlVerbruikt: model.cursusZorgverlener.alVerbruikt || 0,\r\n cursusZorgverlenerMax: model.cursusZorgverlener.max || 0,\r\n entreegeldZorgverlenerMax: model.entreegeldZorgverlener.max || 0,\r\n entreegeldZorgverlenerAlVerbruikt: model.entreegeldZorgverlener.alVerbruikt || 0,\r\n gearchiveerdeBestanden: model.upload.gearchiveerdeBestanden\r\n ? model.upload.gearchiveerdeBestanden.map(mapOverzichtDocumentViewModel)\r\n : [],\r\n }\r\n}\r\n","import { FeestdagenuitkeringViewModel } from '@/_generated/portalClient'\r\nimport { FeestdagenUitkering } from '@/domains/declaraties/dataAccess/models/indienen/FeestdagenUitkering'\r\n\r\nexport function mapFeestdagenUitkeringForDeclaratieConceptViewModel (model: FeestdagenUitkering): FeestdagenuitkeringViewModel {\r\n return {\r\n reedsUitbetaaldeFeestdagenuitkering: model.reedsUitbetaaldeFeestdagenUitkering,\r\n maximaleFeestdagenuitkering: model.maximaleFeestdagenUitkering,\r\n wetFeestdagenuitkeringen: [\r\n {\r\n wettype: model.feestdagenUitkeringWet,\r\n budget: model.totaleBudget,\r\n bedrag: model.bedrag || 0,\r\n },\r\n ],\r\n }\r\n}\r\n","import { Address } from './Address'\r\nimport { BankrekeningForm } from './BankrekeningForm'\r\n\r\nexport interface Bankrekening {\r\n bic: string | null;\r\n tenaamstelling: string | null;\r\n rekeningnummer: string | null;\r\n iban: string | null;\r\n banknaam: string | null;\r\n bankkantoor: string | null;\r\n address: Address | null;\r\n hasOnlyRekeningnummer: boolean;\r\n selectedForm: BankrekeningForm;\r\n}\r\n\r\nexport const emptyBankrekening: Bankrekening = {\r\n bic: null,\r\n tenaamstelling: null,\r\n rekeningnummer: null,\r\n iban: null,\r\n banknaam: null,\r\n bankkantoor: null,\r\n address: null,\r\n hasOnlyRekeningnummer: false,\r\n selectedForm: BankrekeningForm.EuIban,\r\n}\r\n","import { RelatieType, WettelijkeVertegenwoordigerRolType } from '@/_generated/portalClient'\r\nimport { emptyRelatieBase, RelatieBase } from './RelatieBase'\r\nimport { Address } from '../Address'\r\nimport { Bankrekening } from '../Bankrekening'\r\n\r\nexport interface Vertegenwoordiger extends RelatieBase {\r\n type: RelatieType.Vertegenwoordiger\r\n voorletters: string | null\r\n kvkNummer: string | null\r\n voorvoegselGeslachtnaam: string | null\r\n isAanwezig: boolean | null\r\n isOrganisatie: boolean | null\r\n naamOrganisatie: string | null\r\n geslachtsnaam: string | null;\r\n rolType: WettelijkeVertegenwoordigerRolType | null;\r\n correspondentieAdres: Address | null;\r\n isActive: boolean | null;\r\n bankrekening: Bankrekening | null\r\n}\r\n\r\nexport const emptyVertegenwoordiger: Vertegenwoordiger = {\r\n ...emptyRelatieBase,\r\n voorletters: null,\r\n voorvoegselGeslachtnaam: null,\r\n geslachtsnaam: null,\r\n isAanwezig: null,\r\n isOrganisatie: null,\r\n naamOrganisatie: null,\r\n kvkNummer: null,\r\n type: RelatieType.Vertegenwoordiger,\r\n rolType: null,\r\n correspondentieAdres: null,\r\n isActive: null,\r\n bankrekening: null,\r\n}\r\n","import { DeclaratieType } from '@/_generated/portalClient'\r\n\r\nexport interface DeclaratieBase {\r\n declaratieType: DeclaratieType;\r\n}\r\nexport const emptyDeclaratieBase: DeclaratieBase = {\r\n declaratieType: DeclaratieType.Onbekend,\r\n}\r\n","export interface Ideal {\r\n budgethouderUid: string | null\r\n tenaamstelling: string | null\r\n bedrag: number | null\r\n bankNaam: string | null\r\n isTransactionOpenForBudgethouder: boolean;\r\n}\r\n\r\nexport const emptyIdeal: Ideal = {\r\n budgethouderUid: null,\r\n tenaamstelling: null,\r\n bedrag: null,\r\n bankNaam: null,\r\n isTransactionOpenForBudgethouder: false,\r\n}\r\n","import { DeclaratieBase, emptyDeclaratieBase } from '../DeclaratieBase'\r\nimport { emptyKassabon, Kassabon } from '../kassabon/Kassabon'\r\nimport { emptyIdeal, Ideal } from './ideal/Ideal'\r\n\r\nexport interface IndienenConceptDeclaratieBase extends DeclaratieBase {\r\n ideal: Ideal\r\n kassabon: Kassabon\r\n conceptUid: string | null\r\n declaratienummer: number | null\r\n declaratieWordtOpgeschort: boolean\r\n indienenNotAllowedAlert: {\r\n translationKey: string | null\r\n serverMessage: string | null\r\n }\r\n declaratieOndertekend: boolean\r\n}\r\n\r\nexport const emptyIndienenConceptDeclaratieBase: IndienenConceptDeclaratieBase = {\r\n ...emptyDeclaratieBase,\r\n ideal: emptyIdeal,\r\n kassabon: emptyKassabon,\r\n conceptUid: null,\r\n declaratienummer: null,\r\n declaratieWordtOpgeschort: false,\r\n indienenNotAllowedAlert: {\r\n translationKey: null,\r\n serverMessage: null,\r\n },\r\n declaratieOndertekend: false,\r\n}\r\n","import { dateString } from 'phoenix'\r\nimport { DeclaratieConceptViewModel, DeclaratieToekenningsbeschikkingViewModel, WetType } from '@/_generated/portalClient'\r\nimport { mapBankrekening } from '@/domains/account/dataAccess/mappers/mapBankrekening'\r\nimport { mapBudgethouderReadonly } from '@/domains/account/dataAccess/mappers/mapBudgethouder'\r\nimport { mapVertegenwoordigerReadonly } from '@/domains/account/dataAccess/mappers/mapVertegenwoordiger'\r\nimport { emptyBankrekening } from '@/domains/account/dataAccess/models/Bankrekening'\r\nimport { emptyBudgethouder } from '@/domains/account/dataAccess/models/relaties/Budgethouder'\r\nimport { emptyVertegenwoordiger } from '@/domains/account/dataAccess/models/relaties/Vertegenwoordiger'\r\nimport { DeclaratieToekenningsbeschikking } from '../models/DeclaratieToekenningsbeschikking'\r\nimport { emptyIndienenConceptDeclaratieBase } from '../models/indienen/IndienenConceptDeclaratieBase'\r\nimport { VerantwoordingsvrijBedrag } from '../models/indienen/VerantwoordingsvrijBedrag'\r\n\r\nexport function mapVerantwoordingsvrijBedrag (data: DeclaratieConceptViewModel): VerantwoordingsvrijBedrag {\r\n const budget = data.vrijbesteedbaarBudget\r\n const beschikbareTkbs = budget && budget.toekenningsbeschikkingen\r\n ? mapToekenningsbeschikkingen(budget.toekenningsbeschikkingen)\r\n : []\r\n return {\r\n ...emptyIndienenConceptDeclaratieBase,\r\n conceptUid: data.conceptId,\r\n beschikbareTkbs,\r\n selectedTkbId: null,\r\n bankrekening: emptyBankrekening,\r\n budgethouder: emptyBudgethouder,\r\n vertegenwoordiger: emptyVertegenwoordiger,\r\n isGeselecteerd: false,\r\n ontvanger: null,\r\n openstaandTotaalBudget: null,\r\n openstaandVerantwoordingsvrijBedrag: null,\r\n opgenomenBedrag: null,\r\n ingangsDatum: null,\r\n eindDatum: null,\r\n verantwoordingsvrijBedrag: null,\r\n wet: WetType.Onbekend,\r\n declaratieOndertekend: false,\r\n begunstigdeRelatieId: null,\r\n begunstigdeVertegenwoordigers: null,\r\n }\r\n}\r\n\r\nexport function mapToekenningsbeschikkingen (data: DeclaratieToekenningsbeschikkingViewModel[]): DeclaratieToekenningsbeschikking[] {\r\n return data.map((tkb) => ({\r\n id: tkb.toekenningsbeschikkingId,\r\n uid: tkb.toekenningsbeschikkingUid,\r\n isGeselecteerd: tkb.isGeselecteerd,\r\n isOngeldig: tkb.isOngeldig,\r\n bankrekening: tkb.bankrekening ? mapBankrekening(tkb.bankrekening) : null,\r\n budgethouder: tkb.budgethouder ? mapBudgethouderReadonly(tkb.budgethouder) : null,\r\n vertegenwoordiger: null,\r\n budgetIdentificatie: tkb.budgetIdentificatie,\r\n openstaandTotaalBudget: tkb.openstaandTotaalBudget,\r\n openstaandVerantwoordingsvrijBedrag: (tkb.openstaandVrijbesteedbaarBudget || 0) >= (tkb.openstaandTotaalBudget || 0)\r\n ? tkb.openstaandTotaalBudget\r\n : tkb.openstaandVrijbesteedbaarBudget,\r\n opgenomenBedrag: tkb.opgenomenBedrag,\r\n totaalBudget: tkb.totaalBudget,\r\n verantwoordingsvrijBedrag: tkb.vrijbesteedbaarBudget,\r\n isWooninitiatiefEnkelHuis: tkb.isWooninitiatiefEnkelHuis,\r\n openstaandWooninitiatiefEnkelHuis: tkb.openstaandWooninitiatiefEnkelHuis,\r\n uitbetaaldWooninitiatiefEnkelHuis: tkb.uitbetaaldWooninitiatiefEnkelHuis,\r\n ingangsDatum: dateString(tkb.ingangsdatum, ''),\r\n eindDatum: dateString(tkb.einddatum, ''),\r\n toekenningsbeschikkingId: tkb.toekenningsbeschikkingId,\r\n toekenningsbeschikkingUid: tkb.toekenningsbeschikkingUid,\r\n status: tkb.status,\r\n wet: tkb.wet,\r\n verstrekkerId: tkb.verstrekkerId,\r\n verstrekkerNaam: tkb.verstrekkerNaam,\r\n ziektegeld: tkb.ziektegeld,\r\n beschikbareMaanden: tkb.beschikbareMaanden,\r\n begunstigdeVertegenwoordigers: tkb.begunstigdeVertegenwoordigers ? tkb.begunstigdeVertegenwoordigers.map(vt => mapVertegenwoordigerReadonly(vt)) : null,\r\n begunstigdeRelatieId: tkb.begunstigdeRelatieId,\r\n }))\r\n}\r\n\r\nexport function mapSelectedTkbToVerantwoordingsvrijBedrag (\r\n model: VerantwoordingsvrijBedrag,\r\n tkb: DeclaratieToekenningsbeschikking\r\n): VerantwoordingsvrijBedrag {\r\n model.isGeselecteerd = true\r\n model.selectedTkbId = tkb.uid\r\n model.ontvanger = (tkb.budgethouder && tkb.budgethouder.volledigeNaam) || null\r\n model.bankrekening = tkb.bankrekening\r\n model.budgethouder = tkb.budgethouder\r\n model.vertegenwoordiger = tkb.vertegenwoordiger\r\n model.openstaandTotaalBudget = tkb.openstaandTotaalBudget\r\n model.openstaandVerantwoordingsvrijBedrag = tkb.openstaandVerantwoordingsvrijBedrag\r\n model.verantwoordingsvrijBedrag = tkb.verantwoordingsvrijBedrag\r\n model.opgenomenBedrag = tkb.opgenomenBedrag\r\n model.wet = tkb.wet\r\n model.ingangsDatum = tkb.ingangsDatum\r\n model.eindDatum = tkb.eindDatum\r\n model.begunstigdeRelatieId = tkb.begunstigdeRelatieId\r\n model.begunstigdeVertegenwoordigers = tkb.begunstigdeVertegenwoordigers\r\n return model\r\n}\r\n\r\nexport function mapVerantwoordingsvrijBedragToSelectedTkb (\r\n model: VerantwoordingsvrijBedrag\r\n): VerantwoordingsvrijBedrag {\r\n if (model.selectedTkbId && model.beschikbareTkbs.length) {\r\n model.beschikbareTkbs = model.beschikbareTkbs.map(tkb => {\r\n if (tkb.uid === model.selectedTkbId) {\r\n tkb.isGeselecteerd = true\r\n tkb.opgenomenBedrag = model.opgenomenBedrag\r\n tkb.bankrekening = model.bankrekening\r\n tkb.begunstigdeRelatieId = model.begunstigdeRelatieId\r\n tkb.begunstigdeVertegenwoordigers = model.begunstigdeVertegenwoordigers\r\n }\r\n return tkb\r\n })\r\n }\r\n return model\r\n}\r\n","import { VertegenwoordigerReadOnlyViewModel, VertegenwoordigerSubtypeCurator, VertegenwoordigerSubtypeOuder } from '@/_generated/portalClient'\r\nimport { Vertegenwoordiger } from '@/domains/account/dataAccess/models/relaties/Vertegenwoordiger'\r\nimport { mapAdresViewModel } from './mapAdresViewModel'\r\nimport { mapRelatieReadOnlyViewModel } from './mapRelatieReadOnlyViewModel'\r\nimport { mapBankrekeningViewModel } from '@/domains/account/dataAccess/mappers/mapBankrekeningViewModel'\r\n\r\n// de waardes die null of onbekend zijn waren niet nodig voor het inzien zok\r\nexport function mapVertegenwoordigerReadOnlyViewModel (vertegenwoordiger: Vertegenwoordiger): VertegenwoordigerReadOnlyViewModel {\r\n return {\r\n ...mapRelatieReadOnlyViewModel(vertegenwoordiger),\r\n relatienummer: vertegenwoordiger.relatienummer,\r\n bewindvoerderCuratorMentor: VertegenwoordigerSubtypeCurator.Onbekend,\r\n voorletters: vertegenwoordiger.voorletters,\r\n voorvoegselGeslachtnaam: null,\r\n geslachtsnaam: vertegenwoordiger.geslachtsnaam,\r\n isGemachtigd: null,\r\n ouderVoogd: VertegenwoordigerSubtypeOuder.Onbekend,\r\n isOrganisatie: false,\r\n naamOrganisatie: null,\r\n kvkNummer: null,\r\n adressen: vertegenwoordiger.addresses.map(mapAdresViewModel),\r\n correspondentieAdres: vertegenwoordiger.correspondentieAdres ? mapAdresViewModel(vertegenwoordiger.correspondentieAdres) : null,\r\n bankrekening: vertegenwoordiger.bankrekening ? mapBankrekeningViewModel(vertegenwoordiger.bankrekening) : null,\r\n }\r\n}\r\n","import { DeclaratieToekenningsbeschikkingViewModel, ToekenningsbeschikkingStatusType } from '@/_generated/portalClient'\r\nimport { mapBankrekeningViewModel } from '@/domains/account/dataAccess/mappers/mapBankrekeningViewModel'\r\nimport { mapBudgethouderReadOnlyViewModel } from '@/domains/account/mocks/mappers/mapBudgethouderReadOnlyViewModel'\r\nimport { mapVertegenwoordigerReadOnlyViewModel } from '@/domains/account/mocks/mappers/mapVertegenwoordigerReadOnlyViewModel'\r\nimport { DeclaratieToekenningsbeschikking } from '@/domains/declaraties/dataAccess/models/DeclaratieToekenningsbeschikking'\r\n\r\nexport function mapToDeclaratieToekenningsbeschikkingViewModel (tkb: DeclaratieToekenningsbeschikking):\r\nDeclaratieToekenningsbeschikkingViewModel {\r\n return {\r\n id: tkb.uid,\r\n budgethouder: tkb.budgethouder ? mapBudgethouderReadOnlyViewModel(tkb.budgethouder) : null,\r\n openstaandTotaalBudget: tkb.openstaandTotaalBudget,\r\n vrijbesteedbaarBudget: tkb.verantwoordingsvrijBedrag,\r\n openstaandVrijbesteedbaarBudget: tkb.openstaandVerantwoordingsvrijBedrag,\r\n opgenomenBedrag: tkb.opgenomenBedrag,\r\n ziektegeld: tkb.ziektegeld,\r\n bankrekening: tkb.bankrekening ? mapBankrekeningViewModel(tkb.bankrekening) : null,\r\n uitbetaaldWooninitiatiefEnkelHuis: tkb.uitbetaaldWooninitiatiefEnkelHuis,\r\n openstaandWooninitiatiefEnkelHuis: tkb.openstaandWooninitiatiefEnkelHuis,\r\n isWooninitiatiefEnkelHuis: tkb.isWooninitiatiefEnkelHuis,\r\n toekenningsbeschikkingId: tkb.id || 0,\r\n toekenningsbeschikkingUid: tkb.uid || '',\r\n wet: tkb.wet,\r\n ingangsdatum: tkb.ingangsDatum || '',\r\n einddatum: tkb.eindDatum,\r\n totaalBudget: tkb.totaalBudget || 0,\r\n vertegenwoordigers: tkb.vertegenwoordiger ? [mapVertegenwoordigerReadOnlyViewModel(tkb.vertegenwoordiger)] : [],\r\n isGeselecteerd: tkb.isGeselecteerd || false,\r\n isOngeldig: tkb.isOngeldig || false,\r\n verstrekkerId: tkb.verstrekkerId,\r\n verstrekkerNaam: tkb.verstrekkerNaam,\r\n status: tkb.status || ToekenningsbeschikkingStatusType.Onbekend,\r\n budgetIdentificatie: tkb.budgetIdentificatie,\r\n beschikbareMaanden: tkb.beschikbareMaanden || null,\r\n begunstigdeRelatieId: tkb.begunstigdeRelatieId,\r\n begunstigdeVertegenwoordigers: tkb.begunstigdeVertegenwoordigers ? tkb.begunstigdeVertegenwoordigers.map(mapVertegenwoordigerReadOnlyViewModel) : null,\r\n }\r\n}\r\n","import { DeclaratieToekenningsbeschikkingViewModel, VrijbesteedbaarBudgetModel } from '@/_generated/portalClient'\r\nimport { mapVerantwoordingsvrijBedragToSelectedTkb } from '@/domains/declaraties/dataAccess/mappers/mapVerantwoordingsvrijBedrag'\r\nimport { DeclaratieToekenningsbeschikking } from '@/domains/declaraties/dataAccess/models/DeclaratieToekenningsbeschikking'\r\nimport { VerantwoordingsvrijBedrag } from '@/domains/declaraties/dataAccess/models/indienen/VerantwoordingsvrijBedrag'\r\nimport {\r\n mapToDeclaratieToekenningsbeschikkingViewModel,\r\n} from '@/domains/declaraties/mocks/mappers/mapToDeclaratieToekenningsbeschikkingViewModel'\r\n\r\nexport function mapVerantwoordingsvrijBedragForDeclaratieConceptViewModel (model: VerantwoordingsvrijBedrag): VrijbesteedbaarBudgetModel {\r\n const tkbs = mapVerantwoordingsvrijBedragToSelectedTkb(model).beschikbareTkbs\r\n return {\r\n toekenningsbeschikkingen: mapDeclaratieToekenningsbeschikkingenForVrijbesteedbaarBudget(tkbs),\r\n }\r\n}\r\n\r\nexport function mapDeclaratieToekenningsbeschikkingenForVrijbesteedbaarBudget (tkbs: DeclaratieToekenningsbeschikking[] | null):\r\nDeclaratieToekenningsbeschikkingViewModel[] | null {\r\n if (!tkbs || !tkbs.length) {\r\n return null\r\n }\r\n return tkbs.map(mapToDeclaratieToekenningsbeschikkingViewModel) as DeclaratieToekenningsbeschikkingViewModel[]\r\n}\r\n","import { DeclaratieConceptStatusType } from '@/_generated/portalClient'\r\nimport { DeclaratieBase, emptyDeclaratieBase } from './DeclaratieBase'\r\n\r\nexport interface ConceptDeclaratie extends DeclaratieBase {\r\n conceptStatus: DeclaratieConceptStatusType\r\n conceptId: string\r\n}\r\n\r\nexport const emptyConceptDeclaratie: ConceptDeclaratie = {\r\n ...emptyDeclaratieBase,\r\n conceptStatus: DeclaratieConceptStatusType.Onbekend,\r\n conceptId: '',\r\n}\r\n","export interface ZiekEnZwangerschapGegevens {\r\n zorgverlenerIsVolledigZiekgemeldInDeelVanDeGekozenPeriode: boolean;\r\n zorgverlenerIsGedeeltelijkZiekgemeldInGekozenPeriode: boolean;\r\n zorgverlenerIsVolledigZiekgemeldInGekozenPeriode: boolean;\r\n zorgverlenerIsVolledigZwangergemeldInGekozenPeriode: boolean;\r\n isMinimaalEenDagInPeriodeZwanger: boolean;\r\n}\r\n\r\nexport const emptyZiekEnZwangerschapGegevens: ZiekEnZwangerschapGegevens = {\r\n zorgverlenerIsVolledigZiekgemeldInDeelVanDeGekozenPeriode: false,\r\n zorgverlenerIsGedeeltelijkZiekgemeldInGekozenPeriode: false,\r\n zorgverlenerIsVolledigZiekgemeldInGekozenPeriode: false,\r\n zorgverlenerIsVolledigZwangergemeldInGekozenPeriode: false,\r\n isMinimaalEenDagInPeriodeZwanger: false,\r\n}\r\n","import { DateString } from 'phoenix'\r\nimport { Maand } from '@/_generated/portalClient'\r\nimport { Zorgverlener } from '@/domains/account/dataAccess/models/relaties/Zorgverlener'\r\nimport { Zorgovereenkomst } from '@/domains/zorgovereenkomst/dataAccess/models/Zorgovereenkomst'\r\nimport {\r\n emptyZiekEnZwangerschapGegevens,\r\n ZiekEnZwangerschapGegevens,\r\n} from '@/domains/declaraties/dataAccess/models/indienen/ZiekEnZwangerschapGegevens'\r\n\r\nexport interface DeclaratieOpdrachtnemer extends ZiekEnZwangerschapGegevens {\r\n geselecteerdJaar: number;\r\n geselecteerdeMaand: Maand | null;\r\n geselecteerdeZorgverlener: Zorgverlener | null;\r\n geselecteerdeZok: Zorgovereenkomst | null;\r\n zorgovereenkomsten: Zorgovereenkomst[] | null;\r\n einddatumDoorbetalenReiskosten: DateString | null;\r\n}\r\n\r\nexport const emptyDeclaratieOpdrachtnemer: DeclaratieOpdrachtnemer = {\r\n ...emptyZiekEnZwangerschapGegevens,\r\n geselecteerdJaar: 0,\r\n geselecteerdeMaand: null,\r\n geselecteerdeZorgverlener: null,\r\n geselecteerdeZok: null,\r\n zorgovereenkomsten: null,\r\n einddatumDoorbetalenReiskosten: null,\r\n isMinimaalEenDagInPeriodeZwanger: false,\r\n}\r\n","import { DateString } from 'phoenix'\r\nimport { DeclaratieConceptStatusType, OndertekeningStatusType } from '@/_generated/portalClient'\r\nimport { Budgethouder } from '@/domains/account/dataAccess/models/relaties/Budgethouder'\r\nimport { FactuurReiskosten } from '@/domains/declaraties/dataAccess/models/indienen/FactuurReiskosten'\r\nimport { ConceptDeclaratie, emptyConceptDeclaratie } from '../ConceptDeclaratie'\r\nimport { BijkomendeZorgkosten } from './BijkomendeZorgkosten'\r\nimport { DeclaratieOpdrachtnemer, emptyDeclaratieOpdrachtnemer } from './DeclaratieOpdrachtnemer'\r\nimport { FeestdagenUitkering } from './FeestdagenUitkering'\r\nimport { VerantwoordingsvrijBedrag } from './VerantwoordingsvrijBedrag'\r\nimport { WooninitiatiefEnkelHuis } from './WooninitiatiefEnkelHuis'\r\n\r\nexport interface IndienenConceptDeclaratie extends ConceptDeclaratie {\r\n bijkomendezorgkosten: BijkomendeZorgkosten | null;\r\n budgethouder: Budgethouder | null;\r\n datumOndertekening: DateString | null;\r\n ondertekendDoorBevoegdeRelatieUid: string | null;\r\n ondertekeningStatus: OndertekeningStatusType;\r\n factuurgegevens: null;\r\n factuurReiskosten: FactuurReiskosten | null;\r\n wooninitiatiefEnkelHuis: WooninitiatiefEnkelHuis | null;\r\n feestdagenuitkering: FeestdagenUitkering | null;\r\n conceptStatus: DeclaratieConceptStatusType;\r\n heeftFactuur: boolean;\r\n heeftVervoersbewijs: boolean;\r\n opdrachtnemer: DeclaratieOpdrachtnemer | null;\r\n reiskosten: null;\r\n vrijbesteedbaarBudget: VerantwoordingsvrijBedrag | null;\r\n zorgdeclaratieMaandopgave: null;\r\n laatsteToelichting: null;\r\n}\r\n\r\nexport const emptyIndienenConceptDeclaratie: IndienenConceptDeclaratie = {\r\n ...emptyConceptDeclaratie,\r\n bijkomendezorgkosten: null,\r\n budgethouder: null,\r\n datumOndertekening: null,\r\n ondertekendDoorBevoegdeRelatieUid: null,\r\n ondertekeningStatus: OndertekeningStatusType.NietOndertekend,\r\n factuurgegevens: null,\r\n factuurReiskosten: null,\r\n wooninitiatiefEnkelHuis: null,\r\n feestdagenuitkering: null,\r\n heeftFactuur: false,\r\n heeftVervoersbewijs: false,\r\n opdrachtnemer: emptyDeclaratieOpdrachtnemer,\r\n reiskosten: null,\r\n vrijbesteedbaarBudget: null,\r\n zorgdeclaratieMaandopgave: null,\r\n laatsteToelichting: null,\r\n}\r\n","import { DateString } from 'phoenix'\r\nimport { IVueUploadItem } from 'phoenix/types/library/PFileUpload/FileUpload'\r\nimport { Document } from '@/domains/remoteFile/dataAccess/models/Document'\r\n\r\nexport interface UploadFactuur {\r\n factuurNummer: string | null\r\n factuurDatum: DateString | null\r\n bestanden: IVueUploadItem[]\r\n gearchiveerdeBestanden?: Document[]\r\n}\r\n\r\nexport const emptyUploadFactuur: UploadFactuur = {\r\n factuurDatum: null,\r\n factuurNummer: null,\r\n bestanden: [],\r\n gearchiveerdeBestanden: [],\r\n}\r\n","import { DeclaratieType, Maand } from '@/_generated/portalClient'\r\nimport { Zorgverlener } from '@/domains/account/dataAccess/models/relaties/Zorgverlener'\r\nimport { Zorgovereenkomst } from '@/domains/zorgovereenkomst/dataAccess/models/Zorgovereenkomst'\r\n\r\nexport interface ZorgverlenerZokDeclaratie {\r\n declaratieType: DeclaratieType\r\n zorgverlener: Zorgverlener | null\r\n declaratieJaar: number\r\n declaratieMaand: Maand | null\r\n zok: Zorgovereenkomst | null\r\n}\r\n\r\nexport const emptyZorgverlenerZokDeclaratie: ZorgverlenerZokDeclaratie = {\r\n declaratieType: DeclaratieType.Onbekend,\r\n zorgverlener: null,\r\n declaratieJaar: 0,\r\n declaratieMaand: null,\r\n zok: null,\r\n}\r\n","import { BijkomendezorgkostenType, DeclaratieType } from '@/_generated/portalClient'\r\nimport { emptyIndienenConceptDeclaratieBase, IndienenConceptDeclaratieBase } from './IndienenConceptDeclaratieBase'\r\nimport { emptyUploadFactuur, UploadFactuur } from './UploadFactuur'\r\nimport { emptyZorgverlenerZokDeclaratie, ZorgverlenerZokDeclaratie } from './ZorgverlenerZokDeclaratie'\r\n\r\nexport interface BijkomendeZorgkostenBudget {\r\n max: number\r\n alVerbruikt: number\r\n}\r\n\r\nexport interface ConsumptiesBijOverwerkBudget extends BijkomendeZorgkostenBudget {\r\n dagMax: number\r\n}\r\n\r\nexport const emptyBijkomendeZorgkostenBudget = {\r\n max: 0,\r\n alVerbruikt: 0,\r\n}\r\n\r\nexport const emptyConsumptiesBijOverwerkBudget = {\r\n ...emptyBijkomendeZorgkostenBudget,\r\n dagMax: 0,\r\n}\r\n\r\nexport interface BijkomendeZorgkosten extends IndienenConceptDeclaratieBase, ZorgverlenerZokDeclaratie {\r\n bijkomendeZorgkostenType: BijkomendezorgkostenType | null\r\n bijkomendezorgkostenChoices: BijkomendezorgkostenType[]\r\n wooninitiatiefEnkelHuis: BijkomendeZorgkostenBudget\r\n wooninitiatiefZorg: BijkomendeZorgkostenBudget\r\n consumptiesBijOverwerk: ConsumptiesBijOverwerkBudget\r\n cursusZorgverlener: BijkomendeZorgkostenBudget\r\n entreegeldZorgverlener: BijkomendeZorgkostenBudget\r\n heeftOvergeblevenBudget: boolean\r\n bedrag: number | null\r\n upload: UploadFactuur\r\n}\r\n\r\nexport const emptyBijkomendeZorgkosten: BijkomendeZorgkosten = {\r\n ...emptyIndienenConceptDeclaratieBase,\r\n ...emptyZorgverlenerZokDeclaratie,\r\n declaratieType: DeclaratieType.BijkomendeZorgkosten,\r\n bijkomendeZorgkostenType: null,\r\n bijkomendezorgkostenChoices: [],\r\n wooninitiatiefEnkelHuis: emptyBijkomendeZorgkostenBudget,\r\n wooninitiatiefZorg: emptyBijkomendeZorgkostenBudget,\r\n consumptiesBijOverwerk: emptyConsumptiesBijOverwerkBudget,\r\n cursusZorgverlener: emptyBijkomendeZorgkostenBudget,\r\n entreegeldZorgverlener: emptyBijkomendeZorgkostenBudget,\r\n heeftOvergeblevenBudget: false,\r\n bedrag: null,\r\n upload: emptyUploadFactuur,\r\n declaratieOndertekend: false,\r\n}\r\n","import { BijkomendezorgkostenType, BijkomendezorgkostenViewModel } from '@/_generated/portalClient'\r\nimport { ZorgverlenerCard } from '@/domains/declaraties/components/zorgverlenerCard/models/ZorgverlenerCard'\r\nimport { mapDocument } from '@/domains/remoteFile/dataAccess/mappers/mapDocument'\r\nimport { Zorgovereenkomst } from '@/domains/zorgovereenkomst/dataAccess/models/Zorgovereenkomst'\r\nimport { BijkomendeZorgkosten, emptyBijkomendeZorgkosten } from '../models/indienen/BijkomendeZorgkosten'\r\nimport { IndienenConceptDeclaratie } from '../models/indienen/IndienenConceptDeclaratie'\r\nimport { emptyUploadFactuur, UploadFactuur } from '../models/indienen/UploadFactuur'\r\n\r\nexport function mapToBijkomendeZorgkosten (vm: BijkomendezorgkostenViewModel | null): BijkomendeZorgkosten | null {\r\n return vm && {\r\n ...emptyBijkomendeZorgkosten,\r\n consumptiesBijOverwerk: {\r\n dagMax: vm.consumptieDagMax,\r\n max: vm.consumptiePeriodeMax,\r\n alVerbruikt: vm.consumptiesBijOverwerkAlVerbruikt,\r\n },\r\n cursusZorgverlener: {\r\n max: vm.cursusZorgverlenerMax,\r\n alVerbruikt: vm.cursusZorgverlenerAlVerbruikt,\r\n },\r\n entreegeldZorgverlener: {\r\n max: vm.entreegeldZorgverlenerMax,\r\n alVerbruikt: vm.entreegeldZorgverlenerAlVerbruikt,\r\n },\r\n wooninitiatiefZorg: {\r\n max: vm.wooninitiatiefzorgMax,\r\n alVerbruikt: vm.wooninitiatiefzorgAlVerbruikt,\r\n },\r\n bedrag: vm.bedrag ? vm.bedrag : 0,\r\n bijkomendeZorgkostenType: vm.bijkomendezorgkostenTypeSelected || BijkomendezorgkostenType.Onbekend,\r\n bijkomendezorgkostenChoices: vm.bijkomendezorgkostenChoices || [],\r\n upload: mapGearchiveerdeBestanden(vm),\r\n }\r\n}\r\n\r\nexport function mapGearchiveerdeBestanden (vm: BijkomendezorgkostenViewModel | null): UploadFactuur {\r\n const factuur = emptyUploadFactuur\r\n if (vm && vm.bestanden) {\r\n factuur.gearchiveerdeBestanden = vm && vm.gearchiveerdeBestanden\r\n ? vm.gearchiveerdeBestanden.map(mapDocument)\r\n : []\r\n }\r\n return factuur\r\n}\r\n\r\nexport function mapDeclaratieConceptToBijkomendeZorgkosten (declaratieConcept: IndienenConceptDeclaratie): BijkomendeZorgkosten {\r\n const opdrachtnemer = declaratieConcept.opdrachtnemer\r\n const bijkomendeZorgkosten = declaratieConcept.bijkomendezorgkosten\r\n const zok = opdrachtnemer && opdrachtnemer.geselecteerdeZok\r\n return {\r\n ...emptyBijkomendeZorgkosten,\r\n ...bijkomendeZorgkosten,\r\n zorgverlener: opdrachtnemer && opdrachtnemer.geselecteerdeZorgverlener,\r\n declaratieJaar: opdrachtnemer ? opdrachtnemer.geselecteerdJaar : 0,\r\n declaratieMaand: opdrachtnemer && opdrachtnemer.geselecteerdeMaand,\r\n zok: (zok && zok.uid) ? zok : null,\r\n bedrag: bijkomendeZorgkosten ? bijkomendeZorgkosten.bedrag : 0,\r\n conceptUid: declaratieConcept.conceptId,\r\n bijkomendeZorgkostenType: bijkomendeZorgkosten && bijkomendeZorgkosten.bijkomendeZorgkostenType,\r\n declaratieType: declaratieConcept.declaratieType,\r\n }\r\n}\r\n\r\nexport function mapToZorgverlenerCard (bkz: BijkomendeZorgkosten | null, zoks: Zorgovereenkomst[] | null): ZorgverlenerCard | null {\r\n return bkz && zoks && {\r\n zorgverlenerUid: bkz.zorgverlener && bkz.zorgverlener.uid,\r\n declaratieJaar: bkz.declaratieJaar,\r\n declaratieMaand: bkz.declaratieMaand,\r\n gekozenZorgverlenerZokUid: bkz.zok && bkz.zok.uid,\r\n beschikbareZoks: zoks,\r\n }\r\n}\r\n","import { DeclaratieType, Maand } from '@/_generated/portalClient'\r\nimport { Bankrekening } from '@/domains/account/dataAccess/models/Bankrekening'\r\nimport { emptyIndienenConceptDeclaratieBase, IndienenConceptDeclaratieBase } from './IndienenConceptDeclaratieBase'\r\nimport { emptyUploadFactuur, UploadFactuur } from '@/domains/declaraties/dataAccess/models/indienen/UploadFactuur'\r\nimport { DeclaratieBudget } from '@/domains/declaraties/dataAccess/models/DeclaratieBudget'\r\nimport { DateString } from 'phoenix'\r\n\r\nexport interface FactuurReiskosten extends IndienenConceptDeclaratieBase {\r\n factuurNummer: string | null;\r\n factuurDatum: DateString | null;\r\n budgetSelectedId: string | null;\r\n budgetten: DeclaratieBudget[] | null;\r\n factuurbedrag: number | null;\r\n geselecteerdJaar: number;\r\n geselecteerdeMaand: Maand | null;\r\n bankrekening: Bankrekening | null;\r\n upload: UploadFactuur\r\n}\r\n\r\nexport const emptyFactuurReiskosten: FactuurReiskosten = {\r\n ...emptyIndienenConceptDeclaratieBase,\r\n factuurNummer: null,\r\n factuurDatum: null,\r\n budgetSelectedId: null,\r\n budgetten: null,\r\n factuurbedrag: null,\r\n geselecteerdJaar: 0,\r\n geselecteerdeMaand: null,\r\n bankrekening: null,\r\n declaratieType: DeclaratieType.FactuurReiskosten,\r\n upload: emptyUploadFactuur,\r\n}\r\n","import { DateString } from 'phoenix'\r\nimport { WetType } from '@/_generated/portalClient'\r\n\r\nexport interface DeclaratieBudget {\r\n id: string | null;\r\n eindDatum: DateString | null;\r\n ingangsDatum: DateString;\r\n verstrekkerNaam: string | null;\r\n wet: WetType;\r\n isOngeldig: boolean;\r\n overgeblevenBudget: number | null;\r\n}\r\n\r\nexport const emptyDeclaratieBudget: DeclaratieBudget = {\r\n id: null,\r\n eindDatum: null,\r\n ingangsDatum: '',\r\n verstrekkerNaam: null,\r\n wet: WetType.Onbekend,\r\n isOngeldig: true,\r\n overgeblevenBudget: null,\r\n}\r\n","import { DeclaratieBudgetViewModel } from '@/_generated/portalClient'\r\nimport { DeclaratieBudget, emptyDeclaratieBudget } from '@/domains/declaraties/dataAccess/models/DeclaratieBudget'\r\n\r\nexport function mapDeclaratieBudget (data: DeclaratieBudgetViewModel): DeclaratieBudget {\r\n return {\r\n ...emptyDeclaratieBudget,\r\n id: data.id,\r\n eindDatum: data.einddatum,\r\n ingangsDatum: data.ingangsdatum,\r\n verstrekkerNaam: data.verstrekkerNaam,\r\n wet: data.wet,\r\n isOngeldig: data.isOngeldig,\r\n overgeblevenBudget: data.overgeblevenBudget,\r\n }\r\n}\r\n","import { FactuurReiskostenViewModel } from '@/_generated/portalClient'\r\nimport {\r\n emptyFactuurReiskosten,\r\n FactuurReiskosten,\r\n} from '@/domains/declaraties/dataAccess/models/indienen/FactuurReiskosten'\r\nimport { emptyUploadFactuur } from '@/domains/declaraties/dataAccess/models/indienen/UploadFactuur'\r\nimport { mapDeclaratieBudget } from '@/domains/declaraties/dataAccess/mappers/mapDeclaratieBudget'\r\nimport { IndienenConceptDeclaratie } from '@/domains/declaraties/dataAccess/models/indienen/IndienenConceptDeclaratie'\r\nimport { mapBankrekening } from '@/domains/account/dataAccess/mappers/mapBankrekening'\r\nimport { mapDocument } from '@/domains/remoteFile/dataAccess/mappers/mapDocument'\r\nimport { dateString } from 'phoenix'\r\n\r\nexport const mapDeclaratieConceptToFactuurReiskosten = (declaratieConcept: IndienenConceptDeclaratie): FactuurReiskosten => {\r\n const factuurReiskosten = declaratieConcept.factuurReiskosten\r\n return {\r\n ...emptyFactuurReiskosten,\r\n ...factuurReiskosten,\r\n geselecteerdJaar: factuurReiskosten ? factuurReiskosten.geselecteerdJaar : 0,\r\n geselecteerdeMaand: factuurReiskosten ? factuurReiskosten.geselecteerdeMaand : null,\r\n factuurbedrag: factuurReiskosten ? factuurReiskosten.factuurbedrag : 0,\r\n conceptUid: declaratieConcept.conceptId,\r\n declaratieType: declaratieConcept.declaratieType,\r\n factuurDatum: factuurReiskosten ? factuurReiskosten.factuurDatum : null,\r\n }\r\n}\r\n\r\nconst mapUpload = (vm: FactuurReiskostenViewModel) => ({\r\n ...emptyUploadFactuur,\r\n factuurDatum: dateString(vm.factuurdatum, ''),\r\n gearchiveerdeBestanden: vm.bestanden && vm.gearchiveerdeBestanden\r\n ? vm.gearchiveerdeBestanden.map(mapDocument)\r\n : [],\r\n})\r\n\r\nexport const mapToFactuurReiskosten = (vm: FactuurReiskostenViewModel | null): FactuurReiskosten | null => {\r\n return vm && {\r\n ...emptyFactuurReiskosten,\r\n factuurNummer: vm.factuurnummer || null,\r\n budgetSelectedId: vm.budgetSelected ? vm.budgetSelected.id : null,\r\n budgetten: vm.budgetten ? vm.budgetten.map(budget => mapDeclaratieBudget(budget)) : null,\r\n factuurbedrag: vm.factuurbedrag || 0,\r\n geselecteerdJaar: vm.geselecteerdJaar || 0,\r\n geselecteerdeMaand: vm.geselecteerdeMaand || null,\r\n bankrekening: vm.bankrekening ? mapBankrekening(vm.bankrekening) : null,\r\n factuurDatum: dateString(vm.factuurdatum, null) || null,\r\n upload: mapUpload(vm),\r\n }\r\n}\r\n","import { DeclaratieZorgovereenkomstViewModel, ReiskostenAfspraakType } from '@/_generated/portalClient'\r\nimport { Zorgovereenkomst } from '@/domains/zorgovereenkomst/dataAccess/models/Zorgovereenkomst'\r\n\r\nexport function mapToDeclaratieZorgovereenkomstViewModel (model: Zorgovereenkomst): DeclaratieZorgovereenkomstViewModel {\r\n const reiskosten = model.werkafspraken.reiskosten\r\n return {\r\n id: model.uid || '',\r\n contractType: model.contractType,\r\n aantalWerkdagenZorgverlener: model.aantalWerkdagenPerWeek,\r\n werkafspraken: null,\r\n reiskostenAfspraken: {\r\n reiskostenAfspraak: reiskosten && reiskosten.reiskostenAfspraak ? reiskosten.reiskostenAfspraak : ReiskostenAfspraakType.Onbekend,\r\n kilometervergoedingBedrag: reiskosten ? reiskosten.reiskostenBedrag : null,\r\n openbaarvervoerVergoeding: reiskosten ? reiskosten.reiskostenOv : null,\r\n kilometervergoeding: reiskosten ? reiskosten.reiskostenPerKm : null,\r\n maandloonKilometerPerDag: reiskosten ? reiskosten.maandloonKilometerPerDag : null,\r\n maandloonVergoeding: reiskosten ? reiskosten.maandloonVergoeding : null,\r\n },\r\n einddatum: model.originelePeriode ? model.originelePeriode.eindDatum : '',\r\n ingangsdatum: model.originelePeriode.ingangsDatum || '',\r\n isSelected: true,\r\n heeftEenWijzigingInGoedkeuring: false,\r\n heeftAlleenMaandloon: false,\r\n heeftMaandloonZonderAanvullendeTarieven: false,\r\n wetten: null,\r\n overgeblevenBudgetten: null,\r\n }\r\n}\r\n","import { ZorgverlenerViewModel2 } from '@/_generated/portalClient'\r\nimport { mapBankrekeningViewModel } from '@/domains/account/dataAccess/mappers/mapBankrekeningViewModel'\r\nimport { Zorgverlener } from '@/domains/account/dataAccess/models/relaties/Zorgverlener'\r\n\r\nexport function mapZorgverlenerToZorgverlenerViewModel2 (model: Zorgverlener): ZorgverlenerViewModel2 {\r\n return {\r\n bankrekening: model && model.bankrekening ? mapBankrekeningViewModel(model.bankrekening) : null,\r\n id: model.uid,\r\n naam: model.volledigeNaam,\r\n relatienummer: model.relatienummer,\r\n overlijdensdatum: model.overlijdensDatum,\r\n }\r\n}\r\n","import { DeclaratieZorgovereenkomstViewModel, OpdrachtnemerViewModel2 } from '@/_generated/portalClient'\r\nimport { mapZorgverlenerFromZorgverlenerSelecteerViewModel2 } from '@/domains/account/dataAccess/mappers/mapZorgverlener'\r\nimport {\r\n mapToDeclaratieZorgovereenkomstViewModel,\r\n} from '@/domains/declaraties/dataAccess/mappers/mapToDeclaratieZorgovereenkomstViewModel'\r\nimport { mapFromDeclaratieZorgovereenkomstViewModel } from '@/domains/zorgovereenkomst/dataAccess/mappers/mapZorgovereenkomst'\r\nimport { BijkomendeZorgkostenExtended } from '../models/indienen/BijkomendeZorgkostenExtended'\r\nimport { DeclaratieOpdrachtnemer, emptyDeclaratieOpdrachtnemer } from '../models/indienen/DeclaratieOpdrachtnemer'\r\nimport { FeestdagenUitkeringExtended } from '../models/indienen/FeestdagenUitkeringExtended'\r\nimport { mapZorgverlenerToZorgverlenerViewModel2 } from './mapZorgverlenerToZorgverlenerViewModel2'\r\n\r\nexport function mapToDeclaratieConceptOpdrachtnemer (model: BijkomendeZorgkostenExtended | FeestdagenUitkeringExtended): DeclaratieOpdrachtnemer {\r\n return {\r\n ...emptyDeclaratieOpdrachtnemer,\r\n geselecteerdJaar: model.declaratieJaar,\r\n geselecteerdeMaand: model.declaratieMaand,\r\n zorgovereenkomsten: model.zok ? [model.zok] : [],\r\n geselecteerdeZorgverlener: model.zorgverlener,\r\n }\r\n}\r\n\r\nexport function mapOpdrachtNemerViewModel2ToOpdrachtnemer (opdrachtnemer: OpdrachtnemerViewModel2): DeclaratieOpdrachtnemer {\r\n const getSelectedZok = (zorgovereenkomsten: DeclaratieZorgovereenkomstViewModel[]) => {\r\n const zok = zorgovereenkomsten.find(a => a.isSelected)\r\n return zok ? mapFromDeclaratieZorgovereenkomstViewModel(zok) : null\r\n }\r\n return {\r\n ...emptyDeclaratieOpdrachtnemer,\r\n geselecteerdJaar: opdrachtnemer.geselecteerdJaar,\r\n zorgovereenkomsten: opdrachtnemer.zorgovereenkomsten && opdrachtnemer.zorgovereenkomsten.map(a => mapFromDeclaratieZorgovereenkomstViewModel(a)),\r\n geselecteerdeMaand: opdrachtnemer.geselecteerdeMaand,\r\n geselecteerdeZorgverlener: opdrachtnemer.geselecteerdeZorgverlener && mapZorgverlenerFromZorgverlenerSelecteerViewModel2(opdrachtnemer.geselecteerdeZorgverlener),\r\n geselecteerdeZok: opdrachtnemer.zorgovereenkomsten && getSelectedZok(opdrachtnemer.zorgovereenkomsten),\r\n }\r\n}\r\n\r\nexport function mapDeclaratieOpdrachtnemerToOpdrachtnemerViewModel2 (entity: DeclaratieOpdrachtnemer): OpdrachtnemerViewModel2 {\r\n return {\r\n einddatumDoorbetalenReiskosten: entity.einddatumDoorbetalenReiskosten,\r\n geselecteerdJaar: entity.geselecteerdJaar,\r\n geselecteerdeMaand: entity.geselecteerdeMaand,\r\n geselecteerdeZorgverlener: entity.geselecteerdeZorgverlener && mapZorgverlenerToZorgverlenerViewModel2(entity.geselecteerdeZorgverlener),\r\n zorgovereenkomsten: entity.zorgovereenkomsten && entity.zorgovereenkomsten.map(z => mapToDeclaratieZorgovereenkomstViewModel(z)),\r\n zorgverlenerIsGedeeltelijkZiekgemeldInGekozenPeriode: entity.zorgverlenerIsGedeeltelijkZiekgemeldInGekozenPeriode,\r\n zorgverlenerIsVolledigZiekgemeldInDeelVanDeGekozenPeriode: entity.zorgverlenerIsVolledigZiekgemeldInDeelVanDeGekozenPeriode,\r\n zorgverlenerIsVolledigZiekgemeldInGekozenPeriode: entity.zorgverlenerIsVolledigZiekgemeldInGekozenPeriode,\r\n zorgverlenerIsVolledigZwangergemeldInGekozenPeriode: entity.zorgverlenerIsVolledigZwangergemeldInGekozenPeriode,\r\n }\r\n}\r\n","import { DeclaratieType, WetType } from '@/_generated/portalClient'\r\nimport { emptyIndienenConceptDeclaratieBase, IndienenConceptDeclaratieBase } from './IndienenConceptDeclaratieBase'\r\nimport { emptyZorgverlenerZokDeclaratie, ZorgverlenerZokDeclaratie } from './ZorgverlenerZokDeclaratie'\r\n\r\nexport interface FeestdagenUitkering extends IndienenConceptDeclaratieBase, ZorgverlenerZokDeclaratie {\r\n reedsUitbetaaldeFeestdagenUitkering: number\r\n maximaleFeestdagenUitkering: number\r\n feestdagenUitkeringWet: WetType\r\n totaleBudget: number\r\n bedrag: number | null\r\n}\r\n\r\nexport const emptyFeestdagenUitkering: FeestdagenUitkering = {\r\n ...emptyIndienenConceptDeclaratieBase,\r\n ...emptyZorgverlenerZokDeclaratie,\r\n declaratieType: DeclaratieType.Feestdagenuitkering,\r\n reedsUitbetaaldeFeestdagenUitkering: 0,\r\n maximaleFeestdagenUitkering: 0,\r\n feestdagenUitkeringWet: WetType.Onbekend,\r\n totaleBudget: 0,\r\n bedrag: null,\r\n}\r\n","import { FeestdagenuitkeringViewModel, WetFeestdagenuitkeringViewModel, WetType } from '@/_generated/portalClient'\r\nimport { ZorgverlenerCard } from '@/domains/declaraties/components/zorgverlenerCard/models/ZorgverlenerCard'\r\nimport { Zorgovereenkomst } from '@/domains/zorgovereenkomst/dataAccess/models/Zorgovereenkomst'\r\nimport { emptyFeestdagenUitkering, FeestdagenUitkering } from '../models/indienen/FeestdagenUitkering'\r\nimport { IndienenConceptDeclaratie } from '../models/indienen/IndienenConceptDeclaratie'\r\n\r\nexport function mapToFeestdagenUitkering (vm: FeestdagenuitkeringViewModel | null): FeestdagenUitkering | null {\r\n const data = vm &&\r\n vm.wetFeestdagenuitkeringen &&\r\n vm.wetFeestdagenuitkeringen.length\r\n ? vm.wetFeestdagenuitkeringen[0] || {} as WetFeestdagenuitkeringViewModel\r\n : {} as WetFeestdagenuitkeringViewModel\r\n\r\n return vm && {\r\n ...emptyFeestdagenUitkering,\r\n reedsUitbetaaldeFeestdagenUitkering: vm.reedsUitbetaaldeFeestdagenuitkering || 0,\r\n maximaleFeestdagenUitkering: vm.maximaleFeestdagenuitkering || 0,\r\n feestdagenUitkeringWet: data.wettype || WetType.Wlz,\r\n totaleBudget: data.budget || 0,\r\n bedrag: data.bedrag || 0,\r\n }\r\n}\r\n\r\nexport function mapDeclaratieConceptToFeestdagenUitkering (declaratieConcept: IndienenConceptDeclaratie): FeestdagenUitkering {\r\n const opdrachtnemer = declaratieConcept.opdrachtnemer\r\n const feestdagenuitkering = declaratieConcept.feestdagenuitkering\r\n const zok = opdrachtnemer && opdrachtnemer.geselecteerdeZok\r\n return {\r\n ...emptyFeestdagenUitkering,\r\n ...feestdagenuitkering,\r\n zorgverlener: opdrachtnemer && opdrachtnemer.geselecteerdeZorgverlener,\r\n declaratieJaar: opdrachtnemer ? opdrachtnemer.geselecteerdJaar : 0,\r\n declaratieMaand: opdrachtnemer && opdrachtnemer.geselecteerdeMaand,\r\n zok: (zok && zok.uid) ? zok : null,\r\n bedrag: feestdagenuitkering ? feestdagenuitkering.bedrag : 0,\r\n conceptUid: declaratieConcept.conceptId,\r\n reedsUitbetaaldeFeestdagenUitkering: feestdagenuitkering ? feestdagenuitkering.reedsUitbetaaldeFeestdagenUitkering : 0,\r\n maximaleFeestdagenUitkering: feestdagenuitkering ? feestdagenuitkering.maximaleFeestdagenUitkering : 0,\r\n feestdagenUitkeringWet: feestdagenuitkering ? feestdagenuitkering.feestdagenUitkeringWet : 0,\r\n totaleBudget: feestdagenuitkering ? feestdagenuitkering.totaleBudget : 0,\r\n declaratieType: declaratieConcept.declaratieType,\r\n }\r\n}\r\n\r\nexport function mapToZorgverlenerCard (fdu: FeestdagenUitkering | null, zoks: Zorgovereenkomst[] | null): ZorgverlenerCard | null {\r\n return fdu && zoks && {\r\n zorgverlenerUid: fdu.zorgverlener && fdu.zorgverlener.uid,\r\n declaratieJaar: fdu.declaratieJaar,\r\n declaratieMaand: fdu.declaratieMaand,\r\n gekozenZorgverlenerZokUid: fdu.zok && fdu.zok.uid,\r\n beschikbareZoks: zoks,\r\n }\r\n}\r\n","import { DeclaratieBudgetViewModel } from '@/_generated/portalClient'\nimport { DeclaratieBudget } from '@/domains/declaraties/dataAccess/models/DeclaratieBudget'\n\nexport function mapDeclaratieBudgetViewModel (entity: DeclaratieBudget): DeclaratieBudgetViewModel {\r\n return {\r\n id: entity.id,\r\n ingangsdatum: entity.ingangsDatum,\r\n einddatum: entity.eindDatum,\r\n overgeblevenBudget: entity.overgeblevenBudget,\r\n isOngeldig: entity.isOngeldig,\r\n verstrekkerNaam: entity.verstrekkerNaam,\r\n wet: entity.wet,\r\n }\r\n}\r\n","import { FactuurReiskostenViewModel } from '@/_generated/portalClient'\r\nimport { FactuurReiskosten } from '@/domains/declaraties/dataAccess/models/indienen/FactuurReiskosten'\r\nimport { mapBankrekeningViewModel } from '@/domains/account/dataAccess/mappers/mapBankrekeningViewModel'\r\nimport { mapOverzichtDocumentViewModel } from '@/domains/remoteFile/mocks/mappers/mapDocumentViewModel'\r\nimport { mapVueUploadItemToFileUploadViewModel } from '@/domains/remoteFile/dataAccess/mappers/remoteFileMappers'\r\nimport { mapDeclaratieBudgetViewModel } from '@/domains/declaraties/dataAccess/mappers/mapDeclaratieBudgetViewModel'\r\nimport { dateStringOrEmpty } from 'phoenix'\r\n\r\nconst findSelectedBudget = (model: FactuurReiskosten) => {\r\n const selectedBudget = model.budgetSelectedId && model.budgetten\r\n ? model.budgetten.find(a => a.id === model.budgetSelectedId)\r\n : null\r\n return selectedBudget ? mapDeclaratieBudgetViewModel(selectedBudget) : null\r\n}\r\n\r\nexport const mapFactuurReiskostenForDeclaratieConceptViewModel = (model: FactuurReiskosten): FactuurReiskostenViewModel => {\r\n return {\r\n bestanden: mapVueUploadItemToFileUploadViewModel(model.upload.bestanden),\r\n gearchiveerdeBestanden: model.upload.gearchiveerdeBestanden\r\n ? model.upload.gearchiveerdeBestanden.map(mapOverzichtDocumentViewModel)\r\n : [],\r\n budgetSelected: findSelectedBudget(model),\r\n budgetten: model.budgetten ? model.budgetten.map(mapDeclaratieBudgetViewModel) : null,\r\n bankrekening: model.bankrekening ? mapBankrekeningViewModel(model.bankrekening) : null,\r\n factuurbedrag: model.factuurbedrag || null,\r\n factuurdatum: dateStringOrEmpty(model.factuurDatum || model.upload.factuurDatum),\r\n factuurnummer: model.factuurNummer || model.upload.factuurNummer || null,\r\n geselecteerdJaar: model.geselecteerdJaar || 0,\r\n geselecteerdeMaand: model.geselecteerdeMaand || null,\r\n }\r\n}\r\n","import { dateStringOrEmpty } from 'phoenix'\r\nimport { DeclaratieToekenningsbeschikkingViewModel, ToekenningsbeschikkingStatusType, WooninitiatiefEnkelHuisViewModel } from '@/_generated/portalClient'\r\nimport { DeclaratieToekenningsbeschikking } from '../models/DeclaratieToekenningsbeschikking'\r\nimport { WooninitiatiefEnkelHuis } from '../models/indienen/WooninitiatiefEnkelHuis'\r\nimport { mapVueUploadItemToFileUploadViewModel } from '@/domains/remoteFile/dataAccess/mappers/remoteFileMappers'\r\nimport { mapOverzichtDocumentViewModel } from '@/domains/remoteFile/mocks/mappers/mapDocumentViewModel'\r\nimport { mapBankrekeningViewModel } from '@/domains/account/dataAccess/mappers/mapBankrekeningViewModel'\r\nimport { mapAdresViewModel } from '@/domains/account/mocks/mappers/mapAdresViewModel'\r\nimport { mapBudgethouderReadOnlyViewModel } from '@/domains/account/mocks/mappers/mapBudgethouderReadOnlyViewModel'\r\nimport { mapVertegenwoordigerReadOnlyViewModel } from '@/domains/account/mocks/mappers/mapVertegenwoordigerReadOnlyViewModel'\r\n\r\nexport function mapWooninitiatiefEnkelHuisForDeclaratieConceptViewModel (data: WooninitiatiefEnkelHuis): WooninitiatiefEnkelHuisViewModel {\r\n const fileUploads = mapFileUploads(data)\r\n const datesAndNumbers = mapDateAndNumericFields(data)\r\n const optionalData = mapOptionalData(data)\r\n\r\n return {\r\n ...fileUploads,\r\n ...datesAndNumbers,\r\n ...optionalData,\r\n declaratieUid: data.declaratieUid ?? null,\r\n kvkNummer: data.kvkNummer ?? null,\r\n naamWooninitiatief: data.naamWooninitiatief ?? null,\r\n openstaandWooninitiatiefEnkelHuis: data.openstaandWooninitiatiefEnkelHuis,\r\n toekenningsbeschikkingen: data.toekenningsbeschikkingen ? mapToekenningsbeschikkingenToViewModels(data.toekenningsbeschikkingen) : [],\r\n toekenningsbeschikkingSelected: data.toekenningsbeschikkingSelected ? mapSingleToekenningsbeschikkingToViewModel(data.toekenningsbeschikkingSelected) : null,\r\n }\r\n}\r\n\r\nfunction mapFileUploads (data: WooninitiatiefEnkelHuis) {\r\n return {\r\n bestanden: mapVueUploadItemToFileUploadViewModel(data.upload.bestanden),\r\n gearchiveerdeBestanden: data.upload.gearchiveerdeBestanden\r\n ? data.upload.gearchiveerdeBestanden.map(mapOverzichtDocumentViewModel)\r\n : [],\r\n }\r\n}\r\n\r\nfunction mapDateAndNumericFields (data: WooninitiatiefEnkelHuis) {\r\n return {\r\n factuurbedrag: data.factuurbedrag ?? null,\r\n factuurdatum: dateStringOrEmpty(data.factuurdatum ?? data.upload.factuurDatum),\r\n factuurnummer: data.factuurnummer ?? data.upload.factuurNummer ?? null,\r\n geselecteerdJaar: data.geselecteerdJaar ?? 0,\r\n geselecteerdeMaand: data.geselecteerdeMaand ?? null,\r\n }\r\n}\r\n\r\nfunction mapOptionalData (data: WooninitiatiefEnkelHuis) {\r\n return {\r\n bankrekening: data.bankrekening ? mapBankrekeningViewModel(data.bankrekening) : null,\r\n adres: data.adres ? mapAdresViewModel(data.adres) : null,\r\n }\r\n}\r\n\r\nexport function mapToekenningsbeschikkingenToViewModels (data: DeclaratieToekenningsbeschikking[]): DeclaratieToekenningsbeschikkingViewModel[] {\r\n if (Array.isArray(data)) {\r\n return data.map(mapSingleToekenningsbeschikkingToViewModel)\r\n } else {\r\n return []\r\n }\r\n}\r\n\r\nexport function mapSingleToekenningsbeschikkingToViewModel (tkb: DeclaratieToekenningsbeschikking): DeclaratieToekenningsbeschikkingViewModel {\r\n const basicDetails = mapBasicDetails(tkb)\r\n const financialDetails = mapFinancialDetails(tkb)\r\n const statusAndLegalDetails = mapStatusAndLegalDetails(tkb)\r\n\r\n return {\r\n ...basicDetails,\r\n ...financialDetails,\r\n ...statusAndLegalDetails,\r\n isWooninitiatiefEnkelHuis: tkb.isWooninitiatiefEnkelHuis,\r\n openstaandWooninitiatiefEnkelHuis: tkb.openstaandWooninitiatiefEnkelHuis,\r\n uitbetaaldWooninitiatiefEnkelHuis: tkb.uitbetaaldWooninitiatiefEnkelHuis,\r\n }\r\n}\r\n\r\nfunction mapBasicDetails (tkb: DeclaratieToekenningsbeschikking): any {\r\n return {\r\n id: tkb.id?.toString() ?? null,\r\n toekenningsbeschikkingId: tkb.id ?? 0,\r\n toekenningsbeschikkingUid: tkb.uid ?? '',\r\n isGeselecteerd: tkb.isGeselecteerd ?? false,\r\n isOngeldig: tkb.isOngeldig ?? false,\r\n vertegenwoordigers: null,\r\n }\r\n}\r\n\r\nfunction mapFinancialDetails (tkb: DeclaratieToekenningsbeschikking): any {\r\n return {\r\n bankrekening: tkb.bankrekening ? mapBankrekeningViewModel(tkb.bankrekening) : null,\r\n budgethouder: tkb.budgethouder ? mapBudgethouderReadOnlyViewModel(tkb.budgethouder) : null,\r\n openstaandTotaalBudget: tkb.openstaandTotaalBudget,\r\n openstaandVrijbesteedbaarBudget: tkb.openstaandVerantwoordingsvrijBedrag,\r\n opgenomenBedrag: tkb.opgenomenBedrag,\r\n totaalBudget: tkb.totaalBudget ?? 0,\r\n vrijbesteedbaarBudget: tkb.verantwoordingsvrijBedrag,\r\n }\r\n}\r\n\r\nfunction mapStatusAndLegalDetails (tkb: DeclaratieToekenningsbeschikking): any {\r\n return {\r\n ingangsdatum: tkb.ingangsDatum ?? '',\r\n einddatum: tkb.eindDatum,\r\n status: tkb.status ?? ToekenningsbeschikkingStatusType.Geldig,\r\n wet: tkb.wet,\r\n verstrekkerId: tkb.verstrekkerId,\r\n verstrekkerNaam: tkb.verstrekkerNaam,\r\n ziektegeld: tkb.ziektegeld,\r\n beschikbareMaanden: tkb.beschikbareMaanden,\r\n begunstigdeVertegenwoordigers: tkb.begunstigdeVertegenwoordigers ? tkb.begunstigdeVertegenwoordigers.map(vt => mapVertegenwoordigerReadOnlyViewModel(vt)) : null,\r\n begunstigdeRelatieId: tkb.begunstigdeRelatieId,\r\n }\r\n}\r\n","import { DeclaratieConceptViewModel, DeclaratieType } from '@/_generated/portalClient'\r\nimport { mapBudgethouderReadonly } from '@/domains/account/dataAccess/mappers/mapBudgethouder'\r\nimport { mapBudgethouderReadOnlyViewModel } from '@/domains/account/mocks/mappers/mapBudgethouderReadOnlyViewModel'\r\nimport {\r\n mapBijkomendeZorgkostenForDeclaratieConceptViewModel,\r\n} from '@/domains/declaraties/mocks/mappers/mapBijkomendeZorgkostenForDeclaratieConceptViewModel'\r\nimport {\r\n mapFeestdagenUitkeringForDeclaratieConceptViewModel,\r\n} from '@/domains/declaraties/mocks/mappers/mapFeestdagenUitkeringForDeclaratieConceptViewModel'\r\nimport {\r\n mapVerantwoordingsvrijBedragForDeclaratieConceptViewModel,\r\n} from '@/domains/declaraties/mocks/mappers/mapVerantwoordingsvrijBedragForDeclaratieConceptViewModel'\r\nimport { emptyIndienenConceptDeclaratie, IndienenConceptDeclaratie } from '../models/indienen/IndienenConceptDeclaratie'\r\nimport { mapToBijkomendeZorgkosten } from './mapBijkomendeZorgkosten'\r\nimport { mapToFactuurReiskosten } from './mapFactuurReiskosten'\r\nimport {\r\n mapDeclaratieOpdrachtnemerToOpdrachtnemerViewModel2, mapOpdrachtNemerViewModel2ToOpdrachtnemer,\r\n} from './mapDeclaratieOpdrachtnemer'\r\nimport { mapToFeestdagenUitkering } from './mapFeestdagenUitkering'\r\nimport { mapSelectedTkbToVerantwoordingsvrijBedrag, mapVerantwoordingsvrijBedrag } from './mapVerantwoordingsvrijBedrag'\r\nimport { mapFactuurReiskostenForDeclaratieConceptViewModel } from '@/domains/declaraties/dataAccess/mappers/mapFactuurReiskostenForDeclaratieConceptViewModel'\r\nimport { mapWooninitiatiefEnkelHuisForDeclaratieConceptViewModel } from './mapWooninitiatiefEnkelHuisForDeclaratieConceptViewModel'\r\n\r\nexport function mapToDeclaratieConceptViewModel (entity: IndienenConceptDeclaratie, declaratieType: DeclaratieType): DeclaratieConceptViewModel {\r\n return {\r\n feestdagenuitkering: entity.feestdagenuitkering && mapFeestdagenUitkeringForDeclaratieConceptViewModel(entity.feestdagenuitkering),\r\n budgethouder: entity.budgethouder && mapBudgethouderReadOnlyViewModel(entity.budgethouder),\r\n declaratieType,\r\n opdrachtnemer: entity.opdrachtnemer && mapDeclaratieOpdrachtnemerToOpdrachtnemerViewModel2(entity.opdrachtnemer),\r\n bijkomendezorgkosten: entity.bijkomendezorgkosten && mapBijkomendeZorgkostenForDeclaratieConceptViewModel(entity.bijkomendezorgkosten),\r\n vrijbesteedbaarBudget: entity.vrijbesteedbaarBudget && mapVerantwoordingsvrijBedragForDeclaratieConceptViewModel(entity.vrijbesteedbaarBudget),\r\n heeftFactuur: entity.heeftFactuur,\r\n factuurReiskosten: entity.factuurReiskosten && mapFactuurReiskostenForDeclaratieConceptViewModel(entity.factuurReiskosten),\r\n zorgdeclaratieMaandopgave: entity.zorgdeclaratieMaandopgave,\r\n datumOndertekening: entity.datumOndertekening,\r\n ondertekendDoorBevoegdeRelatieUid: entity.ondertekendDoorBevoegdeRelatieUid,\r\n ondertekeningStatus: entity.ondertekeningStatus,\r\n conceptId: entity.conceptId,\r\n declaratieConceptStatusType: entity.conceptStatus,\r\n factuurgegevens: entity.factuurgegevens,\r\n heeftVervoersbewijs: entity.heeftVervoersbewijs,\r\n laatsteToelichting: entity.laatsteToelichting,\r\n reiskosten: entity.reiskosten,\r\n wooninitiatiefEnkelHuis: entity.wooninitiatiefEnkelHuis && mapWooninitiatiefEnkelHuisForDeclaratieConceptViewModel(entity.wooninitiatiefEnkelHuis),\r\n isValid: true,\r\n serverErrors: null,\r\n declaratienummer: null,\r\n }\r\n}\r\n\r\nexport function mapFromDeclaratieConceptViewModel (vm: DeclaratieConceptViewModel): IndienenConceptDeclaratie {\r\n const verantwoordingsvrijBedrag = mapVerantwoordingsvrijBedrag(vm)\r\n const verantwoordingsvrijBedragSelectedTkb = verantwoordingsvrijBedrag.beschikbareTkbs.find(a => a.isGeselecteerd)\r\n return {\r\n ...emptyIndienenConceptDeclaratie,\r\n bijkomendezorgkosten: mapToBijkomendeZorgkosten(vm.bijkomendezorgkosten),\r\n budgethouder: vm.budgethouder && mapBudgethouderReadonly(vm.budgethouder),\r\n conceptId: vm.conceptId,\r\n conceptStatus: vm.declaratieConceptStatusType,\r\n declaratieType: vm.declaratieType,\r\n factuurReiskosten: mapToFactuurReiskosten(vm.factuurReiskosten),\r\n feestdagenuitkering: mapToFeestdagenUitkering(vm.feestdagenuitkering),\r\n opdrachtnemer: vm.opdrachtnemer && mapOpdrachtNemerViewModel2ToOpdrachtnemer(vm.opdrachtnemer),\r\n vrijbesteedbaarBudget: verantwoordingsvrijBedragSelectedTkb ? mapSelectedTkbToVerantwoordingsvrijBedrag(verantwoordingsvrijBedrag, verantwoordingsvrijBedragSelectedTkb) : null,\r\n }\r\n}\r\n","import { declaratieClient, declaratieKassabonClient } from '@/dataAccess/clients'\r\nimport { RepositoryBase } from '@/dataAccess/RepositoryBase'\r\nimport { computed } from '@vue/composition-api'\r\nimport { mapIdealSuccess } from './mappers/mapIdealSuccess'\r\nimport { emptyIdealSuccess, IdealSuccess } from './models/indienen/ideal/IdealSuccess'\r\nimport { IdealSuccessExtended } from './models/indienen/ideal/IdealSuccessExtended'\r\nimport { mapKassabon } from './mappers/mapKassabon'\r\nimport { Kassabon } from './models/kassabon/Kassabon'\r\nimport { KassabonRepository } from '../components/kassabon/KassabonRepository'\r\nimport { mapToDeclaratieConceptViewModel } from './mappers/mapIndienenConceptDeclaratie'\r\nimport { emptyIndienenConceptDeclaratie } from './models/indienen/IndienenConceptDeclaratie'\r\nimport { Budgethouder } from '@/domains/account/dataAccess/models/relaties/Budgethouder'\r\nimport { currentUserRepository } from '@/domains/account/dataAccess/CurrentUserRepository'\r\nimport { AbortablePromise } from '@/utils/AbortablePromise'\r\n\r\nexport class IdealSuccessRepository extends RepositoryBase {\r\n public kassabonRepository: KassabonRepository\r\n private naamBegunstigdeKassabon: string | null = null\r\n\r\n constructor (public declaratieUid: string, public betalingskenmerk: string) {\r\n super('IdealSuccessRepository', emptyIdealSuccess)\r\n this.kassabonRepository = new KassabonRepository()\r\n this.addChild(this.kassabonRepository, 'kassabon')\r\n }\r\n\r\n protected doOpen () {\r\n super.doOpen()\r\n return Promise.all([this.triggerUpdateKassabon(), this.getDeclaratie()])\r\n }\r\n\r\n protected doExtendModel (model: IdealSuccessExtended): void {\r\n model.betalingskenmerk = computed(() => this.betalingskenmerk) as any\r\n }\r\n\r\n private async getDeclaratie () {\r\n const declaratieVM = await declaratieClient().getDeclaratie(this.declaratieUid)\r\n this.naamBegunstigdeKassabon = declaratieVM.begunstigdeNaam\r\n this.dataModel = { ...emptyIdealSuccess, ...mapIdealSuccess(declaratieVM) }\r\n }\r\n\r\n private getDeclaratieConcept () {\r\n return mapToDeclaratieConceptViewModel({\r\n ...emptyIndienenConceptDeclaratie,\r\n conceptId: this.model.conceptUid || '',\r\n budgethouder: currentUserRepository().model.effectieveRelatie as Budgethouder,\r\n }, this.dataModel.declaratieType)\r\n }\r\n\r\n private callGetKassabon (declaratieUid: string): AbortablePromise {\r\n return declaratieKassabonClient().callWithAbort((client) =>\r\n client.getByDeclaratieUid(declaratieUid)\r\n .then(data => mapKassabon(data, this.naamBegunstigdeKassabon)))\r\n }\r\n\r\n public triggerUpdateKassabon () {\r\n return this.kassabonRepository.triggerUpdate(\r\n () => this.getDeclaratieConcept(),\r\n () => this.callGetKassabon(this.declaratieUid)\r\n )\r\n }\r\n}\r\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[(_vm.body)?_c('b',{staticClass:\"subtitle\"},[_vm._v(_vm._s(_vm.$t('ingediend.watNu.title')))]):_vm._e(),(_vm.body)?_c('p',{staticClass:\"mb-10 mt-2\",attrs:{\"data-ui\":\"ingediend-body\"}},[_vm._v(\" \"+_vm._s(_vm.body)+\" \")]):_vm._e(),_c('b',{staticClass:\"subtitle\"},[_vm._v(_vm._s(_vm.$t('ingediend.directNaar'))+\":\")]),_c('p-list',{staticClass:\"pl-0 pt-1\"},[_c('p-list-item',{staticClass:\"nav-menu-item\"},[_c('p-router-link',{attrs:{\"to\":{ name: 'IndienenDeclaratie'},\"data-ui\":\"nieuwe-declaratie-link\"}},[_vm._v(\" \"+_vm._s(_vm.$t('buttons.nieuweDeclaratie'))+\" \")])],1),_c('p-list-item',{staticClass:\"nav-menu-item\"},[_c('p-router-link',{attrs:{\"to\":{ name: 'OverzichtDeclaratie'},\"data-ui\":\"overzicht-declaraties-link\"}},[_vm._v(\" \"+_vm._s(_vm.$t('buttons.overzichtDeclaraties'))+\" \")])],1),_c('p-list-item',{staticClass:\"nav-menu-item\"},[_c('p-router-link',{attrs:{\"to\":{ name: 'home'},\"data-ui\":\"home-link\"}},[_vm._v(\" \"+_vm._s(_vm.$t('buttons.home'))+\" \")])],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export default {\r\n messages: {\r\n nl: {\r\n buttons: {\r\n nieuweDeclaratie: 'Nieuwe declaratie',\r\n startpagina: 'Home',\r\n overzichtDeclaraties: 'Overzicht declaraties en maandlonen',\r\n home: 'Home',\r\n },\r\n ingediend: {\r\n watNu: {\r\n title: 'Wat gebeurt er nu?',\r\n },\r\n directNaar: 'Direct naar',\r\n },\r\n },\r\n },\r\n}\r\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { defineComponent } from '@vue/composition-api'\r\nimport i18n from './i18n'\r\n\r\nexport default defineComponent({\r\n name: 'IngediendLinks',\r\n i18n,\r\n props: {\r\n body: { type: String, required: false, default: '' },\r\n },\r\n})\r\n\r\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./IngediendLinks.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./IngediendLinks.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./IngediendLinks.vue?vue&type=template&id=e801f4e2&scoped=true\"\nimport script from \"./IngediendLinks.vue?vue&type=script&lang=ts\"\nexport * from \"./IngediendLinks.vue?vue&type=script&lang=ts\"\nimport style0 from \"./IngediendLinks.vue?vue&type=style&index=0&id=e801f4e2&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"e801f4e2\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"pt-2\",class:[\n 'kassabon',\n { 'kassabon--sticky': _vm.sticky },\n { 'kassabon--updating': _vm.updating } ],attrs:{\"data-ui\":\"kassabon\"}},[(_vm.updating)?_c('div',{staticClass:\"sr-only\",attrs:{\"aria-live\":\"polite\",\"aria-atomic\":\"true\"}},[_vm._v(\" \"+_vm._s(_vm.$t('bijwerken'))+\" \")]):_vm._e(),_c('p-card',{class:[\n 'kassabon__card',\n { 'kassabon__card--hidden-md' : _vm.mobileHidden} ],attrs:{\"title\":\"\",\"heading-level\":\"2\",\"dark\":\"\"}},[(_vm.updating)?_c('p-loading-indicator',{staticClass:\"kassabon__loading-indicator\"}):_vm._e(),_c('template',{slot:\"info\"},[_c('div',{staticClass:\"kassabon__header d-flex flex-grow-1 flex-column\",attrs:{\"aria-live\":\"polite\",\"aria-atomic\":\"true\"}},[_c('div',{staticClass:\"kassabon__header-info d-flex justify-space-between\"},[_c('div',[_vm._v(_vm._s(_vm.$t('declaration')))]),_c('div',{attrs:{\"data-ui\":\"kassabon-header-period\"}},[_vm._v(\" \"+_vm._s(_vm.model.maand)+\" \"+_vm._s(_vm.model.jaar)+\" \")])]),(_vm.model.title)?_c('div',{staticClass:\"kassabon__header-title\",attrs:{\"data-ui\":\"kassabon-header-title\"}},[_c('span',{staticClass:\"font-weight-bold\"},[_vm._v(_vm._s(_vm.model.title))])]):_vm._e()])]),_c('div',{staticClass:\"kassabon__body\"},_vm._l((_vm.model.kassabonBlokken),function(block,key){return _c('kassabon-block',{key:key,staticClass:\"kassabon__block\",attrs:{\"data\":block,\"declaratie-type\":_vm.model.declaratieType}})}),1),_c('div',{staticClass:\"kassabon__total mx-n4 px-4 pb-4 pt-2 mt-6 mb-0\"},[_c('div',{staticClass:\"kassabon__total-werkgeverslasten\",attrs:{\"aria-live\":\"polite\",\"aria-atomic\":\"true\"}},[(_vm.model.hasWerkgeverslastenWithAmount)?_c('div',[_c('div',{staticClass:\"kassabon__total_werkgeverslasten-brutoloon d-flex justify-space-between my-2\",attrs:{\"data-ui\":\"kassabon-brutoloon\"}},[_c('span',[_vm._v(_vm._s(_vm.$t('brutoloon')))]),_c('span',[_vm._v(_vm._s(_vm.$n(_vm.model.totaalBedragDeclaratie, 'currency')))])]),_c('div',{staticClass:\"kassabon__total_werkgeverslasten-totaal d-flex justify-space-between my-2\",attrs:{\"data-ui\":\"kassabon-werkgeverslasten\"}},[_c('span',[_vm._v(_vm._s(_vm.$t('werkgeverslasten')))]),_c('span',[_vm._v(_vm._s(_vm.$n(_vm.model.totaalBedragWerkgeverslasten, 'currency')))])]),_c('p-divider')],1):_vm._e()]),_c('div',{staticClass:\"kassabon__total-amount font-weight-bold d-flex justify-space-between mt-2\",attrs:{\"aria-live\":\"polite\",\"aria-atomic\":\"true\",\"data-ui\":\"kassabon-total-amount\"}},[_c('span',[_vm._v(_vm._s(_vm.$t('declarationTotal')))]),_c('span',{attrs:{\"data-ui\":\"kassabon-totaal-bedrag-declaratie\"}},[_vm._v(\" \"+_vm._s(_vm.$n(_vm.model.totalAmount || _vm.model.totaalBedragDeclaratie, 'currency'))+\" \")])])]),(_vm.model.resterendBijgestortBudget)?_c('div',{staticClass:\"my-5 d-flex justify-space-between kassabon-block__text--small\",attrs:{\"aria-live\":\"polite\",\"aria-atomic\":\"true\",\"data-ui\":\"kassabon-resterende-bijbetaling\"}},[_vm._v(\" \"+_vm._s(_vm.$t('resterendeBijbetaling', {amount: _vm.$n(_vm.model.resterendBijgestortBudget || 0, 'currency')}))+\" \")]):_vm._e(),_c('div',{staticClass:\"kassabon__bijstorten mx-n4 mt-0 mb-0\"},[(_vm.model.showBijstorten)?_c('div',{staticClass:\"kassabon__bijstorten--shortage d-flex pa-4 white--text\",attrs:{\"aria-live\":\"polite\",\"aria-atomic\":\"true\"}},[_c('p-icon',{staticClass:\"white--text mr-4\"},[_vm._v(\" $icon-waarschuwing \")]),_c('div',{staticClass:\"d-flex flex-column\"},[_c('span',{staticClass:\"kassabon__text--small\"},[_vm._v(\" \"+_vm._s(_vm.$t('budgetShortage'))+_vm._s(_vm.model.bijBetalenMetIdealIsMogelijk ? (\" / \" + (_vm.$t('payExtra'))) : '')+\" \")]),_c('span',[_vm._v(_vm._s(_vm.$n(_vm.model.teBetalenBedrag, 'currency')))])])],1):_vm._e(),(_vm.model.totaalBijgestort > 0)?_c('div',{staticClass:\"d-flex justify-space-between kassabon__bijstorten--paid d-flex pa-4 white--text\",attrs:{\"aria-live\":\"polite\",\"aria-atomic\":\"true\",\"data-ui\":\"zelf-bijbetalen\"}},[_c('span',[_vm._v(_vm._s(_vm.$t('paidExtra')))]),_c('span',[_vm._v(_vm._s(_vm.$n(_vm.model.totaalBijgestort, 'currency')))])]):_vm._e()]),(!isNaN(_vm.model.resterendTotaalBudget))?_c('div',{staticClass:\"kassabon__budget-after pa-4 mt-2 mx-n4 mb-n4 white--text d-flex flex-column\",attrs:{\"aria-live\":\"polite\",\"aria-atomic\":\"true\",\"data-ui\":\"kassabon-resterend-totaalbudget\"}},[_c('span',{staticClass:\"kassabon__text--small font-weight-bold\"},[_vm._v(\" \"+_vm._s(_vm.$t('budgetNaDeclaratie'))+\" \")]),_c('span',{staticClass:\"mt-1\"},[_vm._v(_vm._s(_vm.$n(_vm.model.resterendTotaalBudget, 'currency')))])]):_vm._e()],2),_c('div',{staticClass:\"kassabon__mobile-toggle-footer white--text\"},[(_vm.mobileHidden)?_c('div',{staticClass:\"kassabon__mobile-toggle-details pa-4\"},[_c('div',{staticClass:\"d-flex justify-space-between mb-6\"},[_c('span',[_vm._v(_vm._s(_vm.model.maand)+\" \"+_vm._s(_vm.model.jaar))]),_c('button',{staticClass:\"text-decoration-underline\",on:{\"click\":function($event){_vm.mobileHidden = !_vm.mobileHidden}}},[_vm._v(\" \"+_vm._s(_vm.$t('details'))+\" \"),_c('p-icon',{staticClass:\"white--text ml-1\"},[_vm._v(\" $icon-chevron-boven \")])],1)]),_c('div',{staticClass:\"d-flex justify-space-between font-weight-bold\"},[_c('span',[_vm._v(_vm._s(_vm.model.title))]),_c('span',[_vm._v(_vm._s(_vm.$n(_vm.model.totalAmount || _vm.model.totaalBedragDeclaratie, 'currency')))])])]):_c('div',{staticClass:\"kassabon__mobile-toggle-close pa-4\"},[_c('p-button-container',[_c('p-button',{attrs:{\"preset\":\"filled\"},on:{\"click\":function($event){_vm.mobileHidden = !_vm.mobileHidden}}},[_vm._v(\" \"+_vm._s(_vm.$t('hideKassabon'))+\" \")])],1)],1)])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"kassabon-block\"},[_c('div',[_c('span',{staticClass:\"font-weight-bold\",attrs:{\"data-ui\":\"kassabon-wet\"}},[_vm._v(\" \"+_vm._s(_vm.$t((\"wetType.\" + (_vm.data.wetType))))+\" \")])]),_c('div',[(_vm.data.ingangsDatum && _vm.data.eindDatum)?_c('span',{staticClass:\"kassabon-block__period kassabon-block__text--small\",attrs:{\"data-ui\":\"kassabon-budget-periode\"}},[_vm._v(\" \"+_vm._s(_vm.$t(\"blocks.budgetPeriod\", { start: _vm.$d(_vm.data.ingangsDatum, \"short\"), end: _vm.$d(_vm.data.eindDatum, \"short\"), }))+\" \")]):_vm._e(),_c('p-divider',{staticClass:\"mt-2\"})],1),_c('div',{staticClass:\"kassabon-block__declaratie mt-6\",attrs:{\"aria-live\":\"polite\",\"aria-atomic\":\"true\"}},[(_vm.isFeestdagenUitkering)?_c('div',{staticClass:\"mt-4 d-flex justify-space-between kassabon-block__text--small\",attrs:{\"data-ui\":\"kassabon-feestdagen-uitkering-block\"}},[_c('span',[_vm._v(_vm._s(_vm.$t(\"blocks.feestdagenuitkering\"))+\":\")]),_c('span',[_vm._v(_vm._s(_vm.$n(_vm.data.feestdagenUitkering || 0, \"currency\")))])]):(_vm.isBijkomendeZorgkosten)?_c('div',{staticClass:\"mt-4 d-flex justify-space-between kassabon-block__text--small\",attrs:{\"data-ui\":\"kassabon-bijkomende-zorgkosten-block\"}},[_c('span',[_vm._v(_vm._s(_vm.$t(\"blocks.bijkomendezorgkosten\"))+\":\")]),_c('span',[_vm._v(_vm._s(_vm.$n(_vm.data.bijkomendeZorgkosten || 0, \"currency\")))])]):(_vm.isVrijbesteedbaarBudget)?_c('div',{staticClass:\"mt-4 d-flex justify-space-between kassabon-block__text--small\",attrs:{\"data-ui\":\"kassabon-verantwoordingsvrij-bedrag-block\"}},[_c('span',[_vm._v(_vm._s(_vm.$t(\"blocks.vrijbesteedbaarBudget\"))+\":\")]),_c('span',[_vm._v(_vm._s(_vm.$n(_vm.data.vrijBesteedbaarBudget || 0, \"currency\")))])]):(_vm.isFactuurReiskosten)?_c('div',{staticClass:\"mt-4 d-flex justify-space-between kassabon-block__text--small\",attrs:{\"data-ui\":\"kassabon-factuur-reiskosten-block\"}},[_c('span',[_vm._v(_vm._s(_vm.$t('blocks.factuurReiskosten'))+\":\")]),_c('span',[_vm._v(_vm._s(_vm.$n(_vm.data.factuurReiskosten, 'currency')))])]):_vm._e()])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import domainI18n from '@/domains/i18n'\r\nimport { mergeI18nDeep } from '@/utils/i18nUtils'\r\n\r\nconst i18n = {\r\n messages: {\r\n\r\n nl: {\r\n declaration: 'Declaratie',\r\n buttons: {\r\n home: 'Home',\r\n startpagina: 'Home',\r\n nieuweDeclaratie: 'Nieuwe declaratie',\r\n overzichtDeclaraties: 'Overzicht declaraties en maandlonen',\r\n indienen: 'Indienen',\r\n },\r\n links: {\r\n bekijkDeclaratieoverzicht: 'Bekijk declaratieoverzicht',\r\n bekijkBudgetoverzicht: 'Bekijk budgetoverzicht',\r\n },\r\n },\r\n },\r\n}\r\n\r\nmergeI18nDeep(i18n, domainI18n)\r\n\r\nexport default i18n\r\n","import declaratiesI18n from '@/domains/declaraties/i18n'\r\nimport { mergeI18nDeep } from '@/utils/i18nUtils'\r\n\r\nconst i18n = {\r\n messages: {\r\n nl: {\r\n brutoloon: 'Brutoloon',\r\n werkgeverslasten: 'Werkgeverslasten',\r\n declarationTotal: 'Totale declaratie',\r\n werkgeverslastenNotCalculated: 'De werkgeverslasten zijn nog niet meegerekend. Deze worden op de controlestap berekend',\r\n budgetNaDeclaratie: 'Budget na declaratie',\r\n resterendeBijbetaling: 'Wordt betaald van resterende bijbetaling {amount}',\r\n budgetShortage: 'Budget tekort',\r\n payExtra: 'Zelf bijbetalen',\r\n paidExtra: 'Zelf bijbetaald',\r\n hideKassabon: 'Verberg kassabon',\r\n details: 'Details',\r\n bijwerken: 'Kassabon wordt bijgewerkt',\r\n blocks: {\r\n budgetPeriod: 'Budget: {start} t/m {end}',\r\n feestdagenuitkering: 'Feestdagenuitkering',\r\n bijkomendezorgkosten: 'Bijkomende zorgkosten',\r\n vrijbesteedbaarBudget: 'Verantwoordingsvrij bedrag',\r\n factuurReiskosten: 'Reiskosten budgethouder',\r\n },\r\n },\r\n },\r\n}\r\n\r\nexport default mergeI18nDeep(i18n, declaratiesI18n)\r\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { computed, defineComponent } from '@vue/composition-api'\r\nimport i18n from './i18n'\r\nimport { DeclaratieType } from '@/_generated/portalClient'\r\nimport { KassabonDeclaratieBlok } from '@/domains/declaraties/dataAccess/models/kassabon/KassabonBlok'\r\n\r\nexport default defineComponent({\r\n name: 'KassabonBlock',\r\n i18n,\r\n props: {\r\n data: { type: Object as () => KassabonDeclaratieBlok, required: true },\r\n declaratieType: { type: Number as () => DeclaratieType, required: true },\r\n },\r\n setup (props) {\r\n return {\r\n isFeestdagenUitkering: computed(() => props.declaratieType === DeclaratieType.Feestdagenuitkering),\r\n isBijkomendeZorgkosten: computed(() => props.declaratieType === DeclaratieType.BijkomendeZorgkosten),\r\n isVrijbesteedbaarBudget: computed(() => props.declaratieType === DeclaratieType.VrijbesteedbaarBudget),\r\n isFactuurReiskosten: computed(() => props.declaratieType === DeclaratieType.FactuurReiskosten),\r\n }\r\n },\r\n})\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./KassabonBlock.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./KassabonBlock.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./KassabonBlock.vue?vue&type=template&id=31d05665\"\nimport script from \"./KassabonBlock.vue?vue&type=script&lang=ts\"\nexport * from \"./KassabonBlock.vue?vue&type=script&lang=ts\"\nimport style0 from \"./KassabonBlock.vue?vue&type=style&index=0&id=31d05665&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { defineComponent, ref, Ref } from '@vue/composition-api'\r\nimport KassabonBlock from './KassabonBlock.vue'\r\nimport i18n from './i18n'\r\nimport { Kassabon } from '@/domains/declaraties/dataAccess/models/kassabon/Kassabon'\r\n\r\nexport default defineComponent({\r\n components: { KassabonBlock },\r\n name: 'Kassabon',\r\n i18n,\r\n props: {\r\n data: { type: Object as () => Kassabon, default: null },\r\n isUpdating: { type: Object as () => Ref, default: () => ref(false) },\r\n sticky: { type: Boolean, default: false },\r\n },\r\n setup (props) {\r\n const mobileHidden = ref(true)\r\n\r\n return {\r\n mobileHidden,\r\n model: props.data,\r\n updating: props.isUpdating,\r\n }\r\n },\r\n})\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Kassabon.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Kassabon.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./Kassabon.vue?vue&type=template&id=096f5192\"\nimport script from \"./Kassabon.vue?vue&type=script&lang=ts\"\nexport * from \"./Kassabon.vue?vue&type=script&lang=ts\"\nimport style0 from \"./Kassabon.vue?vue&type=style&index=0&id=096f5192&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { defineComponent } from '@vue/composition-api'\r\nimport i18n from './i18n'\r\nimport { useRouter } from 'phoenix'\r\nimport useDeclaratieHelpPanelItems from '@/domains/declaraties/pages/helpPanels/useDeclaratieHelpPanelItems'\r\nimport { IdealSuccessRepository } from '@/domains/declaraties/dataAccess/IdealSuccessRepository'\r\nimport IngediendLinks from '@/domains/declaraties/pages/indienen/components/IngediendLinks.vue'\r\nimport Kassabon from '@/domains/declaraties/components/kassabon/Kassabon.vue'\r\n\r\nexport default defineComponent({\r\n name: 'IdealSuccess',\r\n i18n,\r\n components: {\r\n IngediendLinks,\r\n Kassabon,\r\n },\r\n setup () {\r\n const { route, router } = useRouter()\r\n const helpPanelItems = useDeclaratieHelpPanelItems()\r\n\r\n const idealSuccessRepository = new IdealSuccessRepository(route.params.id, route.params.betalingskenmerk)\r\n idealSuccessRepository.open()\r\n\r\n return {\r\n newDeclaratie: () => { router.go() },\r\n pageTitle: `pageTitle.${route.params.type}`,\r\n helpPanelItems,\r\n idealSuccessRepository,\r\n isReady: idealSuccessRepository.isReadyRef,\r\n }\r\n },\r\n})\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./IdealSuccess.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./IdealSuccess.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./IdealSuccess.vue?vue&type=template&id=541a2f8a\"\nimport script from \"./IdealSuccess.vue?vue&type=script&lang=ts\"\nexport * from \"./IdealSuccess.vue?vue&type=script&lang=ts\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('page-layout-standard',{attrs:{\"page-title\":_vm.$t('pageTitle')}},[(!_vm.isReady)?_c('div',{staticClass:\"text-center\"},[_c('p-loading-indicator')],1):_vm._e(),(_vm.isReady)?_c('p-stepper',{attrs:{\"headers\":[_vm.$t('indienen.pageSecondaryTitle'), _vm.$t('verification'), _vm.$t('submitted')],\"submit-label\":_vm.$t('submit'),\"navigate-step\":_vm.stepRouter.stepNumber},on:{\"navigate\":_vm.stepRouter.navigate},scopedSlots:_vm._u([{key:\"default\",fn:function(){return [_c('p-step',[_c('upload-factuur-opstellen',{attrs:{\"repository\":_vm.repository}})],1),_c('p-step',{attrs:{\"submit\":\"\"}},[_c('upload-factuur-controleren',{attrs:{\"repository\":_vm.repository}})],1),_c('p-step',{attrs:{\"complete\":\"\"}},[_c('upload-factuur-succes')],1)]},proxy:true},{key:\"done\",fn:function(ref){\nvar state = ref.state;\nreturn [(!state.failed)?_c('div',[_c('div',[_c('p-button',{staticClass:\"mb-4\",attrs:{\"data-ui\":\"button-to-NieuweFactuur\",\"exact\":\"\"},on:{\"click\":_vm.newFactuur}},[_vm._v(\" \"+_vm._s(_vm.$t('buttons.nieuweFactuur'))+\" \")])],1),_c('div',[_c('p-button',{staticClass:\"mb-4\",attrs:{\"data-ui\":\"button-to-StartPagina\",\"href\":\"/\"}},[_vm._v(\" \"+_vm._s(_vm.$t('buttons.startpagina'))+\" \")])],1)]):_vm._e()]}}],null,false,653686756)}):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"upload-factuur-opstellen\"},[_c('h2',[_vm._v(_vm._s(_vm.$t('indienen.pageSecondaryTitle')))]),_c('p-card',{staticClass:\"mb-6 mt-6\",attrs:{\"title\":_vm.$t('cardTitle'),\"heading-level\":\"3\"}},[_c('div',{staticClass:\"upload-factuur-opstellen__information mb-13 mt-6\"},[_c('p-alert',{attrs:{\"type\":\"info\",\"aria-live\":\"off\"}},[_c('div',[_vm._v(_vm._s(_vm.$t('indienen.indienenDeclaratie')))]),_c('p-button',{staticClass:\"mt-4\",attrs:{\"small\":\"\",\"to\":{name: 'IndienenDeclaratie'},\"preset\":\"filled\",\"data-ui\":\"button-to-DeclaratieIndienen\"}},[_vm._v(\" \"+_vm._s(_vm.$t('indienen.indienenDeclaratieButton'))+\" \")])],1),_c('ul',{staticClass:\"upload-factuur-opstellen__list my-9\"},[_c('li',[_vm._v(_vm._s(_vm.$t(\"indienen.infoList.declareren\")))]),_c('li',[_c('i18n',{attrs:{\"path\":\"indienen.infoList.voorwaarden.text\"}},[_c('a',{attrs:{\"href\":\"https://www.mijnpgb.nl/onderwerpen/zorgverleners/voorwaarden-factuur\",\"data-ui\":\"link-to-VoorwaardenFactuur\"}},[_vm._v(_vm._s(_vm.$t('indienen.infoList.voorwaarden.link')))])])],1),_c('li',[_vm._v(_vm._s(_vm.$t(\"indienen.infoList.handtekening\")))]),_c('li',[_vm._v(_vm._s(_vm.$t(\"indienen.infoList.indienenDeclaratie\")))])]),_c('p-dialog',{attrs:{\"persistent\":false,\"title\":_vm.$t('indienen.verschillen.dialog.title'),\"wide\":\"\",\"data-ui\":\"dialog-for-DeclaratieIndienenVerschillen\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nvar attrs = ref.attrs;\nreturn [_c('p-button',_vm._g(_vm._b({attrs:{\"type\":\"button\",\"small\":\"\",\"data-ui\":\"link-to-DeclaratieIndienenVerschillen\"}},'p-button',attrs,false),on),[_vm._v(\" \"+_vm._s(_vm.$t('indienen.verschillen.button'))+\" \")])]}}])},[_c('h4',{staticClass:\"mb-2\"},[_vm._v(\" \"+_vm._s(_vm.$t('indienen.verschillen.dialog.indienenList.title'))+\" \")]),_c('ul',{staticClass:\"mb-8\"},[_c('li',[_vm._v(_vm._s(_vm.$t(\"indienen.verschillen.dialog.indienenList.item1\")))]),_c('li',[_vm._v(_vm._s(_vm.$t(\"indienen.verschillen.dialog.indienenList.item2\")))]),_c('li',[_vm._v(_vm._s(_vm.$t(\"indienen.verschillen.dialog.indienenList.item3\")))]),_c('li',[_vm._v(_vm._s(_vm.$t(\"indienen.verschillen.dialog.indienenList.item4\")))]),_c('li',[_vm._v(_vm._s(_vm.$t(\"indienen.verschillen.dialog.indienenList.item5\")))]),_c('li',[_vm._v(_vm._s(_vm.$t(\"indienen.verschillen.dialog.indienenList.item6\")))])]),_c('h4',{staticClass:\"mb-2\"},[_vm._v(\" \"+_vm._s(_vm.$t('indienen.verschillen.dialog.uploadenList.title'))+\" \")]),_c('ul',[_c('li',[_vm._v(_vm._s(_vm.$t(\"indienen.verschillen.dialog.uploadenList.item1\")))]),_c('li',[_vm._v(_vm._s(_vm.$t(\"indienen.verschillen.dialog.uploadenList.item2\")))]),_c('li',[_vm._v(_vm._s(_vm.$t(\"indienen.verschillen.dialog.uploadenList.item3\")))]),_c('li',[_vm._v(_vm._s(_vm.$t(\"indienen.verschillen.dialog.uploadenList.item4\")))]),_c('li',[_vm._v(_vm._s(_vm.$t(\"indienen.verschillen.dialog.uploadenList.item5\")))]),_c('li',[_vm._v(_vm._s(_vm.$t(\"indienen.verschillen.dialog.uploadenList.item6\")))]),_c('li',[_vm._v(_vm._s(_vm.$t(\"indienen.verschillen.dialog.uploadenList.item7\")))])])])],1),_c('p-form',{ref:\"formRef\"},[_c('p-text-field',{staticClass:\"input-width-3\",attrs:{\"id\":\"factuur-nummer\",\"data-ui\":\"factuurnummer\",\"label\":_vm.$t('labels.factuurNummer'),\"hint\":_vm.$t('hint.factuurNummer'),\"validation\":_vm.factuur.validations.factuurNummer},on:{\"focus\":function($event){return $event.target.select()}},model:{value:(_vm.factuur.factuurNummer),callback:function ($$v) {_vm.$set(_vm.factuur, \"factuurNummer\", $$v)},expression:\"factuur.factuurNummer\"}}),_c('p-date-picker',{staticClass:\"input-width-3\",attrs:{\"id\":\"factuur-datum\",\"label\":_vm.$t('labels.factuurDatum'),\"validation\":_vm.factuur.validations.factuurDatum},model:{value:(_vm.factuur.factuurDatum),callback:function ($$v) {_vm.$set(_vm.factuur, \"factuurDatum\", $$v)},expression:\"factuur.factuurDatum\"}}),_c('file-upload',{attrs:{\"id\":\"factuur-file-upload\",\"data-ui\":\"factuur-upload\",\"label\":_vm.$t('labels.factuurUploaden'),\"extensions\":_vm.extensions,\"validation\":_vm.factuur.validations.bestanden,\"max-number-of-files\":_vm.maxNumberOfFiles},on:{\"uploadingInProgress\":function (isUploading) { return _vm.uploadingInProgress = isUploading; }},model:{value:(_vm.factuur.bestanden),callback:function ($$v) {_vm.$set(_vm.factuur, \"bestanden\", $$v)},expression:\"factuur.bestanden\"}})],1)],1),_c('p-notify-required-field')],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('p-file-upload',_vm._b({attrs:{\"id\":_vm.id,\"label\":_vm.label,\"service\":{ uploadFile: _vm.uploadFile, downloadFile: _vm.downloadFile, removeFile: _vm.removeFile },\"multiple\":true,\"size\":_vm.maxFileSize,\"total-size\":_vm.maxTotalSize,\"total-files\":_vm.maxNumberOfFiles},model:{value:(_vm.files),callback:function ($$v) {_vm.files=$$v},expression:\"files\"}},'p-file-upload',_vm.$attrs,false))],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { MimeType } from '@/_generated/portalClient'\r\nimport { IVueUploadItem } from 'phoenix/types/library/PFileUpload/FileUpload'\r\nimport { Document } from '../models/Document'\r\n\r\nconst contentType = {\r\n [MimeType.Onbekend]: '',\r\n [MimeType.Jpeg]: 'image/jpeg',\r\n [MimeType.Pjpeg]: 'image/pjpeg',\r\n [MimeType.Png]: 'image/png',\r\n [MimeType.Tiff]: 'image/tiff',\r\n [MimeType.Pdf]: 'application/pdf',\r\n [MimeType.WordDoc]: 'application/msword',\r\n [MimeType.WordDocx]: 'application/vnd.openxmlformats-officedocument.wordprocessingml.document',\r\n [MimeType.Xml]: 'application/xml',\r\n}\r\n\r\nexport function mapVueUploadItem (document: Document): IVueUploadItem {\r\n return {\r\n id: document.imprintnummer as string,\r\n fileObject: false,\r\n file: new File([], document.filename || ''),\r\n name: document.filename || '',\r\n size: 0,\r\n type: contentType[document.mime],\r\n error: '',\r\n success: true,\r\n isArchived: true,\r\n response: {},\r\n }\r\n}\r\n","import { ref, watch } from '@vue/composition-api'\r\nimport { useI18n } from 'phoenix'\r\nimport { IUseI18n } from 'phoenix/types/composables/useI18n'\r\nimport { IVueUploadItem } from 'phoenix/types/library/PFileUpload/FileUpload'\r\nimport { Document } from '@/domains/remoteFile/dataAccess/models/Document'\r\nimport { FileStateType } from '@/_generated/portalClient'\r\nimport { RemoteFileService, currentRemoteFileService } from '@/domains/remoteFile/dataAccess/RemoteFileService'\r\nimport { mapVueUploadItem } from '@/domains/remoteFile/dataAccess/mappers/mapVueUploadItem'\r\n\r\nexport class UseFileUpload {\r\n private readonly _i18n: IUseI18n\r\n private _files = ref([])\r\n private _archivedFiles = ref([])\r\n private _uploadedFiles = ref([])\r\n private _uploadingInProgress = ref(false)\r\n private _remoteFileService: RemoteFileService = currentRemoteFileService()\r\n private _emit: (event: string, ...args: any[]) => void\r\n\r\n constructor (\r\n fileDocuments: Document[],\r\n eventEmitter: (event: string, ...args: any[]) => void,\r\n i18n = useI18n()\r\n ) {\r\n this._i18n = i18n\r\n this._archivedFiles.value = fileDocuments\r\n this._emit = eventEmitter\r\n this.init()\r\n }\r\n\r\n protected init () {\r\n this._files.value = this._archivedFiles.value\r\n .filter((doc: Document) => (\r\n doc && doc.imprintnummer && doc.filename && [FileStateType.Valid, FileStateType.Uploaded].includes(doc.state)\r\n ))\r\n .map(mapVueUploadItem)\r\n\r\n watch(() => this._files.value, () => {\r\n this._emit('input', this._files.value)\r\n })\r\n }\r\n\r\n protected uploadFile (vueUploadItem: IVueUploadItem) {\r\n if (!this._uploadingInProgress.value) {\r\n this._uploadingInProgress.value = true\r\n this._emit('uploadingInProgress', true)\r\n }\r\n return this._remoteFileService.uploadFile(vueUploadItem.file)\r\n .then(id => {\r\n vueUploadItem.response = { id }\r\n this._uploadedFiles.value.push(id)\r\n if (this._uploadedFiles.value.length === this._files.value.length) {\r\n this._uploadingInProgress.value = false\r\n this._emit('uploadingInProgress', false)\r\n }\r\n })\r\n .catch(() => { vueUploadItem.error = this._i18n.t('errorMessages.unknownError') })\r\n }\r\n\r\n protected async downloadFile (vueUploadItem: IVueUploadItem) {\r\n if (vueUploadItem.response.id) {\r\n return this._remoteFileService.downloadTemporaryFile(vueUploadItem.response.id)\r\n }\r\n if (vueUploadItem.isArchived) {\r\n const document = this._archivedFiles.value.find((d: Document) => d.imprintnummer === vueUploadItem.id)\r\n if (document) {\r\n return this._remoteFileService.downloadArchivedFile(document)\r\n }\r\n }\r\n }\r\n\r\n protected removeFile (vueUploadItem: IVueUploadItem) {\r\n if (vueUploadItem.response.id) {\r\n this._uploadedFiles.value = this._uploadedFiles.value.filter(id => id !== vueUploadItem.response.id)\r\n return this._remoteFileService.removeFile(vueUploadItem.response.id)\r\n }\r\n if (vueUploadItem.isArchived) {\r\n this._emit('removeArchivedFile', vueUploadItem.id)\r\n }\r\n }\r\n\r\n extractComposable () {\r\n return {\r\n files: this._files,\r\n uploadFile: this.uploadFile.bind(this),\r\n downloadFile: this.downloadFile.bind(this),\r\n removeFile: this.removeFile.bind(this),\r\n }\r\n }\r\n}\r\n\r\nexport function useFileUpload (\r\n fileDocuments: Document[],\r\n eventEmitter: (event: string, ...args: any[]) => void,\r\n i18n = useI18n()\r\n) {\r\n return new UseFileUpload(fileDocuments, eventEmitter, i18n).extractComposable()\r\n}\r\n","export default {\r\n messages: {\r\n nl: {\r\n errorMessages: {\r\n unknownError: 'Er heeft zich een onbekende fout voorgedaan tijdens het uploaden van dit bestand',\r\n required: 'U moet minimaal 1 bestand kiezen',\r\n },\r\n },\r\n },\r\n}\r\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { defineComponent } from '@vue/composition-api'\r\nimport { Document } from '@/domains/remoteFile/dataAccess/models/Document'\r\nimport { useFileUpload } from './useFileUpload'\r\nimport i18n from './i18n'\r\n\r\nexport default defineComponent({\r\n name: 'FileUpload',\r\n i18n,\r\n props: {\r\n value: { type: Array, required: true },\r\n label: { type: String, required: true },\r\n id: { type: String, default: null },\r\n archivedFiles: { type: Array as () => Document[], default: () => [] },\r\n maxNumberOfFiles: { type: Number, default: null },\r\n },\r\n setup (props, { emit }) {\r\n const mb = 1024 * 1024\r\n\r\n return {\r\n maxFileSize: 10 * mb,\r\n maxTotalSize: 25 * mb,\r\n ...useFileUpload(props.archivedFiles, emit),\r\n }\r\n },\r\n})\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FileUpload.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FileUpload.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./FileUpload.vue?vue&type=template&id=60f72804\"\nimport script from \"./FileUpload.vue?vue&type=script&lang=ts\"\nexport * from \"./FileUpload.vue?vue&type=script&lang=ts\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import declaratiesIndienenI18n from '@/domains/declaraties/i18n'\r\nimport { mergeI18nDeep } from '@/utils/i18nUtils'\r\n\r\nconst i18n = {\r\n messages: {\r\n nl: {\r\n pageTitle: 'Uploaden factuur geleverde zorg (en reiskosten)',\r\n buttons: {\r\n nieuweFactuur: 'Nieuwe factuur',\r\n },\r\n cardTitle: 'Factuurgegevens',\r\n labels: {\r\n factuurNummer: 'Factuurnummer',\r\n factuurDatum: 'Factuurdatum',\r\n factuurUploaden: 'Factuur uploaden',\r\n factuur: 'Factuur',\r\n },\r\n hint: {\r\n factuurNummer: 'U mag letters en cijfers en de volgende tekens gebruiken: / - ? : ( ) . , \\' +',\r\n },\r\n indienen: {\r\n pageSecondaryTitle: 'Factuur',\r\n indienenDeclaratie: 'Directe verwerking en snelle uitbetaling? Kies voor indienen declaratie.',\r\n indienenDeclaratieButton: 'Indienen declaratie',\r\n infoList: {\r\n declareren: 'U mag één keer per maand zorg- en reiskosten declareren voor deze zorgverlener.\\n' +\r\n 'Dit geldt voor het indienen van een declaratie via de pagina\\'s ‘Uploaden factuur’ en ‘Indienen declaratie’.',\r\n voorwaarden: {\r\n text: 'Voor snelle verwerking voldoet de factuur aan deze {0}.',\r\n link: 'voorwaarden',\r\n },\r\n handtekening: 'Facturen hebben geen handtekening nodig.',\r\n indienenDeclaratie: 'Declaraties kunt u ook invoeren via ‘Indienen declaratie’.',\r\n },\r\n verschillen: {\r\n button: 'Verschillen met indienen declaratie',\r\n dialog: {\r\n title: 'Het verschil tussen indienen declaratie en uploaden factuur',\r\n indienenList: {\r\n title: 'Indienen declaratie:',\r\n item1: 'U uploadt uw factuur en u voert zelf in hoeveel zorg er is geleverd.',\r\n item2: 'Uw declaratie wordt direct gecontroleerd door het portaal.',\r\n item3: 'U ziet direct hoeveel budget u overhoudt na de declaratie en of u wel voldoende budget heeft.',\r\n item4: 'U kunt bij een tekort aan budget direct via iDEAL geld bijstorten.',\r\n item5: 'Uw declaratie wordt direct ingepland voor uitbetaling.',\r\n item6: 'U ziet uw declaratie direct terug op de pagina ‘Overzicht declaraties en maandlonen’.',\r\n },\r\n uploadenList: {\r\n title: 'Uploaden factuur:',\r\n item1: 'U hoeft alleen uw factuur te uploaden.',\r\n item2: 'De SVB krijgt daarna een opdracht om uw factuur te verwerken.',\r\n item3: 'U ziet niet hoeveel budget u overhoudt na de declaratie en of u wel voldoende budget heeft.',\r\n item4: 'U weet niet direct of uw factuur wordt goedgekeurd.',\r\n item5: 'De SVB verwerkt uw factuur.',\r\n item6: 'De SVB voert de geleverde zorg in en beoordeelt de declaratie.',\r\n item7: 'Na goedkeuring wordt de declaratie pas ingepland voor uitbetaling.',\r\n },\r\n },\r\n },\r\n },\r\n controle: {\r\n pageSecondaryTitle: 'Controle',\r\n },\r\n success: {\r\n pageSecondaryTitle: 'Ingediend',\r\n successMessage: 'Uw factuur is ingediend bij de SVB.',\r\n continueTitle: 'Wat gebeurt er nu?',\r\n continueText: \"Na ongeveer een uur ziet u uw factuur terug op de pagina 'Overzicht berichten' als verzonden bericht. \" +\r\n 'De factuur zal worden verwerkt door de SVB. Dit is pas mogelijk na de maand waarover de declaratie gaat. ' +\r\n 'De SVB beoordeelt of deze declaratie kan worden goedgekeurd. Als de declaratie wordt goedgekeurd, wordt de betaling ingepland.',\r\n },\r\n errorMessages: {\r\n factuurNummer: {\r\n emptyField: 'Het factuurnummer is nog niet ingevuld. Vul het factuurnummer in.',\r\n maxLength: 'Het factuurnummer mag maximaal 50 karakters zijn.',\r\n },\r\n factuurDatum: {\r\n emptyDate: 'De factuurdatum is nog niet ingevuld. Vul de factuurdatum in.',\r\n maxDate: 'De factuurdatum mag niet in de toekomst liggen.',\r\n minDate: 'U kunt in het PGB Portaal geen factuur opsturen van voor 01-01-2018. Neem contact op met de SVB over deze factuur.',\r\n },\r\n },\r\n },\r\n },\r\n}\r\n\r\nmergeI18nDeep(i18n, declaratiesIndienenI18n)\r\n\r\nexport default i18n\r\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { defineComponent, ref } from '@vue/composition-api'\r\nimport { UploadFactuurRepository } from '@/domains/declaraties/dataAccess/UploadFactuurRepository'\r\nimport FileUpload from '@/components/entities/FileUpload/FileUpload.vue'\r\nimport i18n from './i18n'\r\nimport { useReadyToProceedOnValidate } from '@/composables/useReadyToProceedOnValidate'\r\n\r\nexport default defineComponent({\r\n name: 'UploadFactuurOpstellen',\r\n components: { FileUpload },\r\n i18n,\r\n props: {\r\n repository: { type: Object as () => UploadFactuurRepository, required: true },\r\n },\r\n setup (props: { repository: UploadFactuurRepository }) {\r\n const formRef = ref(null)\r\n const extensions = ['jpg', 'jpeg', 'tif', 'tiff', 'png', 'pdf', 'doc', 'docx']\r\n const uploadingInProgress = ref(false)\r\n const maxNumberOfFiles = 10\r\n\r\n return {\r\n formRef,\r\n ...useReadyToProceedOnValidate({ repository: props.repository }),\r\n showModal: ref(false),\r\n extensions,\r\n factuur: props.repository.model,\r\n uploadingInProgress,\r\n maxNumberOfFiles,\r\n }\r\n },\r\n})\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UploadFactuurOpstellen.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UploadFactuurOpstellen.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./UploadFactuurOpstellen.vue?vue&type=template&id=dcbd2e00&scoped=true\"\nimport script from \"./UploadFactuurOpstellen.vue?vue&type=script&lang=ts\"\nexport * from \"./UploadFactuurOpstellen.vue?vue&type=script&lang=ts\"\nimport style0 from \"./UploadFactuurOpstellen.vue?vue&type=style&index=0&id=dcbd2e00&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"dcbd2e00\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('h2',{directives:[{name:\"a11y-focusable\",rawName:\"v-a11y-focusable\",value:({dictate: (\"Stap 2 - \" + (_vm.$t('controle.pageSecondaryTitle')))}),expression:\"{dictate: `Stap 2 - ${$t('controle.pageSecondaryTitle')}`}\"}]},[_vm._v(\" \"+_vm._s(_vm.$t('controle.pageSecondaryTitle'))+\" \")]),_c('p-card',{staticClass:\"mb-6 mt-6\",attrs:{\"title\":_vm.$t('cardTitle'),\"heading-level\":\"3\"}},[_c('p-container',[_c('p-value-grid',[_c('p-value-row',{attrs:{\"data-ui\":\"upload-factuur-controleren-factuurNummer\",\"label\":_vm.$t('labels.factuurNummer'),\"value\":_vm.model.factuurNummer}}),_c('p-value-row',{attrs:{\"data-ui\":\"upload-factuur-controleren-factuurDatum\",\"label\":_vm.$t('labels.factuurDatum'),\"value\":_vm.$d(_vm.model.factuurDatum, 'long')}}),_c('p-value-row',{attrs:{\"label\":_vm.$t('labels.factuur'),\"ellipsis\":\"\"}},_vm._l((_vm.model.bestanden),function(file){return _c('a',{key:file.response.id,staticClass:\"d-block mb-2 text-truncate\",attrs:{\"href\":\"#\",\"title\":file.name,\"data-ui\":\"upload-factuur-controleren-download-link\"},on:{\"click\":function($event){$event.preventDefault();return (function () { return _vm.downloadFile(file.response.id); }).apply(null, arguments)}}},[_vm._v(\" \"+_vm._s(file.name)+\" \")])}),0)],1)],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport i18n from './i18n'\r\nimport { defineComponent, toRefs } from '@vue/composition-api'\r\nimport { UploadFactuurRepository } from '@/domains/declaraties/dataAccess/UploadFactuurRepository'\r\nimport { registerStepComponent } from 'phoenix'\r\n\r\nexport default defineComponent({\r\n name: 'UploadFactuurControleren',\r\n i18n,\r\n props: {\r\n repository: { type: Object as () => UploadFactuurRepository, required: true },\r\n },\r\n setup (props: { repository: UploadFactuurRepository }) {\r\n const { repository } = toRefs(props)\r\n const model = repository.value.modelRef\r\n\r\n let savePromise: Promise | null = null\r\n\r\n async function indienen (): Promise {\r\n if (!savePromise) {\r\n savePromise = repository.value.submitFactuur()\r\n .then(() => true)\r\n .catch(() => false)\r\n .finally(() => {\r\n savePromise = null\r\n })\r\n }\r\n return savePromise\r\n }\r\n\r\n registerStepComponent({ readyToProceed: indienen })\r\n\r\n return {\r\n model,\r\n downloadFile: (id: string) => {\r\n repository.value.downloadUploadedFile(id)\r\n },\r\n }\r\n },\r\n})\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UploadFactuurControleren.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UploadFactuurControleren.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./UploadFactuurControleren.vue?vue&type=template&id=73dcb055\"\nimport script from \"./UploadFactuurControleren.vue?vue&type=script&lang=ts\"\nexport * from \"./UploadFactuurControleren.vue?vue&type=script&lang=ts\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('h2',{directives:[{name:\"a11y-focusable\",rawName:\"v-a11y-focusable\",value:({dictate: (\"Stap 3 - \" + (_vm.$t('success.pageSecondaryTitle')))}),expression:\"{dictate: `Stap 3 - ${$t('success.pageSecondaryTitle')}`}\"}]},[_vm._v(\" \"+_vm._s(_vm.$t('success.pageSecondaryTitle'))+\" \")]),_c('p-alert',{staticClass:\"mb-6 mt-6\",attrs:{\"aria-live\":\"off\",\"data-ui\":\"upload-factuur-success\",\"role\":\"status\",\"type\":\"success\"}},[_vm._v(\" \"+_vm._s(_vm.$t('success.successMessage'))+\" \")]),_c('div',{staticClass:\"mt-10 mb-6\"},[_c('h3',{staticClass:\"mb-6\"},[_vm._v(\" \"+_vm._s(_vm.$t('success.continueTitle'))+\" \")]),_c('p',[_vm._v(_vm._s(_vm.$t('success.continueText')))])])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { defineComponent } from '@vue/composition-api'\r\nimport i18n from './i18n'\r\n\r\nexport default defineComponent({\r\n name: 'UploadFactuurSuccess',\r\n i18n,\r\n})\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UploadFactuurSucces.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UploadFactuurSucces.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./UploadFactuurSucces.vue?vue&type=template&id=e9f1ae96\"\nimport script from \"./UploadFactuurSucces.vue?vue&type=script&lang=ts\"\nexport * from \"./UploadFactuurSucces.vue?vue&type=script&lang=ts\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import { FactuurgegevensViewModel, FactuurgegevensWithBudgethouderUidViewModel } from '@/_generated/portalClient'\r\nimport { UploadFactuur } from '../models/indienen/UploadFactuur'\r\nimport { dateStringOrEmpty } from 'Phoenix'\r\nimport { mapOverzichtDocumentViewModel } from '@/domains/remoteFile/mocks/mappers/mapDocumentViewModel'\r\nimport { mapVueUploadItemToFileUploadViewModel } from '@/domains/remoteFile/dataAccess/mappers/remoteFileMappers'\r\n\r\nexport function mapUploadFactuurViewModel (uploadFactuur: UploadFactuur): FactuurgegevensViewModel {\r\n return {\r\n factuurdatum: dateStringOrEmpty(uploadFactuur.factuurDatum),\r\n factuurnummer: uploadFactuur.factuurNummer,\r\n gearchiveerdeBestanden: uploadFactuur.gearchiveerdeBestanden ? uploadFactuur.gearchiveerdeBestanden.map(mapOverzichtDocumentViewModel) : [],\r\n bestanden: mapVueUploadItemToFileUploadViewModel(uploadFactuur.bestanden),\r\n }\r\n}\r\n\r\nexport function mapUploadFactuurWithBudgethouderUidViewModel (budgethouderUid: string, data: UploadFactuur): FactuurgegevensWithBudgethouderUidViewModel {\r\n return {\r\n budgethouderUid,\r\n ...mapUploadFactuurViewModel(data),\r\n }\r\n}\r\n","import { IModelExtensions } from '../IModelExtensions'\r\nimport { FieldValidator } from './FieldValidator'\r\n\r\nexport class UploadFieldValidator> extends FieldValidator {}\r\n","import { ExtendedValidationResult } from '@/dataAccess/validation/ModelValidator'\r\nimport { ValidationErrorViewModel, ValidationResult } from '@/_generated/portalClient'\r\n\r\nexport function mapExtendedValidationResult (viewModel: ValidationResult): ExtendedValidationResult {\r\n return viewModel as ExtendedValidationResult // this is legal, because: a) the viewModel can be an ExtendedValidationResult, or b) the extra fields are optional\r\n}\r\n\r\nexport function mapExtendedValidationResultFromValidationErrorViewModel (viewModel: ValidationErrorViewModel): ExtendedValidationResult {\r\n return {\r\n code: viewModel.code || undefined,\r\n errorMessage: viewModel.errorMessage,\r\n memberNames: viewModel.memberName ? [viewModel.memberName] : [],\r\n }\r\n}\r\n","import { DateString, today } from 'phoenix'\r\nimport { DateFieldValidator } from '@/dataAccess/validation/DateFieldValidator'\r\nimport { ExtendedValidationResult, ModelValidator } from '@/dataAccess/validation/ModelValidator'\r\nimport { StringFieldValidator } from '@/dataAccess/validation/StringFieldValidator'\r\nimport { UploadFieldValidator } from '@/dataAccess/validation/UploadFieldValidator'\r\nimport { UploadFactuurExtended } from '../models/indienen/UploadFactuurExtended'\r\nimport { uploadenFactuurClient } from '@/dataAccess/clients'\r\nimport { currentUserRepository } from '@/domains/account/dataAccess/CurrentUserRepository'\r\nimport {\r\n mapExtendedValidationResultFromValidationErrorViewModel,\r\n} from '@/dataAccess/mappers/mapExtendedValidationResult'\r\n\r\nexport class UploadFactuurValidator extends ModelValidator {\r\n factuurDatum: DateFieldValidator\r\n bestanden: UploadFieldValidator\r\n factuurNummer: StringFieldValidator\r\n constructor (model: UploadFactuurExtended) {\r\n super(model)\r\n this.factuurDatum = new DateFieldValidator(this, {\r\n required: true,\r\n minDate: '2018-01-01' as DateString,\r\n maxDate: today(),\r\n })\r\n this.bestanden = new UploadFieldValidator(this, {\r\n required: true,\r\n requiredMessage: 't:errorMessages.emptyFiles',\r\n })\r\n this.factuurNummer = new StringFieldValidator(this, {\r\n required: true,\r\n maxLength: 50,\r\n })\r\n }\r\n\r\n protected doValidateDelayed (): Promise | void {\r\n if (!this.model.factuurNummer) {\r\n return\r\n }\r\n const newServerValidatedObject = JSON.stringify(this.model.factuurNummer)\r\n if (newServerValidatedObject === (this.nonReactive as any).serverValidatedObject) {\r\n return\r\n }\r\n (this.nonReactive as any).serverValidatedObject = newServerValidatedObject\r\n return uploadenFactuurClient()\r\n .valideerFactuurnummer(currentUserRepository().model.effectieveRelatie.uid, this.model.factuurNummer)\r\n .then((result) => {\r\n if (result.serverErrors) {\r\n const errors: ExtendedValidationResult[] = []\r\n for (const serverError of result.serverErrors) {\r\n const error = mapExtendedValidationResultFromValidationErrorViewModel(serverError)\r\n if (error && error.memberNames && error.memberNames[0] === 'Factuurnummer') {\r\n error.memberNames[0] = 'factuurNummer'\r\n }\r\n errors.push(error)\r\n }\r\n this.handleValidationResults(errors.filter(error => error.code !== 'emptyField'))\r\n }\r\n })\r\n }\r\n}\r\n","import { IVueUploadItem } from 'phoenix/types/library/PFileUpload/FileUpload'\r\nimport { FileStateType } from '@/_generated/portalClient'\r\nimport { uploadenFactuurClient } from '@/dataAccess/clients'\r\nimport { RepositoryBase } from '@/dataAccess/RepositoryBase'\r\nimport { currentUserRepository } from '@/domains/account/dataAccess/CurrentUserRepository'\r\nimport { Document } from '@/domains/remoteFile/dataAccess/models/Document'\r\nimport { currentRemoteFileService } from '@/domains/remoteFile/dataAccess/RemoteFileService'\r\nimport { mapUploadFactuurWithBudgethouderUidViewModel } from './mappers/mapUploadFactuurViewModel'\r\nimport { emptyUploadFactuur, UploadFactuur } from './models/indienen/UploadFactuur'\r\nimport { UploadFactuurExtended } from './models/indienen/UploadFactuurExtended'\r\nimport { UploadFactuurValidator } from './validators/UploadFactuurValidator'\r\n\r\nexport class UploadFactuurRepository extends RepositoryBase {\r\n constructor () {\r\n super('UploadFactuurRepository', emptyUploadFactuur)\r\n this.dependsOn(currentRemoteFileService())\r\n this.dependsOn(currentUserRepository())\r\n }\r\n\r\n protected doAddValidations (model: UploadFactuurExtended): void {\r\n model.validations = new UploadFactuurValidator(model)\r\n super.doAddValidations(model)\r\n }\r\n\r\n protected getDocument (imprintnummer: string) {\r\n return this.model.gearchiveerdeBestanden &&\r\n this.model.gearchiveerdeBestanden.find((d: Document) => d.imprintnummer === imprintnummer)\r\n }\r\n\r\n downloadUploadedFile (id: string) {\r\n currentRemoteFileService().downloadTemporaryFile(id)\r\n }\r\n\r\n downloadFile (item: IVueUploadItem) {\r\n if (item.response.id) {\r\n this.downloadUploadedFile(item.response.id)\r\n } else if (item.isArchived) {\r\n const document = this.getDocument(item.id)\r\n if (document) {\r\n currentRemoteFileService().downloadArchivedFile(document)\r\n }\r\n }\r\n }\r\n\r\n removeArchivedFile (imprintnummer: string) {\r\n const document = this.getDocument(imprintnummer)\r\n if (document) {\r\n document.state = FileStateType.Deleted\r\n }\r\n }\r\n\r\n async submitFactuur () {\r\n const budgethouderUid = await currentUserRepository().getBudgethouderUid()\r\n await uploadenFactuurClient().indienen(\r\n mapUploadFactuurWithBudgethouderUidViewModel(budgethouderUid, this.model)\r\n )\r\n }\r\n}\r\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { defineComponent, onUnmounted } from '@vue/composition-api'\r\nimport { useRouter, useStepRouter } from 'phoenix'\r\nimport { UploadFactuurOpstellen, UploadFactuurControleren, UploadFactuurSucces } from '.'\r\nimport { UploadFactuurRepository } from '@/domains/declaraties/dataAccess/UploadFactuurRepository'\r\nimport i18n from './i18n'\r\n\r\nexport default defineComponent({\r\n name: 'UploadFactuur',\r\n i18n,\r\n components: {\r\n UploadFactuurOpstellen,\r\n UploadFactuurControleren,\r\n UploadFactuurSucces,\r\n },\r\n setup () {\r\n const stepRouter = useStepRouter(['stap1', 'stap2', 'stap3'], 'step')\r\n const { router } = useRouter()\r\n const repository = new UploadFactuurRepository()\r\n repository.open()\r\n\r\n onUnmounted(() => {\r\n repository.destroy()\r\n })\r\n return {\r\n newFactuur: () => { router.go() }, // refresh the page to repeat this form\r\n stepRouter,\r\n repository,\r\n isReady: repository.isReadyRef,\r\n\r\n }\r\n },\r\n})\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UploadFactuur.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UploadFactuur.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./UploadFactuur.vue?vue&type=template&id=89949a4a\"\nimport script from \"./UploadFactuur.vue?vue&type=script&lang=ts\"\nexport * from \"./UploadFactuur.vue?vue&type=script&lang=ts\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('page-layout-standard',{attrs:{\"help-panel-items\":!_vm.isRedirecting ? _vm.helpPanelItems : null},scopedSlots:_vm._u([{key:\"colRight\",fn:function(){return [_c('div',{staticClass:\"bijkomende-zorgkosten__spacer\"}),(_vm.repository.kassabonRepository.hasValidModel && !_vm.isRedirecting && _vm.isReady)?_c('kassabon',{attrs:{\"data\":_vm.repository.kassabonRepository.modelRef,\"is-updating\":_vm.repository.kassabonRepository.isUpdating,\"sticky\":\"\"}}):_vm._e()]},proxy:true}])},[(!_vm.isReady)?_c('div',{staticClass:\"text-center mb-8\",attrs:{\"data-ui\":\"stepper-loading-spinner\"}},[_c('p-loading-indicator')],1):_vm._e(),(_vm.isReady && !!_vm.hasZorgverleners)?_c('p-stepper',{attrs:{\"headers\":!_vm.isRedirecting ? [_vm.$t('steps.declaratie'), _vm.$t('steps.controle'), _vm.$t('steps.ingediend')] : null,\"submit-label\":_vm.$t('buttons.indienen'),\"navigate-step\":_vm.stepRouter.stepNumber},on:{\"navigate\":_vm.stepRouter.navigate},scopedSlots:_vm._u([{key:\"default\",fn:function(){return [_c('p-step',{attrs:{\"save\":\"\",\"save-on-next\":\"\"}},[_c('bijkomende-zorgkosten-opstellen',{attrs:{\"repository\":_vm.repository}})],1),_c('p-step',{attrs:{\"submit\":\"\",\"save\":\"\"}},[_c('bijkomende-zorgkosten-controleren',{attrs:{\"repository\":_vm.repository}})],1),_c('p-step',{attrs:{\"complete\":\"\"}},[_c('bijkomende-zorgkosten-ingediend',{attrs:{\"repository\":_vm.repository}})],1)]},proxy:true}],null,false,1510138748)}):_vm._e(),(_vm.isReady && !_vm.hasZorgverleners && !_vm.isRedirecting)?_c('div',[_c('p-alert',{staticClass:\"mb-6 mt-n3\",attrs:{\"title\":_vm.$t('errorMessages.geenZorgverlenersGevonden.title'),\"role\":\"alert\",\"type\":\"error\"}},[_c('p',[_vm._v(_vm._s(_vm.$t('errorMessages.geenZorgverlenersGevonden.body')))])]),_c('p-button-container',[_c('p-button',{attrs:{\"to\":{name: 'IndienenDeclaratie'},\"preset\":\"previous\"}},[_vm._v(\" \"+_vm._s(_vm.$t('backToIndienenDeclaratie'))+\" \")])],1)],1):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { AbortablePromise, makeDummyAbortablePromise } from './AbortablePromise'\r\nimport { ApiCallDebouncer } from './ApiCallDebouncer'\r\n\r\nexport class ConditionalApiCallDebouncer\r\n extends ApiCallDebouncer {\r\n private readonly _conditionalApiCall: (viewModel: TViewModel) => AbortablePromise\r\n\r\n constructor (\r\n getViewModel: () => TViewModel,\r\n protected isViewModelValid: (viewModel: TViewModel) => boolean,\r\n apiCall: (viewModel: TViewModel) => AbortablePromise,\r\n protected updated: (result: TApiResult | TInvalidResult) => Promise,\r\n protected invalidResult: TInvalidResult\r\n ) {\r\n super(getViewModel, (vm) => this.doApiCall(vm), updated)\r\n this._conditionalApiCall = apiCall\r\n }\r\n\r\n protected doApiCall (viewModel: TViewModel): AbortablePromise {\r\n return this.isViewModelValid(viewModel) ? this._conditionalApiCall(viewModel) : makeDummyAbortablePromise(Promise.resolve(this.invalidResult))\r\n }\r\n}\r\n","import { DeclaratieConceptViewModel, DeclaratieType } from '@/_generated/portalClient'\r\nimport { declaratieConceptClient } from '@/dataAccess/clients'\r\nimport { ServiceBase } from '@/dataAccess/ServiceBase'\r\nimport { getOrCreateSingleton } from '@/dataAccess/singletons'\r\nimport { mapFromDeclaratieConceptViewModel } from './mappers/mapIndienenConceptDeclaratie'\r\nimport { IndienenConceptDeclaratie } from './models/indienen/IndienenConceptDeclaratie'\r\n\r\nexport class DeclaratieConceptRetreivalService extends ServiceBase {\r\n constructor () {\r\n super('DeclaratieConceptRetreivalService')\r\n }\r\n\r\n async GetOpgeslagenDeclaratieConcept (uid: string, expectedType: DeclaratieType): Promise {\r\n return declaratieConceptClient().getConceptById(uid)\r\n .then((res) => {\r\n if (!this.isRequiredDataPresent(res, expectedType)) {\r\n throw Error('Some required data is missing on the saved declaration concept.')\r\n }\r\n return mapFromDeclaratieConceptViewModel(res)\r\n })\r\n }\r\n\r\n private isRequiredDataPresent (concept: DeclaratieConceptViewModel, expectedType: DeclaratieType): boolean {\r\n if (concept.serverErrors && concept.serverErrors.length > 0) {\r\n throw new Error(concept.serverErrors[0].errorMessage || 'No error message given')\r\n }\r\n if (!concept.conceptId) {\r\n throw new Error('ConceptId is empty, it should not be empty.')\r\n }\r\n if (concept.declaratieType !== expectedType) {\r\n throw new Error(`Response contained declaration type: '${concept.declaratieType}' while type: '${expectedType}' was expected.`)\r\n }\r\n switch (expectedType) {\r\n case DeclaratieType.BijkomendeZorgkosten:\r\n return !!concept.bijkomendezorgkosten && !!concept.opdrachtnemer\r\n case DeclaratieType.Feestdagenuitkering:\r\n return !!concept.feestdagenuitkering && !!concept.opdrachtnemer\r\n case DeclaratieType.VrijbesteedbaarBudget:\r\n return !!concept.vrijbesteedbaarBudget\r\n case DeclaratieType.FactuurReiskosten:\r\n return !!concept.factuurReiskosten\r\n default:\r\n throw new Error(`Expected type: '${expectedType}' is not (yet) supported by isRequiredDataPresent.`)\r\n }\r\n }\r\n}\r\n\r\nexport const declaratieConceptRetreivalService = () => getOrCreateSingleton(DeclaratieConceptRetreivalService)\r\n","import { setTimeout } from 'timers'\r\nimport { DeclaratieConceptViewModel } from '@/_generated/portalClient'\r\nimport { betalenClient, declaratieConceptClient } from '@/dataAccess/clients'\r\nimport { RepositoryBase } from '@/dataAccess/RepositoryBase'\r\nimport { currentUserRepository } from '@/domains/account/dataAccess/CurrentUserRepository'\r\nimport { AbortablePromise } from '@/utils/AbortablePromise'\r\nimport { computed, ref } from '@vue/composition-api'\r\nimport { KassabonRepository } from '../components/kassabon/KassabonRepository'\r\nimport { declaratieConceptRetreivalService } from './DeclaratieConceptRetreivalService'\r\nimport { IdealRepository } from './IdealRepository'\r\nimport { emptyIdeal } from './models/indienen/ideal/Ideal'\r\nimport { IndienenConceptDeclaratie } from './models/indienen/IndienenConceptDeclaratie'\r\nimport { IndienenConceptDeclaratieBase } from './models/indienen/IndienenConceptDeclaratieBase'\r\nimport { IndienenConceptDeclaratieBaseExtended } from './models/indienen/IndienenConceptDeclaratieBaseExtended'\r\nimport { Kassabon } from './models/kassabon/Kassabon'\r\n\r\nexport abstract class DeclaratieConceptBaseRepository<\r\n TDeclaratieBase extends IndienenConceptDeclaratieBase,\r\n TDeclaratieBaseExtended extends IndienenConceptDeclaratieBaseExtended & TDeclaratieBase>\r\n extends RepositoryBase {\r\n public kassabonRepository?: KassabonRepository\r\n public idealRepository?: IdealRepository\r\n public redirectUrl: string | null = null\r\n public showSavedDialog = ref(false)\r\n public showFailedSaveMessage = ref(false)\r\n public showCannotSaveMessage = ref(false)\r\n private _isRedirecting = ref(false)\r\n\r\n constructor (name: string, protected readonly empty?: TDeclaratieBase, protected conceptUid?: string) {\r\n super(name, empty)\r\n this.dependsOn(currentUserRepository())\r\n this.dependsOn(declaratieConceptRetreivalService())\r\n this.conceptUid = conceptUid\r\n }\r\n\r\n public get isRedirectingRef () {\r\n return this._isRedirecting\r\n }\r\n\r\n protected doExtendModel (model: TDeclaratieBaseExtended) {\r\n super.doExtendModel(model)\r\n model.showIndienenNotAllowedAlert = computed(() => !!(model.indienenNotAllowedAlert.serverMessage || model.indienenNotAllowedAlert.translationKey)) as any\r\n model.zelfBijbetalenBedrag = computed((): number => this.getZelfBijbetalenBedrag()) as any\r\n model.hasIdealPayment = computed(() => !!model.zelfBijbetalenBedrag) as any\r\n }\r\n\r\n public async loadSavedConcept (): Promise {\r\n if (this.conceptUid) {\r\n const concept = await declaratieConceptRetreivalService().GetOpgeslagenDeclaratieConcept(this.conceptUid, this.model.declaratieType)\r\n this.handleSavedConceptData(concept)\r\n }\r\n }\r\n\r\n protected abstract handleSavedConceptData (concept: IndienenConceptDeclaratie): void\r\n\r\n private getZelfBijbetalenBedrag (): number {\r\n if (!this.kassabonRepository) {\r\n return 0\r\n }\r\n const kassabon = this.kassabonRepository.model\r\n const kassabonResterendBudget = (kassabon &&\r\n kassabon.kassabonBlokken[0] &&\r\n kassabon.kassabonBlokken[0].resterendBudget) || 0\r\n return kassabonResterendBudget < 0 ? Math.abs(kassabonResterendBudget) : 0\r\n }\r\n\r\n protected doAddWatchers () {\r\n super.doAddWatchers()\r\n this.watchSingle(() => this.model.zelfBijbetalenBedrag, (newZelfBijbetalen) => {\r\n const ideal = this.model.ideal\r\n if (newZelfBijbetalen > 0) {\r\n ideal.bedrag = this.model.zelfBijbetalenBedrag\r\n ideal.tenaamstelling = currentUserRepository().model.effectieveRelatie.volledigeNaam\r\n } else {\r\n ideal.bedrag = emptyIdeal.bedrag\r\n ideal.tenaamstelling = emptyIdeal.tenaamstelling\r\n }\r\n })\r\n }\r\n\r\n public async submit () {\r\n if (this.model.hasIdealPayment) {\r\n await this.doIdealPayment()\r\n this._isRedirecting.value = true\r\n } else {\r\n await this.submitDeclaration()\r\n this._isRedirecting.value = false\r\n }\r\n }\r\n\r\n public triggerUpdateKassabon () {\r\n if (this.kassabonRepository && this.canUpdateKassabon()) {\r\n return this.kassabonRepository.triggerUpdate(\r\n () => this.getDeclaratieConcept(),\r\n (concept) => this.callUpdateKassabon(concept)\r\n )\r\n }\r\n }\r\n\r\n public async forcedUpdateKassabon (): Promise {\r\n if (this.kassabonRepository && this.canUpdateKassabon()) {\r\n return this.kassabonRepository.forcedUpdate(\r\n () => this.getDeclaratieConcept(),\r\n (concept) => this.callUpdateKassabon(concept)\r\n )\r\n }\r\n }\r\n\r\n protected canUpdateKassabon () {\r\n return true\r\n }\r\n\r\n protected abstract getDeclaratieConcept (): DeclaratieConceptViewModel\r\n\r\n protected abstract callUpdateKassabon (concept: DeclaratieConceptViewModel): AbortablePromise\r\n\r\n protected async doIdealPayment () {\r\n const conceptUid = await this.bewaarConcept()\r\n if (!this.idealRepository) {\r\n throw new Error('IdealRepository expected here')\r\n }\r\n const startBetalingResponseVM = await betalenClient().startBetalingTransactie(\r\n conceptUid,\r\n this.idealRepository.idealRedirect\r\n )\r\n this.redirectUrl = startBetalingResponseVM.redirectUrl\r\n }\r\n\r\n public async bewaarConcept () {\r\n this.showSavedDialog.value = false\r\n\r\n if (!this.model.canSave) {\r\n this.showCannotSaveMessage.value = true\r\n return Promise.resolve(null).finally(() => {\r\n setTimeout(() => {\r\n this.showCannotSaveMessage.value = false\r\n }, 5000)\r\n })\r\n }\r\n\r\n return declaratieConceptClient().bewaarConcept(this.getDeclaratieConcept())\r\n .then((conceptUid) => {\r\n this.model.conceptUid = conceptUid\r\n this.showFailedSaveMessage.value = false\r\n return conceptUid\r\n }).catch(() => {\r\n this.showFailedSaveMessage.value = true\r\n return null\r\n }).finally(() => {\r\n this.showSavedDialog.value = true\r\n setTimeout(() => {\r\n this.showSavedDialog.value = false\r\n }, 5000)\r\n })\r\n }\r\n\r\n protected async submitDeclaration () {\r\n return declaratieConceptClient().indienen(this.getDeclaratieConcept())\r\n .then((response) => {\r\n this.model.declaratienummer = response.declaratienummer\r\n this.model.declaratieWordtOpgeschort = response.declaratieWordtOpgeschort\r\n })\r\n }\r\n}\r\n","import { DeclaratieType, DeclaratieTypeZorgverlenerPeriodeViewModel, Maand } from '@/_generated/portalClient'\r\nimport { ZorgverlenerCard } from '@/domains/declaraties/components/zorgverlenerCard/models/ZorgverlenerCard'\r\nimport { ZorgverlenerZokDeclaratie } from '../models/indienen/ZorgverlenerZokDeclaratie'\r\n\r\nexport function mapDeclaratieTypeZorgverlenerPeriodeViewModel (model: ZorgverlenerZokDeclaratie, budgethouderUid: string): DeclaratieTypeZorgverlenerPeriodeViewModel {\r\n return {\r\n budgethouderUid,\r\n declaratieType: model.declaratieType,\r\n zorgverlenerUid: model.zorgverlener ? model.zorgverlener.uid : '',\r\n zorgovereenkomstUid: model.zok ? model.zok.uid : null,\r\n jaar: model.declaratieJaar || 0,\r\n maand: model.declaratieMaand || Maand.Onbekend,\r\n }\r\n}\r\n\r\nexport function mapDeclaratieTypeZorgverlenerPeriodeViewModelNoZok (model: ZorgverlenerCard, budgethouderUid: string,\r\n declaratieType: DeclaratieType): DeclaratieTypeZorgverlenerPeriodeViewModel {\r\n return {\r\n budgethouderUid,\r\n declaratieType,\r\n zorgverlenerUid: model.zorgverlenerUid || '',\r\n zorgovereenkomstUid: null, // Always null, as it is used to get the zok instead of sumbit the zok like in mapDeclaratieTypeZorgverlenerPeriodeViewModel.\r\n jaar: model.declaratieJaar || 0,\r\n maand: model.declaratieMaand || Maand.Onbekend,\r\n }\r\n}\r\n","import { IModelExtensions } from '@/dataAccess/IModelExtensions'\r\nimport { NumberFieldValidator, NumberFieldValidatorOptions } from '@/dataAccess/validation/NumberFieldValidator'\r\nimport { IModelValidator } from '@/dataAccess/validation/types'\r\n\r\nexport interface BijkomendeZorgkostenNumberFieldValidatorOptions extends NumberFieldValidatorOptions {\r\n maxAmountInPeriod: string,\r\n maxPerDay: string,\r\n alreadyDeclared: string,\r\n}\r\n\r\nexport class BijkomendeZorgkostenNumberFieldValidator> extends NumberFieldValidator {\r\n alreadyDeclared?: string\r\n maxAmountInPeriod?: string\r\n maxPerDay?: string\r\n\r\n constructor (modelValidator: IModelValidator, options?: BijkomendeZorgkostenNumberFieldValidatorOptions) {\r\n super(modelValidator, options)\r\n if (options) {\r\n this.extractOptions(options)\r\n }\r\n }\r\n\r\n private extractOptions (options: BijkomendeZorgkostenNumberFieldValidatorOptions) {\r\n if (options.alreadyDeclared !== undefined) {\r\n this.alreadyDeclared = options.alreadyDeclared\r\n }\r\n if (options.maxAmountInPeriod !== undefined) {\r\n this.maxAmountInPeriod = options.maxAmountInPeriod\r\n }\r\n if (options.maxPerDay !== undefined) {\r\n this.maxPerDay = options.maxPerDay\r\n }\r\n }\r\n}\r\n","import { useI18n } from 'phoenix'\r\nimport { BijkomendezorgkostenType } from '@/_generated/portalClient'\r\nimport { BooleanFieldValidator } from '@/dataAccess/validation/BooleanFieldValidator'\r\nimport { ModelValidator } from '@/dataAccess/validation/ModelValidator'\r\nimport { StringFieldValidator } from '@/dataAccess/validation/StringFieldValidator'\r\nimport { computed } from '@vue/composition-api'\r\nimport { BijkomendeZorgkostenExtended } from '../models/indienen/BijkomendeZorgkostenExtended'\r\nimport { BijkomendeZorgkostenNumberFieldValidator } from './BijkomendeZorgkostenNumberFieldValidator'\r\n\r\nexport class BijkomendeZorgkostenValidator extends ModelValidator {\r\n bedrag: BijkomendeZorgkostenNumberFieldValidator\r\n declaratieOndertekend: BooleanFieldValidator\r\n bijkomendeZorgkostenType: StringFieldValidator\r\n\r\n constructor (model: BijkomendeZorgkostenExtended) {\r\n super(model)\r\n const { n } = useI18n()\r\n // TODO: PD-77162 Once the following github issue is solved https://github.com/kazupon/vue-i18n/issues/1308, we will be able to use: Custom modifiers.\r\n this.bedrag = new BijkomendeZorgkostenNumberFieldValidator(this, {\r\n required: true,\r\n minValue: 0.01,\r\n maxValue: computed(() => model.beschikbaarBedrag) as any,\r\n numOfDecimals: 2,\r\n invalidMessage: 't:errorMessages.bedrag.invalid',\r\n requiredMessage: 't:errorMessages.bedrag.emptyField',\r\n maxMessage: computed(() => this.getMaxBedragMessage(this.model.bijkomendeZorgkostenType)) as any,\r\n maxAmountInPeriod: computed(() => {\r\n return n(this.model.maximaleBedrag, 'currency')\r\n }) as any,\r\n maxPerDay: computed(() => n(this.model.consumptiesBijOverwerk.dagMax, 'currency')) as any,\r\n alreadyDeclared: computed(() => n(this.model.alUitbetaald, 'currency')) as any,\r\n })\r\n this.declaratieOndertekend = new BooleanFieldValidator(this, {\r\n required: true,\r\n customValidation: computed(() => !model.declaratieOndertekend ? 't:errorMessages.declaratieNietOndertekend' : null) as any,\r\n })\r\n this.bijkomendeZorgkostenType = new StringFieldValidator(this, {\r\n required: true,\r\n requiredMessage: 't:errorMessages.bijkomendeZorgkostenType.emptyField',\r\n })\r\n }\r\n\r\n private getMaxBedragMessage (bijkomendeZorgkostenType: BijkomendezorgkostenType | null): string {\r\n const prefix = 't:errorMessages.bedrag.'\r\n if (bijkomendeZorgkostenType === BijkomendezorgkostenType.ConsumptiesBijOverwerk) {\r\n return prefix + (this.model.alUitbetaald ? 'alGedeclareerdMaandMessage' : 'maxPerMaandDeclarerenMessage')\r\n }\r\n return prefix + (this.model.alUitbetaald ? 'alGedeclareerdJaarMessage' : 'maxPerJaarDeclarerenMessage')\r\n }\r\n}\r\n","import {\r\n BijkomendezorgkostenType,\r\n BijkomendezorgkostenViewModel,\r\n DeclaratieConceptViewModel,\r\n DeclaratieType,\r\n DeclaratieTypeZorgverlenerPeriodeViewModel,\r\n} from '@/_generated/portalClient'\r\nimport { declaratieConceptClient, declaratieKassabonClient, zorgverlenerClient } from '@/dataAccess/clients'\r\nimport { isValidNumber } from '@/dataAccess/validation/transform'\r\nimport { currentUserRepository } from '@/domains/account/dataAccess/CurrentUserRepository'\r\nimport { mapZorgverlenerFromSelectieZorgverlenerViewModel } from '@/domains/account/dataAccess/mappers/mapZorgverlener'\r\nimport { Budgethouder } from '@/domains/account/dataAccess/models/relaties/Budgethouder'\r\nimport { Zorgverlener } from '@/domains/account/dataAccess/models/relaties/Zorgverlener'\r\nimport { Zorgovereenkomst } from '@/domains/zorgovereenkomst/dataAccess/models/Zorgovereenkomst'\r\nimport { AbortablePromise } from '@/utils/AbortablePromise'\r\nimport { ConditionalApiCallDebouncer } from '@/utils/ConditionalApiCallDebouncer'\r\nimport { computed, ref, Ref } from '@vue/composition-api'\r\nimport { KassabonRepository } from '../components/kassabon/KassabonRepository'\r\nimport { DeclaratieConceptBaseRepository } from './DeclaratieConceptBaseRepository'\r\nimport { mapDeclaratieConceptToBijkomendeZorgkosten, mapToBijkomendeZorgkosten } from './mappers/mapBijkomendeZorgkosten'\r\nimport { mapToDeclaratieConceptOpdrachtnemer } from './mappers/mapDeclaratieOpdrachtnemer'\r\nimport { mapDeclaratieTypeZorgverlenerPeriodeViewModel } from './mappers/mapDeclaratieTypeZorgverlenerPeriodeViewModel'\r\nimport { mapToDeclaratieConceptViewModel } from './mappers/mapIndienenConceptDeclaratie'\r\nimport { mapKassabon } from './mappers/mapKassabon'\r\nimport { BijkomendeZorgkosten, BijkomendeZorgkostenBudget, emptyBijkomendeZorgkosten } from './models/indienen/BijkomendeZorgkosten'\r\nimport { BijkomendeZorgkostenExtended } from './models/indienen/BijkomendeZorgkostenExtended'\r\nimport { emptyIndienenConceptDeclaratie, IndienenConceptDeclaratie } from './models/indienen/IndienenConceptDeclaratie'\r\nimport { Kassabon } from './models/kassabon/Kassabon'\r\nimport { UploadFactuurRepository } from './UploadFactuurRepository'\r\nimport { BijkomendeZorgkostenValidator } from './validators/BijkomendeZorgkostenValidator'\r\n\r\nexport class BijkomendeZorgkostenRepository extends DeclaratieConceptBaseRepository {\r\n public kassabonRepository: KassabonRepository\r\n public uploadFactuurRepository: UploadFactuurRepository\r\n private _zorgverlenersRef: Ref = ref([])\r\n private readonly _debouncer: ConditionalApiCallDebouncer\r\n public savedData: Ref = ref(null)\r\n public savedZoks: Ref = ref(null)\r\n\r\n constructor (conceptUid?: string) {\r\n super('BijkomendeZorgkostenRepository', emptyBijkomendeZorgkosten, conceptUid)\r\n this.dependsOn(currentUserRepository())\r\n this.kassabonRepository = new KassabonRepository()\r\n this.addChild(this.kassabonRepository, 'kassabon')\r\n this.uploadFactuurRepository = new UploadFactuurRepository()\r\n this.addChild(this.uploadFactuurRepository, 'upload')\r\n this._debouncer = this.setupDebouncer()\r\n }\r\n\r\n get isCurrentStateValidFinalState (): boolean {\r\n return !this.model.showIndienenNotAllowedAlert &&\r\n this.model.beschikbaarBedrag > 0 &&\r\n !!this.model.zok &&\r\n !!this.model.zok.originelePeriode &&\r\n !!this.model.zorgverlener &&\r\n !!this.model.zorgverlener.volledigeNaam &&\r\n this.model.bijkomendezorgkostenChoices.length > 0\r\n }\r\n\r\n protected forceUpdate (): void {\r\n this.addWaitForForceUpdate(this._debouncer.forcedUpdate())\r\n this.addWaitForForceUpdate(this.forcedUpdateKassabon())\r\n super.forceUpdate()\r\n }\r\n\r\n protected handleSavedConceptData (concept: IndienenConceptDeclaratie) {\r\n this.savedZoks.value = concept.opdrachtnemer && concept.opdrachtnemer.zorgovereenkomsten ? concept.opdrachtnemer.zorgovereenkomsten : []\r\n this.savedData.value = mapDeclaratieConceptToBijkomendeZorgkosten(concept)\r\n this.setDataModel(this.savedData.value)\r\n }\r\n\r\n private setupDebouncer (): ConditionalApiCallDebouncer {\r\n return new ConditionalApiCallDebouncer(\r\n () => this.getViewModel(),\r\n (zokChoiceVm) => this.isViewModelValid(zokChoiceVm),\r\n (zokChoiceVm) => this.updateModelBasedOnConceptDeclaration(zokChoiceVm),\r\n (zorgverlenerZoks) => this.handleApiResult(zorgverlenerZoks),\r\n undefined)\r\n }\r\n\r\n public get zorgverlenersRef (): Ref {\r\n return this._zorgverlenersRef\r\n }\r\n\r\n public get loadingData (): Ref {\r\n return this._debouncer.isBusy\r\n }\r\n\r\n protected doOpen () {\r\n super.doOpen()\r\n return this.conceptUid\r\n ? Promise.all([this.getZorgverleners(), this.loadSavedConcept()])\r\n : this.getZorgverleners()\r\n }\r\n\r\n public destroy (): void {\r\n this._debouncer.destroy()\r\n super.destroy()\r\n }\r\n\r\n protected doAddValidations (model: BijkomendeZorgkostenExtended): void {\r\n model.validations = new BijkomendeZorgkostenValidator(model)\r\n }\r\n\r\n protected doExtendModel (model: BijkomendeZorgkostenExtended) {\r\n super.doExtendModel(model)\r\n model.beschikbaarBedrag = computed(() => model.maximaleBedrag - model.alUitbetaald) as any\r\n model.alUitbetaald = computed(() => this.getBudget(this.model, b => b.alVerbruikt)) as any\r\n model.maximaleBedrag = computed(() => this.getBudget(this.model, b => b.max)) as any\r\n model.resterendBedrag = computed(() => model.beschikbaarBedrag - (model.bedrag || 0)) as any\r\n // PD-80069: deze flow heeft geen iDEAL tijdens de flow, maar pas na goedkeuring, als je een tekort hebt wordt deze standaard op true gezet, maar dan kan je niet indienen,\r\n // vandaar hardcoded op false.\r\n model.hasIdealPayment = false\r\n model.canSave = computed(() => this.model.zok !== null) as any\r\n }\r\n\r\n protected doAddWatchers () {\r\n super.doAddWatchers()\r\n this.watchMulti([() => this.model.bedrag, () => this.model.bijkomendeZorgkostenType], () => {\r\n if (this.isValidating) {\r\n this.forcedUpdateKassabon()\r\n return\r\n }\r\n this.triggerUpdateKassabon()\r\n })\r\n }\r\n\r\n public updateZorgverlener = (zorgverlener: Zorgverlener | null) => {\r\n this.model.zorgverlener = zorgverlener\r\n if (!this.model.zorgverlener) {\r\n this.clearModelFromBijkomendezorgkostenData()\r\n this.kassabonRepository.reset()\r\n this._debouncer.reset()\r\n }\r\n }\r\n\r\n public updatePeriode = (e: { year: number | null, month: number | null }) => {\r\n this.model.declaratieJaar = e.year || 0\r\n this.model.declaratieMaand = e.month || 0\r\n if (!e.year || !e.month) {\r\n this.kassabonRepository.reset()\r\n }\r\n this.forceUpdate()\r\n }\r\n\r\n public updateZok = (zok: Zorgovereenkomst | null) => {\r\n this.model.zok = zok\r\n if (!zok || !zok.uid) {\r\n this.model.bedrag = null\r\n this.kassabonRepository.reset()\r\n return\r\n }\r\n if (!this.isValidating) {\r\n this._debouncer.triggerUpdate()\r\n return\r\n }\r\n this.forceUpdate()\r\n }\r\n\r\n protected canUpdateKassabon (): boolean {\r\n return !!this.model.zok && !!this.model.zok.uid &&\r\n (this.model.bedrag === null || isValidNumber(this.model.bedrag)) &&\r\n (this.model && !!this.model.declaratieMaand)\r\n }\r\n\r\n protected getDeclaratieConcept () {\r\n return mapToDeclaratieConceptViewModel({\r\n ...emptyIndienenConceptDeclaratie,\r\n conceptId: this.model.conceptUid || '',\r\n bijkomendezorgkosten: this.model,\r\n opdrachtnemer: mapToDeclaratieConceptOpdrachtnemer(this.model),\r\n budgethouder: currentUserRepository().model.effectieveRelatie as Budgethouder,\r\n }, DeclaratieType.BijkomendeZorgkosten)\r\n }\r\n\r\n protected callUpdateKassabon (concept: DeclaratieConceptViewModel): AbortablePromise {\r\n return declaratieKassabonClient().callWithAbort((client) =>\r\n client.update({\r\n declaratie: concept,\r\n metWerkgeverslasten: false,\r\n }).then(data => mapKassabon(data, this.model.zorgverlener\r\n ? this.model.zorgverlener.volledigeNaam\r\n : '', false)))\r\n }\r\n\r\n private async getZorgverleners (): Promise[]> {\r\n if (this._zorgverlenersRef.value.length) {\r\n return this._zorgverlenersRef.value\r\n }\r\n const resp = await zorgverlenerClient().getZorgverlenersMetGeldigeZorgovereenkomst(currentUserRepository().model.budgethouderUid).then(\r\n zorgverleners => zorgverleners.map(mapZorgverlenerFromSelectieZorgverlenerViewModel)\r\n )\r\n this._zorgverlenersRef.value = resp\r\n return resp\r\n }\r\n\r\n private getViewModel (): DeclaratieTypeZorgverlenerPeriodeViewModel {\r\n const budgethouderUid = currentUserRepository().model.budgethouderUid\r\n return mapDeclaratieTypeZorgverlenerPeriodeViewModel(this.model, budgethouderUid)\r\n }\r\n\r\n private isViewModelValid (vm: DeclaratieTypeZorgverlenerPeriodeViewModel): boolean {\r\n return !!vm.zorgovereenkomstUid && vm.maand > 0\r\n }\r\n\r\n private updateModelBasedOnConceptDeclaration (vm: DeclaratieTypeZorgverlenerPeriodeViewModel): AbortablePromise {\r\n return declaratieConceptClient().callWithAbort(client => client.updateVoorGeselecteerdeZorgovereenkomst(vm))\r\n }\r\n\r\n private async handleApiResult (response: DeclaratieConceptViewModel | undefined): Promise {\r\n const invalidResponse = !response || (response && !response.bijkomendezorgkosten &&\r\n (!response.serverErrors || (response.serverErrors && !response.serverErrors.length)))\r\n if (invalidResponse) {\r\n throw new Error('The response of updateVoorGeselecteerdeZorgovereenkomst did not contain any serverErrors or bijkomendezorgkosten data. This is an unexpected repsonse.')\r\n }\r\n if (response && response.serverErrors && response.serverErrors.length) {\r\n this.handleErrorResponse(null, response.serverErrors[0].errorMessage)\r\n return\r\n }\r\n if (response && response.bijkomendezorgkosten) {\r\n this.handleSuccesApiResult(response.bijkomendezorgkosten)\r\n }\r\n }\r\n\r\n private handleSuccesApiResult (bijkomendezorgkosten: BijkomendezorgkostenViewModel) {\r\n this.model.indienenNotAllowedAlert.serverMessage = null\r\n this.model.indienenNotAllowedAlert.translationKey = null\r\n const isCurrentBijkomendeZorgkostenTypePresent = bijkomendezorgkosten.bijkomendezorgkostenChoices &&\r\n bijkomendezorgkosten.bijkomendezorgkostenChoices.some(e => e === this.model.bijkomendeZorgkostenType)\r\n if (!isCurrentBijkomendeZorgkostenTypePresent) {\r\n this.model.bijkomendeZorgkostenType = null\r\n this.model.bedrag = null\r\n }\r\n if (bijkomendezorgkosten) {\r\n const data = mapToBijkomendeZorgkosten(bijkomendezorgkosten)\r\n if (data) {\r\n this.updateModelWithBijkomendezorgkostenBudgets(data)\r\n }\r\n }\r\n if (this.isValidating) {\r\n this.forcedUpdateKassabon()\r\n } else {\r\n this.triggerUpdateKassabon()\r\n }\r\n }\r\n\r\n private getBudget (model: BijkomendeZorgkosten, budgetRetreiver: (budget: BijkomendeZorgkostenBudget) => number): number {\r\n if (!model || !model.bijkomendeZorgkostenType) {\r\n return 0\r\n }\r\n const modelAsObject = model as Record\r\n const budget = modelAsObject[capitalizeFirstLetter(BijkomendezorgkostenType[model.bijkomendeZorgkostenType])] as BijkomendeZorgkostenBudget\r\n return budget ? budgetRetreiver(budget) : 0\r\n }\r\n\r\n private updateModelWithBijkomendezorgkostenBudgets (bijkomendeZorgkosten: BijkomendeZorgkosten) {\r\n this.model.consumptiesBijOverwerk.dagMax = bijkomendeZorgkosten.consumptiesBijOverwerk.dagMax\r\n this.model.consumptiesBijOverwerk.max = bijkomendeZorgkosten.consumptiesBijOverwerk.max\r\n this.model.consumptiesBijOverwerk.alVerbruikt = bijkomendeZorgkosten.consumptiesBijOverwerk.alVerbruikt\r\n\r\n this.model.cursusZorgverlener.max = bijkomendeZorgkosten.cursusZorgverlener.max\r\n this.model.cursusZorgverlener.alVerbruikt = bijkomendeZorgkosten.cursusZorgverlener.alVerbruikt\r\n\r\n this.model.wooninitiatiefEnkelHuis.max = bijkomendeZorgkosten.wooninitiatiefEnkelHuis.max\r\n this.model.wooninitiatiefEnkelHuis.alVerbruikt = bijkomendeZorgkosten.wooninitiatiefEnkelHuis.alVerbruikt\r\n\r\n this.model.entreegeldZorgverlener.max = bijkomendeZorgkosten.entreegeldZorgverlener.max\r\n this.model.entreegeldZorgverlener.alVerbruikt = bijkomendeZorgkosten.entreegeldZorgverlener.alVerbruikt\r\n\r\n this.model.wooninitiatiefZorg.max = bijkomendeZorgkosten.wooninitiatiefZorg.max\r\n this.model.wooninitiatiefZorg.alVerbruikt = bijkomendeZorgkosten.wooninitiatiefZorg.alVerbruikt\r\n\r\n this.model.bijkomendezorgkostenChoices = bijkomendeZorgkosten.bijkomendezorgkostenChoices || []\r\n }\r\n\r\n private clearModelFromBijkomendezorgkostenData () {\r\n this.model.consumptiesBijOverwerk.dagMax = 0\r\n this.model.consumptiesBijOverwerk.max = 0\r\n this.model.consumptiesBijOverwerk.alVerbruikt = 0\r\n\r\n this.model.cursusZorgverlener.max = 0\r\n this.model.cursusZorgverlener.alVerbruikt = 0\r\n\r\n this.model.wooninitiatiefEnkelHuis.max = 0\r\n this.model.wooninitiatiefEnkelHuis.alVerbruikt = 0\r\n\r\n this.model.entreegeldZorgverlener.max = 0\r\n this.model.entreegeldZorgverlener.alVerbruikt = 0\r\n\r\n this.model.wooninitiatiefZorg.max = 0\r\n this.model.wooninitiatiefZorg.alVerbruikt = 0\r\n\r\n this.model.bijkomendezorgkostenChoices = []\r\n }\r\n\r\n private handleErrorResponse (translationKey: string | null = null, serverMessage: string | null = null) {\r\n this.model.indienenNotAllowedAlert.translationKey = translationKey\r\n this.model.indienenNotAllowedAlert.serverMessage = serverMessage\r\n this.clearModelFromBijkomendezorgkostenData()\r\n this.kassabonRepository.reset()\r\n }\r\n}\r\n\r\nfunction capitalizeFirstLetter (string: String) {\r\n return string.charAt(0).toLocaleLowerCase() + string.slice(1)\r\n}\r\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('section',[_c('title-and-help',{attrs:{\"title\":_vm.$t('opstellen.title'),\"focusable-title\":(\"Stap 1 - \" + (_vm.$t('opstellen.title')))}}),_c('p-form',{ref:\"formRef\",attrs:{\"delay-validation\":_vm.delayValidation}},[_c('zorgverlener-card',{attrs:{\"data-ui\":\"zorgverlener-card\",\"declaratie-type\":_vm.declaratieType,\"zorgverleners\":_vm.zorgverleners,\"initial-data\":_vm.initialZorgverlenerCardData},on:{\"zorgverlener-selected\":_vm.onZorgverlenerSelectHandler,\"period-changed\":_vm.onPeriodChangeHandler,\"zok-selected\":_vm.onZokSelectHandler}}),(_vm.model.zok && _vm.model.zok.uid && _vm.model.declaratieMaand && _vm.model.declaratieJaar)?_c('p-card',{key:\"bijkomendeZorgkosten\",class:['mt-10', {'bijkomende-zorgkosten': !_vm.loadingData}, {'bijkomende-zorgkosten--loading': _vm.loadingData}],attrs:{\"data-ui\":\"bijkomende-zorgkosten-card\",\"title\":_vm.$t('opstellen.bijkomendeZorgkosten.title'),\"heading-level\":\"3\"}},[(_vm.loadingData)?_c('p-loading-indicator',{staticClass:\"bijkomende-zorgkosten__loading-indicator mt-5\"}):_vm._e(),_c('p-alert',{staticClass:\"mt-2\",attrs:{\"data-ui\":\"alert-indienen-declaratie-niet-toegestaan\",\"type\":\"error\",\"show-alert\":_vm.model.showIndienenNotAllowedAlert}},[(_vm.model.indienenNotAllowedAlert.translationKey)?[_vm._v(\" \"+_vm._s(_vm.$t((\"errorMessages.\" + (_vm.model.indienenNotAllowedAlert.translationKey))))+\" \")]:_vm._e(),(_vm.model.indienenNotAllowedAlert.serverMessage)?[_vm._v(\" \"+_vm._s(_vm.model.indienenNotAllowedAlert.serverMessage)+\" \")]:_vm._e()],2),(!_vm.model.showIndienenNotAllowedAlert &&\n _vm.model.bijkomendezorgkostenChoices.length > 0)?_c('div',[_c('p',[_vm._v(\" \"+_vm._s(_vm.$t('opstellen.bijkomendeZorgkosten.uitleg'))+\" \")]),_c('p-alert',{staticClass:\"mt-10\",attrs:{\"aria-live\":\"off\",\"type\":\"info\"}},[_vm._v(\" \"+_vm._s(_vm.$t('opstellen.bijkomendeZorgkosten.uitbetaaldNaGoedkeuring'))+\" \")]),_c('p-select',{staticClass:\"input-width-sm-4 mt-10\",attrs:{\"data-ui\":\"type-bijkomende-zorgkosten\",\"label\":_vm.$t('labels.typeBijkomendeZorgkosten'),\"validation\":_vm.model.validations.bijkomendeZorgkostenType,\"options\":_vm.availableTypes,\"default-option\":_vm.$t('labels.typeBijkomendeZorgkostenPlaceholder')},model:{value:(_vm.model.bijkomendeZorgkostenType),callback:function ($$v) {_vm.$set(_vm.model, \"bijkomendeZorgkostenType\", $$v)},expression:\"model.bijkomendeZorgkostenType\"}}),(!!_vm.model.bijkomendeZorgkostenType)?[_c('currency-field',{attrs:{\"label\":_vm.$t('labels.bedrag'),\"validation\":_vm.model.validations.bedrag,\"data-ui\":\"bijkomende-zorgkosten-bedrag\"},model:{value:(_vm.model.bedrag),callback:function ($$v) {_vm.$set(_vm.model, \"bedrag\", $$v)},expression:\"model.bedrag\"}}),_c('h4',{staticClass:\"mb-2\"},[_vm._v(\" \"+_vm._s(_vm.$t('labels.betaalbewijsUploaden'))+\" \")]),_c('p-divider',{staticClass:\"mb-4 mt-4\",attrs:{\"aria-hidden\":\"true\"}}),_c('p',[_vm._v(\" \"+_vm._s(_vm.$t('opstellen.bijkomendeZorgkosten.betaalbewijsMetDatumNote'))+\" \")])]:_vm._e(),_c('file-upload',{directives:[{name:\"show\",rawName:\"v-show\",value:(!!_vm.model.bijkomendeZorgkostenType),expression:\"!!model.bijkomendeZorgkostenType\"}],attrs:{\"id\":\"factuur-file-upload\",\"data-ui\":\"factuur-upload\",\"label\":_vm.$t('labels.betaalbewijsUploaden'),\"extensions\":_vm.extensions,\"validation\":_vm.factuur.validations.bestanden,\"archived-files\":_vm.factuur.gearchiveerdeBestanden},on:{\"uploadingInProgress\":function (isUploading) { return _vm.uploadingInProgress = isUploading; },\"removeArchivedFile\":_vm.onRemoveArchivedFile},model:{value:(_vm.factuur.bestanden),callback:function ($$v) {_vm.$set(_vm.factuur, \"bestanden\", $$v)},expression:\"factuur.bestanden\"}})],2):_vm._e()],1):_vm._e()],1),_c('p-notify-required-field',{staticClass:\"mt-4 mb-4\"}),_c('p-alert',{class:['mt-6', {'bijkomende-zorgkosten__budget-warning--loading': _vm.updatingKassabon}],attrs:{\"type\":\"warning\",\"aria-live\":\"polite\",\"data-ui\":\"bijkomende-zorgkosten-tekort-warning\",\"show-alert\":_vm.model.zelfBijbetalenBedrag > 0 && _vm.repository.kassabonRepository.hasValidModel}},[_vm._v(\" \"+_vm._s(_vm.$t('opstellen.budgetTekort', {amount: _vm.$n(_vm.model.zelfBijbetalenBedrag, 'currency')}))+\" \")]),_c('opslaan',{attrs:{\"show-saved-dialog\":_vm.showSavedDialog,\"show-cannot-save-message\":_vm.showCannotSaveMessage,\"show-failed-save-message\":_vm.showFailedSaveMessage}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import declaratiesIndienenI18n from '@/domains/declaraties/i18n'\r\nimport { mergeI18nDeep } from '@/utils/i18nUtils'\r\n\r\nconst i18n = {\r\n messages: {\r\n nl: {\r\n title: 'Wat wilt u declareren?',\r\n helpLinks: {\r\n uitleg: 'Uitleg over indienen declaraties',\r\n faq: 'Veelgestelde vragen',\r\n helpdesk: 'Helpdesk',\r\n },\r\n buttons: {\r\n idealIndienen: 'Betalen en indienen',\r\n },\r\n steps: {\r\n declaratie: 'Declaratie',\r\n controle: 'Controle',\r\n ingediend: 'Ingediend',\r\n },\r\n opstellen: {\r\n zorgverlenerCard: {\r\n title: 'Zorgverlener',\r\n },\r\n title: 'Declaratie',\r\n budgetTekort: 'U heeft {amount} tekort aan budget om deze declaratie te laten uitbetalen. Controleer ' +\r\n 'of u de declaratie correct heeft ingevuld. Pas de declaratie zo nodig aan. U kunt in stap 2 het ' +\r\n 'tekort aan budget zelf bijbetalen van uw eigen rekening, via iDEAL. U kunt de declaratie ook ' +\r\n 'opslaan en later beslissen wat u met deze declaratie wilt doen.',\r\n },\r\n controle: {\r\n title: 'Controle',\r\n algemeenCard: {\r\n title: 'Algemeen',\r\n },\r\n bijkomendeZorgkosten: {\r\n title: 'Bijkomende zorgkosten',\r\n },\r\n controlerenEnOndertekenenCard: {\r\n title: 'Controleren en ondertekenen',\r\n attention: 'Let op!',\r\n notice: 'Heeft u de declaratie goed gecontroleerd? De declaratie wordt direct ingepland voor uitbetaling.',\r\n correctlyFilledRadioLabel: 'Ik verklaar deze gegevens naar waarheid te hebben ingevuld.',\r\n signed: 'Ik verklaar deze gegevens naar waarheid te hebben ingevuld.',\r\n zelfBijbetalenBedragNaGoedkeuring: 'U heeft te weinig budget voor uitbetaling. ' +\r\n 'Na goedkeuring van de declaratie door de SVB ontvangt u bericht en instructies hoe u het tekort kunt aanvullen. ' +\r\n 'Uw zorgverlener wordt uitbetaald zodra het budget is aangevuld.',\r\n },\r\n },\r\n ingediend: {\r\n title: 'Ingediend',\r\n declaratieIngediend: 'Uw declaratie is ingediend. Het declaratienummer is {declaratienummer}.',\r\n watNu: {\r\n title: 'Wat gebeurt er nu?',\r\n },\r\n directNaar: 'Direct naar',\r\n },\r\n declareer: {\r\n title: 'Declareer:',\r\n geleverdeZorgEnReiskostenZorgverlener: {\r\n linkName: 'Geleverde zorg en reiskosten zorgverlener',\r\n linkDescription: 'Deze optie kiest u wanneer u iets wilt declareren wat u in uw zorgovereenkomst heeft afgesproken. Zoals geleverde zorg en/of reiskosten van uw ' +\r\n 'zorgverlener.',\r\n },\r\n factuurReiskostenBudgethouder: {\r\n linkName: 'Factuur reiskosten budgethouder',\r\n linkDescription: 'Deze optie kiest u als u reiskosten heeft in verband met uw zorg.',\r\n },\r\n bijkomendeZorgkostenZorgverlener: {\r\n linkName: 'Bijkomende zorgkosten zorgverlener',\r\n linkDescription: 'Deze optie kiest u als u kosten van uw zorgverlener wilt declareren zoals consumpties tijdens overwerk, entreegelden en cursussen.',\r\n },\r\n feestdagenuitkeringZorgverlener: {\r\n linkName: 'Feestdagenuitkering zorgverlener',\r\n linkDescription: 'Deze optie kiest u als u uw zorgverlener een extraatje wilt geven voor de feestdagen.',\r\n },\r\n wooninitiatiefEnkelHuis: {\r\n linkName: 'Wooninitiatief enkel huis',\r\n linkDescription: 'Deze optie kiest u als u iets wilt declareren wat volgens afspraken met uw zorgkantoor valt onder wooninitiatief ‘enkel huis’. Het gaat hierbij om ' +\r\n 'het wonen en niet om ingekochte zorg.',\r\n },\r\n },\r\n vraagOp: {\r\n title: 'Vraag op:',\r\n verantwoordingsvrijBedragBudgethouder: {\r\n linkName: 'Verantwoordingsvrij bedrag budgethouder',\r\n linkDescription: 'Deze optie kiest u voor uitgaven zoals postzegels of telefoonkosten. U hoeft niet aan uw zorgkantoor of gemeente door te geven hoe u dit besteedt.',\r\n },\r\n },\r\n backToIndienenDeclaratie: 'Terug naar indienen declaratie',\r\n waitMessage: 'Een moment geduld alstublieft.',\r\n labels: {\r\n zorgverlener: 'Zorgverlener',\r\n bedrag: 'Bedrag',\r\n declaratiePeriode: 'Declaratieperiode',\r\n zorgovereenkomst: 'Zorgovereenkomst',\r\n date: 'Datum',\r\n },\r\n errorMessages: {\r\n geenZorgverlenersGevonden: {\r\n title: 'U heeft momenteel geen zorgovereenkomst waarop u kunt declareren.',\r\n body: 'In het overzicht zorgovereenkomsten kunt u zien welke zorgovereenkomsten u heeft afgesloten en wat de status daarvan is.',\r\n },\r\n declaratieNietOndertekend: 'U heeft nog niet aangegeven dat alle gegevens naar waarheid zijn ingevuld.',\r\n },\r\n },\r\n },\r\n}\r\n\r\nmergeI18nDeep(i18n, declaratiesIndienenI18n)\r\n\r\nexport default i18n\r\n","import { mergeI18nDeep } from '@/utils/i18nUtils'\r\nimport declaratiesIndienenI18n from '../i18n'\r\n\r\nconst i18n = {\r\n messages: {\r\n nl: {\r\n opstellen: {\r\n bijkomendeZorgkosten: {\r\n title: 'Bijkomende zorgkosten',\r\n uitleg: 'Als uw zorgverlener bijkomende zorgkosten heeft gemaakt die op de Vergoedingenlijst Wlz PGB staan kunt u die hier declareren. ' +\r\n 'Die lijst toont een overzicht met onderwerpen waarbij staat of, en zo ja onder welke voorwaarden, die kunnen worden vergoed. ' +\r\n 'Raadpleeg bij een Wmo-PGB of Jeugdwet-PGB altijd het beleid van uw gemeente en neem bij twijfel of vragen contact met hen op. ' +\r\n 'Per soort bijkomende zorgkosten dient u één declaratie in.',\r\n betaalbewijsMetDatumNote: 'Let op dat uw betaalbewijs een datum bevat waarop de kosten zijn gemaakt.',\r\n uitbetaaldNaGoedkeuring: 'Het factuurbedrag wordt pas uitbetaald als de declaratie is goedgekeurd door de SVB. Op dat moment wordt ook ' +\r\n 'de stand van uw budget bijgewerkt.',\r\n },\r\n budgetTekort: 'U heeft {amount} tekort aan budget om deze declaratie te laten uitbetalen. Controleer of u de declaratie correct heeft ' +\r\n 'ingevuld. Pas de declaratie zo nodig aan. Het is mogelijk in de volgende stap uw declaratie ter goedkeuring in te dienen bij de SVB. ' +\r\n 'Na goedkeuring door de SVB kunt u het tekort aan budget zelf bijbetalen van uw eigen rekening. U kunt de declaratie ook opslaan en ' +\r\n 'later beslissen wat u met deze declaratie wilt doen.',\r\n },\r\n controle: {\r\n bijkomendeZorgkosten: {\r\n title: 'Bijkomende zorgkosten',\r\n },\r\n controlerenEnOndertekenenCard: {\r\n notice: 'Heeft u de declaratie goed gecontroleerd? De declaratie wordt ter goedkeuring aangeboden aan de SVB.',\r\n },\r\n },\r\n ingediend: {\r\n watNu: {\r\n body: 'De declaratie wordt beoordeeld door de SVB. U krijg hiervan bericht.',\r\n },\r\n },\r\n labels: {\r\n typeBijkomendeZorgkosten: 'Type bijkomende zorgkosten',\r\n typeBijkomendeZorgkostenPlaceholder: 'Kies type bijkomende zorgkosten',\r\n beschikbaarBedrag: 'Beschikbaar bedrag',\r\n resterendBedrag: 'Resterend bedrag',\r\n betaalbewijsUploaden: 'Betaalbewijs uploaden',\r\n bestanden: 'Bestand(en)',\r\n },\r\n errorMessages: {\r\n bijkomendeZorgkostenType: {\r\n emptyField: 'Kies een type bijkomende zorgkosten.',\r\n },\r\n bedrag: {\r\n emptyField: 'Er is geen declaratiebedrag ingevuld.',\r\n invalid: 'Vul een geldig geldbedrag in.',\r\n alGedeclareerdJaarMessage: 'U mag maximaal {maxAmountInPeriod} per jaar declareren. U hebt dit jaar al {alreadyDeclared} gedeclareerd.',\r\n maxPerJaarDeclarerenMessage: 'U mag maximaal {maxAmountInPeriod} per jaar declareren.',\r\n alGedeclareerdMaandMessage: 'U mag deze maand maximaal {maxAmountInPeriod} ({maxPerDay} per dag) declareren. U heeft deze maand al {alreadyDeclared} gedeclareerd.',\r\n maxPerMaandDeclarerenMessage: 'U mag deze maand maximaal {maxAmountInPeriod} ({maxPerDay} per dag) declareren.',\r\n },\r\n },\r\n },\r\n },\r\n}\r\n\r\nmergeI18nDeep(i18n, declaratiesIndienenI18n)\r\n\r\nexport default i18n\r\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p-fieldset',{attrs:{\"legend-text\":_vm.label,\"validation\":_vm.validation}},[_c('div',{staticClass:\"d-flex flex-row\"},[_c('div',{staticClass:\"mr-4\"},[_c('p-text-field',{staticClass:\"currency-field__euro-input\",attrs:{\"label\":_vm.$t('labels.euroInput'),\"currency\":\"\",\"inputmode\":\"numeric\"},model:{value:(_vm.amount.euroValue.value),callback:function ($$v) {_vm.$set(_vm.amount.euroValue, \"value\", $$v)},expression:\"amount.euroValue.value\"}})],1),_c('span',{staticClass:\"mr-4 pt-4\",attrs:{\"aria-hidden\":\"true\"}},[_vm._v(\",\")]),_c('div',{staticClass:\"mr-4\"},[_c('p-text-field',{staticClass:\"currency-field__cent-input\",attrs:{\"label\":_vm.$t('labels.centInput'),\"validation\":{ maxLength: 2},\"inputmode\":\"numeric\"},on:{\"blur\":_vm.onCentBlurHandler},model:{value:(_vm.amount.centValue.value),callback:function ($$v) {_vm.$set(_vm.amount.centValue, \"value\", $$v)},expression:\"amount.centValue.value\"}})],1)]),_c('p-fieldset-error',{attrs:{\"data-ui\":\"currency-field-error\"}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { Ref, ref, watch } from '@vue/composition-api'\r\nimport { ITransform } from '../dataAccess/validation/transform'\r\n\r\nexport type DisplayValues = { [Key in keyof TDisplayValues]: Ref }\r\n\r\nexport interface IUseTransformMulti {\r\n displayValues: DisplayValues\r\n isValid: Ref>\r\n}\r\n\r\nexport type KeysOfType = {\r\n [P in keyof TModel]: TModel[P] extends TField ? P : never\r\n}[keyof TModel]\r\n\r\nexport abstract class UseTransformMulti {\r\n displayValues: DisplayValues\r\n isValid: Ref>\r\n transform: ITransform\r\n\r\n constructor (public model: TModel, public fieldName: string & KeysOfType) {\r\n const displayValues = this.createDisplayValues()\r\n this.isValid = ref(true)\r\n this.transform = this.createTransform()\r\n for (const key in displayValues) {\r\n if (Object.prototype.hasOwnProperty.call(displayValues, key)) {\r\n const displayValue = displayValues[key] // pull to local scope for the watch function (SonarLint S1515), because key changes\r\n watch(() => displayValue.value, () => {\r\n if (this.displayValues) { // do not call while in constructor\r\n this.displayChanged()\r\n }\r\n })\r\n }\r\n }\r\n this.displayValues = displayValues\r\n watch(() => model[fieldName], () => this.modelChanged())\r\n }\r\n\r\n modelChanged () {\r\n const modelValue = this.getModelValue()\r\n if (!this.transform.isValidValue(modelValue)) {\r\n return\r\n }\r\n const display = this.getDisplayValue()\r\n if (!this.transform.isValidDisplay(display) || this.transform.toValue(display) !== modelValue) {\r\n this.setDisplayValues(modelValue)\r\n }\r\n }\r\n\r\n displayChanged () {\r\n const display = this.getDisplayValue()\r\n const isValid = this.transform.isValidDisplay(display)\r\n this.isValid.value = isValid\r\n const oldValue = this.getModelValue()\r\n const newValue = isValid ? this.transform.toValue(display) : this.transform.invalidValue\r\n if (oldValue !== newValue) {\r\n // @ts-ignore : typescript vindt dat this.model[this.fieldName] readonly is\r\n this.model[this.fieldName] = newValue\r\n }\r\n }\r\n\r\n getModelValue (): TField {\r\n return this.model[this.fieldName] as any\r\n }\r\n\r\n protected abstract createTransform(): ITransform\r\n\r\n protected abstract createDisplayValues(): DisplayValues\r\n\r\n protected abstract getDisplayValue(): string\r\n\r\n protected abstract setDisplayValues(modelValue: TField): void\r\n}\r\n\r\ntype UseTransformMultiConstructor =\r\n new (model: TModel, fieldName: string & KeysOfType) =>\r\n UseTransformMulti\r\n\r\nexport function useTransformMulti (\r\n Ctor: UseTransformMultiConstructor, // es-lint: constructors should not start with lower case\r\n model: TModel, fieldName: string & KeysOfType\r\n): IUseTransformMulti {\r\n return new Ctor(model, fieldName)\r\n}\r\n","import { isValidNumber, ITransform, NumberTransform } from '@/dataAccess/validation/transform'\r\nimport { ref, Ref } from '@vue/composition-api'\r\nimport { UseTransformMulti } from './useTransformMulti'\r\n\r\nexport interface EuroCenten {\r\n euroValue: Ref\r\n centValue: Ref\r\n}\r\n\r\nexport class UseEuroCenten\r\n extends UseTransformMulti {\r\n protected createTransform (): ITransform {\r\n return new NumberTransform()\r\n }\r\n\r\n protected createDisplayValues (): { euroValue: Ref; centValue: Ref; } {\r\n return {\r\n euroValue: ref(''),\r\n centValue: ref(''),\r\n }\r\n }\r\n\r\n protected getDisplayValue (): string {\r\n const euro = this.displayValues.euroValue.value\r\n const cent = this.displayValues.centValue.value\r\n return euro || cent ? `${euro}.${cent}` : ''\r\n }\r\n\r\n protected setDisplayValues (modelValue: number | null): void {\r\n if (!isValidNumber(modelValue)) {\r\n this.displayValues.euroValue.value = ''\r\n this.displayValues.centValue.value = ''\r\n return\r\n }\r\n const parts = (modelValue + 0.001).toString().replace(',', '.').split('.')\r\n this.displayValues.euroValue.value = parts[0]\r\n const cents = parts.length > 1 ? (parts[1] + '00').substring(0, 2) : '00'\r\n this.displayValues.centValue.value = cents\r\n }\r\n}\r\n","export default {\r\n messages: {\r\n nl: {\r\n labels: {\r\n euroInput: 'Euro',\r\n centInput: 'Cent',\r\n },\r\n },\r\n },\r\n}\r\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { defineComponent, reactive, watch } from '@vue/composition-api'\r\nimport { UseEuroCenten } from '@/composables/useEuroCentTransform'\r\nimport { CurrencyFieldModel } from './types'\r\nimport i18n from './i18n'\r\n\r\nexport default defineComponent({\r\n name: 'CurrencyField',\r\n i18n,\r\n props: {\r\n value: {\r\n type: Number,\r\n default: null,\r\n validator: (prop: number) => typeof prop === 'number' || prop === null,\r\n },\r\n label: { type: String, required: true },\r\n validation: { type: Object, required: true },\r\n },\r\n setup (props, { emit }) {\r\n const model: CurrencyFieldModel = reactive({\r\n amount: null,\r\n })\r\n\r\n const amount = new UseEuroCenten(model, 'amount').displayValues\r\n\r\n const onCentBlurHandler = () => {\r\n amount.centValue.value = amount.centValue.value.padEnd(2, '0')\r\n }\r\n\r\n watch(() => props.value, () => {\r\n model.amount = props.value\r\n })\r\n\r\n watch([amount.euroValue, amount.centValue], () => {\r\n emit('input', model.amount)\r\n })\r\n\r\n return {\r\n amount,\r\n onCentBlurHandler,\r\n }\r\n },\r\n})\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CurrencyField.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CurrencyField.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./CurrencyField.vue?vue&type=template&id=f0508f6e&scoped=true\"\nimport script from \"./CurrencyField.vue?vue&type=script&lang=ts\"\nexport * from \"./CurrencyField.vue?vue&type=script&lang=ts\"\nimport style0 from \"./CurrencyField.vue?vue&type=style&index=0&id=f0508f6e&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"f0508f6e\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.isReady)?_c('p-card',{staticClass:\"mt-3\",attrs:{\"heading-level\":\"3\",\"title\":_vm.$t('title')}},[_c('relatie-select',{staticClass:\"input-width-sm-4 mt-2\",attrs:{\"id\":\"zorgverleners\",\"validation\":_vm.model.validations.zorgverlenerUid,\"label\":_vm.$t('labels.zorgverlener'),\"relaties\":_vm.zorgverleners,\"placeholder\":_vm.$t('labels.zorgverlenerPlaceholder')},model:{value:(_vm.model.zorgverlenerUid),callback:function ($$v) {_vm.$set(_vm.model, \"zorgverlenerUid\", $$v)},expression:\"model.zorgverlenerUid\"}}),(_vm.model.zorgverlenerUid)?_c('p-container',{staticClass:\"d-flex flex-row pa-0\"},[(_vm.model.zorgverlenerUid && _vm.model.declaratieJaar)?_c('date-period-select',{attrs:{\"date-list\":_vm.dateList,\"year\":_vm.model.declaratieJaar,\"month\":_vm.model.declaratieMaand,\"validation\":_vm.model.validations.declaratieMaand,\"label\":_vm.$t('labels.periode')},on:{\"date-change\":_vm.onDateChangeHandler}}):_vm._e()],1):_vm._e(),_c('div',{class:[\n 'mb-4',\n 'zorgverlener-card__zorgovereenkomst',\n { 'zorgverlener-card__zorgovereenkomst--updating': _vm.isfetchingZok } ]},[(_vm.isfetchingZok)?_c('p-loading-indicator',{staticClass:\"zorgverlener-card__zorgovereenkomst__loading-indicator mb-10\"}):_vm._e(),(!_vm.serverError)?_c('div',{attrs:{\"aria-live\":\"polite\",\"aria-atomic\":\"true\"}},[(_vm.model.hasMultipleZoks && _vm.model.declaratieJaar && _vm.model.declaratieMaand)?_c('div',[_c('p-select',{staticClass:\"input-width-sm-4 mb-0\",attrs:{\"id\":\"multiple-zok-choices\",\"data-ui\":\"multiple-zok-choices\",\"label\":_vm.$t('labels.zorgovereenkomst'),\"options\":_vm.multipleZokChoices,\"default-option\":_vm.$t('labels.chooseZorgovereenkomst'),\"validation\":_vm.model.validations.gekozenZorgverlenerZokUid},model:{value:(_vm.model.gekozenZorgverlenerZokUid),callback:function ($$v) {_vm.$set(_vm.model, \"gekozenZorgverlenerZokUid\", $$v)},expression:\"model.gekozenZorgverlenerZokUid\"}})],1):_vm._e(),(_vm.model.gekozenZorgverlenerZok && _vm.model.declaratieJaar && _vm.model.declaratieMaand)?_c('div',{class:[\n 'zorgverlener-card__zorgovereenkomst__chosen',\n {'zorgverlener-card__zorgovereenkomst__chosen--multiple-zoks': _vm.model.hasMultipleZoks}\n ]},[(!_vm.model.hasMultipleZoks)?_c('p',{staticClass:\"font-weight-bold\"},[_vm._v(\" \"+_vm._s(_vm.$t('labels.zorgovereenkomst'))+\" \")]):_vm._e(),_c('declaratie-zok-periode',{attrs:{\"button-only\":_vm.model.hasMultipleZoks,\"ingangs-datum\":_vm.model.gekozenZorgverlenerZok.originelePeriode.ingangsDatum,\"eind-datum\":_vm.model.gekozenZorgverlenerZok.originelePeriode.eindDatum,\"zok-uid\":_vm.model.gekozenZorgverlenerZok.uid,\"disabled\":_vm.isfetchingZok}})],1):_vm._e()]):_vm._e(),_c('p-alert',{staticClass:\"mt-2\",attrs:{\"data-ui\":\"alert-serverError-in-zok-retrieval\",\"type\":\"error\",\"show-alert\":!!_vm.serverError}},[_vm._v(\" \"+_vm._s(_vm.serverError)+\" \")])],1)],1):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","const i18n = {\r\n messages: {\r\n nl: {\r\n title: 'Zorgverlener',\r\n labels: {\r\n zorgverlener: 'Zorgverlener',\r\n zorgverlenerPlaceholder: 'Kies zorgverlener',\r\n periode: 'Periode',\r\n zorgovereenkomst: 'Zorgovereenkomst',\r\n chooseZorgovereenkomst: 'Kies een zorgovereenkomst',\r\n multipleZok: 'Geldigheid: {ingangsDatum} t/m {eindDatum}',\r\n multipleZokFrom: 'Geldigheid: vanaf {ingangsDatum}',\r\n },\r\n errorMessages: {\r\n gekozenZorgverlenerZokUid: {\r\n emptyField: 'Kies een zorgovereenkomst waarop u wilt declareren.',\r\n },\r\n maand: {\r\n emptyField: 'Er is geen maand gekozen.',\r\n },\r\n },\r\n },\r\n },\r\n}\r\n\r\nexport default i18n\r\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[(!_vm.buttonOnly)?_c('p',{staticClass:\"mb-0\",attrs:{\"data-ui\":\"declaratie-zok-periode\"}},[(_vm.ingangsDatum && _vm.eindDatum)?[_vm._v(\" \"+_vm._s(_vm.$t('declaratieZok.geldigheidPeriode', { ingangsDatum: _vm.$d(_vm.ingangsDatum, 'short'), eindDatum: _vm.$d(_vm.eindDatum, 'short') }))+\" \")]:_vm._e(),(_vm.ingangsDatum && !_vm.eindDatum)?[_vm._v(\" \"+_vm._s(_vm.$t('declaratieZok.geldigheidVanaf', { ingangsDatum: _vm.$d(_vm.ingangsDatum, 'short'), }))+\" \")]:_vm._e()],2):_vm._e(),_c('p-dialog',{attrs:{\"data-ui\":\"declaratie-zok-modal\",\"title\":_vm.$t('declaratieZok.modalTitle'),\"persistent\":false,\"wide\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nvar attrs = ref.attrs;\nreturn [_c('p-button',_vm._g(_vm._b({staticClass:\"mt-2\",attrs:{\"small\":\"\",\"disabled\":_vm.disabled,\"data-ui\":\"open-zorgovereenkomst-modal\"}},'p-button',attrs,false),on),[_vm._v(\" \"+_vm._s(_vm.$t('declaratieZok.bekijkZok'))+\" \")])]}}])},[_c('zorgovereenkomst-inzien',{attrs:{\"zorgovereenkomst-id\":_vm.zokUid}})],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export default {\r\n messages: {\r\n nl: {\r\n declaratieZok: {\r\n geldigheidPeriode: 'Geldigheid: {ingangsDatum} t/m {eindDatum}',\r\n geldigheidVanaf: 'Geldigheid: vanaf {ingangsDatum}',\r\n bekijkZok: 'Bekijk zorgovereenkomst',\r\n modalTitle: 'Zorgovereenkomst',\r\n },\r\n },\r\n },\r\n}\r\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { defineComponent } from '@vue/composition-api'\r\nimport i18n from './i18n'\r\nimport ZorgovereenkomstInzien from '@/domains/zorgovereenkomst/pages/inzien/ZorgovereenkomstInzien.vue'\r\n\r\nexport default defineComponent({\r\n name: 'DeclaratieZokPeriode',\r\n components: { ZorgovereenkomstInzien },\r\n props: {\r\n eindDatum: { type: String, default: '' },\r\n ingangsDatum: { type: String, required: true },\r\n zokUid: { type: String, default: null },\r\n buttonOnly: { type: Boolean, default: false },\r\n disabled: { type: Boolean, default: false },\r\n },\r\n i18n,\r\n})\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DeclaratieZokPeriode.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DeclaratieZokPeriode.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./DeclaratieZokPeriode.vue?vue&type=template&id=216ed410\"\nimport script from \"./DeclaratieZokPeriode.vue?vue&type=script&lang=ts\"\nexport * from \"./DeclaratieZokPeriode.vue?vue&type=script&lang=ts\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import { useI18n } from 'phoenix'\r\nimport { Periode } from '@/domains/toekenningsbeschikking/dataAccess/models/Periode'\r\nimport { computed } from '@vue/composition-api'\r\nimport { ZorgverlenerCardRepository } from './ZorgverlenerCardRepository'\r\n\r\nfunction getLabel ({ ingangsDatum, eindDatum }: Periode) {\r\n const { t, d } = useI18n()\r\n const i18nKey = (eindDatum !== null) ? 'labels.multipleZok' : 'labels.multipleZokFrom'\r\n return t(i18nKey, {\r\n ingangsDatum: d(ingangsDatum, 'short'),\r\n eindDatum: d(eindDatum, 'short'),\r\n })\r\n}\r\n\r\nfunction getMultipleZokChoices (repository: ZorgverlenerCardRepository) {\r\n return computed(() => repository.model.beschikbareZoks.map((zok, key) => ({\r\n label: getLabel(zok.originelePeriode),\r\n text: getLabel(zok.originelePeriode),\r\n value: zok.uid,\r\n id: `choose-zok-${key}`,\r\n }))\r\n )\r\n}\r\n\r\nexport function useZorgverlenerCardRepository (repository: ZorgverlenerCardRepository) {\r\n return {\r\n multipleZokChoices: getMultipleZokChoices(repository),\r\n }\r\n}\r\n","import { Maand } from '@/_generated/portalClient'\r\nimport { Zorgovereenkomst } from '@/domains/zorgovereenkomst/dataAccess/models/Zorgovereenkomst'\r\n\r\nexport interface ZorgverlenerCard {\r\n zorgverlenerUid: string | null\r\n declaratieJaar: number\r\n declaratieMaand: Maand | null\r\n gekozenZorgverlenerZokUid: string | null\r\n beschikbareZoks: Readonly[]\r\n}\r\n\r\nexport const emptyZorgverlenerCard: ZorgverlenerCard = {\r\n zorgverlenerUid: null,\r\n declaratieJaar: 0,\r\n declaratieMaand: null,\r\n gekozenZorgverlenerZokUid: null,\r\n beschikbareZoks: [],\r\n}\r\n","import { ModelValidator } from '@/dataAccess/validation/ModelValidator'\r\nimport { StringFieldValidator } from '@/dataAccess/validation/StringFieldValidator'\r\nimport { ZorgverlenerCardExtended } from './models/ZorgverlenerCardExtended'\r\n\r\nexport class ZorgverlenerCardValidator extends ModelValidator {\r\n zorgverlenerUid: StringFieldValidator\r\n declaratieMaand: StringFieldValidator\r\n gekozenZorgverlenerZokUid: StringFieldValidator\r\n\r\n constructor (model: ZorgverlenerCardExtended) {\r\n super(model)\r\n this.zorgverlenerUid = new StringFieldValidator(this, {\r\n required: true,\r\n requiredMessage: 't:errorMessages.zorgverlenerId.emptyField',\r\n })\r\n this.declaratieMaand = new StringFieldValidator(this, {\r\n required: true,\r\n requiredMessage: 't:errorMessages.maand.emptyField',\r\n })\r\n this.gekozenZorgverlenerZokUid = new StringFieldValidator(this, {\r\n required: true,\r\n requiredMessage: 't:errorMessages.gekozenZorgverlenerZokUid.emptyField',\r\n })\r\n }\r\n}\r\n","import { DeclaratieType, DeclaratieTypeZorgverlenerPeriodeViewModel } from '@/_generated/portalClient'\r\nimport { declaratieConceptClient } from '@/dataAccess/clients'\r\nimport { RepositoryBase } from '@/dataAccess/RepositoryBase'\r\nimport { currentUserRepository } from '@/domains/account/dataAccess/CurrentUserRepository'\r\nimport { DeclarabeleMaanden, Zorgverlener } from '@/domains/account/dataAccess/models/relaties/Zorgverlener'\r\nimport {\r\n mapDeclaratieTypeZorgverlenerPeriodeViewModelNoZok,\r\n} from '@/domains/declaraties/dataAccess/mappers/mapDeclaratieTypeZorgverlenerPeriodeViewModel'\r\nimport { mapFromDeclaratieZorgovereenkomstViewModel } from '@/domains/zorgovereenkomst/dataAccess/mappers/mapZorgovereenkomst'\r\nimport { Zorgovereenkomst } from '@/domains/zorgovereenkomst/dataAccess/models/Zorgovereenkomst'\r\nimport { AbortablePromise } from '@/utils/AbortablePromise'\r\nimport { ConditionalApiCallDebouncer } from '@/utils/ConditionalApiCallDebouncer'\r\nimport { computed, ref, Ref } from '@vue/composition-api'\r\nimport { emptyZorgverlenerCard, ZorgverlenerCard } from './models/ZorgverlenerCard'\r\nimport { ZorgverlenerCardExtended } from './models/ZorgverlenerCardExtended'\r\nimport { ZorgverlenerCardValidator } from './ZorgverlenerCardValidator'\r\n\r\nexport class ZorgverlenerCardRepository extends RepositoryBase {\r\n private readonly _declaratieType: DeclaratieType\r\n private readonly _zorgverleners: Ref[]> = ref([])\r\n private readonly _debouncer: ConditionalApiCallDebouncer\r\n private _serverError: Ref> = ref(null)\r\n private availablePeriods: DeclarabeleMaanden[] = [];\r\n private _initialData: ZorgverlenerCard | undefined\r\n\r\n constructor (declaratieType: DeclaratieType, zorgverleners: Readonly[], initialData?: ZorgverlenerCard) {\r\n super('ZorgverlenerCardRepository', emptyZorgverlenerCard)\r\n this.dependsOn(currentUserRepository())\r\n this._zorgverleners.value = zorgverleners\r\n this._declaratieType = declaratieType\r\n this._debouncer = this.setupDebouncer()\r\n if (initialData) {\r\n this._initialData = initialData\r\n }\r\n }\r\n\r\n protected doBeforeOpen (): void {\r\n super.doBeforeOpen()\r\n if (this._initialData) {\r\n this.setInitialData(this._initialData)\r\n }\r\n }\r\n\r\n private setInitialData (initialData: ZorgverlenerCard) {\r\n this.setDataModel(initialData)\r\n this.modelRef.value.zorgverlenerUidCoupledToZoks = this.model.zorgverlenerUid\r\n const zorgverlener = this._zorgverleners.value.find(a => a.uid === this.model.zorgverlenerUid)\r\n this.availablePeriods = zorgverlener ? zorgverlener.declarabeleMaanden : []\r\n this.forceUpdate()\r\n }\r\n\r\n get serverError (): Readonly> {\r\n return this._serverError\r\n }\r\n\r\n get isCurrentStateValidFinalState (): boolean {\r\n return !!this.model.gekozenZorgverlenerZokUid\r\n }\r\n\r\n protected forceUpdate (): void {\r\n this.addWaitForForceUpdate(this._debouncer.forcedUpdate())\r\n super.forceUpdate()\r\n }\r\n\r\n public get debouncerIsBusyRef (): Readonly> {\r\n return this._debouncer.isBusy\r\n }\r\n\r\n public destroy (): void {\r\n this._debouncer.destroy()\r\n super.destroy()\r\n }\r\n\r\n protected doAddValidations (model: ZorgverlenerCardExtended): void {\r\n super.doAddValidations(model)\r\n model.validations = new ZorgverlenerCardValidator(model)\r\n }\r\n\r\n protected doExtendModel (model: ZorgverlenerCardExtended) {\r\n super.doExtendModel(model)\r\n model.gekozenZorgverlener = computed(() => {\r\n if (model.zorgverlenerUid && this._zorgverleners) {\r\n return this._zorgverleners.value.find(zvl => zvl.uid === model.zorgverlenerUid) || null\r\n }\r\n return null\r\n }) as any\r\n model.gekozenZorgverlenerZok = computed(() => {\r\n if (model.gekozenZorgverlenerZokUid && model.beschikbareZoks) {\r\n return model.beschikbareZoks.find(zok => zok.uid === model.gekozenZorgverlenerZokUid) || null\r\n }\r\n return null\r\n }) as any\r\n model.hasMultipleZoks = computed(() => this.model.beschikbareZoks ? this.model.beschikbareZoks.length > 1 : false) as any\r\n }\r\n\r\n protected doAddWatchers () {\r\n super.doAddWatchers()\r\n\r\n this.watchSingle(() => this.model.declaratieJaar, () => {\r\n this.resetMonth()\r\n })\r\n\r\n this.watchSingle(() => this.model.zorgverlenerUid, () => {\r\n this.availablePeriods = this.model.gekozenZorgverlener ? this.model.gekozenZorgverlener.declarabeleMaanden : []\r\n const yearNoLongerAvailable = !this.availablePeriods.find((a) => a.jaar === this.model.declaratieJaar)\r\n if (yearNoLongerAvailable) {\r\n this.model.declaratieJaar = this.availablePeriods.reduce((a: number, b: { jaar: number }) => Math.max(a, b.jaar), 0)\r\n return\r\n }\r\n this.resetMonth()\r\n })\r\n\r\n this.watchMulti([() => this.model.zorgverlenerUid, () => this.model.declaratieJaar, () => this.model.declaratieMaand], () => {\r\n if (this.model.zorgverlenerUidCoupledToZoks !== this.model.zorgverlenerUid) {\r\n this.model.zorgverlenerUidCoupledToZoks = this.model.zorgverlenerUid\r\n this.model.gekozenZorgverlenerZokUid = null\r\n this._serverError.value = null\r\n this.model.beschikbareZoks = []\r\n this._debouncer.abort()\r\n }\r\n\r\n if (this.isValidating) {\r\n this.forceUpdate()\r\n } else {\r\n this._debouncer.triggerUpdate()\r\n }\r\n })\r\n }\r\n\r\n private resetMonth () {\r\n const isOnlyMonth = this.availablePeriods.length === 1\r\n if (isOnlyMonth) {\r\n this.model.declaratieMaand = this.availablePeriods[0].maand\r\n return\r\n }\r\n const monthNoLongerAvailable = !this.availablePeriods.find((a) => a.jaar === this.model.declaratieJaar && a.maand === this.model.declaratieMaand)\r\n if (monthNoLongerAvailable) {\r\n this.model.declaratieMaand = null\r\n }\r\n }\r\n\r\n private preSelectZok () {\r\n const availableZoks = this.model.beschikbareZoks\r\n const isOnlyOneZokAvailable = availableZoks && availableZoks.length === 1 && availableZoks[0]\r\n if (isOnlyOneZokAvailable) {\r\n this.model.gekozenZorgverlenerZokUid = availableZoks[0].uid as string\r\n return\r\n }\r\n const isPreviouslySelectedZokPresent = availableZoks && availableZoks.find(a => a.uid === this.model.gekozenZorgverlenerZokUid)\r\n if (isPreviouslySelectedZokPresent) {\r\n return\r\n }\r\n this.model.gekozenZorgverlenerZokUid = null\r\n }\r\n\r\n private setupDebouncer (): ConditionalApiCallDebouncer {\r\n const invalidResult: [] = []\r\n return new ConditionalApiCallDebouncer(\r\n () => this.buildZoksViewModel(),\r\n (zoksViewModel) => this.isZoksViewModelValid(zoksViewModel),\r\n (zoksViewModel) => this.getZorgverlenerZoks(zoksViewModel),\r\n async (zorgverlenerZoks) => this.handleApiResult(zorgverlenerZoks),\r\n invalidResult)\r\n }\r\n\r\n private buildZoksViewModel (): DeclaratieTypeZorgverlenerPeriodeViewModel {\r\n const bghId = currentUserRepository().model.budgethouderUid\r\n return mapDeclaratieTypeZorgverlenerPeriodeViewModelNoZok(this.model, bghId, this._declaratieType)\r\n }\r\n\r\n private isZoksViewModelValid (vm: DeclaratieTypeZorgverlenerPeriodeViewModel): boolean {\r\n return !!vm.zorgverlenerUid && !!vm.jaar && !!vm.maand\r\n }\r\n\r\n private getZorgverlenerZoks (viewModel: DeclaratieTypeZorgverlenerPeriodeViewModel): AbortablePromise {\r\n return declaratieConceptClient().callWithAbort((client) => client.getZorgovereenkomstenVanOpdrachtnemer(\r\n viewModel\r\n ).then(concept => {\r\n if (concept.serverErrors && concept.serverErrors.length > 0) {\r\n this._serverError.value = concept.serverErrors[0].errorMessage\r\n return []\r\n }\r\n this._serverError.value = null\r\n const zoks = (concept.opdrachtnemer && concept.opdrachtnemer.zorgovereenkomsten) ? concept.opdrachtnemer.zorgovereenkomsten : []\r\n return zoks.map(zok => mapFromDeclaratieZorgovereenkomstViewModel(zok))\r\n }))\r\n }\r\n\r\n private handleApiResult (zorgverlenerZoks: Zorgovereenkomst[]): void {\r\n this.model.beschikbareZoks = zorgverlenerZoks\r\n this.preSelectZok()\r\n }\r\n}\r\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p-fieldset',{staticClass:\"date-period-select__fieldset\",attrs:{\"legend-text\":_vm.label,\"validation\":_vm.validation,\"info\":_vm.info,\"hint\":_vm.hint}},[_c('div',{staticClass:\"d-flex flex-row\"},[_c('p-fieldset-validation-exclude',{staticClass:\"input-width-inline-sm-2 pr-3 p-input date-period-select__year-block\"},[_c('p-select',{staticClass:\"input-width-inline-sm-2\",attrs:{\"value\":_vm.yearSelected,\"label\":_vm.$t('labels.yearSelect'),\"options\":_vm.yearList,\"data-ui\":\"date-period-select-year\"},on:{\"input\":_vm.onYearChangedHandler}})],1),_c('p-select',{staticClass:\"input-width-inline-sm-2 pl-3 date-period-select__month-block\",attrs:{\"value\":_vm.monthSelected,\"label\":_vm.$t('labels.monthSelect'),\"options\":_vm.monthList,\"default-option\":_vm.$t('placeholders.monthSelect'),\"data-ui\":\"date-period-select-month\"},on:{\"input\":_vm.onMonthChangedHandler}})],1),_c('p-fieldset-error',{attrs:{\"data-ui\":\"date-period-select-error\"}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export default {\r\n messages: {\r\n nl: {\r\n labels: {\r\n yearSelect: 'Jaar',\r\n monthSelect: 'Maand',\r\n },\r\n placeholders: {\r\n yearSelect: 'Kies een jaar',\r\n monthSelect: 'Kies een maand',\r\n },\r\n },\r\n },\r\n}\r\n","import { computed, Ref, watch } from '@vue/composition-api'\r\nimport { useI18n } from 'phoenix'\r\nimport { IDateListItem, IDateTranslatedItem } from './types'\r\n\r\nexport const useDatePeriodSelectLists = (year: Ref, dateList: Ref) => {\r\n const { t } = useI18n()\r\n const yearList = computed(() => dateList.value\r\n .map((i: IDateListItem) => (\r\n { text: i.year.toString(), value: i.year }\r\n )).sort((y: IDateTranslatedItem, x: IDateTranslatedItem) => y.value - x.value))\r\n\r\n const monthList = computed(() => {\r\n const val = dateList.value.find((i: IDateListItem) => i.year === year.value)\r\n return val && val.months\r\n ? val.months\r\n .map((i: number) => ({ text: t(`maand.${i}`), value: i }))\r\n .sort((y: IDateTranslatedItem, x: IDateTranslatedItem) => y.value - x.value)\r\n : []\r\n })\r\n\r\n return {\r\n yearList,\r\n monthList,\r\n }\r\n}\r\n\r\nexport const useSyncNumericProp = (propRef: Ref, modelRef: Ref) => {\r\n watch(() => propRef.value, () => {\r\n if (propRef.value !== modelRef.value) {\r\n modelRef.value = propRef.value\r\n }\r\n })\r\n}\r\n\r\nexport const checkMonthValue = (dateList: Ref, year: Ref, month: Ref) => {\r\n const yearSelection = dateList.value.find((i: IDateListItem) => i.year === year.value)\r\n\r\n if (yearSelection && !yearSelection.months.includes(month.value as number)) {\r\n month.value = null\r\n }\r\n}\r\n\r\nexport const onDateChangedHandler = (year: number | null, month: number | null, eventEmitter: (event: string, ...args: any[]) => void) => {\r\n eventEmitter('date-change', {\r\n year,\r\n month,\r\n })\r\n}\r\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { defineComponent, onMounted, toRefs, ref, watch } from '@vue/composition-api'\r\nimport i18n from './i18n'\r\nimport {\r\n useDatePeriodSelectLists,\r\n useSyncNumericProp,\r\n checkMonthValue,\r\n onDateChangedHandler,\r\n} from './useDatePeriodSelect'\r\nimport { IDatePeriodSelectEvent as _IDatePeriodSelectEvent, IDateListItem } from './types'\r\n\r\nexport type IDatePeriodSelectEvent = _IDatePeriodSelectEvent\r\n\r\nexport default defineComponent({\r\n name: 'DatePeriodSelect',\r\n i18n,\r\n props: {\r\n label: { type: String, required: true },\r\n validation: { type: Object, required: true },\r\n year: { type: Number, required: true },\r\n month: { type: Number, default: null },\r\n dateList: { type: Array as () => IDateListItem[], required: true },\r\n info: { type: String, default: null },\r\n hint: { type: String, default: null },\r\n },\r\n setup (props, { emit }) {\r\n const { year: yearProp, month: monthProp, dateList } = toRefs(props)\r\n\r\n const yearSelected = ref(null)\r\n const monthSelected = ref(null)\r\n\r\n const { yearList, monthList } = useDatePeriodSelectLists(yearSelected, dateList)\r\n\r\n const onYearChangedHandler = (yearValue: number) => {\r\n yearSelected.value = yearValue\r\n checkMonthValue(dateList, yearSelected, monthSelected)\r\n onDateChangedHandler(yearSelected.value, monthSelected.value, emit)\r\n }\r\n\r\n const onMonthChangedHandler = (monthValue: number) => {\r\n monthSelected.value = monthValue\r\n onDateChangedHandler(yearSelected.value, monthSelected.value, emit)\r\n }\r\n\r\n useSyncNumericProp(yearProp, yearSelected)\r\n useSyncNumericProp(monthProp, monthSelected)\r\n\r\n watch(() => yearList.value, (newYearList, oldYearList) => {\r\n if (oldYearList) {\r\n onYearChangedHandler(newYearList[0].value)\r\n }\r\n })\r\n watch(() => monthList.value, (newMonthList, oldMonthList) => {\r\n if (oldMonthList && newMonthList && (monthSelected.value && !newMonthList.some(\r\n ({ value }) => value === monthSelected.value\r\n ))) {\r\n monthSelected.value = null\r\n }\r\n })\r\n\r\n onMounted(() => {\r\n yearSelected.value = yearProp.value\r\n })\r\n\r\n return {\r\n yearList,\r\n monthList,\r\n yearSelected,\r\n monthSelected,\r\n onYearChangedHandler,\r\n onMonthChangedHandler,\r\n }\r\n },\r\n})\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DatePeriodSelect.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DatePeriodSelect.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./DatePeriodSelect.vue?vue&type=template&id=71a08be7&scoped=true\"\nimport script from \"./DatePeriodSelect.vue?vue&type=script&lang=ts\"\nexport * from \"./DatePeriodSelect.vue?vue&type=script&lang=ts\"\nimport style0 from \"./DatePeriodSelect.vue?vue&type=style&index=0&id=71a08be7&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"71a08be7\",\n null\n \n)\n\nexport default component.exports","import { IDateListItem } from '@/components/entities/DatePeriodSelect/types'\r\nimport { computed, Ref } from '@vue/composition-api'\r\n\r\nexport interface IRawDatesItem {\r\n jaar: number,\r\n maand: number\r\n}\r\n\r\nexport const useConvertApiDateArrayToSelectable = (datesRawData: { jaar: number, maand: number }[]): Readonly>> =>\r\n computed(() => [...new Set(datesRawData\r\n .map((i: IRawDatesItem) => i.jaar))]\r\n .sort((y: number, x: number) => y - x)\r\n .map((jaar: number) =>\r\n ({\r\n year: jaar,\r\n months: datesRawData\r\n .filter((i: IRawDatesItem) => i.jaar === jaar)\r\n .map((i: IRawDatesItem) => i.maand)\r\n .sort((y: number, x: number) => y - x),\r\n })\r\n )\r\n )\r\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { computed, defineComponent, watch } from '@vue/composition-api'\r\nimport RelatieSelect from '@/components/entities/RelatieSelect/RelatieSelect.vue'\r\nimport i18n from './i18n'\r\nimport DeclaratieZokPeriode from '@/domains/declaraties/components/declaratieZokPeriode/DeclaratieZokPeriode.vue'\r\nimport { useZorgverlenerCardRepository } from './useZorgverlenerCardRepository'\r\nimport { ZorgverlenerCardRepository } from './ZorgverlenerCardRepository'\r\nimport { Zorgverlener } from '@/domains/account/dataAccess/models/relaties/Zorgverlener'\r\nimport DatePeriodSelect from '@/components/entities/DatePeriodSelect/DatePeriodSelect.vue'\r\nimport { useConvertApiDateArrayToSelectable } from './useConvertApiDateArrayToSelectable'\r\nimport { registerDelayedFormInputValidator } from 'phoenix'\r\nimport { ZorgverlenerCard } from './models/ZorgverlenerCard'\r\n\r\nexport default defineComponent({\r\n components: { RelatieSelect, DeclaratieZokPeriode, DatePeriodSelect },\r\n name: 'ZorgverlenerCard',\r\n i18n,\r\n props: {\r\n declaratieType: { type: Number, required: true },\r\n zorgverleners: { type: Array as () => Zorgverlener[], required: true },\r\n initialData: { type: Object as () => ZorgverlenerCard, required: false, default: null },\r\n },\r\n\r\n setup (props, { emit }) {\r\n const repository = new ZorgverlenerCardRepository(props.declaratieType, props.zorgverleners, props.initialData)\r\n repository.open()\r\n repository.ready().then(() => {\r\n const model = repository.model\r\n watch(() => model.gekozenZorgverlener, () => {\r\n emit('zorgverlener-selected', model.gekozenZorgverlener)\r\n })\r\n watch([() => model.declaratieJaar, () => model.declaratieMaand], () => {\r\n emit('period-changed', { year: model.declaratieJaar, month: model.declaratieMaand })\r\n })\r\n watch(() => model.gekozenZorgverlenerZokUid, () => {\r\n emit('zok-selected', model.gekozenZorgverlenerZok)\r\n })\r\n })\r\n const onDateChangeHandler = (date: any) => {\r\n repository.modelRef.value.declaratieJaar = date.year\r\n repository.modelRef.value.declaratieMaand = date.month\r\n }\r\n registerDelayedFormInputValidator(() => repository.isValidAfterWaitingForAllForcedUpdateCalls(), () => repository.isCurrentStateValidFinalState)\r\n\r\n return {\r\n ...useZorgverlenerCardRepository(repository),\r\n model: repository.modelRef,\r\n isfetchingZok: repository.debouncerIsBusyRef,\r\n isReady: repository.isReadyRef,\r\n dateList: computed(() => {\r\n if (repository.modelRef.value && repository.modelRef.value.gekozenZorgverlener) {\r\n const gekozenZorgverlener = repository.modelRef.value.gekozenZorgverlener\r\n const dateArray = useConvertApiDateArrayToSelectable(gekozenZorgverlener.declarabeleMaanden ? gekozenZorgverlener.declarabeleMaanden : [])\r\n return dateArray.value\r\n }\r\n return []\r\n }),\r\n onDateChangeHandler,\r\n serverError: repository.serverError,\r\n }\r\n },\r\n})\r\n\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ZorgverlenerCard.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ZorgverlenerCard.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./ZorgverlenerCard.vue?vue&type=template&id=53ff4078\"\nimport script from \"./ZorgverlenerCard.vue?vue&type=script&lang=ts\"\nexport * from \"./ZorgverlenerCard.vue?vue&type=script&lang=ts\"\nimport style0 from \"./ZorgverlenerCard.vue?vue&type=style&index=0&id=53ff4078&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[(_vm.showSavedDialog)?[(!_vm.showFailedSaveMessage)?_c('p-alert',{attrs:{\"type\":\"success\",\"heading-level\":\"2\",\"data-ui\":\"succesvol-opgeslagen-alert\"}},[_c('p',[_vm._v(\" \"+_vm._s(_vm.$t('opslaanDeclaratieConcept.body'))+\" \"),_c('p-router-link',{attrs:{\"to\":{ name: 'OverzichtDeclaratie'},\"data-ui\":\"overzicht-declaratie-link\"}},[_vm._v(\" \"+_vm._s(_vm.$t('opslaanDeclaratieConcept.bodyLinkTitle'))+\" \")])],1)]):_c('p-alert',{attrs:{\"type\":\"error\",\"heading-level\":\"2\",\"data-ui\":\"fout-bij-opslaan-alert\"}},[_c('p',[_vm._v(\" \"+_vm._s(_vm.$t('opslaanDeclaratieConcept.error'))+\" \")])])]:_vm._e(),(_vm.showCannotSaveMessage)?[(_vm.showCannotSaveMessage)?_c('p-alert',{attrs:{\"type\":\"info\",\"heading-level\":\"2\",\"data-ui\":\"kan-niet-opslaan-info-alert\"}},[_c('p',[_vm._v(\" \"+_vm._s(_vm.$t('opslaanDeclaratieConcept.cannotSave'))+\" \")])]):_vm._e()]:_vm._e()],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export default {\r\n messages: {\r\n nl: {\r\n opslaanDeclaratieConcept: {\r\n title: 'Tussentijds opslaan',\r\n body: 'Deze declaratie is opgeslagen op de pagina',\r\n bodyLinkTitle: 'Overzicht declaraties',\r\n cannotSave: 'U heeft nog niets ingevuld. De declaratie is daarom niet opgeslagen.',\r\n error: 'Er is een technische fout opgetreden. Probeer later nogmaals de declaratie op te slaan.',\r\n },\r\n },\r\n },\r\n}\r\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { defineComponent } from '@vue/composition-api'\r\nimport i18n from './i18n'\r\n\r\nexport default defineComponent({\r\n name: 'Opslaan',\r\n i18n,\r\n props: {\r\n showSavedDialog: { type: Boolean },\r\n showCannotSaveMessage: { type: Boolean },\r\n showFailedSaveMessage: { type: Boolean },\r\n },\r\n})\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Opslaan.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Opslaan.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./Opslaan.vue?vue&type=template&id=dac363e2\"\nimport script from \"./Opslaan.vue?vue&type=script&lang=ts\"\nexport * from \"./Opslaan.vue?vue&type=script&lang=ts\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import { usePageDirtyState, useRouter } from 'phoenix'\r\nimport { DeclaratieConceptBaseRepository } from '../dataAccess/DeclaratieConceptBaseRepository'\r\nimport { IndienenConceptDeclaratieBase } from '../dataAccess/models/indienen/IndienenConceptDeclaratieBase'\r\nimport { IndienenConceptDeclaratieBaseExtended } from '../dataAccess/models/indienen/IndienenConceptDeclaratieBaseExtended'\r\n\r\nexport function useOpslaan (\r\n repository: DeclaratieConceptBaseRepository,\r\n routePath: string,\r\n setPristineOnSave = true\r\n) {\r\n const { router } = useRouter()\r\n const { setPristine } = usePageDirtyState()\r\n\r\n let savePromise: Promise | null = null\r\n\r\n return async () => {\r\n if (savePromise) {\r\n return false\r\n }\r\n savePromise = repository.bewaarConcept()\r\n .then((conceptUid) => {\r\n if (!conceptUid) {\r\n return false\r\n }\r\n addConceptUidToUrl(router, routePath, conceptUid)\r\n return true\r\n })\r\n .finally(() => {\r\n if (setPristineOnSave) {\r\n setPristine()\r\n }\r\n savePromise = null\r\n })\r\n\r\n return savePromise\r\n }\r\n}\r\n\r\nfunction addConceptUidToUrl (router: any, routePath: string, conceptUid: string | null) {\r\n const currentRoute = router.currentRoute\r\n const isCurrentUrlDifferent = currentRoute.name !== routePath || currentRoute.params.id !== conceptUid\r\n if (isCurrentUrlDifferent) {\r\n router.replace({ name: routePath, params: { id: conceptUid, savePosition: true } })\r\n }\r\n}\r\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { computed, defineComponent, ref, toRefs } from '@vue/composition-api'\r\nimport { BijkomendeZorgkostenRepository } from '@/domains/declaraties/dataAccess/BijkomendeZorgkostenRepository'\r\nimport i18n from './i18n'\r\nimport { useReadyToProceedOnValidate } from '@/composables/useReadyToProceedOnValidate'\r\nimport CurrencyField from '@/components/entities/CurrencyField/CurrencyField.vue'\r\nimport FileUpload from '@/components/entities/FileUpload/FileUpload.vue'\r\nimport ZorgverlenerCard from '@/domains/declaraties/components/zorgverlenerCard/ZorgverlenerCard.vue'\r\nimport Opslaan from '@/domains/declaraties/components/opslaan/Opslaan.vue'\r\nimport { DeclaratieType } from '@/_generated/portalClient'\r\nimport { mapToZorgverlenerCard } from '@/domains/declaraties/dataAccess/mappers/mapBijkomendeZorgkosten'\r\nimport { useI18n } from 'phoenix'\r\nimport { route } from '@/domains/declaraties/routes/routeItems'\r\nimport { useOpslaan } from '@/domains/declaraties/pages/useOpslaan'\r\nimport TitleAndHelp from '@/components/entities/TitleAndHelp/TitleAndHelp.vue'\r\n\r\nexport default defineComponent({\r\n components: { CurrencyField, FileUpload, ZorgverlenerCard, Opslaan, TitleAndHelp },\r\n name: 'BijkomendeZorgkostenOpstellen',\r\n i18n,\r\n props: {\r\n repository: { type: Object as () => BijkomendeZorgkostenRepository, required: true },\r\n },\r\n setup (props: { repository: BijkomendeZorgkostenRepository }) {\r\n const { t } = useI18n()\r\n const { repository } = toRefs(props)\r\n const uploadingInProgress = ref(false)\r\n const extensions = ['jpg', 'jpeg', 'tif', 'tiff', 'png', 'pdf', 'doc', 'docx']\r\n\r\n const getAvailableTypes = () => {\r\n const data = repository.value.model.bijkomendezorgkostenChoices\r\n const sortedData = [...data].sort((y, x) => y - x)\r\n return sortedData.map(type => ({ text: t(`bijkomendezorgkostenType.${type}`), value: type }))\r\n }\r\n const availableTypes = computed(() =>\r\n repository.value.model.bijkomendezorgkostenChoices ? getAvailableTypes() : []\r\n )\r\n\r\n const save = useOpslaan(repository.value, route.IndienenDeclaratieBijkomendeZorgkostenZorgverlener)\r\n\r\n return {\r\n ...useReadyToProceedOnValidate({ repository: repository.value, save }),\r\n model: repository.value.modelRef,\r\n updatingKassabon: repository.value.kassabonRepository.isUpdating,\r\n uploadingInProgress,\r\n extensions,\r\n factuur: repository.value.uploadFactuurRepository.modelRef, // TODO: PD-77513 fix upload component. It has a broken v-model binding. replace v-show with v-if.\r\n declaratieType: DeclaratieType.BijkomendeZorgkosten,\r\n zorgverleners: repository.value.zorgverlenersRef,\r\n loadingData: repository.value.loadingData,\r\n availableTypes,\r\n initialZorgverlenerCardData: computed(() =>\r\n mapToZorgverlenerCard(repository.value.savedData.value, repository.value.savedZoks.value\r\n )),\r\n delayValidation: computed(() => ({\r\n waitFor: () => repository.value.isValidAfterWaitingForAllForcedUpdateCalls(),\r\n isValid: () => repository.value.isCurrentStateValidFinalState,\r\n })),\r\n onZorgverlenerSelectHandler: repository.value.updateZorgverlener,\r\n onPeriodChangeHandler: repository.value.updatePeriode,\r\n onZokSelectHandler: repository.value.updateZok,\r\n onRemoveArchivedFile: (id: string) => repository.value.uploadFactuurRepository.removeArchivedFile(id),\r\n showCannotSaveMessage: repository.value.showCannotSaveMessage,\r\n showSavedDialog: repository.value.showSavedDialog,\r\n showFailedSaveMessage: repository.value.showFailedSaveMessage,\r\n }\r\n },\r\n})\r\n\r\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BijkomendeZorgkostenOpstellen.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BijkomendeZorgkostenOpstellen.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./BijkomendeZorgkostenOpstellen.vue?vue&type=template&id=1576156a\"\nimport script from \"./BijkomendeZorgkostenOpstellen.vue?vue&type=script&lang=ts\"\nexport * from \"./BijkomendeZorgkostenOpstellen.vue?vue&type=script&lang=ts\"\nimport style0 from \"./BijkomendeZorgkostenOpstellen.vue?vue&type=style&index=0&id=1576156a&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('section',[_c('title-and-help',{attrs:{\"title\":_vm.$t('controle.title'),\"focusable-title\":(\"Stap 2 - \" + (_vm.$t('controle.title')))}}),_c('p-card',{staticClass:\"mt-3\",attrs:{\"heading-level\":\"3\",\"title\":_vm.$t('controle.algemeenCard.title')}},[_c('p-value-grid',[(_vm.model.declaratieMaand)?_c('p-value-row',{attrs:{\"data-ui\":\"declaratie-periode\",\"label\":_vm.$t('labels.declaratiePeriode'),\"value\":((_vm.$t((\"maand.\" + (_vm.model.declaratieMaand)))) + \" \" + (_vm.model.declaratieJaar))}}):_vm._e(),(_vm.model.zorgverlener && _vm.model.zorgverlener.volledigeNaam)?_c('p-value-row',{attrs:{\"data-ui\":\"gekozen-zorgverlener\",\"label\":_vm.$t('labels.zorgverlener'),\"value\":_vm.model.zorgverlener.volledigeNaam}}):_vm._e(),(_vm.model.zok && _vm.model.zok.originelePeriode)?_c('p-value-row',{attrs:{\"label\":_vm.$t('labels.zorgovereenkomst')}},[_c('declaratie-zok-periode',{attrs:{\"ingangs-datum\":_vm.model.zok.originelePeriode.ingangsDatum,\"eind-datum\":_vm.model.zok.originelePeriode.eindDatum,\"zok-uid\":_vm.model.zok.uid}})],1):_vm._e()],1)],1),_c('p-card',{staticClass:\"mt-10\",attrs:{\"title\":_vm.$t('controle.bijkomendeZorgkosten.title'),\"heading-level\":\"3\"}},[_c('p-value-grid',[(_vm.model.bijkomendeZorgkostenType)?_c('p-value-row',{attrs:{\"label\":_vm.$t('labels.typeBijkomendeZorgkosten'),\"data-ui\":\"Bijkomende-zorgkosten-bedrag\",\"value\":_vm.$t((\"bijkomendezorgkostenType.\" + (_vm.model.bijkomendeZorgkostenType)))}}):_vm._e(),_c('p-value-row',{attrs:{\"label\":_vm.$t('labels.bedrag'),\"data-ui\":\"declaratie-bedrag\",\"value\":_vm.model.bedrag,\"currency\":\"\"}}),_c('p-value-row',{attrs:{\"label\":_vm.$t('labels.bestanden'),\"ellipsis\":\"\"}},_vm._l((_vm.model.upload.bestanden),function(file){return _c('a',{key:file.response.id,staticClass:\"d-block mb-2 text-truncate\",attrs:{\"href\":\"#\",\"title\":file.name,\"data-ui\":\"upload-bestanden-controleren-download-link\"},on:{\"click\":function($event){$event.preventDefault();return (function () { return _vm.downloadFile(file); }).apply(null, arguments)}}},[_vm._v(\" \"+_vm._s(file.name)+\" \")])}),0)],1)],1),_c('p-form',{ref:\"formRef\",staticClass:\"mb-4 mb-md-6 mt-6\"},[_c('p-card',{staticClass:\"mt-10\",attrs:{\"title\":_vm.$t('controle.controlerenEnOndertekenenCard.title'),\"heading-level\":\"3\",\"dark\":\"\"}},[_c('strong',[_vm._v(_vm._s(_vm.$t('controle.controlerenEnOndertekenenCard.attention')))]),_c('p',[_vm._v(_vm._s(_vm.$t('controle.controlerenEnOndertekenenCard.notice')))]),_c('p-value-grid',{staticClass:\"mt-9 mb-3\"},[_c('p-value-row',{attrs:{\"label\":_vm.$t('labels.date'),\"value\":_vm.$d(new Date(), 'short')}})],1),_c('p-checkbox',{attrs:{\"id\":\"declaratie-ondertekend\",\"validation\":_vm.model.validations.declaratieOndertekend,\"label\":_vm.$t('controle.controlerenEnOndertekenenCard.signed')},model:{value:(_vm.model.declaratieOndertekend),callback:function ($$v) {_vm.$set(_vm.model, \"declaratieOndertekend\", $$v)},expression:\"model.declaratieOndertekend\"}})],1)],1),_c('p-notify-required-field',{staticClass:\"mt-4 mb-4\"}),(_vm.model.zelfBijbetalenBedrag)?_c('p-alert',{staticClass:\"mt-6\",attrs:{\"aria-live\":\"off\",\"type\":\"info\",\"data-ui\":\"zelf-bijbetalen-info\"}},[_vm._v(\" \"+_vm._s(_vm.$t('controle.controlerenEnOndertekenenCard.zelfBijbetalenBedragNaGoedkeuring'))+\" \")]):_vm._e(),_c('opslaan',{attrs:{\"show-saved-dialog\":_vm.showSavedDialog,\"show-cannot-save-message\":false,\"show-failed-save-message\":_vm.showFailedSaveMessage}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { BijkomendeZorgkostenRepository } from '@/domains/declaraties/dataAccess/BijkomendeZorgkostenRepository'\r\nimport { defineComponent, toRefs } from '@vue/composition-api'\r\nimport DeclaratieZokPeriode from '@/domains/declaraties/components/declaratieZokPeriode/DeclaratieZokPeriode.vue'\r\nimport i18n from './i18n'\r\nimport { registerStepComponent } from 'phoenix'\r\nimport { useFormValidate } from '@/composables/useFormValidate'\r\nimport { IVueUploadItem } from 'phoenix/types/library/PFileUpload/FileUpload'\r\nimport { useOpslaan } from '@/domains/declaraties/pages/useOpslaan'\r\nimport { route } from '@/domains/declaraties/routes/routeItems'\r\nimport Opslaan from '@/domains/declaraties/components/opslaan/Opslaan.vue'\r\nimport TitleAndHelp from '@/components/entities/TitleAndHelp/TitleAndHelp.vue'\r\n\r\nexport default defineComponent({\r\n components: { DeclaratieZokPeriode, Opslaan, TitleAndHelp },\r\n name: 'BijkomendeZorgkostenControleren',\r\n i18n,\r\n props: {\r\n repository: { type: Object as () => BijkomendeZorgkostenRepository, required: true },\r\n },\r\n setup (props: { repository: BijkomendeZorgkostenRepository }) {\r\n const { repository } = toRefs(props)\r\n\r\n const formValidate = useFormValidate({ repository: repository.value })\r\n\r\n let savePromise: Promise | null = null\r\n\r\n const submit = async (): Promise => {\r\n return formValidate.validate().then((validation) => {\r\n if (!savePromise && validation) {\r\n savePromise = repository.value.submit()\r\n .then(() => true)\r\n .catch(() => false)\r\n .finally(() => {\r\n savePromise = null\r\n })\r\n } else {\r\n return false\r\n }\r\n return savePromise\r\n })\r\n }\r\n const save = useOpslaan(repository.value, route.IndienenDeclaratieBijkomendeZorgkostenZorgverlener)\r\n registerStepComponent({ readyToProceed: submit, save })\r\n\r\n return {\r\n ...formValidate,\r\n model: repository.value.model,\r\n downloadFile: (file: IVueUploadItem) => {\r\n repository.value.uploadFactuurRepository.downloadFile(file)\r\n },\r\n showSavedDialog: repository.value.showSavedDialog,\r\n showFailedSaveMessage: repository.value.showFailedSaveMessage,\r\n }\r\n },\r\n})\r\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BijkomendeZorgkostenControleren.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BijkomendeZorgkostenControleren.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./BijkomendeZorgkostenControleren.vue?vue&type=template&id=c5e9d776\"\nimport script from \"./BijkomendeZorgkostenControleren.vue?vue&type=script&lang=ts\"\nexport * from \"./BijkomendeZorgkostenControleren.vue?vue&type=script&lang=ts\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.isReady)?_c('section',[(!_vm.isRedirecting)?[_c('title-and-help',{attrs:{\"title\":_vm.$t('ingediend.title'),\"focusable-title\":(\"Stap 3 - \" + (_vm.$t('ingediend.title')))}}),_c('p-alert',{staticClass:\"mt-4 mb-9\",attrs:{\"data-ui\":\"bijkomende-zorgkosten-ingediend-melding\",\"type\":\"success\",\"aria-live\":\"off\"}},[_vm._v(\" \"+_vm._s(_vm.$t('ingediend.declaratieIngediend', {declaratienummer: _vm.repository.model.declaratienummer}))+\" \")]),_c('ingediend-links',{attrs:{\"body\":_vm.$t('ingediend.watNu.body')}})]:[_c('div',{staticClass:\"text-center mb-8\"},[_c('p-loading-indicator',{staticClass:\"mr-2\"}),_vm._v(\" \"+_vm._s(_vm.$t('waitMessage'))+\" \")],1)]],2):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { BijkomendeZorgkostenRepository } from '@/domains/declaraties/dataAccess/BijkomendeZorgkostenRepository'\r\nimport { defineComponent, toRefs } from '@vue/composition-api'\r\nimport i18n from './i18n'\r\nimport IngediendLinks from '../components/IngediendLinks.vue'\r\nimport TitleAndHelp from '@/components/entities/TitleAndHelp/TitleAndHelp.vue'\r\n\r\nexport default defineComponent({\r\n name: 'BijkomendeZorgkostenIngediend',\r\n i18n,\r\n components: {\r\n IngediendLinks,\r\n TitleAndHelp,\r\n },\r\n props: {\r\n repository: { type: Object as () => BijkomendeZorgkostenRepository, required: true },\r\n },\r\n setup (props: { repository: BijkomendeZorgkostenRepository }) {\r\n const { repository } = toRefs(props)\r\n const isRedirecting = repository.value.isRedirectingRef\r\n\r\n repository.value.ready()\r\n .then(() => {\r\n if (repository.value.redirectUrl) {\r\n window.location.replace(repository.value.redirectUrl)\r\n }\r\n })\r\n\r\n return {\r\n isRedirecting,\r\n isReady: repository.value.isReadyRef,\r\n }\r\n },\r\n})\r\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BijkomendeZorgkostenIngediend.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BijkomendeZorgkostenIngediend.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./BijkomendeZorgkostenIngediend.vue?vue&type=template&id=a7b47a7e\"\nimport script from \"./BijkomendeZorgkostenIngediend.vue?vue&type=script&lang=ts\"\nexport * from \"./BijkomendeZorgkostenIngediend.vue?vue&type=script&lang=ts\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BijkomendeZorgkosten.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BijkomendeZorgkosten.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./BijkomendeZorgkosten.vue?vue&type=template&id=1b429099\"\nimport script from \"./BijkomendeZorgkosten.vue?vue&type=script&lang=js\"\nexport * from \"./BijkomendeZorgkosten.vue?vue&type=script&lang=js\"\nimport style0 from \"./BijkomendeZorgkosten.vue?vue&type=style&index=0&id=1b429099&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('page-layout-standard',{attrs:{\"help-panel-items\":_vm.helpPanelItems}},[_c('title-and-help',{attrs:{\"title\":_vm.$t('title')}}),_c('h3',{staticClass:\"mb-6 mt-10\",attrs:{\"data-ui\":\"declareer-heading\"}},[_vm._v(\" \"+_vm._s(_vm.$t('declareer.title'))+\" \")]),_c('ul',{staticClass:\"pl-0 mb-15\",attrs:{\"role\":\"list\"}},_vm._l((_vm.links.declareer),function(link){return _c('li',{key:link.routeName,staticClass:\"pl-0 mb-6 flex-column flex-column align-start\"},[_c('p-router-link',{attrs:{\"to\":{ name: link.routeName },\"data-ui\":link.dataUi}},[_vm._v(\" \"+_vm._s(_vm.$t((\"declareer.\" + (link.i18nIdx) + \".linkName\")))+\" \")]),_c('p',{staticClass:\"mb-0 mt-2\"},[_vm._v(\" \"+_vm._s(_vm.$t((\"declareer.\" + (link.i18nIdx) + \".linkDescription\")))+\" \")])],1)}),0),_c('h3',{staticClass:\"mb-6\",attrs:{\"data-ui\":\"vraag-op-heading\"}},[_vm._v(\" \"+_vm._s(_vm.$t('vraagOp.title'))+\" \")]),_c('p-router-link',{attrs:{\"to\":{ name: _vm.links.vraagOp.routeName },\"data-ui\":_vm.links.vraagOp.dataUi}},[_vm._v(\" \"+_vm._s(_vm.$t((\"vraagOp.\" + (_vm.links.vraagOp.i18nIdx) + \".linkName\")))+\" \")]),_c('p',{staticClass:\"mb-0 mt-2\"},[_vm._v(\" \"+_vm._s(_vm.$t((\"vraagOp.\" + (_vm.links.vraagOp.i18nIdx) + \".linkDescription\")))+\" \")])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { useI18n } from 'phoenix'\r\nimport { IPgbUrlItem } from 'phoenix/src/library/types'\r\nimport { externalLink } from '@/externalRouter'\r\n\r\nexport default function useDeclaratieIndienenHelpItems (): IPgbUrlItem[] {\r\n const { t } = useI18n()\r\n\r\n return [\r\n {\r\n url: externalLink.mijnpgb.budgethoudersEnVertegenwoordigersDeclaratiesEnMandloon,\r\n label: t('helpLinks.uitleg'),\r\n },\r\n {\r\n url: externalLink.mijnpgb.budgethoudersEnVertegenwoordigersFaq,\r\n label: t('helpLinks.faq'),\r\n },\r\n {\r\n url: '#contactgegevens_helpdesk',\r\n anchorPoint: true,\r\n label: t('helpLinks.helpdesk'),\r\n },\r\n ]\r\n}\r\n","import { route } from '@/domains/declaraties/routes/routeItems'\r\nimport { DeclaratieLinks } from './types'\r\n\r\nexport default function useDeclaratieLinks (): DeclaratieLinks {\r\n return {\r\n declareer: [{\r\n routeName: route.IndienenDeclaratieGeleverdeZorgEnReiskostenZorgverlener,\r\n i18nIdx: 'geleverdeZorgEnReiskostenZorgverlener',\r\n dataUi: 'geleverde-zorg-reiskosten-link',\r\n },\r\n {\r\n routeName: route.IndienenDeclaratieFactuurReiskostenBudgethouder,\r\n i18nIdx: 'factuurReiskostenBudgethouder',\r\n dataUi: 'factuur-reiskosten-link',\r\n },\r\n {\r\n routeName: route.IndienenDeclaratieBijkomendeZorgkostenZorgverlener,\r\n i18nIdx: 'bijkomendeZorgkostenZorgverlener',\r\n dataUi: 'bijkomende-zorgkosten-link',\r\n },\r\n {\r\n routeName: route.IndienenDeclaratieFeestdagenuitkeringZorgverlener,\r\n i18nIdx: 'feestdagenuitkeringZorgverlener',\r\n dataUi: 'feestdagenuitkering-link',\r\n },\r\n {\r\n routeName: route.IndienenDeclaratieWooninitiatiefEnkelHuis,\r\n i18nIdx: 'wooninitiatiefEnkelHuis',\r\n dataUi: 'wooninitiatief-link',\r\n }],\r\n vraagOp: {\r\n routeName: route.IndienenDeclaratieVerantwoordingsvrijBedragBudgethouder,\r\n i18nIdx: 'verantwoordingsvrijBedragBudgethouder',\r\n dataUi: 'verantwoordingsvrij-bedrag-link',\r\n },\r\n }\r\n}\r\n","// Note that the ul has role=list re-added. This is because\r\n// removing the bullets breaks list semantics in safari.\r\n// https://www.scottohara.me/blog/2019/01/12/lists-and-safari.html\r\n\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DeclaratieIndienen.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DeclaratieIndienen.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./DeclaratieIndienen.vue?vue&type=template&id=1953740e&scoped=true\"\nimport script from \"./DeclaratieIndienen.vue?vue&type=script&lang=js\"\nexport * from \"./DeclaratieIndienen.vue?vue&type=script&lang=js\"\nimport style0 from \"./DeclaratieIndienen.vue?vue&type=style&index=0&id=1953740e&prod&scoped=true&lang=css\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"1953740e\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('page-layout-standard',{attrs:{\"help-panel-items\":!_vm.isRedirecting ? _vm.helpPanelItems : null},scopedSlots:_vm._u([{key:\"colRight\",fn:function(){return [_c('div',{staticClass:\"feestdagen-uitkering__spacer\"}),(_vm.repository.kassabonRepository.hasValidModel && !_vm.isRedirecting)?_c('kassabon',{attrs:{\"data\":_vm.repository.kassabonRepository.modelRef,\"is-updating\":_vm.repository.kassabonRepository.isUpdating,\"sticky\":\"\"}}):_vm._e()]},proxy:true}])},[(!_vm.isReady)?_c('div',{staticClass:\"text-center mb-8\"},[_c('p-loading-indicator')],1):_vm._e(),(_vm.isReady && _vm.hasZorgverleners)?_c('p-stepper',{attrs:{\"headers\":!_vm.isRedirecting ? [_vm.$t('steps.declaratie'), _vm.$t('steps.controle'), _vm.$t('steps.ingediend')] : null,\"submit-label\":_vm.repository.model.hasIdealPayment ? _vm.$t('buttons.idealIndienen') :_vm.$t('buttons.indienen'),\"navigate-step\":_vm.stepRouter.stepNumber},on:{\"navigate\":_vm.stepRouter.navigate},scopedSlots:_vm._u([{key:\"default\",fn:function(){return [_c('p-step',{attrs:{\"save\":\"\",\"save-on-next\":\"\"}},[_c('feestdagen-uitkering-opstellen',{attrs:{\"repository\":_vm.repository}})],1),_c('p-step',{attrs:{\"submit\":\"\",\"save\":\"\"}},[_c('feestdagen-uitkering-controleren',{attrs:{\"repository\":_vm.repository}})],1),_c('p-step',{attrs:{\"complete\":\"\"}},[_c('feestdagen-uitkering-ingediend',{attrs:{\"repository\":_vm.repository}})],1)]},proxy:true}],null,false,2891244106)}):_vm._e(),(_vm.isReady && !_vm.hasZorgverleners && !_vm.isRedirecting)?_c('div',[_c('p-alert',{staticClass:\"mb-6 mt-n3\",attrs:{\"title\":_vm.$t('errorMessages.geenZorgverlenersGevonden.title'),\"role\":\"status\",\"type\":\"error\"}},[_c('p',[_vm._v(_vm._s(_vm.$t('errorMessages.geenZorgverlenersGevonden.body')))])]),_c('p-button-container',[_c('p-button',{attrs:{\"to\":{name: 'IndienenDeclaratie'},\"preset\":\"previous\"}},[_vm._v(\" \"+_vm._s(_vm.$t('backToIndienenDeclaratie'))+\" \")])],1)],1):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export const getIdealRedirectLink = (type: string) => {\r\n // @ts-ignore\r\n return `${IS_LOCAL ? '' : '/app'}/declaratie/ideal/return/${type}`\r\n}\r\n","import { idealTransactieReferentieClient } from '@/dataAccess/clients'\r\nimport { RepositoryBase } from '@/dataAccess/RepositoryBase'\r\nimport { currentUserRepository } from '@/domains/account/dataAccess/CurrentUserRepository'\r\nimport { computed } from '@vue/composition-api'\r\nimport { emptyIdeal, Ideal } from './models/indienen/ideal/Ideal'\r\nimport { IdealExtended } from './models/indienen/ideal/IdealExtended'\r\n\r\nexport class IdealRepository extends RepositoryBase {\r\n constructor (public idealRedirect: string) {\r\n super('IdealRepository', { ...emptyIdeal })\r\n this.dependsOn(currentUserRepository())\r\n }\r\n\r\n protected doExtendModel (model: IdealExtended) {\r\n model.returnUrl = computed(() => this.idealRedirect) as any\r\n }\r\n\r\n protected doOpen () {\r\n super.doOpen()\r\n return this.getIdealSessionState()\r\n }\r\n\r\n public async getIdealSessionState () {\r\n const vm = await idealTransactieReferentieClient().getIdealSessionState(currentUserRepository().model.budgethouderUid)\r\n this.model.isTransactionOpenForBudgethouder = vm.isTransactionOpenForBudgethouder\r\n }\r\n}\r\n","import { BooleanFieldValidator } from '@/dataAccess/validation/BooleanFieldValidator'\r\nimport { ModelValidator } from '@/dataAccess/validation/ModelValidator'\r\nimport { NumberFieldValidator } from '@/dataAccess/validation/NumberFieldValidator'\r\nimport { computed } from '@vue/composition-api'\r\nimport { FeestdagenUitkeringExtended } from '../models/indienen/FeestdagenUitkeringextended'\r\n\r\nexport class FeestdagenUitkeringValidator extends ModelValidator {\r\n bedrag: NumberFieldValidator\r\n declaratieOndertekend: BooleanFieldValidator\r\n\r\n constructor (model: FeestdagenUitkeringExtended) {\r\n super(model)\r\n this.bedrag = new NumberFieldValidator(this, {\r\n required: true,\r\n minValue: 0.01,\r\n maxValue: computed(() => model.beschikbaarBedrag) as any,\r\n numOfDecimals: 2,\r\n invalidMessage: 't:errorMessages.feestdagenUitkeringBedrag.invalid',\r\n requiredMessage: 't:errorMessages.feestdagenUitkeringBedrag.emptyField',\r\n maxMessage: 't:errorMessages.feestdagenUitkeringBedrag.maxValue',\r\n })\r\n this.declaratieOndertekend = new BooleanFieldValidator(this, {\r\n required: true,\r\n customValidation: computed(() => !model.declaratieOndertekend ? 't:errorMessages.declaratieNietOndertekend' : null) as any,\r\n })\r\n }\r\n}\r\n","import {\r\n AantalWerkdagenPerWeekType, ContractType, DeclaratieConceptViewModel, DeclaratieType, FeestdagenuitkeringViewModel, WetType,\r\n} from '@/_generated/portalClient'\r\nimport { declaratieClient, declaratieConceptClient, declaratieKassabonClient, zorgverlenerClient } from '@/dataAccess/clients'\r\nimport { isValidNumber } from '@/dataAccess/validation/transform'\r\nimport { currentUserRepository } from '@/domains/account/dataAccess/CurrentUserRepository'\r\nimport { mapZorgverlenerFromSelectieZorgverlenerViewModel } from '@/domains/account/dataAccess/mappers/mapZorgverlener'\r\nimport { Budgethouder } from '@/domains/account/dataAccess/models/relaties/Budgethouder'\r\nimport { Zorgverlener } from '@/domains/account/dataAccess/models/relaties/Zorgverlener'\r\nimport { Zorgovereenkomst } from '@/domains/zorgovereenkomst/dataAccess/models/Zorgovereenkomst'\r\nimport { AbortablePromise } from '@/utils/AbortablePromise'\r\nimport { ConditionalApiCallDebouncer } from '@/utils/ConditionalApiCallDebouncer'\r\nimport { computed, ref, Ref } from '@vue/composition-api'\r\nimport { KassabonRepository } from '../components/kassabon/KassabonRepository'\r\nimport { getIdealRedirectLink } from '../routes/getIdealRedirectLink'\r\nimport { DeclaratieConceptBaseRepository } from './DeclaratieConceptBaseRepository'\r\nimport { IdealRepository } from './IdealRepository'\r\nimport { mapToDeclaratieConceptOpdrachtnemer } from './mappers/mapDeclaratieOpdrachtnemer'\r\nimport { mapDeclaratieTypeZorgverlenerPeriodeViewModel } from './mappers/mapDeclaratieTypeZorgverlenerPeriodeViewModel'\r\nimport { mapDeclaratieConceptToFeestdagenUitkering } from './mappers/mapFeestdagenUitkering'\r\nimport { mapToDeclaratieConceptViewModel } from './mappers/mapIndienenConceptDeclaratie'\r\nimport { mapKassabon } from './mappers/mapKassabon'\r\nimport { emptyFeestdagenUitkering, FeestdagenUitkering } from './models/indienen/FeestdagenUitkering'\r\nimport { FeestdagenUitkeringExtended } from './models/indienen/FeestdagenUitkeringExtended'\r\nimport { emptyIndienenConceptDeclaratie, IndienenConceptDeclaratie } from './models/indienen/IndienenConceptDeclaratie'\r\nimport { Kassabon } from './models/kassabon/Kassabon'\r\nimport { FeestdagenUitkeringValidator } from './validators/FeestdagenUitkeringValidator'\r\n\r\nexport class FeestdagenUitkeringRepository extends DeclaratieConceptBaseRepository {\r\n public kassabonRepository: KassabonRepository\r\n private _zorgverlenersRef: Ref = ref([])\r\n private readonly _debouncer: ConditionalApiCallDebouncer<{ year: number, month: number, zorgovereenkomstUid: string }, boolean, undefined>\r\n public savedData: Ref = ref(null)\r\n public savedZoks: Ref = ref(null)\r\n\r\n constructor (conceptUid?: string) {\r\n super('FeestdagenUitkeringRepository', emptyFeestdagenUitkering, conceptUid)\r\n this.kassabonRepository = new KassabonRepository()\r\n this.addChild(this.kassabonRepository, 'kassabon')\r\n this.idealRepository = new IdealRepository(getIdealRedirectLink('feestdagenuitkering'))\r\n this.addChild(this.idealRepository, 'ideal')\r\n this._debouncer = this.setupFeestdagenKeuzeDebouncer()\r\n }\r\n\r\n private setupFeestdagenKeuzeDebouncer (): ConditionalApiCallDebouncer<{ year: number, month: number, zorgovereenkomstUid: string }, boolean, undefined> {\r\n return new ConditionalApiCallDebouncer(\r\n () => ({\r\n year: this.model.declaratieJaar,\r\n month: this.model.declaratieMaand || 0,\r\n zorgovereenkomstUid: this.model.zok && this.model.zok.uid ? this.model.zok.uid : '',\r\n }),\r\n (vm) => !!vm.zorgovereenkomstUid && vm.month > 0,\r\n (vm) => declaratieClient().callWithAbort(client => client.getFeestdagenKeuzeByJaarZorgovereenkomstUid(vm.year, vm.zorgovereenkomstUid)),\r\n async (isAllowed) => this.handleApiResponse(isAllowed),\r\n undefined\r\n )\r\n }\r\n\r\n protected handleSavedConceptData (concept: IndienenConceptDeclaratie) {\r\n this.savedZoks.value = concept.opdrachtnemer && concept.opdrachtnemer.zorgovereenkomsten ? concept.opdrachtnemer.zorgovereenkomsten : []\r\n this.savedData.value = mapDeclaratieConceptToFeestdagenUitkering(concept)\r\n this.setDataModel(this.savedData.value)\r\n }\r\n\r\n get isCurrentStateValidFinalState (): boolean {\r\n return !this.model.showIndienenNotAllowedAlert &&\r\n this.model.beschikbaarBedrag > 0 &&\r\n !!this.model.zok &&\r\n !!this.model.zok.originelePeriode &&\r\n !!this.model.zorgverlener &&\r\n !!this.model.zorgverlener.volledigeNaam &&\r\n this.model.feestdagenUitkeringWet !== WetType.Onbekend &&\r\n this.model.maximaleFeestdagenUitkering > 0\r\n }\r\n\r\n protected forceUpdate (): void {\r\n this.addWaitForForceUpdate(this._debouncer.forcedUpdate())\r\n this.addWaitForForceUpdate(this.forcedUpdateKassabon())\r\n super.forceUpdate()\r\n }\r\n\r\n public get zorgverlenersRef (): Ref {\r\n return this._zorgverlenersRef\r\n }\r\n\r\n public get loadingData (): Ref {\r\n return this._debouncer.isBusy\r\n }\r\n\r\n protected doOpen () {\r\n super.doOpen()\r\n return this.conceptUid\r\n ? Promise.all([this.getZorgverleners(), this.loadSavedConcept()])\r\n : this.getZorgverleners()\r\n }\r\n\r\n protected doAddValidations (model: FeestdagenUitkeringExtended): void {\r\n model.validations = new FeestdagenUitkeringValidator(model)\r\n super.doAddValidations(model)\r\n }\r\n\r\n protected doExtendModel (model: FeestdagenUitkeringExtended) {\r\n super.doExtendModel(model)\r\n model.beschikbaarBedrag = computed(() => model.maximaleFeestdagenUitkering - model.reedsUitbetaaldeFeestdagenUitkering) as any\r\n model.gekozenZorgverlenerHeeftWerkgeverslasten = computed(() =>\r\n model.zorgverlener &&\r\n model.zorgverlener.uid &&\r\n model.zok &&\r\n model.zok.aantalWerkdagenPerWeek === AantalWerkdagenPerWeekType.VierDagenOfMeer &&\r\n model.zok.contractType === ContractType.InDienst\r\n ) as any\r\n model.resterendBedrag = computed(() => model.beschikbaarBedrag - (model.bedrag || 0)) as any\r\n model.canSave = computed(() => this.model.zok !== null) as any\r\n }\r\n\r\n protected doAddWatchers () {\r\n super.doAddWatchers()\r\n this.watchSingle(() => this.model.bedrag, () => {\r\n if (this.isValidating) {\r\n this.forcedUpdateKassabon()\r\n return\r\n }\r\n this.triggerUpdateKassabon()\r\n })\r\n }\r\n\r\n public updateZorgverlener = (zorgverlener: Zorgverlener | null) => {\r\n this.model.zorgverlener = zorgverlener || null\r\n if (!this.model.zorgverlener) {\r\n this.clearModelFromFeestdagenuitkeringData()\r\n this.kassabonRepository.reset()\r\n this._debouncer.reset()\r\n }\r\n }\r\n\r\n public updatePeriode = (e: { year: number | null, month: number | null }) => {\r\n this.model.declaratieJaar = e.year || 0\r\n this.model.declaratieMaand = e.month || 0\r\n if (!e.year || !e.month) {\r\n this.kassabonRepository.reset()\r\n }\r\n this.forceUpdate()\r\n }\r\n\r\n public updateZok = (zok: Zorgovereenkomst | null) => {\r\n this.model.zok = zok || null\r\n if (!zok || !zok.uid) {\r\n this.kassabonRepository.reset()\r\n return\r\n }\r\n if (!this.isValidating) {\r\n this._debouncer.triggerUpdate()\r\n return\r\n }\r\n this.forceUpdate()\r\n }\r\n\r\n protected canUpdateKassabon (): boolean {\r\n return !!this.model.zok && !!this.model.zok.uid &&\r\n (this.model.bedrag === null || isValidNumber(this.model.bedrag)) &&\r\n (this.model && !!this.model.declaratieMaand)\r\n }\r\n\r\n protected getDeclaratieConcept () {\r\n return mapToDeclaratieConceptViewModel({\r\n ...emptyIndienenConceptDeclaratie,\r\n conceptId: this.model.conceptUid || '',\r\n feestdagenuitkering: this.model,\r\n opdrachtnemer: mapToDeclaratieConceptOpdrachtnemer(this.model),\r\n budgethouder: currentUserRepository().model.effectieveRelatie as Budgethouder,\r\n }, DeclaratieType.Feestdagenuitkering)\r\n }\r\n\r\n protected callUpdateKassabon (concept: DeclaratieConceptViewModel): AbortablePromise {\r\n return declaratieKassabonClient().callWithAbort((client) =>\r\n client.update({\r\n declaratie: concept,\r\n metWerkgeverslasten: this.model.gekozenZorgverlenerHeeftWerkgeverslasten,\r\n })\r\n .then(data => mapKassabon(data, this.model.zorgverlener ? this.model.zorgverlener.volledigeNaam : '', this.model.gekozenZorgverlenerHeeftWerkgeverslasten)))\r\n }\r\n\r\n private async getZorgverleners (): Promise[]> {\r\n if (this._zorgverlenersRef.value.length) {\r\n return this._zorgverlenersRef.value\r\n }\r\n const resp = await zorgverlenerClient().getZorgverlenersMetGeldigeZorgovereenkomst(currentUserRepository().model.budgethouderUid).then(\r\n zorgverleners => zorgverleners.map(mapZorgverlenerFromSelectieZorgverlenerViewModel)\r\n )\r\n this._zorgverlenersRef.value = resp\r\n return resp\r\n }\r\n\r\n private async handleApiResponse (isAllowed: boolean | undefined): Promise {\r\n if (!isAllowed) {\r\n this.handleErrorResponse('notAllowedByGemeente', null)\r\n return\r\n }\r\n await this.UpdateVoorGeselecteerdeZorgovereenkomst()\r\n }\r\n\r\n private async UpdateVoorGeselecteerdeZorgovereenkomst (): (Promise) {\r\n const budgethouderUid = currentUserRepository().model.budgethouderUid\r\n const requestBody = mapDeclaratieTypeZorgverlenerPeriodeViewModel(this.model, budgethouderUid)\r\n const {\r\n serverErrors,\r\n feestdagenuitkering,\r\n } = await declaratieConceptClient().updateVoorGeselecteerdeZorgovereenkomst(requestBody)\r\n\r\n const invalidResponse = !feestdagenuitkering && (!serverErrors || (serverErrors && !serverErrors.length))\r\n if (invalidResponse) {\r\n throw new Error('The response of updateVoorGeselecteerdeZorgovereenkomst did not contain any serverErrors or feestdagenuitkeringen data. This is an unexpected repsonse.')\r\n }\r\n if (serverErrors && serverErrors.length) {\r\n this.handleErrorResponse(null, serverErrors[0].errorMessage)\r\n return\r\n }\r\n if (feestdagenuitkering) {\r\n this.model.indienenNotAllowedAlert.translationKey = null\r\n this.model.indienenNotAllowedAlert.serverMessage = null\r\n this.updateModelWithFeestdagenUitkeringData(feestdagenuitkering)\r\n if (this.isValidating) {\r\n this.forcedUpdateKassabon()\r\n } else {\r\n this.triggerUpdateKassabon()\r\n }\r\n }\r\n }\r\n\r\n private handleErrorResponse (translationKey: string | null = null, serverMessage: string | null = null) {\r\n this.model.indienenNotAllowedAlert.translationKey = translationKey\r\n this.model.indienenNotAllowedAlert.serverMessage = serverMessage\r\n this.clearModelFromFeestdagenuitkeringData()\r\n this.kassabonRepository.reset()\r\n }\r\n\r\n private clearModelFromFeestdagenuitkeringData () {\r\n this.model.maximaleFeestdagenUitkering = 0\r\n this.model.reedsUitbetaaldeFeestdagenUitkering = 0\r\n this.model.totaleBudget = 0\r\n this.model.feestdagenUitkeringWet = WetType.Onbekend\r\n this.model.bedrag = null\r\n }\r\n\r\n private updateModelWithFeestdagenUitkeringData (feestdagenuitkering: FeestdagenuitkeringViewModel) {\r\n this.model.maximaleFeestdagenUitkering = feestdagenuitkering.maximaleFeestdagenuitkering\r\n this.model.reedsUitbetaaldeFeestdagenUitkering = feestdagenuitkering.reedsUitbetaaldeFeestdagenuitkering as number\r\n if (feestdagenuitkering.wetFeestdagenuitkeringen && feestdagenuitkering.wetFeestdagenuitkeringen[0]) {\r\n this.model.totaleBudget = feestdagenuitkering.wetFeestdagenuitkeringen[0].budget\r\n this.model.feestdagenUitkeringWet = feestdagenuitkering.wetFeestdagenuitkeringen[0].wettype\r\n }\r\n }\r\n}\r\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('section',[_c('title-and-help',{attrs:{\"title\":_vm.$t('opstellen.title'),\"focusable-title\":(\"Stap 1 - \" + (_vm.$t('opstellen.title')))}}),_c('p-form',{ref:\"formRef\",attrs:{\"delay-validation\":_vm.delayValidation}},[_c('zorgverlener-card',{attrs:{\"declaratie-type\":_vm.declaratieType,\"zorgverleners\":_vm.zorgverleners,\"initial-data\":_vm.initialZorgverlenerCardData},on:{\"zorgverlener-selected\":_vm.onZorgverlenerSelectHandler,\"period-changed\":_vm.onPeriodChangeHandler,\"zok-selected\":_vm.onZokSelectHandler}}),(_vm.model.zok && _vm.model.zok.uid && _vm.model.declaratieMaand && _vm.model.declaratieJaar)?_c('p-card',{key:\"feestdagenuitkering\",class:['mt-10', {'feestdagen-uitkering': !_vm.loadingData}, {'feestdagen-uitkering--loading': _vm.loadingData}],attrs:{\"data-ui\":\"feestdagenuitkering-card\",\"title\":_vm.$t('opstellen.feestdagenUitkeringCard.title'),\"heading-level\":\"3\"}},[(_vm.loadingData)?_c('p-loading-indicator',{staticClass:\"feestdagen-uitkering__loading-indicator mt-5\"}):_vm._e(),_c('p-alert',{staticClass:\"mt-2\",attrs:{\"data-ui\":\"alert-indienen-declaratie-niet-toegestaan\",\"role\":\"alert\",\"type\":\"error\",\"show-alert\":_vm.model.showIndienenNotAllowedAlert}},[(_vm.model.indienenNotAllowedAlert.translationKey)?[_vm._v(\" \"+_vm._s(_vm.$t((\"errorMessages.\" + (_vm.model.indienenNotAllowedAlert.translationKey))))+\" \")]:_vm._e(),(_vm.model.indienenNotAllowedAlert.serverMessage)?[_vm._v(\" \"+_vm._s(_vm.model.indienenNotAllowedAlert.serverMessage)+\" \")]:_vm._e()],2),(!_vm.model.showIndienenNotAllowedAlert &&\n _vm.model.maximaleFeestdagenUitkering > 0)?_c('div',[_c('p',[_vm._v(\" \"+_vm._s(_vm.$t('opstellen.feestdagenUitkeringCard.maxFeestdagenUitkeringBedrag', {bedrag: _vm.$n(_vm.model.maximaleFeestdagenUitkering, 'currency')}))+\" \"),_c('p-info',{attrs:{\"message\":_vm.$t('opstellen.feestdagenUitkeringCard.uitkeringBedragInfo', {bedrag: _vm.$n(_vm.model.maximaleFeestdagenUitkering, 'currency')})}})],1),_c('p-alert',{attrs:{\"data-ui\":\"feestdagen-uitkering-maximaal-uitgekeerd\",\"type\":\"error\",\"show-alert\":_vm.model.beschikbaarBedrag <= 0}},[_vm._v(\" \"+_vm._s(_vm.$t('errorMessages.maximaleBedragUitgekeerd'))+\" \")]),(_vm.model.beschikbaarBedrag > 0)?[_c('p-value-grid',[_c('p-value-row',{attrs:{\"data-ui\":\"feestdagen-uitkering-al-uitbetaald\",\"label\":_vm.$t('labels.alUitbetaald'),\"value\":_vm.$n(_vm.model.reedsUitbetaaldeFeestdagenUitkering, 'currency')}}),_c('p-value-row',{attrs:{\"label\":_vm.$t('labels.beschikbaarBedrag'),\"value\":_vm.$n(_vm.model.beschikbaarBedrag, 'currency')}})],1),_c('currency-field',{attrs:{\"label\":_vm.$t('labels.hoeveelUitkeren'),\"validation\":_vm.model.validations.bedrag,\"data-ui\":\"feestdagenuitkering-bedrag\"},model:{value:(_vm.model.bedrag),callback:function ($$v) {_vm.$set(_vm.model, \"bedrag\", $$v)},expression:\"model.bedrag\"}}),_c('p-divider',{staticClass:\"mb-4 mt-4\"}),_c('p-value-grid',[_c('p-value-row',{attrs:{\"label\":_vm.$t('labels.resterendBedrag'),\"value\":_vm.$n(_vm.model.resterendBedrag, 'currency')}})],1)]:_vm._e()],2):_vm._e()],1):_vm._e()],1),_c('p-notify-required-field',{staticClass:\"mt-4 mb-4\"}),_c('p-alert',{class:['mt-6', {'feestdagen-uitkering__budget-warning--loading': _vm.updatingKassabon}],attrs:{\"type\":\"warning\",\"aria-live\":\"polite\",\"show-alert\":_vm.model.hasIdealPayment && _vm.repository.kassabonRepository.hasValidModel}},[_vm._v(\" \"+_vm._s(_vm.$t('opstellen.budgetTekort', {amount: _vm.$n(_vm.model.zelfBijbetalenBedrag, 'currency')}))+\" \")]),_c('opslaan',{attrs:{\"show-saved-dialog\":_vm.showSavedDialog,\"show-cannot-save-message\":_vm.showCannotSaveMessage,\"show-failed-save-message\":_vm.showFailedSaveMessage}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { mergeI18nDeep } from '@/utils/i18nUtils'\r\nimport declaratiesIndienenI18n from '../i18n'\r\n\r\nconst i18n = {\r\n messages: {\r\n nl: {\r\n opstellen: {\r\n feestdagenUitkeringCard: {\r\n title: 'Feestdagenuitkering',\r\n maxFeestdagenUitkeringBedrag: 'De feestdagenuitkering bedraagt maximaal {bedrag} per jaar.',\r\n uitkeringBedragInfo: 'Het is mogelijk dat u uw zorgverlener uit meer dan één budget betaalt. ' +\r\n 'Bij meerdere budgetten kunt u er voor kiezen de feestdagenuitkering hierover te verdelen. ' +\r\n 'De feestdagenuitkering is, over alle budgetten heen, maximaal {bedrag} (bruto) per jaar per zorgverlener. ' +\r\n 'Het bedrag mag verdeeld worden over meerdere maanden.',\r\n },\r\n },\r\n controle: {\r\n feestdagenUitkeringCard: {\r\n title: 'Feestdagenuitkering',\r\n },\r\n },\r\n ingediend: {\r\n watNu: {\r\n body: 'Het PGB Portaal heeft de SVB de opdracht gegeven om het geld over te maken. Het geld wordt binnen enkele dagen uitbetaald.',\r\n },\r\n },\r\n ingediendMetOpschorting: {\r\n watNu: {\r\n body: 'Uw declaratie wordt eerst beoordeeld omdat er sprake is van een opschorting.',\r\n },\r\n },\r\n labels: {\r\n alUitbetaald: 'Al uitbetaald',\r\n beschikbaarBedrag: 'Beschikbaar bedrag',\r\n resterendBedrag: 'Resterend bedrag',\r\n hoeveelUitkeren: 'Hoeveel wilt u uitkeren?',\r\n },\r\n errorMessages: {\r\n feestdagenUitkeringBedrag: {\r\n emptyField: 'U heeft nog geen feestdagenuitkering ingevuld. Vul een bedrag in.',\r\n invalid: 'Vul een geldig geldbedrag in.',\r\n maxValue: 'U kunt niet meer declareren dan uw maximaal beschikbare bedrag.',\r\n },\r\n maximaleBedragUitgekeerd: 'Voor deze zorgverlener is het maximale bedrag reeds uitgekeerd. U kunt geen feestdagenuitkering meer declareren over het geselecteerde jaar.',\r\n notAllowedByGemeente: 'U kunt geen feestdagenuitkering declareren. Dit is een keuze van uw gemeente.',\r\n },\r\n },\r\n },\r\n}\r\n\r\nmergeI18nDeep(i18n, declaratiesIndienenI18n)\r\n\r\nexport default i18n\r\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { computed, defineComponent, toRefs } from '@vue/composition-api'\r\nimport { FeestdagenUitkeringRepository } from '@/domains/declaraties/dataAccess/FeestdagenUitkeringRepository'\r\nimport i18n from './i18n'\r\nimport { useReadyToProceedOnValidate } from '@/composables/useReadyToProceedOnValidate'\r\nimport CurrencyField from '@/components/entities/CurrencyField/CurrencyField.vue'\r\nimport { useTransform } from '@/composables/useTransform'\r\nimport { DeclaratieType } from '@/_generated/portalClient'\r\nimport ZorgverlenerCard from '@/domains/declaraties/components/zorgverlenerCard/ZorgverlenerCard.vue'\r\nimport { mapToZorgverlenerCard } from '@/domains/declaraties/dataAccess/mappers/mapFeestdagenUitkering'\r\nimport Opslaan from '@/domains/declaraties/components/opslaan/Opslaan.vue'\r\nimport { route } from '@/domains/declaraties/routes/routeItems'\r\nimport { useOpslaan } from '@/domains/declaraties/pages/useOpslaan'\r\nimport TitleAndHelp from '@/components/entities/TitleAndHelp/TitleAndHelp.vue'\r\n\r\nexport default defineComponent({\r\n components: { CurrencyField, ZorgverlenerCard, Opslaan, TitleAndHelp },\r\n name: 'FeestdagenuitkeringOpstellen',\r\n i18n,\r\n props: {\r\n repository: { type: Object as () => FeestdagenUitkeringRepository, required: true },\r\n },\r\n setup (props: { repository: FeestdagenUitkeringRepository }) {\r\n const { repository } = toRefs(props)\r\n\r\n const save = useOpslaan(repository.value, route.IndienenDeclaratieFeestdagenuitkeringZorgverlener)\r\n\r\n return {\r\n ...useReadyToProceedOnValidate({ repository: repository.value, save }),\r\n model: repository.value.modelRef,\r\n declaratieType: DeclaratieType.Feestdagenuitkering,\r\n zorgverleners: repository.value.zorgverlenersRef,\r\n updatingKassabon: repository.value.kassabonRepository.isUpdating,\r\n bedrag: useTransform(repository.value.model, 'bedrag'),\r\n loadingData: repository.value.loadingData,\r\n initialZorgverlenerCardData: computed(() =>\r\n mapToZorgverlenerCard(repository.value.savedData.value, repository.value.savedZoks.value\r\n )),\r\n delayValidation: computed(() => ({\r\n waitFor: () => repository.value.isValidAfterWaitingForAllForcedUpdateCalls(),\r\n isValid: () => repository.value.isCurrentStateValidFinalState,\r\n })),\r\n onZorgverlenerSelectHandler: repository.value.updateZorgverlener,\r\n onPeriodChangeHandler: repository.value.updatePeriode,\r\n onZokSelectHandler: repository.value.updateZok,\r\n showCannotSaveMessage: repository.value.showCannotSaveMessage,\r\n showSavedDialog: repository.value.showSavedDialog,\r\n showFailedSaveMessage: repository.value.showFailedSaveMessage,\r\n }\r\n },\r\n})\r\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FeestdagenUitkeringOpstellen.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FeestdagenUitkeringOpstellen.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./FeestdagenUitkeringOpstellen.vue?vue&type=template&id=75cb412f\"\nimport script from \"./FeestdagenUitkeringOpstellen.vue?vue&type=script&lang=ts\"\nexport * from \"./FeestdagenUitkeringOpstellen.vue?vue&type=script&lang=ts\"\nimport style0 from \"./FeestdagenUitkeringOpstellen.vue?vue&type=style&index=0&id=75cb412f&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('section',[_c('title-and-help',{attrs:{\"title\":_vm.$t('controle.title'),\"focusable-title\":(\"Stap 2 - \" + (_vm.$t('controle.title')))}}),_c('p-card',{staticClass:\"mt-3\",attrs:{\"heading-level\":\"3\",\"title\":_vm.$t('controle.algemeenCard.title')}},[_c('p-value-grid',[(_vm.model.declaratieMaand)?_c('p-value-row',{attrs:{\"data-ui\":\"declaratie-periode\",\"label\":_vm.$t('labels.declaratiePeriode'),\"value\":((_vm.$t((\"maand.\" + (_vm.model.declaratieMaand)))) + \" \" + (_vm.model.declaratieJaar))}}):_vm._e(),(_vm.model.zorgverlener && _vm.model.zorgverlener.volledigeNaam)?_c('p-value-row',{attrs:{\"data-ui\":\"gekozen-zorgverlener\",\"label\":_vm.$t('labels.zorgverlener'),\"value\":_vm.model.zorgverlener.volledigeNaam}}):_vm._e(),(_vm.model.zok && _vm.model.zok.originelePeriode)?_c('p-value-row',{attrs:{\"label\":_vm.$t('labels.zorgovereenkomst')}},[_c('declaratie-zok-periode',{attrs:{\"ingangs-datum\":_vm.model.zok.originelePeriode.ingangsDatum,\"eind-datum\":_vm.model.zok.originelePeriode.eindDatum,\"zok-uid\":_vm.model.zok.uid}})],1):_vm._e()],1)],1),_c('p-card',{staticClass:\"mt-10\",attrs:{\"title\":_vm.$t('controle.feestdagenUitkeringCard.title'),\"heading-level\":\"3\"}},[_c('p-value-grid',[_c('p-value-row',{attrs:{\"label\":_vm.$t('labels.bedrag'),\"data-ui\":\"declaratie-bedrag\",\"value\":_vm.model.bedrag,\"currency\":\"\"}}),_c('p-value-row',{attrs:{\"label\":_vm.$t('labels.resterendBedrag'),\"data-ui\":\"resterend-bedrag\",\"value\":_vm.model.resterendBedrag,\"currency\":\"\"}})],1)],1),_c('p-form',{ref:\"formRef\",staticClass:\"mb-4 mb-md-6 mt-6\"},[_c('p-card',{staticClass:\"mt-10\",attrs:{\"title\":_vm.$t('controle.controlerenEnOndertekenenCard.title'),\"heading-level\":\"3\",\"dark\":\"\"}},[_c('strong',[_vm._v(_vm._s(_vm.$t('controle.controlerenEnOndertekenenCard.attention')))]),_c('p',[_vm._v(_vm._s(_vm.$t('controle.controlerenEnOndertekenenCard.notice')))]),_c('p-value-grid',{staticClass:\"mt-9 mb-3\"},[_c('p-value-row',{attrs:{\"label\":_vm.$t('labels.date'),\"value\":_vm.$d(new Date(), 'short')}})],1),_c('p-checkbox',{attrs:{\"id\":\"declaratie-ondertekend\",\"validation\":_vm.model.validations.declaratieOndertekend,\"label\":_vm.$t('controle.controlerenEnOndertekenenCard.signed')},model:{value:(_vm.model.declaratieOndertekend),callback:function ($$v) {_vm.$set(_vm.model, \"declaratieOndertekend\", $$v)},expression:\"model.declaratieOndertekend\"}})],1),(_vm.model.zelfBijbetalenBedrag)?_c('ideal',{attrs:{\"repository\":_vm.repository.idealRepository}}):_vm._e()],1),_c('p-notify-required-field',{staticClass:\"mt-4 mb-4\"}),_c('opslaan',{attrs:{\"show-saved-dialog\":_vm.showSavedDialog,\"show-cannot-save-message\":false,\"show-failed-save-message\":_vm.showFailedSaveMessage}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[(!_vm.model.isTransactionOpenForBudgethouder)?_c('p-card',{staticClass:\"mt-10\",attrs:{\"data-ui\":\"ideal-form\",\"title\":_vm.$t('ideal.title'),\"heading-level\":\"3\",\"dark\":\"\"}},[_c('div',{staticClass:\"d-flex\"},[_c('p',{staticClass:\"mr-10 mr-md-5\"},[_vm._v(\" \"+_vm._s(_vm.$t('ideal.info'))+\" \")]),_c('img',{attrs:{\"src\":require(\"@/assets/img/ideal-logo.svg\"),\"alt\":\"\",\"height\":\"64px\"}})]),_c('p-value-grid',[_c('p-value-row',{attrs:{\"data-ui\":\"ideal-naam\",\"label\":_vm.$t('labels.naam'),\"value\":_vm.model.tenaamstelling}}),_c('p-value-row',{attrs:{\"data-ui\":\"ideal-bedrag\",\"label\":_vm.$t('labels.bedrag'),\"value\":_vm.model.bedrag,\"currency\":\"\"}})],1),_c('p-alert',{attrs:{\"data-ui\":\"ideal-alert\",\"aria-live\":\"polite\",\"type\":\"warning\"}},[_c('p',[_c('strong',[_vm._v(_vm._s(_vm.$t('warning.title')))]),_c('br'),_vm._v(\" \"+_vm._s(_vm.$t('warning.content'))+\" \")])])],1):_c('p-alert',{staticClass:\"mt-10\",attrs:{\"data-ui\":\"ideal-error\",\"type\":\"error\"}},[_c('p',[_c('strong',[_vm._v(_vm._s(_vm.$t('warning.title')))]),_c('br'),_vm._v(\" \"+_vm._s(_vm.$t('warningPaymentInProcess.content'))+\" \")])])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { defineComponent } from '@vue/composition-api'\r\nimport i18n from './i18n'\r\nimport { IdealRepository } from '@/domains/declaraties/dataAccess/IdealRepository'\r\n\r\nexport default defineComponent({\r\n name: 'Ideal',\r\n i18n,\r\n props: {\r\n repository: { type: Object as () => IdealRepository, required: true },\r\n },\r\n\r\n setup (props: { repository: IdealRepository }) {\r\n return {\r\n model: props.repository.modelRef,\r\n validations: props.repository.validations,\r\n }\r\n },\r\n})\r\n\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Ideal.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Ideal.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./Ideal.vue?vue&type=template&id=6d9dd38f\"\nimport script from \"./Ideal.vue?vue&type=script&lang=ts\"\nexport * from \"./Ideal.vue?vue&type=script&lang=ts\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"budget-selectie\"},[_vm._t(\"info\"),(_vm.isSingle)?_c('p',{staticClass:\"single-item\",attrs:{\"data-ui\":\"budget-selectie-single\"}},[_vm._v(_vm._s(_vm.items[0].label))]):_vm._e(),(_vm.isMulti)?_c('div',[_c('p-select',{staticClass:\"input-width-sm-4\",attrs:{\"id\":_vm.id,\"label\":_vm.selectLabel,\"options\":_vm.items,\"default-option\":_vm.defaultOptionLabel,\"value\":_vm.value,\"validation\":_vm.validation},on:{\"input\":_vm.$listeners.input}})],1):_vm._e()],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","const i18n = {\r\n messages: {\r\n nl: {\r\n optionText: '{wet} - {verstrekkerNaam}',\r\n optionSubText: `Geldigheid: {ingangsDatum} t/m {eindDatum}\r\n Beschikbaar {bedragLabel}: {restantBedrag}`,\r\n radioButtonLabel: `{wet}\r\n {verstrekkerNaam}\r\n Geldigheid: {ingangsDatum} t/m {eindDatum}\r\n Beschikbaar {bedragLabel}: {restantBedrag}`,\r\n },\r\n },\r\n}\r\n\r\nexport default i18n\r\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from 'vue'\r\nimport { computed, defineComponent, watch } from '@vue/composition-api'\r\nimport i18n from './i18n'\r\nimport { useI18n } from 'phoenix'\r\nimport { IBudgetCollectionItem } from './types'\r\n\r\nexport default defineComponent({\r\n name: 'BudgetSelectie',\r\n i18n,\r\n props: {\r\n collection: {\r\n type: Array as () => IBudgetCollectionItem[],\r\n required: true,\r\n },\r\n id: { type: String, default: undefined },\r\n value: { type: String, default: undefined },\r\n validation: { type: Object, default: () => undefined },\r\n selectLabel: { type: String, default: '' },\r\n defaultOptionLabel: { type: String, default: '' },\r\n },\r\n setup (props, { emit }) {\r\n const isSingle = computed(() => props.collection.length === 1) as any\r\n const isMulti = computed(() => !isSingle.value && props.collection.length > 1) as any\r\n const { t, d, n } = useI18n()\r\n\r\n const items = computed(() => props.collection.map((item: IBudgetCollectionItem) => {\r\n return {\r\n id: item.id,\r\n value: item.id,\r\n text: t('optionText', {\r\n wet: t(`wetType.${item.wet}`),\r\n verstrekkerNaam: item.verstrekkerNaam || '',\r\n }),\r\n subtitle: t('optionSubText', {\r\n ingangsDatum: d(item.ingangsDatum, 'short'),\r\n eindDatum: d(item.eindDatum, 'short'),\r\n restantBedrag: n(item.restantBedrag || 0, 'currency'),\r\n bedragLabel: item.bedragLabel,\r\n }),\r\n label: t('radioButtonLabel', {\r\n wet: t(`wetType.${item.wet}`),\r\n verstrekkerNaam: item.verstrekkerNaam || '',\r\n ingangsDatum: d(item.ingangsDatum, 'short'),\r\n eindDatum: d(item.eindDatum, 'short'),\r\n restantBedrag: n(item.restantBedrag || 0, 'currency'),\r\n bedragLabel: item.bedragLabel,\r\n }),\r\n }\r\n }))\r\n\r\n const watchOnce = watch(() => isSingle.value, () => {\r\n Vue.nextTick(() => {\r\n watchOnce()\r\n })\r\n if (isSingle.value) {\r\n emit('input', props.collection[0].id)\r\n }\r\n })\r\n\r\n return {\r\n isSingle,\r\n isMulti,\r\n items,\r\n }\r\n },\r\n})\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BudgetSelectie.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BudgetSelectie.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./BudgetSelectie.vue?vue&type=template&id=7db56b5f&scoped=true\"\nimport script from \"./BudgetSelectie.vue?vue&type=script&lang=ts\"\nexport * from \"./BudgetSelectie.vue?vue&type=script&lang=ts\"\nimport style0 from \"./BudgetSelectie.vue?vue&type=style&index=0&id=7db56b5f&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"7db56b5f\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { FeestdagenUitkeringRepository } from '@/domains/declaraties/dataAccess/FeestdagenUitkeringRepository'\r\nimport { defineComponent, toRefs } from '@vue/composition-api'\r\nimport DeclaratieZokPeriode from '@/domains/declaraties/components/declaratieZokPeriode/DeclaratieZokPeriode.vue'\r\nimport { Ideal } from '@/domains/declaraties/components'\r\nimport i18n from './i18n'\r\nimport { registerStepComponent } from 'phoenix'\r\nimport { useFormValidate } from '@/composables/useFormValidate'\r\nimport { useOpslaan } from '@/domains/declaraties/pages/useOpslaan'\r\nimport { route } from '@/domains/declaraties/routes/routeItems'\r\nimport Opslaan from '@/domains/declaraties/components/opslaan/Opslaan.vue'\r\nimport TitleAndHelp from '@/components/entities/TitleAndHelp/TitleAndHelp.vue'\r\n\r\nexport default defineComponent({\r\n components: { DeclaratieZokPeriode, Ideal, Opslaan, TitleAndHelp },\r\n name: 'FeestdagenUitkeringControleren',\r\n i18n,\r\n props: {\r\n repository: { type: Object as () => FeestdagenUitkeringRepository, required: true },\r\n },\r\n setup (props: { repository: FeestdagenUitkeringRepository }) {\r\n const { repository } = toRefs(props)\r\n\r\n const formValidate = useFormValidate({ repository: repository.value })\r\n\r\n let savePromise: Promise | null = null\r\n\r\n const submit = async (): Promise => {\r\n return formValidate.validate().then((validation) => {\r\n if (!savePromise && validation && !repository.value.model.ideal.isTransactionOpenForBudgethouder) {\r\n savePromise = repository.value.submit()\r\n .then(() => true)\r\n .catch(() => false)\r\n .finally(() => {\r\n savePromise = null\r\n })\r\n } else {\r\n return false\r\n }\r\n return savePromise\r\n })\r\n }\r\n const save = useOpslaan(repository.value, route.IndienenDeclaratieFeestdagenuitkeringZorgverlener)\r\n registerStepComponent({ readyToProceed: submit, save })\r\n\r\n return {\r\n ...formValidate,\r\n model: repository.value.model,\r\n showSavedDialog: repository.value.showSavedDialog,\r\n showFailedSaveMessage: repository.value.showFailedSaveMessage,\r\n }\r\n },\r\n})\r\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FeestdagenUitkeringControleren.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FeestdagenUitkeringControleren.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./FeestdagenUitkeringControleren.vue?vue&type=template&id=64f7d0bb\"\nimport script from \"./FeestdagenUitkeringControleren.vue?vue&type=script&lang=ts\"\nexport * from \"./FeestdagenUitkeringControleren.vue?vue&type=script&lang=ts\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.isReady)?_c('section',[(!_vm.isRedirecting)?[_c('title-and-help',{attrs:{\"title\":_vm.$t('ingediend.title'),\"focusable-title\":(\"Stap 3 - \" + (_vm.$t('ingediend.title')))}}),_c('p-alert',{staticClass:\"mt-4 mb-9\",attrs:{\"data-ui\":\"feestdagen-uitkering-ingediend-melding\",\"type\":\"success\",\"aria-live\":\"off\"}},[_vm._v(\" \"+_vm._s(_vm.$t('ingediend.declaratieIngediend', {declaratienummer: _vm.repository.model.declaratienummer}))+\" \")]),(_vm.repository.model.declaratieWordtOpgeschort)?_c('ingediend-links',{attrs:{\"body\":_vm.$t('ingediendMetOpschorting.watNu.body')}}):_c('ingediend-links',{attrs:{\"body\":_vm.$t('ingediend.watNu.body')}})]:[_c('div',{staticClass:\"text-center mb-8\"},[_c('p-loading-indicator',{staticClass:\"mr-2\"}),_vm._v(\" \"+_vm._s(_vm.$t('waitMessage'))+\" \")],1)]],2):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { FeestdagenUitkeringRepository } from '@/domains/declaraties/dataAccess/FeestdagenUitkeringRepository'\r\nimport { defineComponent, toRefs } from '@vue/composition-api'\r\nimport i18n from './i18n'\r\nimport IngediendLinks from '../components/IngediendLinks.vue'\r\nimport TitleAndHelp from '@/components/entities/TitleAndHelp/TitleAndHelp.vue'\r\n\r\nexport default defineComponent({\r\n name: 'FeestdagenUitkeringSuccess',\r\n i18n,\r\n components: {\r\n IngediendLinks,\r\n TitleAndHelp,\r\n },\r\n props: {\r\n repository: { type: Object as () => FeestdagenUitkeringRepository, required: true },\r\n },\r\n setup (props: { repository: FeestdagenUitkeringRepository }) {\r\n const { repository } = toRefs(props)\r\n const isRedirecting = repository.value.isRedirectingRef\r\n\r\n repository.value.ready()\r\n .then(() => {\r\n if (repository.value.redirectUrl) {\r\n window.location.replace(repository.value.redirectUrl)\r\n }\r\n })\r\n\r\n return {\r\n isRedirecting,\r\n isReady: repository.value.isReadyRef,\r\n }\r\n },\r\n})\r\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FeestdagenUitkeringIngediend.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FeestdagenUitkeringIngediend.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./FeestdagenUitkeringIngediend.vue?vue&type=template&id=07b5e903\"\nimport script from \"./FeestdagenUitkeringIngediend.vue?vue&type=script&lang=ts\"\nexport * from \"./FeestdagenUitkeringIngediend.vue?vue&type=script&lang=ts\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FeestdagenUitkering.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FeestdagenUitkering.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./FeestdagenUitkering.vue?vue&type=template&id=3aa222fc\"\nimport script from \"./FeestdagenUitkering.vue?vue&type=script&lang=js\"\nexport * from \"./FeestdagenUitkering.vue?vue&type=script&lang=js\"\nimport style0 from \"./FeestdagenUitkering.vue?vue&type=style&index=0&id=3aa222fc&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('page-layout-standard',{attrs:{\"help-panel-items\":!_vm.isRedirecting ? _vm.helpPanelItems : null},scopedSlots:_vm._u([{key:\"colRight\",fn:function(){return [_c('div',{staticClass:\"verantwoordingsvrij-bedrag__spacer\"}),(_vm.repository.kassabonRepository.hasValidModel && _vm.isReady)?_c('kassabon',{attrs:{\"data\":_vm.repository.kassabonRepository.modelRef,\"is-updating\":_vm.repository.kassabonRepository.isUpdating,\"sticky\":\"\"}}):_vm._e()]},proxy:true}])},[(!_vm.isReady)?_c('div',{staticClass:\"text-center mb-8\",attrs:{\"data-ui\":\"stepper-loading-spinner\"}},[_c('p-loading-indicator')],1):_vm._e(),(_vm.isReady)?[(!_vm.repository.model.hasNoRemainingBudget && _vm.repository.model.filteredTkbs.length)?_c('p-stepper',{attrs:{\"headers\":!_vm.isRedirecting ? [_vm.$t('steps.declaratie'), _vm.$t('steps.controle'), _vm.$t('steps.ingediend')] : null,\"submit-label\":_vm.$t('buttons.indienen'),\"navigate-step\":_vm.stepRouter.stepNumber},on:{\"navigate\":_vm.stepRouter.navigate},scopedSlots:_vm._u([{key:\"default\",fn:function(){return [_c('p-step',{attrs:{\"save\":\"\",\"save-on-next\":\"\"}},[_c('verantwoordingsvrij-bedrag-opstellen',{attrs:{\"repository\":_vm.repository}})],1),_c('p-step',{attrs:{\"submit\":\"\",\"save\":\"\"}},[_c('verantwoordingsvrij-bedrag-controleren',{attrs:{\"repository\":_vm.repository}})],1),_c('p-step',{attrs:{\"complete\":\"\"}},[_c('verantwoordingsvrij-bedrag-ingediend',{attrs:{\"repository\":_vm.repository}})],1)]},proxy:true}],null,false,559170062)}):_vm._e(),(_vm.repository.model.hasNoRemainingBudget ||\n !_vm.repository.model.beschikbareTkbs.length)?_c('div',{staticClass:\"mt-md-n3\"},[(!_vm.repository.model.beschikbareTkbs.length)?_c('p-alert',{key:\"vvb-error-geen-tkbs\",staticClass:\"mb-6\",attrs:{\"role\":\"status\",\"type\":\"error\",\"data-ui\":\"vvb-alert-geen-tkbs\"}},[_c('p',[_vm._v(_vm._s(_vm.$t('errorMessages.verantwoordingsvrijBedrag.geenGeldigeTkbs')))])]):(_vm.repository.model.hasNoRemainingBudget)?_c('p-alert',{key:\"vvb-error-geen-openstaand-budget\",staticClass:\"mb-6\",attrs:{\"role\":\"status\",\"type\":\"error\",\"data-ui\":\"vvb-alert-geen-openstaand-budget\"}},[_c('p',[_vm._v(_vm._s(_vm.$t('errorMessages.verantwoordingsvrijBedrag.noRemainingBudget')))])]):_vm._e(),_c('p-button-container',[_c('p-button',{attrs:{\"to\":{name: 'IndienenDeclaratie'},\"preset\":\"previous\"}},[_vm._v(\" \"+_vm._s(_vm.$t('backToIndienenDeclaratie'))+\" \")])],1)],1):_vm._e()]:_vm._e()],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { LandView } from '@/_generated/portalClient'\r\nimport { CountryInfo } from '../models/CountryInfo'\r\n\r\nexport function mapLand (vm: LandView): CountryInfo {\r\n return {\r\n naam: vm.naam || '',\r\n code: vm.code || '',\r\n isIbanland: vm.isIbanland,\r\n isSepaland: vm.isSepaland,\r\n }\r\n}\r\n\r\nexport function mapLanden (vms: LandView[]): CountryInfo[] {\r\n return vms.map((vm: LandView) => mapLand(vm))\r\n}\r\n","import { landClient } from '@/dataAccess/clients'\r\nimport { ServiceBase } from '@/dataAccess/ServiceBase'\r\nimport { getOrCreateSingleton } from '@/dataAccess/singletons'\r\nimport { ref, Ref } from '@vue/composition-api'\r\nimport { mapLanden } from './mappers/mapLand'\r\nimport { CountryInfo } from './models/CountryInfo'\r\n\r\nexport class LandenService extends ServiceBase {\r\n private _landen: Ref\r\n\r\n constructor () {\r\n super('LandenService')\r\n this._landen = ref([])\r\n }\r\n\r\n get landen () {\r\n return this._landen.value\r\n }\r\n\r\n protected doOpen () {\r\n super.doOpen()\r\n return landClient().getAlleLanden()\r\n .then((res) => {\r\n this._landen.value = mapLanden(res)\r\n })\r\n }\r\n}\r\n\r\nexport const landenService = () => getOrCreateSingleton(LandenService)\r\n","export interface Address {\r\n huisletter: string | null\r\n huisnummer: number | null\r\n huisnummerAanduiding: string | null\r\n huisnummerToevoeging: string | null\r\n locatiebeschrijving: string | null\r\n plaatsnaam: string | null\r\n postcode: string | null\r\n straatnaam: string | null\r\n land: string | null\r\n}\r\n\r\nexport const emptyAddress: Address = {\r\n huisletter: null,\r\n huisnummer: null,\r\n huisnummerAanduiding: null,\r\n huisnummerToevoeging: null,\r\n locatiebeschrijving: null,\r\n plaatsnaam: null,\r\n postcode: null,\r\n straatnaam: null,\r\n land: null,\r\n}\r\n","import { adresClient } from '@/dataAccess/clients'\r\nimport { ModelValidator } from '@/dataAccess/validation/ModelValidator'\r\nimport { NumberFieldValidator } from '@/dataAccess/validation/NumberFieldValidator'\r\nimport { StringFieldValidator } from '@/dataAccess/validation/StringFieldValidator'\r\nimport { computed } from '@vue/composition-api'\r\nimport { mapAddress } from '@/domains/account/dataAccess/mappers/mapAddress'\r\nimport { Address } from '@/domains/account/dataAccess/models/Address'\r\nimport { AddressExtended } from '@/domains/account/dataAccess/models/AddressExtended'\r\n\r\nexport class AddressValidator extends ModelValidator {\r\n land: StringFieldValidator\r\n postcode: StringFieldValidator\r\n huisnummer: NumberFieldValidator\r\n huisnummerToevoeging: StringFieldValidator\r\n postcodeHuisnummerCombo: StringFieldValidator\r\n straatnaam: StringFieldValidator\r\n plaatsnaam: StringFieldValidator\r\n\r\n constructor (model: AddressExtended) {\r\n super(model)\r\n this.nonReactive.validateDelay = 0\r\n\r\n this.land = new StringFieldValidator(this, {\r\n required: true,\r\n })\r\n\r\n this.postcode = new StringFieldValidator(this, {\r\n required: true,\r\n maxLength: computed(() => model.isDutchie ? 6 : 8) as any,\r\n maxLengthMessage: 't:errorMessages.postcode.maxLength',\r\n customValidation: computed(() => {\r\n if (!model.isDutchie) {\r\n return false\r\n }\r\n return this.model.postcode && !this.validateNLPostcode(this.model.postcode) ? 't:errorMessages.postcode.mismatch' : ''\r\n }) as any,\r\n })\r\n\r\n this.huisnummer = new NumberFieldValidator(this, {\r\n required: true,\r\n minValue: 1,\r\n minMessage: 't:errorMessages.huisnummer.minValue',\r\n maxValue: 999999999,\r\n maxMessage: 't:errorMessages.huisnummer.maxValue',\r\n numOfDecimals: 0,\r\n numOfDecimalsMessage: 't:errorMessages.huisnummer.numOfDecimals',\r\n })\r\n\r\n this.huisnummerToevoeging = new StringFieldValidator(this, {\r\n maxLength: 9,\r\n maxLengthMessage: 't:errorMessages.huisnummerToevoeging.maxLength',\r\n })\r\n\r\n this.postcodeHuisnummerCombo = new StringFieldValidator(this, {\r\n })\r\n\r\n this.straatnaam = new StringFieldValidator(this, {\r\n required: computed(() => !this.model.isDutchie) as any,\r\n maxLength: 128,\r\n })\r\n\r\n this.plaatsnaam = new StringFieldValidator(this, {\r\n required: computed(() => !this.model.isDutchie) as any,\r\n maxLength: 70,\r\n })\r\n }\r\n\r\n private validateNLPostcode (postcode: string) {\r\n const postcodeRegEx = /[1-9][0-9]{3} ?(?!sa|sd|ss|SA|SD|SS)[a-zA-Z]{2}$/\r\n return !!postcode && postcodeRegEx.test(postcode)\r\n }\r\n\r\n private updateModel (address: Address) {\r\n this.model.land = address.land\r\n this.model.postcode = address.postcode\r\n this.model.huisnummer = address.huisnummer\r\n this.model.huisnummerToevoeging = address.huisnummerToevoeging\r\n this.model.straatnaam = address.straatnaam\r\n this.model.plaatsnaam = address.plaatsnaam\r\n }\r\n\r\n private resetStraatEnPlaatsnaam () {\r\n this.model.straatnaam = null\r\n this.model.plaatsnaam = null\r\n }\r\n\r\n private extractPostcodeHuisnummer (model: Address) {\r\n return { postcode: model.postcode, huisnummer: model.huisnummer }\r\n }\r\n\r\n protected doValidateDelayed (): Promise | void {\r\n const model = this.model\r\n const newServerValidatedObject = JSON.stringify(this.extractPostcodeHuisnummer(model))\r\n if (newServerValidatedObject === (this.nonReactive as any).serverValidatedObject) {\r\n return\r\n }\r\n (this.nonReactive as any).serverValidatedObject = newServerValidatedObject\r\n if (model.isDutchie && model.postcode && this.validateNLPostcode(model.postcode) && model.huisnummer) {\r\n return this.handleApiCall(model, newServerValidatedObject)\r\n } else {\r\n this.postcodeHuisnummerCombo.serverMessages = ''\r\n }\r\n }\r\n\r\n private handleApiCall (model: AddressExtended, newServerValidatedObject: any) {\r\n return adresClient().getAddress(model.postcode, Number(model.huisnummer))\r\n .then((address) => {\r\n if (newServerValidatedObject === JSON.stringify(this.extractPostcodeHuisnummer(this.model))) {\r\n if (address.isValid) {\r\n this.postcodeHuisnummerCombo.serverMessages = ''\r\n this.updateModel(mapAddress(address))\r\n } else {\r\n this.postcodeHuisnummerCombo.serverMessages = 't:errorMessages.postcode.incorrectCombination'\r\n this.resetStraatEnPlaatsnaam()\r\n }\r\n }\r\n })\r\n }\r\n}\r\n","import { RepositoryBase } from '@/dataAccess/RepositoryBase'\r\nimport { Address, emptyAddress } from '@/domains/account/dataAccess/models/Address'\r\nimport { computed } from '@vue/composition-api'\r\nimport { landenService } from '@/domains/account/dataAccess/LandenService'\r\nimport { AddressExtended } from '@/domains/account/dataAccess/models/AddressExtended'\r\nimport { AddressValidator } from './AddressValidator'\r\n\r\nexport class AddressRepository extends RepositoryBase {\r\n constructor (land?: string) {\r\n super('AddressRepository', { ...emptyAddress, land: land || null })\r\n this.dependsOn(landenService())\r\n }\r\n\r\n private isNL (land: string): boolean {\r\n return land === 'NL'\r\n }\r\n\r\n protected doExtendModel (model: AddressExtended) {\r\n model.isDutchie = computed(() => {\r\n return this.isNL(model.land || '')\r\n }) as any\r\n\r\n model.showFields = computed(() => {\r\n if (!model.isDutchie) {\r\n return true\r\n }\r\n if ((!model.straatnaam || !model.plaatsnaam)) {\r\n return false\r\n }\r\n return true\r\n }) as any\r\n }\r\n\r\n protected doAddWatchers () {\r\n super.doAddWatchers()\r\n\r\n this.watchSingle(() => this.model.postcode, () => {\r\n if (this.model.postcode) {\r\n this.model.postcode = this.model.postcode.replace(' ', '').toUpperCase()\r\n }\r\n })\r\n\r\n this.watchSingle(() => this.model.land, (newValue, oldValue) => {\r\n if (oldValue !== null && newValue !== oldValue) {\r\n this.setDataModel({ ...emptyAddress, land: newValue || null })\r\n }\r\n })\r\n }\r\n\r\n protected doAddValidations (model: AddressExtended) {\r\n model.validations = new AddressValidator(model)\r\n super.doAddValidations(model)\r\n }\r\n}\r\n","import { bankrekeningClient } from '@/dataAccess/clients'\r\nimport { ExtendedValidationResult, ModelValidator } from '@/dataAccess/validation/ModelValidator'\r\nimport { StringFieldValidator } from '@/dataAccess/validation/StringFieldValidator'\r\nimport { mapBankrekeningViewModel } from '@/domains/account/dataAccess/mappers/mapBankrekeningViewModel'\r\nimport { BankrekeningExtended } from '@/domains/account/dataAccess/models/BankrekeningExtended'\r\n\r\nexport class BankrekeningValidator extends ModelValidator {\r\n iban: StringFieldValidator\r\n bic: StringFieldValidator\r\n tenaamstelling: StringFieldValidator\r\n rekeningnummer: StringFieldValidator\r\n banknaam: StringFieldValidator\r\n bankkantoor: StringFieldValidator\r\n selectedForm: StringFieldValidator\r\n\r\n constructor (model: BankrekeningExtended) {\r\n super(model)\r\n\r\n this.iban = new StringFieldValidator(this, {\r\n required: true,\r\n maxLength: 64,\r\n // PD-93485: check on SEPA IBANs, e.g. check all known SEPA countrycodes lookup\r\n })\r\n this.bic = new StringFieldValidator(this, {\r\n required: true,\r\n maxLength: 11,\r\n })\r\n this.tenaamstelling = new StringFieldValidator(this, {\r\n required: true,\r\n maxLength: 70,\r\n })\r\n this.rekeningnummer = new StringFieldValidator(this, {\r\n required: true,\r\n maxLength: 100,\r\n })\r\n this.banknaam = new StringFieldValidator(this, {\r\n required: true,\r\n maxLength: 360,\r\n })\r\n this.bankkantoor = new StringFieldValidator(this, {\r\n required: true,\r\n maxLength: 360,\r\n })\r\n this.selectedForm = new StringFieldValidator(this, {\r\n required: true,\r\n })\r\n }\r\n\r\n protected doValidateDelayed (): Promise | void {\r\n const viewModel = mapBankrekeningViewModel(this.model)\r\n\r\n const newServerValidatedObject = JSON.stringify(viewModel)\r\n if (newServerValidatedObject === (this.nonReactive as any).serverValidatedObject) {\r\n return\r\n }\r\n (this.nonReactive as any).serverValidatedObject = newServerValidatedObject\r\n return bankrekeningClient()\r\n .validate(viewModel)\r\n .then((result) => {\r\n if (newServerValidatedObject === JSON.stringify(mapBankrekeningViewModel(this.model))) {\r\n const errors: ExtendedValidationResult[] = result.errors || []\r\n this.handleValidationResults(errors.filter(error => error.code !== 'emptyField'))\r\n }\r\n })\r\n }\r\n}\r\n","import { RepositoryBase } from '@/dataAccess/RepositoryBase'\r\nimport { Bankrekening, emptyBankrekening } from '@/domains/account/dataAccess/models/Bankrekening'\r\nimport { computed } from '@vue/composition-api'\r\nimport { landenService } from '@/domains/account/dataAccess/LandenService'\r\nimport { BankrekeningExtended } from '@/domains/account/dataAccess/models/BankrekeningExtended'\r\nimport { BankrekeningForm } from '@/domains/account/dataAccess/models/BankrekeningForm'\r\nimport { AddressRepository } from '../address/AddressRepository'\r\nimport { BankrekeningValidator } from './BankrekeningValidator'\r\n\r\nexport class BankrekeningRepository extends RepositoryBase {\r\n constructor () {\r\n super('BankrekeningRepository', emptyBankrekening)\r\n this.addChild(new AddressRepository(), 'address')\r\n this.dependsOn(landenService())\r\n }\r\n\r\n private cleanDataModel () {\r\n if (this.model.requiresIban) {\r\n if (!this.model.iban) {\r\n this.model.iban = this.model.rekeningnummer\r\n }\r\n this.model.rekeningnummer = emptyBankrekening.rekeningnummer\r\n } else {\r\n if (!this.model.rekeningnummer) {\r\n this.model.rekeningnummer = this.model.iban\r\n }\r\n this.model.iban = emptyBankrekening.iban\r\n }\r\n\r\n if (this.model.requiresIban && !this.model.iban) {\r\n this.model.iban = this.model.rekeningnummer\r\n this.model.rekeningnummer = emptyBankrekening.rekeningnummer\r\n }\r\n\r\n this.dataModel = {\r\n ...emptyBankrekening,\r\n selectedForm: this.model.selectedForm,\r\n bic: this.model.requiresBic ? this.model.bic : emptyBankrekening.bic,\r\n iban: this.model.iban,\r\n rekeningnummer: this.model.rekeningnummer,\r\n tenaamstelling: this.model.tenaamstelling,\r\n } as Bankrekening\r\n }\r\n\r\n protected doAssignDataModel (dest: Bankrekening, source: Bankrekening) {\r\n super.doAssignDataModel(dest, source)\r\n dest.selectedForm = source.selectedForm || BankrekeningForm.EuIban\r\n return dest\r\n }\r\n\r\n protected doExtendModel (model: BankrekeningExtended) {\r\n model.requiresIban = computed(() => {\r\n return model.selectedForm === BankrekeningForm.EuIban\r\n }) as any\r\n model.requiresBic = computed(() => {\r\n return model.selectedForm === BankrekeningForm.OtherAccount\r\n }) as any\r\n model.requiresBankgegevens = computed(() => model.selectedForm === BankrekeningForm.OtherAccount) as any\r\n }\r\n\r\n protected doAddWatchers () {\r\n super.doAddWatchers()\r\n this.watchSingle(() => this.model.selectedForm, () => {\r\n this.cleanDataModel()\r\n })\r\n }\r\n\r\n protected doAddValidations (model: BankrekeningExtended) {\r\n model.validations = new BankrekeningValidator(model)\r\n super.doAddValidations(model)\r\n }\r\n}\r\n","import { DeclaratieType, WetType } from '@/_generated/portalClient'\r\nimport { Bankrekening } from '@/domains/account/dataAccess/models/Bankrekening'\r\nimport { Budgethouder } from '@/domains/account/dataAccess/models/relaties/Budgethouder'\r\nimport { Vertegenwoordiger } from '@/domains/account/dataAccess/models/relaties/Vertegenwoordiger'\r\nimport { DeclaratieToekenningsbeschikking } from '../DeclaratieToekenningsbeschikking'\r\nimport { emptyIndienenConceptDeclaratieBase, IndienenConceptDeclaratieBase } from './IndienenConceptDeclaratieBase'\r\n\r\nexport interface VerantwoordingsvrijBedrag extends IndienenConceptDeclaratieBase {\r\n beschikbareTkbs: DeclaratieToekenningsbeschikking[]\r\n selectedTkbId: string | null\r\n bankrekening: Bankrekening | null\r\n budgethouder: Budgethouder | null\r\n vertegenwoordiger: Vertegenwoordiger | null\r\n isGeselecteerd: boolean | null\r\n ontvanger: string | null\r\n openstaandTotaalBudget: number | null\r\n openstaandVerantwoordingsvrijBedrag: number | null\r\n opgenomenBedrag: number | null\r\n ingangsDatum: string | null;\r\n eindDatum: string | null;\r\n verantwoordingsvrijBedrag: number | null\r\n wet: WetType\r\n declaratieOndertekend: boolean\r\n begunstigdeRelatieId: string | null,\r\n begunstigdeVertegenwoordigers: Vertegenwoordiger[] | null\r\n}\r\n\r\nexport const emptyVerantwoordingsvrijBedrag: VerantwoordingsvrijBedrag = {\r\n ...emptyIndienenConceptDeclaratieBase,\r\n declaratieType: DeclaratieType.VrijbesteedbaarBudget,\r\n beschikbareTkbs: [],\r\n selectedTkbId: null,\r\n bankrekening: null,\r\n budgethouder: null,\r\n vertegenwoordiger: null,\r\n isGeselecteerd: null,\r\n ontvanger: null,\r\n openstaandTotaalBudget: null,\r\n openstaandVerantwoordingsvrijBedrag: null,\r\n opgenomenBedrag: null,\r\n ingangsDatum: null,\r\n eindDatum: null,\r\n verantwoordingsvrijBedrag: null,\r\n wet: WetType.Onbekend,\r\n declaratieOndertekend: false,\r\n begunstigdeRelatieId: null,\r\n begunstigdeVertegenwoordigers: null,\r\n}\r\n","import { IModelExtensions } from '@/dataAccess/IModelExtensions'\r\nimport { NumberFieldValidator, NumberFieldValidatorOptions } from '@/dataAccess/validation/NumberFieldValidator'\r\nimport { IModelValidator } from '@/dataAccess/validation/types'\r\n\r\nexport interface CurrencyWithNumberFieldValidatorOptions extends NumberFieldValidatorOptions {\r\n amount?: string\r\n}\r\n\r\nexport class CurrencyWithNumberFieldValidator> extends NumberFieldValidator {\r\n amount: string\r\n\r\n constructor (modelValidator: IModelValidator, options?: CurrencyWithNumberFieldValidatorOptions) {\r\n super(modelValidator, options)\r\n this.amount = (options && options.amount) || ''\r\n }\r\n}\r\n","import { useI18n } from 'phoenix'\r\nimport { BooleanFieldValidator } from '@/dataAccess/validation/BooleanFieldValidator'\r\nimport { ModelValidator } from '@/dataAccess/validation/ModelValidator'\r\nimport { StringFieldValidator } from '@/dataAccess/validation/StringFieldValidator'\r\nimport { computed } from '@vue/composition-api'\r\nimport { VerantwoordingsvrijBedragExtended } from '../models/indienen/VerantwoordingsvrijBedragExtended'\r\nimport { CurrencyWithNumberFieldValidator } from './CurrencyWithNumberFieldValidator'\r\n\r\nexport class VerantwoordingsvrijBedragValidator extends ModelValidator {\r\n opgenomenBedrag: CurrencyWithNumberFieldValidator\r\n selectedTkbId: StringFieldValidator\r\n begunstigdeRelatieId: StringFieldValidator\r\n declaratieOndertekend: BooleanFieldValidator\r\n\r\n constructor (model: VerantwoordingsvrijBedragExtended) {\r\n super(model)\r\n const { n } = useI18n()\r\n this.opgenomenBedrag = new CurrencyWithNumberFieldValidator(this, {\r\n required: true,\r\n minValue: 0.01,\r\n maxValue: computed(() => model.openstaandVerantwoordingsvrijBedrag || 0) as any,\r\n amount: computed(() => n(this.opgenomenBedrag.maxValue || 0, 'currency')) as any,\r\n numOfDecimals: 2,\r\n invalidMessage: 't:errorMessages.verantwoordingsvrijBedrag.invalid',\r\n requiredMessage: 't:errorMessages.verantwoordingsvrijBedrag.notFilled',\r\n maxMessage: 't:errorMessages.verantwoordingsvrijBedrag.maxValue',\r\n })\r\n this.selectedTkbId = new StringFieldValidator(this, {\r\n required: true,\r\n customValidation: computed(() => !model.selectedTkbId ? 't:errorMessages.verantwoordingsvrijBedrag.noTkbSelected' : null) as any,\r\n })\r\n this.begunstigdeRelatieId = new StringFieldValidator(this, {\r\n required: true,\r\n customValidation: computed(() => !model.begunstigdeRelatieId ? 't:errorMessages.chooseOption' : null) as any,\r\n })\r\n this.declaratieOndertekend = new BooleanFieldValidator(this, {\r\n required: true,\r\n customValidation: computed(() => !model.declaratieOndertekend ? 't:errorMessages.declaratieNietOndertekend' : null) as any,\r\n })\r\n }\r\n}\r\n","import { DeclaratieConceptViewModel, DeclaratieType } from '@/_generated/portalClient'\r\nimport { declaratieConceptClient, declaratieKassabonClient } from '@/dataAccess/clients'\r\nimport { isValidNumber } from '@/dataAccess/validation/transform'\r\nimport { currentUserRepository } from '@/domains/account/dataAccess/CurrentUserRepository'\r\nimport { computed } from '@vue/composition-api'\r\nimport { mapKassabon } from './mappers/mapKassabon'\r\nimport { Budgethouder } from '@/domains/account/dataAccess/models/relaties/Budgethouder'\r\nimport { BankrekeningRepository } from '@/domains/account/dataAccess/repositories/bankrekening/BankrekeningRepository'\r\nimport { AbortablePromise } from '@/utils/AbortablePromise'\r\n\r\nimport { KassabonRepository } from '../components/kassabon/KassabonRepository'\r\nimport { DeclaratieConceptBaseRepository } from './DeclaratieConceptBaseRepository'\r\nimport { mapToDeclaratieConceptViewModel } from './mappers/mapIndienenConceptDeclaratie'\r\n\r\nimport {\r\n mapSelectedTkbToVerantwoordingsvrijBedrag, mapVerantwoordingsvrijBedrag, mapVerantwoordingsvrijBedragToSelectedTkb,\r\n} from './mappers/mapVerantwoordingsvrijBedrag'\r\nimport { DeclaratieToekenningsbeschikking } from './models/DeclaratieToekenningsbeschikking'\r\nimport { emptyIndienenConceptDeclaratie, IndienenConceptDeclaratie } from './models/indienen/IndienenConceptDeclaratie'\r\nimport { emptyVerantwoordingsvrijBedrag, VerantwoordingsvrijBedrag } from './models/indienen/VerantwoordingsvrijBedrag'\r\nimport { VerantwoordingsvrijBedragExtended } from './models/indienen/VerantwoordingsvrijBedragExtended'\r\nimport { Kassabon } from './models/kassabon/Kassabon'\r\nimport { VerantwoordingsvrijBedragValidator } from './validators/VerantwoordingsvrijBedragValidator'\r\n\r\nexport class VerantwoordingsvrijBedragRepository extends DeclaratieConceptBaseRepository {\r\n public kassabonRepository: KassabonRepository\r\n public bankRepository: BankrekeningRepository\r\n private _beschikbareTkbs: DeclaratieToekenningsbeschikking[] = []\r\n\r\n constructor (conceptUid?: string) {\r\n super('VerantwoordingsvrijBedragRepository', emptyVerantwoordingsvrijBedrag, conceptUid)\r\n this.dependsOn(currentUserRepository())\r\n this.kassabonRepository = new KassabonRepository()\r\n this.addChild(this.kassabonRepository, 'kassabon')\r\n this.bankRepository = new BankrekeningRepository()\r\n this.addChild(this.bankRepository, 'bankrekening')\r\n }\r\n\r\n get beschikbareTkbs () {\r\n return this._beschikbareTkbs\r\n }\r\n\r\n async selectTkb (id: string) {\r\n if (!this.model || !this.model.beschikbareTkbs.length) {\r\n return\r\n }\r\n this.model.beschikbareTkbs = this.beschikbareTkbs\r\n const tkb = this.model.filteredTkbs.find(t => t.uid === id) || null\r\n if (tkb) {\r\n this.setDataModel(mapSelectedTkbToVerantwoordingsvrijBedrag(this.dataModel, tkb))\r\n if ((!tkb.begunstigdeVertegenwoordigers || !tkb.begunstigdeVertegenwoordigers.length) &&\r\n !tkb.begunstigdeRelatieId &&\r\n tkb.budgethouder\r\n ) {\r\n this.model.begunstigdeRelatieId = tkb.budgethouder.uid\r\n }\r\n await this.forcedUpdateKassabon()\r\n }\r\n }\r\n\r\n protected handleSavedConceptData (concept: IndienenConceptDeclaratie) {\r\n this.setVerantwoordingsvrijBedragModel(concept.vrijbesteedbaarBudget)\r\n }\r\n\r\n setOntvanger (ontvanger: string, begunstigdeRelatieId: string) {\r\n this.model.ontvanger = ontvanger\r\n this.model.begunstigdeRelatieId = begunstigdeRelatieId\r\n }\r\n\r\n protected doOpen () {\r\n super.doOpen()\r\n return this.conceptUid\r\n ? this.loadSavedConcept()\r\n : this.getVrijbesteedbaarBudget()\r\n }\r\n\r\n protected doAddValidations (model: VerantwoordingsvrijBedragExtended): void {\r\n model.validations = new VerantwoordingsvrijBedragValidator(model)\r\n super.doAddValidations(model)\r\n }\r\n\r\n protected doExtendModel (model: VerantwoordingsvrijBedragExtended) {\r\n super.doExtendModel(model)\r\n model.resterendBedrag = computed(\r\n () => (model.openstaandVerantwoordingsvrijBedrag || 0) - (model.opgenomenBedrag || 0)\r\n ) as any\r\n model.hasNoRemainingBudget = computed(() => model.beschikbareTkbs\r\n .every(tkb => !tkb.verantwoordingsvrijBedrag || !tkb.openstaandVerantwoordingsvrijBedrag)\r\n ) as any\r\n model.filteredTkbs = computed(() => model.beschikbareTkbs\r\n .filter(tkb => !tkb.isOngeldig && tkb.verantwoordingsvrijBedrag && tkb.openstaandVerantwoordingsvrijBedrag)\r\n ) as any\r\n model.hasHiddenTkbs = computed(() => model.filteredTkbs.length < model.beschikbareTkbs.length) as any\r\n model.canSave = computed(() => this.model.selectedTkbId !== null) as any\r\n }\r\n\r\n protected doAddWatchers () {\r\n super.doAddWatchers()\r\n\r\n this.watchSingle(() => this.model.selectedTkbId, () => {\r\n if (this.model.selectedTkbId) {\r\n this.selectTkb(this.model.selectedTkbId)\r\n }\r\n })\r\n\r\n this.watchSingle(() => this.model.opgenomenBedrag, () => {\r\n if (this.model.selectedTkbId) {\r\n this.triggerUpdateKassabon()\r\n }\r\n })\r\n }\r\n\r\n protected isAllowed (vrijbesteedbaarBudget: VerantwoordingsvrijBedrag): boolean {\r\n return !!(\r\n vrijbesteedbaarBudget.beschikbareTkbs &&\r\n vrijbesteedbaarBudget.beschikbareTkbs.length\r\n )\r\n }\r\n\r\n protected async getVrijbesteedbaarBudget () {\r\n const budgethouderId = await currentUserRepository().getBudgethouderUid()\r\n const concept = await declaratieConceptClient().getNewConcept(budgethouderId, DeclaratieType.VrijbesteedbaarBudget)\r\n const vrijbesteedbaarBudget = mapVerantwoordingsvrijBedrag(concept)\r\n this.setVerantwoordingsvrijBedragModel(vrijbesteedbaarBudget)\r\n }\r\n\r\n private setVerantwoordingsvrijBedragModel (vrijbesteedbaarBudget: VerantwoordingsvrijBedrag | null) {\r\n if (vrijbesteedbaarBudget && this.isAllowed(vrijbesteedbaarBudget)) {\r\n this.setDataModel(vrijbesteedbaarBudget)\r\n this._beschikbareTkbs = [...this.model.beschikbareTkbs]\r\n }\r\n }\r\n\r\n protected canUpdateKassabon (): boolean {\r\n return this.model.selectedTkbId !== null &&\r\n (this.model.opgenomenBedrag === null || isValidNumber(this.model.opgenomenBedrag))\r\n }\r\n\r\n protected getDeclaratieConcept () {\r\n return mapToDeclaratieConceptViewModel({\r\n ...emptyIndienenConceptDeclaratie,\r\n vrijbesteedbaarBudget: {\r\n ...this.model,\r\n ...mapVerantwoordingsvrijBedragToSelectedTkb(this.model),\r\n },\r\n conceptId: this.model.conceptUid || '',\r\n declaratieType: this.model.declaratieType,\r\n budgethouder: currentUserRepository().model.effectieveRelatie as Budgethouder,\r\n }, DeclaratieType.VrijbesteedbaarBudget)\r\n }\r\n\r\n protected callUpdateKassabon (concept: DeclaratieConceptViewModel): AbortablePromise {\r\n return declaratieKassabonClient().callWithAbort((client) =>\r\n client.update({ declaratie: concept, metWerkgeverslasten: false })\r\n .then(data => mapKassabon(data, '', false)))\r\n }\r\n}\r\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('section',[_c('title-and-help',{attrs:{\"title\":_vm.$t('opstellen.title'),\"focusable-title\":(\"Stap 1 - \" + (_vm.$t('opstellen.title')))}}),_c('p-form',{ref:\"formRef\"},[_c('p-card',{staticClass:\"mt-3\",attrs:{\"title\":_vm.$t('opstellen.budgetCard.title'),\"heading-level\":\"3\",\"data-ui\":\"budget-card\"}},[_c('budget-selectie',{attrs:{\"validation\":_vm.model.validations.selectedTkbId,\"collection\":_vm.budgetCollectionItems,\"id\":\"budgetSelectieRadioButtons\",\"select-label\":_vm.$tc('labels.budgetSelectie', _vm.budgetCollectionItems.length),\"default-option-label\":_vm.$t('labels.selectBudget')},scopedSlots:_vm._u([(_vm.model.hasHiddenTkbs)?{key:\"info\",fn:function(){return [_c('p-alert',{staticClass:\"mt-1 mb-10\",attrs:{\"type\":\"info\",\"data-ui\":\"alert-has-hidden-tkbs\"}},[[_vm._v(_vm._s(_vm.$t('opstellen.budgetCard.messages.alleenTkbs')))]],2)]},proxy:true}:null],null,true),model:{value:(_vm.model.selectedTkbId),callback:function ($$v) {_vm.$set(_vm.model, \"selectedTkbId\", $$v)},expression:\"model.selectedTkbId\"}})],1),(_vm.model.selectedTkbId)?_c('p-card',{staticClass:\"verantwoordingsvrij-bedrag mt-6\",attrs:{\"heading-level\":\"3\",\"title\":_vm.$t('opstellen.verantwoordingsvrijBedragCard.title'),\"data-ui\":\"verantwoordingsvrij-bedrag-card\"}},[_c('p',{staticClass:\"mb-6\"},[_vm._v(\" \"+_vm._s(_vm.$t('opstellen.verantwoordingsvrijBedragCard.introText'))+\" \")]),_c('div',[_c('strong',{attrs:{\"data-ui\":\"vvb-selected-wet\"}},[_vm._v(_vm._s(_vm.$t((\"wetType.\" + (_vm.model.wet)))))])]),_c('p-divider',{staticClass:\"mb-4 mt-2\"}),_c('p-text-field',{staticClass:\"input-width-sm-4\",attrs:{\"label\":_vm.$t('labels.beschikbaarBedrag'),\"value\":_vm.$n(_vm.model.openstaandVerantwoordingsvrijBedrag, 'currency'),\"data-ui\":\"vvb-openstaandverantwoordingsvrij-bedrag\",\"hide-details\":\"\",\"readonly\":\"\"}}),_c('currency-field',{staticClass:\"mt-6 mb-0\",attrs:{\"label\":_vm.$t('labels.opgenomenBedrag'),\"validation\":_vm.model.validations.opgenomenBedrag,\"data-ui\":\"vvb-opgenomen-bedrag\",\"hide-details\":\"\"},model:{value:(_vm.model.opgenomenBedrag),callback:function ($$v) {_vm.$set(_vm.model, \"opgenomenBedrag\", $$v)},expression:\"model.opgenomenBedrag\"}}),_c('p-divider',{staticClass:\"mb-4 mt-4\"}),_c('p-text-field',{attrs:{\"label\":_vm.$t('labels.resterendBedrag'),\"value\":_vm.$n(_vm.model.resterendBedrag, 'currency'),\"data-ui\":\"vvb-resterend-bedrag\",\"full-width\":\"\",\"hide-details\":\"\",\"readonly\":\"\"}}),_c('div',{staticClass:\"mt-6\",attrs:{\"data-ui\":\"vvb-overgemaakt-naar\"}},[(_vm.chooseOntvanger)?_c('p-radio-group',{key:\"vvb-choose-ontvanger\",attrs:{\"items\":_vm.ontvangerItems,\"label\":_vm.$t('labels.bedragOvergemaaktNaar'),\"validation\":_vm.model.validations.begunstigdeRelatieId,\"is-column\":\"\",\"hide-details\":\"\"},on:{\"input\":_vm.setOntvanger},model:{value:(_vm.ontvangerRef),callback:function ($$v) {_vm.ontvangerRef=$$v},expression:\"ontvangerRef\"}}):_c('p-text-field',{key:\"vvb-auto-ontvanger\",staticClass:\"d-grow-1\",attrs:{\"value\":(_vm.ontvangerItems && _vm.ontvangerItems.length && _vm.ontvangerItems[0].label) || '',\"label\":_vm.$t('labels.bedragOvergemaaktNaar'),\"hide-details\":\"\",\"readonly\":\"\"}})],1),_c('bankrekening',{class:!_vm.chooseOntvanger ? 'mt-8' : 'mt-2',attrs:{\"repository\":_vm.repository.bankRepository}})],1):_vm._e()],1),_c('p-notify-required-field',{staticClass:\"mt-4 mb-4\"}),_c('opslaan',{attrs:{\"show-saved-dialog\":_vm.showSavedDialog,\"show-cannot-save-message\":_vm.showCannotSaveMessage,\"show-failed-save-message\":_vm.showFailedSaveMessage}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { mergeI18nDeep } from '@/utils/i18nUtils'\r\nimport declaratiesIndienenI18n from '../i18n'\r\n\r\nconst i18n = {\r\n messages: {\r\n nl: {\r\n steps: {\r\n declaratie: 'Opvragen',\r\n controle: 'Controle',\r\n ingediend: 'Ingediend',\r\n },\r\n opstellen: {\r\n title: 'Opvragen',\r\n budgetCard: {\r\n title: 'Budget',\r\n messages: {\r\n alleenTkbs: 'Alleen toekenningsbeschikkingen met een beschikbaar verantwoordingsvrij bedrag zijn hier te zien.',\r\n },\r\n },\r\n verantwoordingsvrijBedragCard: {\r\n title: 'Verantwoordingsvrij bedrag',\r\n introText: 'Als uw zorgkantoor of gemeente u een verantwoordingsvrij bedrag heeft toegekend, ' +\r\n 'dan kunt u dat met dit formulier opvragen. Dit bedrag mag naar de budgethouder of vertegenwoordiger worden ' +\r\n 'overgemaakt. U kunt het bedrag in één keer of in delen opvragen. Houd er wel rekening mee dat u mogelijk ' +\r\n '(een deel van) het verantwoordingsvrij bedrag moet terugbetalen wanneer uw budget in de loop van het jaar ' +\r\n 'wordt verlaagd, of als u het budget niet heeft gebruikt.',\r\n },\r\n },\r\n controle: {\r\n verantwoordingsvrijBedragCard: {\r\n title: 'Verantwoordingsvrij bedrag',\r\n },\r\n },\r\n ingediend: {\r\n watNu: {\r\n body: 'Het PGB Portaal heeft de SVB de opdracht gegeven om het geld over te maken. Het geld wordt binnen enkele dagen uitbetaald.',\r\n },\r\n },\r\n ingediendMetOpschorting: {\r\n watNu: {\r\n body: 'Uw declaratie wordt eerst beoordeeld omdat er sprake is van een opschorting.',\r\n },\r\n },\r\n labels: {\r\n date: 'Datum',\r\n bedrag: 'Bedrag',\r\n beschikbaarBedrag: 'Beschikbaar bedrag',\r\n naamOntvanger: 'Naam ontvanger',\r\n iban: 'IBAN-nummer',\r\n bic: 'BIC-code',\r\n rekeningnummer: 'Rekeningnummer',\r\n banknaam: 'Banknaam',\r\n bankkantoor: 'Bankkantoor',\r\n adres: 'Bankadres',\r\n tenaamstelling: 'Tenaamstelling',\r\n resterendBedrag: 'Resterend verantwoordingsvrij bedrag',\r\n opgenomenBedrag: 'Welk bedrag wilt u opvragen?',\r\n bedragOvergemaaktNaar: 'Het bedrag wordt overgemaakt naar de',\r\n deBudgethouder: 'De budgethouder',\r\n budgethouderName: 'Budgethouder, {name}',\r\n vertegenwoordigerName: 'Vertegenwoordiger, {name}',\r\n budgetSelectie: 'Budget | Budgetten',\r\n selectBudget: 'Kies een budget',\r\n budgetSelectieBedrag: 'verantwoordingsvrij bedrag',\r\n landnaam: 'Land',\r\n },\r\n errorMessages: {\r\n verantwoordingsvrijBedrag: {\r\n noTkbSelected: 'Er is geen toekenningsbeschikking geselecteerd. Selecteer een toekenningsbeschikking.',\r\n notFilled: 'Er is nog geen bedrag ingevuld.',\r\n invalid: 'Vul een geldig geldbedrag in.',\r\n maxValue: 'Het op te vragen verantwoordingsvrij bedrag is maximaal {amount}.',\r\n geenGeldigeTkbs: 'Er staat geen geldige toekenningsbeschikking met budget in het PGB Portaal. ' +\r\n 'Deze heeft u nodig om een declaratie in te dienen. In het scherm \"Overzicht toekenningsbeschikkingen\" ' +\r\n 'vindt u uw toekenningsbeschikkingen en de status ervan. Neem contact op met uw zorgkantoor ' +\r\n 'of gemeente als u vragen heeft.',\r\n noRemainingBudget: 'U kunt geen verantwoordingsvrij bedrag opvragen. ' +\r\n 'Dit komt omdat u geen of niet genoeg budget meer heeft. Of u heeft geen verantwoordingsvrij bedrag toegewezen gekregen.',\r\n },\r\n declaratieNietOndertekend: 'U heeft nog niet aangegeven dat alle gegevens naar waarheid zijn ingevuld.',\r\n },\r\n backToIndienenDeclaratie: 'Terug naar Indienen Declaratie',\r\n },\r\n },\r\n}\r\n\r\nmergeI18nDeep(i18n, declaratiesIndienenI18n)\r\n\r\nexport default i18n\r\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{attrs:{\"data-ui\":\"bankrekening\"}},[_c('p-select',{key:\"typeBankrekening\",staticClass:\"input-width-sm-4\",attrs:{\"data-ui\":\"typeBankrekening\",\"label\":_vm.$t('labels.typeBankrekening'),\"hint\":_vm.$t('hint.typeBankrekening'),\"validation\":_vm.validations.selectedForm,\"options\":_vm.items},scopedSlots:_vm._u([{key:\"label-info\",fn:function(){return [_c('p-info',{attrs:{\"title\":_vm.$t('info.ibanSepaTitle'),\"wide\":\"\",\"data-ui\":\"sepa-info-icon\"}},[_c('div',{attrs:{\"data-ui\":\"sepa-info-modal\"}},[_vm._l((_vm.$t('info.ibanSepaParagraphs')),function(item,index){return _c('p',{key:(\"sepa-item-\" + index)},[_vm._v(\" \"+_vm._s(item)+\" \")])}),_c('p',[_vm._v(\" \"+_vm._s(_vm.$t('info.ibanSepaWebsite'))+\" \"),_c('a',{attrs:{\"rel\":\"noreferrer noopener\",\"target\":\"_blank\",\"href\":_vm.$t('info.ibanSepaLinkHref')}},[_vm._v(\" \"+_vm._s(_vm.$t('info.ibanSepaLinkText')))]),_vm._v(\". \")]),_c('p',[_vm._v(_vm._s(_vm.$t('info.ibanSepaNope')))])],2)])]},proxy:true}]),model:{value:(_vm.model.selectedForm),callback:function ($$v) {_vm.$set(_vm.model, \"selectedForm\", $$v)},expression:\"model.selectedForm\"}}),(_vm.model.requiresIban)?_c('p-text-field',{key:\"iban\",staticClass:\"input-width-sm-4\",attrs:{\"label\":_vm.$t('labels.iban'),\"validation\":_vm.validations.iban,\"data-ui\":\"iban-input\"},model:{value:(_vm.model.iban),callback:function ($$v) {_vm.$set(_vm.model, \"iban\", $$v)},expression:\"model.iban\"}}):_vm._e(),(!_vm.model.requiresIban)?_c('p-text-field',{key:\"rekeningnummer\",staticClass:\"input-width-sm-4\",attrs:{\"label\":_vm.$t('labels.rekeningnummer'),\"validation\":_vm.validations.rekeningnummer,\"data-ui\":\"rekeningnummer-input\"},model:{value:(_vm.model.rekeningnummer),callback:function ($$v) {_vm.$set(_vm.model, \"rekeningnummer\", $$v)},expression:\"model.rekeningnummer\"}}):_vm._e(),(!_vm.model.requiresIban)?_c('p-alert',{staticClass:\"mb-8\",attrs:{\"type\":\"warning\",\"aria-live\":\"polite\",\"data-ui\":\"rekeningnummer-warning\"}},[_vm._v(\" \"+_vm._s(_vm.$t('alert.waarschuwingRekeningnummer'))+\" \")]):_vm._e(),(_vm.model.requiresBic)?_c('p-text-field',{key:\"bic\",staticClass:\"input-width-sm-4\",attrs:{\"label\":_vm.$t('labels.bic'),\"validation\":_vm.validations.bic,\"data-ui\":\"bic-input\"},model:{value:(_vm.model.bic),callback:function ($$v) {_vm.$set(_vm.model, \"bic\", $$v)},expression:\"model.bic\"}}):_vm._e(),_c('p-text-field',{key:\"tenaamstelling\",staticClass:\"input-width-sm-4\",attrs:{\"label\":_vm.$t('labels.tenaamstelling'),\"validation\":_vm.validations.tenaamstelling,\"data-ui\":\"tenaamstelling-input\"},model:{value:(_vm.model.tenaamstelling),callback:function ($$v) {_vm.$set(_vm.model, \"tenaamstelling\", $$v)},expression:\"model.tenaamstelling\"}}),(_vm.model.requiresBankgegevens)?_c('p-text-field',{key:\"banknaam\",staticClass:\"input-width-sm-4\",attrs:{\"label\":_vm.$t('labels.banknaam'),\"validation\":_vm.validations.banknaam,\"data-ui\":\"banknaam-input\"},model:{value:(_vm.model.banknaam),callback:function ($$v) {_vm.$set(_vm.model, \"banknaam\", $$v)},expression:\"model.banknaam\"}}):_vm._e(),(_vm.model.requiresBankgegevens)?_c('p-text-field',{key:\"bankkantoor\",staticClass:\"input-width-sm-4\",attrs:{\"label\":_vm.$t('labels.bankkantoor'),\"validation\":_vm.validations.bankkantoor,\"data-ui\":\"bankkantoor-input\"},model:{value:(_vm.model.bankkantoor),callback:function ($$v) {_vm.$set(_vm.model, \"bankkantoor\", $$v)},expression:\"model.bankkantoor\"}}):_vm._e(),(_vm.model.requiresBankgegevens)?_c('adres',{attrs:{\"repository\":_vm.repository.getChildByKey('address'),\"data-ui\":\"adres-input\"}}):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { BankrekeningForm } from '@/domains/account/dataAccess/models/BankrekeningForm'\r\n\r\nexport default {\r\n messages: {\r\n nl: {\r\n labels: {\r\n typeBankrekening: 'Type bankrekening',\r\n iban: 'IBAN-nummer',\r\n bic: 'BIC-code',\r\n tenaamstelling: 'Tenaamstelling',\r\n rekeningnummer: 'Rekeningnummer',\r\n banknaam: 'Banknaam',\r\n bankkantoor: 'Bankkantoor',\r\n },\r\n errorMessages: {\r\n ibanAndRekeningnummerBothGiven: 'IBAN-nummer en rekeningnummer mogen niet tegelijk zijn ingevuld',\r\n bicDoesNotMatchIban: 'Deze Bic hoort niet bij het opgeven IBAN-nummer',\r\n iban: {\r\n invalid: 'Ongeldig IBAN-nummer',\r\n maxLength: 'Vul maximaal 64 tekens in.',\r\n },\r\n bic: {\r\n maxLength: 'Vul maximaal 11 tekens in.',\r\n },\r\n tenaamstelling: {\r\n maxLength: 'Vul maximaal 70 tekens in.',\r\n },\r\n rekeningnummer: {\r\n invalid: 'Ongeldig rekeningnummer',\r\n maxLength: 'Vul maximaal 100 tekens in.',\r\n },\r\n banknaam: {\r\n maxLength: 'Vul maximaal 360 tekens in.',\r\n },\r\n bankkantoor: {\r\n maxLength: 'Vul maximaal 360 tekens in.',\r\n },\r\n\r\n },\r\n hint: {\r\n typeBankrekening: 'Bij elk type bankrekening worden andere gegevens gevraagd.',\r\n },\r\n info: {\r\n ibanSepaTitle: 'Welke bankrekeningnummers worden ondersteund?',\r\n ibanSepaParagraphs: [\r\n 'Nederlandse IBAN-nummers worden ondersteund. Daarnaast kunnen een aantal buitenlandse IBAN-nummers, zogenaamde SEPA-nummers, ook gebruikt worden.',\r\n 'SEPA-landen zijn landen waar met de euro betaald kan worden. SEPA wordt ook ondersteund door een aantal landen met een andere munteenheid dan de euro',\r\n ],\r\n ibanSepaWebsite: 'Kijk op de website van de Europese Centrale Bank voor ',\r\n ibanSepaLinkHref: 'https://www.ecb.europa.eu/paym/integration/retail/sepa/html/index.nl.html',\r\n ibanSepaLinkText: 'meer informatie over SEPA en de aangesloten landen (engelstalig)',\r\n ibanSepaNope: 'Heeft uw zorgverlener een ander bankrekeningnummer dan een IBAN-nummer? En is dat nummer niet aangesloten op SEPA? ' +\r\n 'Kies dan voor ‘Een ander type bankrekening’.',\r\n },\r\n alert: {\r\n waarschuwingRekeningnummer: 'Vul het rekeningnummer hier goed in. Het financieel risico is voor u als hier een verkeerd ' +\r\n 'rekeningnummer staat. De SVB kan u in zo’n situatie helpen het geld via de bank terug te vragen.',\r\n },\r\n bankrekeningForm: {\r\n [BankrekeningForm.EuIban]: 'Nederlands of Europees IBAN-nummer',\r\n [BankrekeningForm.OtherAccount]: 'Een ander type bankrekening',\r\n },\r\n },\r\n },\r\n}\r\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('p-select',{staticClass:\"input-width-sm-4\",attrs:{\"label\":_vm.$t('demographic.address.land'),\"validation\":_vm.validations.land,\"options\":_vm.landenItems,\"default-option\":_vm.$t('demographic.address.landPlaceholder'),\"data-ui\":\"land-select\"},model:{value:(_vm.model.land),callback:function ($$v) {_vm.$set(_vm.model, \"land\", $$v)},expression:\"model.land\"}}),_c('p-group-validation',{attrs:{\"validation\":_vm.validations.postcodeHuisnummerCombo}},[_c('p-text-field',{staticClass:\"input-width-almost-2\",attrs:{\"label\":_vm.$t('demographic.address.postcode'),\"validation\":_vm.validations.postcode,\"data-ui\":\"postcode-input\"},model:{value:(_vm.model.postcode),callback:function ($$v) {_vm.$set(_vm.model, \"postcode\", $$v)},expression:\"model.postcode\"}}),_c('p-group-validation-spacer'),_c('div',{staticClass:\"two-columns\"},[_c('p-text-field',{key:(\"errors-slot-\" + _vm.hasMultipleErrors),class:['input-width-almost-2', 'two-columns__item', !_vm.hasErrorsInColumns ? 'two-columns__hide-details': ''],attrs:{\"label\":_vm.$t('demographic.address.huisnummer'),\"validation\":_vm.validations.huisnummer,\"inputmode\":\"numeric\",\"data-ui\":\"huisnummer-input\"},scopedSlots:_vm._u([(_vm.hasMultipleErrors)?{key:\"error-message\",fn:function(){return [_c('p-group-validation-error',{attrs:{\"id\":\"huisnummer-group-validation-slot\"}})]},proxy:true}:null],null,true),model:{value:(_vm.huisnummer.displayValue.value),callback:function ($$v) {_vm.$set(_vm.huisnummer.displayValue, \"value\", $$v)},expression:\"huisnummer.displayValue.value\"}}),_c('p-group-validation-exclude',{staticClass:\"two-columns__item\",attrs:{\"always-show-field-validator\":\"\"}},[_c('p-text-field',{class:['input-width-almost-2', !_vm.hasErrorsInColumns ? 'two-columns__hide-details': ''],attrs:{\"label\":_vm.$t('labels.huisnummerToevoeging'),\"validation\":_vm.validations.huisnummerToevoeging,\"data-ui\":\"huisnummer-toevoeging-input\"},model:{value:(_vm.model.huisnummerToevoeging),callback:function ($$v) {_vm.$set(_vm.model, \"huisnummerToevoeging\", $$v)},expression:\"model.huisnummerToevoeging\"}})],1),_c('div',{staticClass:\"two-columns__break\"}),(!_vm.hasMultipleErrors)?_c('p-group-validation-error',{staticClass:\"two-columns__full\",attrs:{\"id\":\"huisnummer-group-validation-standalone\"}}):_vm._e(),_c('p-group-validation-spacer',{staticClass:\"small-spacer\"}),_c('div',{staticClass:\"d-flex\"},[(_vm.validations.validationsAsyncBusy)?_c('p-loading-indicator',{staticClass:\"loader mb-5\"}):_vm._e()],1)],1)],1),_c('div',{attrs:{\"aria-live\":\"polite\",\"aria-atomic\":\"true\"}},[(_vm.model.isDutchie && _vm.model.showFields)?_c('div',{staticClass:\"mb-10\"},[_c('p',{staticClass:\"sr-only\"},[_vm._v(\" \"+_vm._s(_vm.$t('srOnly.loadingFinished'))+\" \")]),_c('dl',[_c('dt',{attrs:{\"data-ui\":\"straatnaam-data\"}},[_vm._v(\" \"+_vm._s(_vm.$t('demographic.address.straatnaam'))+\" \")]),_c('dd',{staticClass:\" mb-5\"},[_vm._v(\" \"+_vm._s(_vm.model.straatnaam)+\" \")]),_c('dt',{attrs:{\"data-ui\":\"plaatsnaam-data\"}},[_vm._v(\" \"+_vm._s(_vm.$t('demographic.address.plaatsnaam'))+\" \")]),_c('dd',[_vm._v(\" \"+_vm._s(_vm.model.plaatsnaam)+\" \")])])]):_vm._e()]),(!_vm.model.isDutchie && _vm.model.showFields)?_c('div',[_c('p-text-field',{staticClass:\"input-width-sm-4\",attrs:{\"tabindex\":\"-1\",\"label\":_vm.$t('demographic.address.straatnaam'),\"validation\":_vm.validations.straatnaam,\"data-ui\":\"straatnaam-input\"},model:{value:(_vm.model.straatnaam),callback:function ($$v) {_vm.$set(_vm.model, \"straatnaam\", $$v)},expression:\"model.straatnaam\"}}),_c('p-text-field',{staticClass:\"input-width-sm-4\",attrs:{\"tabindex\":\"-1\",\"label\":_vm.$t('demographic.address.plaatsnaam'),\"validation\":_vm.validations.plaatsnaam,\"data-ui\":\"plaatsnaam-input\"},model:{value:( _vm.model.plaatsnaam),callback:function ($$v) {_vm.$set(_vm.model, \"plaatsnaam\", $$v)},expression:\" model.plaatsnaam\"}})],1):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export default {\r\n messages: {\r\n nl: {\r\n labels: {\r\n land: 'Land',\r\n postcode: 'Postcode',\r\n huisnummer: 'Huisnummer',\r\n huisnummerToevoeging: 'Toevoeging',\r\n straatnaam: 'Straatnaam',\r\n plaatsnaam: 'Plaatsnaam',\r\n },\r\n srOnly: {\r\n loadingFinished: 'Straatnaam en plaatsnaam zijn automatisch gevuld:',\r\n },\r\n errorMessages: {\r\n postcode: {\r\n mismatch: 'De postcode moet voldoen aan de indeling \\'0000AA\\'.',\r\n incorrectCombination: 'Deze combinatie van huisnummer en postcode wordt niet gevonden.',\r\n maxLength: 'Vul maximaal 8 tekens in.',\r\n },\r\n huisnummerToevoeging: {\r\n maxLength: 'Vul maximaal 9 tekens in.',\r\n },\r\n huisnummer: {\r\n minValue: 'Het huisnummer kan niet kleiner zijn dan {minValue}.',\r\n maxValue: 'Vul maximaal 9 tekens in.',\r\n numOfDecimals: 'Vul een heel getal in.',\r\n },\r\n straatnaam: {\r\n maxLength: 'Vul maximaal 128 tekens in.',\r\n },\r\n plaatsnaam: {\r\n maxLength: 'Vul maximaal 70 tekens in.',\r\n },\r\n },\r\n },\r\n },\r\n}\r\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { computed, defineComponent } from '@vue/composition-api'\r\nimport i18n from './i18n'\r\nimport { AddressRepository } from '@/domains/account/dataAccess/repositories/address/AddressRepository'\r\nimport { landenService } from '@/domains/account/dataAccess/LandenService'\r\nimport { useTransform } from '@/composables/useTransform'\r\n\r\nexport default defineComponent({\r\n name: 'Adres',\r\n i18n,\r\n props: {\r\n repository: { type: Object as () => AddressRepository, required: true },\r\n },\r\n\r\n setup (props: { repository: AddressRepository }) {\r\n const landenItems = computed(() => {\r\n return landenService().landen.map((land) => {\r\n return {\r\n value: land.code,\r\n text: land.naam,\r\n }\r\n })\r\n })\r\n\r\n const hasMultipleErrors = computed(() => (\r\n !!props.repository.validations.getFieldValidator('postcodeHuisnummerCombo').firstErrorMessage &&\r\n !!props.repository.validations.getFieldValidator('huisnummerToevoeging').firstErrorMessage &&\r\n !props.repository.validations.getFieldValidator('huisnummer').firstErrorMessage\r\n ))\r\n\r\n const hasErrorsInColumns = computed(() => (\r\n !!props.repository.validations.getFieldValidator('huisnummer').firstErrorMessage ||\r\n !!props.repository.validations.getFieldValidator('huisnummerToevoeging').firstErrorMessage\r\n ))\r\n\r\n return {\r\n model: props.repository.model,\r\n huisnummer: computed(() => useTransform(props.repository.model, 'huisnummer')),\r\n validations: props.repository.validations,\r\n hasMultipleErrors,\r\n hasErrorsInColumns,\r\n landenItems,\r\n }\r\n },\r\n})\r\n\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Adres.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Adres.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./Adres.vue?vue&type=template&id=574ada9c&scoped=true\"\nimport script from \"./Adres.vue?vue&type=script&lang=ts\"\nexport * from \"./Adres.vue?vue&type=script&lang=ts\"\nimport style0 from \"./Adres.vue?vue&type=style&index=0&id=574ada9c&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"574ada9c\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { defineComponent } from '@vue/composition-api'\r\nimport i18n from './i18n'\r\nimport { Adres } from '@/domains/account/components'\r\nimport { BankrekeningRepository } from '@/domains/account/dataAccess/repositories/bankrekening/BankrekeningRepository'\r\nimport { useI18n } from 'phoenix'\r\nimport { BankrekeningForm } from '@/domains/account/dataAccess/models/BankrekeningForm'\r\n\r\nexport default defineComponent({\r\n name: 'Bankrekening',\r\n i18n,\r\n components: {\r\n Adres,\r\n },\r\n props: {\r\n repository: { type: Object as () => BankrekeningRepository, required: true },\r\n },\r\n setup (props: { repository: BankrekeningRepository }) {\r\n const { t } = useI18n()\r\n const items = []\r\n\r\n for (const option in BankrekeningForm) {\r\n if (isNaN(Number(option))) {\r\n items.push({\r\n text: t(`bankrekeningForm.${BankrekeningForm[option]}`),\r\n value: BankrekeningForm[option],\r\n })\r\n }\r\n }\r\n\r\n return {\r\n model: props.repository.model,\r\n validations: props.repository.validations,\r\n items,\r\n BankrekeningForm,\r\n }\r\n },\r\n})\r\n\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Bankrekening.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Bankrekening.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./Bankrekening.vue?vue&type=template&id=679ea3c0\"\nimport script from \"./Bankrekening.vue?vue&type=script&lang=ts\"\nexport * from \"./Bankrekening.vue?vue&type=script&lang=ts\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import { useI18n } from 'phoenix'\r\nimport { Budgethouder } from '@/domains/account/dataAccess/models/relaties/Budgethouder'\r\nimport { Vertegenwoordiger } from '@/domains/account/dataAccess/models/relaties/Vertegenwoordiger'\r\nimport {\r\n VerantwoordingsvrijBedragExtended,\r\n} from '@/domains/declaraties/dataAccess/models/indienen/VerantwoordingsvrijBedragExtended'\r\nimport { computed, ref, Ref } from '@vue/composition-api'\r\n\r\nexport interface IOntvangerItem {\r\n id: string\r\n value: string\r\n label: string\r\n}\r\n\r\nexport type ontvangerTypes = 'budgethouder' | 'vertegenwoordiger'\r\n\r\nexport const ONTVANGER_BUDGETHOUDER = 'budgethouder'\r\nexport const ONTVANGER_VERTEGENWOORDIGER = 'vertegenwoordiger'\r\n\r\nexport function ontvangerItems (model: VerantwoordingsvrijBedragExtended, ontvangerRef: Ref, i18n = useI18n()): IOntvangerItem[] {\r\n const buildOntvangerItem = (ontvanger: Budgethouder | Vertegenwoordiger, ontvangerType: ontvangerTypes): IOntvangerItem => ({\r\n id: ontvanger.uid,\r\n value: `${ontvanger.volledigeNaam}:${ontvanger.uid}`,\r\n label: i18n.t(`labels.${ontvangerType}Name`, { name: ontvanger.volledigeNaam }),\r\n })\r\n\r\n const items = [] as any\r\n\r\n const budgethouder = model.budgethouder &&\r\n model.budgethouder.volledigeNaam &&\r\n buildOntvangerItem(model.budgethouder, ONTVANGER_BUDGETHOUDER)\r\n\r\n const vertegenwoordigers = model.begunstigdeVertegenwoordigers &&\r\n model.begunstigdeVertegenwoordigers.length &&\r\n model.begunstigdeVertegenwoordigers.map(vt => buildOntvangerItem(vt, ONTVANGER_VERTEGENWOORDIGER))\r\n\r\n if (budgethouder) {\r\n items.push(budgethouder)\r\n }\r\n\r\n if (vertegenwoordigers) {\r\n items.push(...vertegenwoordigers)\r\n }\r\n\r\n if (model.begunstigdeRelatieId) {\r\n const foundOntvangerItem = items.filter((ontvangerItem: IOntvangerItem) => ontvangerItem.id === model.begunstigdeRelatieId)\r\n if (foundOntvangerItem.length === 1) {\r\n ontvangerRef.value = foundOntvangerItem[0].value\r\n }\r\n }\r\n return items\r\n}\r\n\r\nexport function useVerantwoordingsvrijBedrag (\r\n model: Ref,\r\n cb: (name: string, id: string) => void) {\r\n const ontvangerRef: Ref = ref(null)\r\n const items = computed(() => model.value.selectedTkbId && ontvangerItems(model.value, ontvangerRef)) as any\r\n const chooseOntvanger = computed(() => !!(items.value && items.value.length > 1)) as any\r\n\r\n return {\r\n ontvangerRef,\r\n chooseOntvanger,\r\n ontvangerItems: items,\r\n setOntvanger: (payload: string) => {\r\n const [name, id] = payload.split(':')\r\n if (name && id) {\r\n cb(name, id)\r\n }\r\n },\r\n }\r\n}\r\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { defineComponent, toRefs } from '@vue/composition-api'\r\nimport { useReadyToProceedOnValidate } from '@/composables/useReadyToProceedOnValidate'\r\nimport { VerantwoordingsvrijBedragRepository } from '@/domains/declaraties/dataAccess/VerantwoordingsvrijBedragRepository'\r\nimport CurrencyField from '@/components/entities/CurrencyField/CurrencyField.vue'\r\nimport BudgetSelectie from '@/domains/declaraties/components/budgetSelectie/BudgetSelectie.vue'\r\nimport i18n from './i18n'\r\nimport Bankrekening from '@/domains/account/components/Bankrekening/Bankrekening.vue'\r\nimport { useVerantwoordingsvrijBedrag } from './useVerantwoordingsvrijBedrag'\r\nimport { useTransform } from '@/composables/useTransform'\r\nimport { useOpslaan } from '@/domains/declaraties/pages/useOpslaan'\r\nimport { route } from '@/domains/declaraties/routes/routeItems'\r\nimport Opslaan from '@/domains/declaraties/components/opslaan/Opslaan.vue'\r\nimport { DeclaratieToekenningsbeschikking } from '@/domains/declaraties/dataAccess/models/DeclaratieToekenningsbeschikking'\r\nimport { IBudgetCollectionItem } from '@/domains/declaraties/components/budgetSelectie/types'\r\nimport { useI18n } from 'phoenix'\r\nimport TitleAndHelp from '@/components/entities/TitleAndHelp/TitleAndHelp.vue'\r\n\r\nexport default defineComponent({\r\n name: 'VerantwoordingsvrijBedragOpstellen',\r\n components: {\r\n BudgetSelectie,\r\n CurrencyField,\r\n Bankrekening,\r\n Opslaan,\r\n TitleAndHelp,\r\n },\r\n i18n,\r\n props: {\r\n repository: { type: Object as () => VerantwoordingsvrijBedragRepository, required: true },\r\n },\r\n setup (props: { repository: VerantwoordingsvrijBedragRepository }) {\r\n const { repository } = toRefs(props)\r\n const model = repository.value.modelRef\r\n const save = useOpslaan(repository.value, route.IndienenDeclaratieVerantwoordingsvrijBedragBudgethouder)\r\n const { t } = useI18n()\r\n\r\n const mapDeclaratieToekenningsbeschikkingToBudget = (tkb: DeclaratieToekenningsbeschikking): IBudgetCollectionItem => {\r\n return {\r\n id: tkb.uid || '',\r\n wet: tkb.wet,\r\n verstrekkerNaam: tkb.verstrekkerNaam || '',\r\n ingangsDatum: tkb.ingangsDatum || '',\r\n eindDatum: tkb.eindDatum || '',\r\n restantBedrag: tkb.openstaandVerantwoordingsvrijBedrag || 0,\r\n bedragLabel: t('labels.budgetSelectieBedrag'),\r\n }\r\n }\r\n\r\n const budgetCollectionItems = repository.value.model.filteredTkbs.map(mapDeclaratieToekenningsbeschikkingToBudget)\r\n\r\n const {\r\n ontvangerItems,\r\n chooseOntvanger,\r\n setOntvanger,\r\n ontvangerRef,\r\n } = useVerantwoordingsvrijBedrag(model, repository.value.setOntvanger.bind(repository.value))\r\n\r\n return {\r\n ...useReadyToProceedOnValidate({ repository: repository.value, save }),\r\n budgetCollectionItems,\r\n model,\r\n ontvangerItems,\r\n chooseOntvanger,\r\n ontvangerRef,\r\n setOntvanger,\r\n opgenomenBedrag: useTransform(repository.value.model, 'opgenomenBedrag'),\r\n showCannotSaveMessage: repository.value.showCannotSaveMessage,\r\n showSavedDialog: repository.value.showSavedDialog,\r\n showFailedSaveMessage: repository.value.showFailedSaveMessage,\r\n }\r\n },\r\n})\r\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./VerantwoordingsvrijBedragOpstellen.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./VerantwoordingsvrijBedragOpstellen.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./VerantwoordingsvrijBedragOpstellen.vue?vue&type=template&id=0d915aac&scoped=true\"\nimport script from \"./VerantwoordingsvrijBedragOpstellen.vue?vue&type=script&lang=ts\"\nexport * from \"./VerantwoordingsvrijBedragOpstellen.vue?vue&type=script&lang=ts\"\nimport style0 from \"./VerantwoordingsvrijBedragOpstellen.vue?vue&type=style&index=0&id=0d915aac&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"0d915aac\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.isReady)?_c('section',[_c('title-and-help',{attrs:{\"title\":_vm.$t('controle.title'),\"focusable-title\":(\"Stap 2 - \" + (_vm.$t('controle.title')))}}),_c('p-card',{staticClass:\"mt-3\",attrs:{\"title\":_vm.$t('controle.verantwoordingsvrijBedragCard.title'),\"heading-level\":\"3\"}},[_c('p-container',{attrs:{\"data-ui\":\"declaratie-wet\"}},[_c('div',{staticClass:\"vvb-wet\",attrs:{\"data-ui\":\"vvb-wet\"}},[_c('strong',[_vm._v(_vm._s(_vm.$t((\"wetType.\" + (_vm.model.wet)))))]),_c('p-divider',{staticClass:\"mb-4 mt-2\"})],1),_c('p-value-grid',[_c('p-value-row',{attrs:{\"label\":_vm.$t('labels.bedrag'),\"data-ui\":\"vvb-bedrag\",\"value\":_vm.model.opgenomenBedrag,\"currency\":\"\"}}),_c('p-value-row',{attrs:{\"label\":_vm.$t('labels.naamOntvanger'),\"data-ui\":\"vvb-naam-ontvanger\",\"value\":_vm.model.ontvanger}}),(!_vm.isOtherAccount && _vm.model.bankrekening.iban)?_c('p-value-row',{attrs:{\"label\":_vm.$t('labels.iban'),\"data-ui\":\"vvb-iban\",\"value\":_vm.model.bankrekening.iban}}):_vm._e(),(_vm.isOtherAccount && _vm.model.bankrekening.rekeningnummer)?_c('p-value-row',{attrs:{\"label\":_vm.$t('labels.rekeningnummer'),\"data-ui\":\"vvb-rekeningnummer\",\"value\":_vm.model.bankrekening.rekeningnummer}}):_vm._e(),(!_vm.isDutchAccount && _vm.model.bankrekening.bic)?_c('p-value-row',{attrs:{\"label\":_vm.$t('labels.bic'),\"data-ui\":\"vvb-bic\",\"value\":_vm.model.bankrekening.bic}}):_vm._e(),_c('p-value-row',{attrs:{\"label\":_vm.$t('labels.tenaamstelling'),\"data-ui\":\"vvb-tenaamstelling\",\"value\":_vm.model.bankrekening.tenaamstelling}}),(_vm.isOtherAccount && _vm.model.bankrekening.banknaam)?_c('p-value-row',{attrs:{\"label\":_vm.$t('labels.banknaam'),\"data-ui\":\"vvb-banknaam\",\"value\":_vm.model.bankrekening.banknaam}}):_vm._e(),(_vm.isOtherAccount && _vm.model.bankrekening.bankkantoor)?_c('p-value-row',{attrs:{\"label\":_vm.$t('labels.bankkantoor'),\"data-ui\":\"vvb-bankkantoor\",\"value\":_vm.model.bankrekening.bankkantoor}}):_vm._e(),(_vm.isOtherAccount && _vm.addresses && _vm.addresses.length)?_c('p-value-row',{attrs:{\"label\":_vm.$t('labels.adres'),\"data-ui\":\"vvb-adres\",\"value\":_vm.addresses.join('
')}}):_vm._e(),(_vm.isOtherAccount && _vm.addresses && _vm.addresses.length && _vm.landnaam)?_c('p-value-row',{attrs:{\"label\":_vm.$t('labels.landnaam'),\"data-ui\":\"vvb-landnaam\",\"value\":_vm.landnaam}}):_vm._e()],1)],1)],1),_c('p-form',{ref:\"formRef\",staticClass:\"mb-4 mb-md-6 mt-6\"},[_c('p-card',{staticClass:\"mt-10\",attrs:{\"title\":_vm.$t('controle.controlerenEnOndertekenenCard.title'),\"heading-level\":\"3\",\"dark\":\"\"}},[_c('strong',[_vm._v(_vm._s(_vm.$t('controle.controlerenEnOndertekenenCard.attention')))]),_c('p',[_vm._v(_vm._s(_vm.$t('controle.controlerenEnOndertekenenCard.notice')))]),_c('p-value-grid',{staticClass:\"mt-9 mb-3\"},[_c('p-value-row',{attrs:{\"label\":_vm.$t('labels.date'),\"value\":_vm.$d(new Date(), 'short')}})],1),_c('p-checkbox',{attrs:{\"id\":\"declaratie-ondertekend\",\"validation\":_vm.model.validations.declaratieOndertekend,\"label\":_vm.$t('controle.controlerenEnOndertekenenCard.signed')},model:{value:(_vm.model.declaratieOndertekend),callback:function ($$v) {_vm.$set(_vm.model, \"declaratieOndertekend\", $$v)},expression:\"model.declaratieOndertekend\"}})],1)],1),_c('p-notify-required-field',{staticClass:\"mt-4 mb-4\"}),_c('opslaan',{attrs:{\"show-saved-dialog\":_vm.showSavedDialog,\"show-cannot-save-message\":false,\"show-failed-save-message\":_vm.showFailedSaveMessage}})],1):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { VerantwoordingsvrijBedragRepository } from '@/domains/declaraties/dataAccess/VerantwoordingsvrijBedragRepository'\r\nimport { computed, defineComponent, toRefs } from '@vue/composition-api'\r\nimport i18n from './i18n'\r\nimport { registerStepComponent } from 'phoenix'\r\nimport { useFormValidate } from '@/composables/useFormValidate'\r\nimport { useAddress } from '@/composables'\r\nimport { useOpslaan } from '@/domains/declaraties/pages/useOpslaan'\r\nimport { route } from '@/domains/declaraties/routes/routeItems'\r\nimport Opslaan from '@/domains/declaraties/components/opslaan/Opslaan.vue'\r\nimport TitleAndHelp from '@/components/entities/TitleAndHelp/TitleAndHelp.vue'\r\nimport { landenService } from '@/domains/account/dataAccess/LandenService'\r\nimport { BankrekeningForm } from '@/domains/account/dataAccess/models/BankrekeningForm'\r\n\r\nexport default defineComponent({\r\n name: 'VerantwoordingsvrijBedragControleren',\r\n components: {\r\n Opslaan,\r\n TitleAndHelp,\r\n },\r\n i18n,\r\n props: {\r\n repository: { type: Object as () => VerantwoordingsvrijBedragRepository, required: true },\r\n },\r\n setup (props: { repository: VerantwoordingsvrijBedragRepository }) {\r\n const { repository } = toRefs(props)\r\n const formValidate = useFormValidate({ repository: repository.value })\r\n const addresses = computed(() => (\r\n repository.value.model &&\r\n repository.value.model.bankrekening &&\r\n repository.value.model.bankrekening.address &&\r\n useAddress([repository.value.model.bankrekening.address]).addresses) ||\r\n null\r\n )\r\n\r\n const landnaam = computed(() => {\r\n const selectedValue = repository.value.model?.bankrekening?.address?.land\r\n if (selectedValue) {\r\n return landenService().landen.find(x => x.code === selectedValue)?.naam\r\n }\r\n return null\r\n })\r\n\r\n let savePromise: Promise | null = null\r\n\r\n const submit = async (): Promise => {\r\n return formValidate.validate().then((validation) => {\r\n if (!savePromise && validation) {\r\n savePromise = repository.value.submit()\r\n .then(() => true)\r\n .catch(() => false)\r\n .finally(() => {\r\n savePromise = null\r\n })\r\n } else {\r\n return false\r\n }\r\n return savePromise\r\n })\r\n }\r\n const save = useOpslaan(repository.value, route.IndienenDeclaratieVerantwoordingsvrijBedragBudgethouder)\r\n registerStepComponent({ readyToProceed: submit, save })\r\n\r\n return {\r\n ...formValidate,\r\n model: repository.value.model,\r\n isReady: repository.value.isReadyRef,\r\n isOtherAccount: computed(() => repository.value.model &&\r\n repository.value.model.bankrekening &&\r\n repository.value.model.bankrekening.selectedForm === BankrekeningForm.OtherAccount\r\n ),\r\n isDutchAccount: computed(() => repository.value.model &&\r\n repository.value.model.bankrekening &&\r\n repository.value.model.bankrekening.selectedForm === BankrekeningForm.EuIban\r\n ),\r\n addresses,\r\n showSavedDialog: repository.value.showSavedDialog,\r\n showFailedSaveMessage: repository.value.showFailedSaveMessage,\r\n landnaam,\r\n }\r\n },\r\n})\r\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./VerantwoordingsvrijBedragControleren.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./VerantwoordingsvrijBedragControleren.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./VerantwoordingsvrijBedragControleren.vue?vue&type=template&id=fb8e8942&scoped=true\"\nimport script from \"./VerantwoordingsvrijBedragControleren.vue?vue&type=script&lang=ts\"\nexport * from \"./VerantwoordingsvrijBedragControleren.vue?vue&type=script&lang=ts\"\nimport style0 from \"./VerantwoordingsvrijBedragControleren.vue?vue&type=style&index=0&id=fb8e8942&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"fb8e8942\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.isReady)?_c('section',[_c('title-and-help',{attrs:{\"title\":_vm.$t('ingediend.title'),\"focusable-title\":(\"Stap 3 - \" + (_vm.$t('ingediend.title')))}}),_c('p-alert',{staticClass:\"mt-4 mb-9\",attrs:{\"data-ui\":\"vvb-ingediend-melding\",\"type\":\"success\"}},[_vm._v(\" \"+_vm._s(_vm.$t('ingediend.declaratieIngediend', {declaratienummer: _vm.repository.model.declaratienummer}))+\" \")]),(_vm.repository.model.declaratieWordtOpgeschort)?_c('ingediend-links',{attrs:{\"body\":_vm.$t('ingediendMetOpschorting.watNu.body')}}):_c('ingediend-links',{attrs:{\"body\":_vm.$t('ingediend.watNu.body')}})],1):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { VerantwoordingsvrijBedragRepository } from '@/domains/declaraties/dataAccess/VerantwoordingsvrijBedragRepository'\r\nimport { defineComponent } from '@vue/composition-api'\r\nimport i18n from './i18n'\r\nimport IngediendLinks from '../components/IngediendLinks.vue'\r\nimport TitleAndHelp from '@/components/entities/TitleAndHelp/TitleAndHelp.vue'\r\nexport default defineComponent({\r\n name: 'VerantwoordingsvrijBedragIngediend',\r\n i18n,\r\n components: {\r\n IngediendLinks,\r\n TitleAndHelp,\r\n },\r\n props: {\r\n repository: { type: Object as () => VerantwoordingsvrijBedragRepository, required: true },\r\n },\r\n setup (props: { repository: VerantwoordingsvrijBedragRepository }) {\r\n return {\r\n isReady: props.repository.isReadyRef,\r\n }\r\n },\r\n})\r\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./VerantwoordingsvrijBedragIngediend.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./VerantwoordingsvrijBedragIngediend.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./VerantwoordingsvrijBedragIngediend.vue?vue&type=template&id=22b11878\"\nimport script from \"./VerantwoordingsvrijBedragIngediend.vue?vue&type=script&lang=ts\"\nexport * from \"./VerantwoordingsvrijBedragIngediend.vue?vue&type=script&lang=ts\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { defineComponent } from '@vue/composition-api'\r\nimport { useStepRouter, useRouter } from 'phoenix'\r\nimport { VerantwoordingsvrijBedragRepository } from '@/domains/declaraties/dataAccess/VerantwoordingsvrijBedragRepository'\r\nimport VerantwoordingsvrijBedragOpstellen from './VerantwoordingsvrijBedragOpstellen.vue'\r\nimport Kassabon from '@/domains/declaraties/components/kassabon/Kassabon.vue'\r\nimport i18n from './i18n'\r\nimport VerantwoordingsvrijBedragControleren from './VerantwoordingsvrijBedragControleren.vue'\r\nimport VerantwoordingsvrijBedragIngediend from './VerantwoordingsvrijBedragIngediend.vue'\r\nimport useDeclaratieHelpPanelItems from '@/domains/declaraties/pages/helpPanels/useDeclaratieHelpPanelItems'\r\n\r\nexport default defineComponent({\r\n name: 'VerantwoordingsvrijBedrag',\r\n i18n,\r\n components: {\r\n Kassabon,\r\n VerantwoordingsvrijBedragOpstellen,\r\n VerantwoordingsvrijBedragControleren,\r\n VerantwoordingsvrijBedragIngediend,\r\n },\r\n setup () {\r\n const { route } = useRouter()\r\n const conceptUid = route.params.id || undefined\r\n const stepRouter = useStepRouter(['stap1', 'stap2', 'stap3'], 'step')\r\n const repository = new VerantwoordingsvrijBedragRepository(conceptUid)\r\n repository.open()\r\n const helpPanelItems = useDeclaratieHelpPanelItems()\r\n\r\n return {\r\n stepRouter,\r\n isReady: repository.isReadyRef,\r\n repository,\r\n helpPanelItems,\r\n isRedirecting: repository.isRedirectingRef,\r\n }\r\n },\r\n})\r\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./VerantwoordingsvrijBedrag.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./VerantwoordingsvrijBedrag.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./VerantwoordingsvrijBedrag.vue?vue&type=template&id=74112ff3\"\nimport script from \"./VerantwoordingsvrijBedrag.vue?vue&type=script&lang=ts\"\nexport * from \"./VerantwoordingsvrijBedrag.vue?vue&type=script&lang=ts\"\nimport style0 from \"./VerantwoordingsvrijBedrag.vue?vue&type=style&index=0&id=74112ff3&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('page-layout-full',{attrs:{\"help-panel-items\":_vm.helpPanelItems,\"print-button\":\"\"},scopedSlots:_vm._u([{key:\"topRow\",fn:function(){return [(_vm.isReadyToSelectYear && _vm.yearOptions.length > 1)?_c('div',{staticClass:\"year-selector\"},[_c('p-select',{staticClass:\"p-data-table__select-input\",attrs:{\"label\":_vm.$t('label.declaratiesInJaar'),\"options\":_vm.yearOptions,\"data-ui\":\"select-declaratie-overzicht-year\",\"hide-details\":\"\",\"inline-label\":\"\"},on:{\"input\":_vm.onYearChangeHandler},model:{value:(_vm.selectedYear),callback:function ($$v) {_vm.selectedYear=$$v},expression:\"selectedYear\"}})],1):(_vm.isReadyToSelectYear && _vm.yearOptions.length === 1)?[_c('h2',{class:['mr-3', {\n 'pb-3': _vm.isMobileView\n }],attrs:{\"data-ui\":\"declaraties-in-jaar-single\"}},[_vm._v(\" \"+_vm._s(_vm.$t('label.declaraties') + \" \" + _vm.selectedYear)+\" \")])]:_vm._e()]},proxy:true},{key:\"extraButton\",fn:function(){return [(_vm.yearOptions.length > 0)?_c('p-button',{attrs:{\"data-ui\":\"export-declaratie-overzicht-csv\"},on:{\"click\":_vm.toCsv}},[_vm._v(\" \"+_vm._s(_vm.$t('buttons.export'))+\" \")]):_vm._e()]},proxy:true}])},[(_vm.isReadyToSelectYear && _vm.isDoneLoadingDeclaraties && _vm.yearOptions.length > 0)?[_c('p-data-table',{ref:\"declaratiesTable\",attrs:{\"data\":_vm.tableData,\"data-ui\":\"declaraties-overzicht\",\"default-sort\":\"indiendatum\",\"default-sort-descending\":\"\",\"filters\":_vm.filters,\"search-enabled\":true,\"item-types-i18n\":\"tableTypes.declaraties\"},on:{\"table-row-click\":function($event){$event.actie.openRoute && _vm.goTo($event.actie.openRoute)},\"filters-state\":_vm.onFiltersStateChangeHandler},scopedSlots:_vm._u([{key:\"filter-info-statusWeergevenType\",fn:function(){return [_c('status-info-declaraties-overzicht',{attrs:{\"data-ui\":\"filter-info-statusWeergevenType\"}})]},proxy:true},{key:\"filter-info-maand\",fn:function(){return [_c('periode-info-declaraties-overzicht',{attrs:{\"data-ui\":\"filter-info-maand\"}})]},proxy:true},{key:\"info-combinedStatus\",fn:function(){return [_c('status-info-declaraties-overzicht',{attrs:{\"data-ui\":\"info-combinedStatus\"}})]},proxy:true},{key:\"info-periode\",fn:function(){return [_c('periode-info-declaraties-overzicht',{attrs:{\"data-ui\":\"info-periode\"}})]},proxy:true},{key:\"bedrag\",fn:function(ref){\n var bedrag = ref.bedrag;\nreturn [_c('span',[_vm._v(_vm._s(_vm.$n(bedrag, 'currency')))])]}},{key:\"actie\",fn:function(ref){\n var actie = ref.actie;\nreturn [_c('table-actions',{attrs:{\"actie\":actie},on:{\"deleteConceptUid\":_vm.onDeleteHandler}})]}}],null,false,1781212453)})]:(_vm.isReadyToSelectYear && _vm.yearOptions.length === 0)?[_c('p-alert',{attrs:{\"role\":\"alert\",\"type\":\"info\",\"data-ui\":\"geenDeclaratiesMelding\"}},[_c('p',[_vm._v(_vm._s(_vm.$t('errorMessages.geenDeclaraties')))])])]:_c('div',{staticClass:\"text-center\"},[_c('p-loading-indicator',{attrs:{\"data-ui\":\"declaraties-overzicht-loading-indicator\"}})],1),(_vm.isReadyToSelectYear)?_c('p-button-container',{staticClass:\"flex-column align-start mt-10\"},[_c('p-button',{attrs:{\"data-ui\":\"nieuwe-declaratie-indienen-button\",\"to\":_vm.user.isZorgverlener ? {name: 'InvoerenZorgverlenerDeclaratie'} : {name: 'IndienenDeclaratie'}}},[_vm._v(\" \"+_vm._s(_vm.$t('buttons.nieuweDeclaratie'))+\" \")])],1):_vm._e(),_c('delete-declaratie-confirmation',{attrs:{\"show\":!!_vm.conceptUidToDelete,\"is-busy\":_vm.isBusy},on:{\"cancelDelete\":_vm.onCancelDeleteHandler,\"confirmDelete\":_vm.onConfirmDeleteHandler}})],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { DeclaratieStatusType, DeclaratieStatusWeergevenType, MaandloonDeclaratieStatusType } from '@/_generated/portalClient'\r\nimport declaratiesIndienenI18n from '@/domains/declaraties/i18n'\r\nimport { mergeI18nDeep } from '@/utils/i18nUtils'\r\n\r\nconst i18n = {\r\n messages: {\r\n nl: {\r\n tableValues: {\r\n periodeDates: '{ingangsdatum} t/m {einddatum}',\r\n periode: '{maand} {jaar}',\r\n isGewijzigd: 'gewijzigd',\r\n },\r\n statusWeergevenType: {\r\n [DeclaratieStatusWeergevenType.Onbekend]: 'Onbekend',\r\n [DeclaratieStatusWeergevenType.Concept]: 'Concept',\r\n [DeclaratieStatusWeergevenType.Ingepland]: 'Ingepland',\r\n [DeclaratieStatusWeergevenType.Uitbetaald]: 'Uitbetaald',\r\n [DeclaratieStatusWeergevenType.Verrekend]: 'Verrekend',\r\n [DeclaratieStatusWeergevenType.Mislukt]: 'Mislukt',\r\n [DeclaratieStatusWeergevenType.TerGoedkeuring]: 'Ter goedkeuring',\r\n [DeclaratieStatusWeergevenType.Afgekeurd]: 'Afgekeurd',\r\n [DeclaratieStatusWeergevenType.TerBeoordeling]: 'Ter beoordeling',\r\n [DeclaratieStatusWeergevenType.TerBeoordelingBijBudgethouder]: 'Ter beoordeling bij de budgethouder of vertegenwoordiger',\r\n [DeclaratieStatusWeergevenType.TeruggestuurdDoorBudgethouder]: 'Teruggestuurd door de budgethouder of vertegenwoordiger',\r\n [DeclaratieStatusWeergevenType.BuitenBehandeling]: 'Buiten behandeling',\r\n [DeclaratieStatusWeergevenType.TeVerrekenenVorderen]: 'Te verrekenen / vorderen',\r\n [DeclaratieStatusWeergevenType.VerrekendBetaald]: 'Verrekend / betaald',\r\n [DeclaratieStatusWeergevenType.IdealInBehandeling]: 'iDEAL in behandeling',\r\n [DeclaratieStatusWeergevenType.Opgeschort]: 'Opgeschort',\r\n [DeclaratieStatusWeergevenType.OpgeschortAfgewezen]: 'Opgeschort - Afgewezen',\r\n },\r\n declaratieStatusType: {\r\n [DeclaratieStatusType.TerIntrekking]: 'intrekking ter goedkeuring',\r\n [DeclaratieStatusType.Ingetrokken]: 'ingetrokken',\r\n },\r\n maandloonDeclaratieStatusType: {\r\n [MaandloonDeclaratieStatusType.Correctie]: 'correctie',\r\n [MaandloonDeclaratieStatusType.Gecorrigeerd]: 'gecorrigeerd',\r\n },\r\n },\r\n },\r\n}\r\n\r\nmergeI18nDeep(i18n, declaratiesIndienenI18n)\r\n\r\nexport default i18n\r\n","import declaratiesIndienenI18n from '@/domains/declaraties/pages/i18n'\r\nimport { mergeI18nDeep } from '@/utils/i18nUtils'\r\n\r\nconst i18n = {\r\n messages: {\r\n nl: {\r\n headers: {\r\n declaratienummer: 'Nummer',\r\n ingediend: 'Ingediend',\r\n periode: 'Periode',\r\n begunstigde: 'Begunstigde',\r\n budgethouder: 'Budgethouder',\r\n declaratieType: 'Soort declaratie',\r\n bedrag: 'Bedrag',\r\n statusWeergevenType: 'Status',\r\n actie: 'Actie',\r\n },\r\n label: {\r\n declaratiesInJaar: 'Declaraties in jaar',\r\n declaraties: 'Declaraties',\r\n delete: 'Verwijder concept declaratie {declaratieType} van {bedrag} voor {begunstigde} in {periode}.',\r\n open: 'Open declaratie {declaratieType} van {bedrag} voor {begunstigde} in {periode}.',\r\n noAction: 'Deze declaratie kan niet worden geopend of verwijderd.',\r\n },\r\n links: {\r\n uitleg: 'Uitleg over declareren',\r\n faq: 'Veelgestelde vragen',\r\n helpdesk: 'Helpdesk',\r\n },\r\n errorMessages: {\r\n geenDeclaraties: 'Er zijn geen declaraties om te laten zien.',\r\n },\r\n buttons: {\r\n view: 'Open',\r\n export: 'Export',\r\n },\r\n csvDonwload: {\r\n fileName: 'Declaratie overzicht',\r\n dateLocale: 'nl-NL',\r\n },\r\n defaultOptions: {\r\n periode: 'Alle maanden',\r\n declaratieType: 'Alle soorten',\r\n statusWeergevenType: 'Alle statussen',\r\n budgethouder: 'Alle budgethouders',\r\n begunstigde: 'Alle begunstigden',\r\n },\r\n },\r\n },\r\n}\r\n\r\nmergeI18nDeep(i18n, declaratiesIndienenI18n)\r\n\r\nexport default i18n\r\n","import {\r\n DeclaratieConceptStatusType, DeclaratieStatusWeergevenIcon, Maand, MaandloonDeclaratieStatusType,\r\n OverzichtDeclaratieViewModel,\r\n} from '@/_generated/portalClient'\r\nimport { DeclaratieOverzichtEntry } from '../models/DeclaratieOverzichtEntry'\r\n\r\nexport function mapOverzichtDeclaratieViewModelArray (declaraties: DeclaratieOverzichtEntry[]): OverzichtDeclaratieViewModel[] {\r\n return declaraties.map((declaratie) => mapOverzichtDeclaratieViewModel(declaratie))\r\n}\r\n\r\nexport function mapOverzichtDeclaratieViewModel (declaratie: DeclaratieOverzichtEntry): OverzichtDeclaratieViewModel {\r\n return {\r\n declaratieId: declaratie.declaratieId,\r\n declaratieConceptId: declaratie.conceptId,\r\n declaratienummer: declaratie.declaratienummer,\r\n indiendatum: declaratie.indiendatum,\r\n bedrag: declaratie.bedrag,\r\n omschrijving: null,\r\n omschrijvingVoorZorgverlener: null,\r\n omschrijvingVoorBudgethouder: null,\r\n omschrijvingExtra: null,\r\n status: declaratie.status,\r\n declaratieConceptStatus: declaratie.conceptStatus,\r\n maandloonDeclaratieStatus: declaratie.maandloonDeclaratieStatus,\r\n betaalopdrachtStatus: null,\r\n declaratieType: declaratie.declaratieType,\r\n naamBudgethouder: declaratie.naamBudgethouder,\r\n namenBegunstigden: declaratie.naamBegunstigde ? [declaratie.naamBegunstigde] : null,\r\n maand: declaratie.maand,\r\n statusWeergevenIcon: DeclaratieStatusWeergevenIcon.Onbekend,\r\n statusWeergevenType: declaratie.statusWeergevenType,\r\n ingangsdatum: declaratie.ingangsdatum,\r\n einddatum: declaratie.einddatum,\r\n idealTransactieStatus: null,\r\n conceptRowVersion: null,\r\n ingetrokkenDeclaratieUid: declaratie.ingetrokkenDeclaratieUid,\r\n isGewijzigd: declaratie.isGewijzigd,\r\n naamZorgverlener: declaratie.zorgverlener,\r\n periode: declaratie.declaratiePeriode,\r\n }\r\n}\r\n\r\nexport function mapToDeclaratieOverzichtEntry (declaratie: OverzichtDeclaratieViewModel, year: number): DeclaratieOverzichtEntry {\r\n return {\r\n declaratieId: declaratie.declaratieId,\r\n conceptId: declaratie.declaratieConceptId,\r\n declaratienummer: declaratie.declaratienummer,\r\n indiendatum: declaratie.indiendatum,\r\n bedrag: declaratie.bedrag,\r\n status: declaratie.status,\r\n conceptStatus: declaratie.declaratieConceptStatus || DeclaratieConceptStatusType.Onbekend,\r\n maandloonDeclaratieStatus: declaratie.maandloonDeclaratieStatus || MaandloonDeclaratieStatusType.Onbekend,\r\n declaratieType: declaratie.declaratieType,\r\n naamBudgethouder: declaratie.naamBudgethouder,\r\n naamBegunstigde: declaratie.namenBegunstigden ? declaratie.namenBegunstigden[0] : null,\r\n maand: declaratie.maand || Maand.Onbekend,\r\n statusWeergevenType: declaratie.statusWeergevenType,\r\n ingangsdatum: declaratie.ingangsdatum,\r\n einddatum: declaratie.einddatum,\r\n ingetrokkenDeclaratieUid: declaratie.ingetrokkenDeclaratieUid,\r\n isGewijzigd: declaratie.isGewijzigd,\r\n jaar: year,\r\n declaratiePeriode: declaratie.periode,\r\n zorgverlener: declaratie.naamZorgverlener,\r\n }\r\n}\r\n","import { declaratieClient } from '@/dataAccess/clients'\r\nimport { ServiceBase } from '@/dataAccess/ServiceBase'\r\nimport { currentUserRepository } from '@/domains/account/dataAccess/CurrentUserRepository'\r\nimport { mapToDeclaratieOverzichtEntry } from './mappers/mapDeclaratieOverzichtEntry'\r\nimport { DeclaratieOverzichtEntry } from './models/DeclaratieOverzichtEntry'\r\n\r\nexport class DeclaratieOverzichtService extends ServiceBase {\r\n constructor () {\r\n super('DeclaratieOverzichtService')\r\n this.dependsOn(currentUserRepository())\r\n }\r\n\r\n public async getDeclaraties (year: number): Promise {\r\n await this.ready()\r\n const user = currentUserRepository().model\r\n const response = user.isZorgverlener\r\n ? declaratieClient().getDeclaratiesByJaar(year)\r\n : declaratieClient().getDeclaratiesByJaarEnBudgethouderId(year, user.budgethouderUid)\r\n return response.then(res => res.map(a => mapToDeclaratieOverzichtEntry(a, year)))\r\n }\r\n\r\n public async getDeclaratieYears () {\r\n await this.ready()\r\n const response = currentUserRepository().model.isZorgverlener\r\n ? declaratieClient().jarenMetDeclaratie()\r\n : declaratieClient().jarenMetDeclaratieByBudgethouder(currentUserRepository().model.budgethouderUid)\r\n return response.then((years) => {\r\n return years\r\n })\r\n }\r\n}\r\n\r\nexport const declaratieOverzichtService = () => DeclaratieOverzichtService.getOrCreateSingleton(DeclaratieOverzichtService)\r\n","import { createHeader, dateFormat, useI18n } from 'phoenix'\r\nimport { TableHeader } from 'phoenix/types/library/PDataTable/types'\r\nimport { useTranslatedDataTableSorters } from '@/composables/useTranslatedDataTableSorters'\r\nimport { currentUserRepository } from '@/domains/account/dataAccess/CurrentUserRepository'\r\nimport { DeclaratieOverzichtEntryExtended } from '@/domains/declaraties/dataAccess/models/DeclaratieOverzichtEntryExtended'\r\nimport { sortDataTableOnMaandValue, sortDataTableWithEmptyOnTop } from '@/utils/sorters/dataTableSorters'\r\nimport { computed, Ref } from '@vue/composition-api'\r\n\r\nexport default (): Ref[]> => {\r\n const { t } = useI18n()\r\n const {\r\n sortDataTableOnDeclartieTypeTranslation,\r\n sortDataTableOnWeergaveStatusTranslation,\r\n } = useTranslatedDataTableSorters()\r\n\r\n return computed(() => {\r\n const user = currentUserRepository().modelRef\r\n\r\n const headerNaamTegenpartij = user.value.isZorgverlener ? 'headers.budgethouder' : 'headers.begunstigde'\r\n const valueTegenPartij = user.value.isZorgverlener ? 'naamBudgethouder' : 'naamBegunstigde'\r\n\r\n return [\r\n createHeader(\r\n t('headers.declaratienummer'), 'declaratienummer', {\r\n sortable: true,\r\n filterable: true,\r\n }),\r\n createHeader(\r\n t('headers.ingediend'), 'indiendatum', {\r\n sortable: true,\r\n filterable: true,\r\n format: dateFormat,\r\n sortCustom: sortDataTableWithEmptyOnTop,\r\n }),\r\n createHeader(\r\n t('headers.periode'), 'periode', {\r\n sortable: true,\r\n filterable: true,\r\n sortCustom: sortDataTableOnMaandValue,\r\n }),\r\n createHeader(\r\n t(headerNaamTegenpartij), valueTegenPartij, {\r\n sortable: true,\r\n filterable: true,\r\n format: (value: string | null) => value || '-',\r\n }),\r\n createHeader(\r\n t('headers.declaratieType'), 'soortDeclaratie', {\r\n sortable: true,\r\n filterable: true,\r\n sortCustom: sortDataTableOnDeclartieTypeTranslation,\r\n }),\r\n createHeader(\r\n t('headers.bedrag'), 'bedrag', {\r\n align: 'end',\r\n sortable: true,\r\n filterable: true,\r\n }),\r\n createHeader(\r\n t('headers.statusWeergevenType'), 'combinedStatus', {\r\n sortable: true,\r\n filterable: true,\r\n sortCustom: sortDataTableOnWeergaveStatusTranslation,\r\n }),\r\n createHeader(\r\n t('headers.actie'), 'actie', {\r\n align: 'end',\r\n sortable: false,\r\n filterable: false,\r\n hasLabel: false,\r\n }),\r\n ]\r\n })\r\n}\r\n","import { IPgbUrlItem } from 'phoenix/types/library/types'\r\nimport { externalLink } from '@/externalRouter'\r\n\r\nexport const getDeclaratieHelpPanelItems = (currentUserIsZorgverlener: boolean, t: any): IPgbUrlItem[] => {\r\n const links = externalLink.mijnpgb\r\n\r\n return [\r\n {\r\n url: currentUserIsZorgverlener ? links.zorgverlenersDeclaratiesEnMandloon : links.budgethoudersEnVertegenwoordigersDeclaratiesEnMandloon,\r\n label: t('links.uitleg'),\r\n },\r\n {\r\n url: currentUserIsZorgverlener ? links.zorgverlenersFaq_declaratiesEnMaandloon : links.budgethoudersEnVertegenwoordigersFaq_declaratiesEnMaandloon,\r\n label: t('links.faq'),\r\n },\r\n {\r\n url: '#contactgegevens_helpdesk',\r\n anchorPoint: true,\r\n label: t('links.helpdesk'),\r\n },\r\n ]\r\n}\r\n","import { DeclaratieConceptStatusType } from '@/_generated/portalClient'\r\n\r\nexport const supportedDeleteStatuses = {\r\n budgethouder: [\r\n DeclaratieConceptStatusType.ConceptBudgethouder,\r\n ],\r\n zorgverlener: [\r\n DeclaratieConceptStatusType.ConceptZorgverlener,\r\n DeclaratieConceptStatusType.TerGoedkeuringBudgethouder,\r\n DeclaratieConceptStatusType.AfgekeurdBudgethouder,\r\n ],\r\n}\r\n","import { DeclaratieStatusWeergevenType, DeclaratieType } from '@/_generated/portalClient'\r\n\r\nexport const supportedOpenStatuses: { [key in keyof typeof DeclaratieType]: DeclaratieStatusWeergevenType[] } = {\r\n Algemeen: [],\r\n BijkomendeZorgkosten: [\r\n DeclaratieStatusWeergevenType.Concept,\r\n DeclaratieStatusWeergevenType.Ingepland,\r\n DeclaratieStatusWeergevenType.Uitbetaald,\r\n DeclaratieStatusWeergevenType.Mislukt,\r\n DeclaratieStatusWeergevenType.TerBeoordeling,\r\n DeclaratieStatusWeergevenType.Opgeschort,\r\n DeclaratieStatusWeergevenType.OpgeschortAfgewezen,\r\n DeclaratieStatusWeergevenType.Afgekeurd,\r\n DeclaratieStatusWeergevenType.Onbekend],\r\n Conversie: [],\r\n EenmaligeUitkeringOverlijdenBudgethouder: [\r\n DeclaratieStatusWeergevenType.Ingepland,\r\n DeclaratieStatusWeergevenType.Uitbetaald,\r\n DeclaratieStatusWeergevenType.TerBeoordeling,\r\n DeclaratieStatusWeergevenType.Opgeschort,\r\n DeclaratieStatusWeergevenType.OpgeschortAfgewezen,\r\n DeclaratieStatusWeergevenType.Onbekend],\r\n FactuurReiskosten: [\r\n DeclaratieStatusWeergevenType.Concept,\r\n ],\r\n Feestdagenuitkering: [\r\n DeclaratieStatusWeergevenType.Concept,\r\n DeclaratieStatusWeergevenType.Ingepland,\r\n DeclaratieStatusWeergevenType.Uitbetaald,\r\n DeclaratieStatusWeergevenType.Mislukt,\r\n DeclaratieStatusWeergevenType.Afgekeurd,\r\n DeclaratieStatusWeergevenType.TerBeoordeling,\r\n DeclaratieStatusWeergevenType.Opgeschort,\r\n DeclaratieStatusWeergevenType.OpgeschortAfgewezen,\r\n DeclaratieStatusWeergevenType.Onbekend],\r\n Intrekking: [],\r\n Maandloon: [\r\n DeclaratieStatusWeergevenType.Ingepland,\r\n DeclaratieStatusWeergevenType.Uitbetaald,\r\n DeclaratieStatusWeergevenType.Mislukt,\r\n DeclaratieStatusWeergevenType.TerBeoordeling,\r\n DeclaratieStatusWeergevenType.Opgeschort,\r\n DeclaratieStatusWeergevenType.OpgeschortAfgewezen,\r\n DeclaratieStatusWeergevenType.Onbekend],\r\n Onbekend: [],\r\n VrijbesteedbaarBudget: [\r\n DeclaratieStatusWeergevenType.Concept,\r\n DeclaratieStatusWeergevenType.Ingepland,\r\n DeclaratieStatusWeergevenType.Uitbetaald,\r\n DeclaratieStatusWeergevenType.Afgekeurd,\r\n DeclaratieStatusWeergevenType.TerBeoordeling,\r\n DeclaratieStatusWeergevenType.Opgeschort,\r\n DeclaratieStatusWeergevenType.OpgeschortAfgewezen,\r\n DeclaratieStatusWeergevenType.Onbekend],\r\n WooninitiatiefEnkelHuis: [\r\n DeclaratieStatusWeergevenType.Concept,\r\n DeclaratieStatusWeergevenType.Ingepland,\r\n DeclaratieStatusWeergevenType.Uitbetaald,\r\n DeclaratieStatusWeergevenType.Mislukt,\r\n DeclaratieStatusWeergevenType.TerBeoordeling,\r\n DeclaratieStatusWeergevenType.Opgeschort,\r\n DeclaratieStatusWeergevenType.OpgeschortAfgewezen,\r\n DeclaratieStatusWeergevenType.Onbekend],\r\n Zorgdeclaratie: [\r\n DeclaratieStatusWeergevenType.Concept,\r\n DeclaratieStatusWeergevenType.Ingepland,\r\n DeclaratieStatusWeergevenType.Uitbetaald,\r\n DeclaratieStatusWeergevenType.Mislukt,\r\n DeclaratieStatusWeergevenType.Afgekeurd,\r\n DeclaratieStatusWeergevenType.TerBeoordelingBijBudgethouder,\r\n DeclaratieStatusWeergevenType.TeruggestuurdDoorBudgethouder,\r\n DeclaratieStatusWeergevenType.TerBeoordeling,\r\n DeclaratieStatusWeergevenType.Opgeschort,\r\n DeclaratieStatusWeergevenType.OpgeschortAfgewezen,\r\n DeclaratieStatusWeergevenType.Onbekend],\r\n}\r\n","import { useI18n } from 'phoenix'\r\nimport {\r\n DeclaratieConceptStatusType,\r\n DeclaratieStatusType,\r\n DeclaratieStatusWeergevenType,\r\n DeclaratieType,\r\n MaandloonDeclaratieStatusType,\r\n RolType,\r\n} from '@/_generated/portalClient'\r\nimport { DeclaratieOverzichtEntry } from '@/domains/declaraties/dataAccess/models/DeclaratieOverzichtEntry'\r\nimport { route } from '@/domains/declaraties/routes/routeItems'\r\nimport { supportedDeleteStatuses } from '../supportedDeleteStatuses'\r\nimport { supportedOpenStatuses } from '../supportedOpenStatuses'\r\n\r\nexport default () => {\r\n const { t, n } = useI18n()\r\n\r\n const calculateSoortDeclaratie = (declaratie: DeclaratieOverzichtEntry, declaraties: DeclaratieOverzichtEntry[]) => {\r\n if (declaratie.declaratieType === DeclaratieType.Intrekking) {\r\n const ingetrokkenDeclaratie = declaraties.find(a => a.declaratieId === declaratie.ingetrokkenDeclaratieUid)\r\n const declaratienummer = ingetrokkenDeclaratie && ingetrokkenDeclaratie.declaratienummer\r\n if (declaratienummer) {\r\n return t(`declaratieType.${declaratie.declaratieType}`) + ` van ${declaratienummer}`\r\n }\r\n }\r\n return t(`declaratieType.${declaratie.declaratieType}`)\r\n }\r\n\r\n const getConceptRoute = (declaratie: DeclaratieOverzichtEntry, rol: RolType) => {\r\n switch (declaratie.conceptStatus) {\r\n case DeclaratieConceptStatusType.ConceptBudgethouder:\r\n return getConceptBudgethouderIndienenRoute(declaratie.declaratieType)\r\n case DeclaratieConceptStatusType.TerGoedkeuringBudgethouder:\r\n return rol === RolType.Zorgverlener ? route.BekijkenTeBeoordelenZorgverlenerDeclaratie : route.BeoordeelZorgverlenerDeclaratie\r\n case DeclaratieConceptStatusType.AfgekeurdBudgethouder:\r\n return rol === RolType.Zorgverlener ? route.BewerkenAfgekeurdeDeclaratieZorgverlener : route.BekijkenTeruggestuurdeZorgverlenerDeclaratie\r\n case DeclaratieConceptStatusType.ConceptZorgverlener:\r\n return route.InvoerenBestaandDeclaratieZorgverlener\r\n default:\r\n return route.IndienenDeclaratieConcept\r\n }\r\n }\r\n\r\n const getInzienRoute = (declaratieType: DeclaratieType) => {\r\n switch (declaratieType) {\r\n case DeclaratieType.VrijbesteedbaarBudget:\r\n return route.InzienDeclaratieVerantwoordingsvrijBedrag\r\n case DeclaratieType.Feestdagenuitkering:\r\n return route.InzienDeclaratieFeestdagenuitkering\r\n case DeclaratieType.BijkomendeZorgkosten:\r\n return route.InzienDeclaratieBijkomendeZorgkosten\r\n default:\r\n return route.BekijkenDeclaratie\r\n }\r\n }\r\n\r\n const getConceptBudgethouderIndienenRoute = (declaratieType: DeclaratieType) => {\r\n switch (declaratieType) {\r\n case DeclaratieType.BijkomendeZorgkosten:\r\n return route.IndienenDeclaratieBijkomendeZorgkostenZorgverlener\r\n case DeclaratieType.Feestdagenuitkering:\r\n return route.IndienenDeclaratieFeestdagenuitkeringZorgverlener\r\n case DeclaratieType.VrijbesteedbaarBudget:\r\n return route.IndienenDeclaratieVerantwoordingsvrijBedragBudgethouder\r\n case DeclaratieType.FactuurReiskosten:\r\n return route.IndienenDeclaratieFactuurReiskostenBudgethouder\r\n default:\r\n return route.IndienenDeclaratieConcept\r\n }\r\n }\r\n\r\n const calculateActie = (declaratie: DeclaratieOverzichtEntry, rol: RolType) => {\r\n const shouldRouteToConcept =\r\n declaratie.declaratieId === null &&\r\n declaratie.conceptStatus !== DeclaratieConceptStatusType.AfgekeurdSvb\r\n\r\n const routename = shouldRouteToConcept ? getConceptRoute(declaratie, rol) : getInzienRoute(declaratie.declaratieType)\r\n\r\n const ariaLabelParams = {\r\n declaratieType: t(`declaratieType.${declaratie.declaratieType}`),\r\n bedrag: n(declaratie.bedrag, 'currency'),\r\n begunstigde: rol === RolType.Zorgverlener ? declaratie.naamBegunstigde : declaratie.naamBudgethouder,\r\n periode: t(`maand.${declaratie.maand}`) + ` ${declaratie.jaar}`,\r\n }\r\n\r\n return {\r\n openRoute: canOpen(declaratie, rol) && routename\r\n ? {\r\n name: routename,\r\n params: { id: declaratie.declaratieId || declaratie.conceptId },\r\n }\r\n : null,\r\n deleteConceptUid: canDelete(declaratie, rol) && routename ? declaratie.conceptId : null,\r\n ariaLabelDelete: t('label.delete', ariaLabelParams),\r\n ariaLabelOpen: t('label.open', ariaLabelParams),\r\n }\r\n }\r\n\r\n const canDelete = (declaratie: DeclaratieOverzichtEntry, rol: RolType) => {\r\n if (rol === RolType.BudgethouderReadonly || declaratie.statusWeergevenType === DeclaratieStatusWeergevenType.IdealInBehandeling) {\r\n return false\r\n }\r\n const statussenVoorGebruiker = rol === RolType.Zorgverlener ? supportedDeleteStatuses.zorgverlener : supportedDeleteStatuses.budgethouder\r\n return statussenVoorGebruiker.includes(declaratie.conceptStatus)\r\n }\r\n\r\n const canOpen = (declaratie: DeclaratieOverzichtEntry, rol: RolType) => {\r\n if (rol === RolType.BudgethouderReadonly &&\r\n declaratie.statusWeergevenType === DeclaratieStatusWeergevenType.Concept) {\r\n return false\r\n }\r\n\r\n if (declaratie.declaratieType === DeclaratieType.Maandloon &&\r\n declaratie.maandloonDeclaratieStatus === MaandloonDeclaratieStatusType.Correctie) {\r\n return false\r\n }\r\n\r\n if (declaratie.status === DeclaratieStatusType.OntbrekendBudget) {\r\n // Alleen maandloon met OntbrekendBudget kan open.\r\n return declaratie.declaratieType === DeclaratieType.Maandloon\r\n }\r\n\r\n const declartieType = DeclaratieType[declaratie.declaratieType] as keyof typeof DeclaratieType\r\n return supportedOpenStatuses[declartieType].includes(declaratie.statusWeergevenType)\r\n }\r\n\r\n return {\r\n calculateSoortDeclaratie,\r\n calculateActie,\r\n }\r\n}\r\n","import { DeclaratieStatusType, DeclaratieStatusWeergevenType, DeclaratieType, Maand, MaandloonDeclaratieStatusType } from '@/_generated/portalClient'\r\nimport { useI18n, DateString } from 'phoenix'\r\n\r\nexport const useDataEnrichmentIngediendeDeclaratie = () => {\r\n const { t, d } = useI18n()\r\n\r\n type PeriodeParams = {\r\n declaratieType: DeclaratieType\r\n ingangsdatum: DateString | null\r\n einddatum: DateString\r\n maand: Maand\r\n jaar: number\r\n }\r\n\r\n const calculatePeriod = (declaratie: PeriodeParams) => {\r\n if (declaratie.declaratieType === DeclaratieType.Conversie) {\r\n return t('tableValues.periodeDates', { ingangsdatum: d(declaratie.ingangsdatum, 'short'), einddatum: d(declaratie.einddatum, 'short') })\r\n }\r\n return t('tableValues.periode', { maand: t(`maand.${declaratie.maand}`), jaar: declaratie.jaar })\r\n }\r\n\r\n type CombinedStatusParams = {\r\n statusWeergevenType: DeclaratieStatusWeergevenType\r\n declaratieType: DeclaratieType\r\n status: DeclaratieStatusType\r\n maandloonDeclaratieStatus?: MaandloonDeclaratieStatusType\r\n isGewijzigd?: boolean\r\n }\r\n\r\n const calculateCombinedStatus = (declaratie: CombinedStatusParams) => {\r\n let status = t(`statusWeergevenType.${declaratie.statusWeergevenType}`)\r\n if (declaratie.declaratieType === DeclaratieType.Maandloon &&\r\n (declaratie.maandloonDeclaratieStatus === MaandloonDeclaratieStatusType.Correctie ||\r\n declaratie.maandloonDeclaratieStatus === MaandloonDeclaratieStatusType.Gecorrigeerd)) {\r\n const maandloonDeclaratieStatusType = t(`maandloonDeclaratieStatusType.${declaratie.maandloonDeclaratieStatus}`)\r\n status = `${status} - ${maandloonDeclaratieStatusType}`\r\n }\r\n\r\n if (declaratie.status === DeclaratieStatusType.TerIntrekking ||\r\n declaratie.status === DeclaratieStatusType.Ingetrokken) {\r\n const declaratieStatusType = t(`declaratieStatusType.${declaratie.status}`)\r\n\r\n status = `${status} - ${declaratieStatusType}`\r\n } else if (declaratie.isGewijzigd) {\r\n const isGewijzigd = t('tableValues.isGewijzigd')\r\n\r\n status = `${status} - ${isGewijzigd}`\r\n }\r\n return status\r\n }\r\n\r\n return {\r\n calculatePeriod,\r\n calculateCombinedStatus,\r\n }\r\n}\r\n","import { PDataTableDataProps } from 'phoenix/types/library/PDataTable/types'\r\n\r\nexport const arrayToCsv = (data: string[][]) => {\r\n return data.map(row =>\r\n row\r\n .map(String)\r\n .map(v => v.replace(/\"/g, '\"\"'))\r\n .map(v => `\"${v}\"`)\r\n .join(',')\r\n ).join('\\r\\n')\r\n}\r\n\r\nexport const tableToCsv = (tableData: PDataTableDataProps) => {\r\n const headerValues = tableData.headers.map(a => a.value)\r\n const data = (tableData.items as [])\r\n const array = data.map((declaratie: T) =>\r\n Object.entries(declaratie)\r\n .filter(([key]) => headerValues.includes(key))\r\n .sort(([keyA], [keyB]) => headerValues.indexOf(keyA) - headerValues.indexOf(keyB))\r\n .map(([, value]) => typeof value !== 'object' ? String(value) : '')\r\n )\r\n const headerText = tableData.headers.map(a => a.text)\r\n return arrayToCsv([headerText].concat(array))\r\n}\r\n","export const downloadBlob = (content: string, filename: string, dateLocale: string) => {\r\n const blob = new Blob([content], { type: 'text/csv;charset=utf-8;' })\r\n const downloadElement = document.createElement('a')\r\n downloadElement.href = URL.createObjectURL(blob)\r\n downloadElement.setAttribute('download', `${filename} ${new Date().toLocaleString(dateLocale)}.csv`)\r\n downloadElement.click()\r\n}\r\n","import { useI18n } from 'phoenix'\r\nimport { PDataTableDataProps } from 'phoenix/types/library/PDataTable/types'\r\nimport { tableToCsv } from '@/utils/dataFormatters/csvFormatter'\r\nimport { downloadBlob } from '@/utils/downloader/downloader'\r\nimport { Ref } from '@vue/composition-api'\r\n\r\nexport default (tableData: Ref | null>) => {\r\n const { t } = useI18n()\r\n const toCsv = () => {\r\n if (tableData.value) {\r\n const csv = tableToCsv(tableData.value)\r\n downloadBlob(csv, t('csvDonwload.fileName'), t('csvDonwload.dateLocale'))\r\n }\r\n }\r\n\r\n return {\r\n toCsv,\r\n }\r\n}\r\n","import { useI18n } from 'phoenix'\r\nimport { PDataTableDataProps } from 'phoenix/src/library/PDataTable/types'\r\nimport { IPFilter, IPFiltersModel } from 'phoenix/types/library/PFilters/types'\r\nimport { PSelectItems } from 'phoenix/types/library/PSelect/types'\r\nimport { useTranslatedDataTableSorters } from '@/composables/useTranslatedDataTableSorters'\r\nimport { currentUserRepository } from '@/domains/account/dataAccess/CurrentUserRepository'\r\nimport { DeclaratieOverzichtEntryExtended } from '@/domains/declaraties/dataAccess/models/DeclaratieOverzichtEntryExtended'\r\nimport { sortDataTableOnMaandValue, sortDataTableWithEmptyOnTop } from '@/utils/sorters/dataTableSorters'\r\nimport { computed, ref, Ref } from '@vue/composition-api'\r\n\r\nexport default (tableData: Ref | null>) => {\r\n const { t } = useI18n()\r\n const { sortDataTableOnEnumTranslation } = useTranslatedDataTableSorters()\r\n const currentFilterState: Ref = ref({ filters: [], search: null })\r\n const filters = computed(() => {\r\n const declaraties = (tableData.value && tableData.value.items as DeclaratieOverzichtEntryExtended[]) || []\r\n return [\r\n getPeriodeFilter(declaraties),\r\n getTegenPartijFilter(declaraties),\r\n getDeclaratieTypeFilter(declaraties),\r\n getStatusFilter(declaraties),\r\n ]\r\n })\r\n\r\n const getPeriodeFilter = (declaraties: DeclaratieOverzichtEntryExtended[]): IPFilter => {\r\n const maand = 'maand'\r\n const periodeOptions = sortDataTableOnMaandValue(declaraties, [maand], [false])\r\n .map(d => ({ text: t(`${maand}.${d[maand]}`), value: d[maand] }))\r\n\r\n const currentFilter = currentFilterState.value.filters && currentFilterState.value.filters.find(a => a.id === maand)\r\n return {\r\n id: maand,\r\n defaultOption: t('defaultOptions.periode'),\r\n label: t('headers.periode'),\r\n options: filterDuplicatePSelectItems(periodeOptions),\r\n selected: currentFilter && currentFilter.selected,\r\n }\r\n }\r\n\r\n const getTegenPartijFilter = (declaraties: DeclaratieOverzichtEntryExtended[]): IPFilter => {\r\n const isZorgverlener = currentUserRepository().model.isZorgverlener\r\n const idTegenPartij = isZorgverlener ? 'naamBudgethouder' : 'naamBegunstigde'\r\n const defaultOptionTegenPartij = isZorgverlener ? t('defaultOptions.budgethouder') : t('defaultOptions.begunstigde')\r\n const labelTegenPartij = isZorgverlener ? t('headers.budgethouder') : t('headers.begunstigde')\r\n\r\n const optionsTegenPartij = sortDataTableWithEmptyOnTop(declaraties, [idTegenPartij], [false])\r\n .map(d => ({ text: d[idTegenPartij] || '' }))\r\n\r\n const currentFilter = currentFilterState.value.filters.find(a => a.id === idTegenPartij)\r\n return {\r\n id: idTegenPartij,\r\n defaultOption: defaultOptionTegenPartij,\r\n label: labelTegenPartij,\r\n options: filterDuplicatePSelectItems(optionsTegenPartij),\r\n selected: currentFilter && currentFilter.selected,\r\n }\r\n }\r\n\r\n const getDeclaratieTypeFilter = (declaraties: DeclaratieOverzichtEntryExtended[]): IPFilter => {\r\n const declaratieType = 'declaratieType'\r\n const declaratieTypeOptions = sortDataTableOnEnumTranslation(declaraties, [declaratieType], [false])\r\n .map(d => ({ text: t(`${declaratieType}.${d[declaratieType]}`), value: d[declaratieType] }))\r\n\r\n const currentFilter = currentFilterState.value.filters.find(a => a.id === declaratieType)\r\n return {\r\n id: declaratieType,\r\n defaultOption: t(`defaultOptions.${declaratieType}`),\r\n label: t(`headers.${declaratieType}`),\r\n options: filterDuplicatePSelectItems(declaratieTypeOptions),\r\n selected: currentFilter && currentFilter.selected,\r\n }\r\n }\r\n\r\n const getStatusFilter = (declaraties: DeclaratieOverzichtEntryExtended[]): IPFilter => {\r\n const statusWeergevenType = 'statusWeergevenType'\r\n const statusOptions = sortDataTableOnEnumTranslation(declaraties, [statusWeergevenType], [false])\r\n .map(d => ({ text: t(`${statusWeergevenType}.${d[statusWeergevenType]}`), value: d[statusWeergevenType] }))\r\n\r\n const currentFilter = currentFilterState.value.filters.find(a => a.id === statusWeergevenType)\r\n return {\r\n id: statusWeergevenType,\r\n defaultOption: t(`defaultOptions.${statusWeergevenType}`),\r\n label: t(`headers.${statusWeergevenType}`),\r\n options: filterDuplicatePSelectItems(statusOptions),\r\n selected: currentFilter && currentFilter.selected,\r\n }\r\n }\r\n\r\n return {\r\n filters,\r\n currentFilterState,\r\n }\r\n}\r\n\r\nconst filterDuplicatePSelectItems = (items: PSelectItems) => {\r\n const seen = new Set()\r\n return items.filter(el => {\r\n const duplicate = seen.has(el.text)\r\n seen.add(el.text)\r\n return !duplicate\r\n })\r\n}\r\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p-info',{attrs:{\"title\":_vm.$t('statusInfo.title'),\"data-ui\":\"status-info-knop\",\"linked-label-text\":_vm.$t('statusInfo.linkedLabelText'),\"wide\":\"\"}},[_c('dl',{staticClass:\"info-list\"},[_c('dt',{attrs:{\"data-ui\":\"status-info-concept-heading\"}},[_vm._v(\" \"+_vm._s(_vm.$t((\"statusWeergevenType.\" + (_vm.DeclaratieStatusWeergevenType.Concept))))+\" \")]),_c('dd',{attrs:{\"data-ui\":\"status-info-concept-body\"}},[_vm._v(\" \"+_vm._s(_vm.$t('statusInfo.concept.body'))+\" \")]),_c('dt',{attrs:{\"data-ui\":\"status-info-ingepland-heading\"}},[_vm._v(\" \"+_vm._s(_vm.$t((\"statusWeergevenType.\" + (_vm.DeclaratieStatusWeergevenType.Ingepland))))+\" \")]),_c('dd',{attrs:{\"data-ui\":\"status-info-ingepland-body\"}},[_vm._v(\" \"+_vm._s(_vm.$t('statusInfo.ingepland.body'))+\" \")]),_c('dt',{attrs:{\"data-ui\":\"status-info-uitbetaald-heading\"}},[_vm._v(\" \"+_vm._s(_vm.$t((\"statusWeergevenType.\" + (_vm.DeclaratieStatusWeergevenType.Uitbetaald))))+\" \")]),_c('dd',{attrs:{\"data-ui\":\"status-info-uitbetaald-body\"}},[_vm._v(\" \"+_vm._s(_vm.$t('statusInfo.uitbetaald.body'))+\" \")]),_c('dt',{attrs:{\"data-ui\":\"status-info-terGoedkeuring-heading\"}},[_vm._v(\" \"+_vm._s(_vm.$t((\"statusWeergevenType.\" + (_vm.DeclaratieStatusWeergevenType.TerGoedkeuring))))+\" \")]),_c('dd',{attrs:{\"data-ui\":\"status-info-terGoedkeuring-body\"}},[_vm._v(\" \"+_vm._s(_vm.$t('statusInfo.terGoedkeuring.body'))+\" \")]),_c('dt',{attrs:{\"data-ui\":\"status-info-terBeoordeling-heading\"}},[_vm._v(\" \"+_vm._s(_vm.$t((\"statusWeergevenType.\" + (_vm.DeclaratieStatusWeergevenType.TerBeoordeling))))+\" \")]),_c('dd',{attrs:{\"data-ui\":\"status-info-terBeoordeling-body\"}},[_vm._v(\" \"+_vm._s(_vm.$t('statusInfo.terBeoordeling.body'))+\" \")]),_c('dt',{attrs:{\"data-ui\":\"status-info-afgekeurd-heading\"}},[_vm._v(\" \"+_vm._s(_vm.$t((\"statusWeergevenType.\" + (_vm.DeclaratieStatusWeergevenType.Afgekeurd))))+\" \")]),_c('dd',{attrs:{\"data-ui\":\"status-info-afgekeurd-body\"}},[_vm._v(\" \"+_vm._s(_vm.$t('statusInfo.afgekeurd.body'))+\" \")]),_c('dt',{attrs:{\"data-ui\":\"status-info-terBeoordelingBijBudgethouder-heading\"}},[_vm._v(\" \"+_vm._s(_vm.$t((\"statusWeergevenType.\" + (_vm.DeclaratieStatusWeergevenType.TerBeoordelingBijBudgethouder))))+\" \")]),_c('dd',{attrs:{\"data-ui\":\"status-info-terBeoordelingBijBudgethouder-body\"}},[_vm._v(\" \"+_vm._s(_vm.$t('statusInfo.terBeoordelingBijBudgethouder.body'))+\" \")]),_c('dt',{attrs:{\"data-ui\":\"status-info-teruggestuurdDoorBudgethouder-heading\"}},[_vm._v(\" \"+_vm._s(_vm.$t((\"statusWeergevenType.\" + (_vm.DeclaratieStatusWeergevenType.TeruggestuurdDoorBudgethouder))))+\" \")]),_c('dd',{attrs:{\"data-ui\":\"status-info-teruggestuurdDoorBudgethouder-body\"}},[_vm._v(\" \"+_vm._s(_vm.$t('statusInfo.teruggestuurdDoorBudgethouder.body'))+\" \")]),_c('dt',{attrs:{\"data-ui\":\"status-info-idealInBehandeling-heading\"}},[_vm._v(\" \"+_vm._s(_vm.$t((\"statusWeergevenType.\" + (_vm.DeclaratieStatusWeergevenType.IdealInBehandeling))))+\" \")]),_c('dd',{attrs:{\"data-ui\":\"status-info-idealInBehandeling-body\"}},[_vm._v(\" \"+_vm._s(_vm.$t('statusInfo.idealInBehandeling.body'))+\" \")]),_c('dt',{attrs:{\"data-ui\":\"status-info-mislukt-heading\"}},[_vm._v(\" \"+_vm._s(_vm.$t((\"statusWeergevenType.\" + (_vm.DeclaratieStatusWeergevenType.Mislukt))))+\" \")]),_c('dd',{attrs:{\"data-ui\":\"status-info-mislukt-body\"}},[_vm._v(\" \"+_vm._s(_vm.$t('statusInfo.mislukt.body'))+\" \")]),_c('dt',{attrs:{\"data-ui\":\"status-info-buitenBehandeling-heading\"}},[_vm._v(\" \"+_vm._s(_vm.$t((\"statusWeergevenType.\" + (_vm.DeclaratieStatusWeergevenType.BuitenBehandeling))))+\" \")]),_c('dd',{attrs:{\"data-ui\":\"status-info-buitenBehandeling-body\"}},[_vm._v(\" \"+_vm._s(_vm.$t('statusInfo.buitenBehandeling.body'))+\" \")]),_c('dt',{attrs:{\"data-ui\":\"status-info-teVerrekenenVorderen-heading\"}},[_vm._v(\" \"+_vm._s(_vm.$t((\"statusWeergevenType.\" + (_vm.DeclaratieStatusWeergevenType.TeVerrekenenVorderen))))+\" \")]),_c('dd',{attrs:{\"data-ui\":\"status-info-teVerrekenenVorderen-body\"}},[_vm._v(\" \"+_vm._s(_vm.$t('statusInfo.teVerrekenenVorderen.body'))+\" \")]),_c('dt',{attrs:{\"data-ui\":\"status-info-verrekendBetaald-heading\"}},[_vm._v(\" \"+_vm._s(_vm.$t((\"statusWeergevenType.\" + (_vm.DeclaratieStatusWeergevenType.VerrekendBetaald))))+\" \")]),_c('dd',{attrs:{\"data-ui\":\"status-info-verrekendBetaald-body\"}},[_vm._v(\" \"+_vm._s(_vm.$t('statusInfo.verrekendBetaald.body'))+\" \")]),_c('dt',{attrs:{\"data-ui\":\"status-info-terIntrekking-heading\"}},[_vm._v(\" \"+_vm._s(_vm.$t(\"statusInfo.terIntrekking.heading\"))+\" \")]),_c('dd',{attrs:{\"data-ui\":\"status-info-terIntrekking-body\"}},[_vm._v(\" \"+_vm._s(_vm.$t('statusInfo.terIntrekking.body'))+\" \")]),_c('dt',{attrs:{\"data-ui\":\"status-info-ingetrokken-heading\"}},[_vm._v(\" \"+_vm._s(_vm.$t(\"statusInfo.ingetrokken.heading\"))+\" \")]),_c('dd',{attrs:{\"data-ui\":\"status-info-ingetrokken-body\"}},[_vm._v(\" \"+_vm._s(_vm.$t('statusInfo.ingetrokken.body'))+\" \")]),_c('dt',{attrs:{\"data-ui\":\"status-info-gecorrigeerd-heading\"}},[_vm._v(\" \"+_vm._s(_vm.$t(\"statusInfo.gecorrigeerd.heading\"))+\" \")]),_c('dd',{attrs:{\"data-ui\":\"status-info-gecorrigeerd-body\"}},[_vm._v(\" \"+_vm._s(_vm.$t('statusInfo.gecorrigeerd.body'))+\" \")]),_c('dt',{attrs:{\"data-ui\":\"status-info-correctie-heading\"}},[_vm._v(\" \"+_vm._s(_vm.$t(\"statusInfo.correctie.heading\"))+\" \")]),_c('dd',{attrs:{\"data-ui\":\"status-info-correctie-body\"}},[_vm._v(\" \"+_vm._s(_vm.$t('statusInfo.correctie.body'))+\" \")]),_c('dt',{attrs:{\"data-ui\":\"status-info-gewijzigd-heading\"}},[_vm._v(\" \"+_vm._s(_vm.$t(\"statusInfo.gewijzigd.heading\"))+\" \")]),_c('dd',{attrs:{\"data-ui\":\"status-info-gewijzigd-body\"}},[_vm._v(\" \"+_vm._s(_vm.$t('statusInfo.gewijzigd.body'))+\" \")]),_c('dt',{attrs:{\"data-ui\":\"status-info-opgeschort-heading\"}},[_vm._v(\" \"+_vm._s(_vm.$t(\"statusInfo.opgeschort.heading\"))+\" \")]),_c('dd',{attrs:{\"data-ui\":\"status-info-opgeschort-body\"}},[_vm._v(\" \"+_vm._s(_vm.$t('statusInfo.opgeschort.body'))+\" \")]),_c('dt',{attrs:{\"data-ui\":\"status-info-opgeschortAfgewezen-heading\"}},[_vm._v(\" \"+_vm._s(_vm.$t(\"statusInfo.opgeschortAfgewezen.heading\"))+\" \")]),_c('dd',{attrs:{\"data-ui\":\"status-info-opgeschortAfgewezen-body\"}},[_vm._v(\" \"+_vm._s(_vm.$t('statusInfo.opgeschortAfgewezen.body'))+\" \")])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { mergeI18nDeep } from '@/utils/i18nUtils'\r\nimport declaratiesOverzichtI18n from '../i18n'\r\n\r\nconst i18n = {\r\n messages: {\r\n nl: {\r\n deleteDelcaratieConfirmation: {\r\n title: 'Verwijderen concept declaratie',\r\n content: 'Weet u zeker dat u deze declaratie wilt verwijderen?',\r\n buttons: {\r\n cancel: 'Annuleren',\r\n yesRemove: 'Ja, verwijderen',\r\n },\r\n },\r\n periodeInfo: {\r\n title: 'Uitleg bij periode declaraties',\r\n linkedLabelText: 'periode',\r\n maand: {\r\n heading: 'Maand',\r\n body: 'Bij het indienen van een declaratie wordt aangegeven over welke maand deze declaratie gaat. Deze maand wordt hier getoond.',\r\n },\r\n conversie: {\r\n heading: 'Declaratie type ‘conversie van PGB1.0‘',\r\n body: 'Het periode veld toont de start en eind datum van de geconverteerde declaraties. ' +\r\n 'Dit houdt in dat het totaal bedrag wordt getoond van alle declaraties welke in deze periode hebben plaats gevonden.',\r\n },\r\n },\r\n statusInfo: {\r\n title: 'Uitleg bij status declaraties',\r\n linkedLabelText: 'status',\r\n concept: {\r\n body: 'Deze declaratie is als concept opgeslagen door de budgethouder. De declaratie is nog niet ingediend en daarom alleen te zien door de budgethouder.',\r\n },\r\n ingepland: {\r\n body: 'De declaratie is verstuurd naar de SVB en wordt tijdens de volgende betalingsronde uitbetaald. Uitbetaling kan dus enkele dagen duren.',\r\n },\r\n uitbetaald: {\r\n body: 'De ingediende declaratie is uitbetaald door de SVB.',\r\n },\r\n terGoedkeuring: {\r\n body: 'De SVB moet de declaratie nog goedkeuren.',\r\n },\r\n terBeoordeling: {\r\n body: 'De declaratie dient beoordeeld te worden door de SVB.',\r\n },\r\n afgekeurd: {\r\n body: 'De declaratie is afgekeurd en hierdoor niet uitbetaald.',\r\n },\r\n terBeoordelingBijBudgethouder: {\r\n body: 'De zorgverlener heeft een declaratie ingevuld. Keurt de budgethouder of vertegenwoordiger de declaratie goed? Dan wordt de declaratie ingepland voor uitbetaling.',\r\n },\r\n teruggestuurdDoorBudgethouder: {\r\n body: 'De door de zorgverlener ingevulde declaratie is niet goedgekeurd door de budgethouder of vertegenwoordiger. ' +\r\n 'De zorgverlener moet de terugontvangen declaratie aanpassen en opnieuw delen met de budgethouder of vertegenwoordiger.',\r\n },\r\n idealInBehandeling: {\r\n body: 'Er is een iDEAL betaling gedaan tijdens het indienen van de declaratie. Deze betaling is nog in behandeling.',\r\n },\r\n mislukt: {\r\n body: 'Er is een fout opgetreden bij het indienen van de declaratie, bijvoorbeeld door het mislukken van een iDEAL betaling. Hierdoor is de declaratie mislukt.',\r\n },\r\n buitenBehandeling: {\r\n body: 'Deze declaratie is niet compleet en niet binnen de AWB-termijn aangevuld met de ontbrekende informatie. ' +\r\n 'Hierdoor kan de beslissing om uit te betalen niet worden gemaakt. De declaratie wordt niet behandeld. (AWB = Algemene Wet Bestuursrecht)',\r\n },\r\n teVerrekenenVorderen: {\r\n body: 'De budgethouder heeft een declaratie ingetrokken die al ingediend is. ' +\r\n 'Het hierdoor openstaand bedrag wordt gebruikt om toekomstige declaraties mee te verrekenen. ' +\r\n 'Als het niet mogelijk is om te verrekenen, dan wordt het bedrag teruggevorderd.',\r\n },\r\n verrekendBetaald: {\r\n body: 'Deze declaratie is (deels) verrekend met een declaratie die na betaling is ingetrokken of gewijzigd. ' +\r\n 'Was de ingediende declaratie hoger dan het te verrekenen bedrag? Dan wordt het restbedrag uitbetaald.',\r\n },\r\n terIntrekking: {\r\n heading: 'Intrekking ter goedkeuring',\r\n body: 'De budgethouder heeft een declaratie ingetrokken die al ingediend is. Deze intrekking wacht op goedkeuring van de SVB.',\r\n },\r\n ingetrokken: {\r\n heading: 'Ingetrokken',\r\n body: 'De budgethouder heeft een declaratie ingetrokken. De intrekking is goedgekeurd door de SVB.',\r\n },\r\n gecorrigeerd: {\r\n heading: 'Gecorrigeerd',\r\n body: 'Het maandloon is gecorrigeerd.',\r\n },\r\n correctie: {\r\n heading: 'Correctie',\r\n body: 'Het maandloon is herberekend vanwege afwezigheid van de zorgverlener in de betreffende periode.',\r\n },\r\n gewijzigd: {\r\n heading: 'Gewijzigd',\r\n body: 'De declaratie is door de budgethouder of vertegenwoordiger gewijzigd.',\r\n },\r\n opgeschort: {\r\n heading: 'Opgeschort',\r\n body: 'De declaratie kan op dit moment niet door de SVB uitbetaald worden. De declaratie wordt later beoordeeld.',\r\n },\r\n opgeschortAfgewezen: {\r\n heading: 'Opgeschort - Afgewezen',\r\n body: 'De opgeschorte declaratie is beoordeeld en kan niet uitbetaald worden.',\r\n },\r\n },\r\n },\r\n },\r\n}\r\n\r\nmergeI18nDeep(i18n, declaratiesOverzichtI18n)\r\n\r\nexport default i18n\r\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport i18n from './i18n'\r\nimport { defineComponent } from '@vue/composition-api'\r\nimport { DeclaratieStatusType, DeclaratieStatusWeergevenType, MaandloonDeclaratieStatusType } from '@/_generated/portalClient'\r\n\r\nexport default defineComponent({\r\n name: 'StatusInfoDeclaratiesOverzicht',\r\n i18n,\r\n setup () {\r\n return {\r\n DeclaratieStatusWeergevenType,\r\n DeclaratieStatusType,\r\n MaandloonDeclaratieStatusType,\r\n }\r\n },\r\n})\r\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./StatusInfoDeclaratiesOverzicht.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./StatusInfoDeclaratiesOverzicht.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./StatusInfoDeclaratiesOverzicht.vue?vue&type=template&id=90df747e\"\nimport script from \"./StatusInfoDeclaratiesOverzicht.vue?vue&type=script&lang=ts\"\nexport * from \"./StatusInfoDeclaratiesOverzicht.vue?vue&type=script&lang=ts\"\nimport style0 from \"./StatusInfoDeclaratiesOverzicht.vue?vue&type=style&index=0&id=90df747e&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p-info',{attrs:{\"title\":_vm.$t('periodeInfo.title'),\"data-ui\":\"periode-info-knop\",\"linked-label-text\":_vm.$t('periodeInfo.linkedLabelText'),\"wide\":\"\"}},[_c('dl',{staticClass:\"info-list\"},[_c('dt',{attrs:{\"data-ui\":\"periode-info-maand-heading\"}},[_vm._v(\" \"+_vm._s(_vm.$t('periodeInfo.maand.heading'))+\" \")]),_c('dd',{attrs:{\"data-ui\":\"periode-info-maand-body\"}},[_vm._v(\" \"+_vm._s(_vm.$t('periodeInfo.maand.body'))+\" \")]),_c('dt',{attrs:{\"data-ui\":\"periode-info-conversie-heading\"}},[_vm._v(\" \"+_vm._s(_vm.$t('periodeInfo.conversie.heading'))+\" \")]),_c('dd',{attrs:{\"data-ui\":\"periode-info-conversie-body\"}},[_vm._v(\" \"+_vm._s(_vm.$t('periodeInfo.conversie.body'))+\" \")])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport i18n from './i18n'\r\nimport { defineComponent } from '@vue/composition-api'\r\n\r\nexport default defineComponent({\r\n name: 'PeriodeInfoDeclaratiesOverzicht',\r\n i18n,\r\n})\r\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PeriodeInfoDeclaratiesOverzicht.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PeriodeInfoDeclaratiesOverzicht.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./PeriodeInfoDeclaratiesOverzicht.vue?vue&type=template&id=d8a19eb2\"\nimport script from \"./PeriodeInfoDeclaratiesOverzicht.vue?vue&type=script&lang=ts\"\nexport * from \"./PeriodeInfoDeclaratiesOverzicht.vue?vue&type=script&lang=ts\"\nimport style0 from \"./PeriodeInfoDeclaratiesOverzicht.vue?vue&type=style&index=0&id=d8a19eb2&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p-dialog',{attrs:{\"value\":_vm.show,\"title\":_vm.$t('deleteDelcaratieConfirmation.title'),\"data-ui\":\"delete-declaratie-concept-dialog\"},scopedSlots:_vm._u([{key:\"actions\",fn:function(){return [_c('p-button-container',{staticClass:\"flex-column flex-sm-row justify-space-between\"},[_c('p-button',{attrs:{\"data-ui\":\"cancel-delete-declaratie\",\"preset\":\"outlined\"},on:{\"click\":_vm.onCancelDeleteHandler}},[_vm._v(\" \"+_vm._s(_vm.$t('deleteDelcaratieConfirmation.buttons.cancel'))+\" \")]),_c('p-button',{attrs:{\"data-ui\":\"confirm-delete-declaratie\",\"preset\":\"filled\",\"loading\":_vm.isBusy},on:{\"click\":_vm.onConfirmDeleteHandler}},[_vm._v(\" \"+_vm._s(_vm.$t('deleteDelcaratieConfirmation.buttons.yesRemove'))+\" \")])],1)]},proxy:true}])},[_c('p-alert',{attrs:{\"type\":\"warning\",\"value\":true}},[_c('p',[_vm._v(_vm._s(_vm.$t('deleteDelcaratieConfirmation.content')))])])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport i18n from './i18n'\r\nimport { defineComponent } from '@vue/composition-api'\r\n\r\nexport default defineComponent({\r\n name: 'DeleteDeclaratieConfirmation',\r\n i18n,\r\n props: {\r\n show: { type: Boolean, required: true, default: false },\r\n isBusy: { type: Boolean, required: true, default: false },\r\n },\r\n\r\n setup (props, { emit }) {\r\n const onCancelDeleteHandler = () => {\r\n if (!props.isBusy) {\r\n emit('cancelDelete')\r\n }\r\n }\r\n\r\n const onConfirmDeleteHandler = () => emit('confirmDelete')\r\n\r\n return {\r\n onCancelDeleteHandler,\r\n onConfirmDeleteHandler,\r\n }\r\n },\r\n})\r\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DeleteDeclaratieConfirmation.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DeleteDeclaratieConfirmation.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./DeleteDeclaratieConfirmation.vue?vue&type=template&id=d7051a2a\"\nimport script from \"./DeleteDeclaratieConfirmation.vue?vue&type=script&lang=ts\"\nexport * from \"./DeleteDeclaratieConfirmation.vue?vue&type=script&lang=ts\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p-button-container',[(!!_vm.actie.openRoute)?_c('p-data-table-button',{attrs:{\"data-ui\":\"button-to-declaratie\",\"to\":_vm.actie.openRoute,\"aria-label\":_vm.actie.ariaLabelOpen}},[_vm._v(\" \"+_vm._s(_vm.$t('buttons.view'))+\" \")]):_vm._e(),(!!_vm.actie.deleteConceptUid)?_c('p-data-table-button',{key:\"declaratieOverzichtButtonVerwijderen\",attrs:{\"preset\":\"delete\",\"data-ui\":\"button-delete-declaratie-concept\",\"aria-label\":_vm.actie.ariaLabelDelete},on:{\"click\":function($event){$event.stopPropagation();return _vm.onDeleteHandler.apply(null, arguments)}}}):_vm._e(),(!_vm.actie.openRoute && !_vm.actie.deleteConceptUid)?_c('div',{attrs:{\"data-ui\":\"declaratie-overzicht-no-action\"}},[_c('span',{staticClass:\"sr-only\"},[_vm._v(_vm._s(_vm.$t(\"label.noAction\")))]),_c('span',{attrs:{\"aria-hidden\":\"true\"}},[_vm._v(_vm._s('-'))])]):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport i18n from './i18n'\r\nimport { defineComponent } from '@vue/composition-api'\r\nimport { DeclaratieActieType } from '@/domains/declaraties/dataAccess/models/DeclaratieOverzichtEntryExtended'\r\n\r\nexport default defineComponent({\r\n name: 'TableActions',\r\n props: {\r\n actie: { type: Object as () => DeclaratieActieType, required: true },\r\n },\r\n i18n,\r\n setup (props, { emit }) {\r\n const onDeleteHandler = () => {\r\n emit('deleteConceptUid', props.actie.deleteConceptUid)\r\n }\r\n\r\n return {\r\n onDeleteHandler,\r\n }\r\n },\r\n\r\n})\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TableActions.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TableActions.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./TableActions.vue?vue&type=template&id=282618ba\"\nimport script from \"./TableActions.vue?vue&type=script&lang=ts\"\nexport * from \"./TableActions.vue?vue&type=script&lang=ts\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport i18n from './i18n'\r\nimport { defineComponent, Ref, ref, onMounted } from '@vue/composition-api'\r\nimport { PDataTable, useBreakpoints, useI18n } from 'phoenix'\r\nimport { IPgbUrlItem } from 'phoenix/types/library/types'\r\nimport { declaratieOverzichtService } from '@/domains/declaraties/dataAccess/DeclaratieOverzichtService'\r\nimport useTableHeaders from './composables/useTableHeaders'\r\nimport { getDeclaratieHelpPanelItems } from './declaratiesOverzichtHelpPanel'\r\nimport { currentUserRepository } from '@/domains/account/dataAccess/CurrentUserRepository'\r\nimport { CurrentUserExtended } from '@/domains/account/dataAccess/models/CurrentUserExtended'\r\nimport useDeclaratieOverzichtDataEnrichment from './composables/useDataEnrichmentDeclaratieOverzicht'\r\nimport { useDataEnrichmentIngediendeDeclaratie } from '../useDataEnrichmentIngediendeDeclaratie'\r\nimport { goTo } from '@/router/routeHelper'\r\nimport { PDataTableDataProps } from 'phoenix/types/library/PDataTable/types'\r\nimport { DeclaratieOverzichtEntryExtended } from '@/domains/declaraties/dataAccess/models/DeclaratieOverzichtEntryExtended'\r\nimport useDownloadCsv from './composables/useDownloadTableDataCsv'\r\nimport useFiltersDeclaratieOverzicht from './composables/useFiltersDeclaratieOverzicht'\r\nimport StatusInfoDeclaratiesOverzicht from './modals/StatusInfoDeclaratiesOverzicht.vue'\r\nimport PeriodeInfoDeclaratiesOverzicht from './modals/PeriodeInfoDeclaratiesOverzicht.vue'\r\nimport DeleteDeclaratieConfirmation from './modals/DeleteDeclaratieConfirmation.vue'\r\nimport { declaratieConceptClient } from '@/dataAccess/clients'\r\nimport TableActions from './TableActions.vue'\r\nimport { IPFiltersModel } from 'phoenix/types/library/PFilters/types'\r\n\r\nexport default defineComponent({\r\n name: 'DeclaratiesOverzicht',\r\n i18n,\r\n components: {\r\n StatusInfoDeclaratiesOverzicht,\r\n PeriodeInfoDeclaratiesOverzicht,\r\n DeleteDeclaratieConfirmation,\r\n TableActions,\r\n },\r\n setup () {\r\n const { t } = useI18n()\r\n const user = ref({})\r\n const headers = useTableHeaders()\r\n const isDoneLoadingDeclaraties: Ref = ref(false)\r\n const isReadyToSelectYear: Ref = ref(false)\r\n const yearOptions: Ref<{ value: number; text: string; }[]> = ref([])\r\n const selectedYear: Ref = ref(null)\r\n const helpPanelItems: Ref = ref([])\r\n const tableData = ref>({ headers, items: [] })\r\n const isBusy = ref(false)\r\n const conceptUidToDelete: Ref = ref(null)\r\n\r\n const service = declaratieOverzichtService()\r\n const { isMobileView } = useBreakpoints()\r\n const { filters, currentFilterState } = useFiltersDeclaratieOverzicht(tableData)\r\n const { calculateSoortDeclaratie, calculateActie } = useDeclaratieOverzichtDataEnrichment()\r\n const { calculatePeriod, calculateCombinedStatus } = useDataEnrichmentIngediendeDeclaratie()\r\n const { toCsv } = useDownloadCsv(tableData)\r\n\r\n const declaratiesTable = ref | null>(null)\r\n\r\n const loadTableData = async (newYear: number) => {\r\n isDoneLoadingDeclaraties.value = false\r\n\r\n const declaraties = await service.getDeclaraties(newYear)\r\n\r\n tableData.value.items = declaraties.map((dec) => ({\r\n ...dec,\r\n periode: calculatePeriod(dec),\r\n combinedStatus: calculateCombinedStatus(dec),\r\n soortDeclaratie: calculateSoortDeclaratie(dec, declaraties),\r\n actie: calculateActie(dec, user.value.rol),\r\n }))\r\n\r\n isDoneLoadingDeclaraties.value = true\r\n }\r\n\r\n const onCancelDeleteHandler = () => {\r\n conceptUidToDelete.value = null\r\n }\r\n const onConfirmDeleteHandler = async () => {\r\n if (!conceptUidToDelete.value) {\r\n throw new RangeError('Invalid state, deleting an empty declaratie concept uid is impossible.')\r\n }\r\n\r\n isBusy.value = true\r\n return declaratieConceptClient().deleteDeclaratieConcept({\r\n conceptUid: conceptUidToDelete.value,\r\n rowVersion: null,\r\n }).then(() => {\r\n if (tableData.value) {\r\n tableData.value.items = (tableData.value.items as DeclaratieOverzichtEntryExtended[]).filter(a => a.conceptId !== conceptUidToDelete.value)\r\n conceptUidToDelete.value = null\r\n isBusy.value = false\r\n\r\n requestAnimationFrame(() => {\r\n const declaratiesTableDomElement = declaratiesTable.value?.$el\r\n declaratiesTableDomElement && (declaratiesTableDomElement.querySelector('.p-data-table-desktop__row--event') as HTMLElement ||\r\n declaratiesTableDomElement.querySelector('.p-search input') as HTMLElement || declaratiesTableDomElement).focus()\r\n })\r\n }\r\n })\r\n }\r\n\r\n const onDeleteHandler = (uid: string) => {\r\n conceptUidToDelete.value = uid\r\n }\r\n\r\n const onYearChangeHandler = (year: number) => {\r\n loadTableData(year)\r\n }\r\n\r\n const onFiltersStateChangeHandler = (state: IPFiltersModel) => {\r\n currentFilterState.value = state\r\n }\r\n\r\n onMounted(async () => {\r\n const mapYearsToDescendingOptions = (yearsToMap: number[]) => {\r\n return [...yearsToMap]\r\n .sort((a, b) => (b - a))\r\n .map(y => ({ value: y, text: y.toString() }))\r\n }\r\n\r\n const userPromise = currentUserRepository().awaitModel()\r\n const servicePromise = service.ready()\r\n const data = await Promise.all([userPromise, servicePromise])\r\n const [userData] = data\r\n user.value = userData\r\n\r\n helpPanelItems.value = getDeclaratieHelpPanelItems(user.value.isZorgverlener, t)\r\n\r\n const years = await service.getDeclaratieYears()\r\n\r\n yearOptions.value = mapYearsToDescendingOptions(years)\r\n\r\n isReadyToSelectYear.value = true\r\n\r\n if (yearOptions.value.length === 1) {\r\n selectedYear.value = yearOptions.value[0].value\r\n await loadTableData(selectedYear.value)\r\n }\r\n })\r\n\r\n return {\r\n declaratiesTable,\r\n isReadyToSelectYear,\r\n isDoneLoadingDeclaraties,\r\n tableData,\r\n yearOptions,\r\n selectedYear,\r\n isMobileView,\r\n helpPanelItems,\r\n filters,\r\n conceptUidToDelete,\r\n isBusy,\r\n user,\r\n loadTableData,\r\n goTo,\r\n toCsv,\r\n onCancelDeleteHandler,\r\n onConfirmDeleteHandler,\r\n onDeleteHandler,\r\n onYearChangeHandler,\r\n onFiltersStateChangeHandler,\r\n }\r\n },\r\n})\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DeclaratiesOverzicht.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DeclaratiesOverzicht.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./DeclaratiesOverzicht.vue?vue&type=template&id=39f152ae&scoped=true\"\nimport script from \"./DeclaratiesOverzicht.vue?vue&type=script&lang=ts\"\nexport * from \"./DeclaratiesOverzicht.vue?vue&type=script&lang=ts\"\nimport style0 from \"./DeclaratiesOverzicht.vue?vue&type=style&index=0&id=39f152ae&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"39f152ae\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('weergeven-declaratie',{attrs:{\"kassabon\":_vm.kassabon,\"is-loading\":!_vm.isReady}},[_c('p-card',{staticClass:\"mt-3 mb-6\",attrs:{\"title\":_vm.$t('cardTitles.declaratie'),\"heading-level\":\"3\",\"data-ui\":\"declaratie-card\"}},[_c('p-value-grid',[_c('p-value-row',{attrs:{\"label\":_vm.$t('labels.indiendatum'),\"data-ui\":\"indiendatum-weergeven\"}},[_vm._v(\" \"+_vm._s(_vm.$d(_vm.declaratie.indiendatum, \"long\"))+\" \")]),_c('p-value-row',{attrs:{\"label\":_vm.$t('labels.gedeclareerdBedrag', {\n wetType: _vm.$t((\"wetType.\" + (_vm.declaratie.wet))),\n }),\"data-ui\":\"gedeclareerd-bedrag-wet-weergeven\"}},[_vm._v(\" \"+_vm._s(_vm.$n(_vm.declaratie.bedrag, \"currency\"))+\" \")]),_c('p-value-row',{attrs:{\"label\":_vm.$t('labels.budgethouder'),\"data-ui\":\"naam-budgethouder-weergeven\"}},[_vm._v(\" \"+_vm._s(_vm.declaratie.naamBudgethouder)+\" \")]),_c('p-value-row',{attrs:{\"label\":_vm.$t('labels.declaratienummer'),\"data-ui\":\"declaratienummer-weergeven\"}},[_vm._v(\" \"+_vm._s(_vm.declaratie.declaratienummer)+\" \")]),_c('p-value-row',{attrs:{\"label\":_vm.$t('labels.status'),\"data-ui\":\"combined-status-weergeven\"}},[_vm._v(\" \"+_vm._s(_vm.declaratie.combinedStatus)+\" \")]),(_vm.translatedAfkeurReden.length > 0 || _vm.declaratie.redenAfkeuringOverige)?_c('p-value-row',{attrs:{\"label\":_vm.$t('labels.redenAfgekeurd'),\"data-ui\":\"reden-afgekeurd\"}},[(_vm.translatedAfkeurReden.length > 1 || (_vm.translatedAfkeurReden.length === 1 && _vm.declaratie.redenAfkeuringOverige))?_c('ul',{attrs:{\"aria-label\":_vm.$t('labels.redenAfgekeurdListA11y')}},[_vm._l((_vm.translatedAfkeurReden),function(item){return _c('li',{key:(\"reden-afgekeurd-list-item-\" + (item.id)),domProps:{\"textContent\":_vm._s(item.text)}})}),(_vm.declaratie.redenAfkeuringOverige)?_c('li',{key:\"reden-afgekeurd-list-item-36\",domProps:{\"textContent\":_vm._s(_vm.declaratie.redenAfkeuringOverige)}}):_vm._e()],2):(_vm.translatedAfkeurReden.length === 1 && !_vm.declaratie.redenAfkeuringOverige)?_c('span',{staticClass:\"pre-wrap\",domProps:{\"textContent\":_vm._s(_vm.translatedAfkeurReden[0].text)}}):(_vm.declaratie.redenAfkeuringOverige)?_c('span',{staticClass:\"pre-wrap\",domProps:{\"textContent\":_vm._s(_vm.declaratie.redenAfkeuringOverige)}}):_vm._e()]):_vm._e()],1)],1),_c('p-card',{staticClass:\"mt-3 mb-6\",attrs:{\"title\":_vm.$t('cardTitles.begunstigde'),\"heading-level\":\"3\",\"data-ui\":\"begunstigde-card\"}},[(_vm.declaratie.naamBegunstigde)?_c('p-value-grid',[_c('p-value-row',{attrs:{\"label\":_vm.$t('labels.naamOntvanger'),\"data-ui\":\"naam-ontvanger-weergeven\"}},[_vm._v(\" \"+_vm._s(_vm.declaratie.naamBegunstigde)+\" \")])],1):_vm._e(),_c('bankrekening-weergeven',{attrs:{\"model\":_vm.declaratie.bankrekening}})],1),(!!_vm.declaratie.overigeDocumenten && _vm.declaratie.overigeDocumenten.length > 0)?_c('scanned-documents-card',{attrs:{\"document-list\":_vm.declaratie.overigeDocumenten}}):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('p-value-grid',[(_vm.model.iban)?_c('p-value-row',{attrs:{\"label\":_vm.$t('labels.iban'),\"data-ui\":\"iban-weergeven\"}},[_vm._v(\" \"+_vm._s(_vm.model.iban)+\" \")]):_vm._e(),(_vm.model.rekeningnummer)?_c('p-value-row',{attrs:{\"label\":_vm.$t('labels.rekeningnummer'),\"data-ui\":\"rekeningnummer-weergeven\"}},[_vm._v(\" \"+_vm._s(_vm.model.rekeningnummer)+\" \")]):_vm._e(),(_vm.model.bic && _vm.isIbanForeign)?_c('p-value-row',{attrs:{\"label\":_vm.$t('labels.bic'),\"data-ui\":\"bic-weergeven\"}},[_vm._v(\" \"+_vm._s(_vm.model.bic)+\" \")]):_vm._e(),(_vm.model.tenaamstelling)?_c('p-value-row',{attrs:{\"label\":_vm.$t('labels.tenaamstelling'),\"data-ui\":\"tenaamstelling-weergeven\"}},[_vm._v(\" \"+_vm._s(_vm.model.tenaamstelling)+\" \")]):_vm._e(),(_vm.model.banknaam)?_c('p-value-row',{attrs:{\"label\":_vm.$t('labels.banknaam'),\"data-ui\":\"banknaam-weergeven\"}},[_vm._v(\" \"+_vm._s(_vm.model.banknaam)+\" \")]):_vm._e(),(_vm.model.bankkantoor)?_c('p-value-row',{attrs:{\"label\":_vm.$t('labels.bankkantoor'),\"data-ui\":\"bankkantoor-weergeven\"}},[_vm._v(\" \"+_vm._s(_vm.model.bankkantoor)+\" \")]):_vm._e()],1),(_vm.model.address)?_c('adres-weergeven',{attrs:{\"model\":_vm.model.address}}):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p-value-grid',[(_vm.model.land)?_c('p-value-row',{attrs:{\"label\":_vm.$t('labels.land'),\"data-ui\":\"land-weergeven\"}},[_vm._v(\" \"+_vm._s(_vm.model.land)+\" \")]):_vm._e(),(_vm.model.postcode)?_c('p-value-row',{attrs:{\"label\":_vm.$t('labels.postcode'),\"data-ui\":\"postcode-weergeven\"}},[_vm._v(\" \"+_vm._s(_vm.model.postcode)+\" \")]):_vm._e(),(_vm.model.huisnummer)?_c('p-value-row',{attrs:{\"label\":_vm.$t('labels.huisnummer'),\"data-ui\":\"huisnummer-weergeven\"}},[_vm._v(\" \"+_vm._s(_vm.model.huisnummer)+\" \")]):_vm._e(),(_vm.model.huisnummerToevoeging)?_c('p-value-row',{attrs:{\"label\":_vm.$t('labels.huisnummerToevoeging'),\"data-ui\":\"huisnummer-toevoeging-weergeven\"}},[_vm._v(\" \"+_vm._s(_vm.model.huisnummerToevoeging)+\" \")]):_vm._e(),(_vm.model.straatnaam)?_c('p-value-row',{attrs:{\"label\":_vm.$t('labels.straatnaam'),\"data-ui\":\"straatnaam-weergeven\"}},[_vm._v(\" \"+_vm._s(_vm.model.straatnaam)+\" \")]):_vm._e(),(_vm.model.plaatsnaam)?_c('p-value-row',{attrs:{\"label\":_vm.$t('labels.plaatsnaam'),\"data-ui\":\"plaatsnaam-weergeven\"}},[_vm._v(\" \"+_vm._s(_vm.model.plaatsnaam)+\" \")]):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { defineComponent } from '@vue/composition-api'\r\nimport i18n from './i18n'\r\nimport { Address } from '@/domains/account/dataAccess/models/Address'\r\n\r\nexport default defineComponent({\r\n name: 'AdresWeergeven',\r\n i18n,\r\n props: {\r\n model: { type: Object as () => Address, required: true },\r\n },\r\n})\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AdresWeergeven.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AdresWeergeven.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./AdresWeergeven.vue?vue&type=template&id=00ebb5bb\"\nimport script from \"./AdresWeergeven.vue?vue&type=script&lang=ts\"\nexport * from \"./AdresWeergeven.vue?vue&type=script&lang=ts\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { defineComponent, Ref, ref } from '@vue/composition-api'\r\nimport i18n from './i18n'\r\nimport { Bankrekening } from '@/domains/account/dataAccess/models/Bankrekening'\r\nimport AdresWeergeven from '@/domains/account/components/Adres/AdresWeergeven.vue'\r\n\r\nexport default defineComponent({\r\n name: 'BankrekeningWeergeven',\r\n i18n,\r\n components: {\r\n AdresWeergeven,\r\n },\r\n props: {\r\n model: { type: Object as () => Bankrekening, required: true },\r\n },\r\n setup: (props: { model: Bankrekening }) => {\r\n const isIbanForeign: Ref = ref(null)\r\n isIbanForeign.value = props.model.iban ? !props.model.iban.toUpperCase().startsWith('NL') : null\r\n return {\r\n isIbanForeign,\r\n }\r\n },\r\n})\r\n\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BankrekeningWeergeven.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BankrekeningWeergeven.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./BankrekeningWeergeven.vue?vue&type=template&id=606ca3d9\"\nimport script from \"./BankrekeningWeergeven.vue?vue&type=script&lang=ts\"\nexport * from \"./BankrekeningWeergeven.vue?vue&type=script&lang=ts\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.documentList.length > 0)?_c('p-card',{attrs:{\"title\":_vm.$t('scannedDocuments.cardTitle'),\"data-ui\":\"ingescande-papieren-document-card\",\"heading-level\":\"3\"}},[_c('p-value-grid',[_c('p-value-row',{attrs:{\"label\":_vm.$t('scannedDocuments.label'),\"data-ui\":\"ingescande-papieren-document\"}},[_c('download-archive-files',{attrs:{\"document-list\":_vm.documentList}})],1)],1)],1):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export default {\r\n messages: {\r\n nl: {\r\n scannedDocuments: {\r\n cardTitle: 'Ingescande papieren documenten',\r\n label: 'Documenten',\r\n },\r\n signCard: {\r\n title: 'Controleren en ondertekenen',\r\n list: {\r\n item: '{amount} van uitbetalingen in de toekomst aan de zorgverlener ingehouden worden, of teruggevorderd worden;',\r\n item2: 'Eventuele werkgeverslasten worden teruggedraaid; ',\r\n item3: 'Het totaal bedrag wordt opgeteld bij het resterend budget.',\r\n },\r\n labels: {\r\n date: 'Datum',\r\n sign: 'Ja, ik wil de declaratie intrekken.',\r\n unSignedError: 'U heeft nog niet aangegeven dat u de declaratie wilt intrekken.',\r\n },\r\n },\r\n },\r\n },\r\n}\r\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { defineComponent } from '@vue/composition-api'\r\nimport i18n from './i18n'\r\nimport DownloadArchiveFiles from '@/domains/remoteFile/components/DownloadArchiveFiles.vue'\r\nimport { Document } from '@/domains/remoteFile/dataAccess/models/Document'\r\n\r\nexport default defineComponent({\r\n name: 'ScannedDocumentsCard',\r\n i18n,\r\n components: {\r\n DownloadArchiveFiles,\r\n },\r\n props: {\r\n documentList: { type: Array as () => Document[], required: true },\r\n },\r\n})\r\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ScannedDocumentsCard.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ScannedDocumentsCard.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./ScannedDocumentsCard.vue?vue&type=template&id=3c26800b\"\nimport script from \"./ScannedDocumentsCard.vue?vue&type=script&lang=ts\"\nexport * from \"./ScannedDocumentsCard.vue?vue&type=script&lang=ts\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import declaratiesIndienenI18n from '@/domains/declaraties/pages/i18n'\r\nimport { mergeI18nDeep } from '@/utils/i18nUtils'\r\n\r\nconst i18n = {\r\n messages: {\r\n nl: {\r\n buttons: {\r\n declaratieIntrekken: 'Declaratie intrekken',\r\n },\r\n helpLinks: {\r\n uitleg: 'Uitleg over declaraties',\r\n faq: 'Veelgestelde vragen',\r\n helpdesk: 'Helpdesk',\r\n },\r\n labels: {\r\n redenAfgekeurd: 'Reden(en) afgekeurd',\r\n redenAfgekeurdListA11y: 'Lijst van redenen.',\r\n },\r\n signCard: {\r\n bodyDeclaratieIntrekken: `Weet u zeker dat u deze declaratie wilt intrekken? \r\n Dit moet eerst goedgekeurd worden door de SVB. \r\n Als u deze declaratie intrekt zal er na goedkeuring door de SVB:`,\r\n bodyDeclaratieAnnuleren: `Weet u zeker dat u deze declaratie wilt intrekken? \r\n De declaratie wordt dan direct geannuleerd en is niet meer zichtbaar in uw declaratieoverzicht. \r\n Het bedrag komt weer beschikbaar in uw budget en u kunt voor deze periode eventueel een nieuwe declaratie indienen.`,\r\n },\r\n intrekken: {\r\n steps: {\r\n sign: 'Intrekken',\r\n confirmation: 'Succes',\r\n },\r\n successNotificationDeclaratieAnnuleren: 'Uw declaratie is succesvol ingetrokken.',\r\n successNotificationDeclaratieIntrekken: 'Uw declaratie intrekking is aangeboden ter goedkeuring bij de SVB.',\r\n watNu: {\r\n title: 'Wat gebeurt er nu?',\r\n bodyDeclaratieAnnuleren: 'De declaratie is per direct geannuleerd en is niet meer zichtbaar in uw declaratieoverzicht.',\r\n bodyDeclaratieIntrekken: 'De declaratie intrekking wordt beoordeeld door de SVB. Als de SVB deze goedkeurt dan:',\r\n list: [\r\n 'Wordt het bedrag of ingehouden op uitbetalingen aan de zorgverlener in de toekomst, of teruggevorderd;',\r\n 'Worden eventuele werkgeverslasten teruggedraaid;',\r\n 'Wordt het totaalbedrag opgeteld bij het resterend budget.',\r\n ],\r\n },\r\n directNaar: 'Direct naar:',\r\n buttons: {\r\n submit: 'Intrekken',\r\n },\r\n },\r\n errorMessages: {\r\n declaratieNietIntrekbaar: {\r\n title: 'U kunt deze declaratie niet intrekken. Dit kan komen doordat de declaratie:',\r\n body: ['Wacht op goedkeuring;', 'Al is ingetrokken', 'Is mislukt;', 'In een reeds afgesloten jaar is ingediend.'],\r\n },\r\n },\r\n links: {\r\n previousPage: 'Terug naar declaratie',\r\n startpagina: 'Home',\r\n },\r\n },\r\n },\r\n}\r\n\r\nmergeI18nDeep(i18n, declaratiesIndienenI18n)\r\n\r\nexport default i18n\r\n","import declaratiesIndienenI18n from '@/domains/declaraties/pages/weergeven/i18n'\r\nimport { mergeI18nDeep } from '@/utils/i18nUtils'\r\n\r\nconst i18n = {\r\n messages: {\r\n nl: {\r\n cardTitles: {\r\n declaratie: 'Declaratie',\r\n begunstigde: 'Begunstigde',\r\n documenten: 'Ingescande papieren documenten',\r\n },\r\n labels: {\r\n indiendatum: 'Indiendatum',\r\n gedeclareerdBedrag: 'Gedeclareerd bedrag ({wetType})',\r\n budgethouder: 'Budgethouder',\r\n declaratienummer: 'Declaratienummer',\r\n status: 'Status',\r\n naamOntvanger: 'Naam ontvanger',\r\n adres: 'Adres',\r\n documenten: 'Documenten',\r\n },\r\n },\r\n },\r\n}\r\n\r\nmergeI18nDeep(i18n, declaratiesIndienenI18n)\r\n\r\nexport default i18n\r\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('page-layout-standard',{staticClass:\"weergeven-declaratie\",attrs:{\"help-panel-items\":_vm.helpPanelItems},scopedSlots:_vm._u([{key:\"colRight\",fn:function(){return [_c('div',{staticClass:\"weergeven-declaratie__spacer\"}),(!_vm.isLoading && !!_vm.kassabon.kassabonBlokken.length)?_c('kassabon',{attrs:{\"data\":_vm.kassabon,\"sticky\":\"\"}}):_vm._e()]},proxy:true}])},[_c('title-and-help'),(_vm.isLoading)?_c('div',{staticClass:\"text-center mb-8\",attrs:{\"data-ui\":\"stepper-loading-spinner\"}},[_c('p-loading-indicator')],1):(!_vm.isLoading)?_c('div',{staticClass:\"d-flex flex-column\"},[_c('p-container',{staticClass:\"pt-sm-0 order-3 order-sm-0\"},[_c('p-row',[_c('p-button-container',{staticClass:\"px-0 pb-0 pt-6 pt-sm-0 pb-sm-8 flex-column flex-sm-row\"},[_vm._t(\"additional-buttons\"),_c('p-button',{attrs:{\"preset\":\"print\",\"data-ui\":\"print-page-button\"},on:{\"click\":_vm.sendToPrinter}},[_vm._v(\" \"+_vm._s(_vm.$t('print'))+\" \")]),(_vm.isMobileView)?[_c('p-router-link',{staticClass:\"py-2\",attrs:{\"data-ui\":\"overzicht-declaraties-link-mobile\",\"to\":{ name: 'OverzichtDeclaratie' }}},[_vm._v(\" \"+_vm._s(_vm.$t('links.bekijkDeclaratieoverzicht'))+\" \")]),_c('p-router-link',{staticClass:\"py-2\",attrs:{\"data-ui\":\"overzicht-budget-link-mobile\",\"to\":{ name: 'OverzichtBudget' }}},[_vm._v(\" \"+_vm._s(_vm.$t('links.bekijkBudgetoverzicht'))+\" \")])]:_vm._e()],2)],1)],1),_vm._t(\"default\"),(!_vm.isMobileView)?_c('p-button-container',{staticClass:\"flex-column align-start mt-4\"},[_c('p-router-link',{staticClass:\"py-2\",attrs:{\"data-ui\":\"overzicht-declaraties-link-desktop\",\"to\":{ name: 'OverzichtDeclaratie' }}},[_vm._v(\" \"+_vm._s(_vm.$t('links.bekijkDeclaratieoverzicht'))+\" \")]),_c('p-router-link',{staticClass:\"py-2\",attrs:{\"data-ui\":\"overzicht-budget-link-desktop\",\"to\":{ name: 'OverzichtBudget' }}},[_vm._v(\" \"+_vm._s(_vm.$t('links.bekijkBudgetoverzicht'))+\" \")])],1):_vm._e()],2):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { defineComponent } from '@vue/composition-api'\r\nimport { useBreakpoints, useWindowPrint } from 'phoenix'\r\nimport Kassabon from '@/domains/declaraties/components/kassabon/Kassabon.vue'\r\nimport i18n from './i18n'\r\nimport useDeclaratieIndienenHelpItems from '@/domains/declaraties/pages/helpPanels/useDeclaratieIndienenHelpItems'\r\nimport { Kassabon as KassabonModel } from '@/domains/declaraties/dataAccess/models/kassabon/Kassabon'\r\nimport TitleAndHelp from '@/components/entities/TitleAndHelp/TitleAndHelp.vue'\r\n\r\nexport default defineComponent({\r\n name: 'WeergevenDeclaratie',\r\n i18n,\r\n components: {\r\n Kassabon,\r\n TitleAndHelp,\r\n },\r\n props: {\r\n kassabon: { type: Object as () => KassabonModel, required: true },\r\n isLoading: { type: Boolean, required: true, default: true },\r\n },\r\n setup () {\r\n const { isMobileView } = useBreakpoints()\r\n // TODO: PD-109850 why are all these different? can we consolidate useDeclaratieIndienenHelpItems and declaratiesOverzichtHelpPanel.ts ?\r\n const helpPanelItems = useDeclaratieIndienenHelpItems()\r\n const { sendToPrinter } = useWindowPrint()\r\n return {\r\n helpPanelItems,\r\n sendToPrinter,\r\n isMobileView,\r\n }\r\n },\r\n})\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./WeergevenDeclaratie.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./WeergevenDeclaratie.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./WeergevenDeclaratie.vue?vue&type=template&id=4bdc65fe\"\nimport script from \"./WeergevenDeclaratie.vue?vue&type=script&lang=ts\"\nexport * from \"./WeergevenDeclaratie.vue?vue&type=script&lang=ts\"\nimport style0 from \"./WeergevenDeclaratie.vue?vue&type=style&index=0&id=4bdc65fe&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import { DateString } from 'phoenix/types/utils/date'\r\nimport {\r\n DeclaratieStatusType, DeclaratieStatusWeergevenType, IntrekbaarheidStatusType, Maand, MaandloonDeclaratieStatusType, RedenAfkeuringType,\r\n} from '@/_generated/portalClient'\r\nimport { DeclaratieBase, emptyDeclaratieBase } from '../DeclaratieBase'\r\n\r\nexport interface IngediendeDeclaratie extends DeclaratieBase {\r\n declaratieId: string\r\n declaratienummer: number | null\r\n indiendatum: DateString\r\n bedrag: number\r\n status: DeclaratieStatusType\r\n naamBudgethouder: string | null\r\n naamBegunstigde: string | null\r\n maand: Maand\r\n statusWeergevenType: DeclaratieStatusWeergevenType\r\n ingangsdatum: DateString\r\n einddatum: DateString\r\n jaar: number\r\n}\r\n\r\nexport interface MaandloonDeclaratie {\r\n maandloonDeclaratieStatus: MaandloonDeclaratieStatusType\r\n}\r\n\r\nexport interface IntrekbareDeclaratie {\r\n ingetrokkenDeclaratieUid: string | null\r\n intrekbaarheidStatus: IntrekbaarheidStatusType\r\n}\r\n\r\nexport interface WijzigbareDeclaratie {\r\n isGewijzigd: boolean\r\n}\r\n\r\nexport interface AfkeurbareDeclaratie {\r\n redenenVanAfkeuring: RedenAfkeuringType[];\r\n redenAfkeuringOverige: string | null;\r\n}\r\n\r\nexport const emptyIntrekbareDeclaratie: IntrekbareDeclaratie = {\r\n ingetrokkenDeclaratieUid: null,\r\n intrekbaarheidStatus: IntrekbaarheidStatusType.NietIntrekbaar,\r\n}\r\n\r\nexport const emptyWijzigbareDeclaratie: WijzigbareDeclaratie = {\r\n isGewijzigd: false,\r\n}\r\n\r\nexport const emptyMaandloonDeclaratie: MaandloonDeclaratie = {\r\n maandloonDeclaratieStatus: MaandloonDeclaratieStatusType.Onbekend,\r\n}\r\n\r\nexport const emptyAfkeurbareDeclaratie: AfkeurbareDeclaratie = {\r\n redenenVanAfkeuring: [],\r\n redenAfkeuringOverige: null,\r\n}\r\n\r\nexport const emptyIngediendeDeclaratie: IngediendeDeclaratie = {\r\n ...emptyDeclaratieBase,\r\n declaratieId: '',\r\n declaratienummer: null,\r\n indiendatum: '',\r\n bedrag: 0,\r\n status: DeclaratieStatusType.Onbekend,\r\n naamBudgethouder: null,\r\n naamBegunstigde: null,\r\n maand: Maand.Onbekend,\r\n statusWeergevenType: DeclaratieStatusWeergevenType.Onbekend,\r\n ingangsdatum: '',\r\n einddatum: '',\r\n jaar: 0,\r\n}\r\n","import { ContractType, WetType } from '@/_generated/portalClient'\r\nimport { Bankrekening } from '@/domains/account/dataAccess/models/Bankrekening'\r\nimport { Document } from '@/domains/remoteFile/dataAccess/models/Document'\r\nimport { emptyIngediendeDeclaratie, IngediendeDeclaratie } from './IngediendeDeclaratie'\r\nimport { DateString } from 'phoenix'\r\n\r\nexport interface WeergevenDeclaratie extends IngediendeDeclaratie {\r\n overigeDocumenten: Document[] | null\r\n bankrekening: Bankrekening | null\r\n wet: WetType\r\n budgethouderBurgerservicenummer: string | null\r\n begunstigdeBurgerservicenummer: string | null\r\n zorgovereenkomstId: string | null\r\n zorgovereenkomstIngangsdatum: DateString | null\r\n zorgovereenkomstEinddatum: DateString | null\r\n begunstigdeAgbCode: string | null\r\n begunstigdeRelatienummer: string | null\r\n budgethouderRelatienummer: string | null\r\n aantalWerkdagenZorgverlener: number\r\n contractType: ContractType\r\n}\r\n\r\nexport const emptyWeergevenDeclaratie: WeergevenDeclaratie = {\r\n ...emptyIngediendeDeclaratie,\r\n overigeDocumenten: null,\r\n bankrekening: null,\r\n wet: WetType.Onbekend,\r\n budgethouderBurgerservicenummer: null,\r\n begunstigdeBurgerservicenummer: null,\r\n zorgovereenkomstId: null,\r\n zorgovereenkomstIngangsdatum: '',\r\n zorgovereenkomstEinddatum: null,\r\n begunstigdeAgbCode: null,\r\n begunstigdeRelatienummer: null,\r\n budgethouderRelatienummer: null,\r\n aantalWerkdagenZorgverlener: 0,\r\n contractType: ContractType.Onbekend,\r\n}\r\n","import { AfkeurbareDeclaratie, emptyAfkeurbareDeclaratie } from './IngediendeDeclaratie'\r\nimport { emptyWeergevenDeclaratie, WeergevenDeclaratie } from './WeergevenDeclaratie'\r\n\r\nexport interface WeergevenVerantwoordingsvrijBedrag extends WeergevenDeclaratie, AfkeurbareDeclaratie {\r\n}\r\n\r\nexport const emptyWeergevenVerantwoordingsvrijBedrag: WeergevenVerantwoordingsvrijBedrag = {\r\n ...emptyWeergevenDeclaratie,\r\n ...emptyAfkeurbareDeclaratie,\r\n}\r\n","import {\r\n ContractType, DeclaratieStatusType, DeclaratieStatusWeergevenType, DeclaratieType, IntrekbaarheidStatusType, WeergevenDeclaratieViewModel,\r\n WeergevenWetVrijBesteedbaarBudgetViewModel, WetType,\r\n} from '@/_generated/portalClient'\r\n\r\nexport const emptyWeergevenDeclaratieViewModel: WeergevenDeclaratieViewModel = {\r\n declaratieRedenenVanAfkeuring: null,\r\n bijkomendezorgkosten: null,\r\n declaratieType: DeclaratieType.Onbekend,\r\n factuurgegevens: null,\r\n feestdagenuitkering: null,\r\n reiskosten: null,\r\n zorgdeclaratieMaandopgave: {\r\n gegevensPerDag: [],\r\n opgavePerDag: null,\r\n opgavePerPeriode: null,\r\n maxAantalUrenWerkenPerWeek: 0,\r\n },\r\n budgethouderId: '',\r\n budgethouderVolledigeNaam: null,\r\n budgethouderOverlijdensdatum: null,\r\n budgethouderRelatienummer: null,\r\n budgethouderBurgerservicenummer: null,\r\n begunstigdeNaam: null,\r\n begunstigdeBurgerservicenummer: null,\r\n begunstigdeRelatienummer: null,\r\n begunstigdeAgbCode: null,\r\n ingangsdatum: '',\r\n einddatum: '',\r\n indiendatum: '',\r\n indienDatumOorspronkelijk: null,\r\n declaratieStatusWeergevenType: DeclaratieStatusWeergevenType.Onbekend,\r\n declaratieStatus: DeclaratieStatusType.Onbekend,\r\n declaratienummer: null,\r\n zorgovereenkomstId: null,\r\n zorgovereenkomstIngangsdatum: '',\r\n zorgovereenkomstEinddatum: null,\r\n contractType: ContractType.Onbekend,\r\n aantalWerkdagenZorgverlener: null,\r\n maandloonAfspraken: null,\r\n declaratieDocumentHistory: [],\r\n vrijBesteedbaarBudget: null,\r\n eenmaligeUitkeringOverlijdenBudgethouder: null,\r\n foutmeldingen: null,\r\n misluktMaandloon: null,\r\n woonInitiatiefEnkelHuisGegevens: null,\r\n totaalBijgestort: 0,\r\n isAnyBetrokkenBudgetBeeindigd: false,\r\n isAnyBijstorting: false,\r\n bankrekening: null,\r\n maandloonDeclaratieStatusType: null,\r\n overigeDocumenten: [],\r\n isOpgesteldDoorZorgverlener: false,\r\n isIntrekking: false,\r\n startDeclaratieWijzigenValidationResult:\r\n {\r\n code: null,\r\n errorMessage: null,\r\n memberName: null,\r\n },\r\n heeftActieveJaarovergangWerktaak: false,\r\n intrekbaarheidStatus: IntrekbaarheidStatusType.Onbekend,\r\n}\r\n\r\nexport const emptyWeergevenWetVrijBesteedbaarBudgetViewModel: WeergevenWetVrijBesteedbaarBudgetViewModel = {\r\n bedrag: 0,\r\n naamOntvanger: null,\r\n bankrekening: null,\r\n wet: WetType.Onbekend,\r\n}\r\n","import { BijkomendezorgkostenType, WeergevenDeclaratieRedenenVanAfkeuring, WeergevenDeclaratieViewModel, WetType } from '@/_generated/portalClient'\r\nimport { mapBankrekening } from '@/domains/account/dataAccess/mappers/mapBankrekening'\r\nimport { mapBankrekeningViewModel } from '@/domains/account/dataAccess/mappers/mapBankrekeningViewModel'\r\nimport { emptyBankrekening } from '@/domains/account/dataAccess/models/Bankrekening'\r\nimport {\r\n emptyWeergevenWetVrijBesteedbaarBudgetViewModel,\r\n} from '@/domains/declaraties/mocks/models/emptyWeergevenDeclaratieViewModel'\r\nimport { mapDocument } from '@/domains/remoteFile/dataAccess/mappers/mapDocument'\r\nimport { WeergevenDeclaratie } from '../models/ingediend/WeergevenDeclaratie'\r\nimport { WeergevenFeestdagenUitkering } from '../models/ingediend/WeergevenFeestdagenUitkering'\r\nimport { toDate } from 'phoenix'\r\nimport { WeergevenBijkomendeZorgkosten } from '../models/ingediend/WeergevenBijkomendeZorgkosten'\r\nimport { WeergevenVerantwoordingsvrijBedrag } from '../models/ingediend/WeergevenVerantwoordingsvrijBedrag'\r\nimport { AfkeurbareDeclaratie } from '../models/ingediend/IngediendeDeclaratie'\r\n\r\nfunction mapWeergevenDeclaratie (\r\n vmDeclaratie: WeergevenDeclaratieViewModel,\r\n declaratieUid: string\r\n): WeergevenDeclaratie {\r\n const date = toDate(vmDeclaratie.ingangsdatum, new Date(0))\r\n return {\r\n bankrekening: vmDeclaratie.bankrekening && mapBankrekening(vmDeclaratie.bankrekening),\r\n begunstigdeAgbCode: vmDeclaratie.begunstigdeAgbCode,\r\n begunstigdeBurgerservicenummer: vmDeclaratie.begunstigdeBurgerservicenummer,\r\n declaratieId: declaratieUid,\r\n declaratienummer: vmDeclaratie.declaratienummer,\r\n declaratieType: vmDeclaratie.declaratieType,\r\n einddatum: vmDeclaratie.einddatum,\r\n indiendatum: vmDeclaratie.indiendatum,\r\n ingangsdatum: vmDeclaratie.ingangsdatum,\r\n jaar: date.getFullYear(),\r\n maand: date.getMonth() + 1,\r\n naamBegunstigde: vmDeclaratie.begunstigdeNaam,\r\n naamBudgethouder: vmDeclaratie.budgethouderVolledigeNaam,\r\n overigeDocumenten: vmDeclaratie.overigeDocumenten ? vmDeclaratie.overigeDocumenten.map(mapDocument) : null,\r\n status: vmDeclaratie.declaratieStatus,\r\n statusWeergevenType: vmDeclaratie.declaratieStatusWeergevenType,\r\n zorgovereenkomstEinddatum: vmDeclaratie.zorgovereenkomstEinddatum,\r\n zorgovereenkomstId: vmDeclaratie.zorgovereenkomstId,\r\n zorgovereenkomstIngangsdatum: vmDeclaratie.zorgovereenkomstIngangsdatum,\r\n bedrag: 0,\r\n wet: WetType.Onbekend,\r\n begunstigdeRelatienummer: vmDeclaratie.begunstigdeRelatienummer,\r\n budgethouderRelatienummer: vmDeclaratie.budgethouderRelatienummer,\r\n contractType: vmDeclaratie.contractType,\r\n aantalWerkdagenZorgverlener: vmDeclaratie.aantalWerkdagenZorgverlener || 0,\r\n budgethouderBurgerservicenummer: vmDeclaratie.budgethouderBurgerservicenummer,\r\n }\r\n}\r\n\r\nexport function mapWeergevenVerantwoordingsvrijbedragDeclaratie (\r\n vmDeclaratie: WeergevenDeclaratieViewModel,\r\n declaratieUid: string\r\n): WeergevenVerantwoordingsvrijBedrag {\r\n const vmVrijBesteedbaarBudget = vmDeclaratie.vrijBesteedbaarBudget\r\n const budget = vmVrijBesteedbaarBudget &&\r\n vmVrijBesteedbaarBudget.wetVrijBesteedbareBudgetten &&\r\n !!vmVrijBesteedbaarBudget.wetVrijBesteedbareBudgetten.length\r\n ? vmVrijBesteedbaarBudget.wetVrijBesteedbareBudgetten[0]\r\n : emptyWeergevenWetVrijBesteedbaarBudgetViewModel\r\n return {\r\n ...mapWeergevenDeclaratie(vmDeclaratie, declaratieUid),\r\n ...mapAfkeurbareDeclaratie(vmDeclaratie.declaratieRedenenVanAfkeuring),\r\n bankrekening: mapBankrekening(budget.bankrekening ? budget.bankrekening : mapBankrekeningViewModel(emptyBankrekening)),\r\n bedrag: budget.bedrag,\r\n naamBegunstigde: budget.naamOntvanger,\r\n wet: budget.wet,\r\n }\r\n}\r\n\r\nexport function mapWeergevenFeestdagenuitkering (vmDeclaratie: WeergevenDeclaratieViewModel, declaratieUid: string): WeergevenFeestdagenUitkering {\r\n const vmFeestdagenUitkering = vmDeclaratie.feestdagenuitkering\r\n const budget = vmFeestdagenUitkering &&\r\n vmFeestdagenUitkering.wetFeestdagenuitkeringen &&\r\n !!vmFeestdagenUitkering.wetFeestdagenuitkeringen.length\r\n ? vmFeestdagenUitkering.wetFeestdagenuitkeringen[0]\r\n : null\r\n\r\n return {\r\n ...mapWeergevenDeclaratie(vmDeclaratie, declaratieUid),\r\n ...mapAfkeurbareDeclaratie(vmDeclaratie.declaratieRedenenVanAfkeuring),\r\n wet: (budget && budget.wettype) || WetType.Onbekend,\r\n ingetrokkenDeclaratieUid: null,\r\n intrekbaarheidStatus: vmDeclaratie.intrekbaarheidStatus,\r\n resterendBedrag: (vmFeestdagenUitkering && vmFeestdagenUitkering.resterendBedrag) || 0,\r\n bedrag: (budget && budget.bedrag) || 0,\r\n totaalBijbetaald: vmDeclaratie.totaalBijgestort,\r\n }\r\n}\r\n\r\nconst mapAfkeurbareDeclaratie = (declaratieRedenenVanAfkeuring: WeergevenDeclaratieRedenenVanAfkeuring | null): AfkeurbareDeclaratie => {\r\n return {\r\n redenenVanAfkeuring: (declaratieRedenenVanAfkeuring && declaratieRedenenVanAfkeuring.redenenVanAfkeuring) || [],\r\n redenAfkeuringOverige: declaratieRedenenVanAfkeuring && declaratieRedenenVanAfkeuring.redenAfkeuringOverige,\r\n }\r\n}\r\n\r\nexport function mapWeergevenBijkomendeZorgkosten (vmDeclaratie: WeergevenDeclaratieViewModel, declaratieUid: string): WeergevenBijkomendeZorgkosten {\r\n const vmBijkomendeZorgkosten = vmDeclaratie.bijkomendezorgkosten\r\n\r\n return {\r\n ...mapWeergevenDeclaratie(vmDeclaratie, declaratieUid),\r\n ...mapAfkeurbareDeclaratie(vmDeclaratie.declaratieRedenenVanAfkeuring),\r\n ingetrokkenDeclaratieUid: null,\r\n intrekbaarheidStatus: vmDeclaratie.intrekbaarheidStatus,\r\n bedrag: (vmBijkomendeZorgkosten && vmBijkomendeZorgkosten.bedrag) || 0,\r\n totaalBijbetaald: vmDeclaratie.totaalBijgestort,\r\n bijkomendeZorgkostenType: (vmBijkomendeZorgkosten && vmBijkomendeZorgkosten.bijkomendezorgkostenType) || BijkomendezorgkostenType.Onbekend,\r\n betaalbewijzen: (vmBijkomendeZorgkosten && vmBijkomendeZorgkosten.bestanden) ? vmBijkomendeZorgkosten.bestanden.map(mapDocument) : [],\r\n wet: (vmBijkomendeZorgkosten && vmBijkomendeZorgkosten.wet) || WetType.Onbekend,\r\n }\r\n}\r\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { computed, defineComponent, onMounted, ref, Ref } from '@vue/composition-api'\r\nimport { useI18n, useRouter } from 'phoenix'\r\nimport BankrekeningWeergeven from '@/domains/account/components/Bankrekening/BankrekeningWeergeven.vue'\r\nimport ScannedDocumentsCard from '@/domains/declaraties/pages/weergeven/components/ScannedDocumentsCard.vue'\r\nimport i18n from './i18n'\r\nimport WeergevenDeclaratie from '../WeergevenDeclaratie.vue'\r\nimport { emptyWeergevenVerantwoordingsvrijBedrag } from '@/domains/declaraties/dataAccess/models/ingediend/WeergevenVerantwoordingsvrijBedrag'\r\nimport { WeergevenVerantwoordingsvrijBedragExtended } from '@/domains/declaraties/dataAccess/models/ingediend/WeergevenVerantwoordingsvrijBedragExtended'\r\nimport { emptyKassabon, Kassabon } from '@/domains/declaraties/dataAccess/models/kassabon/Kassabon'\r\nimport { declaratieClient, declaratieKassabonClient } from '@/dataAccess/clients'\r\nimport { mapWeergevenVerantwoordingsvrijbedragDeclaratie } from '@/domains/declaraties/dataAccess/mappers/mapWeergevenDeclaratie'\r\nimport { mapKassabon } from '@/domains/declaraties/dataAccess/mappers/mapKassabon'\r\nimport { useDataEnrichmentIngediendeDeclaratie } from '@/domains/declaraties/pages/useDataEnrichmentIngediendeDeclaratie'\r\n\r\nexport default defineComponent({\r\n name: 'VerantwoordingsvrijBedrag',\r\n i18n,\r\n components: {\r\n BankrekeningWeergeven,\r\n WeergevenDeclaratie,\r\n ScannedDocumentsCard,\r\n },\r\n setup () {\r\n const { route } = useRouter()\r\n const declaratieId = route.params.id || null\r\n const isReady: Ref = ref(false)\r\n const declaratie: Ref = ref(emptyWeergevenVerantwoordingsvrijBedrag)\r\n const kassabon: Ref = ref(emptyKassabon)\r\n const { calculatePeriod, calculateCombinedStatus } = useDataEnrichmentIngediendeDeclaratie()\r\n const { t } = useI18n()\r\n const translatedAfkeurReden = computed(() => {\r\n return declaratie.value.redenenVanAfkeuring.map(r => {\r\n return {\r\n id: r,\r\n text: t(`redenAfkeuringType.${r}`),\r\n }\r\n })\r\n })\r\n\r\n const loadData = async () => {\r\n isReady.value = false\r\n const declaratieVm = declaratieClient().getDeclaratie(declaratieId)\r\n const kassabonData = declaratieKassabonClient().getByDeclaratieUid(declaratieId)\r\n const mappedDeclaratie = mapWeergevenVerantwoordingsvrijbedragDeclaratie(await declaratieVm, declaratieId)\r\n declaratie.value = {\r\n ...mappedDeclaratie,\r\n combinedStatus: calculateCombinedStatus(mappedDeclaratie),\r\n periode: calculatePeriod(mappedDeclaratie),\r\n }\r\n kassabon.value = mapKassabon(await kassabonData)\r\n isReady.value = true\r\n }\r\n\r\n onMounted(async () => {\r\n await loadData()\r\n })\r\n\r\n return {\r\n isReady,\r\n declaratie,\r\n kassabon,\r\n translatedAfkeurReden,\r\n }\r\n },\r\n})\r\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./WeergevenVerantwoordingsvrijBedrag.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./WeergevenVerantwoordingsvrijBedrag.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./WeergevenVerantwoordingsvrijBedrag.vue?vue&type=template&id=561f2d7c&scoped=true\"\nimport script from \"./WeergevenVerantwoordingsvrijBedrag.vue?vue&type=script&lang=ts\"\nexport * from \"./WeergevenVerantwoordingsvrijBedrag.vue?vue&type=script&lang=ts\"\nimport style0 from \"./WeergevenVerantwoordingsvrijBedrag.vue?vue&type=style&index=0&id=561f2d7c&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"561f2d7c\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('weergeven-declaratie',{attrs:{\"kassabon\":_vm.kassabon,\"is-loading\":!_vm.isReady}},[_c('template',{slot:\"additional-buttons\"},[(_vm.declaratie.isIntrekbaar)?_c('p-button',{attrs:{\"data-ui\":\"declaratie-intrekken\",\"to\":{name: 'IntrekkenFeestdagenUitkering', params: { id: _vm.declaratieUid }}}},[_vm._v(\" \"+_vm._s(_vm.$t(\"buttons.declaratieIntrekken\"))+\" \")]):_vm._e()],1),_c('declaratie-card',{attrs:{\"declaratie\":_vm.declaratie}}),_c('begunstigde-card',{attrs:{\"declaratie\":_vm.declaratie}}),(!!_vm.declaratie.overigeDocumenten && _vm.declaratie.overigeDocumenten.length > 0)?_c('scanned-documents-card',{attrs:{\"document-list\":_vm.declaratie.overigeDocumenten}}):_vm._e()],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { AfkeurbareDeclaratie, emptyAfkeurbareDeclaratie, emptyIntrekbareDeclaratie, IntrekbareDeclaratie } from './IngediendeDeclaratie'\r\nimport { emptyWeergevenDeclaratie, WeergevenDeclaratie } from './WeergevenDeclaratie'\r\n\r\nexport interface WeergevenFeestdagenUitkering extends WeergevenDeclaratie, IntrekbareDeclaratie, AfkeurbareDeclaratie {\r\n resterendBedrag: number,\r\n totaalBijbetaald: number,\r\n}\r\n\r\nexport const emptyWeergevenFeestdagenUitkering: WeergevenFeestdagenUitkering = {\r\n ...emptyWeergevenDeclaratie,\r\n ...emptyIntrekbareDeclaratie,\r\n ...emptyAfkeurbareDeclaratie,\r\n resterendBedrag: 0,\r\n totaalBijbetaald: 0,\r\n}\r\n","import { IntrekbaarheidStatusType } from '@/_generated/portalClient'\r\n\r\nexport const useDataEnrichmentDeclaratieIntrekbaarheid = () => {\r\n function isIntrekbaar (intrekbaarheidStatus: IntrekbaarheidStatusType): boolean {\r\n return intrekbaarheidStatus === IntrekbaarheidStatusType.IntrekbaarMetDeclaratieAnnuleren ||\r\n intrekbaarheidStatus === IntrekbaarheidStatusType.IntrekbaarMetDeclaratieIntrekken\r\n }\r\n\r\n function isSignCardListZichtbaar (intrekbaarheidStatus: IntrekbaarheidStatusType): boolean {\r\n return intrekbaarheidStatus === IntrekbaarheidStatusType.IntrekbaarMetDeclaratieIntrekken\r\n }\r\n\r\n function i18nIdxDeclaratieIntrekkenMessage (intrekbaarheidStatus: IntrekbaarheidStatusType): string {\r\n return intrekbaarheidStatus === IntrekbaarheidStatusType.IntrekbaarMetDeclaratieAnnuleren\r\n ? 'signCard.bodyDeclaratieAnnuleren'\r\n : 'signCard.bodyDeclaratieIntrekken'\r\n }\r\n\r\n function i18nIdxSuccessNotificationMessage (intrekbaarheidStatus: IntrekbaarheidStatusType): string {\r\n return intrekbaarheidStatus === IntrekbaarheidStatusType.IntrekbaarMetDeclaratieAnnuleren\r\n ? 'intrekken.successNotificationDeclaratieAnnuleren'\r\n : 'intrekken.successNotificationDeclaratieIntrekken'\r\n }\r\n\r\n function i18nIdxWatNuBodyMessage (intrekbaarheidStatus: IntrekbaarheidStatusType): string {\r\n return intrekbaarheidStatus === IntrekbaarheidStatusType.IntrekbaarMetDeclaratieAnnuleren\r\n ? 'intrekken.watNu.bodyDeclaratieAnnuleren'\r\n : 'intrekken.watNu.bodyDeclaratieIntrekken'\r\n }\r\n\r\n function isWatNuLijstZichtbaar (intrekbaarheidStatus: IntrekbaarheidStatusType): boolean {\r\n return intrekbaarheidStatus === IntrekbaarheidStatusType.IntrekbaarMetDeclaratieIntrekken\r\n }\r\n\r\n return {\r\n isIntrekbaar,\r\n i18nIdxDeclaratieIntrekkenMessage,\r\n isSignCardListZichtbaar,\r\n i18nIdxSuccessNotificationMessage,\r\n isWatNuLijstZichtbaar,\r\n i18nIdxWatNuBodyMessage,\r\n }\r\n}\r\n","import { declaratieClient, declaratieKassabonClient } from '@/dataAccess/clients'\r\nimport { mapKassabon, mapKassabonLite } from '@/domains/declaraties/dataAccess/mappers/mapKassabon'\r\nimport { mapWeergevenFeestdagenuitkering } from '@/domains/declaraties/dataAccess/mappers/mapWeergevenDeclaratie'\r\nimport {\r\n emptyWeergevenFeestdagenUitkering,\r\n} from '@/domains/declaraties/dataAccess/models/ingediend/WeergevenFeestdagenUitkering'\r\nimport { emptyKassabon, Kassabon } from '@/domains/declaraties/dataAccess/models/kassabon/Kassabon'\r\nimport { ref, Ref } from '@vue/composition-api'\r\nimport { useDataEnrichmentIngediendeDeclaratie } from '@/domains/declaraties/pages/useDataEnrichmentIngediendeDeclaratie'\r\nimport {\r\n WeergevenFeestdagenUitkeringExtended,\r\n} from '@/domains/declaraties/dataAccess/models/ingediend/WeergevenFeestdagenUitkeringExtended'\r\nimport { currentUserRepository } from '@/domains/account/dataAccess/CurrentUserRepository'\r\nimport { useDataEnrichmentDeclaratieIntrekbaarheid } from '@/domains/declaraties/pages/weergeven/useDataEnrichmentDeclaratieIntrekbaarheid'\r\nimport { useI18n } from 'phoenix'\r\n\r\nexport const useFeestdagenUitkeringRetriever = (declaratieUid: string) => {\r\n const declaratie: Ref = ref(emptyWeergevenFeestdagenUitkering)\r\n const kassabon: Ref = ref(emptyKassabon)\r\n const isReady: Ref = ref(false)\r\n const { calculatePeriod, calculateCombinedStatus } = useDataEnrichmentIngediendeDeclaratie()\r\n const {\r\n isIntrekbaar,\r\n i18nIdxDeclaratieIntrekkenMessage,\r\n isSignCardListZichtbaar,\r\n i18nIdxSuccessNotificationMessage,\r\n isWatNuLijstZichtbaar,\r\n i18nIdxWatNuBodyMessage,\r\n } = useDataEnrichmentDeclaratieIntrekbaarheid()\r\n const { t } = useI18n()\r\n\r\n const loadKassabon = async (): Promise => {\r\n const userModel = await currentUserRepository().awaitModel()\r\n\r\n if (userModel.isZorgverlener) {\r\n const kassabonData = await declaratieKassabonClient().getByDeclaratieUidLight(declaratieUid)\r\n return mapKassabonLite(kassabonData, declaratie.value.naamBudgethouder)\r\n } else {\r\n const kassabonData = await declaratieKassabonClient().getByDeclaratieUid(declaratieUid)\r\n return mapKassabon(kassabonData, declaratie.value.naamBegunstigde)\r\n }\r\n }\r\n\r\n const loadData = async () => {\r\n isReady.value = false\r\n const declaratieVm = declaratieClient().getDeclaratie(declaratieUid)\r\n const mappedDeclaratie = mapWeergevenFeestdagenuitkering(await declaratieVm, declaratieUid)\r\n declaratie.value = {\r\n ...mappedDeclaratie,\r\n combinedStatus: calculateCombinedStatus(mappedDeclaratie),\r\n periode: calculatePeriod(mappedDeclaratie),\r\n isIntrekbaar: isIntrekbaar(mappedDeclaratie.intrekbaarheidStatus),\r\n declaratieIntrekkenMessage: t(i18nIdxDeclaratieIntrekkenMessage(mappedDeclaratie.intrekbaarheidStatus)),\r\n isSignCardListZichtbaar: isSignCardListZichtbaar(mappedDeclaratie.intrekbaarheidStatus),\r\n successNotificationMessage: t(i18nIdxSuccessNotificationMessage(mappedDeclaratie.intrekbaarheidStatus)),\r\n isWatNuLijstZichtbaar: isWatNuLijstZichtbaar(mappedDeclaratie.intrekbaarheidStatus),\r\n watNuBodyMessage: t(i18nIdxWatNuBodyMessage(mappedDeclaratie.intrekbaarheidStatus)),\r\n }\r\n kassabon.value = await loadKassabon()\r\n isReady.value = true\r\n }\r\n\r\n return {\r\n declaratie,\r\n kassabon,\r\n isReady,\r\n loadData,\r\n }\r\n}\r\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p-card',{staticClass:\"mt-3 mb-6\",attrs:{\"title\":_vm.$t('cardTitles.declaratie'),\"heading-level\":\"3\",\"data-ui\":\"declaratie-card\"}},[_c('p-value-grid',[_c('p-value-row',{attrs:{\"label\":_vm.$t('labels.indiendatum'),\"data-ui\":\"indiendatum-weergeven\"}},[_vm._v(\" \"+_vm._s(_vm.$d(_vm.declaratie.indiendatum, \"long\"))+\" \")]),_c('p-value-row',{attrs:{\"label\":_vm.$t('labels.gedeclareerdBedrag', {\n wetType: _vm.$t((\"wetType.\" + (_vm.declaratie.wet))),\n }),\"data-ui\":\"gedeclareerd-bedrag-wet-weergeven\"}},[_vm._v(\" \"+_vm._s(_vm.$n(_vm.declaratie.bedrag, \"currency\"))+\" \")]),(_vm.declaratie.totaalBijbetaald > 0)?_c('p-value-row',{attrs:{\"label\":_vm.$t('labels.zelfBijbetaald'),\"data-ui\":\"zelf-bijbetaald-weergeven\"}},[_vm._v(\" \"+_vm._s(_vm.$n(_vm.declaratie.totaalBijbetaald, \"currency\"))+\" \")]):_vm._e(),_c('p-value-row',{attrs:{\"label\":_vm.$t('labels.resterendBudget'),\"data-ui\":\"resterend-budget-weergeven\"}},[_vm._v(\" \"+_vm._s(_vm.$n(_vm.declaratie.resterendBedrag, \"currency\"))+\" \")]),(!!_vm.declaratie.naamBudgethouder)?_c('p-value-row',{attrs:{\"label\":_vm.$t('labels.budgethouder'),\"data-ui\":\"naam-budgethouder-weergeven\"}},[_vm._v(\" \"+_vm._s(_vm.declaratie.naamBudgethouder)+\" \")]):_vm._e(),_c('p-value-row',{attrs:{\"label\":_vm.$t('labels.declaratiePeriode'),\"data-ui\":\"declaratiePeriode-weergeven\"}},[_vm._v(\" \"+_vm._s(_vm.declaratie.periode)+\" \")]),(!!_vm.declaratie.declaratienummer)?_c('p-value-row',{attrs:{\"label\":_vm.$t('labels.declaratienummer'),\"data-ui\":\"declaratienummer-weergeven\"}},[_vm._v(\" \"+_vm._s(_vm.declaratie.declaratienummer)+\" \")]):_vm._e(),_c('p-value-row',{attrs:{\"label\":_vm.$t('labels.status'),\"data-ui\":\"combined-status-weergeven\"}},[_vm._v(\" \"+_vm._s(_vm.declaratie.combinedStatus)+\" \")]),(_vm.translatedAfkeurReden.length > 0 || _vm.declaratie.redenAfkeuringOverige)?_c('p-value-row',{attrs:{\"label\":_vm.$t('labels.redenAfgekeurd'),\"data-ui\":\"reden-afgekeurd\"}},[(_vm.translatedAfkeurReden.length > 1 || (_vm.translatedAfkeurReden.length === 1 && _vm.declaratie.redenAfkeuringOverige))?_c('ul',{attrs:{\"aria-label\":_vm.$t('labels.redenAfgekeurdListA11y')}},[_vm._l((_vm.translatedAfkeurReden),function(item){return _c('li',{key:(\"reden-afgekeurd-list-item-\" + (item.id)),domProps:{\"textContent\":_vm._s(item.text)}})}),(_vm.declaratie.redenAfkeuringOverige)?_c('li',{key:\"reden-afgekeurd-list-item-36\",domProps:{\"textContent\":_vm._s(_vm.declaratie.redenAfkeuringOverige)}}):_vm._e()],2):(_vm.translatedAfkeurReden.length === 1 && !_vm.declaratie.redenAfkeuringOverige)?_c('span',{staticClass:\"pre-wrap\",domProps:{\"textContent\":_vm._s(_vm.translatedAfkeurReden[0].text)}}):(_vm.declaratie.redenAfkeuringOverige)?_c('span',{staticClass:\"pre-wrap\",domProps:{\"textContent\":_vm._s(_vm.declaratie.redenAfkeuringOverige)}}):_vm._e()]):_vm._e()],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import declaratiesIndienenI18n from '@/domains/declaraties/pages/weergeven/i18n'\r\nimport { mergeI18nDeep } from '@/utils/i18nUtils'\r\n\r\nconst i18n = {\r\n messages: {\r\n nl: {\r\n cardTitles: {\r\n declaratie: 'Declaratie',\r\n begunstigde: 'Begunstigde',\r\n documenten: 'Ingescande papieren documenten',\r\n },\r\n labels: {\r\n indiendatum: 'Indiendatum',\r\n gedeclareerdBedrag: 'Gedeclareerd bedrag ({wetType})',\r\n resterendBudget: 'Resterend budget feestdagenuitkering',\r\n budgethouder: 'Budgethouder',\r\n declaratiePeriode: 'Declaratieperiode',\r\n declaratienummer: 'Declaratienummer',\r\n status: 'Status',\r\n naamOntvanger: 'Zorgverlener',\r\n adres: 'Adres',\r\n documenten: 'Documenten',\r\n begunstigdeBurgerservicenummer: 'Burgerservicenummer zorgverlener',\r\n begunstigdeRelatienummer: 'Relatienummer zorgverlener',\r\n zorgovereenkomst: 'Zorgovereenkomst',\r\n begunstigdeAgbCode: 'AGB-code',\r\n zelfBijbetaald: 'Zelf bijbetaald',\r\n },\r\n },\r\n },\r\n}\r\n\r\nmergeI18nDeep(i18n, declaratiesIndienenI18n)\r\n\r\nexport default i18n\r\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\n\r\nimport { computed, defineComponent } from '@vue/composition-api'\r\nimport i18n from './i18n'\r\nimport { WeergevenFeestdagenUitkeringExtended } from '@/domains/declaraties/dataAccess/models/ingediend/WeergevenFeestdagenUitkeringExtended'\r\nimport { useI18n } from 'phoenix'\r\n\r\nexport default defineComponent({\r\n name: 'DeclaratieCard',\r\n i18n,\r\n props: {\r\n declaratie: { type: Object as () => WeergevenFeestdagenUitkeringExtended, required: true },\r\n },\r\n setup (props) {\r\n const { t } = useI18n()\r\n const translatedAfkeurReden = computed(() => {\r\n return props.declaratie.redenenVanAfkeuring.map(r => {\r\n return {\r\n id: r,\r\n text: t(`redenAfkeuringType.${r}`),\r\n }\r\n })\r\n })\r\n\r\n return {\r\n translatedAfkeurReden,\r\n }\r\n },\r\n})\r\n","import mod from \"-!../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DeclaratieCard.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DeclaratieCard.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./DeclaratieCard.vue?vue&type=template&id=fc517bfe&scoped=true\"\nimport script from \"./DeclaratieCard.vue?vue&type=script&lang=ts\"\nexport * from \"./DeclaratieCard.vue?vue&type=script&lang=ts\"\nimport style0 from \"./DeclaratieCard.vue?vue&type=style&index=0&id=fc517bfe&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"fc517bfe\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p-card',{staticClass:\"mt-3 mb-6\",attrs:{\"title\":_vm.$t('cardTitles.begunstigde'),\"heading-level\":\"3\",\"data-ui\":\"begunstigde-card\"}},[(_vm.declaratie.naamBegunstigde)?_c('p-value-grid',[_c('p-value-row',{attrs:{\"label\":_vm.$t('labels.naamOntvanger'),\"data-ui\":\"naam-ontvanger-weergeven\"}},[_vm._v(\" \"+_vm._s(_vm.declaratie.naamBegunstigde)+\" \")]),(!!_vm.declaratie.begunstigdeBurgerservicenummer)?_c('p-value-row',{attrs:{\"label\":_vm.$t('labels.begunstigdeBurgerservicenummer'),\"data-ui\":\"begunstigde-burgerservicenummer\"}},[_vm._v(\" \"+_vm._s(_vm.declaratie.begunstigdeBurgerservicenummer)+\" \")]):_vm._e(),(!!_vm.declaratie.begunstigdeRelatienummer)?_c('p-value-row',{attrs:{\"label\":_vm.$t('labels.begunstigdeRelatienummer'),\"data-ui\":\"begunstigde-relatienummer\"}},[_vm._v(\" \"+_vm._s(_vm.declaratie.begunstigdeRelatienummer)+\" \")]):_vm._e(),(!!_vm.declaratie.begunstigdeAgbCode)?_c('p-value-row',{attrs:{\"label\":_vm.$t('labels.begunstigdeAgbCode'),\"data-ui\":\"begunstigde-agb-code\"}},[_vm._v(\" \"+_vm._s(_vm.declaratie.begunstigdeAgbCode)+\" \")]):_vm._e()],1):_vm._e(),(!!_vm.declaratie.bankrekening)?_c('bankrekening-weergeven',{attrs:{\"model\":_vm.declaratie.bankrekening}}):_vm._e(),(_vm.declaratie.zorgovereenkomstId && _vm.declaratie.zorgovereenkomstIngangsdatum)?_c('p-value-grid',[_c('p-value-row',{attrs:{\"label\":_vm.$t('labels.zorgovereenkomst'),\"data-ui\":\"begunstigde-zok\"}},[_c('declaratie-zok-periode',{attrs:{\"ingangs-datum\":_vm.declaratie.zorgovereenkomstIngangsdatum,\"eind-datum\":_vm.declaratie.zorgovereenkomstEinddatum || undefined,\"zok-uid\":_vm.declaratie.zorgovereenkomstId}})],1)],1):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\n\r\nimport { defineComponent } from '@vue/composition-api'\r\nimport BankrekeningWeergeven from '@/domains/account/components/Bankrekening/BankrekeningWeergeven.vue'\r\nimport i18n from './i18n'\r\nimport DeclaratieZokPeriode from '@/domains/declaraties/components/declaratieZokPeriode/DeclaratieZokPeriode.vue'\r\nimport { WeergevenFeestdagenUitkeringExtended } from '@/domains/declaraties/dataAccess/models/ingediend/WeergevenFeestdagenUitkeringExtended'\r\nexport default defineComponent({\r\n name: 'BegunstigdeCard',\r\n components: {\r\n BankrekeningWeergeven,\r\n DeclaratieZokPeriode,\r\n },\r\n i18n,\r\n props: {\r\n declaratie: { type: Object as () => WeergevenFeestdagenUitkeringExtended, required: true },\r\n },\r\n})\r\n","import mod from \"-!../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BegunstigdeCard.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BegunstigdeCard.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./BegunstigdeCard.vue?vue&type=template&id=47b505da\"\nimport script from \"./BegunstigdeCard.vue?vue&type=script&lang=ts\"\nexport * from \"./BegunstigdeCard.vue?vue&type=script&lang=ts\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { defineComponent, onMounted } from '@vue/composition-api'\r\nimport { useRouter } from 'phoenix'\r\nimport ScannedDocumentsCard from '@/domains/declaraties/pages/weergeven/components/ScannedDocumentsCard.vue'\r\nimport i18n from '@/domains/declaraties/pages/weergeven/i18n'\r\nimport WeergevenDeclaratie from '../WeergevenDeclaratie.vue'\r\nimport { useFeestdagenUitkeringRetriever } from './composable/useFeestdagenUitkeringRetriever'\r\nimport DeclaratieCard from './components/DeclaratieCard.vue'\r\nimport BegunstigdeCard from './components/BegunstigdeCard.vue'\r\n\r\nexport default defineComponent({\r\n name: 'WeergevenFeestdagenUitkering',\r\n i18n,\r\n components: {\r\n WeergevenDeclaratie,\r\n ScannedDocumentsCard,\r\n DeclaratieCard,\r\n BegunstigdeCard,\r\n },\r\n setup () {\r\n const { route } = useRouter()\r\n const declaratieUid = route.params.id || null\r\n const { declaratie, kassabon, isReady, loadData } = useFeestdagenUitkeringRetriever(declaratieUid)\r\n\r\n onMounted(async () => {\r\n await loadData()\r\n })\r\n\r\n return {\r\n isReady,\r\n declaratie,\r\n kassabon,\r\n declaratieUid,\r\n }\r\n },\r\n})\r\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./WeergevenFeestdagenUitkering.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./WeergevenFeestdagenUitkering.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./WeergevenFeestdagenUitkering.vue?vue&type=template&id=135f34ce&scoped=true\"\nimport script from \"./WeergevenFeestdagenUitkering.vue?vue&type=script&lang=ts\"\nexport * from \"./WeergevenFeestdagenUitkering.vue?vue&type=script&lang=ts\"\nimport style0 from \"./WeergevenFeestdagenUitkering.vue?vue&type=style&index=0&id=135f34ce&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"135f34ce\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('intrekken-declaratie',{attrs:{\"declaratie\":_vm.declaratie,\"kassabon\":_vm.kassabon,\"is-loading\":!_vm.isReady,\"amount\":_vm.declaratie.bedrag,\"back-route\":\"InzienDeclaratieFeestdagenuitkering\"}},[_c('div',[_c('declaratie-card',{attrs:{\"declaratie\":_vm.declaratie}}),_c('begunstigde-card',{attrs:{\"declaratie\":_vm.declaratie}}),(!!_vm.declaratie.overigeDocumenten && _vm.declaratie.overigeDocumenten.length > 0)?_c('scanned-documents-card',{attrs:{\"document-list\":_vm.declaratie.overigeDocumenten}}):_vm._e()],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('page-layout-standard',{attrs:{\"help-panel-items\":_vm.helpPanelItems},scopedSlots:_vm._u([(_vm.declaratie.isIntrekbaar && !_vm.isLoading && _vm.hasSlot())?{key:\"colRight\",fn:function(){return [_c('div',{staticClass:\"intrekken__spacer\"}),(!!_vm.kassabon.kassabonBlokken.length)?_c('kassabon',{attrs:{\"data\":_vm.kassabon,\"sticky\":\"\"}}):_vm._e()]},proxy:true}:null],null,true)},[(_vm.isLoading || !_vm.hasSlot())?_c('div',{staticClass:\"text-center mb-8\",attrs:{\"data-ui\":\"stepper-loading-spinner\"}},[_c('p-loading-indicator')],1):_c('div',{staticClass:\"d-flex flex-column\"},[(_vm.declaratie.isIntrekbaar)?_c('p-stepper',{attrs:{\"headers\":[_vm.$t('intrekken.steps.sign'), _vm.$t('intrekken.steps.confirmation')],\"submit-label\":_vm.$t('intrekken.buttons.submit'),\"navigate-step\":_vm.stepRouter.stepNumber},on:{\"navigate\":_vm.stepRouter.navigate},scopedSlots:_vm._u([{key:\"default\",fn:function(){return [_c('p-step',{attrs:{\"submit\":\"\"}},[_c('section',[_c('title-and-help',{attrs:{\"title\":_vm.$t('intrekken.steps.sign'),\"focusable-title\":((_vm.$t('intrekken.steps.sign')) + \" - Stap 1\"),\"data-ui-value\":\"help-mobile-trigger-intrekken\"}}),_c('div',[_vm._t(\"default\"),_c('intrekken-signature-form',{attrs:{\"amount\":_vm.amount,\"declaratie-id\":_vm.declaratieId,\"declaratie-intrekken-message\":_vm.declaratie.declaratieIntrekkenMessage,\"is-sign-card-list-zichtbaar\":_vm.declaratie.isSignCardListZichtbaar}}),_c('p-notify-required-field',{staticClass:\"mt-4 mb-4\",attrs:{\"data-ui\":\"notify-required\"}})],2)],1)]),_c('p-step',{attrs:{\"complete\":\"\"}},[_c('intrekken-declaratie-confirmation',{attrs:{\"success-notification-message\":_vm.declaratie.successNotificationMessage,\"wat-nu-body-message\":_vm.declaratie.watNuBodyMessage,\"is-wat-nu-lijst-zichtbaar\":_vm.declaratie.isWatNuLijstZichtbaar}})],1)]},proxy:true}],null,true)}):_c('div',[_c('p-alert',{staticClass:\"mb-6 mt-n3\",attrs:{\"title\":_vm.$t('errorMessages.declaratieNietIntrekbaar.title'),\"type\":\"error\"}},[_c('ul',_vm._l((_vm.$t('errorMessages.declaratieNietIntrekbaar.body')),function(item,index){return _c('li',{key:(\"declaratie-niet-intrekbaar-item-\" + index)},[_vm._v(\" \"+_vm._s(item)+\" \")])}),0)]),_c('p-button-container',[_c('p-router-link',{staticClass:\"py-2\",attrs:{\"data-ui\":\"previous-link\",\"to\":{name: _vm.backRoute, params: { id: _vm.declaratieId}}}},[_vm._v(\" \"+_vm._s(_vm.$t('links.previousPage'))+\" \")])],1)],1)],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p-form',{ref:\"formRef\",staticClass:\"mb-4 mb-md-6 mt-6\"},[_c('p-card',{staticClass:\"mt-10\",attrs:{\"title\":_vm.$t('signCard.title'),\"heading-level\":\"3\",\"dark\":\"\"}},[_c('p',[_vm._v(\" \"+_vm._s(_vm.declaratieIntrekkenMessage)+\" \")]),(_vm.isSignCardListZichtbaar)?_c('ul',[_c('li',[_vm._v(\" \"+_vm._s(_vm.$t('signCard.list.item', {amount: _vm.$n(_vm.amount, 'currency')}))+\" \")]),_c('li',[_vm._v(\" \"+_vm._s(_vm.$t('signCard.list.item2'))+\" \")]),_c('li',[_vm._v(\" \"+_vm._s(_vm.$t('signCard.list.item3'))+\" \")])]):_vm._e(),_c('p-value-grid',{staticClass:\"mt-9 mb-3\"},[_c('p-value-row',{attrs:{\"label\":_vm.$t('signCard.labels.date'),\"value\":_vm.$d(new Date(Date.now()), 'short')}})],1),_c('p-checkbox',{attrs:{\"id\":\"intrekking-ondertekend\",\"validation\":_vm.model.validations.signed,\"label\":_vm.$t('signCard.labels.sign'),\"data-ui\":\"intrekking-ondertekend\"},model:{value:(_vm.model.signed),callback:function ($$v) {_vm.$set(_vm.model, \"signed\", $$v)},expression:\"model.signed\"}})],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { useFormValidate } from '@/composables/useFormValidate'\r\nimport { IModelExtensions } from '@/dataAccess/IModelExtensions'\r\nimport { RepositoryBase } from '@/dataAccess/RepositoryBase'\r\nimport { BooleanFieldValidator } from '@/dataAccess/validation/BooleanFieldValidator'\r\nimport { ModelValidator } from '@/dataAccess/validation/ModelValidator'\r\nimport { computed, Ref } from '@vue/composition-api'\r\n\r\nexport function useSignatureValidation (formRef: Ref, unSignedError: string) {\r\n interface SignedModel {\r\n signed: boolean\r\n }\r\n\r\n interface SignedModelExtended extends SignedModel, IModelExtensions {\r\n }\r\n\r\n class ConfirmationValidator extends ModelValidator {\r\n signed: BooleanFieldValidator\r\n\r\n constructor (model: SignedModelExtended) {\r\n super(model)\r\n this.signed = new BooleanFieldValidator(this, {\r\n required: true,\r\n customValidation: computed(() => !model.signed ? unSignedError : null) as any,\r\n })\r\n }\r\n }\r\n const emptySignedModel = { signed: false }\r\n\r\n class ConfirmationRepository extends RepositoryBase {\r\n constructor () {\r\n super('ConfirmationRepository', emptySignedModel)\r\n }\r\n\r\n protected doAddValidations (model: SignedModelExtended): void {\r\n model.validations = new ConfirmationValidator(model)\r\n }\r\n }\r\n\r\n const repository = new ConfirmationRepository()\r\n repository.open()\r\n\r\n return {\r\n model: repository.modelRef,\r\n validate: useFormValidate({ formRef, repository }).validate,\r\n }\r\n}\r\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { defineComponent, ref } from '@vue/composition-api'\r\nimport { registerStepComponent, useI18n } from 'phoenix'\r\nimport i18n from './i18n'\r\nimport { declaratieClient } from '@/dataAccess/clients'\r\nimport { useSignatureValidation } from './useSignatureValidation'\r\n\r\nexport default defineComponent({\r\n name: 'IntrekkenSignatureForm',\r\n i18n,\r\n components: {},\r\n props: {\r\n amount: { type: Number, required: true, default: 0 },\r\n declaratieId: { type: String, required: true },\r\n declaratieIntrekkenMessage: { type: String, required: true },\r\n isSignCardListZichtbaar: { type: Boolean, reqired: true },\r\n },\r\n setup (props) {\r\n const { t } = useI18n()\r\n const formRef = ref(null)\r\n const { model, validate } = useSignatureValidation(formRef, t('signCard.labels.unSignedError'))\r\n let submitPromise: Promise | null = null\r\n\r\n const submit = async (): Promise => {\r\n return validate().then((validation) => {\r\n if (!submitPromise && validation) {\r\n submitPromise = declaratieClient().trekDeclaratieIn(props.declaratieId)\r\n .then(() => true)\r\n .finally(() => {\r\n submitPromise = null\r\n })\r\n } else {\r\n return false\r\n }\r\n return submitPromise\r\n })\r\n }\r\n\r\n registerStepComponent({ readyToProceed: submit })\r\n\r\n return {\r\n formRef,\r\n model,\r\n }\r\n },\r\n})\r\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./IntrekkenSignatureForm.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./IntrekkenSignatureForm.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./IntrekkenSignatureForm.vue?vue&type=template&id=099f2caa\"\nimport script from \"./IntrekkenSignatureForm.vue?vue&type=script&lang=ts\"\nexport * from \"./IntrekkenSignatureForm.vue?vue&type=script&lang=ts\"\nimport style0 from \"./IntrekkenSignatureForm.vue?vue&type=style&index=0&id=099f2caa&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('section',[_c('title-and-help',{attrs:{\"title\":_vm.$t('intrekken.steps.confirmation'),\"focusable-title\":((_vm.$t('intrekken.steps.confirmation')) + \" - Stap 2\"),\"data-ui-value\":\"help-mobile-trigger-intrekken-success\"}}),_c('div',[_c('p-alert',{staticClass:\"mt-4 mb-9\",attrs:{\"data-ui\":\"intrekken-success\",\"type\":\"success\",\"aria-live\":\"off\"}},[_vm._v(\" \"+_vm._s(_vm.successNotificationMessage)+\" \")]),_c('b',{attrs:{\"data-ui\":\"watNuTitle\"}},[_vm._v(\" \"+_vm._s(_vm.$t('intrekken.watNu.title'))+\" \")]),_c('p',{attrs:{\"data-ui\":\"watNuBody\"}},[_vm._v(\" \"+_vm._s(_vm.watNuBodyMessage)+\" \")]),(_vm.isWatNuLijstZichtbaar)?_c('ul',{attrs:{\"data-ui\":\"watNuLijst\"}},_vm._l((_vm.$t('intrekken.watNu.list')),function(item,index){return _c('li',{key:(\"wat-nu-list-item-\" + index)},[_vm._v(\" \"+_vm._s(item)+\" \")])}),0):_vm._e(),_c('p-button-container',{staticClass:\"flex-column align-start mt-10\"},[_c('b',[_vm._v(_vm._s(_vm.$t('intrekken.directNaar')))]),_c('p-router-link',{staticClass:\"py-2\",attrs:{\"data-ui\":\"overzicht-declaraties-link-desktop\",\"to\":{ name: 'OverzichtDeclaratie' }}},[_vm._v(\" \"+_vm._s(_vm.$t(\"links.bekijkDeclaratieoverzicht\"))+\" \")]),_c('p-router-link',{staticClass:\"py-2\",attrs:{\"data-ui\":\"startpagina-link-desktop\",\"to\":{ name: 'home' }}},[_vm._v(\" \"+_vm._s(_vm.$t('links.startpagina'))+\" \")])],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { defineComponent } from '@vue/composition-api'\r\nimport i18n from './i18n'\r\nimport TitleAndHelp from '@/components/entities/TitleAndHelp/TitleAndHelp.vue'\r\n\r\nexport default defineComponent({\r\n name: 'IntrekkenDeclaratieConfirmation',\r\n i18n,\r\n components: {\r\n TitleAndHelp,\r\n },\r\n props: {\r\n successNotificationMessage: { type: String, required: true },\r\n watNuBodyMessage: { type: String, required: true },\r\n isWatNuLijstZichtbaar: { type: Boolean, reqired: true },\r\n },\r\n})\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./IntrekkenDeclaratieConfirmation.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./IntrekkenDeclaratieConfirmation.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./IntrekkenDeclaratieConfirmation.vue?vue&type=template&id=349505f0\"\nimport script from \"./IntrekkenDeclaratieConfirmation.vue?vue&type=script&lang=ts\"\nexport * from \"./IntrekkenDeclaratieConfirmation.vue?vue&type=script&lang=ts\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { defineComponent } from '@vue/composition-api'\r\nimport { useHasSlot, useRouter, useStepRouter } from 'phoenix'\r\nimport Kassabon from '@/domains/declaraties/components/kassabon/Kassabon.vue'\r\nimport IntrekkenSignatureForm from './components/IntrekkenSignatureForm.vue'\r\nimport IntrekkenDeclaratieConfirmation from './IntrekkenDeclaratieConfirmation.vue'\r\nimport i18n from './i18n'\r\nimport { Kassabon as KassabonModel } from '@/domains/declaraties/dataAccess/models/kassabon/Kassabon'\r\nimport useDeclaratieHelpPanelItems from '../helpPanels/useDeclaratieHelpPanelItems'\r\nimport TitleAndHelp from '@/components/entities/TitleAndHelp/TitleAndHelp.vue'\r\nimport { IntrekbareDeclaratieExtended } from '@/domains/declaraties/dataAccess/models/ingediend/IntrekbareDeclaratieExtended'\r\n\r\nexport default defineComponent({\r\n name: 'IntrekkenDeclaratie',\r\n i18n,\r\n components: {\r\n Kassabon,\r\n IntrekkenSignatureForm,\r\n IntrekkenDeclaratieConfirmation,\r\n TitleAndHelp,\r\n },\r\n props: {\r\n declaratie: { type: Object as () => IntrekbareDeclaratieExtended, required: true },\r\n kassabon: { type: Object as () => KassabonModel, required: true },\r\n isLoading: { type: Boolean, required: true, default: true },\r\n amount: { type: Number, required: true, default: 0 },\r\n backRoute: { type: String, required: true },\r\n },\r\n setup (_props, { slots }) {\r\n const { route } = useRouter()\r\n const declaratieId = route.params.id || null\r\n const stepRouter = useStepRouter(['stap1', 'stap2'], 'step')\r\n const helpPanelItems = useDeclaratieHelpPanelItems()\r\n const hasSlot = useHasSlot(slots)\r\n return {\r\n stepRouter,\r\n declaratieId,\r\n helpPanelItems,\r\n hasSlot,\r\n }\r\n },\r\n})\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./IntrekkenDeclaratie.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./IntrekkenDeclaratie.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./IntrekkenDeclaratie.vue?vue&type=template&id=0054d304\"\nimport script from \"./IntrekkenDeclaratie.vue?vue&type=script&lang=ts\"\nexport * from \"./IntrekkenDeclaratie.vue?vue&type=script&lang=ts\"\nimport style0 from \"./IntrekkenDeclaratie.vue?vue&type=style&index=0&id=0054d304&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { defineComponent, onMounted } from '@vue/composition-api'\r\nimport IntrekkenDeclaratie from '../IntrekkenDeclaratie.vue'\r\nimport DeclaratieCard from './components/DeclaratieCard.vue'\r\nimport BegunstigdeCard from './components/BegunstigdeCard.vue'\r\nimport ScannedDocumentsCard from '../components/ScannedDocumentsCard.vue'\r\nimport i18n from '@/domains/declaraties/pages/weergeven/i18n'\r\nimport { useRouter } from 'phoenix'\r\nimport { useFeestdagenUitkeringRetriever } from './composable/useFeestdagenUitkeringRetriever'\r\n\r\nexport default defineComponent({\r\n name: 'IntrekkenFeestdagenUitkering',\r\n i18n,\r\n components: {\r\n IntrekkenDeclaratie,\r\n DeclaratieCard,\r\n BegunstigdeCard,\r\n ScannedDocumentsCard,\r\n },\r\n setup () {\r\n const { route } = useRouter()\r\n const declaratieUid = route.params.id || null\r\n const { declaratie, kassabon, isReady, loadData } = useFeestdagenUitkeringRetriever(declaratieUid)\r\n\r\n onMounted(async () => {\r\n await loadData()\r\n })\r\n\r\n return {\r\n isReady,\r\n declaratie,\r\n kassabon,\r\n }\r\n },\r\n})\r\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./IntrekkenFeestdagenUitkering.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./IntrekkenFeestdagenUitkering.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./IntrekkenFeestdagenUitkering.vue?vue&type=template&id=43681d32\"\nimport script from \"./IntrekkenFeestdagenUitkering.vue?vue&type=script&lang=ts\"\nexport * from \"./IntrekkenFeestdagenUitkering.vue?vue&type=script&lang=ts\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('weergeven-declaratie',{attrs:{\"kassabon\":_vm.kassabon,\"is-loading\":!_vm.isReady}},[_c('template',{slot:\"additional-buttons\"},[(_vm.declaratie.isIntrekbaar)?_c('p-button',{attrs:{\"data-ui\":\"declaratie-intrekken\",\"to\":{name: 'IntrekkenBijkomendeZorgkosten', params: { id: _vm.declaratieUid }}}},[_vm._v(\" \"+_vm._s(_vm.$t(\"buttons.declaratieIntrekken\"))+\" \")]):_vm._e()],1),_c('declaratie-card',{attrs:{\"declaratie\":_vm.declaratie}}),_c('begunstigde-card',{attrs:{\"declaratie\":_vm.declaratie}}),(!!_vm.declaratie.overigeDocumenten && _vm.declaratie.overigeDocumenten.length > 0)?_c('scanned-documents-card',{attrs:{\"document-list\":_vm.declaratie.overigeDocumenten}}):_vm._e()],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { BijkomendezorgkostenType } from '@/_generated/portalClient'\r\nimport { AfkeurbareDeclaratie, emptyAfkeurbareDeclaratie, emptyIntrekbareDeclaratie, IntrekbareDeclaratie } from './IngediendeDeclaratie'\r\nimport { emptyWeergevenDeclaratie, WeergevenDeclaratie } from './WeergevenDeclaratie'\r\nimport { Document } from '@/domains/remoteFile/dataAccess/models/Document'\r\n\r\nexport interface WeergevenBijkomendeZorgkosten extends WeergevenDeclaratie, IntrekbareDeclaratie, AfkeurbareDeclaratie {\r\n totaalBijbetaald: number,\r\n bijkomendeZorgkostenType: BijkomendezorgkostenType,\r\n betaalbewijzen: Document[]\r\n}\r\n\r\nexport const emptyWeergevenBijkomendeZorgkosten: WeergevenBijkomendeZorgkosten = {\r\n ...emptyWeergevenDeclaratie,\r\n ...emptyIntrekbareDeclaratie,\r\n ...emptyAfkeurbareDeclaratie,\r\n totaalBijbetaald: 0,\r\n bijkomendeZorgkostenType: BijkomendezorgkostenType.Onbekend,\r\n betaalbewijzen: [],\r\n}\r\n","import { declaratieClient, declaratieKassabonClient } from '@/dataAccess/clients'\r\nimport { mapKassabon, mapKassabonLite } from '@/domains/declaraties/dataAccess/mappers/mapKassabon'\r\nimport { mapWeergevenBijkomendeZorgkosten } from '@/domains/declaraties/dataAccess/mappers/mapWeergevenDeclaratie'\r\nimport {\r\n emptyWeergevenBijkomendeZorgkosten,\r\n} from '@/domains/declaraties/dataAccess/models/ingediend/WeergevenBijkomendeZorgkosten'\r\nimport { emptyKassabon, Kassabon } from '@/domains/declaraties/dataAccess/models/kassabon/Kassabon'\r\nimport { ref, Ref } from '@vue/composition-api'\r\nimport { useDataEnrichmentIngediendeDeclaratie } from '@/domains/declaraties/pages/useDataEnrichmentIngediendeDeclaratie'\r\nimport { useDataEnrichmentDeclaratieIntrekbaarheid } from '@/domains/declaraties/pages/weergeven/useDataEnrichmentDeclaratieIntrekbaarheid'\r\nimport {\r\n WeergevenBijkomendeZorgkostenExtended,\r\n} from '@/domains/declaraties/dataAccess/models/ingediend/WeergevenBijkomendeZorgkostenExtended'\r\nimport { currentUserRepository } from '@/domains/account/dataAccess/CurrentUserRepository'\r\nimport { useI18n } from 'phoenix'\r\n\r\nexport const useBijkomendeZorgkostenRetriever = (declaratieUid: string) => {\r\n const declaratie: Ref = ref(emptyWeergevenBijkomendeZorgkosten)\r\n const kassabon: Ref = ref(emptyKassabon)\r\n const isReady: Ref = ref(false)\r\n const { calculatePeriod, calculateCombinedStatus } = useDataEnrichmentIngediendeDeclaratie()\r\n const {\r\n isIntrekbaar,\r\n i18nIdxDeclaratieIntrekkenMessage,\r\n isSignCardListZichtbaar,\r\n i18nIdxSuccessNotificationMessage,\r\n isWatNuLijstZichtbaar,\r\n i18nIdxWatNuBodyMessage,\r\n } = useDataEnrichmentDeclaratieIntrekbaarheid()\r\n const { t } = useI18n()\r\n\r\n const loadKassabon = async (): Promise => {\r\n const userModel = await currentUserRepository().awaitModel()\r\n\r\n if (userModel.isZorgverlener) {\r\n const kassabonData = await declaratieKassabonClient().getByDeclaratieUidLight(declaratieUid)\r\n return mapKassabonLite(kassabonData, declaratie.value.naamBudgethouder)\r\n } else {\r\n const kassabonData = await declaratieKassabonClient().getByDeclaratieUid(declaratieUid)\r\n return mapKassabon(kassabonData, declaratie.value.naamBegunstigde)\r\n }\r\n }\r\n\r\n const loadData = async () => {\r\n isReady.value = false\r\n const declaratieVm = declaratieClient().getDeclaratie(declaratieUid)\r\n const mappedDeclaratie = mapWeergevenBijkomendeZorgkosten(await declaratieVm, declaratieUid)\r\n declaratie.value = {\r\n ...mappedDeclaratie,\r\n combinedStatus: calculateCombinedStatus(mappedDeclaratie),\r\n periode: calculatePeriod(mappedDeclaratie),\r\n isIntrekbaar: isIntrekbaar(mappedDeclaratie.intrekbaarheidStatus),\r\n declaratieIntrekkenMessage: t(i18nIdxDeclaratieIntrekkenMessage(mappedDeclaratie.intrekbaarheidStatus)),\r\n isSignCardListZichtbaar: isSignCardListZichtbaar(mappedDeclaratie.intrekbaarheidStatus),\r\n successNotificationMessage: t(i18nIdxSuccessNotificationMessage(mappedDeclaratie.intrekbaarheidStatus)),\r\n isWatNuLijstZichtbaar: isWatNuLijstZichtbaar(mappedDeclaratie.intrekbaarheidStatus),\r\n watNuBodyMessage: t(i18nIdxWatNuBodyMessage(mappedDeclaratie.intrekbaarheidStatus)),\r\n }\r\n kassabon.value = await loadKassabon()\r\n isReady.value = true\r\n }\r\n\r\n return {\r\n declaratie,\r\n kassabon,\r\n isReady,\r\n loadData,\r\n }\r\n}\r\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p-card',{staticClass:\"mt-3 mb-6\",attrs:{\"title\":_vm.$t('cardTitles.declaratie'),\"heading-level\":\"3\",\"data-ui\":\"declaratie-card\"}},[_c('p-value-grid',[_c('p-value-row',{attrs:{\"label\":_vm.$t('labels.indiendatum'),\"data-ui\":\"indiendatum-weergeven\"}},[_vm._v(\" \"+_vm._s(_vm.$d(_vm.declaratie.indiendatum, \"long\"))+\" \")]),_c('p-value-row',{attrs:{\"label\":_vm.$t('labels.bijkomendeZorgkostenType'),\"data-ui\":\"type-bijkomende-zorgkosten\"}},[_vm._v(\" \"+_vm._s(_vm.$t((\"bijkomendezorgkostenType.\" + (_vm.declaratie.bijkomendeZorgkostenType))))+\" \")]),_c('p-value-row',{attrs:{\"label\":_vm.$t('labels.gedeclareerdBedrag', {\n wetType: _vm.$t((\"wetType.\" + (_vm.declaratie.wet))),\n }),\"data-ui\":\"gedeclareerd-bedrag-wet-weergeven\"}},[_vm._v(\" \"+_vm._s(_vm.$n(_vm.declaratie.bedrag, \"currency\"))+\" \")]),(_vm.declaratie.totaalBijbetaald > 0)?_c('p-value-row',{attrs:{\"label\":_vm.$t('labels.zelfBijbetaald'),\"data-ui\":\"zelf-bijbetaald-weergeven\"}},[_vm._v(\" \"+_vm._s(_vm.$n(_vm.declaratie.totaalBijbetaald, \"currency\"))+\" \")]):_vm._e(),(_vm.declaratie.betaalbewijzen.length > 0)?_c('p-value-row',{attrs:{\"label\":_vm.$t('labels.betaalbewijzen'),\"data-ui\":\"betaalbewijzen-weergeven\"}},[_c('download-archive-files',{attrs:{\"document-list\":_vm.declaratie.betaalbewijzen}})],1):_vm._e(),(!!_vm.declaratie.naamBudgethouder)?_c('p-value-row',{attrs:{\"label\":_vm.$t('labels.budgethouder'),\"data-ui\":\"naam-budgethouder-weergeven\"}},[_vm._v(\" \"+_vm._s(_vm.declaratie.naamBudgethouder)+\" \")]):_vm._e(),_c('p-value-row',{attrs:{\"label\":_vm.$t('labels.declaratiePeriode'),\"data-ui\":\"declaratiePeriode-weergeven\"}},[_vm._v(\" \"+_vm._s(_vm.declaratie.periode)+\" \")]),(!!_vm.declaratie.declaratienummer)?_c('p-value-row',{attrs:{\"label\":_vm.$t('labels.declaratienummer'),\"data-ui\":\"declaratienummer-weergeven\"}},[_vm._v(\" \"+_vm._s(_vm.declaratie.declaratienummer)+\" \")]):_vm._e(),_c('p-value-row',{attrs:{\"label\":_vm.$t('labels.status'),\"data-ui\":\"combined-status-weergeven\"}},[_vm._v(\" \"+_vm._s(_vm.declaratie.combinedStatus)+\" \")]),(_vm.translatedAfkeurReden.length > 0 || _vm.declaratie.redenAfkeuringOverige)?_c('p-value-row',{attrs:{\"label\":_vm.$t('labels.redenAfgekeurd'),\"data-ui\":\"reden-afgekeurd\"}},[(_vm.translatedAfkeurReden.length > 1 || (_vm.translatedAfkeurReden.length === 1 && _vm.declaratie.redenAfkeuringOverige))?_c('ul',{attrs:{\"aria-label\":_vm.$t('labels.redenAfgekeurdListA11y')}},[_vm._l((_vm.translatedAfkeurReden),function(item){return _c('li',{key:(\"reden-afgekeurd-list-item-\" + (item.id)),domProps:{\"textContent\":_vm._s(item.text)}})}),(_vm.declaratie.redenAfkeuringOverige)?_c('li',{key:\"reden-afgekeurd-list-item-36\",domProps:{\"textContent\":_vm._s(_vm.declaratie.redenAfkeuringOverige)}}):_vm._e()],2):(_vm.translatedAfkeurReden.length === 1 && !_vm.declaratie.redenAfkeuringOverige)?_c('span',{staticClass:\"pre-wrap\",domProps:{\"textContent\":_vm._s(_vm.translatedAfkeurReden[0].text)}}):(_vm.declaratie.redenAfkeuringOverige)?_c('span',{staticClass:\"pre-wrap\",domProps:{\"textContent\":_vm._s(_vm.declaratie.redenAfkeuringOverige)}}):_vm._e()]):_vm._e()],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import declaratiesIndienenI18n from '@/domains/declaraties/pages/weergeven/i18n'\r\nimport { mergeI18nDeep } from '@/utils/i18nUtils'\r\n\r\nconst i18n = {\r\n messages: {\r\n nl: {\r\n cardTitles: {\r\n declaratie: 'Declaratie',\r\n begunstigde: 'Begunstigde',\r\n documenten: 'Ingescande papieren documenten',\r\n },\r\n labels: {\r\n indiendatum: 'Indiendatum',\r\n gedeclareerdBedrag: 'Gedeclareerd bedrag ({wetType})',\r\n budgethouder: 'Budgethouder',\r\n declaratiePeriode: 'Declaratieperiode',\r\n declaratienummer: 'Declaratienummer',\r\n status: 'Status',\r\n naamOntvanger: 'Zorgverlener',\r\n adres: 'Adres',\r\n documenten: 'Documenten',\r\n begunstigdeBurgerservicenummer: 'Burgerservicenummer zorgverlener',\r\n begunstigdeRelatienummer: 'Relatienummer zorgverlener',\r\n zorgovereenkomst: 'Zorgovereenkomst',\r\n begunstigdeAgbCode: 'AGB-code',\r\n zelfBijbetaald: 'Zelf bijbetaald',\r\n bijkomendeZorgkostenType: 'Type bijkomende zorgkosten',\r\n betaalbewijzen: 'Betaalbewijzen',\r\n },\r\n },\r\n },\r\n}\r\n\r\nmergeI18nDeep(i18n, declaratiesIndienenI18n)\r\n\r\nexport default i18n\r\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\n\r\nimport { computed, defineComponent } from '@vue/composition-api'\r\nimport i18n from './i18n'\r\nimport { WeergevenBijkomendeZorgkostenExtended } from '@/domains/declaraties/dataAccess/models/ingediend/WeergevenBijkomendeZorgkostenExtended'\r\nimport DownloadArchiveFiles from '@/domains/remoteFile/components/DownloadArchiveFiles.vue'\r\nimport { useI18n } from 'Phoenix'\r\n\r\nexport default defineComponent({\r\n name: 'DeclaratieCard',\r\n i18n,\r\n components: {\r\n DownloadArchiveFiles,\r\n },\r\n props: {\r\n declaratie: { type: Object as () => WeergevenBijkomendeZorgkostenExtended, required: true },\r\n },\r\n setup (props) {\r\n const { t } = useI18n()\r\n const translatedAfkeurReden = computed(() => {\r\n return props.declaratie.redenenVanAfkeuring.map(r => {\r\n return {\r\n id: r,\r\n text: t(`redenAfkeuringType.${r}`),\r\n }\r\n })\r\n })\r\n\r\n return {\r\n translatedAfkeurReden,\r\n }\r\n },\r\n})\r\n","import mod from \"-!../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DeclaratieCard.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DeclaratieCard.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./DeclaratieCard.vue?vue&type=template&id=38acacca&scoped=true\"\nimport script from \"./DeclaratieCard.vue?vue&type=script&lang=ts\"\nexport * from \"./DeclaratieCard.vue?vue&type=script&lang=ts\"\nimport style0 from \"./DeclaratieCard.vue?vue&type=style&index=0&id=38acacca&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"38acacca\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p-card',{staticClass:\"mt-3 mb-6\",attrs:{\"title\":_vm.$t('cardTitles.begunstigde'),\"heading-level\":\"3\",\"data-ui\":\"begunstigde-card\"}},[(_vm.declaratie.naamBegunstigde)?_c('p-value-grid',[_c('p-value-row',{attrs:{\"label\":_vm.$t('labels.naamOntvanger'),\"data-ui\":\"naam-ontvanger-weergeven\"}},[_vm._v(\" \"+_vm._s(_vm.declaratie.naamBegunstigde)+\" \")]),(!!_vm.declaratie.begunstigdeBurgerservicenummer)?_c('p-value-row',{attrs:{\"label\":_vm.$t('labels.begunstigdeBurgerservicenummer'),\"data-ui\":\"begunstigde-burgerservicenummer\"}},[_vm._v(\" \"+_vm._s(_vm.declaratie.begunstigdeBurgerservicenummer)+\" \")]):_vm._e(),(!!_vm.declaratie.begunstigdeRelatienummer)?_c('p-value-row',{attrs:{\"label\":_vm.$t('labels.begunstigdeRelatienummer'),\"data-ui\":\"begunstigde-relatienummer\"}},[_vm._v(\" \"+_vm._s(_vm.declaratie.begunstigdeRelatienummer)+\" \")]):_vm._e(),(!!_vm.declaratie.begunstigdeAgbCode)?_c('p-value-row',{attrs:{\"label\":_vm.$t('labels.begunstigdeAgbCode'),\"data-ui\":\"begunstigde-agb-code\"}},[_vm._v(\" \"+_vm._s(_vm.declaratie.begunstigdeAgbCode)+\" \")]):_vm._e()],1):_vm._e(),(!!_vm.declaratie.bankrekening)?_c('bankrekening-weergeven',{attrs:{\"model\":_vm.declaratie.bankrekening}}):_vm._e(),(_vm.declaratie.zorgovereenkomstId && _vm.declaratie.zorgovereenkomstIngangsdatum)?_c('p-value-grid',[_c('p-value-row',{attrs:{\"label\":_vm.$t('labels.zorgovereenkomst'),\"data-ui\":\"begunstigde-zok\"}},[_c('declaratie-zok-periode',{attrs:{\"ingangs-datum\":_vm.declaratie.zorgovereenkomstIngangsdatum,\"eind-datum\":_vm.declaratie.zorgovereenkomstEinddatum || undefined,\"zok-uid\":_vm.declaratie.zorgovereenkomstId}})],1)],1):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\n\r\nimport { defineComponent } from '@vue/composition-api'\r\nimport BankrekeningWeergeven from '@/domains/account/components/Bankrekening/BankrekeningWeergeven.vue'\r\nimport i18n from './i18n'\r\nimport DeclaratieZokPeriode from '@/domains/declaraties/components/declaratieZokPeriode/DeclaratieZokPeriode.vue'\r\nimport { WeergevenBijkomendeZorgkostenExtended } from '@/domains/declaraties/dataAccess/models/ingediend/WeergevenBijkomendeZorgkostenExtended'\r\nexport default defineComponent({\r\n name: 'BegunstigdeCard',\r\n components: {\r\n BankrekeningWeergeven,\r\n DeclaratieZokPeriode,\r\n },\r\n i18n,\r\n props: {\r\n declaratie: { type: Object as () => WeergevenBijkomendeZorgkostenExtended, required: true },\r\n },\r\n})\r\n","import mod from \"-!../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BegunstigdeCard.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BegunstigdeCard.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./BegunstigdeCard.vue?vue&type=template&id=858ac290\"\nimport script from \"./BegunstigdeCard.vue?vue&type=script&lang=ts\"\nexport * from \"./BegunstigdeCard.vue?vue&type=script&lang=ts\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { defineComponent, onMounted } from '@vue/composition-api'\r\nimport { useRouter } from 'phoenix'\r\nimport ScannedDocumentsCard from '@/domains/declaraties/pages/weergeven/components/ScannedDocumentsCard.vue'\r\nimport i18n from '@/domains/declaraties/pages/weergeven/i18n'\r\nimport WeergevenDeclaratie from '../WeergevenDeclaratie.vue'\r\nimport { useBijkomendeZorgkostenRetriever } from './composable/useBijkomendeZorgkostenRetriever'\r\nimport DeclaratieCard from './components/DeclaratieCard.vue'\r\nimport BegunstigdeCard from './components/BegunstigdeCard.vue'\r\n\r\nexport default defineComponent({\r\n name: 'WeergevenBijkomendeZorgkosten',\r\n i18n,\r\n components: {\r\n WeergevenDeclaratie,\r\n ScannedDocumentsCard,\r\n DeclaratieCard,\r\n BegunstigdeCard,\r\n },\r\n setup () {\r\n const { route } = useRouter()\r\n const declaratieUid = route.params.id || null\r\n const { declaratie, kassabon, isReady, loadData } = useBijkomendeZorgkostenRetriever(declaratieUid)\r\n\r\n onMounted(async () => {\r\n await loadData()\r\n })\r\n\r\n return {\r\n isReady,\r\n declaratie,\r\n kassabon,\r\n declaratieUid,\r\n }\r\n },\r\n})\r\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./WeergevenBijkomendeZorgkosten.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./WeergevenBijkomendeZorgkosten.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./WeergevenBijkomendeZorgkosten.vue?vue&type=template&id=2d5c08bc&scoped=true\"\nimport script from \"./WeergevenBijkomendeZorgkosten.vue?vue&type=script&lang=ts\"\nexport * from \"./WeergevenBijkomendeZorgkosten.vue?vue&type=script&lang=ts\"\nimport style0 from \"./WeergevenBijkomendeZorgkosten.vue?vue&type=style&index=0&id=2d5c08bc&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"2d5c08bc\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('intrekken-declaratie',{attrs:{\"declaratie\":_vm.declaratie,\"kassabon\":_vm.kassabon,\"is-loading\":!_vm.isReady,\"amount\":_vm.declaratie.bedrag,\"back-route\":\"InzienDeclaratieBijkomendeZorgkosten\"}},[_c('div',[_c('declaratie-card',{attrs:{\"declaratie\":_vm.declaratie}}),_c('begunstigde-card',{attrs:{\"declaratie\":_vm.declaratie}}),(!!_vm.declaratie.overigeDocumenten && _vm.declaratie.overigeDocumenten.length > 0)?_c('scanned-documents-card',{attrs:{\"document-list\":_vm.declaratie.overigeDocumenten}}):_vm._e()],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { defineComponent, onMounted } from '@vue/composition-api'\r\nimport IntrekkenDeclaratie from '../IntrekkenDeclaratie.vue'\r\nimport DeclaratieCard from './components/DeclaratieCard.vue'\r\nimport BegunstigdeCard from './components/BegunstigdeCard.vue'\r\nimport ScannedDocumentsCard from '../components/ScannedDocumentsCard.vue'\r\nimport i18n from '@/domains/declaraties/pages/weergeven/i18n'\r\nimport { useRouter } from 'phoenix'\r\nimport { useBijkomendeZorgkostenRetriever } from './composable/useBijkomendeZorgkostenRetriever'\r\n\r\nexport default defineComponent({\r\n name: 'IntrekkenBijkomendeZorgkosten',\r\n i18n,\r\n components: {\r\n IntrekkenDeclaratie,\r\n DeclaratieCard,\r\n BegunstigdeCard,\r\n ScannedDocumentsCard,\r\n },\r\n setup () {\r\n const { route } = useRouter()\r\n const declaratieUid = route.params.id || null\r\n const { declaratie, kassabon, isReady, loadData } = useBijkomendeZorgkostenRetriever(declaratieUid)\r\n\r\n onMounted(async () => {\r\n await loadData()\r\n })\r\n\r\n return {\r\n isReady,\r\n declaratie,\r\n kassabon,\r\n }\r\n },\r\n})\r\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./IntrekkenBijkomendeZorgkosten.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./IntrekkenBijkomendeZorgkosten.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./IntrekkenBijkomendeZorgkosten.vue?vue&type=template&id=fa1d5364\"\nimport script from \"./IntrekkenBijkomendeZorgkosten.vue?vue&type=script&lang=ts\"\nexport * from \"./IntrekkenBijkomendeZorgkosten.vue?vue&type=script&lang=ts\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('page-layout-standard',{attrs:{\"help-panel-items\":_vm.helpPanelItems},scopedSlots:_vm._u([{key:\"colRight\",fn:function(){return [_c('div',{staticClass:\"factuur-reiskosten__spacer\"}),(_vm.repository.kassabonRepository.hasValidModel && _vm.isReady)?_c('kassabon',{attrs:{\"data\":_vm.repository.kassabonRepository.modelRef,\"is-updating\":_vm.repository.kassabonRepository.isUpdating,\"sticky\":\"\"}}):_vm._e()]},proxy:true}])},[(!_vm.isReady)?_c('div',{staticClass:\"text-center mb-8\"},[_c('p-loading-indicator')],1):_vm._e(),(_vm.isReady)?[(!_vm.repository.model.hasNoRemainingBudget && _vm.repository.model.budgetten && _vm.repository.model.budgetten.length)?_c('p-stepper',{attrs:{\"headers\":[_vm.$t('steps.declaratie'), _vm.$t('steps.controle'), _vm.$t('steps.ingediend')],\"submit-label\":_vm.$t('buttons.indienen'),\"navigate-step\":_vm.stepRouter.stepNumber},on:{\"navigate\":_vm.stepRouter.navigate},scopedSlots:_vm._u([{key:\"default\",fn:function(){return [_c('p-step',{attrs:{\"save\":\"\",\"save-on-next\":\"\"}},[_c('factuur-reiskosten-opstellen',{attrs:{\"repository\":_vm.repository}})],1),_c('p-step',{attrs:{\"submit\":\"\",\"save\":\"\"}},[_c('factuur-reiskosten-controleren',{attrs:{\"repository\":_vm.repository}})],1),_c('p-step',{attrs:{\"complete\":\"\"}},[_c('factuur-reiskosten-ingediend',{attrs:{\"repository\":_vm.repository}})],1)]},proxy:true}],null,false,776793777)}):_vm._e(),(_vm.isReady)?_c('div',[(_vm.repository.model.hasNoRemainingBudget || !_vm.repository.model.budgetten || !_vm.repository.model.budgetten.length)?_c('div',{staticClass:\"mt-md-n3\"},[_c('p-alert',{key:\"fr-error-geen-tkbs\",staticClass:\"mb-6\",attrs:{\"role\":\"status\",\"type\":\"error\",\"data-ui\":\"fr-alert-geen-tkbs\"}},[_c('p',[_vm._v(_vm._s(_vm.$t('errorMessages.factuurReiskosten.geenBudgetten')))])]),_c('p-button-container',[_c('p-button',{attrs:{\"to\":{name: 'IndienenDeclaratie'},\"preset\":\"previous\"}},[_vm._v(\" \"+_vm._s(_vm.$t('backToIndienenDeclaratie'))+\" \")])],1)],1):_vm._e()]):_vm._e()]:_vm._e()],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { mergeI18nDeep } from '@/utils/i18nUtils'\r\nimport declaratiesIndienenI18n from '../i18n'\r\n\r\nconst i18n = {\r\n messages: {\r\n nl: {\r\n opstellen: {\r\n reiskosten: {\r\n title: 'Declareren factuur reiskosten budgethouder',\r\n uitleg: 'Heeft u (de budgethouder) reiskosten gemaakt waarvoor u geen zorgovereenkomst kan afsluiten? ' +\r\n 'Bijvoorbeeld een reis met het openbaar vervoer of een taxi. ' +\r\n 'Dan kunt u de reiskosten hier declareren als uw gemeente of zorgkantoor dat toestaat. ' +\r\n 'Vraag aan uw vervoerder een factuur of betaalbewijs.',\r\n factuurgegevens: 'Factuurgegevens',\r\n uitbetaaldNaGoedkeuring: 'Het factuurbedrag wordt pas uitbetaald als de declaratie is goegekeurd door de SVB. ' +\r\n 'Op dat moment wordt ook de stand van uw budget bijgewerkt.',\r\n betaalgegevens: 'Betaalgegevens',\r\n },\r\n budgetCard: {\r\n title: 'Budget',\r\n },\r\n budgetTekort: 'U heeft {amount} tekort aan budget om deze declaratie te laten uitbetalen. Controleer of u de declaratie correct heeft ' +\r\n 'ingevuld. Pas de declaratie zo nodig aan. Het is mogelijk in de volgende stap uw declaratie ter goedkeuring in te dienen bij de SVB. ' +\r\n 'Na goedkeuring door de SVB kunt u het tekort aan budget zelf bijbetalen van uw eigen rekening. U kunt de declaratie ook opslaan en ' +\r\n 'later beslissen wat u met deze declaratie wilt doen.',\r\n },\r\n controle: {\r\n factuurReiskostenCard: {\r\n title: 'Factuur reiskosten budgethouder',\r\n },\r\n betaalgegevensCard: {\r\n title: 'Betaalgegevens',\r\n },\r\n controlerenEnOndertekenenCard: {\r\n notice: 'Heeft u de declaratie goed gecontroleerd? De declaratie wordt ter goedkeuring aangeboden bij de SVB.',\r\n },\r\n },\r\n ingediend: {\r\n declaratieIngediend: 'Uw declaratie is ingediend.',\r\n watNu: {\r\n body: 'De declaratie wordt beoordeeld door de SVB. U krijgt hiervan bericht.',\r\n },\r\n },\r\n labels: {\r\n budgetSelectie: 'Budget | Budgetten',\r\n selectBudget: 'Kies een budget',\r\n beschikbaarBedrag: 'Beschikbaar bedrag',\r\n resterendBedrag: 'Resterend bedrag',\r\n factuurUploaden: 'Factuur uploaden',\r\n bestanden: 'Bestand(en)',\r\n periode: 'Periode',\r\n factuurnummer: 'Factuurnummer',\r\n factuurdatum: 'Factuurdatum',\r\n factuurbedrag: 'Factuurbedrag',\r\n iban: 'IBAN-nummer',\r\n bic: 'BIC-code',\r\n rekeningnummer: 'Rekeningnummer',\r\n banknaam: 'Banknaam',\r\n bankkantoor: 'Bankkantoor',\r\n adres: 'Adres',\r\n tenaamstelling: 'Tenaamstelling',\r\n budgetSelectieBedrag: 'bedrag',\r\n },\r\n hint: {\r\n reiskostenFactuurnummer: 'U mag letters en cijfers en de volgende tekens gebruiken: / - ? : ( ) . , \\' +',\r\n },\r\n errorMessages: {\r\n factuurReiskosten: {\r\n geenBudgetten: 'Er staat geen geldige toekenningsbeschikking met budget in het PGB Portaal. ' +\r\n 'Deze heeft u nodig om een declaratie in te dienen. In het scherm \"Overzicht toekenningsbeschikkingen\" ' +\r\n 'vindt u uw toekenningsbeschikkingen en de status ervan. Neem contact op met uw zorgkantoor ' +\r\n 'of gemeente als u vragen heeft.',\r\n },\r\n budget: {\r\n emptyField: 'U heeft nog geen budget gekozen. Kies een budget.',\r\n },\r\n periodeMaand: {\r\n emptyField: 'U heeft nog geen periode gekozen.',\r\n },\r\n factuurNummer: {\r\n emptyField: 'Vul het factuurnummer in.',\r\n maxLength: 'Vul maximaal 50 tekens in.',\r\n },\r\n factuurBedrag: {\r\n emptyField: 'Vul een factuurbedrag in.',\r\n invalid: 'Vul een geldig geldbedrag in.',\r\n },\r\n factuurDatum: {\r\n emptyDate: 'Vul de factuurdatum in.',\r\n minDate: 'De factuurdatum kan niet voor de begindatum van het gekozen budget ({date}) liggen.',\r\n maxDate: 'De factuurdatum kan niet na de einddatum van het gekozen budget of in de toekomst ({date}) liggen.',\r\n },\r\n bestanden: {\r\n emptyFiles: 'Upload een factuur.',\r\n },\r\n declaratieNietOndertekend: 'U heeft nog niet aangegeven dat alle gegevens naar waarheid zijn ingevuld.',\r\n },\r\n },\r\n },\r\n}\r\n\r\nmergeI18nDeep(i18n, declaratiesIndienenI18n)\r\n\r\nexport default i18n\r\n","import { ExtendedValidationResult, ModelValidator } from '@/dataAccess/validation/ModelValidator'\r\nimport { StringFieldValidator } from '@/dataAccess/validation/StringFieldValidator'\r\nimport { BooleanFieldValidator } from '@/dataAccess/validation/BooleanFieldValidator'\r\nimport { CurrencyWithNumberFieldValidator } from './CurrencyWithNumberFieldValidator'\r\nimport { FactuurReiskostenExtended } from '@/domains/declaraties/dataAccess/models/indienen/FactuurReiskostenExtended'\r\nimport { declaratieConceptClient } from '@/dataAccess/clients'\r\nimport { currentUserRepository } from '@/domains/account/dataAccess/CurrentUserRepository'\r\nimport {\r\n mapExtendedValidationResultFromValidationErrorViewModel,\r\n} from '@/dataAccess/mappers/mapExtendedValidationResult'\r\nimport { computed } from '@vue/composition-api'\r\nimport { dateStringOrEmpty, isAfter, today, toLocaleString, useI18n } from 'phoenix'\r\nimport { DateFieldValidator } from '@/dataAccess/validation/DateFieldValidator'\r\n\r\nexport class FactuurReiskostenValidator extends ModelValidator {\r\n factuurbedrag: CurrencyWithNumberFieldValidator\r\n factuurNummer: StringFieldValidator\r\n factuurDatum: DateFieldValidator\r\n geselecteerdeMaand: StringFieldValidator\r\n budgetSelectedId: StringFieldValidator\r\n\r\n declaratieOndertekend: BooleanFieldValidator\r\n\r\n constructor (model: FactuurReiskostenExtended) {\r\n super(model)\r\n const { t } = useI18n()\r\n\r\n this.nonReactive.validateDelay = 0\r\n\r\n this.factuurbedrag = new CurrencyWithNumberFieldValidator(this, {\r\n required: true,\r\n minValue: 0.01,\r\n numOfDecimals: 2,\r\n invalidMessage: 't:errorMessages.factuurBedrag.invalid',\r\n requiredMessage: 't:errorMessages.factuurBedrag.emptyField',\r\n })\r\n this.budgetSelectedId = new StringFieldValidator(this, {\r\n required: true,\r\n customValidation: computed(() => !model.budgetSelectedId ? 't:errorMessages.budget.emptyField' : null) as any,\r\n })\r\n this.geselecteerdeMaand = new StringFieldValidator(this, {\r\n required: true,\r\n requiredMessage: 't:errorMessages.periodeMaand.emptyField',\r\n })\r\n this.declaratieOndertekend = new BooleanFieldValidator(this, {\r\n required: true,\r\n customValidation: computed(() => !model.declaratieOndertekend ? 't:errorMessages.declaratieNietOndertekend' : null) as any,\r\n })\r\n this.factuurNummer = new StringFieldValidator(this, {\r\n maxLength: 50,\r\n requiredMessage: 't:errorMessages.factuurNummer.emptyField',\r\n })\r\n this.factuurDatum = new DateFieldValidator(this, {\r\n required: true,\r\n minDate: computed(() => {\r\n return model.budgetSelected\r\n ? dateStringOrEmpty(model.budgetSelected.ingangsDatum)\r\n : '2018-01-01'\r\n }) as any,\r\n minMessage: computed(() => {\r\n return t('errorMessages.factuurDatum.minDate', { date: toLocaleString(this.factuurDatum.minDate, '') })\r\n }) as any,\r\n maxDate: computed(() => {\r\n return model.budgetSelected && !isAfter(model.budgetSelected.eindDatum, today())\r\n ? dateStringOrEmpty(model.budgetSelected.eindDatum)\r\n : today()\r\n }) as any,\r\n maxMessage: computed(() => {\r\n return t('errorMessages.factuurDatum.maxDate', { date: toLocaleString(this.factuurDatum.maxDate, '') })\r\n }) as any,\r\n })\r\n }\r\n\r\n protected doValidateDelayed (): Promise | void {\r\n if (!this.model.factuurNummer) {\r\n return\r\n }\r\n const newServerValidatedObject = JSON.stringify(this.model.factuurNummer)\r\n if (newServerValidatedObject === (this.nonReactive as any).serverValidatedObject) {\r\n return\r\n }\r\n (this.nonReactive as any).serverValidatedObject = newServerValidatedObject\r\n return declaratieConceptClient()\r\n .valideerFactuurnummer(currentUserRepository().model.effectieveRelatie.uid, this.model.factuurNummer)\r\n .then((result) => {\r\n if (result.serverErrors) {\r\n const errors: ExtendedValidationResult[] = []\r\n for (const serverError of result.serverErrors) {\r\n const error = mapExtendedValidationResultFromValidationErrorViewModel(serverError)\r\n if (error && error.memberNames && error.memberNames[0] === 'Factuurnummer') {\r\n error.memberNames[0] = 'factuurNummer'\r\n }\r\n errors.push(error)\r\n }\r\n this.handleValidationResults(errors.filter(error => error.code !== 'emptyField'))\r\n }\r\n })\r\n }\r\n}\r\n","import { declaratieConceptClient, declaratieKassabonClient } from '@/dataAccess/clients'\r\nimport { currentUserRepository } from '@/domains/account/dataAccess/CurrentUserRepository'\r\nimport { computed } from '@vue/composition-api'\r\nimport { DeclaratieConceptBaseRepository } from './DeclaratieConceptBaseRepository'\r\nimport { UploadFactuurRepository } from './UploadFactuurRepository'\r\nimport { mapKassabon } from './mappers/mapKassabon'\r\nimport { DeclaratieConceptViewModel } from '@/_generated/portalClient'\r\nimport { Kassabon } from './models/kassabon/Kassabon'\r\nimport { AbortablePromise } from '@/utils/AbortablePromise'\r\nimport { KassabonRepository } from '@/domains/declaraties/components/kassabon/KassabonRepository'\r\nimport { FactuurReiskostenExtended } from '@/domains/declaraties/dataAccess/models/indienen/FactuurReiskostenExtended'\r\nimport {\r\n emptyFactuurReiskosten,\r\n FactuurReiskosten,\r\n} from '@/domains/declaraties/dataAccess/models/indienen/FactuurReiskosten'\r\nimport { FactuurReiskostenValidator } from '@/domains/declaraties/dataAccess/validators/FactuurReiskostenValidator'\r\nimport {\r\n mapDeclaratieConceptToFactuurReiskosten,\r\n mapToFactuurReiskosten,\r\n} from '@/domains/declaraties/dataAccess/mappers/mapFactuurReiskosten'\r\nimport { mapToDeclaratieConceptViewModel } from '@/domains/declaraties/dataAccess/mappers/mapIndienenConceptDeclaratie'\r\nimport {\r\n IndienenConceptDeclaratie,\r\n emptyIndienenConceptDeclaratie,\r\n} from '@/domains/declaraties/dataAccess/models/indienen/IndienenConceptDeclaratie'\r\nimport { Budgethouder } from '@/domains/account/dataAccess/models/relaties/Budgethouder'\r\nimport { BankrekeningRepository } from '@/domains/account/dataAccess/repositories/bankrekening/BankrekeningRepository'\r\nimport { logError } from 'phoenix'\r\n\r\nexport class FactuurReiskostenRepository extends DeclaratieConceptBaseRepository {\r\n public kassabonRepository: KassabonRepository\r\n public bankRepository: BankrekeningRepository\r\n public uploadFactuurRepository: UploadFactuurRepository\r\n\r\n constructor (public conceptUid?: string) {\r\n super('FactuurReiskostenRepository', emptyFactuurReiskosten, conceptUid)\r\n this.dependsOn(currentUserRepository())\r\n this.kassabonRepository = new KassabonRepository()\r\n this.addChild(this.kassabonRepository, 'kassabon')\r\n this.uploadFactuurRepository = new UploadFactuurRepository()\r\n this.addChild(this.uploadFactuurRepository, 'upload')\r\n this.bankRepository = new BankrekeningRepository()\r\n this.addChild(this.bankRepository, 'bankrekening')\r\n }\r\n\r\n protected handleSavedConceptData (concept: IndienenConceptDeclaratie) {\r\n this.setFactuurReiskostenModel(mapDeclaratieConceptToFactuurReiskosten(concept))\r\n }\r\n\r\n protected doOpen (): Promise {\r\n super.doOpen()\r\n return this.conceptUid ? this.loadSavedConcept() : this.getFactuurReiskosten()\r\n }\r\n\r\n protected doAddValidations (model: FactuurReiskostenExtended): void {\r\n model.validations = new FactuurReiskostenValidator(model)\r\n super.doAddValidations(model)\r\n }\r\n\r\n protected doExtendModel (model: FactuurReiskostenExtended) {\r\n super.doExtendModel(model)\r\n model.hasNoRemainingBudget = computed(() => model.budgetten\r\n ? model.budgetten.every(budget => !budget.overgeblevenBudget)\r\n : false\r\n ) as any\r\n model.maxBedrag = computed(() => {\r\n if (model.budgetten && model.budgetSelectedId) {\r\n const selectedBudget = model.budgetten.find(budget => budget.id === model.budgetSelectedId)\r\n\r\n return selectedBudget ? selectedBudget.overgeblevenBudget : 0\r\n }\r\n\r\n return 0\r\n }\r\n ) as any\r\n model.leftoverBudget = computed(() => (model.maxBedrag || 0) - (model.factuurbedrag || 0)) as any\r\n model.budgetSelected = computed(() => model.budgetSelectedId && model.budgetten && model.budgetten.length\r\n ? model.budgetten.find(b => b.id === model.budgetSelectedId)\r\n : null\r\n ) as any\r\n // PD-80069: deze flow heeft geen iDEAL tijdens de flow, maar pas na goedkeuring, als je een tekort hebt wordt deze standaard op true gezet, maar dan kan je niet indienen,\r\n // vandaar hardcoded op false.\r\n model.hasIdealPayment = false\r\n model.canSave = computed(() => this.model.budgetSelectedId !== null) as any\r\n }\r\n\r\n protected doAddWatchers () {\r\n super.doAddWatchers()\r\n\r\n this.watchSingle(() => this.model.budgetSelectedId, () => {\r\n if (this.model && this.model.budgetten && this.model.budgetten.length) {\r\n this.triggerUpdateKassabon()\r\n }\r\n })\r\n\r\n this.watchSingle(() => this.model.factuurDatum, () => {\r\n if (this.model.budgetSelected) {\r\n this.triggerUpdateKassabon()\r\n }\r\n })\r\n\r\n this.watchSingle(() => this.model.factuurbedrag, () => {\r\n if (this.model.budgetSelected) {\r\n this.triggerUpdateKassabon()\r\n }\r\n })\r\n }\r\n\r\n public onBudgetIdChange = () => {\r\n this.forceUpdate()\r\n }\r\n\r\n public onDateChange = (e: { year: number | null, month: number | null }) => {\r\n this.model.geselecteerdJaar = e.year || 0\r\n this.model.geselecteerdeMaand = e.month || null\r\n if (!e.year || !e.month) {\r\n this.kassabonRepository.reset()\r\n }\r\n if (this.model.budgetSelected) {\r\n this.triggerUpdateKassabon()\r\n }\r\n this.forceUpdate()\r\n }\r\n\r\n protected isAllowed (factuurReiskosten: FactuurReiskosten): boolean {\r\n return !!(\r\n factuurReiskosten.budgetten &&\r\n factuurReiskosten.budgetten.length\r\n )\r\n }\r\n\r\n protected async getFactuurReiskosten () {\r\n const budgethouderId = await currentUserRepository().getBudgethouderUid()\r\n const concept = await declaratieConceptClient().getNewConcept(budgethouderId, this.model.declaratieType)\r\n const factuurReiskosten = mapToFactuurReiskosten(concept.factuurReiskosten)\r\n this.setFactuurReiskostenModel(factuurReiskosten)\r\n }\r\n\r\n private setFactuurReiskostenModel (factuurReiskosten: FactuurReiskosten | null) {\r\n if (factuurReiskosten && this.isAllowed(factuurReiskosten)) {\r\n this.setDataModel(factuurReiskosten)\r\n }\r\n }\r\n\r\n protected canUpdateKassabon (): boolean {\r\n return this.model.budgetSelected !== null && !!this.model.geselecteerdJaar && !!this.model.geselecteerdeMaand\r\n }\r\n\r\n protected getDeclaratieConcept () {\r\n return mapToDeclaratieConceptViewModel({\r\n ...emptyIndienenConceptDeclaratie,\r\n conceptId: this.model.conceptUid || '',\r\n factuurReiskosten: this.model,\r\n declaratieType: this.model.declaratieType,\r\n budgethouder: currentUserRepository().model.effectieveRelatie as Budgethouder,\r\n }, this.model.declaratieType)\r\n }\r\n\r\n protected callUpdateKassabon (concept: DeclaratieConceptViewModel): AbortablePromise {\r\n return declaratieKassabonClient().callWithAbort((client) =>\r\n client.update({ declaratie: concept, metWerkgeverslasten: false })\r\n .then(data => {\r\n if (typeof data.isValid !== 'undefined' && !data.isValid) {\r\n logError('Error in kassabon:', data.serverErrors)\r\n }\r\n return mapKassabon(data, '', false)\r\n }))\r\n }\r\n}\r\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('section',[_c('title-and-help',{attrs:{\"title\":_vm.$t('opstellen.title'),\"focusable-title\":(\"Stap 1 - \" + (_vm.$t('opstellen.title')))}}),_c('p-form',{ref:\"formRef\",attrs:{\"delay-validation\":_vm.delayValidation}},[_c('p-card',{key:\"reiskosten-opstellen\",staticClass:\"mt-3\",attrs:{\"data-ui\":\"reiskosten-budget-card\",\"title\":_vm.$t('opstellen.budgetCard.title'),\"heading-level\":\"3\"}},[_c('p',[_vm._v(\" \"+_vm._s(_vm.$t('opstellen.reiskosten.uitleg'))+\" \")]),_c('budget-selectie',{attrs:{\"validation\":_vm.model.validations.budgetSelectedId,\"collection\":_vm.budgetCollectionItems,\"id\":\"budgetSelectieRadioButtons\",\"select-label\":_vm.$tc('labels.budgetSelectie', _vm.budgetCollectionItems.length),\"default-option-label\":_vm.$t('labels.selectBudget')},on:{\"input\":_vm.budgetIdChangeHandler},model:{value:(_vm.model.budgetSelectedId),callback:function ($$v) {_vm.$set(_vm.model, \"budgetSelectedId\", $$v)},expression:\"model.budgetSelectedId\"}})],1),(_vm.model.budgetSelectedId && _vm.model.budgetSelected)?_c('p-card',{key:\"reiskosten-factuurgegevens\",staticClass:\"mt-6\",attrs:{\"data-ui\":\"reiskosten-card\",\"title\":_vm.$t('opstellen.reiskosten.factuurgegevens'),\"heading-level\":\"3\"}},[(_vm.dateList.length)?_c('date-period-select',{attrs:{\"year\":_vm.model.geselecteerdJaar,\"month\":_vm.model.geselecteerdeMaand,\"validation\":_vm.model.validations.geselecteerdeMaand,\"date-list\":_vm.dateList,\"label\":_vm.$t('labels.periode'),\"data-ui\":\"reiskosten-periode\"},on:{\"date-change\":_vm.dateChangeHandler}}):_vm._e(),_c('p-text-field',{key:\"reiskosten-factuurnummer\",staticClass:\"input-width-sm-4\",attrs:{\"label\":_vm.$t('labels.factuurnummer'),\"hint\":_vm.$t('hint.reiskostenFactuurnummer'),\"validation\":_vm.model.validations.factuurNummer,\"data-ui\":\"factuurnummer\"},model:{value:(_vm.model.factuurNummer),callback:function ($$v) {_vm.$set(_vm.model, \"factuurNummer\", $$v)},expression:\"model.factuurNummer\"}}),_c('p-date-picker',{ref:\"factuurDatumRef\",staticClass:\"input-width-sm-4\",attrs:{\"validation\":_vm.model.validations.factuurDatum,\"active-picker-start\":_vm.activePickerStartRef,\"picker-date\":_vm.pickerDateRef,\"label\":_vm.$t('labels.factuurdatum'),\"data-ui\":\"reiskosten-factuurdatum\"},model:{value:(_vm.model.factuurDatum),callback:function ($$v) {_vm.$set(_vm.model, \"factuurDatum\", $$v)},expression:\"model.factuurDatum\"}}),_c('currency-field',{attrs:{\"label\":_vm.$t('labels.factuurbedrag'),\"validation\":_vm.model.validations.factuurbedrag,\"data-ui\":\"reiskosten-factuurbedrag\"},model:{value:(_vm.model.factuurbedrag),callback:function ($$v) {_vm.$set(_vm.model, \"factuurbedrag\", $$v)},expression:\"model.factuurbedrag\"}}),_c('p-alert',{staticClass:\"mt-2 mb-10\",attrs:{\"aria-live\":\"off\",\"type\":\"info\"}},[_vm._v(\" \"+_vm._s(_vm.$t('opstellen.reiskosten.uitbetaaldNaGoedkeuring'))+\" \")]),_c('file-upload',{staticClass:\"mb-n8\",attrs:{\"id\":\"factuur-file-upload\",\"data-ui\":\"reiskosten-factuur-upload\",\"archived-files\":_vm.factuur.gearchiveerdeBestanden,\"label\":_vm.$t('labels.factuurUploaden'),\"extensions\":_vm.extensions,\"validation\":_vm.factuur.validations.bestanden},on:{\"uploadingInProgress\":function (isUploading) { return _vm.uploadingInProgress = isUploading; },\"removeArchivedFile\":_vm.onRemoveArchivedFile},model:{value:(_vm.factuur.bestanden),callback:function ($$v) {_vm.$set(_vm.factuur, \"bestanden\", $$v)},expression:\"factuur.bestanden\"}})],1):_vm._e(),(_vm.model.budgetSelectedId)?_c('p-card',{key:\"reiskosten-betaalgegevens\",staticClass:\"mt-6\",attrs:{\"data-ui\":\"reiskosten-card\",\"title\":_vm.$t('opstellen.reiskosten.betaalgegevens'),\"heading-level\":\"3\"}},[_c('bankrekening',{staticClass:\"mt-2 mb-n2\",attrs:{\"repository\":_vm.repository.bankRepository}})],1):_vm._e()],1),_c('p-notify-required-field',{staticClass:\"mt-4\"}),_c('p-alert',{class:['mt-6', {'factuur-reiskosten__budget-warning--loading': _vm.updatingKassabon}],attrs:{\"type\":\"warning\",\"aria-live\":\"polite\",\"data-ui\":\"factuur-reiskosten-tekort-warning\",\"show-alert\":_vm.model.zelfBijbetalenBedrag > 0 && _vm.repository.kassabonRepository.hasValidModel}},[_vm._v(\" \"+_vm._s(_vm.$t('opstellen.budgetTekort', {amount: _vm.$n(_vm.model.zelfBijbetalenBedrag, 'currency')}))+\" \")]),_c('opslaan',{attrs:{\"show-saved-dialog\":_vm.showSavedDialog,\"show-cannot-save-message\":_vm.showCannotSaveMessage,\"show-failed-save-message\":_vm.showFailedSaveMessage}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { computed, defineComponent, ref, toRefs, watch } from '@vue/composition-api'\r\nimport i18n from './i18n'\r\nimport { useReadyToProceedOnValidate } from '@/composables/useReadyToProceedOnValidate'\r\nimport CurrencyField from '@/components/entities/CurrencyField/CurrencyField.vue'\r\nimport FileUpload from '@/components/entities/FileUpload/FileUpload.vue'\r\nimport DatePeriodSelect from '@/components/entities/DatePeriodSelect/DatePeriodSelect.vue'\r\nimport { BudgetSelectie } from '@/domains/declaraties/components'\r\nimport { FactuurReiskostenRepository } from '@/domains/declaraties/dataAccess/FactuurReiskostenRepository'\r\nimport Bankrekening from '@/domains/account/components/Bankrekening/Bankrekening.vue'\r\nimport Opslaan from '@/domains/declaraties/components/opslaan/Opslaan.vue'\r\nimport { useOpslaan } from '@/domains/declaraties/pages/useOpslaan'\r\nimport { route } from '@/domains/declaraties/routes/routeItems'\r\nimport { isBetween, monthsBetween, getPickerStart, useI18n } from 'phoenix'\r\nimport { IDateListItem } from '@/components/entities/DatePeriodSelect/types'\r\nimport { DeclaratieBudget } from '@/domains/declaraties/dataAccess/models/DeclaratieBudget'\r\nimport { IBudgetCollectionItem } from '@/domains/declaraties/components/budgetSelectie/types'\r\nimport TitleAndHelp from '@/components/entities/TitleAndHelp/TitleAndHelp.vue'\r\n\r\nexport default defineComponent({\r\n components: { CurrencyField, FileUpload, DatePeriodSelect, BudgetSelectie, Bankrekening, Opslaan, TitleAndHelp },\r\n name: 'FactuurReiskostenOpstellen',\r\n i18n,\r\n props: {\r\n repository: { type: Object as () => FactuurReiskostenRepository, required: true },\r\n },\r\n setup (props: { repository: FactuurReiskostenRepository }) {\r\n const { repository } = toRefs(props)\r\n const factuurDatumRef = ref(null)\r\n const uploadingInProgress = ref(false)\r\n const extensions = ['jpg', 'jpeg', 'tif', 'tiff', 'png', 'pdf', 'doc', 'docx']\r\n const save = useOpslaan(repository.value, route.IndienenDeclaratieFactuurReiskostenBudgethouder)\r\n const budgetSelectedId = computed(() => repository.value.model.budgetSelectedId)\r\n const budgetSelected = computed(() => repository.value.model.budgetSelected)\r\n const activePickerStartRef = ref('YEAR') // YEAR / MONTH / DATE\r\n const pickerDateRef = ref(null) // YYYY-MM\r\n const { t } = useI18n()\r\n\r\n const mapDeclaratieBudgetToBudget = (decBudget: DeclaratieBudget): IBudgetCollectionItem => ({\r\n id: decBudget.id || '',\r\n wet: decBudget.wet,\r\n verstrekkerNaam: decBudget.verstrekkerNaam || '',\r\n ingangsDatum: decBudget.ingangsDatum || '',\r\n eindDatum: decBudget.eindDatum || '',\r\n restantBedrag: decBudget.overgeblevenBudget || 0,\r\n bedragLabel: t('labels.budgetSelectieBedrag'),\r\n })\r\n\r\n const budgetCollectionItems = repository.value.model.budgetten ? repository.value.model.budgetten.map(mapDeclaratieBudgetToBudget) : []\r\n\r\n const dateList = computed(() => {\r\n const list: IDateListItem[] = []\r\n if (budgetSelectedId.value && budgetSelected) {\r\n const monthsDiff = monthsBetween(budgetSelected.value && budgetSelected.value.ingangsDatum, budgetSelected.value && budgetSelected.value.eindDatum)\r\n\r\n for (const [year, months] of Object.entries(monthsDiff)) {\r\n list.push({\r\n year: Number(year),\r\n months: months.map(month => month + 1),\r\n })\r\n }\r\n }\r\n return list\r\n })\r\n\r\n watch(() => budgetSelected.value, (newBudget, oldBudget) => {\r\n if (newBudget) {\r\n const { type, date } = getPickerStart(newBudget.ingangsDatum, newBudget.eindDatum)\r\n activePickerStartRef.value = type\r\n pickerDateRef.value = date\r\n\r\n const currentFactuurDatum = factuurDatumRef.value && factuurDatumRef.value.value\r\n if (oldBudget && currentFactuurDatum && !isBetween(currentFactuurDatum, [newBudget.ingangsDatum, newBudget.eindDatum])) {\r\n repository.value.model.factuurDatum = null\r\n }\r\n }\r\n })\r\n\r\n return {\r\n ...useReadyToProceedOnValidate({ repository: repository.value, save }),\r\n factuurDatumRef,\r\n model: repository.value.modelRef,\r\n updatingKassabon: repository.value.kassabonRepository.isUpdating,\r\n uploadingInProgress,\r\n extensions,\r\n factuur: repository.value.uploadFactuurRepository.model, // TODO: PD-77513 fix upload component. It has a broken v-model binding. replace v-show with v-if.\r\n onRemoveArchivedFile: (id: string) => repository.value.uploadFactuurRepository.removeArchivedFile(id),\r\n delayValidation: computed(() => ({\r\n waitFor: () => repository.value.isValidAfterWaitingForAllForcedUpdateCalls(),\r\n isValid: () => repository.value.isCurrentStateValidFinalState,\r\n })),\r\n showCannotSaveMessage: repository.value.showCannotSaveMessage,\r\n showSavedDialog: repository.value.showSavedDialog,\r\n showFailedSaveMessage: repository.value.showFailedSaveMessage,\r\n dateChangeHandler: repository.value.onDateChange,\r\n budgetIdChangeHandler: repository.value.onBudgetIdChange,\r\n dateList,\r\n activePickerStartRef,\r\n pickerDateRef,\r\n budgetCollectionItems,\r\n }\r\n },\r\n})\r\n\r\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FactuurReiskostenOpstellen.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FactuurReiskostenOpstellen.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./FactuurReiskostenOpstellen.vue?vue&type=template&id=4a7f4d65\"\nimport script from \"./FactuurReiskostenOpstellen.vue?vue&type=script&lang=ts\"\nexport * from \"./FactuurReiskostenOpstellen.vue?vue&type=script&lang=ts\"\nimport style0 from \"./FactuurReiskostenOpstellen.vue?vue&type=style&index=0&id=4a7f4d65&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('section',[_c('title-and-help',{attrs:{\"title\":_vm.$t('controle.title'),\"focusable-title\":(\"Stap 2 - \" + (_vm.$t('controle.title')))}}),_c('p-card',{staticClass:\"mt-3\",attrs:{\"heading-level\":\"3\",\"title\":_vm.$t('controle.factuurReiskostenCard.title')}},[_c('p-value-grid',[(_vm.model.geselecteerdJaar && _vm.model.geselecteerdeMaand)?_c('p-value-row',{attrs:{\"data-ui\":\"fr-periode\",\"label\":_vm.$t('labels.periode'),\"value\":((_vm.$t((\"maand.\" + (_vm.model.geselecteerdeMaand)))) + \" \" + (_vm.model.geselecteerdJaar))}}):_vm._e(),(_vm.model.factuurNummer)?_c('p-value-row',{attrs:{\"data-ui\":\"fr-factuurnummer\",\"label\":_vm.$t('labels.factuurnummer'),\"value\":_vm.model.factuurNummer}}):_vm._e(),(_vm.model.factuurDatum)?_c('p-value-row',{attrs:{\"data-ui\":\"fr-factuurdatum\",\"label\":_vm.$t('labels.factuurdatum'),\"value\":_vm.$d(_vm.model.factuurDatum, 'short')}}):_vm._e(),(_vm.model.factuurbedrag)?_c('p-value-row',{attrs:{\"data-ui\":\"fr-factuurbedrag\",\"label\":_vm.$t('labels.factuurbedrag'),\"value\":_vm.model.factuurbedrag,\"currency\":\"\"}}):_vm._e(),(_vm.factuur.bestanden)?_c('p-value-row',{attrs:{\"data-ui\":\"fr-bestanden\",\"label\":_vm.$t('labels.bestanden'),\"ellipsis\":\"\"}},_vm._l((_vm.factuur.bestanden),function(file,idx){return _c('a',{key:file.response.id,staticClass:\"d-block mb-2 text-truncate\",attrs:{\"href\":\"#\",\"title\":file.name,\"data-ui\":(\"fr-bestand-\" + idx)},on:{\"click\":function($event){$event.preventDefault();return (function () { return _vm.downloadFile(file.response.id); }).apply(null, arguments)}}},[_vm._v(\" \"+_vm._s(file.name)+\" \")])}),0):_vm._e()],1)],1),_c('p-card',{staticClass:\"mt-10\",attrs:{\"title\":_vm.$t('controle.betaalgegevensCard.title'),\"heading-level\":\"3\"}},[_c('bankrekening-weergeven',{attrs:{\"model\":_vm.bankrekening}})],1),_c('p-form',{ref:\"formRef\",staticClass:\"mb-4 mb-md-6 mt-6\"},[_c('p-card',{staticClass:\"mt-10\",attrs:{\"title\":_vm.$t('controle.controlerenEnOndertekenenCard.title'),\"heading-level\":\"3\",\"dark\":\"\"}},[_c('strong',[_vm._v(_vm._s(_vm.$t('controle.controlerenEnOndertekenenCard.attention')))]),_c('p',[_vm._v(_vm._s(_vm.$t('controle.controlerenEnOndertekenenCard.notice')))]),_c('p-value-grid',{staticClass:\"mt-9 mb-3\"},[_c('p-value-row',{attrs:{\"label\":_vm.$t('labels.date'),\"value\":_vm.$d(new Date(), 'short')}})],1),_c('p-checkbox',{attrs:{\"id\":\"declaratie-ondertekend\",\"validation\":_vm.model.validations.declaratieOndertekend,\"label\":_vm.$t('controle.controlerenEnOndertekenenCard.signed')},model:{value:(_vm.model.declaratieOndertekend),callback:function ($$v) {_vm.$set(_vm.model, \"declaratieOndertekend\", $$v)},expression:\"model.declaratieOndertekend\"}})],1)],1),_c('p-notify-required-field'),(_vm.model.zelfBijbetalenBedrag)?_c('p-alert',{staticClass:\"mt-6\",attrs:{\"aria-live\":\"off\",\"type\":\"info\",\"data-ui\":\"zelf-bijbetalen-info\"}},[_vm._v(\" \"+_vm._s(_vm.$t('controle.controlerenEnOndertekenenCard.zelfBijbetalenBedragNaGoedkeuring'))+\" \")]):_vm._e(),_c('opslaan',{attrs:{\"show-saved-dialog\":_vm.showSavedDialog,\"show-cannot-save-message\":false,\"show-failed-save-message\":_vm.showFailedSaveMessage}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { FactuurReiskostenRepository } from '@/domains/declaraties/dataAccess/FactuurReiskostenRepository'\r\nimport { defineComponent, toRefs } from '@vue/composition-api'\r\nimport i18n from './i18n'\r\nimport { registerStepComponent } from 'phoenix'\r\nimport { useFormValidate } from '@/composables/useFormValidate'\r\nimport { useOpslaan } from '@/domains/declaraties/pages/useOpslaan'\r\nimport { route } from '@/domains/declaraties/routes/routeItems'\r\nimport BankrekeningWeergeven from '@/domains/account/components/Bankrekening/BankrekeningWeergeven.vue'\r\nimport Opslaan from '@/domains/declaraties/components/opslaan/Opslaan.vue'\r\nimport TitleAndHelp from '@/components/entities/TitleAndHelp/TitleAndHelp.vue'\r\n\r\nexport default defineComponent({\r\n name: 'FactuurReiskostenControleren',\r\n components: { BankrekeningWeergeven, Opslaan, TitleAndHelp },\r\n i18n,\r\n props: {\r\n repository: { type: Object as () => FactuurReiskostenRepository, required: true },\r\n },\r\n setup (props: { repository: FactuurReiskostenRepository }) {\r\n const { repository } = toRefs(props)\r\n\r\n const formValidate = useFormValidate({ repository: repository.value })\r\n\r\n let savePromise: Promise | null = null\r\n\r\n const submit = async (): Promise => {\r\n return formValidate.validate().then((validation) => {\r\n if (!savePromise && validation) {\r\n savePromise = repository.value.submit()\r\n .then(() => true)\r\n .catch(() => false)\r\n .finally(() => {\r\n savePromise = null\r\n })\r\n } else {\r\n return false\r\n }\r\n return savePromise\r\n })\r\n }\r\n const save = useOpslaan(repository.value, route.IndienenDeclaratieFactuurReiskostenBudgethouder)\r\n registerStepComponent({ readyToProceed: submit, save })\r\n\r\n return {\r\n ...formValidate,\r\n model: repository.value.model,\r\n factuur: repository.value.uploadFactuurRepository.model,\r\n bankrekening: repository.value.bankRepository.model,\r\n downloadFile: (id: string) => {\r\n repository.value.uploadFactuurRepository.downloadUploadedFile(id)\r\n },\r\n showSavedDialog: repository.value.showSavedDialog,\r\n showFailedSaveMessage: repository.value.showFailedSaveMessage,\r\n }\r\n },\r\n})\r\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FactuurReiskostenControleren.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FactuurReiskostenControleren.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./FactuurReiskostenControleren.vue?vue&type=template&id=238ec937\"\nimport script from \"./FactuurReiskostenControleren.vue?vue&type=script&lang=ts\"\nexport * from \"./FactuurReiskostenControleren.vue?vue&type=script&lang=ts\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.isReady)?_c('section',[_c('title-and-help',{attrs:{\"title\":_vm.$t('ingediend.title'),\"focusable-title\":(\"Stap 3 - \" + (_vm.$t('ingediend.title')))}}),_c('p-alert',{staticClass:\"mt-4 mb-9\",attrs:{\"data-ui\":\"fr-ingediend-melding\",\"type\":\"success\",\"aria-live\":\"off\"}},[_vm._v(\" \"+_vm._s(_vm.$t('ingediend.declaratieIngediend', {declaratienummer: _vm.repository.model.declaratienummer}))+\" \")]),_c('ingediend-links',{attrs:{\"body\":_vm.$t('ingediend.watNu.body')}})],1):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { FactuurReiskostenRepository } from '@/domains/declaraties/dataAccess/FactuurReiskostenRepository'\r\nimport { defineComponent } from '@vue/composition-api'\r\nimport i18n from './i18n'\r\nimport IngediendLinks from '../components/IngediendLinks.vue'\r\nimport TitleAndHelp from '@/components/entities/TitleAndHelp/TitleAndHelp.vue'\r\n\r\nexport default defineComponent({\r\n name: 'FactuurReiskostenIngediend',\r\n i18n,\r\n components: {\r\n IngediendLinks,\r\n TitleAndHelp,\r\n },\r\n props: {\r\n repository: { type: Object as () => FactuurReiskostenRepository, required: true },\r\n },\r\n setup (props: { repository: FactuurReiskostenRepository }) {\r\n return {\r\n isReady: props.repository.isReadyRef,\r\n }\r\n },\r\n})\r\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FactuurReiskostenIngediend.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FactuurReiskostenIngediend.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./FactuurReiskostenIngediend.vue?vue&type=template&id=035c7682\"\nimport script from \"./FactuurReiskostenIngediend.vue?vue&type=script&lang=ts\"\nexport * from \"./FactuurReiskostenIngediend.vue?vue&type=script&lang=ts\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FactuurReiskosten.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FactuurReiskosten.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./FactuurReiskosten.vue?vue&type=template&id=7e0393c0\"\nimport script from \"./FactuurReiskosten.vue?vue&type=script&lang=js\"\nexport * from \"./FactuurReiskosten.vue?vue&type=script&lang=js\"\nimport style0 from \"./FactuurReiskosten.vue?vue&type=style&index=0&id=7e0393c0&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","export const policy = {\r\n UiUploadenFactuur: 'UiUploadenFactuur',\r\n UiIndienenDeclaratie: 'UiIndienenDeclaratie',\r\n UiOverzichtDeclaratiesMaandloon: 'UiOverzichtDeclaratiesMaandloon',\r\n UiIndienenAlgemeneDeclaratie: 'UiIndienenAlgemeneDeclaratie',\r\n UiRaadplegenDeclaratie: 'UiRaadplegenDeclaratie',\r\n}\r\n","import IdealFailed from '@/domains/declaraties/components/ideal/IdealFailed.vue'\r\nimport IdealReturn from '@/domains/declaraties/components/ideal/IdealReturn.vue'\r\nimport IdealSuccess from '@/domains/declaraties/components/ideal/IdealSuccess.vue'\r\nimport UploadFactuur from '@/domains/declaraties/pages/factuur/UploadFactuur.vue'\r\nimport BijkomendeZorgkosten from '@/domains/declaraties/pages/indienen/bijkomendeZorgkosten/BijkomendeZorgkosten.vue'\r\nimport DeclaratieIndienen from '@/domains/declaraties/pages/indienen/DeclaratieIndienen.vue'\r\nimport FeestdagenUitkering from '@/domains/declaraties/pages/indienen/feestdagenUitkering/FeestdagenUitkering.vue'\r\nimport VerantwoordingsvrijBedrag from '@/domains/declaraties/pages/indienen/verantwoordingsvrijBedrag/VerantwoordingsvrijBedrag.vue'\r\nimport DeclaratiesOverzicht from '@/domains/declaraties/pages/overzicht/DeclaratiesOverzicht.vue'\r\nimport WeergevenVerantwoordingsvrijBedrag from '@/domains/declaraties/pages/weergeven/verantwoordingsvrijBedrag/WeergevenVerantwoordingsvrijBedrag.vue'\r\nimport WeergevenFeestdagenUitkering from '@/domains/declaraties/pages/weergeven/feestdagenUitkering/WeergevenFeestdagenUitkering.vue'\r\nimport IntrekkenFeestdagenUitkering from '@/domains/declaraties/pages/weergeven/feestdagenUitkering/IntrekkenFeestdagenUitkering.vue'\r\nimport WeergevenBijkomendeZorgkosten from '@/domains/declaraties/pages/weergeven/bijkomendezorgkosten/WeergevenBijkomendeZorgkosten.vue'\r\nimport IntrekkenBijkomendeZorgkosten from '@/domains/declaraties/pages/weergeven/bijkomendezorgkosten/IntrekkenBijkomendeZorgkosten.vue'\r\nimport FactuurReiskosten from '@/domains/declaraties/pages/indienen/factuurReiskosten/FactuurReiskosten.vue'\r\nimport { knockoutLink } from '@/externalRouter'\r\nimport { RouteItemDefinition } from '@/router/types'\r\nimport { policy } from './policies'\r\n\r\nexport const route = {\r\n uploadFactuur: 'uploadFactuur',\r\n IndienenDeclaratie: 'IndienenDeclaratie',\r\n IndienenDeclaratieGeleverdeZorgEnReiskostenZorgverlener: 'IndienenDeclaratieGeleverdeZorgEnReiskostenZorgverlener',\r\n IndienenDeclaratieFactuurReiskostenBudgethouder: 'IndienenDeclaratieFactuurReiskostenBudgethouder',\r\n IndienenDeclaratieBijkomendeZorgkostenZorgverlener: 'IndienenDeclaratieBijkomendeZorgkostenZorgverlener',\r\n IndienenDeclaratieFeestdagenuitkeringZorgverlener: 'IndienenDeclaratieFeestdagenuitkeringZorgverlener',\r\n IndienenDeclaratieWooninitiatiefEnkelHuis: 'IndienenDeclaratieWooninitiatiefEnkelHuis',\r\n IndienenDeclaratieIdealReturn: 'IndienenDeclaratieIdealReturn',\r\n IndienenDeclaratieFeestdagenuitkeringZorgverlenerConceptId: 'IndienenDeclaratieFeestdagenuitkeringZorgverlenerConceptId',\r\n IndienenDeclaratieVerantwoordingsvrijBedragBudgethouder: 'IndienenDeclaratieVerantwoordingsvrijBedragBudgethouder',\r\n IdealReturnSuccess: 'IdealReturnSuccess',\r\n IdealReturnFailed: 'IdealReturnFailed',\r\n OverzichtDeclaratie: 'OverzichtDeclaratie',\r\n IndienenAlgemeneDeclaratie: 'IndienenAlgemeneDeclaratie',\r\n InvoerenZorgverlenerDeclaratie: 'InvoerenZorgverlenerDeclaratie',\r\n BekijkenDeclaratie: 'BekijkenDeclaratie',\r\n IndienenDeclaratieConcept: 'IndienenDeclaratieConcept',\r\n BekijkenTeBeoordelenZorgverlenerDeclaratie: 'BekijkenTeBeoordelenZorgverlenerDeclaratie',\r\n BeoordeelZorgverlenerDeclaratie: 'BeoordeelZorgverlenerDeclaratie',\r\n BewerkenAfgekeurdeDeclaratieZorgverlener: 'BewerkenAfgekeurdeDeclaratieZorgverlener',\r\n BekijkenTeruggestuurdeZorgverlenerDeclaratie: 'BekijkenTeruggestuurdeZorgverlenerDeclaratie',\r\n InvoerenBestaandDeclaratieZorgverlener: 'InvoerenBestaandDeclaratieZorgverlener',\r\n InzienDeclaratieVerantwoordingsvrijBedrag: 'InzienDeclaratieVerantwoordingsvrijBedrag',\r\n InzienDeclaratieFeestdagenuitkering: 'InzienDeclaratieFeestdagenuitkering',\r\n IntrekkenFeestdagenUitkering: 'IntrekkenFeestdagenUitkering',\r\n InzienDeclaratieBijkomendeZorgkosten: 'InzienDeclaratieBijkomendeZorgkosten',\r\n IntrekkenBijkomendeZorgkosten: 'IntrekkenBijkomendeZorgkosten',\r\n}\r\n\r\nexport const routeItems: RouteItemDefinition[] = [\r\n {\r\n name: route.uploadFactuur,\r\n requires: policy.UiUploadenFactuur,\r\n route: {\r\n path: '/declaratie/uploadfactuur/:step',\r\n component: UploadFactuur,\r\n leavePageDialog: { type: 'stepper', skip: 'stap3' },\r\n defaultParams: { step: 'stap1' },\r\n },\r\n },\r\n {\r\n name: route.IndienenDeclaratie,\r\n requires: policy.UiIndienenDeclaratie,\r\n route: {\r\n path: '/declaratie/indienen',\r\n component: DeclaratieIndienen,\r\n },\r\n },\r\n {\r\n name: route.IndienenDeclaratieGeleverdeZorgEnReiskostenZorgverlener,\r\n requires: policy.UiIndienenDeclaratie,\r\n href: knockoutLink.declaratieIndienenGeleverdeZorgReiskosten,\r\n },\r\n {\r\n name: route.IndienenDeclaratieFactuurReiskostenBudgethouder,\r\n requires: policy.UiIndienenDeclaratie,\r\n route: {\r\n path: '/declaratie/indienen/reiskosten/:id?/:step',\r\n leavePageDialog: { type: 'stepper', skip: 'stap3' },\r\n defaultParams: { step: 'stap1', id: null },\r\n component: FactuurReiskosten,\r\n },\r\n },\r\n {\r\n name: route.IndienenDeclaratieBijkomendeZorgkostenZorgverlener,\r\n requires: policy.UiIndienenDeclaratie,\r\n route: {\r\n path: '/declaratie/indienen/bijkomendezorgkosten/:id?/:step',\r\n leavePageDialog: { type: 'stepper', skip: 'stap3' },\r\n defaultParams: { step: 'stap1', id: null },\r\n component: BijkomendeZorgkosten,\r\n },\r\n },\r\n {\r\n name: route.IndienenDeclaratieFeestdagenuitkeringZorgverlener,\r\n requires: policy.UiIndienenDeclaratie,\r\n route: {\r\n path: '/declaratie/indienen/feestdagenuitkering/:id?/:step/',\r\n leavePageDialog: { type: 'stepper', skip: 'stap3' },\r\n defaultParams: { step: 'stap1', id: null },\r\n component: FeestdagenUitkering,\r\n },\r\n },\r\n {\r\n name: route.IndienenDeclaratieWooninitiatiefEnkelHuis,\r\n requires: policy.UiIndienenDeclaratie,\r\n href: knockoutLink.declaratieIndienenWooninitiatief,\r\n },\r\n {\r\n name: route.IndienenDeclaratieIdealReturn,\r\n requires: policy.UiIndienenDeclaratie,\r\n route: {\r\n path: '/declaratie/ideal/return/:type/',\r\n component: IdealReturn,\r\n },\r\n },\r\n {\r\n name: route.IdealReturnSuccess,\r\n requires: policy.UiIndienenDeclaratie,\r\n route: {\r\n path: '/declaratie/ideal/success/:type/:id/:betalingskenmerk',\r\n component: IdealSuccess,\r\n },\r\n },\r\n {\r\n name: route.IdealReturnFailed,\r\n requires: policy.UiIndienenDeclaratie,\r\n route: {\r\n path: '/declaratie/ideal/failed/:type/',\r\n component: IdealFailed,\r\n },\r\n },\r\n {\r\n name: route.IndienenDeclaratieVerantwoordingsvrijBedragBudgethouder,\r\n requires: policy.UiIndienenDeclaratie,\r\n route: {\r\n path: '/declaratie/indienen/verantwoordingsvrijbedrag/:id?/:step/',\r\n leavePageDialog: { type: 'stepper', skip: 'stap3' },\r\n defaultParams: { step: 'stap1', id: null },\r\n component: VerantwoordingsvrijBedrag,\r\n },\r\n },\r\n {\r\n name: route.OverzichtDeclaratie,\r\n requires: policy.UiOverzichtDeclaratiesMaandloon,\r\n route: {\r\n path: '/declaratie/overzicht',\r\n component: DeclaratiesOverzicht,\r\n },\r\n },\r\n {\r\n name: route.IndienenAlgemeneDeclaratie,\r\n requires: policy.UiIndienenAlgemeneDeclaratie,\r\n href: knockoutLink.declaratieIndienenAlgemeen,\r\n },\r\n {\r\n name: route.InvoerenZorgverlenerDeclaratie,\r\n requires: policy.UiIndienenDeclaratie,\r\n href: knockoutLink.declaratieZorgverlenerInvoeren,\r\n },\r\n {\r\n name: route.BekijkenDeclaratie,\r\n requires: policy.UiRaadplegenDeclaratie,\r\n href: knockoutLink.declaratieBekijken,\r\n },\r\n {\r\n name: route.IndienenDeclaratieConcept,\r\n requires: policy.UiIndienenDeclaratie,\r\n href: knockoutLink.declaratieConceptIndienen,\r\n },\r\n {\r\n name: route.BekijkenTeBeoordelenZorgverlenerDeclaratie,\r\n requires: policy.UiRaadplegenDeclaratie,\r\n href: knockoutLink.bekijkenTeBeoordelenZorgverlenerDeclaratie,\r\n },\r\n {\r\n name: route.BeoordeelZorgverlenerDeclaratie,\r\n requires: policy.UiRaadplegenDeclaratie,\r\n href: knockoutLink.beoordeelZorgverlenerDeclaratie,\r\n },\r\n {\r\n name: route.BewerkenAfgekeurdeDeclaratieZorgverlener,\r\n requires: policy.UiRaadplegenDeclaratie,\r\n href: knockoutLink.bewerkenAfgekeurdeDeclaratieZorgverlener,\r\n },\r\n {\r\n name: route.BekijkenTeruggestuurdeZorgverlenerDeclaratie,\r\n requires: policy.UiRaadplegenDeclaratie,\r\n href: knockoutLink.bekijkenTeruggestuurdeZorgverlenerDeclaratie,\r\n },\r\n {\r\n name: route.InvoerenBestaandDeclaratieZorgverlener,\r\n requires: policy.UiRaadplegenDeclaratie,\r\n href: knockoutLink.invoerenBestaandDeclaratieZorgverlener,\r\n },\r\n {\r\n name: route.InzienDeclaratieVerantwoordingsvrijBedrag,\r\n requires: policy.UiOverzichtDeclaratiesMaandloon,\r\n route: {\r\n path: '/declaratie/inzien/verantwoordingsvrijbedrag/:id/',\r\n component: WeergevenVerantwoordingsvrijBedrag,\r\n },\r\n },\r\n {\r\n name: route.InzienDeclaratieFeestdagenuitkering,\r\n requires: policy.UiOverzichtDeclaratiesMaandloon,\r\n route: {\r\n path: '/declaratie/inzien/feestdagenuitkering/:id/',\r\n component: WeergevenFeestdagenUitkering,\r\n },\r\n },\r\n {\r\n name: route.IntrekkenFeestdagenUitkering,\r\n requires: policy.UiOverzichtDeclaratiesMaandloon,\r\n route: {\r\n path: '/declaratie/intrekken/feestdagenuitkering/:id/:step/',\r\n leavePageDialog: { type: 'stepper', skip: 'stap2' },\r\n defaultParams: { step: 'stap1' },\r\n component: IntrekkenFeestdagenUitkering,\r\n },\r\n },\r\n {\r\n name: route.InzienDeclaratieBijkomendeZorgkosten,\r\n requires: policy.UiOverzichtDeclaratiesMaandloon,\r\n route: {\r\n path: '/declaratie/inzien/bijkomendezorgkosten/:id/',\r\n component: WeergevenBijkomendeZorgkosten,\r\n },\r\n },\r\n {\r\n name: route.IntrekkenBijkomendeZorgkosten,\r\n requires: policy.UiOverzichtDeclaratiesMaandloon,\r\n route: {\r\n path: '/declaratie/intrekken/bijkomendezorgkosten/:id/:step/',\r\n leavePageDialog: { type: 'stepper', skip: 'stap2' },\r\n defaultParams: { step: 'stap1' },\r\n component: IntrekkenBijkomendeZorgkosten,\r\n },\r\n },\r\n]\r\n","import './assets/phoenix.css'\r\n\r\nexport * from './phoenix.esm'\r\n","export let eventBus: EventBus\r\n\r\nexport class EventBus {\r\n private events: {[key: string]: Function[]}\r\n readonly pausedEvents: string[]\r\n constructor () {\r\n this.events = {}\r\n this.pausedEvents = []\r\n }\r\n\r\n on (eventName: string, fn: Function) {\r\n this.events[eventName] = this.events[eventName] || []\r\n this.events[eventName].push(fn)\r\n }\r\n\r\n off (eventName: string, fn: Function) {\r\n if (this.events[eventName]) {\r\n for (let i = 0; i < this.events[eventName].length; i++) {\r\n if (this.events[eventName][i] === fn) {\r\n this.events[eventName].splice(i, 1)\r\n break\r\n }\r\n }\r\n }\r\n }\r\n\r\n resumeEvent (eventName: string) {\r\n const eventKey = this.pausedEvents.indexOf(eventName)\r\n if (eventKey !== -1) {\r\n this.pausedEvents.splice(eventKey, 1)\r\n }\r\n }\r\n\r\n isEventPaused (eventName: string) {\r\n return this.pausedEvents.indexOf(eventName) !== -1\r\n }\r\n\r\n pauseEvent (eventName: string) {\r\n this.pausedEvents.push(eventName)\r\n }\r\n\r\n emit (eventName: string, data?: any) {\r\n if (this.isEventPaused(eventName)) {\r\n return\r\n }\r\n if (this.events[eventName]) {\r\n this.events[eventName].forEach(function (fn) {\r\n fn(data)\r\n })\r\n }\r\n }\r\n}\r\n\r\nexport function registerGlobalEventBus () {\r\n eventBus = new EventBus()\r\n}\r\n","import { currentUserRepository } from '@/domains/account/dataAccess/CurrentUserRepository'\r\nimport { policyService } from '@/domains/account/dataAccess/PolicyService'\r\nimport { RolType } from '@/_generated/portalClient'\r\nimport {\r\n RequiredPolicy,\r\n RequiredPolicyAnd,\r\n RequiredPolicyConditional,\r\n RequiredPolicyNot,\r\n RequiredPolicyOr,\r\n RequiredPolicyPerRol,\r\n} from './types'\r\n\r\nexport function collectAllPolicies (requiresPolicy?: RequiredPolicy | RequiredPolicy[], result?: string[]) {\r\n result = result || []\r\n if (requiresPolicy) {\r\n if (typeof requiresPolicy === 'string') {\r\n if (result.indexOf(requiresPolicy) === -1) {\r\n result.push(requiresPolicy)\r\n }\r\n } else if (Array.isArray(requiresPolicy)) {\r\n requiresPolicy.forEach(item => collectAllPolicies(item, result))\r\n } else {\r\n collectConditionalPolicies(requiresPolicy, result)\r\n }\r\n }\r\n return result\r\n}\r\n\r\nfunction collectConditionalPolicies (requiresPolicy: RequiredPolicyConditional, result: string[]) {\r\n if ((requiresPolicy as RequiredPolicyOr).or) {\r\n collectAllPolicies((requiresPolicy as RequiredPolicyOr).or, result)\r\n }\r\n if ((requiresPolicy as RequiredPolicyAnd).and) {\r\n collectAllPolicies((requiresPolicy as RequiredPolicyAnd).and, result)\r\n }\r\n if ((requiresPolicy as RequiredPolicyNot).not) {\r\n collectAllPolicies((requiresPolicy as RequiredPolicyNot).not, result)\r\n }\r\n}\r\n\r\nexport function getRouteParms (path: string): string[] {\r\n const matches = path.match(/:[a-zA-Z]+/g) || []\r\n return matches.map(match => match.replace(':', ''))\r\n}\r\n\r\nexport interface HasRequiredPolicyOptions {\r\n hasPolicy: (policy: string) => boolean\r\n rol?: RolType\r\n}\r\n\r\nexport function hasRequiredPolicy (requiredPolicy: RequiredPolicy | undefined, notCachedValue = false): boolean {\r\n if (!requiredPolicy) {\r\n return true\r\n }\r\n const hasPolicy = (policy: string) => policyService().isAllowedCached(policy, notCachedValue)\r\n return hasRequiredPolicyCont(requiredPolicy, { rol: currentUserRepository().model.effectieveRol, hasPolicy })\r\n}\r\n\r\nexport function hasRequiredPolicyCont (requiredPolicy: RequiredPolicy | undefined, options: HasRequiredPolicyOptions): boolean {\r\n if (!requiredPolicy) {\r\n return true\r\n }\r\n if (typeof requiredPolicy === 'string') {\r\n return options.hasPolicy(requiredPolicy)\r\n }\r\n if (Array.isArray(requiredPolicy)) {\r\n return hasAllRequiredPolicy(requiredPolicy, options)\r\n }\r\n return hasConditionalRequiredPolicy(requiredPolicy, options)\r\n}\r\n\r\nfunction hasAllRequiredPolicy (requiredPolicies: RequiredPolicy[], options: HasRequiredPolicyOptions): boolean {\r\n return requiredPolicies.every(r => hasRequiredPolicyCont(r, options))\r\n}\r\n\r\nfunction hasAnyRequiredPolicy (requiredPolicies: RequiredPolicy[], options: HasRequiredPolicyOptions): boolean {\r\n return requiredPolicies.some(r => hasRequiredPolicyCont(r, options))\r\n}\r\n\r\nfunction hasConditionalRequiredPolicy (requiresPolicy: RequiredPolicyConditional, options: HasRequiredPolicyOptions): boolean {\r\n if ((requiresPolicy as RequiredPolicyPerRol).rol && options.rol && (requiresPolicy as RequiredPolicyPerRol).rol !== options.rol) {\r\n return false\r\n }\r\n if ((requiresPolicy as RequiredPolicyOr).or) {\r\n return hasAnyRequiredPolicy((requiresPolicy as RequiredPolicyOr).or, options)\r\n }\r\n if ((requiresPolicy as RequiredPolicyAnd).and) {\r\n return hasAllRequiredPolicy((requiresPolicy as RequiredPolicyAnd).and, options)\r\n }\r\n if ((requiresPolicy as RequiredPolicyNot).not) {\r\n return !hasRequiredPolicyCont((requiresPolicy as RequiredPolicyNot).not, options)\r\n }\r\n return true\r\n}\r\n","import { IModelExtensions } from '../IModelExtensions'\r\nimport { isInvalidValue, ITransform } from './transform'\r\nimport { IFieldValidator, IModelValidator } from './types'\r\n\r\nconst FieldNameNotSet = 'fieldName_not_set'\r\n\r\nexport type StringOrArrayOrNull = string | string[] | null\r\n\r\nexport function addErrorMessage (existingMessages: StringOrArrayOrNull, newMessage: string): StringOrArrayOrNull {\r\n if (!newMessage) {\r\n return existingMessages\r\n }\r\n if (!existingMessages) {\r\n return newMessage\r\n }\r\n if (Array.isArray(existingMessages)) {\r\n existingMessages.push(newMessage)\r\n return existingMessages\r\n }\r\n return [existingMessages, newMessage]\r\n}\r\n\r\n/*\r\n translatable messages:\r\n start an error-message with 't:' to make it translatable (somewhere in a i18n)\r\n parameters in the message can be optained from the (field) validation object\r\n\r\n scoping translatable messages:\r\n standard error-messages have the following format:\r\n - t:errorMessages.{someKey} (where {someKey} could be any identifier, without a dot)\r\n components will first try to translate using scope (fieldName):\r\n - t:errorMessage.{fieldName}.{someKey}\r\n if that key is not found in any i18n (the component can access) then the standard translation is used.\r\n\r\n a component can access its own i18n and i18n of any ancestor it is created in\r\n it will look first in its own i18n and then in the parent\r\n*/\r\n\r\nexport interface IFieldValidatorNonReactive> {\r\n type: string\r\n modelValidator: IModelValidator\r\n}\r\n\r\nexport function errorMessagesEquals (errorMessages1: StringOrArrayOrNull, errorMessages2: StringOrArrayOrNull): boolean {\r\n // if one is not given => true iff the other is not given also\r\n if (!errorMessages1) {\r\n return !errorMessages2\r\n }\r\n if (!errorMessages2) {\r\n return false\r\n }\r\n if (typeof errorMessages1 === 'string') {\r\n // if both are string then compare as string\r\n if (typeof errorMessages2 === 'string') {\r\n return errorMessages1 === errorMessages2\r\n }\r\n // if only first is string then compare reversed\r\n return errorMessagesEquals(errorMessages2, errorMessages1)\r\n }\r\n // if second is string => true if first (is array) has 1 item that is equals to this second\r\n if (typeof errorMessages2 === 'string') {\r\n return errorMessages1.length === 1 && errorMessages1[0] === errorMessages2\r\n }\r\n // only equal when both have the same length\r\n if (errorMessages1.length !== errorMessages2.length) {\r\n return false\r\n }\r\n // only equal when all entries are equal\r\n return !errorMessages1.find((err1, index) => errorMessages2[index] !== err1)\r\n}\r\n\r\nexport interface FieldValidatorOptions {\r\n fieldName?: string\r\n required?: boolean\r\n requiredMessage?: string\r\n invalidMessage?: string\r\n customValidation?: StringOrArrayOrNull\r\n serverMessages?: StringOrArrayOrNull\r\n}\r\n\r\nexport abstract class FieldValidator, TField> implements IFieldValidator {\r\n private readonly _nonReactive: () => IFieldValidatorNonReactive\r\n fieldName: string\r\n errorMessages: StringOrArrayOrNull = null\r\n customValidation: StringOrArrayOrNull = null\r\n serverMessages: StringOrArrayOrNull = null\r\n ignoreValidations?: boolean // if true then no errorMessages are generated\r\n required?: boolean\r\n requiredMessage?: string\r\n invalidMessage?: string\r\n transform?: ITransform\r\n\r\n constructor (modelValidator: IModelValidator, options?: FieldValidatorOptions) {\r\n const nonReactive: IFieldValidatorNonReactive = {\r\n type: 'FieldValidator',\r\n modelValidator,\r\n }\r\n this._nonReactive = () => nonReactive\r\n this.fieldName = options && options.fieldName ? options.fieldName : FieldNameNotSet\r\n if (options) {\r\n if (options.required) {\r\n this.required = options.required\r\n }\r\n if (options.requiredMessage) {\r\n this.requiredMessage = options.requiredMessage\r\n }\r\n if (options.invalidMessage) {\r\n this.invalidMessage = options.invalidMessage\r\n }\r\n if (options.customValidation) {\r\n this.customValidation = options.customValidation\r\n }\r\n if (options.serverMessages) {\r\n this.serverMessages = options.serverMessages\r\n }\r\n }\r\n }\r\n\r\n get value (): TField | null {\r\n return this.modelValidator.getValue(this.fieldName)\r\n }\r\n\r\n validate () {\r\n const errorMessages = this.buildErrorMessages()\r\n if (!errorMessagesEquals(errorMessages, this.errorMessages)) {\r\n this.errorMessages = errorMessages\r\n }\r\n }\r\n\r\n forceValidate () {\r\n this.modelValidator.validate(true)\r\n }\r\n\r\n addWatchers () {\r\n // default no watchers needed, modelValidator and and all containing fields are deep watched\r\n }\r\n\r\n get firstErrorMessage (): string | null {\r\n if (!this.errorMessages) {\r\n return null\r\n }\r\n return Array.isArray(this.errorMessages) ? this.errorMessages[0] : this.errorMessages\r\n }\r\n\r\n get fieldNameIsSet () {\r\n return this.fieldName && this.fieldName !== FieldNameNotSet\r\n }\r\n\r\n get nonReactive () {\r\n return this._nonReactive()\r\n }\r\n\r\n protected getNonReactive () {\r\n return this._nonReactive() as any as T\r\n }\r\n\r\n protected get modelValidator () {\r\n return this._nonReactive().modelValidator\r\n }\r\n\r\n protected buildErrorMessages (): StringOrArrayOrNull {\r\n if (this.ignoreValidations) {\r\n return null\r\n }\r\n const result = this.serverMessages || this.customValidation\r\n if (result) {\r\n return result\r\n }\r\n const value = this.value\r\n if (typeof value === 'undefined' || value === null || !(value as any).toString().trim().length) {\r\n return this.getEmptyValueErrorMessages(value)\r\n }\r\n if (this.valueIsInvalid(value)) {\r\n return this.invalidMessage || 't:errorMessages.invalid'\r\n }\r\n return this.getFieldValueErrorMessages(value)\r\n }\r\n\r\n protected valueIsInvalid (value: TField | null) {\r\n return isInvalidValue(value)\r\n }\r\n\r\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\r\n protected getFieldValueErrorMessages (value: TField): StringOrArrayOrNull {\r\n return null\r\n }\r\n\r\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\r\n protected getEmptyValueErrorMessages (value: TField | null | undefined): StringOrArrayOrNull {\r\n if (this.required) {\r\n return this.requiredMessage || 't:errorMessages.emptyField'\r\n }\r\n return null\r\n }\r\n}\r\n","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LeavePageDialog.vue?vue&type=style&index=0&id=7eee8a36&prod&lang=scss\"","export * from \"-!../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ZorgovereenkomstInzienVertegenwoordiger.vue?vue&type=style&index=0&id=35550931&prod&lang=scss&scoped=true\"","import Vue from 'vue'\r\nimport VueCompositionApi from '@vue/composition-api'\r\n\r\nVue.use(VueCompositionApi)\r\n","export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Kassabon.vue?vue&type=style&index=0&id=096f5192&prod&lang=scss\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (!_vm.isReady)?_c('div',{staticClass:\"text-center\"},[_c('p-loading-indicator')],1):_c('div',{staticClass:\"zorgovereenkomst-inzien\"},[_c('h2',{staticClass:\"mb-4\"},[_vm._v(\" \"+_vm._s(_vm.zorgovereenkomst.zorgverlener.volledigeNaam)+\" \")]),_c('p-card',{attrs:{\"title\":_vm.$t('cards.deelnemers'),\"data-ui\":\"deelnemers\",\"heading-level\":\"3\",\"expandable\":\"\"}},[_c('zorgovereenkomst-inzien-deelnemers',{attrs:{\"data\":_vm.zorgovereenkomst.deelnemers,\"zorgverlener\":_vm.zorgovereenkomst.zorgverlener,\"contract-type\":_vm.zorgovereenkomst.contractType}})],1),(_vm.vertegenwoordigingVisible)?_c('p-card',{attrs:{\"title\":_vm.$t('cards.vertegenwoordiging'),\"data-ui\":\"vertegenwoordiging\",\"heading-level\":\"3\",\"expandable\":\"\"}},[_c('zorgovereenkomst-inzien-vertegenwoordigers',{attrs:{\"data\":_vm.zorgovereenkomst.vertegenwoordigers}})],1):_vm._e(),_c('p-card',{attrs:{\"title\":_vm.$t('cards.werkafspraken'),\"data-ui\":\"werkafspraken\",\"heading-level\":\"3\",\"expandable\":\"\"}},[_c('zorgovereenkomst-inzien-werkafspraken',{attrs:{\"zorgovereenkomst\":_vm.zorgovereenkomst}})],1),_c('p-card',{attrs:{\"title\":_vm.$t('cards.algemeneAfspraken'),\"data-ui\":\"algemeneAfspraken\",\"heading-level\":\"3\",\"expandable\":\"\"}},[_c('zorgovereenkomst-inzien-algemene-afspraken',{attrs:{\"data\":_vm.zorgovereenkomst.algemeneAfspraken,\"contract-type\":_vm.zorgovereenkomst.contractType,\"zorgverlener-type\":_vm.zorgovereenkomst.zorgverlener.zorgverlenerType,\"aantal-werkdagen-per-week\":_vm.zorgovereenkomst.aantalWerkdagenPerWeek,\"display-zorgbeschrijving\":_vm.displayZorgbeschrijving}})],1),(_vm.zorgovereenkomst.documentenOverig && _vm.zorgovereenkomst.documentenOverig.length)?_c('p-card',{key:\"zorgovereenkomstInzienOverigeDocumentenCard\",attrs:{\"title\":_vm.$t('cards.documenten'),\"data-ui\":\"overige-documenten\",\"heading-level\":\"3\",\"expandable\":\"\"}},[_c('zorgovereenkomst-inzien-documenten',{attrs:{\"data\":_vm.zorgovereenkomst.documentenOverig}})],1):_vm._e(),_c('p-card',{attrs:{\"title\":_vm.$t('cards.ondertekening'),\"data-ui\":\"ondertekening\",\"heading-level\":\"3\",\"dark\":\"\",\"expandable\":\"\"}},[_c('zorgovereenkomst-inzien-ondertekening',{attrs:{\"data\":_vm.zorgovereenkomst.ondertekening}})],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { zorgovereenkomstClient } from '@/dataAccess/clients'\r\nimport { ServiceBase } from '@/dataAccess/ServiceBase'\r\nimport { currentUserRepository } from '@/domains/account/dataAccess/CurrentUserRepository'\r\nimport { GetWWTariefZorgovereenkomstRequestModel, WWTariefType } from '@/_generated/portalClient'\r\nimport { mapZorgovereenkomst } from './mappers/mapZorgovereenkomst'\r\nimport { Zorgovereenkomst } from './models/Zorgovereenkomst'\r\n\r\nexport class ZorgovereenkomstBekijkenService extends ServiceBase {\r\n constructor () {\r\n super('ZorgovereenkomstBekijkenService')\r\n this.dependsOn(currentUserRepository())\r\n }\r\n\r\n async getZorgovereenkomst (uid: string): Promise {\r\n await this.ready()\r\n const zorgovereenkomst = await zorgovereenkomstClient().getById(uid)\r\n return mapZorgovereenkomst(zorgovereenkomst)\r\n }\r\n\r\n async getWWTarief (zorgovereenkomst: Zorgovereenkomst): Promise {\r\n await this.ready()\r\n const bhr = zorgovereenkomst.deelnemers.budgethouder\r\n const wwTariefModel: GetWWTariefZorgovereenkomstRequestModel = {\r\n budgethouderId: (bhr && bhr.id) || 0,\r\n zorgverlenerUid: zorgovereenkomst.zorgverlener ? zorgovereenkomst.zorgverlener.uid : '',\r\n ingangsDatum: zorgovereenkomst.werkafspraken.periode.ingangsDatum || '',\r\n }\r\n return zorgovereenkomstClient().getWWTariefZorgovereenkomst(wwTariefModel)\r\n }\r\n}\r\n\r\nexport function zorgovereenkomstBekijkenService (): ZorgovereenkomstBekijkenService {\r\n return ZorgovereenkomstBekijkenService.getOrCreateSingleton(ZorgovereenkomstBekijkenService)\r\n}\r\n","import { computed, Ref, ref, watch } from '@vue/composition-api'\r\nimport { Zorgovereenkomst } from '@/domains/zorgovereenkomst/dataAccess/models/Zorgovereenkomst'\r\nimport { zorgovereenkomstBekijkenService } from '@/domains/zorgovereenkomst/dataAccess/ZorgovereenkomstBekijkenService'\r\n\r\nexport interface ZokInzienProps {\r\n zorgovereenkomstId: string\r\n}\r\n\r\nexport class UseZorgovereenkomstInzien {\r\n public zorgovereenkomst: Ref\r\n public isReady: Ref\r\n public zorgovereenkomstId: Readonly>\r\n\r\n constructor (props: ZokInzienProps) {\r\n this.zorgovereenkomst = ref({})\r\n this.isReady = ref(false)\r\n this.zorgovereenkomstId = computed(() => props.zorgovereenkomstId)\r\n watch(this.zorgovereenkomstId, () => {\r\n this.getZorgovereenkomst()\r\n })\r\n }\r\n\r\n async getZorgovereenkomst () {\r\n this.isReady.value = false\r\n const zorgovereenkomst: Zorgovereenkomst = await zorgovereenkomstBekijkenService().getZorgovereenkomst(this.zorgovereenkomstId.value)\r\n this.zorgovereenkomst.value = zorgovereenkomst\r\n this.isReady.value = true\r\n }\r\n}\r\n\r\nexport default function useZorgovereenkomstInzien (props: ZokInzienProps) {\r\n const zokInzien = new UseZorgovereenkomstInzien(props)\r\n return {\r\n zorgovereenkomstId: zokInzien.zorgovereenkomstId,\r\n zorgovereenkomst: zokInzien.zorgovereenkomst,\r\n isReady: zokInzien.isReady,\r\n }\r\n}\r\n","import { Ref, ref } from '@vue/composition-api'\r\nimport { ZorgovereenkomstAlgemeneAfspraken } from '@/domains/zorgovereenkomst/dataAccess/models/ZorgovereenkomstAlgemeneAfspraken'\r\n\r\nexport default function useZorgovereenskomstInzienAlgemeneAfspraken (algemeneAfsprakenRef: Ref) {\r\n const salarisadministratieMachtiging = ref(algemeneAfsprakenRef.value.isSalarisadministratieDoorSvb\r\n ? {\r\n isSalarisadministratieDoorSvb: algemeneAfsprakenRef.value.isSalarisadministratieDoorSvb,\r\n heeftLoonheffingskorting: algemeneAfsprakenRef.value.heeftLoonheffingskorting,\r\n }\r\n : null)\r\n\r\n return {\r\n salarisadministratieMachtiging,\r\n }\r\n}\r\n","import { toLocaleString, useI18n } from 'phoenix'\r\nimport { IUseI18n } from 'phoenix/types/composables/useI18n'\r\nimport { ContractType, WerkafspraakEenheidType, ZorgverlenerType } from '@/_generated/portalClient'\r\n\r\nconst defaultFixDateConditional = (k: string) => k.endsWith('datum') || k.endsWith('Datum')\r\n\r\nexport function fixDates (obj: any, onCondition: (k: string) => boolean = defaultFixDateConditional) {\r\n Object.keys(obj).forEach((prop: string) => {\r\n if (obj[prop] && typeof obj[prop] === 'object') {\r\n fixDates(obj[prop])\r\n }\r\n if (obj[prop] && onCondition(prop)) {\r\n obj[prop] = toLocaleString(obj[prop], obj[prop])\r\n }\r\n })\r\n}\r\n\r\nexport function minutesToHoursMinutes (minutes: number): { hours: number, minutes: number } {\r\n return { hours: minutes / 60 ^ 0, minutes: minutes % 60 }\r\n}\r\n\r\nexport function displayHoursMinutes (aantalMinuten: number, showPerEenheid: WerkafspraakEenheidType | null = null, i18n: IUseI18n = useI18n()): string {\r\n const { hours, minutes } = minutesToHoursMinutes(aantalMinuten)\r\n const perEenheid = showPerEenheid ? i18n.t('weergevenTijd.per', { unit: i18n.t(`werkafspraakEenheidType.${showPerEenheid}`) }) : ''\r\n const hourSlot = hours ? i18n.t('weergevenTijd.hours', { hours }) : ''\r\n const andSlot = hours && minutes ? ` ${i18n.t('weergevenTijd.and')}` : ''\r\n const minuteSpacer = andSlot ? ' ' : ''\r\n const minuteSlot = minutes ? `${minuteSpacer}${i18n.tc('weergevenTijd.minutes', minutes, { minutes })}` : ''\r\n return `${hourSlot}${andSlot}${minuteSlot}${perEenheid}`\r\n}\r\n\r\nexport const isNatuurlijkPersoon = (zorgverlenerType: ZorgverlenerType): boolean => zorgverlenerType === ZorgverlenerType.NatuurlijkPersoon\r\nexport const isZzper = (zorgverlenerType: ZorgverlenerType): boolean => zorgverlenerType === ZorgverlenerType.ZZP\r\nexport const isZorginstelling = (zorgverlenerType: ZorgverlenerType): boolean => zorgverlenerType === ZorgverlenerType.Zorginstelling\r\n\r\nexport const isContractInDienst = (contractType: ContractType): boolean => contractType === ContractType.InDienst\r\nexport const isContractInOpdracht = (contractType: ContractType): boolean => contractType === ContractType.InOpdracht\r\nexport const isContractFamilieOfPartner = (contractType: ContractType): boolean => contractType === ContractType.PartnerOfFamilielid\r\nexport const isContractZorginstelling = (contractType: ContractType): boolean => contractType === ContractType.Zorginstelling\r\n","import { Ref, ref } from '@vue/composition-api'\r\nimport { ZorgovereenkomstDeelnemers } from '@/domains/zorgovereenkomst/dataAccess/models/ZorgovereenkomstDeelnemers'\r\nimport { Zorgverlener } from '@/domains/account/dataAccess/models/relaties/Zorgverlener'\r\nimport { fixDates } from '../helpers/helpers'\r\nimport { useAddress } from '@/composables'\r\n\r\nexport interface DeelnemersAdressen {\r\n budgethouder: string[]\r\n zorgverlener: string[]\r\n}\r\n\r\nexport class UseZorgovereenkomstInzienDeelnemers {\r\n public readonly deelnemers: Ref\r\n public readonly deelnemersAdressen: Ref\r\n public readonly zorgverlener: Ref\r\n\r\n constructor (deelnemers: ZorgovereenkomstDeelnemers, zorgverlener: Zorgverlener) {\r\n this.zorgverlener = ref({ ...zorgverlener })\r\n this.deelnemers = ref({ ...deelnemers })\r\n this.deelnemersAdressen = ref({})\r\n this.prepareData()\r\n this.prepareAdressen()\r\n }\r\n\r\n private _defaultValues (collection: any, defaultValue: string) {\r\n if (collection) {\r\n if (Array.isArray(collection)) {\r\n collection.forEach((col: any) => {\r\n this._defaultValues(col, defaultValue)\r\n })\r\n }\r\n Object.keys(collection).forEach((key: any) => {\r\n collection[key] = collection[key] || defaultValue\r\n })\r\n }\r\n }\r\n\r\n prepareAdressen () {\r\n const deelnemers = this.deelnemers.value\r\n const zorgverlener = this.zorgverlener.value\r\n this.deelnemersAdressen.value = {\r\n budgethouder: deelnemers.budgethouder ? useAddress(deelnemers.budgethouder.addresses).addresses : [],\r\n zorgverlener: useAddress(zorgverlener.addresses).addresses,\r\n }\r\n }\r\n\r\n prepareData () {\r\n const deelnemers = this.deelnemers.value\r\n const zorgverlener = this.zorgverlener.value\r\n fixDates(deelnemers)\r\n fixDates(zorgverlener)\r\n }\r\n}\r\n\r\nexport default function useZorgovereenkomstInzienDeelnemers (deelnemers: ZorgovereenkomstDeelnemers, zorgverlener: Zorgverlener) {\r\n const oDeelnemers = new UseZorgovereenkomstInzienDeelnemers(deelnemers, zorgverlener)\r\n return {\r\n deelnemers: oDeelnemers.deelnemers,\r\n zorgverlener: oDeelnemers.zorgverlener,\r\n deelnemersAdressen: oDeelnemers.deelnemersAdressen,\r\n }\r\n}\r\n","import { Ref, ref, computed } from '@vue/composition-api'\r\nimport { useI18n, diff } from 'phoenix'\r\nimport { IUseI18n } from 'phoenix/types/composables/useI18n'\r\nimport { WWTariefType, WerkAfspraakType } from '@/_generated/portalClient'\r\nimport { Periode } from '@/domains/toekenningsbeschikking/dataAccess/models/Periode'\r\nimport { ZorgovereenkomstWerkafspraken } from '@/domains/zorgovereenkomst/dataAccess/models/ZorgovereenkomstWerkafspraken'\r\nimport { Zorgovereenkomst } from '@/domains/zorgovereenkomst/dataAccess/models/Zorgovereenkomst'\r\nimport { ReiskostenAfspraak } from '@/domains/zorgovereenkomst/dataAccess/models/ReiskostenAfspraak'\r\nimport { fixDates, isContractInDienst } from '../helpers/helpers'\r\n\r\nexport interface Looptijd extends Periode {\r\n aanzegtermijn?: string | null\r\n}\r\n\r\nexport interface ZorgovereenkomstReiskosten extends ReiskostenAfspraak {\r\n totaalMaandBedrag?: number\r\n}\r\n\r\nexport class UseZorgovereenkomstInzienWerkafspraken {\r\n public readonly werkafspraken: Ref\r\n public readonly wwTariefType: Ref\r\n public readonly zorgovereenkomst: Ref\r\n private readonly _i18n: IUseI18n\r\n\r\n constructor (zorgovereenkomst: Zorgovereenkomst, i18n: IUseI18n = useI18n()) {\r\n this.wwTariefType = ref(WWTariefType.Onbekend)\r\n this.werkafspraken = ref(zorgovereenkomst.werkafspraken)\r\n this.zorgovereenkomst = ref(zorgovereenkomst)\r\n this._i18n = i18n\r\n }\r\n\r\n looptijdBepaaldEnMinderDan6Maanden (): boolean | '' | null {\r\n const { ingangsDatum, eindDatum } = this.werkafspraken.value.periode\r\n return ingangsDatum && eindDatum && (diff(eindDatum, ingangsDatum, 'month') < 6)\r\n }\r\n\r\n periode (): Periode {\r\n return this.werkafspraken.value.periode\r\n }\r\n\r\n get hasProeftijd (): Ref {\r\n return computed(() => isContractInDienst(this.zorgovereenkomst.value.contractType) && this.looptijdBepaaldEnMinderDan6Maanden() === false)\r\n }\r\n\r\n get hasVastAantalUren (): Ref {\r\n return computed(() => this.werkafspraken.value.werkAfspraakType === WerkAfspraakType.VastAantalUren)\r\n }\r\n\r\n get isInDienstMetVastAantalUren (): Ref {\r\n return computed(() => isContractInDienst(this.zorgovereenkomst.value.contractType) && this.hasVastAantalUren.value)\r\n }\r\n\r\n get vakantieuren (): Ref {\r\n return computed(() => {\r\n const vakantieUrenInbegrepen = this.werkafspraken.value.vakantieUrenInbegrepen === null\r\n ? 'doorbetaald'\r\n : this.werkafspraken.value.vakantieUrenInbegrepen\r\n return this._i18n.t(`vakantieUrenInbegrepen.${vakantieUrenInbegrepen}`)\r\n })\r\n }\r\n\r\n get reiskosten (): Ref> {\r\n return computed(() => {\r\n const reiskosten = this.werkafspraken.value.reiskosten\r\n const totaalMaandBedrag = reiskosten &&\r\n reiskosten.maandloonVergoeding &&\r\n reiskosten.reiskostenBedrag &&\r\n reiskosten.maandloonDagenPerWeek &&\r\n reiskosten.maandloonKilometerPerDag\r\n ? (214 * reiskosten.reiskostenBedrag * reiskosten.maandloonKilometerPerDag * (reiskosten.maandloonDagenPerWeek / 5)) / 12\r\n : 0\r\n return {\r\n totaalMaandBedrag,\r\n ...reiskosten,\r\n }\r\n })\r\n }\r\n\r\n get aanzegtermijn (): Ref {\r\n return computed(() => {\r\n if (isContractInDienst(this.zorgovereenkomst.value.contractType) && this.looptijdBepaaldEnMinderDan6Maanden()) {\r\n return this._i18n.t(this.werkafspraken.value.aanzegtermijn ? 'yes' : 'noAanzegtermijn')\r\n }\r\n return null\r\n })\r\n }\r\n\r\n get looptijd (): Ref {\r\n return computed(() => {\r\n const werkafspraken = this.werkafspraken.value\r\n const periode = {\r\n ...this.periode(),\r\n eindDatum: werkafspraken.periode.eindDatum || this._i18n.t('einddatum.onbepaald'),\r\n }\r\n const looptijd: Looptijd = {\r\n ...periode,\r\n }\r\n if (this.aanzegtermijn.value !== null) {\r\n looptijd.aanzegtermijn = this.aanzegtermijn.value\r\n }\r\n fixDates(looptijd)\r\n return looptijd\r\n })\r\n }\r\n}\r\n\r\nexport default function useZorgovereenkomstInzienWerkafspraken (zorgovereenkomst: Zorgovereenkomst, i18n: IUseI18n = useI18n()) {\r\n const werkafspraken = new UseZorgovereenkomstInzienWerkafspraken(zorgovereenkomst, i18n)\r\n\r\n return {\r\n werkafspraken: werkafspraken.werkafspraken,\r\n hasProeftijd: werkafspraken.hasProeftijd,\r\n hasVastAantalUren: werkafspraken.hasVastAantalUren,\r\n isInDienstMetVastAantalUren: werkafspraken.isInDienstMetVastAantalUren,\r\n vakantieuren: werkafspraken.vakantieuren,\r\n periode: werkafspraken.periode.bind(werkafspraken),\r\n reiskosten: werkafspraken.reiskosten,\r\n looptijd: werkafspraken.looptijd,\r\n }\r\n}\r\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p-container',{staticClass:\"px-0 pb-0\"},[_c('zorgovereenkomst-inzien-deelnemers-tkb',{attrs:{\"toekenningsbeschikkingen\":_vm.data.toekenningsbeschikkingen}}),_c('zorgovereenkomst-inzien-deelnemer',{attrs:{\"type\":\"budgethouder\",\"deelnemer\":_vm.deelnemers.budgethouder,\"deelnemers-adressen\":_vm.deelnemersAdressen.budgethouder}}),_c('zorgovereenkomst-inzien-deelnemer',{attrs:{\"type\":\"zorgverlener\",\"budgethouder-zorgverlener-relatie\":_vm.deelnemers.budgethouderZorgverlenerRelatie,\"anders\":_vm.data.relatieAnders,\"contract-type\":_vm.contractType,\"deelnemer\":_vm.zorgverlenerRef,\"deelnemers-adressen\":_vm.deelnemersAdressen.zorgverlener,\"betreft-het-een-wooninitiatief\":_vm.data.betreftHetEenWooninitiatief}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('card-content-section',{staticClass:\"my-0 py-0\",attrs:{\"title\":_vm.$t('titles.toekenningsbeschikking'),\"data-ui\":\"deelnemers-toekenningsbeschikking\",\"heading-level\":\"4\"},scopedSlots:_vm._u([(!_vm.toekenningsbeschikkingen.length)?{key:\"bottom\",fn:function(){return [_c('p-container',{staticClass:\"pa-0 mb-12 mt-0\",attrs:{\"data-ui\":\"deelnemers-toekenningsbeschikking\"}},[_c('p-alert',{attrs:{\"type\":\"warning\"}},[_vm._v(\" \"+_vm._s(_vm.$t('toekenningsbeschikking.afwezig'))+\" \")])],1)]},proxy:true}:null],null,true)},_vm._l((_vm.toekenningsbeschikkingen),function(tkb){return _c('p-value-row',{key:(\"tkb-\" + (tkb.id)),attrs:{\"label\":_vm.$t((\"wetType.\" + (tkb.wet)))}},[_c('ul',{staticClass:\"ma-0 pa-0 list-style-none\",attrs:{\"role\":\"list\"}},[_c('li',[_vm._v(_vm._s(tkb.verstrekkerNaam))]),_c('li',[_vm._v(\" \"+_vm._s(_vm.$t('toekenningsbeschikking.geldigheid', { ingangsdatum: tkb.ingangsDatum, einddatum: tkb.eindDatum }))+\" \")])])])}),1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.isNamedSection && _vm.title)?_c('p-section',{key:\"isNamedSection\",staticClass:\"card-content-section mb-8\",attrs:{\"heading-level\":_vm.headingLevel,\"heading-text\":_vm.title,\"heading-class\":\"card-content-section-title p-0 pb-1 mb-4\"}},[_c('p-value-grid',_vm._b({},'p-value-grid',_vm.$attrs,false),[_vm._t(\"default\")],2),_vm._t(\"bottom\")],2):_c('div',{key:\"noSection\",staticClass:\"card-content-section mb-8\"},[(_vm.title)?_c('p-heading',{staticClass:\"card-content-section-title p-0 pb-1 mb-4\",attrs:{\"level\":_vm.headingLevel}},[_vm._v(\" \"+_vm._s(_vm.title)+\" \")]):_vm._e(),_c('p-value-grid',_vm._b({},'p-value-grid',_vm.$attrs,false),[_vm._t(\"default\")],2),_vm._t(\"bottom\")],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { defineComponent } from '@vue/composition-api'\r\nimport { PHeading, PSection } from 'phoenix'\r\n\r\nexport default defineComponent({\r\n name: 'CardContentSection',\r\n inheritAttrs: false,\r\n props: {\r\n headingLevel: { type: [String, Number], required: true },\r\n title: { type: String, default: undefined },\r\n id: { type: String, default: undefined },\r\n isNamedSection: { type: Boolean, default: false },\r\n },\r\n components: { PHeading, PSection },\r\n})\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CardContentSection.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CardContentSection.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./CardContentSection.vue?vue&type=template&id=5e473525&scoped=true\"\nimport script from \"./CardContentSection.vue?vue&type=script&lang=ts\"\nexport * from \"./CardContentSection.vue?vue&type=script&lang=ts\"\nimport style0 from \"./CardContentSection.vue?vue&type=style&index=0&id=5e473525&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"5e473525\",\n null\n \n)\n\nexport default component.exports","import { mergeI18nDeep } from '@/utils/i18nUtils'\r\nimport zorgovereenkomstMainI18n from '@/domains/zorgovereenkomst/pages/i18n'\r\n\r\nconst i18n = {\r\n messages: {\r\n nl: {\r\n titles: {\r\n toekenningsbeschikking: 'Toekenningsbeschikking',\r\n budgethouder: 'budgethouder',\r\n zorgverlener: 'zorgverlener',\r\n },\r\n labels: {\r\n voorletters: 'Voorletter(s)',\r\n naam: 'Naam',\r\n achternaam: 'Achternaam',\r\n geslacht: 'Geslacht',\r\n burgerservicenummer: 'Burgerservicenummer',\r\n geboortedatum: 'Geboortedatum',\r\n overlijdensdatum: 'Overlijdensdatum',\r\n adres: 'Adres',\r\n telefoon1: 'Telefoonnummer 1',\r\n telefoon2: 'Telefoonnummer 2',\r\n email: 'E-mailadres',\r\n relatie: 'Relatie',\r\n soortZorgovereenkomst: 'Soort zorgovereenkomst',\r\n werktAlsZZPer: 'Werkt de zorgverlener als zelfstandige zonder personeel (zzp\\'er)?',\r\n wooninitiatief: 'Wooninitiatief',\r\n agbcode: 'AGB-code',\r\n kvknummer: 'KvK-nummer',\r\n naamZorginstelling: 'Bedrijfsnaam',\r\n iban: 'IBAN-nummer',\r\n tenaamstellingIban: 'Tenaamstelling',\r\n },\r\n toekenningsbeschikking: {\r\n geldigheid: 'Geldigheid: {ingangsdatum} t/m {einddatum}',\r\n afwezig: 'Er is geen geldige toekenningsbeschikking aanwezig in het heden of de toekomst.' +\r\n ' Op de pagina \"Overzicht toekenningsbeschikking\" kunt u zien welke toekenningsbeschikkingen voor u gelden. ' +\r\n 'Neem contact op met uw zorgkantoor of gemeente als u vragen heeft over uw toekenningsbeschikking.',\r\n },\r\n },\r\n },\r\n}\r\n\r\nmergeI18nDeep(i18n, zorgovereenkomstMainI18n)\r\nexport default i18n\r\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { defineComponent } from '@vue/composition-api'\r\nimport { Toekenningsbeschikking } from '@/domains/toekenningsbeschikking/dataAccess/models/Toekenningsbeschikking'\r\nimport CardContentSection from '../CardContentSection.vue'\r\nimport i18n from './i18n'\r\n\r\nexport default defineComponent({\r\n name: 'ZorgovereenkomstInzienDeelnemersTkb',\r\n components: {\r\n CardContentSection,\r\n },\r\n props: {\r\n toekenningsbeschikkingen: { type: Array as () => Toekenningsbeschikking[], required: true },\r\n },\r\n i18n,\r\n})\r\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ZorgovereenkomstInzienDeelnemersTkb.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ZorgovereenkomstInzienDeelnemersTkb.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./ZorgovereenkomstInzienDeelnemersTkb.vue?vue&type=template&id=881f9e9a\"\nimport script from \"./ZorgovereenkomstInzienDeelnemersTkb.vue?vue&type=script&lang=ts\"\nexport * from \"./ZorgovereenkomstInzienDeelnemersTkb.vue?vue&type=script&lang=ts\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('card-content-section',{attrs:{\"title\":((_vm.deelnemer.volledigeNaam) + \" (\" + (_vm.$t(_vm.sectionTitle)) + \")\"),\"data-ui\":(\"deelnemers-\" + _vm.type),\"heading-level\":\"4\"}},[(_vm.isZorgverlener)?[_c('p-value-row',{attrs:{\"label\":_vm.$t('labels.soortZorgovereenkomst'),\"value\":_vm.$t((\"contractType.\" + _vm.contractType)),\"dash-on-falsy\":\"\"}}),(_vm.budgethouderZorgverlenerRelatie)?_c('p-value-row',{key:\"zokInzienDeelnemerRowRelatie\",attrs:{\"label\":_vm.$t('labels.relatie'),\"value\":_vm.$t((\"budgethouderZorgverlenerRelatieType.\" + _vm.budgethouderZorgverlenerRelatie), {optie: _vm.optie})}}):_vm._e(),(_vm.isContractTypeInOpdracht)?_c('p-value-row',{key:\"zokInzienDeelnemerRowWerktAlsZZPer\",attrs:{\"label\":_vm.$t('labels.werktAlsZZPer'),\"value\":_vm.isZzper,\"yes-no-boolean\":\"\"}}):_vm._e(),(_vm.isZorginstelling)?_c('p-value-row',{key:\"zokInzienDeelnemerRowWooninitiatief\",attrs:{\"label\":_vm.$t('labels.wooninitiatief'),\"value\":_vm.betreftHetEenWooninitiatief,\"yes-no-boolean\":\"\"}}):_vm._e(),(_vm.isNatuurlijkPersoon)?_c('p-value-row',{key:\"zokInzienDeelnemerRowVoorletters\",attrs:{\"label\":_vm.$t('labels.voorletters'),\"value\":_vm.zorgverlener.voorletters,\"dash-on-falsy\":\"\"}}):_vm._e(),(_vm.isNatuurlijkPersoon)?_c('p-value-row',{key:\"zokInzienDeelnemerRowAchternaam\",attrs:{\"label\":_vm.$t('labels.achternaam'),\"value\":_vm.zorgverlener.achternaam,\"dash-on-falsy\":\"\"}}):_vm._e(),(!_vm.isNatuurlijkPersoon)?_c('p-value-row',{key:\"zokInzienDeelnemerRowAgbcode\",attrs:{\"label\":_vm.$t('labels.agbcode'),\"value\":_vm.zorgverlener.agbCode,\"dash-on-falsy\":\"\"}}):_vm._e(),(!_vm.isNatuurlijkPersoon)?_c('p-value-row',{key:\"zokInzienDeelnemerRowKvknummer\",attrs:{\"label\":_vm.$t('labels.kvknummer'),\"value\":_vm.zorgverlener.kvkNummer,\"dash-on-falsy\":\"\"}}):_vm._e(),(!_vm.isNatuurlijkPersoon)?_c('p-value-row',{key:\"zokInzienDeelnemerRowNaamZorginstelling\",attrs:{\"label\":_vm.$t('labels.naamZorginstelling'),\"value\":_vm.zorgverlener.bedrijfsNaam,\"dash-on-falsy\":\"\"}}):_vm._e()]:_vm._e(),(_vm.isNatuurlijkPersoon || !_vm.isZorgverlener)?_c('p-value-row',{key:\"zokInzienDeelnemerRowBurgerservicenummer\",attrs:{\"label\":_vm.$t('labels.burgerservicenummer'),\"value\":_vm.deelnemer.burgerServiceNummer,\"dash-on-falsy\":\"\"}}):_vm._e(),(_vm.isNatuurlijkPersoon || !_vm.isZorgverlener)?_c('p-value-row',{key:\"zokInzienDeelnemerRowGeboortedatum\",attrs:{\"label\":_vm.$t('labels.geboortedatum'),\"value\":_vm.deelnemer.geboorteDatum,\"dash-on-falsy\":\"\"}}):_vm._e(),(_vm.isNatuurlijkPersoon || !_vm.isZorgverlener)?_c('p-value-row',{key:\"zokInzienDeelnemerRowGeslacht\",attrs:{\"label\":_vm.$t('labels.geslacht'),\"value\":_vm.$t((\"geslacht.\" + (_vm.deelnemer.geslacht)))}}):_vm._e(),(_vm.deelnemer.overlijdensDatum)?_c('p-value-row',{key:\"zokInzienDeelnemerRowOverlijdensdatum\",attrs:{\"label\":_vm.$t('labels.overlijdensdatum'),\"value\":_vm.deelnemer.overlijdensDatum,\"data-ui\":\"zokInzienDeelnemerRowOverlijdensdatum\"}}):_vm._e(),_c('p-value-row',{attrs:{\"label\":_vm.$t('labels.adres')}},[_c('zorgovereenkomst-inzien-deelnemers-adres',{attrs:{\"adressen\":_vm.deelnemersAdressen}})],1),_c('p-value-row',{attrs:{\"label\":_vm.$t('labels.telefoon1'),\"value\":_vm.deelnemer.telefoonnummer1,\"dash-on-falsy\":\"\"}}),_c('p-value-row',{attrs:{\"label\":_vm.$t('labels.telefoon2'),\"value\":_vm.deelnemer.telefoonnummer2,\"dash-on-falsy\":\"\"}}),(_vm.isZorgverlener)?[_c('p-value-row',{attrs:{\"label\":_vm.$t('labels.iban'),\"value\":_vm.deelnemer.bankrekening.iban,\"dash-on-falsy\":\"\"}}),_c('p-value-row',{attrs:{\"label\":_vm.$t('labels.tenaamstellingIban'),\"value\":_vm.deelnemer.bankrekening.tenaamstelling,\"dash-on-falsy\":\"\"}})]:_vm._e(),_c('p-value-row',{attrs:{\"label\":_vm.$t('labels.email'),\"value\":_vm.deelnemer.emailAddress,\"dash-on-falsy\":\"\"}})],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('ul',{staticClass:\"ma-0 pa-0 list-style-none\",attrs:{\"role\":\"list\"}},_vm._l((_vm.adressen),function(adres,idx){return _c('li',{key:(\"adres-\" + idx)},[_vm._v(\" \"+_vm._s(adres)+\" \")])}),0)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { defineComponent } from '@vue/composition-api'\r\n\r\nexport default defineComponent({\r\n name: 'ZorgovereenkomstInzienDeelnemersAdres',\r\n props: {\r\n adressen: { type: Array, required: true },\r\n },\r\n})\r\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ZorgovereenkomstInzienDeelnemersAdres.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ZorgovereenkomstInzienDeelnemersAdres.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./ZorgovereenkomstInzienDeelnemersAdres.vue?vue&type=template&id=ab8ab4ba\"\nimport script from \"./ZorgovereenkomstInzienDeelnemersAdres.vue?vue&type=script&lang=ts\"\nexport * from \"./ZorgovereenkomstInzienDeelnemersAdres.vue?vue&type=script&lang=ts\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { defineComponent } from '@vue/composition-api'\r\nimport { Budgethouder } from '@/domains/account/dataAccess/models/relaties/Budgethouder'\r\nimport { Zorgverlener } from '@/domains/account/dataAccess/models/relaties/Zorgverlener'\r\nimport CardContentSection from '../CardContentSection.vue'\r\nimport ZorgovereenkomstInzienDeelnemersAdres from './ZorgovereenkomstInzienDeelnemersAdres.vue'\r\nimport i18n from './i18n'\r\nimport {\r\n BudgethouderZorgverlenerRelatieType,\r\n ContractType,\r\n RelatieType,\r\n ZorgverlenerType,\r\n} from '@/_generated/portalClient'\r\nimport { isContractInOpdracht, isNatuurlijkPersoon, isZorginstelling, isZzper } from '../helpers/helpers'\r\n\r\nexport default defineComponent({\r\n name: 'ZorgovereenkomstInzienDeelnemer',\r\n components: {\r\n CardContentSection,\r\n ZorgovereenkomstInzienDeelnemersAdres,\r\n },\r\n props: {\r\n type: { type: String, required: true },\r\n deelnemer: { type: Object as () => (Budgethouder | Zorgverlener), required: true },\r\n deelnemersAdressen: { type: Array as () => string[], required: true },\r\n contractType: { type: Number as () => ContractType, default: null },\r\n budgethouderZorgverlenerRelatie: { type: Number as () => BudgethouderZorgverlenerRelatieType, default: null },\r\n anders: { type: String, default: null },\r\n betreftHetEenWooninitiatief: { type: Boolean },\r\n\r\n },\r\n i18n,\r\n setup (props) {\r\n const isZorgverlener = props.deelnemer.type === RelatieType.Zorgverlener\r\n const zorgverlenerType = (props.deelnemer as Zorgverlener).zorgverlenerType || ZorgverlenerType.Onbekend\r\n return {\r\n optie: props.budgethouderZorgverlenerRelatie === BudgethouderZorgverlenerRelatieType.Anders ? `, namelijk '${props.anders}'` : '',\r\n sectionTitle: `titles.${props.type}`,\r\n isZorginstelling: isZorginstelling(zorgverlenerType),\r\n isNatuurlijkPersoon: isNatuurlijkPersoon(zorgverlenerType),\r\n isContractTypeInOpdracht: isContractInOpdracht(props.contractType || ContractType.Onbekend),\r\n isZzper: isZzper(zorgverlenerType),\r\n isZorgverlener,\r\n zorgverlener: isZorgverlener ? props.deelnemer as Zorgverlener : {},\r\n }\r\n },\r\n})\r\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ZorgovereenkomstInzienDeelnemer.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ZorgovereenkomstInzienDeelnemer.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./ZorgovereenkomstInzienDeelnemer.vue?vue&type=template&id=476aea85\"\nimport script from \"./ZorgovereenkomstInzienDeelnemer.vue?vue&type=script&lang=ts\"\nexport * from \"./ZorgovereenkomstInzienDeelnemer.vue?vue&type=script&lang=ts\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport ZorgovereenkomstInzienDeelnemersTkb from './ZorgovereenkomstInzienDeelnemersTkb.vue'\r\nimport ZorgovereenkomstInzienDeelnemer from './ZorgovereenkomstInzienDeelnemer.vue'\r\nimport i18n from './i18n'\r\nimport { defineComponent } from '@vue/composition-api'\r\nimport { ZorgovereenkomstDeelnemers } from '@/domains/zorgovereenkomst/dataAccess/models/ZorgovereenkomstDeelnemers'\r\nimport { Zorgverlener } from '@/domains/account/dataAccess/models/relaties/Zorgverlener'\r\nimport { useZorgovereenkomstInzienDeelnemers } from '../composables'\r\nimport { ContractType } from '@/_generated/portalClient'\r\n\r\nexport default defineComponent({\r\n name: 'ZorgovereenkomstInzienDeelnemers',\r\n components: {\r\n ZorgovereenkomstInzienDeelnemer,\r\n ZorgovereenkomstInzienDeelnemersTkb,\r\n },\r\n props: {\r\n data: { type: Object as () => ZorgovereenkomstDeelnemers, required: true },\r\n zorgverlener: { type: Object as () => Zorgverlener, required: true },\r\n contractType: { type: Number as () => ContractType, required: true },\r\n },\r\n i18n,\r\n setup (props) {\r\n const { deelnemers, zorgverlener, deelnemersAdressen } = useZorgovereenkomstInzienDeelnemers(props.data, props.zorgverlener)\r\n return {\r\n deelnemers,\r\n deelnemersAdressen,\r\n zorgverlenerRef: zorgverlener,\r\n }\r\n },\r\n})\r\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ZorgovereenkomstInzienDeelnemers.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ZorgovereenkomstInzienDeelnemers.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./ZorgovereenkomstInzienDeelnemers.vue?vue&type=template&id=5e827d12\"\nimport script from \"./ZorgovereenkomstInzienDeelnemers.vue?vue&type=script&lang=ts\"\nexport * from \"./ZorgovereenkomstInzienDeelnemers.vue?vue&type=script&lang=ts\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('section',_vm._l((_vm.vertegenwoordigers),function(vertegenwoordiger,index){return _c('zorgovereenkomst-inzien-vertegenwoordiger',{key:(\"vertegenwoordiger-\" + index),attrs:{\"type\":\"vertegenwoordiger\",\"vertegenwoordiger\":vertegenwoordiger}})}),1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('section',[_c('p-value-grid',[(_vm.isOrganisatie)?_c('p-value-row',{key:\"vertegenwoordigerOrganisatieNaam\",attrs:{\"label\":_vm.$t('labels.naamOrganisatie'),\"data-ui\":\"vertegenwoordiger-naam-organisatie\",\"value\":_vm.vertegenwoordiger.volledigeNaam,\"dash-on-falsy\":\"\"}}):_vm._e(),(!_vm.isOrganisatie)?_c('p-value-row',{key:\"vertegenwoordigerNaam\",attrs:{\"label\":_vm.$t('labels.naam'),\"data-ui\":\"vertegenwoordiger-naam\",\"value\":_vm.vertegenwoordiger.volledigeNaam,\"dash-on-falsy\":\"\"}}):_vm._e(),_c('p-value-row',{attrs:{\"label\":_vm.$t('labels.telefoon1'),\"data-ui\":\"vertegenwoordiger-telefoon1\",\"value\":_vm.vertegenwoordiger.telefoonnummer1,\"dash-on-falsy\":\"\"}}),_c('p-value-row',{attrs:{\"data-ui\":\"vertegenwoordiger-telefoon2\",\"label\":_vm.$t('labels.telefoon2'),\"value\":_vm.vertegenwoordiger.telefoonnummer2,\"dash-on-falsy\":\"\"}}),_c('p-value-row',{attrs:{\"data-ui\":\"vertegenwoordiger-email\",\"label\":_vm.$t('labels.email'),\"value\":_vm.vertegenwoordiger.emailAddress,\"dash-on-falsy\":\"\"}})],1),_c('p-divider',{staticClass:\"mb-5\"})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { mergeI18nDeep } from '@/utils/i18nUtils'\r\nimport zorgovereenkomstMainI18n from '@/domains/zorgovereenkomst/pages/i18n'\r\n\r\nconst i18n = {\r\n messages: {\r\n nl: {\r\n titles: {\r\n vertegenwoordiging: 'Vertegenwoordiging',\r\n },\r\n labels: {\r\n naam: 'Naam',\r\n naamOrganisatie: 'Naam organisatie',\r\n telefoon1: 'Telefoonnummer 1',\r\n telefoon2: 'Telefoonnummer 2',\r\n email: 'E-mailadres',\r\n },\r\n },\r\n },\r\n}\r\n\r\nmergeI18nDeep(i18n, zorgovereenkomstMainI18n)\r\nexport default i18n\r\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { defineComponent } from '@vue/composition-api'\r\nimport { Vertegenwoordiger } from '@/domains/account/dataAccess/models/relaties/Vertegenwoordiger'\r\nimport i18n from './i18n'\r\n\r\nexport default defineComponent({\r\n name: 'ZorgovereenkomstInzienVertegenwoordiger',\r\n i18n,\r\n props: {\r\n vertegenwoordiger: { type: Object as () => Vertegenwoordiger, required: true },\r\n },\r\n setup (props) {\r\n const isOrganisatie = props.vertegenwoordiger.isOrganisatie === true\r\n return {\r\n isOrganisatie,\r\n }\r\n },\r\n})\r\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ZorgovereenkomstInzienVertegenwoordiger.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ZorgovereenkomstInzienVertegenwoordiger.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./ZorgovereenkomstInzienVertegenwoordiger.vue?vue&type=template&id=35550931&scoped=true\"\nimport script from \"./ZorgovereenkomstInzienVertegenwoordiger.vue?vue&type=script&lang=ts\"\nexport * from \"./ZorgovereenkomstInzienVertegenwoordiger.vue?vue&type=script&lang=ts\"\nimport style0 from \"./ZorgovereenkomstInzienVertegenwoordiger.vue?vue&type=style&index=0&id=35550931&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"35550931\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n\n\n\n\n\n\n\r\nimport { computed, defineComponent } from '@vue/composition-api'\r\nimport ZorgovereenkomstInzienVertegenwoordiger from './ZorgovereenkomstInzienVertegenwoordiger.vue'\r\nimport i18n from './i18n'\r\nimport { Vertegenwoordiger } from '@/domains/account/dataAccess/models/relaties/Vertegenwoordiger'\r\n\r\nexport default defineComponent({\r\n name: 'ZorgovereenkomstInzienVertegenwoordigers',\r\n components: {\r\n ZorgovereenkomstInzienVertegenwoordiger,\r\n },\r\n props: {\r\n data: { type: Array as () => Vertegenwoordiger[], required: true },\r\n },\r\n i18n,\r\n setup (props) {\r\n return {\r\n vertegenwoordigers: computed(() => props.data || []),\r\n }\r\n },\r\n})\r\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ZorgovereenkomstInzienVertegenwoordigers.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ZorgovereenkomstInzienVertegenwoordigers.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./ZorgovereenkomstInzienVertegenwoordigers.vue?vue&type=template&id=a19c7334\"\nimport script from \"./ZorgovereenkomstInzienVertegenwoordigers.vue?vue&type=script&lang=ts\"\nexport * from \"./ZorgovereenkomstInzienVertegenwoordigers.vue?vue&type=script&lang=ts\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p-container',{staticClass:\"px-0 pb-0 \"},[_c('card-content-section',{attrs:{\"title\":_vm.$t('titles.documenten'),\"data-ui\":\"ingescande-documenten\",\"heading-level\":\"4\"}},[_c('p-value-row',{attrs:{\"data-ui\":\"documenten\",\"label\":_vm.$t('labels.documenten')}},[_c('download-archive-files',{attrs:{\"document-list\":_vm.data}})],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export default {\r\n messages: {\r\n nl: {\r\n titles: {\r\n documenten: 'Documenten',\r\n },\r\n labels: {\r\n documenten: 'Documenten',\r\n },\r\n },\r\n },\r\n}\r\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { defineComponent } from '@vue/composition-api'\r\nimport { Document } from '@/domains/remoteFile/dataAccess/models/Document'\r\nimport CardContentSection from '../CardContentSection.vue'\r\nimport DownloadArchiveFiles from '@/domains/remoteFile/components/DownloadArchiveFiles.vue'\r\nimport i18n from './i18n'\r\n\r\nexport default defineComponent({\r\n name: 'ZorgovereenkomstInzienDocumenten',\r\n components: {\r\n CardContentSection,\r\n DownloadArchiveFiles,\r\n },\r\n i18n,\r\n props: {\r\n data: { type: Array as () => Document[], required: true },\r\n },\r\n setup () {\r\n return {}\r\n },\r\n})\r\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ZorgovereenkomstInzienDocumenten.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ZorgovereenkomstInzienDocumenten.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./ZorgovereenkomstInzienDocumenten.vue?vue&type=template&id=2f1db2b0\"\nimport script from \"./ZorgovereenkomstInzienDocumenten.vue?vue&type=script&lang=ts\"\nexport * from \"./ZorgovereenkomstInzienDocumenten.vue?vue&type=script&lang=ts\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p-container',{staticClass:\"px-0 pb-0\"},[_c('werkafspraken-looptijd',{attrs:{\"looptijd\":_vm.looptijd,\"beeindigingswijze\":_vm.werkafspraken.beeindigingswijze,\"naam-vaste-zorgverlener\":_vm.werkafspraken.naamVasteZorgverlener,\"is-vervangingszorgovereenkomst\":_vm.werkafspraken.isVervangingszorgovereenkomst}}),(_vm.hasProeftijd)?_c('werkafspraken-proeftijd',{attrs:{\"einddatum-proeftijd\":_vm.werkafspraken.einddatumProeftijd}}):_vm._e(),_c('werkafspraken-vergoedingen',{attrs:{\"werkafspraken\":_vm.werkafspraken,\"contract-type\":_vm.zorgovereenkomst.contractType,\"aantal-werkdagen-per-week\":_vm.zorgovereenkomst.aantalWerkdagenPerWeek,\"has-vast-aantal-uren\":_vm.hasVastAantalUren,\"zorgverlener-type\":_vm.zorgverlenerType}}),(_vm.showWWTarief)?_c('werkafspraken-ww-tarief',{attrs:{\"zorgovereenkomst\":_vm.zorgovereenkomst}}):_vm._e(),_c('werkafspraken-vakantieuren',{attrs:{\"v-if\":_vm.isInDienstMetVastAantalUren,\"vakantieuren\":_vm.vakantieuren}}),(_vm.isNatuurlijkPersoon)?_c('werkafspraken-reiskosten',{attrs:{\"reiskosten\":_vm.reiskosten}}):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('card-content-section',{attrs:{\"title\":_vm.$t('titles.looptijdZorgovereenkomst'),\"data-ui\":\"werkafspraken-looptijd\",\"heading-level\":\"4\"},scopedSlots:_vm._u([(_vm.beeindigingswijze !== null)?{key:\"bottom\",fn:function(){return [_c('p-container',{staticClass:\"pa-0 mb-12 mt-0\",attrs:{\"data-ui\":\"werkafspraken-looptijd-beeindigingswijze\"}},[_c('p-alert',{attrs:{\"type\":\"warning\",\"title\":_vm.beeindigingswijzeTerugVanVerlof ? _vm.$t('beeindigingswijzeAlert.inactief', { datum: _vm.looptijd.eindDatum }) : ''}},[_c('p',[_vm._v(_vm._s(_vm.$t('beeindigingswijzeAlert.leadin'))+\" \"),_c('strong',[_vm._v(\"'\"+_vm._s(_vm.$t((\"beeindigingswijzeType.\" + _vm.beeindigingswijze)))+\"'\")])])])],1)]},proxy:true}:null],null,true)},[_c('p-value-row',{attrs:{\"label\":_vm.$t('labels.ingangsdatum'),\"value\":_vm.looptijd.ingangsDatum}}),_c('p-value-row',{attrs:{\"label\":_vm.$t('labels.einddatum'),\"value\":_vm.eindDatum}}),(_vm.naamVasteZorgverlener && _vm.beeindigingswijzeTerugVanVerlof)?_c('p-value-row',{key:\"zokInzienWerkafsprakenLooptijdRowVasteZorgverlener\",attrs:{\"label\":_vm.$t('labels.vasteZorgverlener'),\"value\":_vm.naamVasteZorgverlener}}):_vm._e(),(_vm.looptijd.aanzegtermijn)?_c('p-value-row',{key:\"zokInzienWerkafsprakenLooptijdRowZokVerlengen\",attrs:{\"label\":_vm.$t('labels.zorgovereenkomstVerlengen'),\"value\":_vm.looptijd.aanzegtermijn}}):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { mergeI18nDeep } from '@/utils/i18nUtils'\r\nimport zorgovereenkomstMainI18n from '@/domains/zorgovereenkomst/pages/i18n'\r\n\r\nconst i18n = {\r\n messages: {\r\n nl: {\r\n titles: {\r\n looptijdZorgovereenkomst: 'Looptijd zorgovereenkomst',\r\n werkafspraken: 'Werkafspraken en vergoedingen',\r\n weekrooster: 'Weekrooster',\r\n wwTarief: 'WW-tarief',\r\n vakantieuren: 'Vakantie-uren',\r\n reiskostenvergoeding: 'Reiskostenvergoeding',\r\n proeftijd: 'Proeftijd',\r\n },\r\n labels: {\r\n ingangsdatum: 'Ingangsdatum',\r\n einddatum: 'Einddatum',\r\n vasteZorgverlener: 'Vaste zorgverlener',\r\n zorgovereenkomstVerlengen: 'Wilt u de zorgovereenkomst mogelijk verlengen?',\r\n proeftijdAfgesproken: 'Proeftijd afgesproken',\r\n einddatumProeftijd: 'Einddatum proeftijd',\r\n gemaakteAfspraken: 'Welke werkafspraken heeft u gemaakt?',\r\n vergoedingRegelen: 'Hoe wilt u de vergoeding regelen?',\r\n aantalDagenZorgverlener: 'Hoeveel dagen per week werkt uw zorgverlener?',\r\n aantalUrenZorgverlener: 'Hoeveel uur werkt de zorgverlener?',\r\n wet: 'Wet',\r\n brutotarief: 'Brutotarief',\r\n werkzaamheden: 'Werkzaamheden',\r\n wwTarief: 'WW-tarief',\r\n wwTariefFrom: 'WW-tarief vanaf {date}',\r\n wwTariefUntil: 'WW-tarief {date1} t/m {date2}',\r\n vakantieuren: 'Hoe worden de vakantie-uren betaald?',\r\n afsprakenReiskosten: 'Afspraken reiskostenvergoeding',\r\n soortVergoedingZorgverlener: 'Soort vergoeding zorgverlener',\r\n vergoedingPerKilometer: 'Vergoeding per kilometer',\r\n kilometerPerDag: 'Kilometer per dag',\r\n aantalDagenPerWeek: 'Aantal dagen per week',\r\n maandelijkseReiskostenvergoeding: 'De maandelijkse reiskostenvergoeding bedraagt',\r\n aantaalUurPerEenheid: 'Aantal uur per {tijdsEenheid}',\r\n },\r\n noAanzegtermijn: 'Nee, deze zorgovereenkomst wordt na bovengenoemde datum niet nogmaals verlengd en eindigt van rechtswege. ' +\r\n 'De budgethouder heeft met het aankruisen van deze bepaling voldaan aan de verplichting tot het tijdig aanzeggen van de overeenkomst.',\r\n einddatum: {\r\n onbepaald: 'Voor onbepaalde tijd',\r\n vervangendeZorgverlener: 'De zorgverlener werkt als vervanger van de vaste zorgverlener zolang deze ziek is of met verlof is. ' +\r\n 'Zodra u de vaste zorgverlener beter of terug van verlof meldt, zal de vervangingsovereenkomst automatisch worden beëindigd.',\r\n },\r\n tarief: {\r\n displayTarief: '{bedrag} per {eenheid} {vakantieGeld}',\r\n vakantieGeld: '(inclusief 8% vakantiegeld)',\r\n card: {\r\n title: 'Tarieven per wet',\r\n tarievenTitle: 'Tarieven voor {wet}',\r\n tariefTitle: '{wet}: Tarief {count}',\r\n },\r\n },\r\n reiskosten: {\r\n soort: {\r\n reiskostenPerKm: 'Een reiskostenvergoeding per kilometer',\r\n reiskostenOv: 'De gemaakte kosten van het openbaar vervoer',\r\n maandloonVergoeding: 'Een vaste reiskostenvergoeding per maand',\r\n },\r\n },\r\n },\r\n },\r\n}\r\n\r\nmergeI18nDeep(i18n, zorgovereenkomstMainI18n)\r\nexport default i18n\r\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { computed, defineComponent } from '@vue/composition-api'\r\nimport { BeeindigingswijzeType } from '@/_generated/portalClient'\r\nimport { Looptijd } from '../composables/useZorgovereenkomstInzienWerkafspraken'\r\nimport CardContentSection from '../CardContentSection.vue'\r\nimport i18n from './i18n'\r\nimport { useI18n } from 'phoenix'\r\n\r\nexport default defineComponent({\r\n name: 'ZorgovereenkomstInzienWerkafsprakenLooptijd',\r\n components: {\r\n CardContentSection,\r\n },\r\n props: {\r\n looptijd: { type: Object as () => Looptijd, required: true },\r\n beeindigingswijze: { type: Number as () => BeeindigingswijzeType, default: undefined },\r\n naamVasteZorgverlener: { type: String, default: undefined },\r\n isVervangingszorgovereenkomst: { type: Boolean, default: false },\r\n },\r\n i18n,\r\n setup (props) {\r\n const { t } = useI18n()\r\n const eindDatum = props.isVervangingszorgovereenkomst ? t('einddatum.vervangendeZorgverlener') : props.looptijd.eindDatum\r\n return {\r\n beeindigingswijzeTerugVanVerlof: computed(() => props.beeindigingswijze === BeeindigingswijzeType.BetermeldingOfTerugVanVerlofVasteZorgverlener),\r\n eindDatum,\r\n }\r\n },\r\n})\r\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ZorgovereenkomstInzienWerkafsprakenLooptijd.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ZorgovereenkomstInzienWerkafsprakenLooptijd.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./ZorgovereenkomstInzienWerkafsprakenLooptijd.vue?vue&type=template&id=4126e1c0\"\nimport script from \"./ZorgovereenkomstInzienWerkafsprakenLooptijd.vue?vue&type=script&lang=ts\"\nexport * from \"./ZorgovereenkomstInzienWerkafsprakenLooptijd.vue?vue&type=script&lang=ts\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('card-content-section',{attrs:{\"title\":_vm.$t('titles.proeftijd'),\"data-ui\":\"werkafspraken-proeftijd\",\"heading-level\":\"4\"}},[_c('p-value-row',{attrs:{\"label\":_vm.$t('labels.proeftijdAfgesproken'),\"value\":_vm.einddatumProeftijd,\"yes-no-boolean\":\"\"}}),(_vm.einddatumProeftijd)?_c('p-value-row',{key:\"zokInzienWerkafsprakenProeftijdRowEinddatumProeftijd\",attrs:{\"label\":_vm.$t('labels.einddatumProeftijd'),\"value\":_vm.einddatumProeftijd}}):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { defineComponent } from '@vue/composition-api'\r\nimport CardContentSection from '../CardContentSection.vue'\r\nimport i18n from './i18n'\r\n\r\nexport default defineComponent({\r\n name: 'ZorgovereenkomstInzienWerkafsprakenProeftijd',\r\n components: {\r\n CardContentSection,\r\n },\r\n props: {\r\n einddatumProeftijd: { type: String, default: null },\r\n },\r\n i18n,\r\n})\r\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ZorgovereenkomstInzienWerkafsprakenProeftijd.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ZorgovereenkomstInzienWerkafsprakenProeftijd.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./ZorgovereenkomstInzienWerkafsprakenProeftijd.vue?vue&type=template&id=08fcb807\"\nimport script from \"./ZorgovereenkomstInzienWerkafsprakenProeftijd.vue?vue&type=script&lang=ts\"\nexport * from \"./ZorgovereenkomstInzienWerkafsprakenProeftijd.vue?vue&type=script&lang=ts\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('card-content-section',{attrs:{\"title\":_vm.$t('titles.reiskostenvergoeding'),\"data-ui\":\"werkafspraken-reiskosten\",\"heading-level\":\"4\"}},[_c('p-value-row',{attrs:{\"label\":_vm.$t('labels.afsprakenReiskosten'),\"value\":_vm.$t((\"reiskostenAfspraakType.\" + (_vm.reiskosten.reiskostenAfspraak)))}}),(_vm.reiskostenWordenVergoed)?_c('p-value-row',{key:\"zokInzienWerkafsprakenReiskostenRowSoortVergoedingZorgverlener\",attrs:{\"label\":_vm.$t('labels.soortVergoedingZorgverlener')}},[_c('ul',{staticClass:\"ma-0 pa-0 list-style-none\",attrs:{\"role\":\"list\"}},[(_vm.reiskosten.reiskostenPerKm)?_c('li',[_vm._v(\" \"+_vm._s(_vm.$t('reiskosten.soort.reiskostenPerKm'))+\" \")]):_vm._e(),(_vm.reiskosten.reiskostenOv)?_c('li',[_vm._v(\" \"+_vm._s(_vm.$t('reiskosten.soort.reiskostenOv'))+\" \")]):_vm._e(),(_vm.reiskosten.maandloonVergoeding)?_c('li',[_vm._v(\" \"+_vm._s(_vm.$t('reiskosten.soort.maandloonVergoeding'))+\" \")]):_vm._e()])]):_vm._e(),(_vm.reiskostenWordenVergoed && _vm.reiskosten.reiskostenBedrag && (_vm.reiskosten.maandloonVergoeding || _vm.reiskosten.reiskostenPerKm))?_c('p-value-row',{key:\"zokInzienWerkafsprakenReiskostenRowVergoedingPerKilometer\",attrs:{\"label\":_vm.$t('labels.vergoedingPerKilometer'),\"value\":_vm.$n(_vm.reiskosten.reiskostenBedrag, 'currency')}}):_vm._e(),(_vm.vasteReiskostenvergoedingPerMaand && _vm.reiskosten.maandloonKilometerPerDag)?_c('p-value-row',{key:\"zokInzienWerkafsprakenReiskostenRowKilometerPerDag\",attrs:{\"label\":_vm.$t('labels.kilometerPerDag'),\"value\":_vm.$n(_vm.reiskosten.maandloonKilometerPerDag)}}):_vm._e(),(_vm.vasteReiskostenvergoedingPerMaand && _vm.reiskosten.maandloonDagenPerWeek)?_c('p-value-row',{key:\"zokInzienWerkafsprakenReiskostenRowAantalDagenPerWeek\",attrs:{\"label\":_vm.$t('labels.aantalDagenPerWeek'),\"value\":_vm.$tc('days', _vm.reiskosten.maandloonDagenPerWeek, { count: _vm.reiskosten.maandloonDagenPerWeek })}}):_vm._e(),(_vm.vasteReiskostenvergoedingPerMaand)?_c('p-value-row',{key:\"zokInzienWerkafsprakenReiskostenRowMaandelijkseReiskostenvergoeding\",attrs:{\"label\":_vm.$t('labels.maandelijkseReiskostenvergoeding'),\"value\":_vm.$n(_vm.reiskosten.totaalMaandBedrag, 'currency')}}):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { computed, defineComponent } from '@vue/composition-api'\r\nimport { ReiskostenAfspraakType } from '@/_generated/portalClient'\r\nimport { ReiskostenAfspraak } from '@/domains/zorgovereenkomst/dataAccess/models/ReiskostenAfspraak'\r\nimport CardContentSection from '../CardContentSection.vue'\r\nimport i18n from './i18n'\r\n\r\nexport default defineComponent({\r\n name: 'ZorgovereenkomstInzienWerkafsprakenReiskosten',\r\n components: {\r\n CardContentSection,\r\n },\r\n props: {\r\n reiskosten: { type: Object as () => ReiskostenAfspraak, required: true },\r\n\r\n },\r\n i18n,\r\n setup (props) {\r\n const reiskostenWordenVergoed = computed(() => props.reiskosten.reiskostenAfspraak === ReiskostenAfspraakType.ReiskostWordenWelVergoed)\r\n return {\r\n reiskostenWordenVergoed,\r\n vasteReiskostenvergoedingPerMaand: computed(() => reiskostenWordenVergoed.value && props.reiskosten.maandloonVergoeding),\r\n }\r\n },\r\n})\r\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ZorgovereenkomstInzienWerkafsprakenReiskosten.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ZorgovereenkomstInzienWerkafsprakenReiskosten.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./ZorgovereenkomstInzienWerkafsprakenReiskosten.vue?vue&type=template&id=7035cdc0\"\nimport script from \"./ZorgovereenkomstInzienWerkafsprakenReiskosten.vue?vue&type=script&lang=ts\"\nexport * from \"./ZorgovereenkomstInzienWerkafsprakenReiskosten.vue?vue&type=script&lang=ts\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('card-content-section',{attrs:{\"title\":_vm.$t('titles.vakantieuren'),\"data-ui\":\"werkafspraken-vakantie-uren\",\"heading-level\":\"4\"}},[_c('p-value-row',{attrs:{\"label\":_vm.$t('labels.vakantieuren'),\"value\":_vm.vakantieuren}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { defineComponent } from '@vue/composition-api'\r\nimport CardContentSection from '../CardContentSection.vue'\r\nimport i18n from './i18n'\r\n\r\nexport default defineComponent({\r\n name: 'ZorgovereenkomstInzienWerkafsprakenVakantieuren',\r\n components: {\r\n CardContentSection,\r\n },\r\n props: {\r\n vakantieuren: { type: String, required: true },\r\n },\r\n i18n,\r\n})\r\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ZorgovereenkomstInzienWerkafsprakenVakantieuren.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ZorgovereenkomstInzienWerkafsprakenVakantieuren.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./ZorgovereenkomstInzienWerkafsprakenVakantieuren.vue?vue&type=template&id=c4661de4\"\nimport script from \"./ZorgovereenkomstInzienWerkafsprakenVakantieuren.vue?vue&type=script&lang=ts\"\nexport * from \"./ZorgovereenkomstInzienWerkafsprakenVakantieuren.vue?vue&type=script&lang=ts\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('card-content-section',{attrs:{\"title\":_vm.$t('titles.werkafspraken'),\"data-ui\":\"werkafspraken-werkafspraken\",\"heading-level\":\"4\"},scopedSlots:_vm._u([{key:\"bottom\",fn:function(){return [_c('werkafspraken-weekrooster',{attrs:{\"weekroosters\":_vm.werkafspraken.weekroosters}}),_c('werkafspraken-tarieven',{attrs:{\"afspraken\":_vm.werkafspraken.werkafspraken,\"zorgverlener-type\":_vm.zorgverlenerType}})]},proxy:true}])},[_c('p-value-row',{attrs:{\"label\":_vm.$t('labels.gemaakteAfspraken'),\"value\":_vm.$t((\"werkAfspraakType.\" + (_vm.werkafspraken.werkAfspraakType)))}}),_c('p-value-row',{attrs:{\"label\":_vm.$t('labels.vergoedingRegelen'),\"value\":_vm.$t((\"vergoedingsregelingType.\" + (_vm.werkafspraken.vergoedingsregelingType)))}}),(_vm.isContractInDienst(_vm.contractType) && _vm.aantalWerkdagenPerWeek)?_c('p-value-row',{key:\"zokInzienWerkafsprakenVergoedingenRowAantalWerkdagenPerWeek\",attrs:{\"label\":_vm.$t('labels.aantalDagenZorgverlener'),\"value\":_vm.$t((\"aantalWerkdagenPerWeekType.\" + _vm.aantalWerkdagenPerWeek))}}):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p-container',{staticClass:\"pa-0 ma-0 pb-1\",attrs:{\"data-ui\":\"werkafspraken-weekrooster\"}},_vm._l((_vm.weekroosters),function(weekrooster,index){return _c('nested-card-content-section',{key:(\"weekrooster-\" + index),attrs:{\"title\":_vm.$t((\"titles.weekrooster\" + (_vm.weekroosters.length > 1 ? (\" (\" + (weekrooster.weekNumber) + \")\") : '')))}},[_vm._l((weekrooster.weekroosterDag),function(weekdag){return _c('p-value-row',{key:(\"weekdag-\" + index + (weekdag.dag)),attrs:{\"label\":_vm.$t((\"dag.\" + (weekdag.dag))),\"value\":weekdag.aantalMinuten ? _vm.displayHoursMinutes(weekdag.aantalMinuten) : '-'}})}),_c('p-value-row',{staticClass:\"border-top pt-4\",attrs:{\"label\":_vm.$t('total'),\"value\":_vm.displayHoursMinutes(_vm.total, _vm.unit)}})],2)}),1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('card-content-section',_vm._b({staticClass:\"nested-card-content-section px-4 pt-4 pb-0 ma-0 rounded\",attrs:{\"id\":_vm.id,\"title\":_vm.title,\"heading-level\":_vm.level,\"is-named-section\":true},scopedSlots:_vm._u([{key:\"bottom\",fn:function(){return [_vm._t(\"bottom\")]},proxy:true}],null,true)},'card-content-section',_vm.$attrs,false),[_vm._t(\"default\")],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { defineComponent } from '@vue/composition-api'\r\nimport CardContentSection from './CardContentSection.vue'\r\n\r\nexport default defineComponent({\r\n name: 'NestedCardContentSection',\r\n components: {\r\n CardContentSection,\r\n },\r\n props: {\r\n level: { type: Number, default: 5 },\r\n title: { type: String, default: undefined },\r\n id: { type: String, default: undefined },\r\n },\r\n})\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NestedCardContentSection.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NestedCardContentSection.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./NestedCardContentSection.vue?vue&type=template&id=0b7051b8&scoped=true\"\nimport script from \"./NestedCardContentSection.vue?vue&type=script&lang=ts\"\nexport * from \"./NestedCardContentSection.vue?vue&type=script&lang=ts\"\nimport style0 from \"./NestedCardContentSection.vue?vue&type=style&index=0&id=0b7051b8&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"0b7051b8\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { WerkafspraakEenheidType } from '@/_generated/portalClient'\r\nimport { defineComponent } from '@vue/composition-api'\r\nimport { Weekrooster } from '@/domains/zorgovereenkomst/dataAccess/models/Weekrooster'\r\nimport { displayHoursMinutes } from '../helpers/helpers'\r\nimport NestedCardContentSection from '../NestedCardContentSection.vue'\r\nimport i18n from './i18n'\r\n\r\nexport default defineComponent({\r\n name: 'ZorgovereenkomstInzienWerkafsprakenWeekrooster',\r\n components: {\r\n NestedCardContentSection,\r\n },\r\n props: {\r\n weekroosters: { type: Array as () => Weekrooster[], default: () => [] },\r\n },\r\n i18n,\r\n setup (props) {\r\n const total = props.weekroosters && props.weekroosters.length\r\n ? props.weekroosters.map(rooster => (rooster.weekroosterDag || []).reduce((sum, { aantalMinuten }) => sum + (aantalMinuten || 0), 0))\r\n : 0\r\n return { total, displayHoursMinutes, unit: WerkafspraakEenheidType.MinutenPerWeek }\r\n },\r\n})\r\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ZorgovereenkomstInzienWerkafsprakenWeekrooster.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ZorgovereenkomstInzienWerkafsprakenWeekrooster.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./ZorgovereenkomstInzienWerkafsprakenWeekrooster.vue?vue&type=template&id=51934430\"\nimport script from \"./ZorgovereenkomstInzienWerkafsprakenWeekrooster.vue?vue&type=script&lang=ts\"\nexport * from \"./ZorgovereenkomstInzienWerkafsprakenWeekrooster.vue?vue&type=script&lang=ts\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p-container',{staticClass:\"pa-0 ma-0 pb-1\",attrs:{\"data-ui\":\"werkafspraken-afspraken\"}},[_c('ul',{staticClass:\"tarieven-card pl-0\",attrs:{\"role\":\"list\",\"aria-label\":_vm.$t('tarief.card.title')}},_vm._l((_vm.afspraken),function(afspraak,afspraakIndex){return _c('li',{key:(\"afspraak-\" + (afspraak.werkafspraakId) + afspraakIndex),staticClass:\"mb-8 px-4 pt-4 pb-0 ma-0 rounded\"},[_c('p-value-grid',[_c('p-value-row',{attrs:{\"label\":_vm.$t('labels.wet'),\"value\":_vm.$t((\"wetType.\" + (afspraak.wet)))}}),(afspraak.aantalTijdseenheden)?_c('p-value-row',{key:\"zokInzienWerkafsprakenTarievenRowAantalUrenZorgverlener\",attrs:{\"label\":_vm.$t('labels.aantalUrenZorgverlener'),\"value\":_vm.urenPerTijdseenheid(afspraak)}}):_vm._e()],1),_c('ul',{staticClass:\"pl-0\",attrs:{\"role\":\"list\",\"aria-label\":_vm.$t('tarief.card.tarievenTitle', {wet: _vm.$t((\"wetType.\" + (afspraak.wet)))})}},_vm._l((afspraak.tarieven),function(tarief,index){return _c('li',{key:(\"tarief-\" + (afspraak.werkafspraakId) + index)},[_c('p-value-grid',{staticClass:\"border-top pt-4\",attrs:{\"aria-label\":_vm.$t('tarief.card.tariefTitle', {wet: _vm.$t((\"wetType.\" + (afspraak.wet))), count: (index + 1).toString()})}},[_c('p-value-row',{attrs:{\"label\":_vm.$t('labels.brutotarief'),\"value\":_vm.tariefPerEenheid(tarief)}}),(_vm.tariefMetAparteTijdseenheid(tarief).isNietUren)?_c('p-value-row',{key:\"zokInzienWerkafsprakenTarievenRowTariefMetAparteTijdseenheid\",attrs:{\"label\":_vm.tariefMetAparteTijdseenheid(tarief).label,\"value\":_vm.tariefMetAparteTijdseenheid(tarief).value}}):_vm._e(),_c('p-value-row',{attrs:{\"label\":_vm.$t('labels.werkzaamheden'),\"value\":_vm.werkzaamhedenMappen(tarief.werkzaamheden)}})],1)],1)}),0)],1)}),0)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { Tarief } from '@/domains/zorgovereenkomst/dataAccess/models/Tarief'\r\nimport { Werkafspraak } from '@/domains/zorgovereenkomst/dataAccess/models/Werkafspraak'\r\nimport { TijdseenheidType, WerkzaamheidType } from '@/_generated/portalClient'\r\nimport { IUseI18n } from 'phoenix/types/composables/useI18n'\r\nimport { displayHoursMinutes } from '../helpers/helpers'\r\n\r\nexport function useTarieven (isZorgverlenerNatuurlijkePersoon: boolean, i18n: IUseI18n) {\r\n return {\r\n tariefPerEenheid: tariefPerEenheid(isZorgverlenerNatuurlijkePersoon, i18n),\r\n werkzaamhedenMappen: werkzaamhedenMappen(i18n),\r\n urenPerTijdseenheid: urenPerTijdseenheid(i18n),\r\n tariefMetAparteTijdseenheid: tariefMetAparteTijdseenheid(i18n),\r\n }\r\n}\r\n\r\nfunction tariefPerEenheid (isZorgverlenerNatuurlijkePersoon: boolean, i18n: IUseI18n) {\r\n return (tarief: Tarief): string => {\r\n return i18n.t('tarief.displayTarief', {\r\n bedrag: i18n.n(tarief.brutotariefBedrag, 'currency'),\r\n eenheid: i18n.t(`tijdseenheidType.${tarief.tijdseenheid}`),\r\n vakantieGeld: isZorgverlenerNatuurlijkePersoon ? i18n.t('tarief.vakantieGeld') : '',\r\n })\r\n }\r\n}\r\nfunction werkzaamhedenMappen (i18n: IUseI18n) {\r\n return (werkzaamheden: WerkzaamheidType[]): string => {\r\n return werkzaamheden.map((werkzaamheid) => i18n.t(`werkzaamheidType.${werkzaamheid}`)).join(', ')\r\n }\r\n}\r\n\r\nfunction urenPerTijdseenheid (i18n: IUseI18n) {\r\n return (werkafspraak: Werkafspraak): string => {\r\n if (werkafspraak.aantalTijdseenheden) {\r\n return displayHoursMinutes(werkafspraak.aantalTijdseenheden, werkafspraak.werkafspraakEenheid, i18n)\r\n }\r\n return ''\r\n }\r\n}\r\nfunction tariefMetAparteTijdseenheid (i18n: IUseI18n) {\r\n return (tarief: Tarief) => {\r\n return {\r\n isNietUren: [TijdseenheidType.Uren, TijdseenheidType.Maanden].every(eenheid => eenheid !== tarief.tijdseenheid),\r\n label: i18n.t('labels.aantaalUurPerEenheid', { tijdsEenheid: i18n.t(`tijdseenheidType.${tarief.tijdseenheid}`) }),\r\n value: displayHoursMinutes(tarief.minutenPerTijdseenheid || 0, null, i18n),\r\n }\r\n }\r\n}\r\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { Werkafspraak } from '@/domains/zorgovereenkomst/dataAccess/models/Werkafspraak'\r\nimport { defineComponent } from '@vue/composition-api'\r\nimport { useI18n } from 'phoenix'\r\nimport { isNatuurlijkPersoon } from '../helpers/helpers'\r\nimport { useTarieven } from '../composables/useTarieven'\r\nimport i18n from './i18n'\r\nimport { ZorgverlenerType } from '@/_generated/portalClient'\r\n\r\nexport default defineComponent({\r\n name: 'ZorgovereenkomstInzienWerkafsprakenTarieven',\r\n props: {\r\n afspraken: { type: Array as () => Werkafspraak[], default: () => [] },\r\n zorgverlenerType: { type: Number as () => ZorgverlenerType, required: true },\r\n\r\n },\r\n i18n,\r\n setup (props) {\r\n return {\r\n ...useTarieven(isNatuurlijkPersoon(props.zorgverlenerType), useI18n()),\r\n }\r\n },\r\n})\r\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ZorgovereenkomstInzienWerkafsprakenTarieven.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ZorgovereenkomstInzienWerkafsprakenTarieven.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./ZorgovereenkomstInzienWerkafsprakenTarieven.vue?vue&type=template&id=4e356612\"\nimport script from \"./ZorgovereenkomstInzienWerkafsprakenTarieven.vue?vue&type=script&lang=ts\"\nexport * from \"./ZorgovereenkomstInzienWerkafsprakenTarieven.vue?vue&type=script&lang=ts\"\nimport style0 from \"./ZorgovereenkomstInzienWerkafsprakenTarieven.vue?vue&type=style&index=0&id=4e356612&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { computed, defineComponent } from '@vue/composition-api'\r\nimport { AantalWerkdagenPerWeekType, ContractType, WerkAfspraakType, ZorgverlenerType } from '@/_generated/portalClient'\r\nimport { ZorgovereenkomstWerkafspraken } from '@/domains/zorgovereenkomst/dataAccess/models/ZorgovereenkomstWerkafspraken'\r\nimport { isContractInDienst } from '../helpers/helpers'\r\nimport CardContentSection from '../CardContentSection.vue'\r\nimport WerkafsprakenWeekrooster from './ZorgovereenkomstInzienWerkafsprakenWeekrooster.vue'\r\nimport WerkafsprakenTarieven from './ZorgovereenkomstInzienWerkafsprakenTarieven.vue'\r\nimport i18n from './i18n'\r\n\r\nexport default defineComponent({\r\n name: 'ZorgovereenkomstInzienWerkafsprakenVergoedingen',\r\n components: {\r\n CardContentSection,\r\n WerkafsprakenWeekrooster,\r\n WerkafsprakenTarieven,\r\n },\r\n props: {\r\n werkafspraken: { type: Object as () => ZorgovereenkomstWerkafspraken, required: true },\r\n aantalWerkdagenPerWeek: { type: Number as () => AantalWerkdagenPerWeekType, default: null },\r\n hasVastAantalUren: { type: Boolean, required: true },\r\n zorgverlenerType: { type: Number as () => ZorgverlenerType, required: true },\r\n contractType: { type: Number as () => ContractType, required: true },\r\n },\r\n i18n,\r\n setup (props) {\r\n const isInDienstMetOnregelmatigeUren = computed(\r\n () => isContractInDienst(props.contractType) && (props.werkafspraken.werkAfspraakType === WerkAfspraakType.OnregelmatigAantalUren)\r\n )\r\n return {\r\n isInDienstMetOnregelmatigeUren,\r\n isContractInDienst,\r\n }\r\n },\r\n})\r\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ZorgovereenkomstInzienWerkafsprakenVergoedingen.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ZorgovereenkomstInzienWerkafsprakenVergoedingen.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./ZorgovereenkomstInzienWerkafsprakenVergoedingen.vue?vue&type=template&id=db081326\"\nimport script from \"./ZorgovereenkomstInzienWerkafsprakenVergoedingen.vue?vue&type=script&lang=ts\"\nexport * from \"./ZorgovereenkomstInzienWerkafsprakenVergoedingen.vue?vue&type=script&lang=ts\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('card-content-section',{attrs:{\"title\":_vm.$t('titles.wwTarief'),\"data-ui\":\"werkafspraken-ww-tarief\",\"heading-level\":\"4\"}},[(_vm.showTariefBetreffendJaar)?_c('p-value-row',{key:\"zokInzienWerkafsprakenWwTariefRowBetreffendJaar\",attrs:{\"label\":_vm.wwTarief.betreffendJaar.label,\"value\":_vm.wwTarief.betreffendJaar.text}}):_vm._e(),_c('p-value-row',{attrs:{\"label\":_vm.wwTarief.opZorgovereenkomst.label,\"value\":_vm.wwTarief.opZorgovereenkomst.text}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { Ref, ref } from '@vue/composition-api'\r\nimport { endOf, toLocaleString, add, useI18n } from 'phoenix'\r\nimport { IUseI18n } from 'phoenix/types/composables/useI18n'\r\nimport { WWTariefType, WerkAfspraakType } from '@/_generated/portalClient'\r\nimport { Zorgovereenkomst } from '@/domains/zorgovereenkomst/dataAccess/models/Zorgovereenkomst'\r\nimport { zorgovereenkomstBekijkenService } from '@/domains/zorgovereenkomst/dataAccess/ZorgovereenkomstBekijkenService'\r\n\r\nexport interface IWWTarief {\r\n opZorgovereenkomst: {\r\n label: string,\r\n text: string,\r\n val: WWTariefType,\r\n }\r\n betreffendJaar: {\r\n label: string,\r\n text: string,\r\n val: WWTariefType,\r\n },\r\n}\r\n\r\nexport class UseWWTarief {\r\n public readonly zorgovereenkomst: Zorgovereenkomst\r\n public readonly wwTarief: Ref\r\n private readonly _i18n: IUseI18n\r\n\r\n constructor (zorgovereenkomst: Zorgovereenkomst, i18n: IUseI18n = useI18n()) {\r\n this.zorgovereenkomst = zorgovereenkomst\r\n this._i18n = i18n\r\n this.wwTarief = ref(this.createDefault())\r\n this.getWWTarief()\r\n }\r\n\r\n createDefault () {\r\n return {\r\n opZorgovereenkomst: {\r\n label: this._i18n.t('labels.wwTarief'),\r\n text: this._i18n.t(`wwTariefType.${WWTariefType.Onbekend}`),\r\n val: WWTariefType.Onbekend,\r\n },\r\n betreffendJaar: {\r\n label: '',\r\n text: '',\r\n val: WWTariefType.Onbekend,\r\n },\r\n }\r\n }\r\n\r\n calculateWWTariefOpZok () {\r\n const werkafspraken = this.zorgovereenkomst.werkafspraken\r\n if (werkafspraken.periode.eindDatum ||\r\n werkafspraken.isVervangingszorgovereenkomst ||\r\n werkafspraken.werkAfspraakType === WerkAfspraakType.OnregelmatigAantalUren) {\r\n return WWTariefType.Hoog\r\n }\r\n return WWTariefType.Laag\r\n }\r\n\r\n updateWWTarieven (wwTariefType: WWTariefType) {\r\n const tariefOpZorgovereenkomst = this.calculateWWTariefOpZok()\r\n const wwTarief = this.wwTarief.value\r\n wwTarief.opZorgovereenkomst.text = this._i18n.t(`wwTariefType.${tariefOpZorgovereenkomst}`)\r\n wwTarief.opZorgovereenkomst.val = tariefOpZorgovereenkomst\r\n if ([WWTariefType.Onbekend, WWTariefType.Geen].every(type => wwTariefType !== type) && wwTariefType !== tariefOpZorgovereenkomst) {\r\n this.wwTariefAfwijkendOpJaar(wwTarief, wwTariefType)\r\n }\r\n }\r\n\r\n private wwTariefAfwijkendOpJaar (wwTarief: IWWTarief, wwTariefType: WWTariefType) {\r\n const ingangsDatum = this.zorgovereenkomst.werkafspraken.periode.ingangsDatum\r\n const endOfYear = endOf(ingangsDatum, 'year')\r\n wwTarief.opZorgovereenkomst.label = this._i18n.t('labels.wwTariefFrom', { date: toLocaleString(add(endOfYear, 1, 'day'), '-') })\r\n wwTarief.betreffendJaar.label = this._i18n.t('labels.wwTariefUntil', { date1: toLocaleString(ingangsDatum, '-'), date2: toLocaleString(endOfYear, '-') })\r\n wwTarief.betreffendJaar.text = this._i18n.t(`wwTariefType.${wwTariefType}`)\r\n wwTarief.betreffendJaar.val = wwTariefType\r\n }\r\n\r\n async getWWTarief () {\r\n await zorgovereenkomstBekijkenService()\r\n .getWWTarief(this.zorgovereenkomst)\r\n .then((wwtarieftype: WWTariefType) => { this.updateWWTarieven(wwtarieftype) })\r\n }\r\n}\r\n\r\nexport default function useWWTarief (zorgovereenkomst: Zorgovereenkomst, i18n: IUseI18n = useI18n()) {\r\n const oUseWWTarief = new UseWWTarief(zorgovereenkomst, i18n)\r\n return {\r\n wwTarief: oUseWWTarief.wwTarief,\r\n }\r\n}\r\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { computed, defineComponent } from '@vue/composition-api'\r\nimport { WWTariefType } from '@/_generated/portalClient'\r\nimport { Zorgovereenkomst } from '@/domains/zorgovereenkomst/dataAccess/models/Zorgovereenkomst'\r\nimport useWWTarief from '../composables/useWWTarief'\r\nimport CardContentSection from '../CardContentSection.vue'\r\nimport i18n from './i18n'\r\n\r\nexport default defineComponent({\r\n name: 'ZorgovereenkomstInzienWerkafsprakenWwTarief',\r\n components: {\r\n CardContentSection,\r\n },\r\n props: {\r\n zorgovereenkomst: { type: Object as () => Zorgovereenkomst, required: true },\r\n },\r\n i18n,\r\n setup (props) {\r\n const { wwTarief } = useWWTarief(props.zorgovereenkomst)\r\n return {\r\n wwTarief,\r\n showTariefBetreffendJaar: computed(() => wwTarief.value.betreffendJaar.val !== WWTariefType.Onbekend),\r\n }\r\n },\r\n})\r\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ZorgovereenkomstInzienWerkafsprakenWwTarief.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ZorgovereenkomstInzienWerkafsprakenWwTarief.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./ZorgovereenkomstInzienWerkafsprakenWwTarief.vue?vue&type=template&id=1ceb185f\"\nimport script from \"./ZorgovereenkomstInzienWerkafsprakenWwTarief.vue?vue&type=script&lang=ts\"\nexport * from \"./ZorgovereenkomstInzienWerkafsprakenWwTarief.vue?vue&type=script&lang=ts\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { computed, defineComponent } from '@vue/composition-api'\r\nimport { Zorgovereenkomst } from '@/domains/zorgovereenkomst/dataAccess/models/Zorgovereenkomst'\r\nimport { useZorgovereenkomstInzienWerkafspraken } from '../composables'\r\nimport WerkafsprakenLooptijd from './ZorgovereenkomstInzienWerkafsprakenLooptijd.vue'\r\nimport WerkafsprakenProeftijd from './ZorgovereenkomstInzienWerkafsprakenProeftijd.vue'\r\nimport WerkafsprakenReiskosten from './ZorgovereenkomstInzienWerkafsprakenReiskosten.vue'\r\nimport WerkafsprakenVakantieuren from './ZorgovereenkomstInzienWerkafsprakenVakantieuren.vue'\r\nimport WerkafsprakenVergoedingen from './ZorgovereenkomstInzienWerkafsprakenVergoedingen.vue'\r\nimport WerkafsprakenWwTarief from './ZorgovereenkomstInzienWerkafsprakenWwTarief.vue'\r\nimport i18n from './i18n'\r\nimport { AantalWerkdagenPerWeekType, ZorgverlenerType } from '@/_generated/portalClient'\r\nimport { isContractInDienst, isNatuurlijkPersoon } from '../helpers/helpers'\r\n\r\nexport default defineComponent({\r\n name: 'ZorgovereenkomstInzienWerkafspraken',\r\n components: {\r\n WerkafsprakenLooptijd,\r\n WerkafsprakenProeftijd,\r\n WerkafsprakenReiskosten,\r\n WerkafsprakenVakantieuren,\r\n WerkafsprakenVergoedingen,\r\n WerkafsprakenWwTarief,\r\n },\r\n props: {\r\n zorgovereenkomst: { type: Object as () => Zorgovereenkomst, required: true },\r\n },\r\n i18n,\r\n setup (props) {\r\n const werkafspraken = useZorgovereenkomstInzienWerkafspraken(props.zorgovereenkomst)\r\n const showWWTarief = computed(() => (\r\n werkafspraken.periode().ingangsDatum &&\r\n isContractInDienst(props.zorgovereenkomst.contractType) &&\r\n props.zorgovereenkomst.aantalWerkdagenPerWeek === AantalWerkdagenPerWeekType.VierDagenOfMeer\r\n ))\r\n const zorgverlenerType = computed(() => props.zorgovereenkomst.zorgverlener ? props.zorgovereenkomst.zorgverlener.zorgverlenerType : ZorgverlenerType.Onbekend)\r\n return {\r\n ...werkafspraken,\r\n showWWTarief,\r\n isNatuurlijkPersoon: isNatuurlijkPersoon(zorgverlenerType.value as ZorgverlenerType),\r\n zorgverlenerType,\r\n }\r\n },\r\n})\r\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ZorgovereenkomstInzienWerkafspraken.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ZorgovereenkomstInzienWerkafspraken.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./ZorgovereenkomstInzienWerkafspraken.vue?vue&type=template&id=446eefe3\"\nimport script from \"./ZorgovereenkomstInzienWerkafspraken.vue?vue&type=script&lang=ts\"\nexport * from \"./ZorgovereenkomstInzienWerkafspraken.vue?vue&type=script&lang=ts\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p-container',{staticClass:\"px-0 pb-0\"},[(_vm.isNatuurlijkPersoon)?_c('salaris-administratie',{attrs:{\"zorgverlener-type\":_vm.zorgverlenerType,\"contract-type\":_vm.contractType,\"salarisadministratie-machtiging\":_vm.salarisadministratieMachtiging,\"is-uitbetaling-bruto\":_vm.data.isUitbetalingBruto,\"aantal-werkdagen-per-week\":_vm.aantalWerkdagenPerWeek}}):_vm._e(),(_vm.data.documentenIdentiteitsbewijs && _vm.data.documentenIdentiteitsbewijs.length)?_c('card-content-section',{key:\"zorgovereenkomstAlgemeneAfsprakenIdentiteitsbewijsZorgverlener\",attrs:{\"title\":_vm.$t('titles.identiteitsbewijsZorgverlener'),\"heading-level\":\"4\"}},[_c('p-value-row',{attrs:{\"data-ui\":\"identiteitsbewijs-zorgverlener\",\"label\":_vm.$t('labels.voorEnAchterkantIdBewijs')}},[_c('download-archive-files',{attrs:{\"document-list\":_vm.data.documentenIdentiteitsbewijs}})],1)],1):_vm._e(),(_vm.data.documentenVragenlijstFamilieverhouding && _vm.data.documentenVragenlijstFamilieverhouding.length)?_c('card-content-section',{key:\"zorgovereenkomstAlgemeneAfsprakenVragenlijstFamilieverhouding\",attrs:{\"title\":_vm.$t('titles.vragenlijstFamilieverhouding'),\"heading-level\":\"4\"}},[_c('p-value-row',{attrs:{\"label\":_vm.$t('labels.vragenlijstFamilieverhouding'),\"data-ui\":\"vragenlijst-familieverhouding\"}},[_c('download-archive-files',{attrs:{\"document-list\":_vm.data.documentenVragenlijstFamilieverhouding}})],1)],1):_vm._e(),(_vm.displayZorgbeschrijving)?_c('zorgbeschrijving',{attrs:{\"zorgbeschrijving\":_vm.data.zorgbeschrijving}}):_vm._e(),_c('card-content-section',{attrs:{\"title\":_vm.$t('titles.standaardAfspraken'),\"heading-level\":\"4\"}},[_c('p-value-row',{attrs:{\"data-ui\":\"standaard-afspraken\",\"label\":_vm.$t('labels.standaardAfspraken')}},[_c('standaard-afspraken',{attrs:{\"contract-type\":_vm.contractType}})],1)],1),(_vm.data.overigeAfspraken)?_c('card-content-section',{key:\"zorgovereenkomstAlgemeneAfsprakenOverigeAfsprakenZorgverlener\",attrs:{\"title\":_vm.$t('titles.overigeAfspraken'),\"data-ui\":\"overige-afspraken-zorgverlener\",\"heading-level\":\"4\"}},[_c('p-value-row',{attrs:{\"label\":_vm.$t('labels.overigeAfsprakenZorgverlener')}},[_c('p',{staticClass:\"preserveTextFormatting\"},[_vm._v(_vm._s(_vm.data.overigeAfspraken))])])],1):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('card-content-section',{attrs:{\"data-ui\":\"salarisadministratie\",\"title\":_vm.$t('titles.salarisadministratie'),\"heading-level\":\"4\"}},[_c('p-value-row',{attrs:{\"label\":_vm.$t('labels.betaling')}},[_c('strong',[_vm._v(_vm._s(_vm.$t((\"salarisadministratie.\" + _vm.betaling + \".title\"))))]),_c('ul',_vm._l((_vm.$t((\"salarisadministratie.\" + _vm.betaling + \".list\"))),function(item,index){return _c('li',{key:(\"sa-list-item-\" + index)},[_vm._v(\" \"+_vm._s(item)+\" \")])}),0),(_vm.isUitbetalingNetto)?_c('p',{staticClass:\"pt-4\"},[_vm._v(\" \"+_vm._s(_vm.$t('salarisadministratie.netto.tagline'))+\" \")]):_vm._e()]),(!_vm.isUitbetalingBruto && _vm.salarisadministratieMachtiging)?_c('p-value-row',{key:\"zokInzienSalarisAdminMachtigingSalarisadministratie\",attrs:{\"label\":_vm.$t('labels.machtigingSalarisadministratie'),\"value\":_vm.$t('salarisadministratie.isSalarisadministratieDoorSvb')}}):_vm._e(),(!_vm.isUitbetalingBruto && _vm.salarisadministratieMachtiging)?_c('p-value-row',{key:\"zokInzienSalarisAdminLoonheffingskortingToegepast\",attrs:{\"label\":_vm.$t('labels.loonheffingskortingToegepast'),\"value\":!!_vm.salarisadministratieMachtiging.heeftLoonheffingskorting,\"yes-no-boolean\":\"\"}}):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { mergeI18nDeep } from '@/utils/i18nUtils'\r\nimport zorgovereenkomstMainI18n from '@/domains/zorgovereenkomst/pages/i18n'\r\n\r\nconst i18n = {\r\n messages: {\r\n nl: {\r\n titles: {\r\n salarisadministratie: 'Salarisadministratie',\r\n identiteitsbewijsZorgverlener: 'Identiteitsbewijs zorgverlener',\r\n vragenlijstFamilieverhouding: 'Vragenlijst familieverhouding',\r\n zorgbeschrijving: 'Zorgbeschrijving',\r\n standaardAfspraken: 'Standaard afspraken',\r\n overigeAfspraken: 'Overige afspraken',\r\n },\r\n labels: {\r\n standaardAfspraken: 'Standaard afspraken die horen bij een zorgovereenkomst',\r\n betaling: 'Betaling',\r\n machtigingSalarisadministratie: 'Machtiging salarisadministratie',\r\n loonheffingskortingToegepast: 'Wordt loonheffingskorting toegepast?',\r\n voorEnAchterkantIdBewijs: 'Voor- en achterkant identiteitsbewijs zorgverlener',\r\n vragenlijstFamilieverhouding: 'Vragenlijst familieverhouding',\r\n zorgactiviteitenZorgverlener: 'Zorgactiviteiten van zorgverlener en hoe vaak dit wordt uitgevoerd',\r\n welkeZorg: 'Zorgactiviteiten van zorgverlener en hoe vaak dit wordt uitgevoerd',\r\n redenZorg: 'Reden dat deze zorg nodig is',\r\n overigeAfsprakenZorgverlener: 'Overige afspraken met de zorgverlener',\r\n },\r\n salarisadministratie: {\r\n isSalarisadministratieDoorSvb: 'Ik (de budgethouder) machtig de SVB om loonheffing, ' +\r\n 'premies werknemersverzekeringen en de inkomensafhankelijke bijdrage Zvw direct af te dragen aan Belastingdienst.',\r\n bruto: {\r\n title: 'Bruto:',\r\n list: [\r\n 'De SVB betaalt de zorgverlener een brutoloon/brutovergoeding uit het budget.',\r\n 'De zorgverlener moet zelf achteraf belasting betalen over het inkomen.',\r\n ],\r\n },\r\n netto: {\r\n title: 'Netto:',\r\n list: [\r\n 'De SVB betaalt de zorgverlener een nettoloon.',\r\n 'De SVB betaalt werkgeverslasten uit uw budget.',\r\n 'De SVB doet de salarisadministratie.',\r\n 'De SVB stuurt elke maand een loonstrook.',\r\n 'De SVB verzorgt de jaaropgave.',\r\n 'De SVB heeft contact met de Belastingdienst.',\r\n ],\r\n tagline: 'De zorgverlener is verplicht verzekerd voor de werknemersverzekeringen (WW, WAO/WIA en ZW).',\r\n },\r\n nettoOpt: {\r\n title: 'Netto (opting-in):',\r\n list: [\r\n 'De SVB betaalt de zorgverlener een nettobedrag.',\r\n 'De SVB doet de salarisadministratie.',\r\n 'De SVB stuurt elke maand een loonstrook.',\r\n 'De SVB verzorgt de jaaropgave.',\r\n 'De SVB heeft contact met de Belastingdienst.',\r\n ],\r\n },\r\n },\r\n },\r\n },\r\n}\r\n\r\nmergeI18nDeep(i18n, zorgovereenkomstMainI18n)\r\nexport default i18n\r\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { computed, defineComponent } from '@vue/composition-api'\r\nimport { AantalWerkdagenPerWeekType, ContractType, ZorgverlenerType } from '@/_generated/portalClient'\r\nimport CardContentSection from '../CardContentSection.vue'\r\nimport i18n from './i18n'\r\nimport { isContractInDienst } from '../helpers/helpers'\r\n\r\nexport default defineComponent({\r\n name: 'ZorgovereenkomstInzienSalarisAdministratie',\r\n components: {\r\n CardContentSection,\r\n },\r\n i18n,\r\n props: {\r\n contractType: { type: Number as () => ContractType, required: true },\r\n zorgverlenerType: { type: Number as () => ZorgverlenerType, required: true },\r\n aantalWerkdagenPerWeek: { type: Number as () => AantalWerkdagenPerWeekType, default: null },\r\n salarisadministratieMachtiging: { type: Object, default: null },\r\n isUitbetalingBruto: { type: Boolean, default: null },\r\n },\r\n setup (props) {\r\n const isUitbetalingNetto = computed(() => isContractInDienst(props.contractType) && (props.aantalWerkdagenPerWeek === AantalWerkdagenPerWeekType.VierDagenOfMeer))\r\n const betaling = computed(() => {\r\n if (props.isUitbetalingBruto) {\r\n return 'bruto'\r\n }\r\n if (isUitbetalingNetto.value) {\r\n return 'netto'\r\n }\r\n return 'nettoOpt'\r\n })\r\n return {\r\n isUitbetalingNetto,\r\n betaling,\r\n }\r\n },\r\n})\r\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ZorgovereenkomstInzienSalarisAdministratie.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ZorgovereenkomstInzienSalarisAdministratie.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./ZorgovereenkomstInzienSalarisAdministratie.vue?vue&type=template&id=1338bada\"\nimport script from \"./ZorgovereenkomstInzienSalarisAdministratie.vue?vue&type=script&lang=ts\"\nexport * from \"./ZorgovereenkomstInzienSalarisAdministratie.vue?vue&type=script&lang=ts\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p-dialog',{attrs:{\"data-ui\":\"standaard-afspraken-modal\",\"title\":_vm.$t('pageTitle'),\"persistent\":false,\"wide\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nvar attrs = ref.attrs;\nreturn [_c('p-button',_vm._g(_vm._b({attrs:{\"color\":\"info\",\"dark\":\"\"}},'p-button',attrs,false),on),[_vm._v(\" \"+_vm._s(_vm.$t('buttons.standaardAfspraken'))+\" \")])]}}])},[_c('div',{attrs:{\"data-ct\":_vm.contractType}},_vm._l((_vm.standaardAfsprakenCards),function(standaardAfsprakenCard,idx){return _c('standaard-afspraken-card',{key:(\"sa-card-\" + idx),staticClass:\"standaard-afspraken-content\",attrs:{\"card\":standaardAfsprakenCard}})}),1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export default {\r\n messages: {\r\n nl: {\r\n pageTitle: 'Standaard afspraken',\r\n buttons: {\r\n close: 'Sluiten',\r\n standaardAfspraken: 'Open de standaard afspraken',\r\n },\r\n cards: {\r\n algemeneAfspraken: {\r\n cardHeader: 'Algemene afspraken',\r\n Zorginstelling: [[\r\n 'De zorginstelling garandeert dat zorgverleners beschikbaar zijn voor de duur van de overeenkomst.',\r\n 'De maximale jaarlijkse indexering van de afgesproken tarieven die de zorginstelling mag toepassen ' +\r\n 'is gelijk aan de indexering van het budget voor dat jaar. ' +\r\n 'De budgethouder en de zorginstelling ondertekenen beiden deze wijziging in het portaal.',\r\n 'De zorginstelling garandeert de kwaliteit van de hulp en de zorgverlener verricht zijn werk zoals ' +\r\n 'van een redelijk handelend zorgverlener verwacht mag worden. De instelling voldoet indien van toepassing ' +\r\n 'aan de eisen die worden gesteld in de Wet op de Geneeskundige Behandelingsovereenkomst en de wet ' +\r\n 'op de beroepen in de individuele gezondheidszorg en de beroepscodes.',\r\n 'De zorginstelling zorgt er bij overdracht van de werkzaamheden voor dat de benodigde gegevens beschikbaar zijn. ' +\r\n 'Dit gebeurt in overleg met de budgethouder.',\r\n ]],\r\n InOpdracht: [[\r\n 'Er is geen CAO van toepassing.',\r\n 'De zorgverlener verricht de werkzaamheden in de directe leefomgeving van de budgethouder.',\r\n 'Als er sprake is van professionele zorg, dan garandeert de zorgverlener de kwaliteit van de zorg ' +\r\n 'en verricht zijn werk zoals van een redelijk handelend zorgverlener verwacht mag worden. ' +\r\n 'De zorgverlening voldoet indien van toepassing aan de eisen die worden gesteld in de ' +\r\n 'Wet op de Geneeskundige Behandelingsovereenkomst en de Wet op de beroepen in de individuele gezondheidszorg, en de beroepscodes.',\r\n 'De budgethouder zorgt voor goede en veilige werkomstandigheden.',\r\n 'De zorgverlener zorgt er bij overdracht van de werkzaamheden voor dat de benodigde gegevens beschikbaar zijn. ' +\r\n 'Dit gebeurt in overleg met de budgethouder.',\r\n ]],\r\n PartnerOfFamilielid: [[\r\n 'Er is geen CAO van toepassing.',\r\n 'De zorgverlener verricht de werkzaamheden in de directe leefomgeving van de budgethouder.',\r\n 'De zorgverlener garandeert de kwaliteit van de hulp en voert zijn werk uit zoals van een zorgverlener verwacht mag worden. ' +\r\n 'De zorgverlening voldoet indien van toepassing aan de eisen die worden gesteld in de ' +\r\n 'Wet op de Geneeskundige Behandelingsovereenkomst en de ' +\r\n 'Wet op de beroepen in de individuele gezondheidszorg, en de beroepscodes.',\r\n 'De budgethouder zorgt voor goede, veilige werkomstandigheden (voor zover dit van hem of haar kan worden verlangd).',\r\n 'De zorgverlener zorgt er bij overdracht van de werkzaamheden voor dat de benodigde gegevens beschikbaar zijn. ' +\r\n 'Dit gebeurt in overleg met de budgethouder.',\r\n ]],\r\n InDienst: [[\r\n 'Er is geen CAO van toepassing.',\r\n 'De zorgverlener verricht de werkzaamheden in de directe leefomgeving van de budgethouder.',\r\n 'Als er sprake is van professionele zorg, dan garandeert de zorgverlener de kwaliteit van de zorg ' +\r\n 'en verricht zijn werk zoals van een redelijk handelend zorgverlener verwacht mag worden. ' +\r\n 'De zorgverlening voldoet indien van toepassing aan de eisen die worden gesteld in de ' +\r\n 'Wet op de Geneeskundige Behandelingsovereenkomst en de Wet op de beroepen in de individuele gezondheidszorg, en de beroepscodes.',\r\n 'De budgethouder zorgt voor goede en veilige werkomstandigheden.',\r\n 'De zorgverlener zorgt er bij overdracht van de werkzaamheden voor dat de benodigde gegevens beschikbaar zijn. ' +\r\n 'Dit gebeurt in overleg met de budgethouder.',\r\n ]],\r\n },\r\n geheimhouding: {\r\n cardHeader: 'Geheimhouding',\r\n Zorginstelling: [\r\n 'De zorginstelling verplicht de zorgverlener alles geheim te houden wat hij of zij weet of te weten komt over ' +\r\n 'de budgethouder en diens gezin, partner of huishouden.',\r\n ],\r\n default: [\r\n 'De zorgverlener houdt alles geheim wat hij of zij weet of te weten komt over de budgethouder en diens gezin, ' +\r\n 'partner of huisgenoten.',\r\n ],\r\n },\r\n ziekteZorgverlener: {\r\n cardHeader: 'Ziekte zorgverlener',\r\n Zorginstelling: [\r\n 'Bij ziekte wendt de zorgverlener zich tot de zorginstelling voor eventuele loonaanspraken. ' +\r\n 'De zorginstelling waarborgt de zorgcontinuïteit door een andere zorgverlener voor de budgethouder te verzorgen.',\r\n ],\r\n InDienst: [[\r\n 'Het is belangrijk dat u de ziek- en betermeldingen van uw zorgverlener binnen 24 uur via het ' +\r\n 'PGB Portaal of telefonisch aan de SVB doorgeeft. ' +\r\n 'Daarna kunt u een zorgovereenkomst afsluiten met een vervangende zorgverlener. ' +\r\n 'De zieke zorgverlener wordt uit het ziekengeld betaald. ' +\r\n 'De vervangende zorgverlener wordt uit uw budget betaald. Een te late melding kan financiële gevolgen voor u hebben.',\r\n 'Werkt de zorgverlener op maximaal 3 dagen in de week? ' +\r\n 'Dan heeft hij/zij recht op maximaal 6 weken lang 100% loondoorbetaling bij ziekte.',\r\n 'Werkt de zorgverlener op vier dagen per week of meer? Dan is er recht op maximaal twee jaar lang loondoorbetaling bij ziekte. ' +\r\n 'De eerste 52 weken worden 100% doorbetaald, de laatste 52 weken 70%.',\r\n 'Is de zorgverlener die ziek wordt een vervanger van de vaste zorgverlener? ' +\r\n 'Dan heeft de zorgverlener recht op loondoorbetaling voor de afgesproken duur van de vervanging, ' +\r\n 'tot een maximum van 6 of 104 weken volgens de hierboven genoemde regels.',\r\n ]],\r\n },\r\n verantwoordelijkheid: {\r\n cardHeader: 'Wie er verantwoordelijk is voor de veiligheid',\r\n Zorginstelling: [\r\n 'De budgethouder en de zorginstelling zorgen er samen voor dat de zorgverlener veilig kan werken. ' +\r\n 'De zorginstelling is aansprakelijk voor eventueel door de zorgverlener, budgethouder of derde geleden schade ' +\r\n 'tijdens uitvoering van de werkzaamheden door de zorgverlener.',\r\n ],\r\n },\r\n socialeLasten: {\r\n cardHeader: 'Wie de sociale lasten afdraagt',\r\n Zorginstelling: [\r\n 'De zorginstelling is als werkgever van de zorgverlener verantwoordelijk voor de afdrachten van loonbelasting, ' +\r\n 'sociale verzekeringspremies en andere inhoudingen of afdrachten waartoe de zorginstelling verplicht is op grond van de wet of CAO.',\r\n ],\r\n },\r\n btw: {\r\n cardHeader: 'Wel of geen BTW',\r\n default: [\r\n 'Koopt u vervoer of bemiddeling in, dan kan daarover BTW worden geheven. Betreft het andere zorg, dan mag dit niet. ' +\r\n 'Bewaar de facturen, want deze kunnen door uw budgetverstrekker worden opgevraagd.',\r\n ],\r\n },\r\n declaratie: {\r\n cardHeader: 'Waar moet een declaratie aan voldoen',\r\n default: [\r\n 'Een declaratie (factuur of urenbriefje) moet de volgende specificaties bevatten:',\r\n [\r\n 'Naam budgethouder',\r\n 'Burgerservicenummer (BSN) of relatienummer PGB Portaal of adres budgethouder',\r\n 'Welke zorg er is verleend',\r\n 'Op welke dagen er is gewerkt',\r\n 'Het aantal te betalen uren',\r\n 'Het tarief zoals vermeld in de zorgovereenkomst',\r\n 'Naam zorgverlener',\r\n 'Burgerservicenummer (BSN) of KvK-nummer zorgverlener',\r\n 'Factuurdatum en factuurnummer (geldt niet voor urenbriefjes)',\r\n ],\r\n 'De periode waarover gedeclareerd wordt, moet al verstreken zijn. Vooraf declareren is dus niet mogelijk. ' +\r\n 'Binnen zes weken na de maand waarin de zorg is verleend moet de zorgverlener de ' +\r\n 'gewerkte uren en onkosten declareren bij de budgethouder. ' +\r\n 'Let op: over zorg mag geen BTW geheven worden.',\r\n 'Om uitbetaald te kunnen worden moet de declaratie door de budgethouder of diens vertegenwoordiger zijn ondertekend. ' +\r\n 'Dient u de factuur in via het PGB Portaal? Dan is uw DigiD de handtekening.',\r\n 'Stuur de factuur in via het PGB Portaal of per post naar: SVB Dienstverlening PGB, t.a.v. PGB 2.0,Postbus 8064, 3505 RB Utrecht. ' +\r\n 'Dienstverlening PGB kan een factuur afkeuren en terugsturen wanneer deze niet aan de bovenstaande voorwaarden voldoet. ' +\r\n 'Dit kan vertraging opleveren voor de betaling.',\r\n ],\r\n },\r\n opzegtermijn: {\r\n cardHeader: 'Welke opzegtermijn geldt er',\r\n Zorginstelling: [\r\n 'Deze overeenkomst heeft een opzegtermijn van 1 maand. U kunt ook een kortere opzegtermijn of geen opzegtermijn afspreken. ' +\r\n 'Leg dit vast bij punt 3 \\'Overige afspraken\\'.',\r\n 'De budgethouder kan de overeenkomst altijd opzeggen. De zorginstelling mag de overeenkomst ' +\r\n 'voor bepaalde tijd alleen tussentijds opzeggen als daar gewichtige redenen voor zijn zoals bedoeld in ' +\r\n 'het Burgerlijk Wetboek. De zorginstelling mag de overeenkomst voor onbepaalde tijd altijd opzeggen.',\r\n ],\r\n InOpdracht: [\r\n 'Deze overeenkomst heeft een opzegtermijn van 1 maand. U kunt ook een kortere opzegtermijn of geen opzegtermijn afspreken. ' +\r\n 'Leg dit vast bij punt 3 \\'Overige afspraken\\'.',\r\n 'De budgethouder kan de overeenkomst altijd opzeggen. De zorgverlener mag de overeenkomst voor ' +\r\n 'bepaalde tijd alleen tussentijds opzeggen als daar gewichtige redenen voor zijn zoals bedoeld in het ' +\r\n 'Burgerlijk Wetboek. De zorgverlener mag de overeenkomst voor onbepaalde tijd altijd opzeggen.',\r\n ],\r\n PartnerOfFamilielid: [\r\n 'Deze overeenkomst heeft een opzegtermijn van 1 maand. U kunt ook een kortere opzegtermijn of geen opzegtermijn afspreken. ' +\r\n 'Leg dit vast bij punt 3 \\'Overige afspraken\\'.',\r\n 'De budgethouder kan de overeenkomst altijd opzeggen. De zorgverlener mag de overeenkomst voor ' +\r\n 'bepaalde tijd alleen tussentijds opzeggen als daar gewichtige redenen voor zijn zoals bedoeld in het ' +\r\n 'Burgerlijk Wetboek. De zorgverlener mag de overeenkomst voor onbepaalde tijd altijd opzeggen.',\r\n ],\r\n InDienst: [\r\n 'De budgethouder en de zorgverlener mogen de zorgovereenkomst allebei tussentijds opzeggen. ' +\r\n 'Er geldt een opzegtermijn van tenminste een maand. ' +\r\n 'Bij een dienstverband van meer dan vijf jaar geldt een opzegtermijn van minimaal twee maanden.',\r\n ],\r\n },\r\n geenOpzegtermijn: {\r\n cardHeader: 'Wanneer eindigt de overeenkomst per direct en zonder opzegtermijn',\r\n Zorginstelling: [\r\n 'Deze zorgovereenkomst wordt aangegaan onder een ontbindende voorwaarde, ' +\r\n 'wat inhoudt dat de overeenkomst direct eindigt zonder opzegtermijn:',\r\n [\r\n 'als de budgethouder overlijdt.',\r\n 'als de zorginstelling failliet is verklaard of surséance van betaling is verleend.',\r\n 'als de instantie die het budget verstrekt, beslist dat het recht op een budget stopt zonder toedoen van de budgethouder.',\r\n 'als de instantie die het budget verstrekt géén toestemming geeft voor de in de ' +\r\n 'zorgovereenkomst afgesproken werkzaamheden of de zorgovereenkomst afkeurt.',\r\n ],\r\n ],\r\n InOpdracht: [\r\n 'Deze zorgovereenkomst wordt aangegaan onder een ontbindende voorwaarde, ' +\r\n 'wat inhoudt dat de overeenkomst direct eindigt zonder opzegtermijn:',\r\n [\r\n 'als de budgethouder overlijdt.',\r\n 'als de instantie die het budget verstrekt géén toestemming geeft voor de in de ' +\r\n 'zorgovereenkomst afgesproken werkzaamheden of de zorgovereenkomst afkeurt.',\r\n 'als de instantie die het budget verstrekt, beslist dat het recht op een budget stopt zonder toedoen van de budgethouder',\r\n ],\r\n 'De zorgverlener krijgt een eenmalige uitkering ter hoogte van een gemiddeld ' +\r\n 'maandloon over de laatste drie volle kalendermaanden waarin gewerkt is. ' +\r\n 'Er wordt alleen betaald voor zover er nog voldoende budget is. ' +\r\n 'De eenmalige uitkering wordt ongeveer 6 weken na het overlijden van de budgethouder automatisch uitbetaald.',\r\n ],\r\n PartnerOfFamilielid: [\r\n 'Deze zorgovereenkomst wordt aangegaan onder een ontbindende voorwaarde, ' +\r\n 'wat inhoudt dat de overeenkomst direct eindigt zonder opzegtermijn:',\r\n [\r\n 'als de budgethouder overlijdt.',\r\n 'als de instantie die het budget verstrekt géén toestemming geeft voor de in de ' +\r\n 'zorgovereenkomst afgesproken werkzaamheden of de zorgovereenkomst afkeurt.',\r\n 'als de instantie die het budget verstrekt, beslist dat het recht op een budget stopt zonder toedoen van de budgethouder',\r\n ],\r\n 'De zorgverlener krijgt een eenmalige uitkering ter hoogte van een gemiddeld maandloon ' +\r\n 'over de laatste drie volle kalendermaanden waarin gewerkt is. ' +\r\n 'Er wordt alleen betaald voor zover er nog voldoende budget is. ' +\r\n 'De eenmalige uitkering wordt ongeveer 6 weken na het overlijden van de budgethouder automatisch uitbetaald.',\r\n ],\r\n InDienst: [\r\n 'Deze zorgovereenkomst wordt aangegaan onder een ontbindende voorwaarde, ' +\r\n 'wat inhoudt dat de overeenkomst direct eindigt zonder opzegtermijn:',\r\n [\r\n 'als de budgethouder overlijdt.',\r\n 'als de instantie die het budget verstrekt, beslist dat het recht op een budget stopt zonder toedoen van de budgethouder.',\r\n ],\r\n 'De zorgverlener krijgt een eenmalige uitkering ter hoogte van een gemiddeld maandloon ' +\r\n 'over de laatste drie volle kalendermaanden waarin gewerkt is. ' +\r\n 'Er wordt alleen betaald voor zover er nog voldoende budget is. ' +\r\n 'De eenmalige uitkering wordt ongeveer 6 weken na het overlijden van de budgethouder automatisch uitbetaald.',\r\n ],\r\n },\r\n wijzigenZok: {\r\n cardHeader: 'Wijzigen op deze overeenkomst',\r\n default: [\r\n 'De budgethouder en de [zorginstelling/zorgverlener] gaan er mee akkoord dat wijzigingen op deze overeenkomst ' +\r\n 'worden doorgevoerd via het PGB Portaal of dat het door Dienstverlening PGB ter beschikking gestelde ' +\r\n 'model \"Wijziging zorgovereenkomst met een [zorginstelling/zorgverlener]\" wordt gebruikt. ' +\r\n 'In sommige gevallen moet bij een wijziging een nieuwe zorgovereenkomst ingevuld worden. ' +\r\n 'Meer informatie hierover en de juiste formulieren vindt u op www.mijnpgb.nl/budgethouders-en-vertegenwoordigers/formulieren.',\r\n ],\r\n },\r\n derdenbeding: {\r\n cardHeader: 'Derdenbeding',\r\n default: [\r\n 'Indien het zorgkantoor/college het persoonsgebonden budget heeft ingetrokken of heeft herzien, ' +\r\n 'omdat het te veel persoonsgebonden budget heeft verstrekt en dit is veroorzaakt door toerekenbaar handelen ' +\r\n 'van de persoon die ten laste van het persoonsgebonden budget zorg/maatschappelijke ondersteuning/jeugdhulp levert, ' +\r\n 'heeft het zorgkantoor/college een vordering op die persoon. ' +\r\n 'De vordering bedraagt het bedrag gelijk aan het door de persoon, vanwege het toerekenbaar handelen, ' +\r\n 'ten laste van het persoonsgebonden budget ten onrechte ontvangen bedrag. ' +\r\n 'Dit beding is onherroepelijk en blijft ook na beëindiging van deze overeenkomst van kracht.',\r\n ],\r\n },\r\n },\r\n },\r\n },\r\n}\r\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p-card',{staticClass:\"standaard-afspraken-card mb-6\",attrs:{\"title\":_vm.card.header,\"expandable\":\"\",\"heading-level\":\"2\"}},[_vm._l((_vm.card.content),function(data,idx1){return [(Array.isArray(data))?_c('ul',{key:(\"sa-list-\" + _vm.ts + \"-\" + idx1),staticClass:\"mb-4\"},_vm._l((data),function(entry,idx2){return _c('li',{key:(\"sa-list-entry-\" + _vm.ts + \"-\" + idx2)},[_vm._v(\" \"+_vm._s(entry)+\" \")])}),0):_c('p',{key:(\"sa-text-\" + _vm.ts + \"-\" + idx1)},[_vm._v(\" \"+_vm._s(data)+\" \")])]})],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { defineComponent } from '@vue/composition-api'\r\n\r\ninterface ICardContent {\r\n header: string\r\n content: string[] | string[][]\r\n}\r\n\r\nexport default defineComponent({\r\n name: 'StandaardAfsprakenCard',\r\n props: {\r\n card: { type: Object as () => ICardContent, required: true },\r\n },\r\n setup () {\r\n const ts = new Date().valueOf()\r\n return {\r\n ts,\r\n }\r\n },\r\n})\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./StandaardAfsprakenCard.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./StandaardAfsprakenCard.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./StandaardAfsprakenCard.vue?vue&type=template&id=c48c0b7c&scoped=true\"\nimport script from \"./StandaardAfsprakenCard.vue?vue&type=script&lang=ts\"\nexport * from \"./StandaardAfsprakenCard.vue?vue&type=script&lang=ts\"\nimport style0 from \"./StandaardAfsprakenCard.vue?vue&type=style&index=0&id=c48c0b7c&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"c48c0b7c\",\n null\n \n)\n\nexport default component.exports","import { ContractType } from '@/_generated/portalClient'\r\n\r\ntype IStandaardAfsprakenCardContent = string[] | string[][]\r\n\r\nexport interface IStandaardAfsprakenCard {\r\n header: string\r\n content: IStandaardAfsprakenCardContent\r\n}\r\n\r\nexport interface IStandaardAfsprakenCardData {\r\n [key: string]: {\r\n cardHeader: string\r\n InDienst?: IStandaardAfsprakenCardContent\r\n InOpdracht?: IStandaardAfsprakenCardContent\r\n PartnerOfFamilielid?: IStandaardAfsprakenCardContent\r\n Zorginstelling?: IStandaardAfsprakenCardContent\r\n default?: IStandaardAfsprakenCardContent\r\n }\r\n}\r\n\r\nexport const contractTypeValidator = (value: number): boolean => value in ContractType && value > 0\r\n\r\nexport function useStandaardAfspraken (contractType: ContractType, cardsData: IStandaardAfsprakenCardData): IStandaardAfsprakenCard[] | {} {\r\n if (!contractTypeValidator(contractType)) {\r\n return {}\r\n }\r\n return Object.keys(cardsData).reduce((activeCard: any, cardKey: any) => {\r\n const card: any = cardsData[cardKey]\r\n const cardContent = card[ContractType[contractType]] || card.default\r\n if (card && cardContent) {\r\n activeCard[cardKey] = {\r\n header: card.cardHeader,\r\n content: cardContent,\r\n }\r\n }\r\n return activeCard\r\n }, {})\r\n}\r\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { defineComponent } from '@vue/composition-api'\r\nimport { ContractType } from '@/_generated/portalClient'\r\nimport { useI18n } from 'phoenix'\r\nimport i18n from './i18n'\r\nimport StandaardAfsprakenCard from './StandaardAfsprakenCard.vue'\r\nimport { contractTypeValidator, useStandaardAfspraken } from './composables/useStandaardAfspraken'\r\n\r\nexport default defineComponent({\r\n name: 'StandaardAfspraken',\r\n components: {\r\n StandaardAfsprakenCard,\r\n },\r\n props: {\r\n contractType: { type: Number, validator: contractTypeValidator, required: true },\r\n },\r\n i18n,\r\n setup (props: { contractType: ContractType }) {\r\n const { t } = useI18n()\r\n const cardData = t('cards')\r\n const standaardAfsprakenCards = useStandaardAfspraken(props.contractType, cardData as any)\r\n return { standaardAfsprakenCards }\r\n },\r\n})\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./StandaardAfspraken.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./StandaardAfspraken.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./StandaardAfspraken.vue?vue&type=template&id=26798800&scoped=true\"\nimport script from \"./StandaardAfspraken.vue?vue&type=script&lang=ts\"\nexport * from \"./StandaardAfspraken.vue?vue&type=script&lang=ts\"\nimport style0 from \"./StandaardAfspraken.vue?vue&type=style&index=0&id=26798800&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"26798800\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.zorgbeschrijving)?_c('card-content-section',{attrs:{\"title\":_vm.$t('titles.zorgbeschrijving'),\"data-ui\":\"zorgbeschrijving\",\"heading-level\":\"4\"}},[_c('p-value-row',{attrs:{\"label\":_vm.$t('labels.welkeZorg')}},[_c('p',{staticClass:\"preserveTextFormatting\"},[_vm._v(_vm._s(_vm.zorgbeschrijving.welkeZorg))])]),_c('p-value-row',{attrs:{\"label\":_vm.$t('labels.redenZorg')}},[_c('p',{staticClass:\"preserveTextFormatting\"},[_vm._v(_vm._s(_vm.zorgbeschrijving.redenZorg))])])],1):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { defineComponent } from '@vue/composition-api'\r\nimport { Zorgbeschrijving } from '@/domains/zorgovereenkomst/dataAccess/models/Zorgbeschrijving'\r\nimport CardContentSection from '../CardContentSection.vue'\r\nimport i18n from './i18n'\r\n\r\nexport default defineComponent({\r\n name: 'ZorgovereenkomstInzienZorgbeschrijving',\r\n components: { CardContentSection },\r\n props: {\r\n zorgbeschrijving: { type: Object as () => Zorgbeschrijving, required: true },\r\n },\r\n i18n,\r\n})\r\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ZorgovereenkomstInzienZorgbeschrijving.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ZorgovereenkomstInzienZorgbeschrijving.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./ZorgovereenkomstInzienZorgbeschrijving.vue?vue&type=template&id=75131d4b\"\nimport script from \"./ZorgovereenkomstInzienZorgbeschrijving.vue?vue&type=script&lang=ts\"\nexport * from \"./ZorgovereenkomstInzienZorgbeschrijving.vue?vue&type=script&lang=ts\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { defineComponent, toRefs } from '@vue/composition-api'\r\nimport { AantalWerkdagenPerWeekType, ContractType, ZorgverlenerType } from '@/_generated/portalClient'\r\nimport { ZorgovereenkomstAlgemeneAfspraken } from '@/domains/zorgovereenkomst/dataAccess/models/ZorgovereenkomstAlgemeneAfspraken'\r\nimport { useZorgovereenkomstInzienAlgemeneAfspraken } from '../composables'\r\nimport { isNatuurlijkPersoon } from '../helpers/helpers'\r\nimport DownloadArchiveFiles from '@/domains/remoteFile/components/DownloadArchiveFiles.vue'\r\nimport SalarisAdministratie from './ZorgovereenkomstInzienSalarisAdministratie.vue'\r\nimport StandaardAfspraken from '@/domains/zorgovereenkomst/pages/standaardAfspraken/StandaardAfspraken.vue'\r\nimport Zorgbeschrijving from './ZorgovereenkomstInzienZorgbeschrijving.vue'\r\nimport CardContentSection from '../CardContentSection.vue'\r\nimport i18n from './i18n'\r\n\r\nexport default defineComponent({\r\n name: 'ZorgovereenkomstInzienAlgemeneAfspraken',\r\n components: {\r\n StandaardAfspraken,\r\n CardContentSection,\r\n SalarisAdministratie,\r\n Zorgbeschrijving,\r\n DownloadArchiveFiles,\r\n },\r\n i18n,\r\n props: {\r\n data: { type: Object as () => ZorgovereenkomstAlgemeneAfspraken, required: true },\r\n contractType: { type: Number as () => ContractType, required: true },\r\n zorgverlenerType: { type: Number as () => ZorgverlenerType, required: true },\r\n aantalWerkdagenPerWeek: { type: Number as () => AantalWerkdagenPerWeekType, default: null },\r\n displayZorgbeschrijving: { type: Boolean, default: false },\r\n },\r\n setup (props) {\r\n const { data } = toRefs(props)\r\n\r\n const {\r\n salarisadministratieMachtiging,\r\n } = useZorgovereenkomstInzienAlgemeneAfspraken(data)\r\n\r\n return {\r\n salarisadministratieMachtiging,\r\n isNatuurlijkPersoon: isNatuurlijkPersoon(props.zorgverlenerType),\r\n }\r\n },\r\n})\r\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ZorgovereenkomstInzienAlgemeneAfspraken.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ZorgovereenkomstInzienAlgemeneAfspraken.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./ZorgovereenkomstInzienAlgemeneAfspraken.vue?vue&type=template&id=237101fa\"\nimport script from \"./ZorgovereenkomstInzienAlgemeneAfspraken.vue?vue&type=script&lang=ts\"\nexport * from \"./ZorgovereenkomstInzienAlgemeneAfspraken.vue?vue&type=script&lang=ts\"\nimport style0 from \"./ZorgovereenkomstInzienAlgemeneAfspraken.vue?vue&type=style&index=0&id=237101fa&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p-container',{staticClass:\"px-0 pb-0\"},[_vm._v(\" \"+_vm._s(_vm.$t('titles.ondertekening'))+\" \"),_c('p-divider'),_c('ul',{staticClass:\"ondertekening pl-0 mt2\",attrs:{\"role\":\"list\"}},[_c('li',{staticClass:\"col-sm-6 ondertekening__item\"},[_c('p-value-grid',{attrs:{\"aria-label\":_vm.$t('labels.ondertekenenBevoegdPersoon'),\"data-ui\":\"ondertekendDoorBevoegdPersoonNaam\"}},[(_vm.data.isVertegenwoordigd)?_c('p-value-row',{staticClass:\"pl-0\",attrs:{\"value\":_vm.$t('labels.ondertekendDoorVertegenwoordiger', { naam: _vm.data.ondertekendDoorBevoegdPersoonNaam }),\"label\":_vm.$t('labels.namensBudgethouder', { naam: _vm.data.budgethouderNaam })}}):_vm._e(),(!_vm.data.isVertegenwoordigd)?_c('p-value-row',{staticClass:\"pl-0\",attrs:{\"value\":_vm.data.ondertekendDoorBevoegdPersoonNaam,\"label\":_vm.$t('labels.budgethouder')}}):_vm._e(),_c('p-value-row',{staticClass:\"pl-0\",attrs:{\"value\":_vm.$d(_vm.data.datumOndertekeningBevoegdPersoon, 'short'),\"label\":_vm.$t('labels.datum'),\"data-ui\":\"datumOndertekeningBevoegdPersoon\"}})],1)],1),_c('li',{staticClass:\"col-sm-6 ondertekening__item\"},[_c('p-value-grid',{attrs:{\"aria-label\":_vm.$t('labels.ondertekenenZorgverlener'),\"data-ui\":\"zorgverlenerNaam\"}},[_c('p-value-row',{staticClass:\"pl-0\",class:{ 'mb-6': _vm.data.isVertegenwoordigd },attrs:{\"value\":_vm.data.zorgverlenerNaam,\"label\":_vm.$t('labels.zorgverlener')}}),_c('p-value-row',{staticClass:\"pl-0\",class:{ adjustZorgverlenerDate: _vm.data.isVertegenwoordigd },attrs:{\"value\":_vm.$d(_vm.data.datumOndertekeningZorgverlener, 'short'),\"label\":_vm.$t('labels.datum'),\"data-ui\":\"datumOndertekeningZorgverlener\"}})],1)],1)])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { mergeI18nDeep } from '@/utils/i18nUtils'\r\nimport zorgovereenkomstMainI18n from '@/domains/zorgovereenkomst/pages/i18n'\r\n\r\nconst i18n = {\r\n messages: {\r\n nl: {\r\n titles: {\r\n ondertekening: 'De volgende partijen hebben de overeenkomst ondertekend:',\r\n },\r\n labels: {\r\n ondertekenenBevoegdPersoon: 'Ondertekenen bevoegd persoon',\r\n ondertekenenZorgverlener: 'Ondertekenen zorgverlener',\r\n budgethouder: 'Budgethouder',\r\n ondertekendDoorVertegenwoordiger: '{naam} Vertegenwoordiger',\r\n namensBudgethouder: 'Namens budgethouder {naam}',\r\n zorgverlener: 'Zorgverlener',\r\n datum: 'Datum',\r\n },\r\n },\r\n },\r\n}\r\n\r\nmergeI18nDeep(i18n, zorgovereenkomstMainI18n)\r\nexport default i18n\r\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { defineComponent } from '@vue/composition-api'\r\nimport { ZorgovereenkomstOndertekening } from '@/domains/zorgovereenkomst/dataAccess/models/ZorgovereenkomstOndertekening'\r\nimport i18n from './i18n'\r\n\r\nexport default defineComponent({\r\n name: 'ZorgovereenkomstInzienOndertekening',\r\n i18n,\r\n props: {\r\n data: { type: Object as () => ZorgovereenkomstOndertekening, required: true },\r\n },\r\n})\r\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ZorgovereenkomstInzienOndertekening.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ZorgovereenkomstInzienOndertekening.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./ZorgovereenkomstInzienOndertekening.vue?vue&type=template&id=ecda6b5e&scoped=true\"\nimport script from \"./ZorgovereenkomstInzienOndertekening.vue?vue&type=script&lang=ts\"\nexport * from \"./ZorgovereenkomstInzienOndertekening.vue?vue&type=script&lang=ts\"\nimport style0 from \"./ZorgovereenkomstInzienOndertekening.vue?vue&type=style&index=0&id=ecda6b5e&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"ecda6b5e\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { computed, defineComponent } from '@vue/composition-api'\r\nimport { Toekenningsbeschikking } from '@/domains/toekenningsbeschikking/dataAccess/models/Toekenningsbeschikking'\r\nimport { useZorgovereenkomstInzien } from './composables'\r\nimport ZorgovereenkomstInzienDeelnemers from './deelnemers/ZorgovereenkomstInzienDeelnemers.vue'\r\nimport ZorgovereenkomstInzienVertegenwoordigers from './vertegenwoordigers/ZorgovereenkomstInzienVertegenwoordigers.vue'\r\nimport ZorgovereenkomstInzienDocumenten from './documenten/ZorgovereenkomstInzienDocumenten.vue'\r\nimport ZorgovereenkomstInzienWerkafspraken from './werkafspraken/ZorgovereenkomstInzienWerkafspraken.vue'\r\nimport ZorgovereenkomstInzienAlgemeneAfspraken from './algemeneAfspraken/ZorgovereenkomstInzienAlgemeneAfspraken.vue'\r\nimport ZorgovereenkomstInzienOndertekening from './ondertekening/ZorgovereenkomstInzienOndertekening.vue'\r\nimport i18n from './i18n'\r\nimport { WetType } from '@/_generated/portalClient'\r\n\r\nexport default defineComponent({\r\n name: 'ZorgovereenkomstInzien',\r\n components: {\r\n ZorgovereenkomstInzienDeelnemers,\r\n ZorgovereenkomstInzienVertegenwoordigers,\r\n ZorgovereenkomstInzienDocumenten,\r\n ZorgovereenkomstInzienWerkafspraken,\r\n ZorgovereenkomstInzienAlgemeneAfspraken,\r\n ZorgovereenkomstInzienOndertekening,\r\n },\r\n props: {\r\n zorgovereenkomstId: { type: String, required: true },\r\n },\r\n i18n,\r\n setup (props) {\r\n const { isReady, zorgovereenkomst } = useZorgovereenkomstInzien(props)\r\n const displayZorgbeschrijving = computed(() => {\r\n const tkbs: Toekenningsbeschikking[] | null = zorgovereenkomst.value.deelnemers ? zorgovereenkomst.value.deelnemers.toekenningsbeschikkingen : []\r\n return tkbs ? tkbs.some(tkb => tkb.wet === WetType.Wlz) : false\r\n })\r\n const vertegenwoordigingVisible = computed(() => {\r\n return zorgovereenkomst.value.ondertekening ? zorgovereenkomst.value.ondertekening.isVertegenwoordigd : false\r\n })\r\n return {\r\n zorgovereenkomst,\r\n isReady,\r\n displayZorgbeschrijving,\r\n vertegenwoordigingVisible,\r\n }\r\n },\r\n})\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ZorgovereenkomstInzien.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ZorgovereenkomstInzien.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./ZorgovereenkomstInzien.vue?vue&type=template&id=183330ab\"\nimport script from \"./ZorgovereenkomstInzien.vue?vue&type=script&lang=ts\"\nexport * from \"./ZorgovereenkomstInzien.vue?vue&type=script&lang=ts\"\nimport style0 from \"./ZorgovereenkomstInzien.vue?vue&type=style&index=0&id=183330ab&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import { ServiceBase } from '@/dataAccess/ServiceBase'\r\nimport { currentUserRepository } from '@/domains/account/dataAccess/CurrentUserRepository'\r\nimport { fileDownloadClient, fileUploadClient } from '@/dataAccess/clients'\r\nimport { DownloadFileModel } from './models/downloadFileModel'\r\nimport { mapDownloadFileModel } from './mappers/remoteFileMappers'\r\nimport { Document } from './models/Document'\r\n\r\ninterface IUploadFormData extends FormData {\r\n filename: File;\r\n}\r\nexport class RemoteFileService extends ServiceBase {\r\n constructor () {\r\n super('RemoteFileService')\r\n this.dependsOn(currentUserRepository())\r\n }\r\n\r\n private static dataToBlob (data: string, contentType = 'application/octet-stream'): Blob {\r\n const win = window as any\r\n const binaryStr = win.atob(data)\r\n const size = binaryStr.length\r\n const bytes = new Uint8Array(size)\r\n for (let i = 0; i < size; ++i) {\r\n bytes[i] = binaryStr.charCodeAt(i)\r\n }\r\n return new Blob([bytes], { type: contentType })\r\n }\r\n\r\n private async doUploadFile (data: IUploadFormData): Promise {\r\n return this.ready()\r\n .then(() => fileUploadClient().uploadFile(data)\r\n .then((ids: string[]) => {\r\n return ids && ids.length ? ids[0] : ''\r\n }))\r\n .catch((err) => {\r\n return Promise.reject(err.response)\r\n })\r\n }\r\n\r\n async uploadFile (file: File): Promise {\r\n const data = new FormData() as IUploadFormData\r\n data.append('filename', file)\r\n return this.doUploadFile(data)\r\n }\r\n\r\n async removeFile (id: string): Promise {\r\n await fileUploadClient().removeFile(id)\r\n }\r\n\r\n private async doDownloadTemporaryFile (id: string): Promise {\r\n await this.ready()\r\n const download = await fileDownloadClient().getTemporaryDocument(id)\r\n return mapDownloadFileModel(download)\r\n }\r\n\r\n async downloadTemporaryFile (id: string): Promise {\r\n const res: DownloadFileModel = await this.doDownloadTemporaryFile(id)\r\n if (res.data && res.naam) {\r\n this.downloadFile(res)\r\n }\r\n }\r\n\r\n private async doDownloadArchivedFile (archivedDocument: Document): Promise {\r\n await this.ready()\r\n const download = await fileDownloadClient().getArchivedDocument({\r\n bestandnaam: archivedDocument.filename,\r\n imprintnummer: archivedDocument.imprintnummer,\r\n relatieid: currentUserRepository().model.relatie.uid,\r\n })\r\n return mapDownloadFileModel(download)\r\n }\r\n\r\n async downloadArchivedFile (archivedDocument: Document): Promise {\r\n const res: DownloadFileModel = await this.doDownloadArchivedFile(archivedDocument)\r\n if (res.data && res.naam) {\r\n this.downloadFile(res)\r\n }\r\n }\r\n\r\n downloadFile (file: DownloadFileModel) {\r\n if (file.data && file.naam) {\r\n const blob = RemoteFileService.dataToBlob(file.data, file.contentType || undefined)\r\n const win = window as any\r\n const URL = (win.URL || win.webkitURL)\r\n const blobUrl = URL.createObjectURL(blob)\r\n const link = document.createElement('a')\r\n link.href = blobUrl\r\n link.setAttribute('download', file.naam)\r\n document.body.appendChild(link)\r\n link.click()\r\n link.remove()\r\n }\r\n }\r\n}\r\n\r\nexport function currentRemoteFileService (): RemoteFileService {\r\n return RemoteFileService.getOrCreateSingleton(RemoteFileService)\r\n}\r\n","export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./KassabonBlock.vue?vue&type=style&index=0&id=31d05665&prod&lang=scss\"","export default function uuidv4 (): string {\r\n return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c: string) {\r\n const r = Math.random() * 16 | 0\r\n const v = c === 'x' ? r : (r & 0x3 | 0x8)\r\n return v.toString(16)\r\n })\r\n}\r\n","export * from \"-!../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BijkomendeZorgkosten.vue?vue&type=style&index=0&id=1b429099&prod&lang=scss\"","export * from \"-!../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FeestdagenUitkeringOpstellen.vue?vue&type=style&index=0&id=75cb412f&prod&lang=scss\"","export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DeclaratiesOverzicht.vue?vue&type=style&index=0&id=39f152ae&prod&lang=scss&scoped=true\"","export enum BankrekeningForm {\r\n EuIban = 0,\r\n OtherAccount = 2,\r\n}\r\n","export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Adres.vue?vue&type=style&index=0&id=574ada9c&prod&lang=scss&scoped=true\"","export * from \"-!../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PeriodeInfoDeclaratiesOverzicht.vue?vue&type=style&index=0&id=d8a19eb2&prod&lang=scss\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TitleAndHelp.vue?vue&type=style&index=0&id=54ddbed5&prod&lang=scss&scoped=true\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DownloadButton.vue?vue&type=style&index=0&id=1e568008&prod&lang=scss&scoped=true\"","import { emptyRelatieBase, RelatieBase } from '@/domains/account/dataAccess/models/relaties/RelatieBase'\r\nimport { DeclarabeleMaanden } from '@/domains/account/dataAccess/models/relaties/Zorgverlener'\r\n\r\nexport interface DeclarabeleRelatieBase extends RelatieBase {\r\n declarabeleMaanden: DeclarabeleMaanden[],\r\n}\r\n\r\nexport const emptyDeclarabeleRelatieBase = {\r\n ...emptyRelatieBase,\r\n declarabeleMaanden: [],\r\n}\r\n","export const ZorgovereenkomstOverzicht = () => import(/* webpackChunkName: \"zorgovereenkomst\" */ './overzicht/ZorgovereenkomstOverzicht.vue')\r\nexport const ZorgovereenkomstBekijken = () => import(/* webpackChunkName: \"zorgovereenkomst\" */ './bekijken/ZorgovereenkomstBekijken.vue')\r\n","import { knockoutLink } from '@/externalRouter'\r\nimport { RouteItemDefinition } from '@/router/types'\r\nimport { RolType } from '@/_generated/portalClient'\r\nimport { ZorgovereenkomstOverzicht } from '../pages'\r\nimport { policy } from './policies'\r\n\r\nexport const route = {\r\n overzichtZorgovereenkomst: 'overzichtZorgovereenkomst',\r\n opstellenZorgovereenkomstNew: 'opstellenZorgovereenkomstNew',\r\n opstellenZorgovereenkomstEdit: 'opstellenZorgovereenkomstEdit',\r\n bekijkenZorgovereenkomst: 'bekijkenZorgovereenkomst',\r\n bekijkenZorgovereenkomstConcept: 'bekijkenZorgovereenkomstConcept',\r\n bekijkenVervanginsZorgovereenkomst: 'bekijkenVervanginsZorgovereenkomst',\r\n wijzigenBestaandZorgovereenkomstConcept: 'wijzigenBestaandZorgovereenkomstConcept',\r\n zorgovereenkomstVervangenConcept: 'zorgovereenkomstVervangenConcept',\r\n\r\n zorgovereenkomstBeginvervangenZiek: 'zorgovereenkomstBeginvervangenZiek',\r\n zorgovereenkomstBeginvervangenZwanger: 'zorgovereenkomstBeginvervangenZwanger',\r\n}\r\n\r\nexport const routeItems: RouteItemDefinition[] = [\r\n {\r\n name: route.overzichtZorgovereenkomst,\r\n requires: policy.UiOverzichtZorgovereenkomsten,\r\n route: {\r\n path: '/zorgovereenkomst/overzicht',\r\n component: ZorgovereenkomstOverzicht,\r\n requires: {\r\n or: [\r\n { rol: RolType.Budgethouder },\r\n { rol: RolType.BudgethouderReadonly },\r\n { rol: RolType.Zorgverlener },\r\n ],\r\n },\r\n },\r\n href: knockoutLink.zorgovereenkomstOverzicht,\r\n },\r\n {\r\n name: route.bekijkenZorgovereenkomst,\r\n requires: policy.UiRaadplegenZorgovereenkomst,\r\n href: knockoutLink.zorgovereenkomstBekijken,\r\n },\r\n {\r\n name: route.opstellenZorgovereenkomstNew,\r\n requires: policy.UiOpstellenZorgovereenkomst,\r\n href: knockoutLink.zorgovereenkomstOpstellenNew,\r\n },\r\n {\r\n name: route.opstellenZorgovereenkomstEdit,\r\n routes: [\r\n {\r\n requires: policy.UiMuterenZorgovereenkomst,\r\n href: knockoutLink.zorgovereenkomstOpstellenEdit,\r\n },\r\n {\r\n redirectTo: route.bekijkenZorgovereenkomst,\r\n },\r\n ],\r\n },\r\n {\r\n name: route.bekijkenZorgovereenkomstConcept,\r\n requires: policy.UiRaadplegenZorgovereenkomst,\r\n href: knockoutLink.zorgovereenkomstBekijkenConcept,\r\n },\r\n {\r\n name: route.wijzigenBestaandZorgovereenkomstConcept,\r\n routes: [\r\n {\r\n requires: policy.UiMuterenZorgovereenkomst,\r\n href: knockoutLink.zorgovereenkomstWijzigenConceptEdit,\r\n },\r\n {\r\n redirectTo: route.bekijkenZorgovereenkomstConcept,\r\n },\r\n ],\r\n },\r\n {\r\n name: route.bekijkenVervanginsZorgovereenkomst,\r\n requires: policy.UiRaadplegenZorgovereenkomst,\r\n href: knockoutLink.zorgovereenkomstVervangenBekijken,\r\n },\r\n {\r\n name: route.zorgovereenkomstVervangenConcept,\r\n routes: [\r\n {\r\n requires: policy.UiMuterenZorgovereenkomst,\r\n href: knockoutLink.zorgovereenkomstVervangenConcept,\r\n },\r\n {\r\n redirectTo: route.bekijkenVervanginsZorgovereenkomst,\r\n },\r\n ],\r\n },\r\n {\r\n name: route.zorgovereenkomstBeginvervangenZiek,\r\n requires: policy.UiOpstellenZorgovereenkomst,\r\n href: knockoutLink.zorgovereenkomstBeginvervangenZiek,\r\n },\r\n {\r\n name: route.zorgovereenkomstBeginvervangenZwanger,\r\n requires: policy.UiOpstellenZorgovereenkomst,\r\n href: knockoutLink.zorgovereenkomstBeginvervangenZwanger,\r\n },\r\n]\r\n","export * from \"-!../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./VerantwoordingsvrijBedragControleren.vue?vue&type=style&index=0&id=fb8e8942&prod&lang=scss&scoped=true\"","import { SoortVerstrekkerType } from '@/_generated/portalClient'\r\nimport { DateString } from 'phoenix/src/utils/date'\r\nimport { emptyRelatieBase, RelatieBase } from './relaties/RelatieBase'\r\n\r\nexport interface AccountRelatie extends RelatieBase {\r\n soortVerstrekkerType: SoortVerstrekkerType;\r\n zorgverlenerIsInstelling: boolean;\r\n pgb20Einddatum: DateString | null;\r\n}\r\n\r\nexport const emptyAccountRelatie: AccountRelatie = {\r\n ...emptyRelatieBase,\r\n soortVerstrekkerType: SoortVerstrekkerType.Onbekend,\r\n zorgverlenerIsInstelling: false,\r\n pgb20Einddatum: null,\r\n}\r\n","import { SettingType, SettingViewModel } from '@/_generated/portalClient'\r\nimport { UserSettings } from '../models/UserSettings'\r\n\r\nexport function mapUserSettings (settings: SettingViewModel): UserSettings {\r\n return {\r\n ingangsdatumZiekmeldingMaximaalDagenInHetVerleden: Number.parseInt(\r\n findSettingValue(settings, SettingType.IngangsdatumZiekmeldingMaximaalDagenInHetVerleden) || '0'),\r\n uploadFactuurIsMogelijk: findSettingValue(settings, SettingType.UploadFactuurIsMogelijk) === 'true',\r\n logTimingsApi: findSettingValue(settings, SettingType.LogTimingsApi),\r\n bijstortenMetIdealIsMogelijk: findSettingValue(settings, SettingType.BijstortenMetIdealIsMogelijk) === 'true',\r\n maximumSearchResultsSetting: findSettingValue(settings, SettingType.MaximumSearchResults),\r\n opschortingIsMogelijk: findSettingValue(settings, SettingType.OpschortenBetalingFeature) === 'true',\r\n teamviewerTenantId: findSettingValue(settings, SettingType.TeamviewerTenantId),\r\n ingangsdatumZiekengeldvergoedingRegime: findSettingValue(settings, SettingType.IngangsdatumZiekengeldvergoedingRegime),\r\n }\r\n}\r\n\r\nfunction findSettingValue (settings: SettingViewModel, settingtype: SettingType): any {\r\n const setting = settings.settingRequests.find(s => s.id === settingtype)\r\n if (setting) {\r\n return setting.value\r\n }\r\n return undefined\r\n}\r\n","import { BudgethouderOpzoekenViewModel, CurrentAccountRelatieViewModel, CurrentAccountViewModel, SettingViewModel } from '@/_generated/portalClient'\r\nimport { AccountRelatie, emptyAccountRelatie } from '../models/AccountRelatie'\r\nimport { CurrentUser } from '../models/CurrentUser'\r\nimport { Budgethouder, emptyBudgethouder } from '../models/relaties/Budgethouder'\r\nimport { mapUserSettings } from './settingMappers'\r\n\r\nexport function mapCurrentUser (account: CurrentAccountViewModel, settings: SettingViewModel): CurrentUser {\r\n return {\r\n rol: account.rol,\r\n gebruikersnaam: account.gebruikersnaam || '',\r\n relatie: mapAccountRelatie(account.relatie || {} as any),\r\n budgethouders: account.budgethouderOpzoekenViewModels ? account.budgethouderOpzoekenViewModels.map((bhr) => mapAccountBudgethouder(bhr)) : [],\r\n selectedBudgethouderUid: account.budgethouderOpzoekenViewModels && account.budgethouderOpzoekenViewModels.length === 1\r\n ? account.budgethouderOpzoekenViewModels[0].budgethouderId\r\n : null,\r\n settings: mapUserSettings(settings),\r\n authorizedOperations: account.authorizedOperations || [],\r\n applicatieRollen: account.applicatieRollen || [],\r\n }\r\n}\r\n\r\nexport function mapAccountRelatie (relatie: CurrentAccountRelatieViewModel): AccountRelatie {\r\n return {\r\n ...emptyAccountRelatie,\r\n id: relatie.id,\r\n uid: relatie.uid,\r\n volledigeNaam: relatie.volledigeNaam || '',\r\n burgerServiceNummer: relatie.burgerServiceNummer || '',\r\n soortVerstrekkerType: relatie.soortVerstrekkerType,\r\n type: relatie.type,\r\n zorgverlenerIsInstelling: relatie.zorgverlenerIsInstelling,\r\n relatienummer: relatie.relatienummer || '',\r\n geslacht: relatie.geslacht,\r\n }\r\n}\r\n\r\nexport function mapAccountBudgethouder (bhr: BudgethouderOpzoekenViewModel): Budgethouder {\r\n return {\r\n ...emptyBudgethouder,\r\n uid: bhr.budgethouderId,\r\n volledigeNaam: bhr.volledigeNaam || '',\r\n geboorteDatum: bhr.geboortedatum,\r\n burgerServiceNummer: bhr.burgerServiceNummer || '',\r\n }\r\n}\r\n","import { DateString } from 'phoenix'\r\n\r\nexport interface UserSettings {\r\n uploadFactuurIsMogelijk: boolean\r\n ingangsdatumZiekmeldingMaximaalDagenInHetVerleden: number\r\n logTimingsApi: string | null\r\n bijstortenMetIdealIsMogelijk: boolean\r\n maximumSearchResultsSetting: number\r\n opschortingIsMogelijk: boolean\r\n teamviewerTenantId: string\r\n ingangsdatumZiekengeldvergoedingRegime: DateString | null\r\n}\r\n\r\nexport const emptyUserSettings: UserSettings = {\r\n uploadFactuurIsMogelijk: false,\r\n ingangsdatumZiekmeldingMaximaalDagenInHetVerleden: 0,\r\n logTimingsApi: null,\r\n bijstortenMetIdealIsMogelijk: false,\r\n maximumSearchResultsSetting: 0,\r\n opschortingIsMogelijk: false,\r\n teamviewerTenantId: '',\r\n ingangsdatumZiekengeldvergoedingRegime: null,\r\n}\r\n","import { ApplicatieRolType, OperationType, RolType } from '@/_generated/portalClient'\r\nimport { AccountRelatie, emptyAccountRelatie } from './AccountRelatie'\r\nimport { Budgethouder } from './relaties/Budgethouder'\r\nimport { emptyUserSettings, UserSettings } from './UserSettings'\r\n\r\nexport interface CurrentUser {\r\n rol: RolType\r\n gebruikersnaam: string\r\n relatie: AccountRelatie\r\n budgethouders: Budgethouder[]\r\n settings: UserSettings\r\n selectedBudgethouderUid: string | null\r\n authorizedOperations: OperationType[] // only for knockout\r\n applicatieRollen: ApplicatieRolType[] // only for knockout\r\n}\r\n\r\nexport const emptyCurrentUser: CurrentUser = {\r\n rol: RolType.Onbekend,\r\n gebruikersnaam: '',\r\n relatie: emptyAccountRelatie,\r\n budgethouders: [],\r\n settings: emptyUserSettings,\r\n selectedBudgethouderUid: null,\r\n authorizedOperations: [],\r\n applicatieRollen: [],\r\n}\r\n","import { RepositoryBase } from '@/dataAccess/RepositoryBase'\r\nimport { computed, watch } from '@vue/composition-api'\r\nimport { UserSettings } from './models/UserSettings'\r\nimport { accountClient, settingClient } from '@/dataAccess/clients'\r\nimport { RolType, SoortVerstrekkerType } from '@/_generated/portalClient'\r\nimport { mapCurrentUser } from '@/domains/account/dataAccess/mappers/currentUserMappers'\r\nimport pgbSessionStorage from '@/utils/pgbSessionStorage'\r\nimport { CurrentUser, emptyCurrentUser } from './models/CurrentUser'\r\nimport { CurrentUserExtended } from './models/CurrentUserExtended'\r\nimport { updateLogTimingSetting } from '@/dataAccess/apiClientFactory'\r\n\r\nexport class CurrentUserRepository extends RepositoryBase {\r\n constructor () {\r\n super('CurrentUserRepository', emptyCurrentUser)\r\n }\r\n\r\n async getBudgethouderUid (): Promise {\r\n return (await this.awaitModel()).budgethouderUid\r\n }\r\n\r\n async getUserSettings (): Promise {\r\n return (await this.awaitModel()).settings\r\n }\r\n\r\n protected doOpen () {\r\n super.doOpen()\r\n return this.getAccountFromApi()\r\n }\r\n\r\n protected doExtendModel (model: CurrentUserExtended): void {\r\n model.budgethouderUid = computed(\r\n () => model.isBudgethouder ? model.relatie.uid : model.selectedBudgethouderUid) as any\r\n model.isBudgethouder = computed(() => model.rol === RolType.Budgethouder || model.rol === RolType.BudgethouderReadonly) as any\r\n model.isVertegenwoordiger = computed(() => model.rol === RolType.Vertegenwoordiger) as any\r\n model.isPortaalMedewerker = computed(() => model.rol === RolType.PortaalMedewerker) as any\r\n model.isZorgverlener = computed(() => model.rol === RolType.Zorgverlener) as any\r\n model.isGemeente = computed(() => model.relatie.soortVerstrekkerType === SoortVerstrekkerType.Gemeente) as any\r\n model.isInstantie = computed(() =>\r\n model.rol === RolType.FunctioneelApplicatiebeheerder ||\r\n model.rol === RolType.PortaalMedewerker ||\r\n model.rol === RolType.VerstrekkerMedewerker) as any\r\n model.isFunctioneelApplicatieBeheerder = computed(() => model.rol === RolType.FunctioneelApplicatiebeheerder) as any\r\n model.isBudgethouderGeselecteerd = computed(\r\n () => model.isVertegenwoordiger && model.selectedBudgethouderUid !== null) as any\r\n model.effectieveRol = computed(() => model.isBudgethouderGeselecteerd || model.isBudgethouder ? RolType.Budgethouder : model.rol) as any\r\n model.effectieveRelatie = computed(() =>\r\n model.isBudgethouderGeselecteerd\r\n ? model.budgethouders[model.budgethouders.findIndex((bgh) => bgh.uid === model.selectedBudgethouderUid)]\r\n : model.relatie) as any\r\n }\r\n\r\n protected doAddWatchers (): void {\r\n super.doAddWatchers()\r\n watch(\r\n () => this.model.selectedBudgethouderUid,\r\n () => this.setSelectedBudgethouderUidInStorage())\r\n }\r\n\r\n private setSelectedBudgethouderUidInStorage () {\r\n if (this.isReady) {\r\n if (this.model.selectedBudgethouderUid === null ||\r\n this.model.budgethouders.find((value) => value.uid === this.model.selectedBudgethouderUid)) {\r\n pgbSessionStorage.setVertegenwoordigerSelectedBudgethouder(this.model.selectedBudgethouderUid)\r\n } else {\r\n this.model.selectedBudgethouderUid = null\r\n }\r\n }\r\n }\r\n\r\n private async getAccountFromApi (): Promise {\r\n const [account, settings] = await Promise.all([\r\n accountClient().get(),\r\n settingClient().retrieveSettings(),\r\n ])\r\n this.dataModel = mapCurrentUser(account, settings)\r\n updateLogTimingSetting(this.dataModel.settings.logTimingsApi)\r\n const selectedBudgethouderUid = pgbSessionStorage.getVertegenwoordigerSelectedBudgethouder()\r\n if (selectedBudgethouderUid) {\r\n this.model.selectedBudgethouderUid = selectedBudgethouderUid\r\n }\r\n }\r\n}\r\n\r\nexport function currentUserRepository (): CurrentUserRepository {\r\n return CurrentUserRepository.getOrCreateSingleton(CurrentUserRepository)\r\n}\r\n","import { V as VRow, a as VCol, n as normalizeComponent, b as VDivider, c as VBtn, d as VIcon, e as VMenu, f as VSlideXReverseTransition, g as VSheet, h as VCardText, i as VCard, j as VAlert, k as VCardActions, l as VCardTitle, m as VExpandTransition, o as VDialog, p as VHover, q as VStepper, r as VStepperHeader, s as VStepperStep, t as VContainer, u as VLabel, v as VTextField, w as VDataTable, x as VPagination, y as VFooter, z as VList, A as VListItem, B as VListItemContent, C as VListItemTitle, D as VSlideYTransition, E as VNavigationDrawer, F as VListItemIcon, G as VApp, H as VMain, I as VProgressCircular, J as VTextarea, K as VDatePicker, L as VCheckbox, M as VImg, N as VListItemAvatar, O as VListItemAction, P as Vuetify, Q as vuetifyOptions } from './phoenix.esm.vuetify.js';\nimport { defineComponent, getCurrentInstance, computed, reactive, ref, watch, watchEffect, onMounted, provide, inject, onUnmounted, onBeforeUnmount, toRefs, isRef } from '@vue/composition-api';\nimport { __awaiter } from 'tslib';\nimport Vue$1 from 'vue';\n\nvar commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};\n\nfunction getDefaultExportFromCjs (x) {\n\treturn x && x.__esModule && Object.prototype.hasOwnProperty.call(x, 'default') ? x['default'] : x;\n}\n\nfunction createCommonjsModule(fn) {\n var module = { exports: {} };\n\treturn fn(module, module.exports), module.exports;\n}\n\nvar vueSmoothScroll_min = createCommonjsModule(function (module, exports) {\n!function(t,e){module.exports=e();}(commonjsGlobal,(function(){return function(t){var e={};function o(n){if(e[n])return e[n].exports;var r=e[n]={i:n,l:!1,exports:{}};return t[n].call(r.exports,r,r.exports,o),r.l=!0,r.exports}return o.m=t,o.c=e,o.d=function(t,e,n){o.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:n});},o.r=function(t){\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(t,\"__esModule\",{value:!0});},o.t=function(t,e){if(1&e&&(t=o(t)),8&e)return t;if(4&e&&\"object\"==typeof t&&t&&t.__esModule)return t;var n=Object.create(null);if(o.r(n),Object.defineProperty(n,\"default\",{enumerable:!0,value:t}),2&e&&\"string\"!=typeof t)for(var r in t)o.d(n,r,function(e){return t[e]}.bind(null,r));return n},o.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return o.d(e,\"a\",e),e},o.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},o.p=\"\",o(o.s=0)}([function(t,e,o){function n(t){return (n=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&\"function\"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?\"symbol\":typeof t})(t)}var r;o.r(e);var i=function(t,e){return \"HTML\"===t.nodeName?-e:t.getBoundingClientRect().top+e};function u(){return {duration:500,offset:0,container:window,updateHistory:!0}}var c=Symbol(\"smoothScrollCtx\");function f(t){var e=t.scrollTo,o=t.offset,n=t.duration,u=t.container,c=t.updateHistory,f=t.hash;r||(r=window.requestAnimationFrame||function(t){window.setTimeout(t,16);}),c&&window.history.pushState&&location.hash!==f&&window.history.pushState(\"\",\"\",f);var a=u.scrollTop||window.pageYOffset,l=i(e,a);l+=o;var d=Date.now();!function t(){var o,i=Date.now()-d,f=l;i {\r\n return (name = 'default') => {\r\n return !!slots[name];\r\n };\r\n};\n\nfunction useBreakpoints () {\r\n const vm = getCurrentInstance();\r\n const breakpoint = vm.$vuetify.breakpoint;\r\n const isDesktopView = computed(() => {\r\n return breakpoint.mdAndUp;\r\n });\r\n const isTabletView = computed(() => {\r\n return breakpoint.sm;\r\n });\r\n const isMobileView = computed(() => {\r\n return breakpoint.xs;\r\n });\r\n const isMobileOrTabletView = computed(() => {\r\n return breakpoint.smAndDown;\r\n });\r\n return {\r\n breakpoint: vm.$vuetify.breakpoint,\r\n isDesktopView,\r\n isTabletView,\r\n isMobileView,\r\n isMobileOrTabletView,\r\n };\r\n}\n\nvar LogLevel;\r\n(function (LogLevel) {\r\n LogLevel[LogLevel[\"Trace\"] = 0] = \"Trace\";\r\n LogLevel[LogLevel[\"Debug\"] = 1] = \"Debug\";\r\n LogLevel[LogLevel[\"Info\"] = 2] = \"Info\";\r\n LogLevel[LogLevel[\"Warning\"] = 3] = \"Warning\";\r\n LogLevel[LogLevel[\"Error\"] = 4] = \"Error\";\r\n LogLevel[LogLevel[\"None\"] = 5] = \"None\";\r\n})(LogLevel || (LogLevel = {}));\r\nlet logLevel = process.env.NODE_ENV === 'production' || process.env.NODE_ENV === 'test' ? LogLevel.Warning : LogLevel.Trace;\r\nfunction setLogLevel(level) {\r\n logLevel = level;\r\n}\r\nfunction extractErrorMessage(e) {\r\n if (e) {\r\n if (typeof e === 'string') {\r\n return e;\r\n }\r\n if (typeof e.message === 'string') {\r\n return e.message;\r\n }\r\n }\r\n return `Unknown error: ${e}`;\r\n}\r\nfunction logTrace(message, ...optionalParms) {\r\n if (logLevel <= LogLevel.Trace) {\r\n window.console.log(message, ...optionalParms);\r\n }\r\n}\r\nfunction logDebug(message, ...optionalParms) {\r\n if (logLevel <= LogLevel.Debug) {\r\n window.console.log(message, ...optionalParms);\r\n }\r\n}\r\nfunction logInfo(message, ...optionalParms) {\r\n if (logLevel <= LogLevel.Info) {\r\n window.console.info(message, ...optionalParms);\r\n }\r\n}\r\nfunction logWarning(message, ...optionalParms) {\r\n if (logLevel <= LogLevel.Warning) {\r\n window.console.warn(extractErrorMessage(message), ...optionalParms);\r\n }\r\n}\r\nfunction logError(message, ...optionalParms) {\r\n if (logLevel <= LogLevel.Error) {\r\n window.console.error(extractErrorMessage(message), ...optionalParms);\r\n }\r\n}\r\nfunction errorNotInProd(message) {\r\n if (process.env.NODE_ENV !== 'production') {\r\n throw Error(message);\r\n }\r\n logWarning(message);\r\n}\r\nfunction toStringSave(arg) {\r\n try {\r\n if (arg instanceof Date) {\r\n return isNaN(arg.valueOf()) ? 'Invalid Date' : arg.toISOString();\r\n }\r\n return JSON.stringify(arg);\r\n }\r\n catch (err) {\r\n try {\r\n return arg.toString();\r\n }\r\n catch (_) {\r\n return `unknown ${typeof arg}`;\r\n }\r\n }\r\n}\n\nfunction tryTranslateRecursive(vm, key, values) {\r\n if (!vm) {\r\n return undefined;\r\n }\r\n if (vm.$te && vm.$t && vm.$te(key)) {\r\n return vm.$t(key, values);\r\n }\r\n return tryTranslateRecursive(vm.$parent, key, values);\r\n}\r\nfunction translateRecursive(vm, key, values) {\r\n const result = tryTranslateRecursive(vm, key, values);\r\n if (result !== undefined) {\r\n return result;\r\n }\r\n logWarning(`No translation found for \"${key}\"`);\r\n return key;\r\n}\r\nfunction useI18n (vue) {\r\n const vm = vue || getCurrentInstance();\r\n return {\r\n t: vm.$t.bind(vm),\r\n d: vm.$d.bind(vm),\r\n n: vm.$n.bind(vm),\r\n te: vm.$te.bind(vm),\r\n tc: vm.$tc.bind(vm),\r\n tRecursiveTry(key, values) {\r\n return tryTranslateRecursive(vm, key, values);\r\n },\r\n tRecursive(key, values) {\r\n return translateRecursive(vm, key, values);\r\n },\r\n };\r\n}\n\nfunction useWindowPrint() {\r\n const sendToPrinter = () => {\r\n window.print();\r\n return false;\r\n };\r\n return {\r\n sendToPrinter,\r\n };\r\n}\n\nclass StepRouter {\r\n constructor(steps, routeParam) {\r\n this.steps = steps;\r\n this.routeParam = routeParam;\r\n this.vm = getCurrentInstance();\r\n this.routes = {\r\n name: this.vm.$route.name || '',\r\n params: this.vm.$route.params,\r\n steps,\r\n };\r\n if (!this.routes.name) {\r\n throw Error('useStepRouter expects a route name.');\r\n }\r\n if (!routeParam) {\r\n throw Error('useStepRouter expects a route params key.');\r\n }\r\n this.hasRoutes = !!this.routes.steps && this.routes.steps.length > 0;\r\n }\r\n toComposable() {\r\n return reactive({\r\n stepNumber: computed(() => this.getRouteIndex(this.vm.$route.params[this.routeParam]) + 1),\r\n navigate: (toStepNumber) => this.navigate(toStepNumber),\r\n });\r\n }\r\n getRouteIndex(route) {\r\n if (!this.hasRoutes || !route) {\r\n return -1;\r\n }\r\n return this.routes.steps.findIndex((r) => r.toLowerCase() === route.toLowerCase());\r\n }\r\n getLocation(stepRoute, routeName, routeParam) {\r\n const params = Object.assign({}, this.vm.$route.params);\r\n const query = this.vm.$route.query;\r\n params[routeParam] = stepRoute;\r\n return { name: routeName, params, query };\r\n }\r\n navigate(toStepNumber) {\r\n const index = toStepNumber - 1;\r\n if (index < 0 || index >= this.routes.steps.length) {\r\n return false;\r\n }\r\n const location = this.getLocation(this.routes.steps[index], this.routes.name, this.routeParam);\r\n this.vm.$router.push(location);\r\n return true;\r\n }\r\n}\r\nfunction useStepRouter(steps, routeParam) {\r\n return new StepRouter(steps, routeParam).toComposable();\r\n}\n\nlet _routeLinkResolver;\r\nfunction setupRouteLinkResolver(routeResolver) {\r\n _routeLinkResolver = routeResolver;\r\n}\r\nfunction resolveRouteLink(link) {\r\n if (typeof link === 'string') {\r\n link = { name: link };\r\n }\r\n if (!_routeLinkResolver) {\r\n return {\r\n name: link.name,\r\n to: { name: link.name, params: link.params },\r\n };\r\n }\r\n else {\r\n return _routeLinkResolver(link);\r\n }\r\n}\r\nfunction useRouteResolver(props) {\r\n const linkTo = computed(() => computeLinkTo(props));\r\n const linkHref = computed(() => computeLinkHref(props));\r\n const allowed = computed(() => computeIsAllowed(props, linkTo, linkHref));\r\n return { allowed, linkTo, linkHref };\r\n}\r\nfunction useRouteResolverMulti(items) {\r\n return computed(() => items.map((item) => {\r\n const to = computeLinkTo(item);\r\n const href = computeLinkHref(item);\r\n return Object.assign(Object.assign({}, item), { to,\r\n href, isAllowed: !!(to || href) });\r\n }));\r\n}\r\nfunction computeLinkTo(props) {\r\n return props.to ? resolveRouteLink(props.to).to : undefined;\r\n}\r\nfunction computeLinkHref(props) {\r\n return props.to ? resolveRouteLink(props.to).href : props.href;\r\n}\r\nfunction computeIsAllowed(props, linkTo, linkHref) {\r\n return props.to ? !!(linkTo.value || linkHref.value) : true;\r\n}\n\nfunction makeIDGenerator(prefix) {\r\n let nextIndex = 0;\r\n return {\r\n next: () => {\r\n const result = `${prefix}-${nextIndex}`;\r\n nextIndex += 1;\r\n return result;\r\n },\r\n };\r\n}\r\nconst generators = {};\r\nfunction useIdGenerator (prefix) {\r\n if (!generators[prefix]) {\r\n generators[prefix] = makeIDGenerator(prefix);\r\n }\r\n return generators[prefix];\r\n}\n\nfunction useRouter () {\r\n const vm = getCurrentInstance();\r\n return {\r\n route: vm.$route,\r\n router: vm.$router,\r\n };\r\n}\n\nfunction useState(initialState) {\r\n const state = {};\r\n for (const key in initialState) {\r\n state[key] = ref(initialState[key]);\r\n }\r\n const setState = (newState) => {\r\n for (const k in newState) {\r\n state[k].value = newState[k];\r\n }\r\n };\r\n const setFromOldState = (callBack) => {\r\n const oldState = {};\r\n for (const key in state) {\r\n oldState[key] = state[key].value;\r\n }\r\n setState(callBack(oldState));\r\n };\r\n return { state, setState, setFromOldState };\r\n}\n\nvar useCustomFocus = (focus, currentStyle = null) => {\r\n return computed(() => {\r\n return Array.isArray(focus)\r\n ? Object.assign(Object.assign({}, currentStyle), { '--p-focus-background-color': focus[0], '--p-focus-ring-color': focus[1] }) : currentStyle;\r\n });\r\n};\n\nvar script$1h = defineComponent({\r\n name: 'PDivider',\r\n components: { VDivider },\r\n});\n\n/* script */\nconst __vue_script__$1h = script$1h;\n\n/* template */\nvar __vue_render__$1j = function () {\n var _vm = this;\n var _h = _vm.$createElement;\n var _c = _vm._self._c || _h;\n return _c(\"v-divider\", { attrs: { role: \"presentation\" } })\n};\nvar __vue_staticRenderFns__$1j = [];\n__vue_render__$1j._withStripped = true;\n\n /* style */\n const __vue_inject_styles__$1j = undefined;\n /* scoped */\n const __vue_scope_id__$1j = undefined;\n /* module identifier */\n const __vue_module_identifier__$1j = undefined;\n /* functional template */\n const __vue_is_functional_template__$1j = false;\n /* style inject */\n \n /* style inject SSR */\n \n /* style inject shadow dom */\n \n\n \n const __vue_component__$1j = /*#__PURE__*/normalizeComponent(\n { render: __vue_render__$1j, staticRenderFns: __vue_staticRenderFns__$1j },\n __vue_inject_styles__$1j,\n __vue_script__$1h,\n __vue_scope_id__$1j,\n __vue_is_functional_template__$1j,\n __vue_module_identifier__$1j,\n false,\n undefined,\n undefined,\n undefined\n );\n\nvar script$1g = defineComponent({\r\n name: 'PHeading',\r\n props: {\r\n level: {\r\n type: [String, Number],\r\n required: true,\r\n validator: value => {\r\n const intLevel = parseInt(value, 10);\r\n return !isNaN(intLevel) && intLevel >= 1 && intLevel <= 6;\r\n },\r\n },\r\n },\r\n setup(props) {\r\n return {\r\n headingLevel: `h${props.level.toString()}`,\r\n };\r\n },\r\n});\n\n/* script */\nconst __vue_script__$1g = script$1g;\n\n/* template */\nvar __vue_render__$1i = function () {\n var _vm = this;\n var _h = _vm.$createElement;\n var _c = _vm._self._c || _h;\n return _c(_vm.headingLevel, { tag: \"component\" }, [_vm._t(\"default\")], 2)\n};\nvar __vue_staticRenderFns__$1i = [];\n__vue_render__$1i._withStripped = true;\n\n /* style */\n const __vue_inject_styles__$1i = undefined;\n /* scoped */\n const __vue_scope_id__$1i = undefined;\n /* module identifier */\n const __vue_module_identifier__$1i = undefined;\n /* functional template */\n const __vue_is_functional_template__$1i = false;\n /* style inject */\n \n /* style inject SSR */\n \n /* style inject shadow dom */\n \n\n \n const __vue_component__$1i = /*#__PURE__*/normalizeComponent(\n { render: __vue_render__$1i, staticRenderFns: __vue_staticRenderFns__$1i },\n __vue_inject_styles__$1i,\n __vue_script__$1g,\n __vue_scope_id__$1i,\n __vue_is_functional_template__$1i,\n __vue_module_identifier__$1i,\n false,\n undefined,\n undefined,\n undefined\n );\n\nvar script$1f = defineComponent({\r\n name: 'PageLayoutBase',\r\n components: { PDivider: __vue_component__$1j, PHeading: __vue_component__$1i },\r\n props: {\r\n a11yFocusableOptions: { type: Object, default: () => ({}) },\r\n pageTitle: { type: String, default: null },\r\n divider: { type: Boolean, default: true },\r\n },\r\n setup(props, { slots }) {\r\n const hasSlot = useHasSlot(slots);\r\n const { route } = useRouter();\r\n const title = computed(() => {\r\n if (props.pageTitle) {\r\n return props.pageTitle;\r\n }\r\n if (route && route.meta && route.meta.title) {\r\n return route.meta.title;\r\n }\r\n return '';\r\n });\r\n return {\r\n hasSlot,\r\n title,\r\n };\r\n },\r\n});\n\n/* script */\nconst __vue_script__$1f = script$1f;\n\n/* template */\nvar __vue_render__$1h = function () {\n var _vm = this;\n var _h = _vm.$createElement;\n var _c = _vm._self._c || _h;\n return _c(\n \"div\",\n [\n _c(\n \"div\",\n {\n class: [\n \"d-flex justify-space-between\",\n { \"mb-4 mb-md-12\": !_vm.divider },\n ],\n },\n [\n _vm.title || _vm.hasSlot(\"title\")\n ? _c(\n \"p-heading\",\n {\n directives: [\n {\n name: \"a11y-focusable\",\n rawName: \"v-a11y-focusable\",\n value: _vm.a11yFocusableOptions,\n expression: \"a11yFocusableOptions\",\n },\n ],\n attrs: { level: \"1\" },\n },\n [\n _vm.hasSlot(\"title\")\n ? _vm._t(\"title\")\n : [_vm._v(\"\\n \" + _vm._s(_vm.title) + \"\\n \")],\n ],\n 2\n )\n : _vm._e(),\n _vm._v(\" \"),\n _vm._t(\"headerInlineContent\"),\n ],\n 2\n ),\n _vm._v(\" \"),\n _vm.divider\n ? _c(\"p-divider\", { staticClass: \"mb-8 mb-xs-4 mb-md-14\" })\n : _vm._e(),\n _vm._v(\" \"),\n _vm._t(\"default\"),\n ],\n 2\n )\n};\nvar __vue_staticRenderFns__$1h = [];\n__vue_render__$1h._withStripped = true;\n\n /* style */\n const __vue_inject_styles__$1h = undefined;\n /* scoped */\n const __vue_scope_id__$1h = undefined;\n /* module identifier */\n const __vue_module_identifier__$1h = undefined;\n /* functional template */\n const __vue_is_functional_template__$1h = false;\n /* style inject */\n \n /* style inject SSR */\n \n /* style inject shadow dom */\n \n\n \n const __vue_component__$1h = /*#__PURE__*/normalizeComponent(\n { render: __vue_render__$1h, staticRenderFns: __vue_staticRenderFns__$1h },\n __vue_inject_styles__$1h,\n __vue_script__$1f,\n __vue_scope_id__$1h,\n __vue_is_functional_template__$1h,\n __vue_module_identifier__$1h,\n false,\n undefined,\n undefined,\n undefined\n );\n\nclass UseHelpMenu {\r\n constructor(menuRef, withSetTimeout = null) {\r\n this.active = ref(false);\r\n this._linkRefs = [];\r\n this._focusOnLastItem = false;\r\n this._menuRef = menuRef;\r\n this._withSetTimeout = withSetTimeout;\r\n watch(this.active, () => this.active.value ? this._onOpen() : this._onClose());\r\n }\r\n menuKeyHandler(ev) {\r\n const actions = {\r\n ArrowUp: () => this._focusOnItem(this._getNextItemIndex('prev')),\r\n ArrowDown: () => this._focusOnItem(this._getNextItemIndex('next')),\r\n Home: () => this._focusOnItem(0),\r\n End: () => this._focusOnItem(this._linkRefs.length - 1),\r\n };\r\n actions[ev.code] && actions[ev.code]();\r\n }\r\n activatorKeyHandler(ev) {\r\n if (ev.type === 'keydown' && ev.code === 'ArrowUp') {\r\n this._focusOnLastItem = true;\r\n }\r\n }\r\n _onOpen() {\r\n if (!this._linkRefs.length) {\r\n const links = this._menuRef.value ? this._menuRef.value.querySelectorAll(':scope a') : [];\r\n this._linkRefs = [...links].map((link) => link);\r\n }\r\n const index = this._focusOnLastItem ? this._linkRefs.length - 1 : 0;\r\n if (this._withSetTimeout !== null) {\r\n setTimeout(() => this._focusOnItem(index), this._withSetTimeout);\r\n }\r\n else {\r\n this._focusOnItem(index);\r\n }\r\n }\r\n _onClose() {\r\n this._focusOnLastItem = false;\r\n }\r\n _focusOnItem(index) {\r\n if (this._linkRefs[index]) {\r\n this._linkRefs[index].focus();\r\n }\r\n }\r\n _focusedItemIndex() {\r\n let focusedElement = null;\r\n if (document.hasFocus() && document.activeElement !== document.body && document.activeElement !== document.documentElement) {\r\n focusedElement = document.activeElement;\r\n }\r\n else if (document.querySelector) {\r\n focusedElement = document.querySelector(':focus');\r\n }\r\n return this._linkRefs.findIndex((link) => link === focusedElement);\r\n }\r\n _getNextItemIndex(direction) {\r\n const focusedIndex = this._focusedItemIndex();\r\n const indices = {\r\n prev: (focusedIndex <= 0) ? this._linkRefs.length - 1 : focusedIndex - 1,\r\n next: (focusedIndex >= this._linkRefs.length - 1) ? 0 : focusedIndex + 1,\r\n };\r\n return indices[direction];\r\n }\r\n}\r\nfunction useHelpMenu(menuRef, withSetTimeout = null) {\r\n const helpMenu = new UseHelpMenu(menuRef, withSetTimeout);\r\n return {\r\n active: helpMenu.active,\r\n activatorKeyHandler: helpMenu.activatorKeyHandler.bind(helpMenu),\r\n menuKeyHandler: helpMenu.menuKeyHandler.bind(helpMenu),\r\n };\r\n}\n\nvar i18n$9 = {\r\n messages: {\r\n nl: {\r\n helpNeeded: 'Hulp nodig?',\r\n helpClose: 'Sluiten',\r\n helpdesk: 'Helpdesk',\r\n },\r\n },\r\n};\n\nvar script$1e = defineComponent({\r\n name: 'PHelpPanel',\r\n components: { VBtn, VIcon, VMenu },\r\n i18n: i18n$9,\r\n props: {\r\n items: { type: Array, default: () => [] },\r\n },\r\n setup(props) {\r\n const hasItems = computed(() => !!props.items.length);\r\n const mainRef = ref(null);\r\n const menuRef = ref(null);\r\n const { active, activatorKeyHandler, menuKeyHandler } = useHelpMenu(menuRef, 100);\r\n return { hasItems, mainRef, menuRef, active, activatorKeyHandler, menuKeyHandler };\r\n },\r\n});\n\n/* script */\nconst __vue_script__$1e = script$1e;\n/* template */\nvar __vue_render__$1g = function () {\n var _vm = this;\n var _h = _vm.$createElement;\n var _c = _vm._self._c || _h;\n return _c(\n \"div\",\n { ref: \"mainRef\", staticClass: \"p-help-panel\" },\n [\n _c(\n \"v-menu\",\n {\n attrs: {\n attach: _vm.mainRef,\n \"close-on-click\": false,\n \"close-on-content-click\": false,\n role: null,\n rounded: \"\",\n bottom: \"\",\n left: \"\",\n \"offset-y\": \"\",\n },\n scopedSlots: _vm._u([\n {\n key: \"activator\",\n fn: function (ref) {\n var on = ref.on;\n var attrs = ref.attrs;\n return [\n _c(\n \"v-btn\",\n _vm._g(\n _vm._b(\n {\n staticClass:\n \"p-help-panel__button white--text text-left justify-space-between px-4 py-3\",\n attrs: {\n color: \"info\",\n \"data-ui\": \"helpButtonDesktop\",\n block: \"\",\n },\n on: {\n keydown: function ($event) {\n if (\n !$event.type.indexOf(\"key\") &&\n _vm._k($event.keyCode, \"down\", 40, $event.key, [\n \"Down\",\n \"ArrowDown\",\n ]) &&\n _vm._k($event.keyCode, \"up\", 38, $event.key, [\n \"Up\",\n \"ArrowUp\",\n ])\n ) {\n return null\n }\n $event.preventDefault();\n return _vm.activatorKeyHandler.apply(\n null,\n arguments\n )\n },\n },\n },\n \"v-btn\",\n attrs,\n false\n ),\n on\n ),\n [\n _c(\"span\", { staticClass: \"flex-grow-1\" }, [\n _vm._v(_vm._s(_vm.$t(\"helpNeeded\"))),\n ]),\n _vm._v(\" \"),\n _c(\n \"v-icon\",\n {\n staticClass: \"p_help-panel__icon ml-4\",\n attrs: { color: \"white\" },\n },\n [_vm._v(\"\\n $icon-chevron-beneden\\n \")]\n ),\n ],\n 1\n ),\n ]\n },\n },\n ]),\n model: {\n value: _vm.active,\n callback: function ($$v) {\n _vm.active = $$v;\n },\n expression: \"active\",\n },\n },\n [\n _vm._v(\" \"),\n _c(\n \"ul\",\n {\n directives: [\n {\n name: \"show\",\n rawName: \"v-show\",\n value: _vm.active,\n expression: \"active\",\n },\n ],\n ref: \"menuRef\",\n staticClass: \"p-help-panel__menu ma-0 px-4 py-6\",\n attrs: { role: \"menu\" },\n on: {\n keydown: function ($event) {\n if (\n !$event.type.indexOf(\"key\") &&\n _vm._k($event.keyCode, \"up\", 38, $event.key, [\n \"Up\",\n \"ArrowUp\",\n ]) &&\n _vm._k($event.keyCode, \"down\", 40, $event.key, [\n \"Down\",\n \"ArrowDown\",\n ]) &&\n _vm._k(\n $event.keyCode,\n \"home\",\n undefined,\n $event.key,\n undefined\n ) &&\n _vm._k(\n $event.keyCode,\n \"end\",\n undefined,\n $event.key,\n undefined\n )\n ) {\n return null\n }\n $event.preventDefault();\n return _vm.menuKeyHandler.apply(null, arguments)\n },\n },\n },\n _vm._l(_vm.items, function (item, index) {\n return _c(\n \"li\",\n {\n key: \"pgb_help_panel_\" + index,\n staticClass: \"p-help-panel__link mb-4\",\n attrs: { role: \"none\" },\n },\n [\n _c(\n \"a\",\n {\n staticClass: \"d-flex align-start\",\n attrs: {\n href: item.url,\n tabindex: \"0\",\n role: \"menuitem\",\n },\n on: {\n click: function ($event) {\n item.anchorPoint\n ? _vm.$emit(\"scrollAnimate\", $event)\n : null;\n },\n },\n },\n [_vm._v(_vm._s(item.label))]\n ),\n ]\n )\n }),\n 0\n ),\n ]\n ),\n ],\n 1\n )\n};\nvar __vue_staticRenderFns__$1g = [];\n__vue_render__$1g._withStripped = true;\n\n /* style */\n const __vue_inject_styles__$1g = undefined;\n /* scoped */\n const __vue_scope_id__$1g = \"data-v-781ef2f4\";\n /* module identifier */\n const __vue_module_identifier__$1g = undefined;\n /* functional template */\n const __vue_is_functional_template__$1g = false;\n /* style inject */\n \n /* style inject SSR */\n \n /* style inject shadow dom */\n \n\n \n const __vue_component__$1g = /*#__PURE__*/normalizeComponent(\n { render: __vue_render__$1g, staticRenderFns: __vue_staticRenderFns__$1g },\n __vue_inject_styles__$1g,\n __vue_script__$1e,\n __vue_scope_id__$1g,\n __vue_is_functional_template__$1g,\n __vue_module_identifier__$1g,\n false,\n undefined,\n undefined,\n undefined\n );\n\nfunction btnOutlined() {\r\n return {\r\n color: 'primary',\r\n hoverClass: 'outline-hover',\r\n outlined: true,\r\n };\r\n}\r\nfunction btnFilled() {\r\n return {\r\n color: 'primary',\r\n hoverClass: 'filled-hover',\r\n };\r\n}\r\nfunction btnNext() {\r\n return Object.assign(Object.assign({}, btnFilled()), { inlineIcon: {\r\n position: 'right',\r\n icon: '$icon-chevron-rechts',\r\n } });\r\n}\r\nfunction btnPrevious() {\r\n return Object.assign(Object.assign({}, btnOutlined()), { inlineIcon: {\r\n icon: '$icon-chevron-links',\r\n } });\r\n}\r\nfunction btnUp() {\r\n return Object.assign(Object.assign({}, btnOutlined()), { inlineIcon: {\r\n position: 'right',\r\n icon: '$icon-chevron-boven',\r\n } });\r\n}\r\nfunction btnDown() {\r\n return Object.assign(Object.assign({}, btnOutlined()), { inlineIcon: {\r\n position: 'right',\r\n icon: '$icon-chevron-beneden',\r\n } });\r\n}\r\nfunction btnInfo() {\r\n return {\r\n color: 'info',\r\n hoverClass: 'info-hover',\r\n };\r\n}\r\nfunction btnText() {\r\n return {\r\n color: 'primary',\r\n text: true,\r\n hoverClass: 'text-hover',\r\n };\r\n}\r\nfunction btnHelpMobile(color) {\r\n return {\r\n style: { color },\r\n width: '100%',\r\n };\r\n}\r\nfunction btnPrint() {\r\n return Object.assign({}, btnOutlined());\r\n}\r\nfunction btnRestore() {\r\n return Object.assign(Object.assign({}, btnOutlined()), { inlineIcon: {\r\n icon: '$icon-ongedaan-maken',\r\n } });\r\n}\r\nfunction btnDelete() {\r\n return Object.assign(Object.assign({}, btnOutlined()), { inlineIcon: {\r\n icon: '$icon-verwijderen',\r\n } });\r\n}\r\nfunction removeNonInheritableOptions(data) {\r\n const options = {};\r\n for (const key in data) {\r\n if (key !== 'hoverClass') {\r\n options[key] = data[key];\r\n }\r\n }\r\n return options;\r\n}\r\nfunction getGetBtnPresets() {\r\n const vm = getCurrentInstance();\r\n const colorHexes = vm.$vuetify.theme.defaults.light;\r\n return () => {\r\n return {\r\n outlined: btnOutlined(),\r\n filled: btnFilled(),\r\n next: btnNext(),\r\n previous: btnPrevious(),\r\n up: btnUp(),\r\n down: btnDown(),\r\n info: btnInfo(),\r\n text: btnText(),\r\n helpMobile: btnHelpMobile(colorHexes.primary),\r\n print: btnPrint(),\r\n restore: btnRestore(),\r\n delete: btnDelete(),\r\n };\r\n };\r\n}\r\nfunction usePresets () {\r\n const getBtnPresets = getGetBtnPresets();\r\n return {\r\n getPreset: ({ name, small = false, hasContent = true, withIcon = true, extraSmall = false, }) => {\r\n const btnPresets = getBtnPresets();\r\n if (!btnPresets[name]) {\r\n name = 'outlined';\r\n }\r\n const preset = Object.assign({}, btnPresets[name]); // create new preset Object instance\r\n preset.large = !small && !extraSmall; // according to our own design rules, a normal sized buttons is the vuetify equavilant of a large button\r\n preset.small = extraSmall; // according to our own design rules, an extra-small sized buttons is the vuetify equavilant of a small button\r\n if (preset.inlineIcon && !preset.inlineIcon.position) {\r\n preset.inlineIcon.position = 'left';\r\n }\r\n if (!withIcon) {\r\n delete preset.inlineIcon;\r\n }\r\n if (!hasContent && preset.inlineIcon) {\r\n preset.inlineIcon.position = undefined;\r\n }\r\n return preset;\r\n },\r\n removeNonInheritableOptions,\r\n };\r\n}\n\nvar script$1d = defineComponent({\r\n name: 'PButton',\r\n components: { VIcon, VBtn },\r\n props: {\r\n preset: { type: String, default: 'outlined' },\r\n focus: { type: [String, Array], default: 'dark' },\r\n small: { type: Boolean, default: false },\r\n extraSmall: { type: Boolean, default: false },\r\n to: { type: [String, Object], default: undefined },\r\n href: { type: String, default: undefined },\r\n disabled: { type: Boolean, default: false },\r\n loading: { type: Boolean, default: false },\r\n exact: { type: Boolean, default: null },\r\n },\r\n setup(props, { slots }) {\r\n const { getPreset, removeNonInheritableOptions } = usePresets();\r\n const options = computed(() => {\r\n return getPreset({\r\n name: props.preset,\r\n small: props.small,\r\n withIcon: false,\r\n extraSmall: props.extraSmall,\r\n });\r\n });\r\n const customFocus = useCustomFocus(props.focus, options.value.style);\r\n const hasCustomFocus = computed(() => Array.isArray(props.focus));\r\n const hasSlot = useHasSlot(slots);\r\n const inlineIcon = computed(() => {\r\n const preset = getPreset({ name: props.preset, hasContent: hasSlot('default') });\r\n return preset.inlineIcon;\r\n });\r\n const { allowed, linkTo, linkHref } = useRouteResolver(props);\r\n return { hasSlot, options, inlineIcon, removeNonInheritableOptions, linkTo, linkHref, allowed, hasCustomFocus, customFocus };\r\n },\r\n});\n\n/* script */\nconst __vue_script__$1d = script$1d;\n/* template */\nvar __vue_render__$1f = function () {\n var _obj;\n var _vm = this;\n var _h = _vm.$createElement;\n var _c = _vm._self._c || _h;\n return _vm.allowed\n ? _c(\n \"v-btn\",\n _vm._b(\n {\n class: [\n \"p-button\",\n !_vm.hasSlot(\"default\") ? \"p-button--no-text px-2\" : \"px-4\",\n _vm.options.hoverClass\n ? \"custom-hover \" + _vm.options.hoverClass\n : \"\",\n \"p-focus-\" + (_vm.hasCustomFocus ? \"custom\" : _vm.focus),\n ],\n style: _vm.customFocus,\n attrs: {\n disabled: _vm.disabled,\n loading: _vm.loading,\n to: _vm.linkTo,\n href: _vm.linkHref,\n exact: _vm.exact,\n },\n on: {\n click: function ($event) {\n return _vm.$emit(\"click\", $event)\n },\n },\n },\n \"v-btn\",\n Object.assign({}, _vm.removeNonInheritableOptions(_vm.options)),\n false\n ),\n [\n _vm.inlineIcon && _vm.inlineIcon.position === \"right\"\n ? _vm._t(\"default\")\n : _vm._e(),\n _vm._v(\" \"),\n _vm.inlineIcon\n ? _c(\n \"v-icon\",\n _vm._b(\n {\n class: [\n \"p-button__icon\",\n { \"mr-4\": _vm.inlineIcon.position === \"left\" },\n { \"ml-4\": _vm.inlineIcon.position === \"right\" },\n ],\n },\n \"v-icon\",\n Object.assign(\n {},\n { large: _vm.options.large },\n _vm.inlineIcon.position\n ? ((_obj = {}),\n (_obj[_vm.inlineIcon.position] = true),\n _obj)\n : {}\n ),\n false\n ),\n [_vm._v(\"\\n \" + _vm._s(_vm.inlineIcon.icon) + \"\\n \")]\n )\n : _vm._e(),\n _vm._v(\" \"),\n !_vm.inlineIcon || _vm.inlineIcon.position === \"left\"\n ? _vm._t(\"default\")\n : _vm._e(),\n ],\n 2\n )\n : _vm._e()\n};\nvar __vue_staticRenderFns__$1f = [];\n__vue_render__$1f._withStripped = true;\n\n /* style */\n const __vue_inject_styles__$1f = undefined;\n /* scoped */\n const __vue_scope_id__$1f = \"data-v-dbd4e63e\";\n /* module identifier */\n const __vue_module_identifier__$1f = undefined;\n /* functional template */\n const __vue_is_functional_template__$1f = false;\n /* style inject */\n \n /* style inject SSR */\n \n /* style inject shadow dom */\n \n\n \n const __vue_component__$1f = /*#__PURE__*/normalizeComponent(\n { render: __vue_render__$1f, staticRenderFns: __vue_staticRenderFns__$1f },\n __vue_inject_styles__$1f,\n __vue_script__$1d,\n __vue_scope_id__$1f,\n __vue_is_functional_template__$1f,\n __vue_module_identifier__$1f,\n false,\n undefined,\n undefined,\n undefined\n );\n\nvar script$1c = defineComponent({\r\n name: 'PHelpOverlay',\r\n components: {\r\n VSlideXReverseTransition,\r\n VSheet,\r\n VDivider,\r\n PButton: __vue_component__$1f,\r\n VCardText,\r\n VCard,\r\n VIcon,\r\n VBtn,\r\n },\r\n i18n: i18n$9,\r\n props: {\r\n value: { type: Boolean, default: false, required: true },\r\n items: { type: Array, default: () => [] },\r\n },\r\n setup(props, { emit }) {\r\n const expand = ref(false);\r\n const hasItems = computed(() => !!props.items.length);\r\n const toggleExpand = () => {\r\n expand.value = !expand.value;\r\n emit('input', expand.value);\r\n };\r\n watchEffect(() => {\r\n expand.value = props.value;\r\n });\r\n return { expand, toggleExpand, hasItems };\r\n },\r\n});\n\n/* script */\nconst __vue_script__$1c = script$1c;\n/* template */\nvar __vue_render__$1e = function () {\n var _vm = this;\n var _h = _vm.$createElement;\n var _c = _vm._self._c || _h;\n return _c(\n \"v-slide-x-reverse-transition\",\n { attrs: { origin: \"center right\" } },\n [\n _vm.value\n ? _c(\n \"v-sheet\",\n {\n staticClass: \"p-help-overlay\",\n attrs: { tile: \"\", height: \"100%\", width: \"100%\", color: \"info\" },\n },\n [\n _c(\"div\", { staticClass: \"p-help-overlay-container my-4\" }, [\n _c(\n \"div\",\n { staticClass: \"topbar mb-8\" },\n [\n _c(\n \"v-btn\",\n {\n attrs: { icon: \"\" },\n on: {\n click: function ($event) {\n return _vm.toggleExpand()\n },\n },\n },\n [\n _c(\"v-icon\", { attrs: { color: \"white\", large: \"\" } }, [\n _vm._v(\n \"\\n $icon-chevron-links\\n \"\n ),\n ]),\n ],\n 1\n ),\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"content mx-4\" },\n [\n _c(\n \"v-card\",\n { attrs: { elevation: \"0\", color: \"info\" } },\n [\n _c(\n \"v-card-text\",\n { staticClass: \"white--text px-0\" },\n [\n _c(\"h2\", [_vm._v(_vm._s(_vm.$t(\"helpNeeded\")))]),\n _vm._v(\" \"),\n _c(\"v-divider\", { staticClass: \"mt-2 mb-6\" }),\n _vm._v(\" \"),\n _vm.hasItems\n ? _vm._l(_vm.items, function (item, index) {\n return _c(\n \"div\",\n {\n key: \"p_help_panel_\" + index,\n staticClass: \"mb-4 d-flex align-start\",\n },\n [\n _c(\n \"a\",\n {\n staticClass: \"white--text\",\n attrs: { href: item.url },\n on: {\n click: function ($event) {\n item.anchorPoint &&\n _vm.$emit(\n \"scrollAnimate\",\n $event\n );\n },\n },\n },\n [_vm._v(_vm._s(item.label))]\n ),\n ]\n )\n })\n : _vm._e(),\n ],\n 2\n ),\n ],\n 1\n ),\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"footer mb-8 mx-4\" },\n [\n _c(\n \"p-button\",\n {\n attrs: {\n preset: \"helpMobile\",\n focus: [\n \"rgb(0, 93, 85)\",\n \"var(--v-focus-light-lighten3)\",\n ],\n },\n on: {\n click: function ($event) {\n return _vm.toggleExpand()\n },\n },\n },\n [\n _vm._v(\n \"\\n \" +\n _vm._s(_vm.$t(\"helpClose\")) +\n \"\\n \"\n ),\n ]\n ),\n ],\n 1\n ),\n ]),\n ]\n )\n : _vm._e(),\n ],\n 1\n )\n};\nvar __vue_staticRenderFns__$1e = [];\n__vue_render__$1e._withStripped = true;\n\n /* style */\n const __vue_inject_styles__$1e = undefined;\n /* scoped */\n const __vue_scope_id__$1e = \"data-v-05dd5e3a\";\n /* module identifier */\n const __vue_module_identifier__$1e = undefined;\n /* functional template */\n const __vue_is_functional_template__$1e = false;\n /* style inject */\n \n /* style inject SSR */\n \n /* style inject shadow dom */\n \n\n \n const __vue_component__$1e = /*#__PURE__*/normalizeComponent(\n { render: __vue_render__$1e, staticRenderFns: __vue_staticRenderFns__$1e },\n __vue_inject_styles__$1e,\n __vue_script__$1c,\n __vue_scope_id__$1e,\n __vue_is_functional_template__$1e,\n __vue_module_identifier__$1e,\n false,\n undefined,\n undefined,\n undefined\n );\n\nvar script$1b = defineComponent({\r\n name: 'PHelp',\r\n i18n: i18n$9,\r\n components: {\r\n PHelpPanel: __vue_component__$1g,\r\n PHelpOverlay: __vue_component__$1e,\r\n PButton: __vue_component__$1f,\r\n },\r\n props: {\r\n portalName: { type: String, default: 'helpTrigger' },\r\n items: { type: Array, default: () => [] },\r\n },\r\n setup(_, { root }) {\r\n const expand = ref(false);\r\n const { isMobileOrTabletView } = useBreakpoints();\r\n const scrollToFooter = (e) => {\r\n if (!e.target) {\r\n return;\r\n }\r\n expand.value = false;\r\n // @ts-ignore\r\n root.$smoothScroll({\r\n scrollTo: document.querySelector(e.target.getAttribute('href')),\r\n offset: isMobileOrTabletView ? -100 : 0,\r\n updateHistory: false,\r\n hash: e.target.getAttribute('href'),\r\n });\r\n };\r\n return {\r\n expand,\r\n isMobileOrTabletView,\r\n scrollToFooter,\r\n };\r\n },\r\n});\n\n/* script */\nconst __vue_script__$1b = script$1b;\n\n/* template */\nvar __vue_render__$1d = function () {\n var _vm = this;\n var _h = _vm.$createElement;\n var _c = _vm._self._c || _h;\n return _c(\n \"div\",\n [\n _vm.isMobileOrTabletView\n ? _c(\"portal\", { attrs: { to: _vm.portalName } }, [\n _c(\n \"div\",\n { staticClass: \"my-1\" },\n [\n _c(\n \"p-button\",\n {\n attrs: { preset: \"info\", \"data-ui\": \"helpButtonMobile\" },\n on: {\n click: function ($event) {\n _vm.expand = true;\n },\n },\n },\n [\n _vm._v(\n \"\\n \" + _vm._s(_vm.$t(\"helpNeeded\")) + \"\\n \"\n ),\n ]\n ),\n ],\n 1\n ),\n ])\n : _vm._e(),\n _vm._v(\" \"),\n _c(_vm.isMobileOrTabletView ? \"p-help-overlay\" : \"p-help-panel\", {\n tag: \"component\",\n attrs: { items: _vm.items },\n on: { scrollAnimate: _vm.scrollToFooter },\n model: {\n value: _vm.expand,\n callback: function ($$v) {\n _vm.expand = $$v;\n },\n expression: \"expand\",\n },\n }),\n ],\n 1\n )\n};\nvar __vue_staticRenderFns__$1d = [];\n__vue_render__$1d._withStripped = true;\n\n /* style */\n const __vue_inject_styles__$1d = undefined;\n /* scoped */\n const __vue_scope_id__$1d = undefined;\n /* module identifier */\n const __vue_module_identifier__$1d = undefined;\n /* functional template */\n const __vue_is_functional_template__$1d = false;\n /* style inject */\n \n /* style inject SSR */\n \n /* style inject shadow dom */\n \n\n \n const __vue_component__$1d = /*#__PURE__*/normalizeComponent(\n { render: __vue_render__$1d, staticRenderFns: __vue_staticRenderFns__$1d },\n __vue_inject_styles__$1d,\n __vue_script__$1b,\n __vue_scope_id__$1d,\n __vue_is_functional_template__$1d,\n __vue_module_identifier__$1d,\n false,\n undefined,\n undefined,\n undefined\n );\n\nvar script$1a = defineComponent({\r\n name: 'PageLayoutStandard',\r\n components: { PageLayoutBase: __vue_component__$1h, PHelp: __vue_component__$1d, VCol, VRow },\r\n props: {\r\n helpPanelItems: { type: Array, default: null },\r\n a11yFocusableOptions: { type: Object, default: null },\r\n pageTitle: { type: String, default: null },\r\n },\r\n setup(_, { slots }) {\r\n return {\r\n hasSlot: useHasSlot(slots),\r\n };\r\n },\r\n});\n\n/* script */\nconst __vue_script__$1a = script$1a;\n\n/* template */\nvar __vue_render__$1c = function () {\n var _vm = this;\n var _h = _vm.$createElement;\n var _c = _vm._self._c || _h;\n return _c(\n \"page-layout-base\",\n {\n attrs: {\n \"a11y-focusable-options\": _vm.a11yFocusableOptions,\n divider: !_vm.hasSlot(\"headerInlineContent\"),\n \"page-title\": _vm.pageTitle,\n },\n scopedSlots: _vm._u(\n [\n _vm.hasSlot(\"title\")\n ? {\n key: \"title\",\n fn: function () {\n return [_vm._t(\"title\")]\n },\n proxy: true,\n }\n : null,\n {\n key: \"headerInlineContent\",\n fn: function () {\n return [_vm._t(\"headerInlineContent\")]\n },\n proxy: true,\n },\n ],\n null,\n true\n ),\n },\n [\n _vm._v(\" \"),\n _vm._v(\" \"),\n _c(\n \"v-row\",\n [\n _c(\n \"v-col\",\n { staticClass: \"mt-md-3\", attrs: { md: \"9\", cols: \"12\" } },\n [_vm._t(\"default\")],\n 2\n ),\n _vm._v(\" \"),\n _c(\n \"v-col\",\n { attrs: { md: \"3\", cols: \"12\" } },\n [\n _vm.helpPanelItems\n ? _c(\"p-help\", {\n staticClass: \"mb-5 ml-md-2\",\n attrs: { items: _vm.helpPanelItems },\n })\n : _vm._e(),\n _vm._v(\" \"),\n _vm._t(\"colRight\"),\n ],\n 2\n ),\n ],\n 1\n ),\n ],\n 1\n )\n};\nvar __vue_staticRenderFns__$1c = [];\n__vue_render__$1c._withStripped = true;\n\n /* style */\n const __vue_inject_styles__$1c = undefined;\n /* scoped */\n const __vue_scope_id__$1c = undefined;\n /* module identifier */\n const __vue_module_identifier__$1c = undefined;\n /* functional template */\n const __vue_is_functional_template__$1c = false;\n /* style inject */\n \n /* style inject SSR */\n \n /* style inject shadow dom */\n \n\n \n const __vue_component__$1c = /*#__PURE__*/normalizeComponent(\n { render: __vue_render__$1c, staticRenderFns: __vue_staticRenderFns__$1c },\n __vue_inject_styles__$1c,\n __vue_script__$1a,\n __vue_scope_id__$1c,\n __vue_is_functional_template__$1c,\n __vue_module_identifier__$1c,\n false,\n undefined,\n undefined,\n undefined\n );\n\nconst alertDefaultLiveRegion = {\r\n success: 'polite',\r\n info: 'polite',\r\n warning: 'assertive',\r\n error: 'assertive',\r\n};\r\nfunction setWatcher(props, displayAlert) {\r\n watch(() => props.showAlert, () => {\r\n if (props.showAlert === undefined) {\r\n if (props.ariaLive === 'off') {\r\n displayAlert.value = true;\r\n }\r\n else {\r\n setTimeout(() => {\r\n displayAlert.value = true;\r\n }, 500);\r\n }\r\n }\r\n else {\r\n displayAlert.value = props.showAlert;\r\n }\r\n });\r\n}\r\nvar script$19 = defineComponent({\r\n name: 'PAlert',\r\n components: { VAlert, PHeading: __vue_component__$1i },\r\n props: {\r\n type: { required: true, type: String },\r\n dismissible: { type: Boolean, default: false },\r\n value: { type: Boolean, default: true },\r\n title: { type: String, default: null },\r\n headingLevel: { type: [String, Number], default: null },\r\n truncateTitle: { type: Boolean, default: false },\r\n ariaLive: { type: String, validator: v => ['off', 'polite', 'assertive'].includes(v), default: null },\r\n showAlert: { type: Boolean, default: undefined },\r\n },\r\n setup(props) {\r\n const displayAlert = ref(false);\r\n const getIcon = () => {\r\n const icons = {\r\n info: '$icon-info-i',\r\n success: '$icon-cirkel-ok',\r\n warning: '$icon-waarschuwing',\r\n error: '$icon-cirkel-fout',\r\n };\r\n return icons[props.type];\r\n };\r\n setWatcher(props, displayAlert);\r\n return {\r\n getIcon,\r\n displayAlert,\r\n liveRegionLevel: computed(() => props.ariaLive || alertDefaultLiveRegion[props.type]),\r\n titleElement: computed(() => props.headingLevel ? __vue_component__$1i : 'span'),\r\n };\r\n },\r\n});\n\n/* script */\nconst __vue_script__$19 = script$19;\n/* template */\nvar __vue_render__$1b = function () {\n var _vm = this;\n var _h = _vm.$createElement;\n var _c = _vm._self._c || _h;\n return _c(\n \"div\",\n { attrs: { \"aria-live\": _vm.liveRegionLevel, \"aria-atomic\": \"true\" } },\n [\n _vm.displayAlert\n ? _c(\n \"v-alert\",\n _vm._b(\n {\n staticClass: \"p-alert\",\n attrs: {\n outlined: \"\",\n text: \"\",\n type: _vm.type,\n dismissible: _vm.dismissible,\n value: _vm.value,\n icon: _vm.getIcon(),\n role: null,\n },\n on: {\n input: function ($event) {\n return _vm.$emit(\"input\", arguments[0])\n },\n },\n },\n \"v-alert\",\n _vm.$attrs,\n false\n ),\n [\n _c(\n \"div\",\n { staticClass: \"p-alert__content\" },\n [\n _vm.title\n ? _c(\n _vm.titleElement,\n {\n tag: \"component\",\n class: [\n { \"text-truncate\": _vm.truncateTitle },\n \"p-alert__content__heading\",\n ],\n attrs: { level: _vm.headingLevel },\n },\n [_vm._v(\"\\n \" + _vm._s(_vm.title) + \"\\n \")]\n )\n : _vm._e(),\n _vm._v(\" \"),\n _vm._t(\"default\"),\n ],\n 2\n ),\n ]\n )\n : _vm._e(),\n ],\n 1\n )\n};\nvar __vue_staticRenderFns__$1b = [];\n__vue_render__$1b._withStripped = true;\n\n /* style */\n const __vue_inject_styles__$1b = undefined;\n /* scoped */\n const __vue_scope_id__$1b = \"data-v-6c9766e2\";\n /* module identifier */\n const __vue_module_identifier__$1b = undefined;\n /* functional template */\n const __vue_is_functional_template__$1b = false;\n /* style inject */\n \n /* style inject SSR */\n \n /* style inject shadow dom */\n \n\n \n const __vue_component__$1b = /*#__PURE__*/normalizeComponent(\n { render: __vue_render__$1b, staticRenderFns: __vue_staticRenderFns__$1b },\n __vue_inject_styles__$1b,\n __vue_script__$19,\n __vue_scope_id__$1b,\n __vue_is_functional_template__$1b,\n __vue_module_identifier__$1b,\n false,\n undefined,\n undefined,\n undefined\n );\n\nvar script$18 = defineComponent({\r\n name: 'PCard',\r\n components: { VCardText, VCardActions, VCardTitle, VCard, VExpandTransition, VIcon, PHeading: __vue_component__$1i },\r\n props: {\r\n title: { type: String, required: true },\r\n headingLevel: { type: [String, Number], required: true },\r\n isNamedSection: { type: Boolean, default: false },\r\n dark: { type: Boolean, default: false },\r\n expandable: { type: Boolean, default: false },\r\n expanded: { type: Boolean, default: false },\r\n },\r\n setup(props, { slots }) {\r\n const cardId = useIdGenerator('p-card').next();\r\n const headingId = useIdGenerator('p-card-heading').next();\r\n const show = ref(props.expanded);\r\n function expandToggle() {\r\n show.value = !show.value;\r\n }\r\n return {\r\n hasSlot: useHasSlot(slots),\r\n show,\r\n cardId,\r\n headingId,\r\n expandToggle,\r\n titleWrapperElement: computed(() => props.expandable ? __vue_component__$1i : 'div'),\r\n titleElement: computed(() => props.expandable ? 'span' : __vue_component__$1i),\r\n };\r\n },\r\n});\n\n/* script */\nconst __vue_script__$18 = script$18;\n/* template */\nvar __vue_render__$1a = function () {\n var _vm = this;\n var _h = _vm.$createElement;\n var _c = _vm._self._c || _h;\n return _c(\n \"v-card\",\n {\n class: [\"p-card\", { \"p-card--dark\": _vm.dark }],\n attrs: { outlined: \"\" },\n },\n [\n _c(\n \"section\",\n {\n attrs: {\n \"aria-labelledby\": _vm.isNamedSection ? _vm.headingId : null,\n },\n },\n [\n _vm.title || _vm.hasSlot(\"info\")\n ? _c(\n _vm.titleWrapperElement,\n {\n tag: \"component\",\n staticClass: \"p-card__heading\",\n attrs: {\n level: _vm.expandable ? _vm.headingLevel : null,\n id:\n _vm.expandable && _vm.isNamedSection\n ? _vm.headingId\n : null,\n },\n },\n [\n _c(\n \"v-card-title\",\n {\n class: [\n \"p-card__heading-bar\",\n { \"p-card__heading-bar--expandable\": _vm.expandable },\n ],\n attrs: {\n tabindex: _vm.expandable ? 0 : null,\n \"aria-expanded\": _vm.expandable\n ? _vm.show.toString()\n : null,\n \"aria-controls\": _vm.expandable ? _vm.cardId : null,\n role: _vm.expandable ? \"button\" : null,\n },\n on: {\n click: _vm.expandToggle,\n keydown: function ($event) {\n if (\n !$event.type.indexOf(\"key\") &&\n _vm._k(\n $event.keyCode,\n \"enter\",\n 13,\n $event.key,\n \"Enter\"\n )\n ) {\n return null\n }\n return _vm.expandToggle.apply(null, arguments)\n },\n keyup: function ($event) {\n if (\n !$event.type.indexOf(\"key\") &&\n _vm._k($event.keyCode, \"space\", 32, $event.key, [\n \" \",\n \"Spacebar\",\n ])\n ) {\n return null\n }\n return _vm.expandToggle.apply(null, arguments)\n },\n },\n },\n [\n _c(\n _vm.titleElement,\n {\n tag: \"component\",\n staticClass: \"p-card__heading-bar-title flex-grow-1\",\n attrs: {\n level: _vm.expandable ? null : _vm.headingLevel,\n id:\n _vm.expandable || !_vm.isNamedSection\n ? null\n : _vm.headingId,\n },\n },\n [\n _vm.title\n ? _c(\n \"span\",\n {\n staticClass: \"p-card__heading-bar-title-text\",\n },\n [_vm._v(\" \" + _vm._s(_vm.title) + \" \")]\n )\n : _vm._e(),\n _vm._v(\" \"),\n !_vm.expandable ? _vm._t(\"info\") : _vm._e(),\n ],\n 2\n ),\n _vm._v(\" \"),\n _vm.expandable\n ? _c(\n \"v-icon\",\n { staticClass: \"p-card__heading-bar-icon\" },\n [\n _vm._v(\n \"\\n \" +\n _vm._s(\n _vm.show\n ? \"$icon-chevron-boven\"\n : \"$icon-chevron-beneden\"\n ) +\n \"\\n \"\n ),\n ]\n )\n : _vm._e(),\n ],\n 1\n ),\n ],\n 1\n )\n : _vm._e(),\n _vm._v(\" \"),\n _c(\"v-expand-transition\", [\n _c(\n \"div\",\n {\n directives: [\n {\n name: \"show\",\n rawName: \"v-show\",\n value: _vm.show || !_vm.expandable,\n expression: \"show || !expandable\",\n },\n ],\n attrs: { id: _vm.cardId },\n },\n [\n _c(\"v-card-text\", [_vm._t(\"default\")], 2),\n _vm._v(\" \"),\n _vm.hasSlot(\"actions\")\n ? _c(\"v-card-actions\", [_vm._t(\"actions\")], 2)\n : _vm._e(),\n ],\n 1\n ),\n ]),\n ],\n 1\n ),\n ]\n )\n};\nvar __vue_staticRenderFns__$1a = [];\n__vue_render__$1a._withStripped = true;\n\n /* style */\n const __vue_inject_styles__$1a = undefined;\n /* scoped */\n const __vue_scope_id__$1a = \"data-v-9f83612a\";\n /* module identifier */\n const __vue_module_identifier__$1a = undefined;\n /* functional template */\n const __vue_is_functional_template__$1a = false;\n /* style inject */\n \n /* style inject SSR */\n \n /* style inject shadow dom */\n \n\n \n const __vue_component__$1a = /*#__PURE__*/normalizeComponent(\n { render: __vue_render__$1a, staticRenderFns: __vue_staticRenderFns__$1a },\n __vue_inject_styles__$1a,\n __vue_script__$18,\n __vue_scope_id__$1a,\n __vue_is_functional_template__$1a,\n __vue_module_identifier__$1a,\n false,\n undefined,\n undefined,\n undefined\n );\n\nvar script$17 = defineComponent({\r\n name: 'PHelpMobileTrigger',\r\n props: {\r\n triggerName: { type: String, default: 'helpTrigger' },\r\n },\r\n});\n\n/* script */\nconst __vue_script__$17 = script$17;\n\n/* template */\nvar __vue_render__$19 = function () {\n var _vm = this;\n var _h = _vm.$createElement;\n var _c = _vm._self._c || _h;\n return _c(\"portal-target\", { attrs: { name: _vm.triggerName } })\n};\nvar __vue_staticRenderFns__$19 = [];\n__vue_render__$19._withStripped = true;\n\n /* style */\n const __vue_inject_styles__$19 = undefined;\n /* scoped */\n const __vue_scope_id__$19 = undefined;\n /* module identifier */\n const __vue_module_identifier__$19 = undefined;\n /* functional template */\n const __vue_is_functional_template__$19 = false;\n /* style inject */\n \n /* style inject SSR */\n \n /* style inject shadow dom */\n \n\n \n const __vue_component__$19 = /*#__PURE__*/normalizeComponent(\n { render: __vue_render__$19, staticRenderFns: __vue_staticRenderFns__$19 },\n __vue_inject_styles__$19,\n __vue_script__$17,\n __vue_scope_id__$19,\n __vue_is_functional_template__$19,\n __vue_module_identifier__$19,\n false,\n undefined,\n undefined,\n undefined\n );\n\nvar script$16 = defineComponent({\r\n name: 'PValueGrid',\r\n setup(props, { slots }) {\r\n const hideSlot = ref(false);\r\n const checkForIllegalElements = () => {\r\n const valueRows = slots.default ? slots.default() : [];\r\n if (valueRows.length) {\r\n valueRows.forEach(el => {\r\n const componentTag = el.componentOptions && el.componentOptions.tag;\r\n if ((el.tag && !el.componentOptions) || (el.componentOptions && componentTag !== 'p-value-row')) {\r\n // eslint-disable-next-line\r\n console.warn(`PValueGrid: Component/element \"${el.tag || componentTag}\" is not a valid component, please provide the PValueRow component`);\r\n hideSlot.value = true;\r\n }\r\n });\r\n return;\r\n }\r\n // eslint-disable-next-line\r\n console.warn(`PValueGrid: PValueRow component has not been provided in the slot`);\r\n };\r\n onMounted(checkForIllegalElements);\r\n return { checkForIllegalElements, hideSlot };\r\n },\r\n});\n\n/* script */\nconst __vue_script__$16 = script$16;\n/* template */\nvar __vue_render__$18 = function () {\n var _vm = this;\n var _h = _vm.$createElement;\n var _c = _vm._self._c || _h;\n return _c(\n \"dl\",\n { ref: \"gridContainer\", staticClass: \"p-value-grid d-flex flex-column\" },\n [!_vm.hideSlot ? _vm._t(\"default\") : _vm._e()],\n 2\n )\n};\nvar __vue_staticRenderFns__$18 = [];\n__vue_render__$18._withStripped = true;\n\n /* style */\n const __vue_inject_styles__$18 = undefined;\n /* scoped */\n const __vue_scope_id__$18 = \"data-v-c49ed5d8\";\n /* module identifier */\n const __vue_module_identifier__$18 = undefined;\n /* functional template */\n const __vue_is_functional_template__$18 = false;\n /* style inject */\n \n /* style inject SSR */\n \n /* style inject shadow dom */\n \n\n \n const __vue_component__$18 = /*#__PURE__*/normalizeComponent(\n { render: __vue_render__$18, staticRenderFns: __vue_staticRenderFns__$18 },\n __vue_inject_styles__$18,\n __vue_script__$16,\n __vue_scope_id__$18,\n __vue_is_functional_template__$18,\n __vue_module_identifier__$18,\n false,\n undefined,\n undefined,\n undefined\n );\n\nvar i18n$8 = {\r\n messages: {\r\n nl: {\r\n close: 'Sluiten',\r\n ariaLabel: 'Extra informatie weergeven',\r\n ariaLabelWithLinkedLabelText: 'Extra informatie weergeven voor {label}',\r\n },\r\n },\r\n};\n\nvar script$15 = defineComponent({\r\n name: 'PDialog',\r\n components: {\r\n VDialog,\r\n VCard,\r\n VCardActions,\r\n VCardText,\r\n VCardTitle,\r\n VDivider,\r\n PButton: __vue_component__$1f,\r\n },\r\n props: {\r\n value: { type: Boolean, default: undefined },\r\n title: { type: String, default: '' },\r\n dataUi: { type: String, default: null },\r\n wide: { type: Boolean, default: false },\r\n small: { type: Boolean, default: false },\r\n persistent: { type: Boolean, default: true },\r\n },\r\n setup(props, { emit, slots }) {\r\n const visibleModel = ref(!!props.value);\r\n watch(() => props.value, (v) => {\r\n visibleModel.value = v;\r\n });\r\n const hasSlot = useHasSlot(slots);\r\n watch(() => visibleModel.value, (v) => {\r\n if (typeof v !== 'undefined') {\r\n emit('input', v);\r\n }\r\n });\r\n return {\r\n visibleModel,\r\n hasSlot,\r\n modalWidth: getModalWidth(props),\r\n };\r\n },\r\n});\r\nfunction getModalWidth(props) {\r\n const sizes = { small: 390, default: 500, wide: 748 };\r\n return computed(() => {\r\n if (props.small) {\r\n return sizes.small;\r\n }\r\n if (props.wide) {\r\n return sizes.wide;\r\n }\r\n return sizes.default;\r\n });\r\n}\n\n/* script */\nconst __vue_script__$15 = script$15;\n/* template */\nvar __vue_render__$17 = function () {\n var _vm = this;\n var _h = _vm.$createElement;\n var _c = _vm._self._c || _h;\n return _c(\n \"v-dialog\",\n {\n attrs: {\n width: _vm.modalWidth,\n persistent: _vm.persistent,\n scrollable: \"\",\n },\n scopedSlots: _vm._u(\n [\n _vm.hasSlot(\"activator\")\n ? {\n key: \"activator\",\n fn: function (ref) {\n var on = ref.on;\n var attrs = ref.attrs;\n return [_vm._t(\"activator\", null, { on: on, attrs: attrs })]\n },\n }\n : null,\n ],\n null,\n true\n ),\n model: {\n value: _vm.visibleModel,\n callback: function ($$v) {\n _vm.visibleModel = $$v;\n },\n expression: \"visibleModel\",\n },\n },\n [\n _vm._v(\" \"),\n _c(\n \"v-card\",\n { attrs: { \"data-ui\": _vm.dataUi } },\n [\n _vm.title\n ? _c(\"v-card-title\", { staticClass: \"p-dialog__title\" }, [\n _c(\"h1\", [_vm._v(_vm._s(_vm.title))]),\n ])\n : _vm._e(),\n _vm._v(\" \"),\n _c(\"v-divider\"),\n _vm._v(\" \"),\n _c(\n \"v-card-text\",\n { staticClass: \"p-dialog__text\" },\n [_vm._t(\"default\")],\n 2\n ),\n _vm._v(\" \"),\n _c(\"v-divider\"),\n _vm._v(\" \"),\n _c(\n \"v-card-actions\",\n { staticClass: \"p-dialog__actions\" },\n [\n _vm.hasSlot(\"actions\")\n ? [_vm._t(\"actions\")]\n : _c(\n \"p-button\",\n {\n staticClass: \"p-dialog__close-button ml-auto\",\n attrs: { \"data-ui\": \"modal-close\", preset: \"filled\" },\n on: {\n click: function ($event) {\n _vm.visibleModel = !_vm.visibleModel;\n },\n },\n },\n [\n _vm._v(\n \"\\n \" + _vm._s(_vm.$t(\"close\")) + \"\\n \"\n ),\n ]\n ),\n ],\n 2\n ),\n ],\n 1\n ),\n ],\n 1\n )\n};\nvar __vue_staticRenderFns__$17 = [];\n__vue_render__$17._withStripped = true;\n\n /* style */\n const __vue_inject_styles__$17 = undefined;\n /* scoped */\n const __vue_scope_id__$17 = \"data-v-9d5636cc\";\n /* module identifier */\n const __vue_module_identifier__$17 = undefined;\n /* functional template */\n const __vue_is_functional_template__$17 = false;\n /* style inject */\n \n /* style inject SSR */\n \n /* style inject shadow dom */\n \n\n \n const __vue_component__$17 = /*#__PURE__*/normalizeComponent(\n { render: __vue_render__$17, staticRenderFns: __vue_staticRenderFns__$17 },\n __vue_inject_styles__$17,\n __vue_script__$15,\n __vue_scope_id__$17,\n __vue_is_functional_template__$17,\n __vue_module_identifier__$17,\n false,\n undefined,\n undefined,\n undefined\n );\n\nvar script$14 = defineComponent({\r\n name: 'PInfo',\r\n components: {\r\n PDialog: __vue_component__$17,\r\n VIcon,\r\n VHover,\r\n },\r\n i18n: i18n$8,\r\n props: {\r\n title: { type: String, default: '' },\r\n message: { type: String, default: '' },\r\n wide: { type: Boolean, default: false },\r\n linkedLabelText: { type: String, default: '' },\r\n focus: { type: [String, Array], default: 'dark' },\r\n invert: { type: Boolean, default: false },\r\n },\r\n setup(props, { slots }) {\r\n const hasSlot = useHasSlot(slots);\r\n const customFocus = useCustomFocus(props.focus);\r\n const internalId = useIdGenerator('p-info').next();\r\n return {\r\n hasSlot,\r\n customFocus,\r\n internalId,\r\n };\r\n },\r\n});\n\n/* script */\nconst __vue_script__$14 = script$14;\n/* template */\nvar __vue_render__$16 = function () {\n var _vm = this;\n var _h = _vm.$createElement;\n var _c = _vm._self._c || _h;\n return _c(\n \"div\",\n {\n class: [\"p-info\", \"p-focus-\" + (_vm.customFocus ? \"custom\" : _vm.focus)],\n style: _vm.customFocus,\n },\n [\n _c(\n \"p-dialog\",\n {\n staticClass: \"p-info__dialog\",\n attrs: {\n \"data-ui\": \"info-modal\",\n title: _vm.title,\n persistent: false,\n wide: _vm.wide,\n small: !_vm.wide,\n },\n on: {\n input: function ($event) {\n return _vm.$emit(\"input\", $event)\n },\n },\n scopedSlots: _vm._u([\n {\n key: \"activator\",\n fn: function (ref) {\n var on = ref.on;\n var attrs = ref.attrs;\n return [\n _c(\"v-hover\", {\n scopedSlots: _vm._u(\n [\n {\n key: \"default\",\n fn: function (ref) {\n var hover = ref.hover;\n return [\n _c(\n \"v-icon\",\n _vm._g(\n _vm._b(\n {\n staticClass: \"p-info__icon\",\n attrs: {\n color: _vm.invert ? \"white\" : \"info\",\n dark: \"\",\n \"aria-labelledby\":\n _vm.internalId + \"-label\",\n },\n },\n \"v-icon\",\n attrs,\n false\n ),\n on\n ),\n [\n _vm._v(\n \"\\n \" +\n _vm._s(\n hover\n ? \"$icon-info-i\"\n : \"$icon-info-i-dun\"\n ) +\n \"\\n \"\n ),\n ]\n ),\n ]\n },\n },\n ],\n null,\n true\n ),\n }),\n ]\n },\n },\n ]),\n },\n [\n _vm._v(\" \"),\n _vm.hasSlot()\n ? _vm._t(\"default\")\n : _c(\"span\", [_vm._v(_vm._s(_vm.message))]),\n ],\n 2\n ),\n _vm._v(\" \"),\n _c(\n \"div\",\n {\n staticClass: \"d-none\",\n attrs: { id: _vm.internalId + \"-label\", \"aria-hidden\": \"true\" },\n },\n [\n _vm._v(\n \"\\n \" +\n _vm._s(\n _vm.linkedLabelText\n ? _vm.$t(\"ariaLabelWithLinkedLabelText\", {\n label: _vm.linkedLabelText,\n })\n : _vm.$t(\"ariaLabel\")\n ) +\n \"\\n \"\n ),\n ]\n ),\n ],\n 1\n )\n};\nvar __vue_staticRenderFns__$16 = [];\n__vue_render__$16._withStripped = true;\n\n /* style */\n const __vue_inject_styles__$16 = undefined;\n /* scoped */\n const __vue_scope_id__$16 = \"data-v-24251823\";\n /* module identifier */\n const __vue_module_identifier__$16 = undefined;\n /* functional template */\n const __vue_is_functional_template__$16 = false;\n /* style inject */\n \n /* style inject SSR */\n \n /* style inject shadow dom */\n \n\n \n const __vue_component__$16 = /*#__PURE__*/normalizeComponent(\n { render: __vue_render__$16, staticRenderFns: __vue_staticRenderFns__$16 },\n __vue_inject_styles__$16,\n __vue_script__$14,\n __vue_scope_id__$16,\n __vue_is_functional_template__$16,\n __vue_module_identifier__$16,\n false,\n undefined,\n undefined,\n undefined\n );\n\nvar script$13 = defineComponent({\r\n name: 'PValueRow',\r\n components: { PInfo: __vue_component__$16, VIcon },\r\n props: {\r\n label: { type: String, required: true },\r\n value: { type: [String, Number, Boolean], default: '' },\r\n info: { type: String, default: '' },\r\n id: { type: String, default: null },\r\n percentage: { type: Boolean, default: false },\r\n days: { type: Boolean, default: false },\r\n warning: { type: Boolean, default: false },\r\n yesNoBoolean: { type: Boolean, default: false },\r\n yesUnknownBoolean: { type: Boolean, default: false },\r\n ellipsis: { type: Boolean, default: false },\r\n right: { type: Boolean, default: false },\r\n bold: { type: Boolean, defaule: false },\r\n dataUi: { type: String, default: null },\r\n dashOnFalsy: { type: Boolean, default: false },\r\n currency: { type: Boolean, default: false },\r\n },\r\n setup(props) {\r\n const { isMobileView } = useBreakpoints();\r\n const { tc, t, n } = useI18n();\r\n const renderChoices = [\r\n { propKey: 'days', value: () => props.value ? tc('days', Number(props.value)) : '-' },\r\n { propKey: 'percentage', value: () => String(props.value) + ' %' },\r\n { propKey: 'yesNoBoolean', value: () => props.value ? t('yes') : t('no') },\r\n { propKey: 'yesUnknownBoolean', value: () => props.value ? t('yes') : t('unknown') },\r\n { propKey: 'dashOnFalsy', value: () => props.dashOnFalsy && !props.value ? '-' : props.value },\r\n { propKey: 'currency', value: () => n(props.value, 'currency') },\r\n ];\r\n const rowValue = computed(() => {\r\n for (const item of renderChoices) {\r\n if (item.propKey && props[item.propKey]) {\r\n return item.value();\r\n }\r\n }\r\n return props.value;\r\n });\r\n return { isMobileView, rowValue };\r\n },\r\n});\n\n/* script */\nconst __vue_script__$13 = script$13;\n/* template */\nvar __vue_render__$15 = function () {\n var _vm = this;\n var _h = _vm.$createElement;\n var _c = _vm._self._c || _h;\n return _c(\n \"div\",\n { class: [\"p-value-row\", { \"p-value-row--mobile\": _vm.isMobileView }] },\n [\n _c(\"dt\", { staticClass: \"p-value-row__cell-label pr-5 pb-1 pb-sm-4\" }, [\n _c(\n \"div\",\n { staticClass: \"p-value-row__cell-label-text\" },\n [\n _vm._v(\n \"\\n \" +\n _vm._s(_vm.label) +\n \"\\n \"\n ),\n _vm.info\n ? _c(\"p-info\", {\n attrs: {\n \"linked-label-text\": _vm.label,\n \"data-ui\": _vm.dataUi ? _vm.dataUi + \"-info\" : null,\n message: _vm.info,\n },\n })\n : _vm._e(),\n _vm._v(\" \"),\n _vm._t(\"label-info\"),\n ],\n 2\n ),\n ]),\n _vm._v(\" \"),\n _c(\n \"dd\",\n {\n class: [\n \"p-value-row__cell-value\",\n \"pb-1\",\n \"pb-sm-4\",\n {\n \"text-right\": _vm.right,\n \"font-weight-bold\": _vm.bold,\n \"overflow-hidden\": _vm.ellipsis,\n \"text-no-wrap\": _vm.ellipsis,\n },\n ],\n },\n [\n _vm.rowValue\n ? _c(\n \"div\",\n { staticClass: \"d-flex align-start\" },\n [\n _vm.warning\n ? _c(\n \"v-icon\",\n {\n class: [\n \"pr-1\",\n _vm.right ? \"flex-grow-1 justify-end\" : null,\n ],\n attrs: { color: \"warning\" },\n },\n [_vm._v(\"\\n $icon-waarschuwing\\n \")]\n )\n : _vm._e(),\n _vm._v(\" \"),\n _c(\n \"span\",\n {\n class: [\n { \"flex-grow-1\": !_vm.warning },\n _vm.ellipsis ? \"text-truncate\" : \"break-all\",\n ],\n attrs: { \"data-ui\": _vm.dataUi },\n },\n [_vm._v(\"\\n \" + _vm._s(_vm.rowValue) + \"\\n \")]\n ),\n ],\n 1\n )\n : _c(\n \"div\",\n { attrs: { \"data-ui\": _vm.dataUi } },\n [_vm._t(\"default\")],\n 2\n ),\n ]\n ),\n ]\n )\n};\nvar __vue_staticRenderFns__$15 = [];\n__vue_render__$15._withStripped = true;\n\n /* style */\n const __vue_inject_styles__$15 = undefined;\n /* scoped */\n const __vue_scope_id__$15 = \"data-v-78325657\";\n /* module identifier */\n const __vue_module_identifier__$15 = undefined;\n /* functional template */\n const __vue_is_functional_template__$15 = false;\n /* style inject */\n \n /* style inject SSR */\n \n /* style inject shadow dom */\n \n\n \n const __vue_component__$15 = /*#__PURE__*/normalizeComponent(\n { render: __vue_render__$15, staticRenderFns: __vue_staticRenderFns__$15 },\n __vue_inject_styles__$15,\n __vue_script__$13,\n __vue_scope_id__$15,\n __vue_is_functional_template__$15,\n __vue_module_identifier__$15,\n false,\n undefined,\n undefined,\n undefined\n );\n\nconst RegisterPStepKey = Symbol('registerPStep');\r\nfunction provideRegisterPStep(register) {\r\n provide(RegisterPStepKey, register);\r\n}\r\nfunction injectRegisterPStep() {\r\n return inject(RegisterPStepKey);\r\n}\r\nfunction registerPStep(step) {\r\n const register = injectRegisterPStep();\r\n if (register && step) {\r\n register(step);\r\n }\r\n}\n\nconst registerStepComponentKey = 'registerStepComponentKey';\r\nfunction provideRegisterStepComponent(register) {\r\n provide(registerStepComponentKey, register);\r\n}\r\nfunction injectRegisterStepComponent() {\r\n return inject(registerStepComponentKey, null);\r\n}\r\nfunction registerStepComponent(stepComponent) {\r\n const register = injectRegisterStepComponent();\r\n if (register) {\r\n onMounted(() => {\r\n register(stepComponent);\r\n });\r\n onUnmounted(() => {\r\n register(stepComponent, true);\r\n });\r\n }\r\n}\n\nvar script$12 = defineComponent({\r\n name: 'PStep',\r\n inheritAttrs: false,\r\n props: {\r\n save: { type: Boolean, default: false },\r\n previous: { type: Boolean, default: true },\r\n next: { type: Boolean, default: true },\r\n submit: { type: Boolean, default: false },\r\n complete: { type: Boolean, default: false },\r\n saveOnNext: { type: Boolean, default: false },\r\n },\r\n setup(props) {\r\n const active = ref(false);\r\n const stepComponents = ref([]);\r\n provideRegisterStepComponent((stepComponent, remove) => {\r\n if (remove) {\r\n const index = stepComponents.value.indexOf(stepComponent);\r\n if (index >= 0) {\r\n stepComponents.value.splice(index, 1);\r\n }\r\n }\r\n else {\r\n stepComponents.value.push(stepComponent);\r\n }\r\n });\r\n registerPStep({\r\n show: () => {\r\n active.value = true;\r\n },\r\n hide: () => {\r\n active.value = false;\r\n },\r\n canGoNext: () => canGoNextFn(stepComponents),\r\n getHasValidation: () => getHasValidationFn(stepComponents),\r\n save: () => saveFn(stepComponents),\r\n props,\r\n });\r\n return {\r\n active,\r\n };\r\n },\r\n});\r\nfunction canGoNextFn(stepComponents) {\r\n return Promise\r\n .all(stepComponents.value.map(v => !v.readyToProceed || v.readyToProceed()))\r\n .then((values) => values.reduce((prev, current) => prev && current, true));\r\n}\r\nfunction saveFn(stepComponents) {\r\n return Promise\r\n .all(stepComponents.value.map(v => !v.save || v.save()))\r\n .then((values) => values.reduce((prev, current) => prev && current, true));\r\n}\r\nfunction getHasValidationFn(stepComponents) {\r\n return stepComponents.value.some((stepComponent) => !!stepComponent.readyToProceed);\r\n}\n\n/* script */\nconst __vue_script__$12 = script$12;\n/* template */\nvar __vue_render__$14 = function () {\n var _vm = this;\n var _h = _vm.$createElement;\n var _c = _vm._self._c || _h;\n return _c(\n \"div\",\n { staticClass: \"p-step\", class: { hidden: !_vm.active } },\n [_c(\"keep-alive\", [_vm.active ? _vm._t(\"default\") : _vm._e()], 2)],\n 1\n )\n};\nvar __vue_staticRenderFns__$14 = [];\n__vue_render__$14._withStripped = true;\n\n /* style */\n const __vue_inject_styles__$14 = undefined;\n /* scoped */\n const __vue_scope_id__$14 = \"data-v-f4e3cc3e\";\n /* module identifier */\n const __vue_module_identifier__$14 = undefined;\n /* functional template */\n const __vue_is_functional_template__$14 = false;\n /* style inject */\n \n /* style inject SSR */\n \n /* style inject shadow dom */\n \n\n \n const __vue_component__$14 = /*#__PURE__*/normalizeComponent(\n { render: __vue_render__$14, staticRenderFns: __vue_staticRenderFns__$14 },\n __vue_inject_styles__$14,\n __vue_script__$12,\n __vue_scope_id__$14,\n __vue_is_functional_template__$14,\n __vue_module_identifier__$14,\n false,\n undefined,\n undefined,\n undefined\n );\n\nclass StepNavigator {\r\n constructor(dc, context, updateState) {\r\n this.dc = dc;\r\n this.context = context;\r\n this.updateState = updateState;\r\n }\r\n buildMethods() {\r\n return {\r\n start: this.start.bind(this),\r\n toNextStep: this.toNextStep.bind(this),\r\n toPreviousStep: this.toPreviousStep.bind(this),\r\n toNavigateStep: this.toNavigateStep.bind(this),\r\n saveStep: this.saveStep.bind(this),\r\n };\r\n }\r\n start() {\r\n if (this.dc.routed.value) {\r\n this.dc.state.started = this.toNavigateStep();\r\n }\r\n else {\r\n this.dc.state.started = this.toValidatedNextStep(true);\r\n }\r\n this.dc.state.failed = !this.dc.state.started;\r\n this.updateState();\r\n }\r\n updateStep(newStep) {\r\n if (newStep >= 1 && newStep <= this.dc.state.steps.length) {\r\n this.dc.activeStep.value.hide();\r\n this.dc.state.stepNumber = newStep;\r\n this.dc.activeStep.value.show();\r\n this.updateState();\r\n return true;\r\n }\r\n return false;\r\n }\r\n getValidRouteIndex(index) {\r\n if (this.dc.finished.value) {\r\n return this.dc.finishedStep - 1;\r\n }\r\n let maxValidStep = this.dc.state.stepNumber;\r\n if (this.dc.currentStepValidated || !this.dc.activeStep.value.getHasValidation()) {\r\n maxValidStep = maxValidStep + 1;\r\n }\r\n if (index >= maxValidStep) {\r\n return maxValidStep - 1;\r\n }\r\n else {\r\n return index;\r\n }\r\n }\r\n navigate(stepNumber) {\r\n this.context.emit('navigate', stepNumber);\r\n }\r\n toNavigateStep() {\r\n const index = this.dc.navigateStep.value - 1;\r\n if (index < 0) {\r\n return false;\r\n }\r\n const validRouteIndex = this.getValidRouteIndex(index);\r\n if (validRouteIndex !== index) {\r\n this.navigate(validRouteIndex + 1);\r\n return true;\r\n }\r\n const direction = index + 1 - this.dc.state.stepNumber;\r\n const newStep = this.dc.state.stepNumber + direction;\r\n return direction !== 0 && this.updateStep(newStep);\r\n }\r\n toNextStep() {\r\n this.dc.state.processingNext = true;\r\n this.dc.activeStep.value.canGoNext()\r\n .then((value) => {\r\n const props = this.dc.activeStep.value.props;\r\n if (value && props.save && props.saveOnNext) {\r\n this.dc.activeStep.value.save();\r\n }\r\n this.toValidatedNextStep(value);\r\n })\r\n .finally(() => { this.dc.state.processingNext = false; });\r\n }\r\n toValidatedNextStep(valid) {\r\n if (!valid) {\r\n return false;\r\n }\r\n this.dc.currentStepValidated = true;\r\n const nextStep = this.dc.state.stepNumber + 1;\r\n if (this.dc.routed.value) {\r\n this.navigate(nextStep);\r\n return true;\r\n }\r\n else {\r\n return this.updateStep(nextStep);\r\n }\r\n }\r\n toPreviousStep() {\r\n const previousStep = this.dc.state.stepNumber - 1;\r\n if (this.dc.routed.value) {\r\n this.navigate(previousStep);\r\n }\r\n else {\r\n this.updateStep(previousStep);\r\n }\r\n }\r\n saveStep() {\r\n this.dc.state.processingSave = true;\r\n this.dc.activeStep.value.save()\r\n .then((saved) => this.context.emit('saved', saved))\r\n .finally(() => { this.dc.state.processingSave = false; });\r\n }\r\n}\n\nfunction updateState(dc) {\r\n dc.state.completed = dc.state.started && dc.activeStep.value.props.complete;\r\n dc.currentStepValidated = false;\r\n if (dc.finished.value) {\r\n dc.finishedStep = dc.state.stepNumber;\r\n }\r\n}\r\nfunction useButtons(dc) {\r\n function canShowNext() {\r\n return dc.state.stepNumber < dc.state.steps.length &&\r\n dc.activeStep.value.props.next &&\r\n !dc.finished.value;\r\n }\r\n return reactive({\r\n hasNextButton: computed(() => canShowNext() && !dc.activeStep.value.props.submit),\r\n hasPreviousButton: computed(() => dc.state.stepNumber > 1 && dc.activeStep.value.props.next && !dc.finished.value),\r\n hasSubmitButton: computed(() => canShowNext() && dc.activeStep.value.props.submit),\r\n hasSaveButton: computed(() => dc.activeStep.value.props.save),\r\n });\r\n}\r\nfunction getDefaultStep() {\r\n return {\r\n show: () => undefined,\r\n hide: () => undefined,\r\n canGoNext: () => __awaiter(this, void 0, void 0, function* () { return true; }),\r\n save: () => __awaiter(this, void 0, void 0, function* () { return true; }),\r\n getHasValidation: () => false,\r\n props: { save: false, previous: false, next: false, submit: false, complete: false, saveOnNext: false },\r\n };\r\n}\r\nfunction useDataContext(props) {\r\n const state = reactive({\r\n steps: [],\r\n stepNumber: 0,\r\n started: false,\r\n completed: false,\r\n failed: false,\r\n processingSave: false,\r\n processingNext: false,\r\n stepHeaders: computed(() => props.headers || []),\r\n });\r\n return {\r\n state,\r\n activeStep: computed(() => state.stepNumber > 0 ? state.steps[state.stepNumber - 1] : getDefaultStep()),\r\n finished: computed(() => state.completed || state.failed),\r\n routed: computed(() => props.navigateStep !== null),\r\n navigateStep: computed(() => props.navigateStep !== null ? props.navigateStep : 0),\r\n processing: computed(() => state.processingSave || state.processingNext),\r\n currentStepValidated: false,\r\n finishedStep: 0,\r\n };\r\n}\r\nfunction registerWatchers(dc, context, navigator) {\r\n let lastStepNumberEmitted = 0;\r\n watch(() => dc.state.stepNumber, (stepNumber) => {\r\n if (stepNumber > 0 && stepNumber !== lastStepNumberEmitted) {\r\n lastStepNumberEmitted = stepNumber;\r\n context.emit('stepped', stepNumber);\r\n }\r\n });\r\n watch(() => dc.state.completed, (completed) => {\r\n if (completed) {\r\n context.emit('completed');\r\n }\r\n });\r\n watch(() => dc.state.failed, (failed) => {\r\n if (failed) {\r\n context.emit('failed');\r\n }\r\n });\r\n // Track navigation\r\n watch(dc.navigateStep, () => {\r\n if (dc.state.started && dc.routed.value) {\r\n navigator.toNavigateStep();\r\n }\r\n });\r\n watch(() => ({ complete: dc.activeStep.value.props.complete }), () => updateState(dc));\r\n}\r\nfunction usePStepper (props, context) {\r\n const dc = useDataContext(props);\r\n const navigator = new StepNavigator(dc, context, () => updateState(dc)).buildMethods();\r\n registerWatchers(dc, context, navigator);\r\n return {\r\n dc,\r\n navigator,\r\n buttons: useButtons(dc),\r\n };\r\n}\n\nvar script$11 = defineComponent({\r\n name: 'PStepper',\r\n components: {\r\n PButton: __vue_component__$1f,\r\n VRow,\r\n VCol,\r\n VStepper,\r\n VStepperHeader,\r\n VStepperStep,\r\n VDivider,\r\n },\r\n inheritAttrs: false,\r\n props: {\r\n headers: { type: [Number, Array], default: null },\r\n submitLabel: { type: String, default: '' },\r\n saveLabel: { type: String, default: '' },\r\n navigateStep: { type: Number, default: null },\r\n },\r\n setup(props, context) {\r\n const { dc, navigator, buttons } = usePStepper(props, context);\r\n provideRegisterPStep((step) => {\r\n dc.state.steps.push(step);\r\n });\r\n onMounted(() => {\r\n navigator.start();\r\n });\r\n return {\r\n state: dc.state,\r\n navigator,\r\n buttons,\r\n finished: dc.finished,\r\n processing: dc.processing,\r\n };\r\n },\r\n});\n\n/* script */\nconst __vue_script__$11 = script$11;\n/* template */\nvar __vue_render__$13 = function () {\n var _vm = this;\n var _h = _vm.$createElement;\n var _c = _vm._self._c || _h;\n return _c(\n \"div\",\n { staticClass: \"p-stepper\" },\n [\n !_vm.state.failed\n ? _c(\n \"v-row\",\n { key: \"pStepperRowStateNotFailed\" },\n [\n _c(\n \"v-col\",\n { staticClass: \"pt-0 pb-2 pb-md-11\" },\n [\n _c(\n \"v-stepper\",\n _vm._b(\n {\n staticClass: \"p-stepper\",\n attrs: { value: _vm.state.stepNumber },\n },\n \"v-stepper\",\n { \"alt-labels\": _vm.$vuetify.breakpoint.mdAndUp },\n false\n ),\n [\n _c(\n \"v-stepper-header\",\n [\n _vm._l(\n _vm.state.stepHeaders,\n function (header, index) {\n return [\n index > 0\n ? _c(\"v-divider\", { key: \"h\" + index })\n : _vm._e(),\n _vm._v(\" \"),\n _c(\n \"v-stepper-step\",\n {\n key: \"s\" + index,\n attrs: {\n color: \"grey-darker\",\n complete:\n _vm.state.stepNumber > index + 1 ||\n _vm.state.completed,\n step: index + 1,\n },\n },\n [\n header\n ? _c(\"span\", [_vm._v(_vm._s(header))])\n : _vm._e(),\n ]\n ),\n ]\n }\n ),\n ],\n 2\n ),\n ],\n 1\n ),\n ],\n 1\n ),\n ],\n 1\n )\n : _vm._e(),\n _vm._v(\" \"),\n _c(\n \"v-row\",\n [\n _c(\n \"v-col\",\n [\n _vm._t(\"default\", null, {\n state: {\n stepNumber: _vm.state.stepNumber,\n completed: _vm.state.completed,\n failed: _vm.state.failed,\n },\n }),\n ],\n 2\n ),\n ],\n 1\n ),\n _vm._v(\" \"),\n !_vm.finished\n ? _c(\n \"v-row\",\n { key: \"pStepperRowIsNotDone\" },\n [\n _c(\n \"v-col\",\n { staticClass: \"d-flex justify-start\" },\n [\n _vm.buttons.hasPreviousButton\n ? _c(\n \"p-button\",\n {\n attrs: {\n id: \"wizard-button-prev\",\n preset: \"previous\",\n disabled: _vm.processing,\n },\n on: {\n click: function ($event) {\n return _vm.navigator.toPreviousStep()\n },\n },\n },\n [\n _vm._v(\n \"\\n \" +\n _vm._s(_vm.$t(\"previousStep\")) +\n \"\\n \"\n ),\n ]\n )\n : _vm._e(),\n ],\n 1\n ),\n _vm._v(\" \"),\n _vm.buttons.hasSaveButton\n ? _c(\n \"v-col\",\n {\n key: \"pStepperRowIsNotDoneColHasSaveButton\",\n staticClass: \"d-flex justify-start justify-sm-center\",\n },\n [\n _c(\n \"p-button\",\n {\n attrs: {\n disabled: _vm.processing,\n loading: _vm.state.processingSave,\n id: \"wizard-button-save\",\n },\n on: {\n click: function ($event) {\n return _vm.navigator.saveStep()\n },\n },\n },\n [\n _vm._v(\n \"\\n \" +\n _vm._s(_vm.saveLabel || _vm.$t(\"save\")) +\n \"\\n \"\n ),\n ]\n ),\n ],\n 1\n )\n : _vm._e(),\n _vm._v(\" \"),\n _vm.buttons.hasNextButton || _vm.buttons.hasSubmitButton\n ? _c(\n \"v-col\",\n {\n key: \"pStepperRowIsNotDoneColHasSubmitButton\",\n staticClass: \"d-flex justify-start justify-end\",\n },\n [\n _c(\n \"p-button\",\n {\n attrs: {\n id: \"wizard-button-next\",\n preset: \"next\",\n disabled: _vm.processing,\n loading: _vm.state.processingNext,\n },\n on: {\n click: function ($event) {\n return _vm.navigator.toNextStep()\n },\n },\n },\n [\n _vm._v(\n \"\\n \" +\n _vm._s(\n _vm.buttons.hasSubmitButton\n ? _vm.submitLabel || _vm.$t(\"submit\")\n : _vm.$t(\"nextStep\")\n ) +\n \"\\n \"\n ),\n ]\n ),\n ],\n 1\n )\n : _vm._e(),\n ],\n 1\n )\n : _vm._e(),\n _vm._v(\" \"),\n _vm.finished\n ? _c(\n \"v-row\",\n { key: \"pStepperRowIsDone\" },\n [\n _c(\n \"v-col\",\n [\n _vm._t(\"done\", null, {\n state: {\n stepNumber: _vm.state.stepNumber,\n completed: _vm.state.completed,\n failed: _vm.state.failed,\n },\n }),\n ],\n 2\n ),\n ],\n 1\n )\n : _vm._e(),\n ],\n 1\n )\n};\nvar __vue_staticRenderFns__$13 = [];\n__vue_render__$13._withStripped = true;\n\n /* style */\n const __vue_inject_styles__$13 = undefined;\n /* scoped */\n const __vue_scope_id__$13 = \"data-v-74630e28\";\n /* module identifier */\n const __vue_module_identifier__$13 = undefined;\n /* functional template */\n const __vue_is_functional_template__$13 = false;\n /* style inject */\n \n /* style inject SSR */\n \n /* style inject shadow dom */\n \n\n \n const __vue_component__$13 = /*#__PURE__*/normalizeComponent(\n { render: __vue_render__$13, staticRenderFns: __vue_staticRenderFns__$13 },\n __vue_inject_styles__$13,\n __vue_script__$11,\n __vue_scope_id__$13,\n __vue_is_functional_template__$13,\n __vue_module_identifier__$13,\n false,\n undefined,\n undefined,\n undefined\n );\n\n/* script */\n/* template */\nvar __vue_render__$12 = function () {\n var _vm = this;\n var _h = _vm.$createElement;\n var _c = _vm._self._c || _h;\n return _c(\n \"div\",\n { staticClass: \"p-button-container d-flex flex-row\" },\n [_vm._t(\"default\")],\n 2\n )\n};\nvar __vue_staticRenderFns__$12 = [];\n__vue_render__$12._withStripped = true;\n\n /* style */\n const __vue_inject_styles__$12 = undefined;\n /* scoped */\n const __vue_scope_id__$12 = undefined;\n /* module identifier */\n const __vue_module_identifier__$12 = undefined;\n /* functional template */\n const __vue_is_functional_template__$12 = false;\n /* style inject */\n \n /* style inject SSR */\n \n /* style inject shadow dom */\n \n\n \n const __vue_component__$12 = /*#__PURE__*/normalizeComponent(\n { render: __vue_render__$12, staticRenderFns: __vue_staticRenderFns__$12 },\n __vue_inject_styles__$12,\n {},\n __vue_scope_id__$12,\n __vue_is_functional_template__$12,\n __vue_module_identifier__$12,\n false,\n undefined,\n undefined,\n undefined\n );\n\nconst maxColumnsOneline = 2;\r\nconst maxColumnsInlineLabels = 3;\r\nconst maxColumnsDefault = 4;\n\nvar script$10 = defineComponent({\r\n name: 'PContainer',\r\n components: { VContainer },\r\n props: {\r\n fluid: { type: Boolean, default: undefined },\r\n },\r\n});\n\n/* script */\nconst __vue_script__$10 = script$10;\n\n/* template */\nvar __vue_render__$11 = function () {\n var _vm = this;\n var _h = _vm.$createElement;\n var _c = _vm._self._c || _h;\n return _c(\n \"v-container\",\n { attrs: { fluid: _vm.fluid } },\n [_vm._t(\"default\")],\n 2\n )\n};\nvar __vue_staticRenderFns__$11 = [];\n__vue_render__$11._withStripped = true;\n\n /* style */\n const __vue_inject_styles__$11 = undefined;\n /* scoped */\n const __vue_scope_id__$11 = undefined;\n /* module identifier */\n const __vue_module_identifier__$11 = undefined;\n /* functional template */\n const __vue_is_functional_template__$11 = false;\n /* style inject */\n \n /* style inject SSR */\n \n /* style inject shadow dom */\n \n\n \n const __vue_component__$11 = /*#__PURE__*/normalizeComponent(\n { render: __vue_render__$11, staticRenderFns: __vue_staticRenderFns__$11 },\n __vue_inject_styles__$11,\n __vue_script__$10,\n __vue_scope_id__$11,\n __vue_is_functional_template__$11,\n __vue_module_identifier__$11,\n false,\n undefined,\n undefined,\n undefined\n );\n\nconst registerFormInputValidatorKey = 'registerInputValidatorKey';\r\nfunction provideRegisterFormInputValidator(register) {\r\n provide(registerFormInputValidatorKey, register);\r\n}\r\nfunction injectRegisterFormInputValidator() {\r\n return inject(registerFormInputValidatorKey, null);\r\n}\r\nfunction registerFormInputValidator(formInputValidator) {\r\n const register = injectRegisterFormInputValidator();\r\n if (register) {\r\n onMounted(() => {\r\n register(formInputValidator);\r\n });\r\n onUnmounted(() => {\r\n register(formInputValidator, true);\r\n });\r\n }\r\n}\n\nclass UseValidation {\r\n constructor(props, i18n, validate, shouldValidate) {\r\n this.props = props;\r\n this.i18n = i18n;\r\n this.validate = validate;\r\n this.shouldValidate = shouldValidate;\r\n this.isInError = ref(false);\r\n this.isRequired = ref(false);\r\n this.isFormValidating = ref(false);\r\n this.holdValidation = false;\r\n this.validation = props.validation;\r\n if (this.validation) {\r\n this.registerFormInputValidator();\r\n this.init();\r\n }\r\n }\r\n hasValidationError() {\r\n return !!this.validation.firstErrorMessage && !this.holdValidation;\r\n }\r\n getValidationMessage() {\r\n return this.translate(this.validation.firstErrorMessage || '') || '';\r\n }\r\n revalidate() {\r\n if (this.shouldValidate && this.shouldValidate() && this.validate) {\r\n this.validate(true);\r\n }\r\n }\r\n init() {\r\n this.addWatchers();\r\n }\r\n addWatchers() {\r\n watch(() => this.validation.firstErrorMessage, () => this.revalidate());\r\n watch(() => this.validation.required, () => {\r\n this.isRequired.value = !!this.validation.required;\r\n });\r\n if (this.props.holdValidation !== undefined) {\r\n watch([() => this.props.holdValidation, () => this.isFormValidating.value], () => {\r\n this.holdValidation = !!this.props.holdValidation && !this.isFormValidating.value;\r\n this.revalidate();\r\n });\r\n }\r\n }\r\n translate(message) {\r\n if (!message.startsWith('t:')) {\r\n if (message.startsWith('t.')) {\r\n logWarning(`Incorrect translation key format: ${message}. Instead, use notation: t:${message.substring(2)}`);\r\n }\r\n return message;\r\n }\r\n message = message.substr(2);\r\n if (this.validation.fieldName && message.startsWith('errorMessages.')) {\r\n const withFieldName = `${message.substr(0, 14)}${this.validation.fieldName}.${message.substr(14)}`;\r\n const result = this.i18n.tRecursiveTry(withFieldName, this.validation);\r\n if (result) {\r\n return result;\r\n }\r\n }\r\n return this.i18n.tRecursive(message, this.validation);\r\n }\r\n registerFormInputValidator() {\r\n registerFormInputValidator({\r\n start: () => {\r\n this.isFormValidating.value = true;\r\n },\r\n end: () => {\r\n this.isFormValidating.value = false;\r\n },\r\n validate: () => {\r\n return !this.validate || this.validate(true);\r\n },\r\n });\r\n }\r\n}\n\nconst groupValidationProviderName = 'groupValidationProvider';\n\nconst formsStateManagerKey = 'formsStateManagerKey';\n\nconst formIdProvider = 'formIdProvider';\n\nconst useParentFormId = () => inject(formIdProvider, null);\n\nconst useFormsStateManager = (elementId) => {\r\n const formsStateManager = inject(formsStateManagerKey, null);\r\n const parentFormId = useParentFormId();\r\n const register = (persist = false) => {\r\n onMounted(() => {\r\n if (!formsStateManager || !parentFormId) {\r\n return;\r\n }\r\n const { registerElement } = formsStateManager;\r\n registerElement(parentFormId, elementId, { isDirty: false });\r\n });\r\n onBeforeUnmount(() => {\r\n if (!formsStateManager || !parentFormId || persist) {\r\n return;\r\n }\r\n const { deregisterElement } = formsStateManager;\r\n deregisterElement(parentFormId, elementId);\r\n });\r\n };\r\n const manualDeregister = () => {\r\n onBeforeUnmount(() => {\r\n if (!formsStateManager || !parentFormId) {\r\n return;\r\n }\r\n const { deregisterElement } = formsStateManager;\r\n deregisterElement(parentFormId, elementId);\r\n });\r\n };\r\n const setDirty = () => {\r\n if (!formsStateManager || !parentFormId) {\r\n return;\r\n }\r\n const { formsState, updateElement } = formsStateManager;\r\n if (formsState.value && !formsState.value[parentFormId][elementId].isDirty) {\r\n updateElement(parentFormId, elementId, { isDirty: true });\r\n }\r\n };\r\n return {\r\n register,\r\n manualDeregister,\r\n setDirty,\r\n };\r\n};\n\nclass UseInput {\r\n constructor(props, listeners) {\r\n this.props = props;\r\n this.listeners = listeners;\r\n this.errorMessage = ref('');\r\n this.errorId = ref('');\r\n this.shouldValidate = ref(false);\r\n this.isTouched = ref(false);\r\n this.hasBlurredAtLeastOnce = ref(false);\r\n this.currentInstance = getCurrentInstance();\r\n this.hasFocus = ref(false);\r\n this.groupValidation = reactive({\r\n hasGroupValidation: false,\r\n isInError: false,\r\n hideChildValidationOnError: false,\r\n });\r\n this.i18n = useI18n();\r\n this.internalId = useIdGenerator('p-input').next();\r\n this.formsStateManagerId = props.formsStateManagerId || this.internalId;\r\n this.validation = new UseValidation({ validation: props.validation, holdValidation: props.holdValidation }, this.i18n, this.validate.bind(this), () => this.shouldValidate.value);\r\n this.registerGroupValidator();\r\n const { register, setDirty } = useFormsStateManager(this.formsStateManagerId);\r\n this.setDirtyFn = setDirty;\r\n register(this.props.persistInFormsState);\r\n }\r\n setDirty() {\r\n this.setDirtyFn();\r\n }\r\n registerGroupValidator() {\r\n this.groupValidation = inject(groupValidationProviderName, { hasGroupValidation: false, isInError: false, hideChildValidationOnError: false });\r\n if (this.groupValidation.setGroupField) {\r\n this.groupValidation.setGroupField(this.internalId, this.validation.isInError.value);\r\n }\r\n watch(() => this.groupValidation.hasGroupValidation ? this.groupValidation.isInError : false, isInError => {\r\n if (!this.errorMessage.value) {\r\n this.forceErrorState(isInError);\r\n }\r\n });\r\n onBeforeUnmount(() => {\r\n if (this.groupValidation.deleteGroupField) {\r\n this.groupValidation.deleteGroupField(this.internalId);\r\n }\r\n });\r\n }\r\n validate(force) {\r\n if (force) {\r\n this.shouldValidate.value = true;\r\n }\r\n this.errorMessage.value = this.shouldValidate.value ? this.validation.getValidationMessage() : '';\r\n if (!this.groupValidation.hasGroupValidation || !this.groupValidation.isInError) {\r\n this.forceErrorState(!!this.errorMessage.value);\r\n }\r\n if (this.groupValidation.setGroupField && this.groupValidation.validate) {\r\n this.groupValidation.setGroupField(this.internalId, !!this.errorMessage.value);\r\n this.groupValidation.validate(force);\r\n }\r\n this.currentInstance.$emit('validate');\r\n return !this.validation.isInError.value;\r\n }\r\n forceErrorState(state) {\r\n this.validation.isInError.value = state;\r\n }\r\n onBlur() {\r\n this.hasFocus.value = false;\r\n if (this.isTouched.value) {\r\n Vue$1.nextTick(() => {\r\n if (this.props.validation.forceValidate) {\r\n this.props.validation.forceValidate();\r\n }\r\n this.hasBlurredAtLeastOnce.value = true;\r\n this.validate(true);\r\n });\r\n }\r\n }\r\n onChange() {\r\n this.setDirty();\r\n this.isTouched.value = true;\r\n this.validate(true);\r\n }\r\n onInput() {\r\n this.setDirty();\r\n this.isTouched.value = true;\r\n if (this.groupValidation.validate && this.hasBlurredAtLeastOnce.value) {\r\n this.groupValidation.validate();\r\n }\r\n }\r\n onFocus() {\r\n this.hasFocus.value = true;\r\n }\r\n getEvents() {\r\n return {\r\n input: this.onInput.bind(this),\r\n blur: this.onBlur.bind(this),\r\n change: this.onChange.bind(this),\r\n focus: this.onFocus.bind(this),\r\n };\r\n }\r\n getSlotListeners() {\r\n // lookup both listeners and new validationEvents and combine them as a single set of listeners\r\n const validationEvents = this.getEvents();\r\n const lookupEventsAndTrigger = (eventName, args) => {\r\n const validationEvent = validationEvents[eventName];\r\n const listenerEvents = this.listeners[eventName];\r\n if (listenerEvents) {\r\n listenerEvents(...args);\r\n }\r\n if (validationEvent) {\r\n validationEvent(...args);\r\n }\r\n };\r\n return Object.assign(Object.assign({}, this.listeners), { change(...args) {\r\n lookupEventsAndTrigger('change', args);\r\n },\r\n input(...args) {\r\n lookupEventsAndTrigger('input', args);\r\n },\r\n focus(...args) {\r\n lookupEventsAndTrigger('focus', args);\r\n },\r\n blur(...args) {\r\n lookupEventsAndTrigger('blur', args);\r\n } });\r\n }\r\n calculateAriaDescribedBy(errorId) {\r\n let errorString = null;\r\n if (this.errorMessage.value) {\r\n errorString = errorId;\r\n }\r\n if (this.groupValidation.hasGroupValidation && this.groupValidation.isInError && this.groupValidation.setAriaDescribedby) {\r\n errorString = this.groupValidation.errorId || null;\r\n }\r\n return errorString;\r\n }\r\n getSlotAttrs() {\r\n const id = this.props.id || this.internalId;\r\n this.errorId.value = `${id}_error`;\r\n const slotAttrs = reactive({\r\n id,\r\n 'data-ui': this.props.dataUi,\r\n disabled: computed(() => this.props.disabled),\r\n 'aria-disabled': computed(() => this.props.disabled),\r\n readonly: computed(() => this.props.readonly),\r\n 'aria-readonly': computed(() => this.props.readonly),\r\n autofocus: this.props.autofocus,\r\n error: this.validation.isInError,\r\n 'hide-details': true,\r\n 'aria-required': this.validation.isRequired,\r\n 'aria-invalid': computed(() => this.validation.isInError.value),\r\n 'aria-describedby': computed(() => this.calculateAriaDescribedBy(this.errorId.value)),\r\n });\r\n watch(() => this.validation.isRequired.value, () => {\r\n slotAttrs['aria-required'] = this.validation.isRequired.value;\r\n });\r\n return slotAttrs;\r\n }\r\n getExtractedValidation() {\r\n if (this.props.extractedValidation) {\r\n return this.props.extractedValidation;\r\n }\r\n return {\r\n shouldValidate: this.shouldValidate,\r\n errorMessage: this.errorMessage,\r\n isRequired: this.validation.isRequired,\r\n isInError: this.validation.isInError,\r\n isTouched: this.isTouched,\r\n validate: this.validate.bind(this),\r\n hideValidation: computed(() => !!(this.groupValidation.hideChildValidationOnError && this.groupValidation.isInError)),\r\n };\r\n }\r\n extractComposable() {\r\n return {\r\n extractedValidation: this.getExtractedValidation(),\r\n slotAttrs: this.getSlotAttrs(),\r\n slotListeners: this.getSlotListeners(),\r\n hasFocus: this.hasFocus,\r\n errorId: this.errorId,\r\n };\r\n }\r\n}\n\n//\n\r\nvar script$$ = {\r\n name: 'PInputLabel',\r\n components: { PInfo: __vue_component__$16 },\r\n props: {\r\n isRequired: { type: Boolean, default: false },\r\n label: { type: String, default: null },\r\n hint: { type: String, default: null },\r\n info: { type: String, default: null },\r\n },\r\n};\n\n/* script */\nconst __vue_script__$$ = script$$;\n/* template */\nvar __vue_render__$10 = function () {\n var _vm = this;\n var _h = _vm.$createElement;\n var _c = _vm._self._c || _h;\n return _c(\"div\", { staticClass: \"p-input-label pb-2\" }, [\n _c(\n \"div\",\n { staticClass: \"p-input-label__text-container d-flex\" },\n [\n _vm._v(\"\\n \" + _vm._s(_vm.label) + \"\\n \"),\n _vm.isRequired\n ? _c(\"span\", { staticClass: \"ml-1\" }, [\n _c(\"span\", { attrs: { \"aria-hidden\": \"true\" } }, [_vm._v(\"*\")]),\n _vm._v(\" \"),\n _c(\"span\", { staticClass: \"sr-only\" }, [\n _vm._v(\"(\" + _vm._s(_vm.$t(\"requiredField\")) + \")\"),\n ]),\n ])\n : _vm._e(),\n _vm._v(\" \"),\n _vm.info\n ? _c(\"p-info\", {\n attrs: { \"linked-label-text\": _vm.label, message: _vm.info },\n })\n : _vm._e(),\n _vm._v(\" \"),\n _vm._t(\"default\"),\n _vm._v(\"\\n  \\n \"),\n ],\n 2\n ),\n _vm._v(\" \"),\n _vm.hint\n ? _c(\n \"span\",\n {\n staticClass: \"p-input-label__hint font-italic font-weight-regular\",\n },\n [_vm._v(\"\\n \" + _vm._s(_vm.hint) + \"\\n \")]\n )\n : _vm._e(),\n ])\n};\nvar __vue_staticRenderFns__$10 = [];\n__vue_render__$10._withStripped = true;\n\n /* style */\n const __vue_inject_styles__$10 = undefined;\n /* scoped */\n const __vue_scope_id__$10 = undefined;\n /* module identifier */\n const __vue_module_identifier__$10 = undefined;\n /* functional template */\n const __vue_is_functional_template__$10 = false;\n /* style inject */\n \n /* style inject SSR */\n \n /* style inject shadow dom */\n \n\n \n const __vue_component__$10 = /*#__PURE__*/normalizeComponent(\n { render: __vue_render__$10, staticRenderFns: __vue_staticRenderFns__$10 },\n __vue_inject_styles__$10,\n __vue_script__$$,\n __vue_scope_id__$10,\n __vue_is_functional_template__$10,\n __vue_module_identifier__$10,\n false,\n undefined,\n undefined,\n undefined\n );\n\nconst fieldsetProviderName = 'fieldsetProvider';\n\nvar script$_ = defineComponent({\r\n name: 'PInput',\r\n components: { VLabel, PInputLabel: __vue_component__$10 },\r\n props: {\r\n id: { type: String, default: null },\r\n formsStateManagerId: { type: String, default: null },\r\n persistInFormsState: { type: Boolean },\r\n dataUi: { type: String, default: null },\r\n label: { type: String, default: null },\r\n info: { type: String, default: null },\r\n disabled: { type: Boolean, default: false },\r\n readonly: { type: Boolean, default: false },\r\n autofocus: { type: Boolean, default: false },\r\n hint: { type: String, default: null },\r\n persistentHint: { type: Boolean, default: false },\r\n validation: { type: Object, default: () => ({ firstErrorMessage: null }) },\r\n holdValidation: { type: Boolean, default: false },\r\n hideDetails: { type: Boolean, default: false },\r\n inlineLabel: { type: Boolean, default: false },\r\n suppressChildInputState: { type: Boolean },\r\n // extractedValidation is a validation object that has already been extracted beforehand,\r\n extractedValidation: { type: Object, default: undefined },\r\n },\r\n setup(props, { slots, listeners }) {\r\n const hasSlot = useHasSlot(slots);\r\n const { extractedValidation, slotAttrs, slotListeners, errorId, } = new UseInput(props, listeners).extractComposable();\r\n const fieldSetConfig = inject(fieldsetProviderName, { visuallyHideLabels: false });\r\n return Object.assign(Object.assign({}, extractedValidation), { fieldSetConfig,\r\n hasSlot,\r\n slotAttrs,\r\n slotListeners,\r\n errorId });\r\n },\r\n});\n\n/* script */\nconst __vue_script__$_ = script$_;\n/* template */\nvar __vue_render__$$ = function () {\n var _vm = this;\n var _h = _vm.$createElement;\n var _c = _vm._self._c || _h;\n return _c(\n \"div\",\n {\n class: [\n \"p-input\",\n {\n \"p-input--error\": _vm.isInError,\n \"p-input__label--visually-hidden\":\n _vm.fieldSetConfig.visuallyHideLabels,\n \"p-input__label--inline\": _vm.inlineLabel,\n \"p-input__label--hide-details\": _vm.hideDetails,\n },\n ],\n },\n [\n _vm.label || _vm.info\n ? _c(\n \"v-label\",\n {\n attrs: {\n focused: _vm.isInError,\n color: _vm.isInError ? \"error\" : undefined,\n disabled: _vm.disabled,\n for: _vm.slotAttrs.id,\n absolute: _vm.fieldSetConfig.visuallyHideLabels,\n },\n },\n [\n _c(\n \"p-input-label\",\n {\n attrs: {\n label: _vm.label,\n info: _vm.info,\n hint: _vm.hint,\n \"is-required\": _vm.isRequired,\n },\n },\n [_vm._t(\"post-label-input\")],\n 2\n ),\n ],\n 1\n )\n : _vm._e(),\n _vm._v(\" \"),\n _vm._t(\"default\", null, {\n on: _vm.slotListeners,\n attrs: _vm.slotAttrs,\n min: _vm.validation.minValue,\n max: _vm.validation.maxValue,\n maxlength: _vm.validation.maxLength,\n required: _vm.validation.required,\n isInError: _vm.isInError,\n errorMessage: _vm.errorMessage,\n }),\n _vm._v(\" \"),\n !_vm.hideDetails\n ? _c(\n \"div\",\n {\n class: [\n \"p-input__error-container\",\n !_vm.hideValidation || _vm.hasSlot(\"error-message\")\n ? \"mb-4 mt-2\"\n : \"\",\n ],\n attrs: { \"aria-live\": \"assertive\", \"aria-atomic\": \"true\" },\n },\n [\n !_vm.hideValidation || _vm.hasSlot(\"error-message\")\n ? _c(\n \"div\",\n { staticClass: \"v-messages theme--light\" },\n [\n _vm._t(\"error-message\", function () {\n return [\n _vm.errorMessage\n ? _c(\n \"div\",\n {\n staticClass:\n \"p-input__error v-messages__message error--text\",\n attrs: { id: _vm.errorId },\n },\n [\n _vm._v(\n \"\\n \" +\n _vm._s(_vm.errorMessage) +\n \"\\n \"\n ),\n ]\n )\n : _vm._e(),\n ]\n }),\n ],\n 2\n )\n : _vm._e(),\n ]\n )\n : _vm._e(),\n ],\n 2\n )\n};\nvar __vue_staticRenderFns__$$ = [];\n__vue_render__$$._withStripped = true;\n\n /* style */\n const __vue_inject_styles__$$ = undefined;\n /* scoped */\n const __vue_scope_id__$$ = \"data-v-e5aef5ba\";\n /* module identifier */\n const __vue_module_identifier__$$ = undefined;\n /* functional template */\n const __vue_is_functional_template__$$ = false;\n /* style inject */\n \n /* style inject SSR */\n \n /* style inject shadow dom */\n \n\n \n const __vue_component__$$ = /*#__PURE__*/normalizeComponent(\n { render: __vue_render__$$, staticRenderFns: __vue_staticRenderFns__$$ },\n __vue_inject_styles__$$,\n __vue_script__$_,\n __vue_scope_id__$$,\n __vue_is_functional_template__$$,\n __vue_module_identifier__$$,\n false,\n undefined,\n undefined,\n undefined\n );\n\nconst isElementInView = (element) => {\r\n const bounding = element.getBoundingClientRect();\r\n return (bounding.top >= 0 &&\r\n bounding.left >= 0 &&\r\n bounding.bottom <=\r\n (window.innerHeight || document.documentElement.clientHeight) &&\r\n bounding.right <=\r\n (window.innerWidth || document.documentElement.clientWidth));\r\n};\r\nconst isScrollable = (element) => element && element.clientHeight < element.scrollHeight;\r\nconst maintainScrollVisibility = (activeElement, scrollParent) => {\r\n const { offsetHeight, offsetTop } = activeElement;\r\n const { offsetHeight: parentOffsetHeight, scrollTop } = scrollParent;\r\n const isAbove = offsetTop < scrollTop;\r\n const isBelow = offsetTop + offsetHeight > scrollTop + parentOffsetHeight;\r\n if (isAbove) {\r\n scrollParent.scrollTo(0, offsetTop);\r\n }\r\n else if (isBelow) {\r\n scrollParent.scrollTo(0, offsetTop - parentOffsetHeight + offsetHeight);\r\n }\r\n};\n\nconst usePSelectOpenState = (comboboxElement, setSelectState, defaultOpen = false) => {\r\n const isOpen = ref(defaultOpen);\r\n const setOpenState = (open, callFocus = true) => {\r\n if (isOpen.value === open) {\r\n return;\r\n }\r\n isOpen.value = open;\r\n if (comboboxElement.value) {\r\n if (!open && !isElementInView(comboboxElement.value)) {\r\n comboboxElement.value.scrollIntoView({ behavior: 'smooth', block: 'nearest' });\r\n }\r\n callFocus && comboboxElement.value.focus();\r\n }\r\n };\r\n return {\r\n isOpen, setOpenState,\r\n };\r\n};\n\nconst pageSize = 10;\r\nconst SelectActions = {\r\n Close: 0,\r\n CloseSelect: 1,\r\n First: 2,\r\n Last: 3,\r\n Next: 4,\r\n Open: 5,\r\n PageDown: 6,\r\n PageUp: 7,\r\n Previous: 8,\r\n Select: 9,\r\n Type: 10,\r\n};\n\nconst filterOptions = (filter, options = [], exclude = []) => options.filter((option) => {\r\n const matches = option.text.toLowerCase().indexOf(filter.toLowerCase()) === 0;\r\n return matches && exclude.indexOf(option) < 0;\r\n});\r\nconst checkOpenKeys = (event) => {\r\n const { key } = event;\r\n const openKeys = ['ArrowDown', 'ArrowUp', 'Enter', ' '];\r\n if (openKeys.includes(key)) {\r\n return SelectActions.Open;\r\n }\r\n return null;\r\n};\r\nconst checkHomeEndKeys = (event) => {\r\n const { key } = event;\r\n if (key === 'Home') {\r\n return SelectActions.First;\r\n }\r\n if (key === 'End') {\r\n return SelectActions.Last;\r\n }\r\n return null;\r\n};\r\nconst checkIfTyping = (event) => {\r\n const { key, altKey, ctrlKey, metaKey } = event;\r\n if (key === 'Backspace' ||\r\n key === 'Clear' ||\r\n (key.length === 1 && key !== ' ' && !altKey && !ctrlKey && !metaKey)) {\r\n return SelectActions.Type;\r\n }\r\n return null;\r\n};\r\nconst checkArrowKeys = (event) => {\r\n const { key, altKey } = event;\r\n if (key === 'ArrowDown') {\r\n return SelectActions.Next;\r\n }\r\n else if (key === 'ArrowUp' && !altKey) {\r\n return SelectActions.Previous;\r\n }\r\n return null;\r\n};\r\nconst checkPageUpPageDown = (event) => {\r\n const { key } = event;\r\n if (key === 'PageUp') {\r\n return SelectActions.PageUp;\r\n }\r\n else if (key === 'PageDown') {\r\n return SelectActions.PageDown;\r\n }\r\n return null;\r\n};\r\nconst checkCloseKeys = (event) => {\r\n const { key, altKey } = event;\r\n if (key === 'ArrowUp' && altKey) {\r\n return SelectActions.CloseSelect;\r\n }\r\n else if (key === 'Escape') {\r\n return SelectActions.Close;\r\n }\r\n else if (key === 'Enter' || key === ' ') {\r\n return SelectActions.CloseSelect;\r\n }\r\n return null;\r\n};\r\nconst getActionFromKey = (event, menuOpen) => {\r\n let action = null;\r\n if (!menuOpen) {\r\n action = checkOpenKeys(event);\r\n }\r\n action = action || checkHomeEndKeys(event) || checkIfTyping(event);\r\n if (menuOpen) {\r\n action = action || checkArrowKeys(event);\r\n action = action || checkPageUpPageDown(event);\r\n action = action || checkCloseKeys(event);\r\n }\r\n return action;\r\n};\r\nconst getIndexByLetter = (options, filter, startIndex = 0) => {\r\n const orderedOptions = [\r\n ...options.slice(startIndex),\r\n ...options.slice(0, startIndex),\r\n ];\r\n const firstMatch = filterOptions(filter, orderedOptions)[0];\r\n const allSameLetter = (array) => array.every((letter) => letter === array[0]);\r\n if (firstMatch) {\r\n return options.indexOf(firstMatch);\r\n }\r\n else if (allSameLetter(filter.split(''))) {\r\n const matches = filterOptions(filter[0], orderedOptions);\r\n return options.indexOf(matches[0]);\r\n }\r\n else {\r\n return -1;\r\n }\r\n};\r\nconst getUpdatedIndex = (currentIndex, maxIndex, action) => {\r\n switch (action) {\r\n case SelectActions.First:\r\n return 0;\r\n case SelectActions.Last:\r\n return maxIndex;\r\n case SelectActions.Previous:\r\n return Math.max(0, currentIndex - 1);\r\n case SelectActions.Next:\r\n return Math.min(maxIndex, currentIndex + 1);\r\n case SelectActions.PageUp:\r\n return Math.max(0, currentIndex - pageSize);\r\n case SelectActions.PageDown:\r\n return Math.min(maxIndex, currentIndex + pageSize);\r\n default:\r\n return currentIndex;\r\n }\r\n};\n\nconst usePSelectHandlers = (selectOptions, isOpen, activeIndex, collectedStateSetters) => {\r\n const searchTimeout = ref(undefined);\r\n const searchString = ref('');\r\n const ignoreBlur = ref(false);\r\n const { setOpenState, selectOption, changeOption } = collectedStateSetters;\r\n const getSearchString = (char) => {\r\n // reset typing timeout and start new timeout\r\n // this allows us to make multiple-letter matches, like a native select\r\n window.clearTimeout(searchTimeout.value);\r\n searchTimeout.value = window.setTimeout(() => {\r\n searchString.value = '';\r\n }, 500);\r\n // add most recent letter to saved search string\r\n searchString.value += char;\r\n return searchString.value;\r\n };\r\n const onComboType = (letter) => {\r\n setOpenState(true);\r\n const search = getSearchString(letter);\r\n const searchIndex = getIndexByLetter(selectOptions.value, search, activeIndex.value + 1);\r\n if (searchIndex >= 0) {\r\n changeOption(searchIndex);\r\n }\r\n else {\r\n clearTimeout(searchTimeout.value);\r\n searchString.value = '';\r\n }\r\n };\r\n const preventAndChangeOption = (event, index, max, action) => {\r\n event.preventDefault();\r\n changeOption(getUpdatedIndex(index, max, action));\r\n };\r\n const preventAndUpdateMenu = (event, openMenu) => {\r\n event.preventDefault();\r\n setOpenState(openMenu);\r\n };\r\n const onComboKeyDownHandler = (event) => {\r\n const { key } = event;\r\n const max = selectOptions.value.length - 1;\r\n const action = getActionFromKey(event, isOpen.value);\r\n if (action == null) {\r\n return;\r\n }\r\n const actionMapper = {\r\n [SelectActions.Last]: () => {\r\n setOpenState(true);\r\n preventAndChangeOption(event, activeIndex.value, max, action);\r\n },\r\n [SelectActions.First]: () => {\r\n setOpenState(true);\r\n preventAndChangeOption(event, activeIndex.value, max, action);\r\n },\r\n [SelectActions.Next]: () => preventAndChangeOption(event, activeIndex.value, max, action),\r\n [SelectActions.Previous]: () => preventAndChangeOption(event, activeIndex.value, max, action),\r\n [SelectActions.PageUp]: () => preventAndChangeOption(event, activeIndex.value, max, action),\r\n [SelectActions.PageDown]: () => preventAndChangeOption(event, activeIndex.value, max, action),\r\n [SelectActions.CloseSelect]: () => {\r\n preventAndUpdateMenu(event, false);\r\n selectOption(activeIndex.value);\r\n },\r\n [SelectActions.Close]: () => preventAndUpdateMenu(event, false),\r\n [SelectActions.Type]: () => onComboType(key),\r\n [SelectActions.Open]: () => preventAndUpdateMenu(event, true),\r\n };\r\n actionMapper[action]();\r\n };\r\n const onOptionClickHandler = (index) => {\r\n changeOption(index);\r\n selectOption(index);\r\n setOpenState(false);\r\n };\r\n const onComboClickHandler = () => {\r\n setOpenState(!isOpen.value, false);\r\n };\r\n const onComboBlurHandler = () => {\r\n if (ignoreBlur.value) {\r\n ignoreBlur.value = false;\r\n return;\r\n }\r\n if (isOpen.value) {\r\n selectOption(activeIndex.value);\r\n setOpenState(false, false);\r\n }\r\n };\r\n const onOptionMouseDownHandler = () => {\r\n // Clicking an option will cause a blur event,\r\n // but we don't want to perform the default keyboard blur action\r\n ignoreBlur.value = true;\r\n };\r\n return {\r\n onComboKeyDownHandler,\r\n onOptionClickHandler,\r\n onComboClickHandler,\r\n onComboBlurHandler,\r\n onOptionMouseDownHandler,\r\n };\r\n};\n\nconst usePSelectOptions = (options, defaultOption) => computed(() => (defaultOption.value\r\n ? [{ text: defaultOption.value, isDefaultOption: true }, ...options.value]\r\n : options.value).map((item) => {\r\n if (typeof item === 'string') {\r\n return {\r\n text: item,\r\n value: item,\r\n };\r\n }\r\n else {\r\n return Object.assign(Object.assign({}, item), { value: (item.value || item.value === 0) ? item.value : item.text });\r\n }\r\n}));\n\nconst handleItemScroll = (listboxElement, index) => {\r\n const optionElements = listboxElement.querySelectorAll('[role=option]');\r\n if (isScrollable(listboxElement)) {\r\n maintainScrollVisibility(optionElements[index], listboxElement);\r\n }\r\n if (!isElementInView(optionElements[index])) {\r\n optionElements[index].scrollIntoView({ behavior: 'smooth', block: 'nearest' });\r\n }\r\n};\r\nconst usePSelectOptionSetters = (options, setSelectState, listboxElement, emitFn) => {\r\n const selectOption = (index) => {\r\n if (!options.value[index]) {\r\n return;\r\n }\r\n setSelectState({\r\n activeIndex: index,\r\n selectedIndex: index,\r\n selectedText: options.value[index].text,\r\n });\r\n emitFn('input', options.value[index].isDefaultOption ? null : options.value[index].value);\r\n };\r\n const changeOption = (index) => {\r\n setSelectState({\r\n activeIndex: index,\r\n });\r\n Vue$1.nextTick(() => {\r\n if (listboxElement.value) {\r\n handleItemScroll(listboxElement.value, index);\r\n }\r\n });\r\n };\r\n return {\r\n selectOption,\r\n changeOption,\r\n };\r\n};\n\nvar script$Z = defineComponent({\r\n name: 'PSelectCore',\r\n inheritAttrs: false,\r\n props: {\r\n value: { type: [String, Number], default: null },\r\n options: { type: Array, required: true },\r\n defaultOption: { type: String, default: '' },\r\n id: { type: String, default: '' },\r\n ariaRequired: { type: Boolean },\r\n ariaInvalid: { type: Boolean },\r\n ariaDescribedby: { type: String, default: null },\r\n ariaLabelledby: { type: String, default: null },\r\n dataUi: { type: String, default: null },\r\n },\r\n setup(props, { emit }) {\r\n const baseId = props.id || useIdGenerator('p-select').next();\r\n const listboxId = useIdGenerator('p-select-listbox').next();\r\n const comboboxElement = ref(null);\r\n const listboxElement = ref(null);\r\n const { options, value: valueProp, defaultOption } = toRefs(props);\r\n const selectOptions = usePSelectOptions(options, defaultOption);\r\n const { state, setState } = useState({\r\n activeIndex: 0,\r\n selectedIndex: 0,\r\n selectedText: selectOptions.value[0].text,\r\n });\r\n const { isOpen, setOpenState } = usePSelectOpenState(comboboxElement);\r\n const { selectOption, changeOption } = usePSelectOptionSetters(selectOptions, setState, listboxElement, emit);\r\n const collectedStateSetters = { setOpenState, setState, selectOption, changeOption };\r\n watch(() => valueProp.value, (val) => {\r\n const index = selectOptions.value.findIndex((option) => {\r\n return option.value === val;\r\n });\r\n const newIndex = Math.max(0, index);\r\n if (newIndex === state.selectedIndex.value &&\r\n state.selectedText.value === selectOptions.value[newIndex].text) {\r\n return;\r\n }\r\n setState({\r\n activeIndex: newIndex,\r\n selectedIndex: newIndex,\r\n selectedText: selectOptions.value[newIndex].text,\r\n });\r\n });\r\n onMounted(() => {\r\n if (!valueProp.value && !defaultOption.value) {\r\n emit('input-default', selectOptions.value[0].value);\r\n }\r\n });\r\n return Object.assign(Object.assign(Object.assign({ comboboxElement,\r\n listboxElement,\r\n listboxId,\r\n isOpen }, state), { baseId,\r\n selectOptions }), usePSelectHandlers(selectOptions, isOpen, state.activeIndex, collectedStateSetters));\r\n },\r\n});\n\n/* script */\nconst __vue_script__$Z = script$Z;\n/* template */\nvar __vue_render__$_ = function () {\n var _vm = this;\n var _h = _vm.$createElement;\n var _c = _vm._self._c || _h;\n return _c(\"div\", { class: [\"p-select\", { \"p-select--open\": _vm.isOpen }] }, [\n _c(\n \"div\",\n _vm._g(\n _vm._b(\n {\n ref: \"comboboxElement\",\n staticClass: \"p-select__input\",\n attrs: {\n id: _vm.baseId,\n \"data-ui\": _vm.dataUi,\n role: \"combobox\",\n tabindex: \"0\",\n \"aria-controls\": _vm.listboxId,\n \"aria-expanded\": _vm.isOpen.toString(),\n \"aria-haspopup\": \"listbox\",\n \"aria-required\": _vm.ariaRequired,\n \"aria-invalid\": _vm.ariaInvalid,\n \"aria-describedby\": _vm.ariaDescribedby,\n \"aria-labelledby\": _vm.ariaLabelledby,\n \"aria-activedescendant\": _vm.isOpen\n ? _vm.baseId + \"-option-\" + _vm.activeIndex\n : \"\",\n },\n on: {\n click: _vm.onComboClickHandler,\n keydown: _vm.onComboKeyDownHandler,\n blur: _vm.onComboBlurHandler,\n },\n },\n \"div\",\n _vm.$attrs,\n false\n ),\n _vm.$listeners\n ),\n [_vm._v(\"\\n \" + _vm._s(_vm.selectedText) + \"\\n \")]\n ),\n _vm._v(\" \"),\n _c(\n \"div\",\n {\n ref: \"listboxElement\",\n staticClass: \"p-select__menu\",\n attrs: {\n role: \"listbox\",\n id: _vm.listboxId,\n \"aria-labelledby\": _vm.ariaLabelledby,\n tabindex: \"-1\",\n },\n },\n _vm._l(_vm.selectOptions, function (option, index) {\n return _c(\n \"div\",\n {\n key: option.text,\n class: [\n \"p-select__option\",\n {\n \"p-select_option--current\": _vm.activeIndex === index,\n \"p-select_option--default\": option.isDefaultOption,\n },\n ],\n attrs: {\n \"data-ui\": _vm.dataUi\n ? _vm.dataUi +\n \"-\" +\n (option.isDefaultOption\n ? \"default-option\"\n : option.value || option.text)\n : undefined,\n id: _vm.baseId + \"-option-\" + index,\n role: \"option\",\n \"aria-selected\": (_vm.selectedIndex === index).toString(),\n },\n on: {\n click: function ($event) {\n $event.preventDefault();\n return _vm.onOptionClickHandler(index)\n },\n mousedown: _vm.onOptionMouseDownHandler,\n },\n },\n [\n _c(\"span\", { attrs: { \"data-ui\": \"p-select-option-title\" } }, [\n _vm._v(\"\\n \" + _vm._s(option.text) + \"\\n \"),\n ]),\n _vm._v(\" \"),\n option.subtitle\n ? _c(\n \"span\",\n {\n staticClass: \"p-select__option__subtitle\",\n attrs: { \"data-ui\": \"p-select-option-subtitle\" },\n },\n [_vm._v(_vm._s(option.subtitle))]\n )\n : _vm._e(),\n ]\n )\n }),\n 0\n ),\n ])\n};\nvar __vue_staticRenderFns__$_ = [];\n__vue_render__$_._withStripped = true;\n\n /* style */\n const __vue_inject_styles__$_ = undefined;\n /* scoped */\n const __vue_scope_id__$_ = \"data-v-bbde53f0\";\n /* module identifier */\n const __vue_module_identifier__$_ = undefined;\n /* functional template */\n const __vue_is_functional_template__$_ = false;\n /* style inject */\n \n /* style inject SSR */\n \n /* style inject shadow dom */\n \n\n \n const __vue_component__$_ = /*#__PURE__*/normalizeComponent(\n { render: __vue_render__$_, staticRenderFns: __vue_staticRenderFns__$_ },\n __vue_inject_styles__$_,\n __vue_script__$Z,\n __vue_scope_id__$_,\n __vue_is_functional_template__$_,\n __vue_module_identifier__$_,\n false,\n undefined,\n undefined,\n undefined\n );\n\nvar script$Y = defineComponent({\r\n name: 'PSelect',\r\n components: { PInput: __vue_component__$$, PSelectCore: __vue_component__$_ },\r\n props: {\r\n value: { type: [String, Number], default: null },\r\n label: { type: String, default: null },\r\n options: { type: Array, required: true },\r\n defaultOption: { type: String, default: '' },\r\n id: { type: String, default: '' },\r\n dataUi: { type: String, default: null },\r\n info: { type: String, default: null },\r\n hint: { type: String, default: null },\r\n hideDetails: { type: Boolean, default: false },\r\n inlineLabel: { type: Boolean, default: false },\r\n validation: { type: Object, default: () => ({ firstErrorMessage: null }) },\r\n ariaLabelledby: { type: String, default: '' },\r\n focus: { type: [String, Array], default: 'dark' },\r\n },\r\n setup(props, { emit }) {\r\n const internalId = useIdGenerator('p-select').next();\r\n const ariaSelect = ref(null);\r\n const labelId = ref('');\r\n const customFocus = useCustomFocus(props.focus);\r\n const onDefaultValueSelectedHandler = (value) => {\r\n emit('input', value);\r\n };\r\n onMounted(() => {\r\n if (props.label && props.ariaLabelledby) {\r\n logError('P-Select with both label and aria-labelledby props detected. Select the correct label for the element and remove the other prop.');\r\n return;\r\n }\r\n if (!props.label && !props.ariaLabelledby) {\r\n logError('P-Select without valid label detected. Please label the component with either the label or aria-labelledby props');\r\n return;\r\n }\r\n // This is required as, without a reimplementation, the label inside PInput cannot\r\n // accept an id prop value. This is a Vuetify limitation and therefore this code should\r\n // be removed if v-label is ever removed from PInput.\r\n if (ariaSelect.value && ariaSelect.value.$el) {\r\n let labelElement;\r\n if (props.ariaLabelledby) {\r\n labelElement = document.querySelector(`#${props.ariaLabelledby}`);\r\n }\r\n else {\r\n labelElement = ariaSelect.value.$el.querySelector('label');\r\n if (labelElement) {\r\n labelId.value = `${labelElement.getAttribute('for')}-label`;\r\n labelElement.setAttribute('id', labelId.value);\r\n labelElement.removeAttribute('for');\r\n }\r\n }\r\n if (!labelElement) {\r\n return;\r\n }\r\n labelElement.addEventListener('click', (e) => {\r\n // Focus combobox on label click. This is standard functionality when using\r\n // for-id to link a label. Which cannot be done here.\r\n e.preventDefault();\r\n ariaSelect.value.$el.querySelector('[role=\"combobox\"]').focus();\r\n });\r\n }\r\n });\r\n return {\r\n ariaSelect,\r\n labelId,\r\n customFocus,\r\n onDefaultValueSelectedHandler,\r\n internalId,\r\n };\r\n },\r\n});\n\n/* script */\nconst __vue_script__$Y = script$Y;\n\n/* template */\nvar __vue_render__$Z = function () {\n var _vm = this;\n var _h = _vm.$createElement;\n var _c = _vm._self._c || _h;\n return _c(\n \"p-input\",\n _vm._g(\n {\n ref: \"ariaSelect\",\n staticClass: \"p-select__container\",\n style: _vm.customFocus,\n attrs: {\n id: _vm.id,\n \"data-ui\": _vm.dataUi,\n label: _vm.label,\n info: _vm.info,\n validation: _vm.validation,\n \"hide-details\": _vm.hideDetails,\n hint: _vm.hint,\n \"inline-label\": _vm.inlineLabel,\n \"forms-state-manager-id\": _vm.internalId,\n },\n scopedSlots: _vm._u(\n [\n {\n key: \"default\",\n fn: function (ref) {\n var on = ref.on;\n var attrs = ref.attrs;\n if (attrs === void 0) attrs = {};\n return [\n _c(\n \"p-select-core\",\n _vm._g(\n {\n class: [\n \"input-control\",\n \"p-focus-\" + (_vm.customFocus ? \"custom\" : _vm.focus),\n ],\n attrs: {\n id: attrs.id,\n \"aria-required\": attrs[\"aria-required\"],\n \"aria-invalid\": attrs[\"aria-invalid\"],\n \"aria-describedby\": attrs[\"aria-describedby\"],\n \"aria-labelledby\": _vm.ariaLabelledby || _vm.labelId,\n options: _vm.options,\n \"default-option\": _vm.defaultOption,\n value: _vm.value,\n \"data-ui\": attrs[\"data-ui\"],\n },\n on: {\n \"input-default\": _vm.onDefaultValueSelectedHandler,\n },\n },\n on\n )\n ),\n ]\n },\n },\n {\n key: \"post-label-input\",\n fn: function () {\n return [_vm._t(\"label-info\")]\n },\n proxy: true,\n },\n ],\n null,\n true\n ),\n },\n _vm.$listeners\n )\n )\n};\nvar __vue_staticRenderFns__$Z = [];\n__vue_render__$Z._withStripped = true;\n\n /* style */\n const __vue_inject_styles__$Z = undefined;\n /* scoped */\n const __vue_scope_id__$Z = undefined;\n /* module identifier */\n const __vue_module_identifier__$Z = undefined;\n /* functional template */\n const __vue_is_functional_template__$Z = false;\n /* style inject */\n \n /* style inject SSR */\n \n /* style inject shadow dom */\n \n\n \n const __vue_component__$Z = /*#__PURE__*/normalizeComponent(\n { render: __vue_render__$Z, staticRenderFns: __vue_staticRenderFns__$Z },\n __vue_inject_styles__$Z,\n __vue_script__$Y,\n __vue_scope_id__$Z,\n __vue_is_functional_template__$Z,\n __vue_module_identifier__$Z,\n false,\n undefined,\n undefined,\n undefined\n );\n\nvar i18n$7 = {\r\n messages: {\r\n nl: {\r\n placeholder: 'Zoeken',\r\n },\r\n },\r\n};\n\nvar script$X = defineComponent({\r\n name: 'PSearch',\r\n components: { VTextField, PInput: __vue_component__$$ },\r\n i18n: i18n$7,\r\n props: {\r\n id: { type: String, default: undefined },\r\n value: { type: [String, Number, Boolean], default: undefined },\r\n autofocus: { type: Boolean, default: false },\r\n readonly: { type: Boolean, default: false },\r\n disabled: { type: Boolean, default: false },\r\n dataUi: { type: String, default: null },\r\n clearable: { type: Boolean, default: false },\r\n placeholder: { type: String, default: '' },\r\n debounceTimeout: { type: Number, default: 200 },\r\n focus: { type: [String, Array], default: 'dark' },\r\n },\r\n setup(props, { emit }) {\r\n const internalId = useIdGenerator('p-search').next();\r\n const searchValue = ref(props.value);\r\n const customFocus = useCustomFocus(props.focus);\r\n let debounce = null;\r\n const handleInput = (payload) => {\r\n clearTimeout(debounce);\r\n debounce = setTimeout(() => {\r\n emit('input-debounced', payload);\r\n }, props.debounceTimeout);\r\n };\r\n const { t } = useI18n();\r\n const inputPlaceholder = props.placeholder || t('placeholder');\r\n return {\r\n searchValue,\r\n handleInput,\r\n inputPlaceholder,\r\n customFocus,\r\n internalId,\r\n };\r\n },\r\n});\n\n/* script */\nconst __vue_script__$X = script$X;\n/* template */\nvar __vue_render__$Y = function () {\n var _vm = this;\n var _h = _vm.$createElement;\n var _c = _vm._self._c || _h;\n return _c(\n \"p-input\",\n _vm._g(\n {\n class: [\n \"p-search\",\n \"p-focus-\" + (_vm.customFocus ? \"custom\" : _vm.focus),\n ],\n style: _vm.customFocus,\n attrs: {\n id: _vm.id,\n \"data-ui\": _vm.dataUi,\n disabled: _vm.disabled,\n readonly: _vm.readonly,\n autofocus: _vm.autofocus,\n \"hide-details\": \"\",\n \"forms-state-manager-id\": _vm.internalId,\n },\n scopedSlots: _vm._u([\n {\n key: \"default\",\n fn: function (ref) {\n var on = ref.on;\n var attrs = ref.attrs;\n return [\n _c(\n \"v-text-field\",\n _vm._g(\n _vm._b(\n {\n attrs: {\n outlined: \"\",\n \"single-line\": \"\",\n \"append-icon\": \"$icon-zoeken\",\n type: \"text\",\n placeholder: _vm.inputPlaceholder,\n clearable: _vm.clearable,\n \"aria-label\": \"Zoeken\",\n },\n on: { input: _vm.handleInput },\n model: {\n value: _vm.searchValue,\n callback: function ($$v) {\n _vm.searchValue = $$v;\n },\n expression: \"searchValue\",\n },\n },\n \"v-text-field\",\n attrs,\n false\n ),\n on\n )\n ),\n ]\n },\n },\n ]),\n },\n _vm.$listeners\n )\n )\n};\nvar __vue_staticRenderFns__$Y = [];\n__vue_render__$Y._withStripped = true;\n\n /* style */\n const __vue_inject_styles__$Y = undefined;\n /* scoped */\n const __vue_scope_id__$Y = \"data-v-317fbded\";\n /* module identifier */\n const __vue_module_identifier__$Y = undefined;\n /* functional template */\n const __vue_is_functional_template__$Y = false;\n /* style inject */\n \n /* style inject SSR */\n \n /* style inject shadow dom */\n \n\n \n const __vue_component__$Y = /*#__PURE__*/normalizeComponent(\n { render: __vue_render__$Y, staticRenderFns: __vue_staticRenderFns__$Y },\n __vue_inject_styles__$Y,\n __vue_script__$X,\n __vue_scope_id__$Y,\n __vue_is_functional_template__$Y,\n __vue_module_identifier__$Y,\n false,\n undefined,\n undefined,\n undefined\n );\n\nvar i18n$6 = {\r\n messages: {\r\n nl: {\r\n openFilterOptions: 'Open filteropties',\r\n closeFilterOptions: 'Sluit filteropties',\r\n descriptionFilters: 'Als u een filter kiest worden de zoekresultaten direct bijgewerkt.',\r\n descriptionSearch: 'Zoek bijvoorbeeld op een maand of bedrag.',\r\n },\r\n },\r\n};\n\nvar script$W = defineComponent({\r\n name: 'PFilters',\r\n components: { PContainer: __vue_component__$11, PSelect: __vue_component__$Z, PButton: __vue_component__$1f, PSearch: __vue_component__$Y },\r\n i18n: i18n$6,\r\n props: {\r\n id: { type: String, default: '' },\r\n filters: { type: Array, default: () => [] },\r\n search: { type: String, default: null },\r\n searchEnabled: { type: Boolean, default: false },\r\n oneLine: { type: Boolean, default: false },\r\n inlineLabels: { type: Boolean, default: false },\r\n maxColumns: { type: Number, default: maxColumnsDefault },\r\n descriptions: { type: Object, default: undefined },\r\n showToggler: { type: Boolean, default: true },\r\n dataUi: { type: String, default: null },\r\n },\r\n setup(props, { slots, emit }) {\r\n const hasSlot = useHasSlot(slots);\r\n const filtersId = props.id || useIdGenerator('p-filters').next();\r\n const { filters: filterSelects, search: searchValue } = toRefs(props);\r\n const { isMobileOrTabletView } = useBreakpoints();\r\n const { state, setState } = useState({\r\n filters: [],\r\n search: null,\r\n open: false,\r\n });\r\n const showFiltersList = computed(() => {\r\n return (state.open.value || !isMobileOrTabletView.value || props.oneLine || !props.showToggler || props.filters.length === 1);\r\n });\r\n const showDescriptions = computed(() => {\r\n return {\r\n filters: filterSelects.value.length && descriptionFilters !== '' && (state.open.value || !isMobileOrTabletView.value || props.oneLine),\r\n search: props.searchEnabled && descriptionSearch !== '',\r\n };\r\n });\r\n const computedMaxColumns = computed(() => {\r\n const maxColumnsMultiLine = props.inlineLabels && props.maxColumns > maxColumnsInlineLabels ? maxColumnsInlineLabels : props.maxColumns;\r\n return props.oneLine ? maxColumnsOneline : maxColumnsMultiLine;\r\n });\r\n const { t } = useI18n();\r\n let descriptionFilters = t('descriptionFilters');\r\n let descriptionSearch = t('descriptionSearch');\r\n if (props.descriptions) {\r\n descriptionFilters = props.descriptions.filters !== undefined ? props.descriptions.filters : descriptionFilters;\r\n descriptionSearch = props.descriptions.search !== undefined ? props.descriptions.search : descriptionSearch;\r\n }\r\n if (props.oneLine && !props.searchEnabled) {\r\n logWarning('OneLine prop is set, but search is not enabled. This layout is optimized to show the search field on the right.');\r\n }\r\n const onInputHandler = (val, index) => {\r\n setState({\r\n filters: state.filters.value.map((filter, i) => {\r\n if (i !== index) {\r\n return filter;\r\n }\r\n return Object.assign(Object.assign({}, filter), { selected: val });\r\n }),\r\n });\r\n emit('input', {\r\n filters: state.filters.value,\r\n search: state.search.value,\r\n });\r\n };\r\n const onSearchHandler = (val) => {\r\n setState({ search: val });\r\n emit('input', {\r\n filters: state.filters.value,\r\n search: state.search.value,\r\n });\r\n };\r\n const onToggleHandler = () => {\r\n setState({ open: !state.open.value });\r\n };\r\n watch(() => searchValue.value, (newSearch) => {\r\n setState({ search: newSearch });\r\n });\r\n watch(() => filterSelects.value, (newFilters) => {\r\n setState({ filters: newFilters ? newFilters.map(({ id, label, selected }) => ({ id, label, selected })) : [] });\r\n });\r\n return {\r\n filtersId,\r\n filterSelects,\r\n descriptionFilters,\r\n descriptionSearch,\r\n showFiltersList,\r\n showDescriptions,\r\n computedMaxColumns,\r\n isMobileOrTabletView,\r\n filtersState: state.filters,\r\n searchState: state.search,\r\n openState: state.open,\r\n hasSlot,\r\n onInputHandler,\r\n onSearchHandler,\r\n onToggleHandler,\r\n };\r\n },\r\n});\n\n/* script */\nconst __vue_script__$W = script$W;\n/* template */\nvar __vue_render__$X = function () {\n var _vm = this;\n var _h = _vm.$createElement;\n var _c = _vm._self._c || _h;\n return _vm.filterSelects.length > 0 || _vm.searchEnabled\n ? _c(\n \"div\",\n {\n class: [\"p-filters\", { \"p-filters--one-line\": _vm.oneLine }],\n attrs: { \"data-ui\": _vm.dataUi || _vm.filtersId },\n },\n [\n _vm.showToggler &&\n !_vm.oneLine &&\n _vm.isMobileOrTabletView &&\n _vm.filters.length > 1\n ? _c(\n \"p-container\",\n {\n staticClass: \"px-0 p-filters__toggler\",\n attrs: { fluid: \"\" },\n },\n [\n _c(\n \"p-button\",\n {\n attrs: {\n small: \"\",\n preset: _vm.openState ? \"up\" : \"down\",\n \"aria-controls\": _vm.filtersId + \"-list\",\n \"aria-expanded\": _vm.openState,\n \"data-ui\": (_vm.dataUi || _vm.filtersId) + \"-toggler\",\n },\n on: {\n click: function ($event) {\n return _vm.onToggleHandler()\n },\n },\n },\n [\n _vm._v(\n \"\\n \" +\n _vm._s(\n _vm.$t(\n _vm.openState\n ? \"closeFilterOptions\"\n : \"openFilterOptions\"\n )\n ) +\n \"\\n \"\n ),\n ]\n ),\n ],\n 1\n )\n : _vm._e(),\n _vm._v(\" \"),\n _c(\n \"p-container\",\n { staticClass: \"px-0 p-filters__grid\", attrs: { fluid: \"\" } },\n [\n _c(\n \"div\",\n {\n class: [\n \"p-filters__list\",\n \"p-filters__list--max-col-\" + _vm.computedMaxColumns,\n ],\n attrs: {\n id: _vm.filtersId + \"-list\",\n \"data-ui\": (_vm.dataUi || _vm.filtersId) + \"-filters\",\n role: \"group\",\n \"aria-labelledby\": _vm.filtersId + \"-list-desc\",\n },\n },\n [\n _vm.showFiltersList\n ? [\n _vm._t(\"filters-list\", function () {\n return _vm._l(\n _vm.filterSelects,\n function (filter, index) {\n return _c(\"p-select\", {\n key: filter.id || index,\n attrs: {\n id: filter.id,\n label: filter.label,\n value:\n _vm.filtersState[index].selected ||\n filter.selected,\n \"inline-label\":\n _vm.oneLine ||\n _vm.inlineLabels ||\n filter.inlineLabel,\n info: filter.info,\n options: filter.options,\n \"default-option\": filter.defaultOption,\n \"hide-details\": \"\",\n },\n on: {\n input: function ($event) {\n return _vm.onInputHandler($event, index)\n },\n },\n scopedSlots: _vm._u(\n [\n _vm.hasSlot(\"filter-info-\" + filter.id)\n ? {\n key: \"label-info\",\n fn: function () {\n return [\n _vm._t(\n \"filter-info-\" + filter.id\n ),\n ]\n },\n proxy: true,\n }\n : null,\n ],\n null,\n true\n ),\n })\n }\n )\n }),\n ]\n : _vm._e(),\n ],\n 2\n ),\n _vm._v(\" \"),\n _vm.showDescriptions.filters\n ? _c(\n \"div\",\n {\n staticClass:\n \"pb-4 p-filters__description p-filters__description--filters\",\n attrs: { id: _vm.filtersId + \"-list-desc\" },\n },\n [\n _c(\"span\", { staticClass: \"sr-only\" }, [\n _vm._v(\"Overzicht filters: \"),\n ]),\n _vm._v(\n \"\\n \" + _vm._s(_vm.descriptionFilters) + \"\\n \"\n ),\n ]\n )\n : _vm._e(),\n _vm._v(\" \"),\n _vm.searchEnabled\n ? _c(\n \"div\",\n {\n staticClass: \"p-filters__search\",\n attrs: {\n role: \"group\",\n \"aria-labelledby\": _vm.filtersId + \"-search-desc\",\n },\n },\n [\n _vm._t(\"filters-search\", function () {\n return [\n _c(\"p-search\", {\n attrs: {\n value: _vm.searchState,\n clearable: \"\",\n \"data-ui\":\n (_vm.dataUi || _vm.filtersId) + \"-search\",\n },\n on: { \"input-debounced\": _vm.onSearchHandler },\n }),\n ]\n }),\n ],\n 2\n )\n : _vm._e(),\n _vm._v(\" \"),\n _vm.showDescriptions.search\n ? _c(\n \"div\",\n {\n staticClass:\n \"p-filters__description p-filters__description--search\",\n attrs: { id: _vm.filtersId + \"-search-desc\" },\n },\n [\n _c(\"span\", { staticClass: \"sr-only\" }, [\n _vm._v(\"Zoekfilter: \"),\n ]),\n _vm._v(\n \"\\n \" + _vm._s(_vm.descriptionSearch) + \"\\n \"\n ),\n ]\n )\n : _vm._e(),\n ]\n ),\n ],\n 1\n )\n : _vm._e()\n};\nvar __vue_staticRenderFns__$X = [];\n__vue_render__$X._withStripped = true;\n\n /* style */\n const __vue_inject_styles__$X = undefined;\n /* scoped */\n const __vue_scope_id__$X = \"data-v-403ae144\";\n /* module identifier */\n const __vue_module_identifier__$X = undefined;\n /* functional template */\n const __vue_is_functional_template__$X = false;\n /* style inject */\n \n /* style inject SSR */\n \n /* style inject shadow dom */\n \n\n \n const __vue_component__$X = /*#__PURE__*/normalizeComponent(\n { render: __vue_render__$X, staticRenderFns: __vue_staticRenderFns__$X },\n __vue_inject_styles__$X,\n __vue_script__$W,\n __vue_scope_id__$X,\n __vue_is_functional_template__$X,\n __vue_module_identifier__$X,\n false,\n undefined,\n undefined,\n undefined\n );\n\nvar i18n$5 = {\r\n messages: {\r\n nl: {\r\n amountRows: 'Aantal rijen',\r\n shownResults: 'Resultaten {shownEntries} van de {total}',\r\n unfilteredResults: 'Er zijn geen {itemTypes} gevonden | Er is {filteredLength} {itemTypes} gevonden. | Er zijn {filteredLength} {itemTypes} gevonden.',\r\n filteredResults: 'Er zijn geen {itemTypes} die voldoen aan uw filters. | Er is {filteredLength} {itemTypes} die voldoet aan uw filters. | Er zijn {filteredLength} ' +\r\n '{itemTypes} die voldoen aan uw filters.',\r\n aria: {\r\n selectAsc: '{field}: activeer om oplopend te sorteren',\r\n selectDesc: '{field}: activeer om aflopend te sorteren',\r\n },\r\n noData: 'Geen gegevens beschikbaar',\r\n noFilterData: 'Geen resultaten gevonden',\r\n sort: 'Sorteren op',\r\n sortDirection: {\r\n label: 'Sorteervolgorde',\r\n ascending: 'Oplopend',\r\n descending: 'Aflopend',\r\n },\r\n },\r\n },\r\n};\n\nconst sortingDirection = {\r\n ascending: 'asc',\r\n descending: 'desc',\r\n};\r\nconst itemsPerPageChoices = [20, 50, 100];\r\nconst itemsPerPage = 20;\r\nconst showAll = -1;\n\nclass UseDataTable {\r\n constructor(props) {\r\n this.props = props;\r\n this.customSorter = ref(null);\r\n this.sortOptions = ref({});\r\n if (props.defaultSort) {\r\n this.sortOptions.value = { value: props.defaultSort, order: false };\r\n }\r\n this.itemLength = computed(() => isRef(props.data.items) ? props.data.items.value.length : props.data.items.length);\r\n this.filteredLength = ref(this.itemLength);\r\n this.pageOptions = reactive({\r\n page: 1,\r\n pageCount: 0,\r\n itemsPerPage: props.itemsPerPage,\r\n itemsPerPageChoices: computed(() => {\r\n return [...props.itemsPerPageChoices.filter((_v, key, arr) => (arr[key - 1] || 0) <= this.itemLength.value), showAll].map((c) => ({\r\n text: c >= 0 ? c.toString() : 'Alles',\r\n value: c,\r\n }));\r\n }),\r\n });\r\n this.shownEntries = computed(() => {\r\n const first = (this.pageOptions.itemsPerPage * this.pageOptions.page) - (this.pageOptions.itemsPerPage - 1);\r\n const last = this.pageOptions.itemsPerPage * this.pageOptions.page;\r\n return `${first} - ${last > this.itemLength.value || last < 0 ? this.itemLength.value : last}`;\r\n });\r\n this.toggleSort = this.toggleSort.bind(this);\r\n }\r\n toggleSort(propName, forceOrder) {\r\n const selectedHeader = this.props.data.headers.find(h => h.value === propName);\r\n if (selectedHeader && selectedHeader.sortCustom) {\r\n this.customSorter.value = selectedHeader.sortCustom;\r\n }\r\n else {\r\n this.customSorter.value = null;\r\n }\r\n const setSortingOrder = () => {\r\n if (typeof forceOrder === 'boolean') {\r\n return forceOrder;\r\n }\r\n return isOtherColumn ? false : !this.sortOptions.value.order;\r\n };\r\n const isOtherColumn = typeof this.sortOptions.value.order === 'undefined' || propName !== this.sortOptions.value.value;\r\n this.sortOptions.value = { value: propName || '', order: setSortingOrder() };\r\n }\r\n extractComposable() {\r\n return {\r\n customSorter: this.customSorter,\r\n sortOptions: this.sortOptions,\r\n pageOptions: this.pageOptions,\r\n itemLength: this.itemLength,\r\n filteredLength: this.filteredLength,\r\n shownEntries: this.shownEntries,\r\n toggleSort: this.toggleSort,\r\n };\r\n }\r\n static createMutatableTableOptions(props) {\r\n const sortOptionsRef = ref(props.sortOptions || {});\r\n const pageOptionsRef = ref(props.pageOptions || {});\r\n watch(() => props.sortOptions, (v) => {\r\n sortOptionsRef.value = v || {};\r\n });\r\n watch(() => props.pageOptions, (v) => {\r\n pageOptionsRef.value = v || {};\r\n });\r\n return { sortOptionsRef, pageOptionsRef };\r\n }\r\n}\r\nfunction useDataTable(props) {\r\n return new UseDataTable(props).extractComposable();\r\n}\n\nvar script$V = defineComponent({\r\n name: 'PDataTableDesktop',\r\n i18n: i18n$5,\r\n components: { VDataTable, VIcon },\r\n props: {\r\n customSorter: { type: Function, default: null },\r\n tableData: { type: Object, required: true },\r\n dataUiPrefix: { type: String, default: null },\r\n sortOptions: { type: Object, default: null },\r\n pageOptions: { type: Object, default: null },\r\n disableSort: { type: Boolean, default: false },\r\n disablePagination: { type: Boolean, default: false },\r\n hasTableRowListener: { type: Boolean, default: false },\r\n search: { type: String, default: undefined },\r\n customFilter: { type: Function, default: undefined },\r\n noDataText: { type: String, default: undefined },\r\n noResultsText: { type: String, default: undefined },\r\n },\r\n setup(props, { slots, emit }) {\r\n const hasSlot = useHasSlot(slots);\r\n const { t } = useI18n();\r\n const items = computed(() => {\r\n return isRef(props.tableData.items)\r\n ? props.tableData.items.value\r\n : props.tableData.items;\r\n });\r\n const { sortOptionsRef, pageOptionsRef } = UseDataTable.createMutatableTableOptions(props);\r\n const sortRow = (item) => {\r\n if (!item.sortable) {\r\n return;\r\n }\r\n emit('sort', item.value);\r\n };\r\n const sortingAriaLabels = (header, type) => {\r\n if (props.sortOptions && props.sortOptions.value) {\r\n const headingNotSelected = props.sortOptions.value !== header.value;\r\n const label = t((props.sortOptions.order) ? 'aria.selectAsc' : 'aria.selectDesc', { field: header.text });\r\n if (type === 'sort') {\r\n return !headingNotSelected ? { 'aria-sort': props.sortOptions.order ? 'descending' : 'ascending' } : {};\r\n }\r\n if (type === 'label') {\r\n return label;\r\n }\r\n }\r\n return {};\r\n };\r\n const handleRowEnterPress = (item, evt) => {\r\n if (evt.target && evt.target.tagName === 'TR') {\r\n emit('table-row-click', item);\r\n }\r\n };\r\n return {\r\n handleRowEnterPress,\r\n sortingAriaLabels,\r\n sortRow,\r\n hasSlot,\r\n items,\r\n sortOptionsRef,\r\n pageOptionsRef,\r\n };\r\n },\r\n});\n\n/* script */\nconst __vue_script__$V = script$V;\n/* template */\nvar __vue_render__$W = function () {\n var _vm = this;\n var _h = _vm.$createElement;\n var _c = _vm._self._c || _h;\n return _c(\n \"v-data-table\",\n _vm._b(\n {\n staticClass: \"p-data-table-desktop\",\n attrs: {\n \"hide-default-footer\": \"\",\n \"hide-default-header\": \"\",\n items: _vm.items,\n \"items-per-page\": _vm.pageOptions.itemsPerPage,\n headers: _vm.tableData.headers,\n page: _vm.pageOptionsRef.page,\n \"sort-by\": _vm.sortOptionsRef.value,\n \"sort-desc\": _vm.sortOptionsRef.order,\n \"disable-pagination\": _vm.disablePagination,\n search: _vm.search,\n \"custom-filter\": _vm.customFilter,\n \"no-data-text\": _vm.noDataText || _vm.$t(\"noData\"),\n \"no-results-text\": _vm.noResultsText || _vm.$t(\"noFilterData\"),\n },\n on: {\n \"update:page\": function ($event) {\n return _vm.$set(_vm.pageOptionsRef, \"page\", $event)\n },\n \"update:sortBy\": function ($event) {\n return _vm.$set(_vm.sortOptionsRef, \"value\", $event)\n },\n \"update:sort-by\": function ($event) {\n return _vm.$set(_vm.sortOptionsRef, \"value\", $event)\n },\n \"update:sortDesc\": function ($event) {\n return _vm.$set(_vm.sortOptionsRef, \"order\", $event)\n },\n \"update:sort-desc\": function ($event) {\n return _vm.$set(_vm.sortOptionsRef, \"order\", $event)\n },\n \"page-count\": function ($event) {\n return _vm.$emit(\"update-pagecount\", $event)\n },\n pagination: function ($event) {\n return _vm.$emit(\"update-pagination\", $event)\n },\n },\n scopedSlots: _vm._u(\n [\n {\n key: \"top\",\n fn: function () {\n return [_vm._t(\"top\")]\n },\n proxy: true,\n },\n {\n key: \"header\",\n fn: function () {\n return [\n _c(\"thead\", [\n _c(\n \"tr\",\n _vm._l(_vm.tableData.headers, function (header) {\n return _c(\n \"th\",\n _vm._b(\n {\n key: header.value,\n class: [\n \"p-data-table-desktop__head\",\n \"text-start\",\n {\n \"sorted-asc\":\n _vm.sortOptionsRef.value === header.value &&\n !_vm.sortOptionsRef.order,\n },\n {\n \"sorted-desc\":\n _vm.sortOptionsRef.value === header.value &&\n _vm.sortOptionsRef.order,\n },\n ],\n attrs: {\n scope: \"col\",\n id: \"heading_\" + header.value,\n },\n },\n \"th\",\n Object.assign(\n {},\n header.sortable\n ? _vm.sortingAriaLabels(header, \"sort\")\n : {}\n ),\n false\n ),\n [\n _c(\n \"div\",\n {\n staticClass:\n \"p-data-table-desktop__head-container\",\n },\n [\n _vm.disableSort || !header.sortable\n ? _c(\n \"div\",\n {\n staticClass:\n \"p-data-table-desktop__head--text p-data-table-desktop__head--static\",\n attrs: {\n tabindex: header.sortable ? 0 : null,\n },\n },\n [\n _c(\"span\", [\n _vm._v(_vm._s(header.text)),\n ]),\n ]\n )\n : _c(\n \"button\",\n {\n staticClass:\n \"p-data-table-desktop__head--text\",\n attrs: {\n \"aria-describedby\":\n \"sort-label-\" + header.value,\n },\n on: {\n click: function ($event) {\n return _vm.sortRow(header)\n },\n },\n },\n [\n _c(\n \"span\",\n {\n class: [\n { \"mr-2\": header.sortable },\n ],\n },\n [_vm._v(_vm._s(header.text))]\n ),\n _vm._v(\" \"),\n header.sortable\n ? _c(\n \"v-icon\",\n { attrs: { small: \"\" } },\n [\n _vm._v(\n \"\\n $icon-pijl-beneden\\n \"\n ),\n ]\n )\n : _vm._e(),\n ],\n 1\n ),\n _vm._v(\" \"),\n header.sortable\n ? _c(\n \"div\",\n {\n staticClass: \"d-none\",\n attrs: {\n \"aria-hidden\": \"true\",\n id: \"sort-label-\" + header.value,\n },\n },\n [\n _vm._v(\n \"\\n \" +\n _vm._s(\n _vm.sortingAriaLabels(\n header,\n \"label\"\n )\n ) +\n \"\\n \"\n ),\n ]\n )\n : _vm._e(),\n _vm._v(\" \"),\n _vm.hasSlot(\"info-\" + header.value)\n ? _c(\n \"div\",\n {\n staticClass:\n \"p-data-table-desktop__head--info\",\n },\n [_vm._t(\"info-\" + header.value)],\n 2\n )\n : _vm._e(),\n ]\n ),\n ]\n )\n }),\n 0\n ),\n ]),\n ]\n },\n proxy: true,\n },\n {\n key: \"item\",\n fn: function (ref) {\n var item = ref.item;\n var index = ref.index;\n return [\n _c(\n \"tr\",\n {\n key: item.id || index,\n class: [\n \"p-data-table-desktop__row\",\n {\n \"p-data-table-desktop__row--event\":\n _vm.hasTableRowListener,\n \"p-data-table-desktop__row--parent\":\n item.children && item.children.length,\n },\n ],\n attrs: { tabindex: _vm.hasTableRowListener ? 0 : null },\n on: {\n keypress: function ($event) {\n if (\n !$event.type.indexOf(\"key\") &&\n _vm._k(\n $event.keyCode,\n \"enter\",\n 13,\n $event.key,\n \"Enter\"\n )\n ) {\n return null\n }\n return _vm.handleRowEnterPress(item, $event)\n },\n click: function ($event) {\n return _vm.$emit(\"table-row-click\", item)\n },\n },\n },\n _vm._l(\n _vm.tableData.headers,\n function (header, headerIndex) {\n var _obj;\n return _c(\n \"td\",\n {\n key: headerIndex,\n staticClass: \"p-data-table-desktop__cell\",\n attrs: {\n \"data-ui\": _vm.dataUiPrefix\n ? _vm.dataUiPrefix + \"-\" + header.value\n : null,\n },\n },\n [\n _vm.hasSlot(header.value)\n ? _vm._t(\n header.value,\n null,\n null,\n ((_obj = {}),\n (_obj[header.value] = item[header.value]),\n (_obj.item = item),\n _obj)\n )\n : _c(\"span\", [\n _vm._v(\n _vm._s(\n typeof header.format === \"function\"\n ? header.format(item[header.value])\n : item[header.value]\n )\n ),\n ]),\n ],\n 2\n )\n }\n ),\n 0\n ),\n _vm._v(\" \"),\n _vm._l(item.children, function (child, childIndex) {\n return _c(\n \"tr\",\n {\n key: index + \"-\" + childIndex,\n class: [\n \"p-data-table-desktop__row\",\n {\n \"p-data-table-desktop__row--event\":\n _vm.hasTableRowListener,\n \"p-data-table-desktop__row--child\":\n childIndex !== item.children.length - 1,\n },\n ],\n attrs: { tabindex: _vm.hasTableRowListener ? 0 : null },\n on: {\n keypress: function ($event) {\n if (\n !$event.type.indexOf(\"key\") &&\n _vm._k(\n $event.keyCode,\n \"enter\",\n 13,\n $event.key,\n \"Enter\"\n )\n ) {\n return null\n }\n return _vm.handleRowEnterPress(item, $event)\n },\n click: function ($event) {\n return _vm.$emit(\"table-row-click\", child)\n },\n },\n },\n _vm._l(_vm.tableData.headers, function (header) {\n var _obj;\n return _c(\n \"td\",\n {\n key: header.value,\n staticClass: \"p-data-table-desktop__cell\",\n attrs: {\n \"data-ui\": _vm.dataUiPrefix\n ? _vm.dataUiPrefix + \"-\" + header.value\n : null,\n \"data-ui-value\": !child[header.value]\n ? item[header.value]\n : null,\n },\n },\n [\n _vm.hasSlot(header.value)\n ? _vm._t(\n header.value,\n null,\n null,\n ((_obj = {}),\n (_obj[header.value] = child[header.value]),\n (_obj.item = child),\n _obj)\n )\n : !child[header.value]\n ? _c(\"span\", { staticClass: \"sr-only\" }, [\n _vm._v(\n _vm._s(\n typeof header.format === \"function\"\n ? header.format(item[header.value])\n : item[header.value]\n )\n ),\n ])\n : _c(\"span\", [\n _vm._v(\n _vm._s(\n typeof header.format === \"function\"\n ? header.format(child[header.value])\n : child[header.value]\n )\n ),\n ]),\n ],\n 2\n )\n }),\n 0\n )\n }),\n ]\n },\n },\n ],\n null,\n true\n ),\n },\n \"v-data-table\",\n Object.assign(\n {},\n _vm.customSorter ? { \"custom-sort\": _vm.customSorter } : {}\n ),\n false\n )\n )\n};\nvar __vue_staticRenderFns__$W = [];\n__vue_render__$W._withStripped = true;\n\n /* style */\n const __vue_inject_styles__$W = undefined;\n /* scoped */\n const __vue_scope_id__$W = \"data-v-363756aa\";\n /* module identifier */\n const __vue_module_identifier__$W = undefined;\n /* functional template */\n const __vue_is_functional_template__$W = false;\n /* style inject */\n \n /* style inject SSR */\n \n /* style inject shadow dom */\n \n\n \n const __vue_component__$W = /*#__PURE__*/normalizeComponent(\n { render: __vue_render__$W, staticRenderFns: __vue_staticRenderFns__$W },\n __vue_inject_styles__$W,\n __vue_script__$V,\n __vue_scope_id__$W,\n __vue_is_functional_template__$W,\n __vue_module_identifier__$W,\n false,\n undefined,\n undefined,\n undefined\n );\n\nfunction sortFunctionality(sortOptions) {\r\n function onSortBy(v) {\r\n sortOptions.value.value = v;\r\n }\r\n function onSortDesc(direction) {\r\n sortOptions.value.order = direction === sortingDirection.descending;\r\n }\r\n return {\r\n onSortBy,\r\n onSortDesc,\r\n };\r\n}\r\nfunction useCustomSorter() {\r\n function getSortHeaders(headers) {\r\n return headers.filter(head => head.sortable).map(head => ({ text: head.text, value: head.value }));\r\n }\r\n return {\r\n sortFunctionality,\r\n getSortHeaders,\r\n };\r\n}\n\nvar script$U = defineComponent({\r\n name: 'PDataTableMobile',\r\n i18n: i18n$5,\r\n components: { VDataTable, PSelect: __vue_component__$Z },\r\n props: {\r\n dataUiPrefix: { type: String, default: null },\r\n customSorter: { type: Function, default: null },\r\n tableData: { type: Object, required: true },\r\n sortOptions: { type: Object, default: null },\r\n pageOptions: { type: Object, default: null },\r\n disableSort: { type: Boolean, default: false },\r\n disablePagination: { type: Boolean, default: false },\r\n search: { type: String, default: undefined },\r\n hasTableRowListener: { type: Boolean, default: false },\r\n customFilter: { type: Function, default: undefined },\r\n },\r\n setup(props, { slots, emit }) {\r\n const { t } = useI18n();\r\n const hasSlot = useHasSlot(slots);\r\n const items = computed(() => {\r\n return isRef(props.tableData.items)\r\n ? props.tableData.items.value\r\n : props.tableData.items;\r\n });\r\n const customSorterRef = ref(props.customSorter);\r\n const sortDirectionArray = [{\r\n text: t('sortDirection.descending'),\r\n value: sortingDirection.descending,\r\n }, {\r\n text: t('sortDirection.ascending'),\r\n value: sortingDirection.ascending,\r\n }];\r\n const sortDirection = ref(sortingDirection.descending);\r\n const { sortOptionsRef, pageOptionsRef } = UseDataTable.createMutatableTableOptions(props);\r\n const { getSortHeaders, sortFunctionality } = useCustomSorter();\r\n const { onSortDesc, onSortBy } = sortFunctionality(sortOptionsRef);\r\n const onSortDirectionChange = (direction) => {\r\n sortDirection.value = direction;\r\n onSortDesc(direction);\r\n onSortChange();\r\n };\r\n const onSortByChange = (v) => {\r\n onSortBy(v);\r\n onSortChange();\r\n };\r\n const onSortChange = () => {\r\n emit('sort', sortOptionsRef.value.value, sortOptionsRef.value.order);\r\n };\r\n return {\r\n hasSlot,\r\n items,\r\n sortOptionsRef,\r\n customSorterRef,\r\n pageOptionsRef,\r\n sortDirectionArray,\r\n sortDirection,\r\n onSortDirectionChange,\r\n sortHeaders: getSortHeaders(props.tableData.headers),\r\n onSortBy: onSortByChange,\r\n };\r\n },\r\n});\n\n/* script */\nconst __vue_script__$U = script$U;\n/* template */\nvar __vue_render__$V = function () {\n var _vm = this;\n var _h = _vm.$createElement;\n var _c = _vm._self._c || _h;\n return _c(\n \"v-data-table\",\n _vm._b(\n {\n staticClass: \"p-data-table-mobile\",\n class: _vm.hasSlot(\"top\") ? \"has-top\" : \"\",\n attrs: {\n \"hide-default-footer\": \"\",\n headers: _vm.tableData.headers,\n items: _vm.items,\n \"items-per-page\": _vm.pageOptions.itemsPerPage,\n page: _vm.pageOptionsRef.page,\n \"sort-by\": _vm.sortOptionsRef.value,\n \"sort-desc\": _vm.sortOptionsRef.order,\n \"disable-pagination\": _vm.disablePagination,\n \"disable-sort\": _vm.disableSort,\n search: _vm.search,\n \"custom-filter\": _vm.customFilter,\n \"hide-default-header\": \"\",\n },\n on: {\n \"update:page\": function ($event) {\n return _vm.$set(_vm.pageOptionsRef, \"page\", $event)\n },\n \"update:sortBy\": function ($event) {\n return _vm.$set(_vm.sortOptionsRef, \"value\", $event)\n },\n \"update:sort-by\": function ($event) {\n return _vm.$set(_vm.sortOptionsRef, \"value\", $event)\n },\n \"update:sortDesc\": function ($event) {\n return _vm.$set(_vm.sortOptionsRef, \"order\", $event)\n },\n \"update:sort-desc\": function ($event) {\n return _vm.$set(_vm.sortOptionsRef, \"order\", $event)\n },\n \"page-count\": function ($event) {\n return _vm.$emit(\"update-pagecount\", $event)\n },\n pagination: function ($event) {\n return _vm.$emit(\"update-pagination\", $event)\n },\n },\n scopedSlots: _vm._u(\n [\n {\n key: \"top\",\n fn: function () {\n return [_vm._t(\"top\")]\n },\n proxy: true,\n },\n !_vm.disableSort && _vm.sortHeaders.length\n ? {\n key: \"header\",\n fn: function () {\n return [\n _c(\n \"thead\",\n {\n staticClass:\n \"v-data-table-header v-data-table-header-mobile\",\n },\n [\n _c(\"tr\", [\n _c(\"th\", { attrs: { id: \"custom-sort-header\" } }, [\n _c(\n \"div\",\n {\n staticClass:\n \"v-data-table-header-mobile__wrapper mb-5\",\n },\n [\n _c(\n \"div\",\n {\n staticClass:\n \"p-data-table-header-mobile__wrapper__sorting d-flex flex-column\",\n },\n [\n _c(\"p-select\", {\n attrs: {\n options: _vm.sortHeaders,\n \"hide-details\": \"\",\n value: Array.isArray(\n _vm.sortOptionsRef.value\n )\n ? _vm.sortOptionsRef.value[0]\n : _vm.sortOptionsRef.value,\n label: _vm.$t(\"sort\"),\n \"data-ui\": _vm.dataUiPrefix\n ? _vm.dataUiPrefix + \"-sortby\"\n : null,\n },\n on: { input: _vm.onSortBy },\n }),\n _vm._v(\" \"),\n _c(\"p-select\", {\n attrs: {\n options: _vm.sortDirectionArray,\n value: _vm.sortDirection,\n \"hide-details\": \"\",\n label: _vm.$t(\"sortDirection.label\"),\n \"data-ui\": _vm.dataUiPrefix\n ? _vm.dataUiPrefix +\n \"-sortdirection\"\n : null,\n },\n on: {\n input: _vm.onSortDirectionChange,\n },\n }),\n ],\n 1\n ),\n ]\n ),\n ]),\n ]),\n ]\n ),\n ]\n },\n proxy: true,\n }\n : null,\n {\n key: \"item\",\n fn: function (ref) {\n var item = ref.item;\n var index = ref.index;\n return [\n _c(\n \"tr\",\n {\n class: [\n \"p-data-table-mobile__row\",\n {\n \"p-data-table-mobile__row--parent\":\n item.children && item.children.length,\n \"p-data-table-mobile__row--event\":\n _vm.hasTableRowListener,\n },\n ],\n on: {\n keypress: function ($event) {\n if (\n !$event.type.indexOf(\"key\") &&\n _vm._k(\n $event.keyCode,\n \"enter\",\n 13,\n $event.key,\n \"Enter\"\n )\n ) {\n return null\n }\n return _vm.$emit(\"table-row-click\", item)\n },\n click: function ($event) {\n return _vm.$emit(\"table-row-click\", item)\n },\n },\n },\n _vm._l(_vm.tableData.headers, function (header) {\n var _obj;\n return _c(\n \"td\",\n {\n key: index + \"-\" + header.value,\n staticClass:\n \"p-data-table-mobile__cell v-data-table__mobile-row\",\n attrs: {\n \"data-ui\": _vm.dataUiPrefix\n ? _vm.dataUiPrefix + \"-\" + header.value\n : null,\n },\n },\n [\n _vm.hasSlot(header.value)\n ? _c(\n \"div\",\n {\n staticClass: \"p-data-table-mobile__row\",\n class: header.hasLabel\n ? \"d-flex flex-column justify-space-between\"\n : \"\",\n },\n [\n header.hasLabel\n ? _c(\"strong\", [\n _vm._v(_vm._s(header.text)),\n ])\n : _vm._e(),\n _vm._v(\" \"),\n _vm._t(\n header.value,\n null,\n null,\n ((_obj = {}),\n (_obj[header.value] = item[header.value]),\n (_obj.item = item),\n _obj)\n ),\n ],\n 2\n )\n : _c(\n \"div\",\n {\n staticClass:\n \"p-data-table-mobile__row d-flex flex-column justify-space-between\",\n },\n [\n _c(\"strong\", [_vm._v(_vm._s(header.text))]),\n _vm._v(\" \"),\n _c(\"span\", [\n _vm._v(\n _vm._s(\n typeof header.format === \"function\"\n ? header.format(item[header.value])\n : item[header.value]\n )\n ),\n ]),\n ]\n ),\n ]\n )\n }),\n 0\n ),\n _vm._v(\" \"),\n _vm._l(item.children, function (child, childIndex) {\n return _c(\n \"tr\",\n {\n key: \"child-row-\" + index + \"-\" + childIndex,\n class: [\n \"p-data-table-mobile__row\",\n {\n \"p-data-table-mobile__row--child\":\n childIndex !== item.children.length - 1,\n \"p-data-table-mobile__row--event\":\n _vm.hasTableRowListener,\n },\n ],\n on: {\n keypress: function ($event) {\n if (\n !$event.type.indexOf(\"key\") &&\n _vm._k(\n $event.keyCode,\n \"enter\",\n 13,\n $event.key,\n \"Enter\"\n )\n ) {\n return null\n }\n return _vm.$emit(\"table-row-click\", child)\n },\n click: function ($event) {\n return _vm.$emit(\"table-row-click\", child)\n },\n },\n },\n _vm._l(_vm.tableData.headers, function (header) {\n var _obj;\n return _c(\n \"td\",\n {\n key:\n \"child-row-\" +\n index +\n \"-\" +\n childIndex +\n \"-\" +\n header.value,\n class: [\n \"p-data-table-mobile__cell\",\n \"v-data-table__mobile-row\",\n {\n \"pl-8\": child[header.value],\n \"sr-only\": !child[header.value],\n },\n ],\n },\n [\n _vm.hasSlot(header.value)\n ? _c(\n \"div\",\n {\n staticClass:\n \"p-data-table-mobile__row p-data-table-mobile__child\",\n class: header.hasLabel\n ? \"d-flex flex-column justify-space-between\"\n : \"\",\n },\n [\n header.hasLabel\n ? _c(\"strong\", [\n _vm._v(_vm._s(header.text)),\n ])\n : _vm._e(),\n _vm._v(\" \"),\n _vm._t(\n header.value,\n null,\n null,\n ((_obj = {}),\n (_obj[header.value] =\n child[header.value]),\n (_obj.item = child),\n _obj)\n ),\n ],\n 2\n )\n : _c(\n \"div\",\n {\n staticClass:\n \"p-data-table-mobile__row p-data-table-mobile__child d-flex flex-column justify-space-between\",\n },\n [\n _c(\"strong\", [_vm._v(_vm._s(header.text))]),\n _vm._v(\" \"),\n !child[header.value]\n ? _c(\"span\", [\n _vm._v(\n _vm._s(\n typeof header.format ===\n \"function\"\n ? header.format(\n item[header.value]\n )\n : item[header.value]\n )\n ),\n ])\n : _c(\"span\", [\n _vm._v(\n _vm._s(\n typeof header.format ===\n \"function\"\n ? header.format(\n child[header.value]\n )\n : child[header.value]\n )\n ),\n ]),\n ]\n ),\n ]\n )\n }),\n 0\n )\n }),\n ]\n },\n },\n ],\n null,\n true\n ),\n },\n \"v-data-table\",\n Object.assign(\n {},\n _vm.customSorter ? { \"custom-sort\": _vm.customSorter } : {}\n ),\n false\n )\n )\n};\nvar __vue_staticRenderFns__$V = [];\n__vue_render__$V._withStripped = true;\n\n /* style */\n const __vue_inject_styles__$V = undefined;\n /* scoped */\n const __vue_scope_id__$V = undefined;\n /* module identifier */\n const __vue_module_identifier__$V = undefined;\n /* functional template */\n const __vue_is_functional_template__$V = false;\n /* style inject */\n \n /* style inject SSR */\n \n /* style inject shadow dom */\n \n\n \n const __vue_component__$V = /*#__PURE__*/normalizeComponent(\n { render: __vue_render__$V, staticRenderFns: __vue_staticRenderFns__$V },\n __vue_inject_styles__$V,\n __vue_script__$U,\n __vue_scope_id__$V,\n __vue_is_functional_template__$V,\n __vue_module_identifier__$V,\n false,\n undefined,\n undefined,\n undefined\n );\n\nvar dayjs_min = createCommonjsModule(function (module, exports) {\n!function(t,e){module.exports=e();}(commonjsGlobal,(function(){var t=1e3,e=6e4,n=36e5,r=\"millisecond\",i=\"second\",s=\"minute\",u=\"hour\",a=\"day\",o=\"week\",c=\"month\",f=\"quarter\",h=\"year\",d=\"date\",l=\"Invalid Date\",$=/^(\\d{4})[-/]?(\\d{1,2})?[-/]?(\\d{0,2})[Tt\\s]*(\\d{1,2})?:?(\\d{1,2})?:?(\\d{1,2})?[.:]?(\\d+)?$/,y=/\\[([^\\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,M={name:\"en\",weekdays:\"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday\".split(\"_\"),months:\"January_February_March_April_May_June_July_August_September_October_November_December\".split(\"_\"),ordinal:function(t){var e=[\"th\",\"st\",\"nd\",\"rd\"],n=t%100;return \"[\"+t+(e[(n-20)%10]||e[n]||e[0])+\"]\"}},m=function(t,e,n){var r=String(t);return !r||r.length>=e?t:\"\"+Array(e+1-r.length).join(n)+t},v={s:m,z:function(t){var e=-t.utcOffset(),n=Math.abs(e),r=Math.floor(n/60),i=n%60;return (e<=0?\"+\":\"-\")+m(r,2,\"0\")+\":\"+m(i,2,\"0\")},m:function t(e,n){if(e.date()1)return t(u[0])}else {var a=e.name;D[a]=e,i=a;}return !r&&i&&(g=i),i||!r&&g},O=function(t,e){if(S(t))return t.clone();var n=\"object\"==typeof e?e:{};return n.date=t,n.args=arguments,new _(n)},b=v;b.l=w,b.i=S,b.w=function(t,e){return O(t,{locale:e.$L,utc:e.$u,x:e.$x,$offset:e.$offset})};var _=function(){function M(t){this.$L=w(t.locale,null,!0),this.parse(t),this.$x=this.$x||t.x||{},this[p]=!0;}var m=M.prototype;return m.parse=function(t){this.$d=function(t){var e=t.date,n=t.utc;if(null===e)return new Date(NaN);if(b.u(e))return new Date;if(e instanceof Date)return new Date(e);if(\"string\"==typeof e&&!/Z$/i.test(e)){var r=e.match($);if(r){var i=r[2]-1||0,s=(r[7]||\"0\").substring(0,3);return n?new Date(Date.UTC(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,s)):new Date(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,s)}}return new Date(e)}(t),this.init();},m.init=function(){var t=this.$d;this.$y=t.getFullYear(),this.$M=t.getMonth(),this.$D=t.getDate(),this.$W=t.getDay(),this.$H=t.getHours(),this.$m=t.getMinutes(),this.$s=t.getSeconds(),this.$ms=t.getMilliseconds();},m.$utils=function(){return b},m.isValid=function(){return !(this.$d.toString()===l)},m.isSame=function(t,e){var n=O(t);return this.startOf(e)<=n&&n<=this.endOf(e)},m.isAfter=function(t,e){return O(t)68?1900:2e3)};var a=function(e){return function(t){this[e]=+t;}},f=[/[+-]\\d\\d:?(\\d\\d)?|Z/,function(e){(this.zone||(this.zone={})).offset=function(e){if(!e)return 0;if(\"Z\"===e)return 0;var t=e.match(/([+-]|\\d\\d)/g),n=60*t[1]+(+t[2]||0);return 0===n?0:\"+\"===t[0]?-n:n}(e);}],h=function(e){var t=o[e];return t&&(t.indexOf?t:t.s.concat(t.f))},u=function(e,t){var n,r=o.meridiem;if(r){for(var i=1;i<=24;i+=1)if(e.indexOf(r(i,0,t))>-1){n=i>12;break}}else n=e===(t?\"pm\":\"PM\");return n},d={A:[i,function(e){this.afternoon=u(e,!1);}],a:[i,function(e){this.afternoon=u(e,!0);}],S:[/\\d/,function(e){this.milliseconds=100*+e;}],SS:[n,function(e){this.milliseconds=10*+e;}],SSS:[/\\d{3}/,function(e){this.milliseconds=+e;}],s:[r,a(\"seconds\")],ss:[r,a(\"seconds\")],m:[r,a(\"minutes\")],mm:[r,a(\"minutes\")],H:[r,a(\"hours\")],h:[r,a(\"hours\")],HH:[r,a(\"hours\")],hh:[r,a(\"hours\")],D:[r,a(\"day\")],DD:[n,a(\"day\")],Do:[i,function(e){var t=o.ordinal,n=e.match(/\\d+/);if(this.day=n[0],t)for(var r=1;r<=31;r+=1)t(r).replace(/\\[|\\]/g,\"\")===e&&(this.day=r);}],M:[r,a(\"month\")],MM:[n,a(\"month\")],MMM:[i,function(e){var t=h(\"months\"),n=(h(\"monthsShort\")||t.map((function(e){return e.slice(0,3)}))).indexOf(e)+1;if(n<1)throw new Error;this.month=n%12||n;}],MMMM:[i,function(e){var t=h(\"months\").indexOf(e)+1;if(t<1)throw new Error;this.month=t%12||t;}],Y:[/[+-]?\\d+/,a(\"year\")],YY:[n,function(e){this.year=s(e);}],YYYY:[/\\d{4}/,a(\"year\")],Z:f,ZZ:f};function c(n){var r,i;r=n,i=o&&o.formats;for(var s=(n=r.replace(/(\\[[^\\]]+])|(LTS?|l{1,4}|L{1,4})/g,(function(t,n,r){var o=r&&r.toUpperCase();return n||i[r]||e[r]||i[o].replace(/(\\[[^\\]]+])|(MMMM|MM|DD|dddd)/g,(function(e,t,n){return t||n.slice(1)}))}))).match(t),a=s.length,f=0;f-1)return new Date((\"X\"===t?1e3:1)*e);var r=c(t)(e),i=r.year,o=r.month,s=r.day,a=r.hours,f=r.minutes,h=r.seconds,u=r.milliseconds,d=r.zone,l=new Date,m=s||(i||o?1:l.getDate()),M=i||l.getFullYear(),Y=0;i&&!o||(Y=o>0?o-1:l.getMonth());var p=a||0,v=f||0,D=h||0,g=u||0;return d?new Date(Date.UTC(M,Y,m,p,v,D,g+60*d.offset*1e3)):n?new Date(Date.UTC(M,Y,m,p,v,D,g)):new Date(M,Y,m,p,v,D,g)}catch(e){return new Date(\"\")}}(t,a,r),this.init(),d&&!0!==d&&(this.$L=this.locale(d).$L),u&&t!=this.format(a)&&(this.$d=new Date(\"\")),o={};}else if(a instanceof Array)for(var l=a.length,m=1;m<=l;m+=1){s[1]=a[m-1];var M=n.apply(this,s);if(M.isValid()){this.$d=M.$d,this.$L=M.$L,this.init();break}m===l&&(this.$d=new Date(\"\"));}else i.call(this,e);};}}));\n});\n\ndayjs_min.extend(utc);\r\ndayjs_min.extend(isBetween$1);\r\ndayjs_min.extend(customParseFormat);\r\nconst ISO_FORMAT = 'YYYY-MM-DD';\r\nconst LOCALE_FORMAT = 'DD-MM-YYYY';\r\nconst DATE_LENGTH = 10;\r\nfunction overrideVueI18nD(i18n) {\r\n const i18nWithOverride = i18n;\r\n if (i18nWithOverride.originalD) {\r\n logWarning('VueI18n.d already overridden');\r\n }\r\n else {\r\n i18nWithOverride.originalD = i18n.d;\r\n if (!i18nWithOverride.originalD) {\r\n logWarning('VueI18n instance is missing d method');\r\n }\r\n else {\r\n actualOverrideVueI18nD(i18n);\r\n }\r\n }\r\n return i18n;\r\n}\r\nfunction actualOverrideVueI18nD(i18n) {\r\n i18n.d = function (date, key = '') {\r\n if (!date) {\r\n return '';\r\n }\r\n const result = (key === 'dateTime' || key === 'dateTimeLong') ? date : toDateOrNull(date);\r\n if (!result) {\r\n logWarning(`Unable to convert ${toStringSave(date)} to a Date`);\r\n if (typeof date === 'string') {\r\n return date;\r\n }\r\n return '';\r\n }\r\n return this.originalD ? this.originalD(result, key) : toLocaleString(date, '');\r\n };\r\n}\r\nconst invalidDate = new Date(NaN);\r\nconst invalidDateString = '';\r\nconst invalidDayjs = dayjs_min(NaN);\r\nfunction dateStringFromString(date, invalidValue) {\r\n if (date.length < DATE_LENGTH) {\r\n date = addDashesFromFormat(date, LOCALE_FORMAT);\r\n }\r\n else if (date === dayjs_min(date, ISO_FORMAT).format(ISO_FORMAT)) {\r\n return date;\r\n }\r\n const d = dayjs_min(date, LOCALE_FORMAT);\r\n if (date === d.format(LOCALE_FORMAT)) {\r\n return d.format(ISO_FORMAT);\r\n }\r\n return invalidValue;\r\n}\r\nfunction dateString(date, invalidValue) {\r\n if (date) {\r\n if (typeof date === 'string') {\r\n return dateStringFromString(date, invalidValue);\r\n }\r\n if (date instanceof Date) {\r\n if (!isNaN(date.valueOf())) {\r\n return dayjs_min(date).format(ISO_FORMAT);\r\n }\r\n }\r\n else if (dayjs_min.isDayjs(date) && date.isValid()) {\r\n return dayjs_min(date).format(ISO_FORMAT);\r\n }\r\n }\r\n return invalidValue;\r\n}\r\nfunction dateStringOrEmpty(date) {\r\n return dateString(date, invalidDateString);\r\n}\r\nfunction today() {\r\n return dateStringOrEmpty(new Date());\r\n}\r\nfunction toDayjs(date, invalidValue) {\r\n if (dayjs_min.isDayjs(date) && date.isValid()) {\r\n return date;\r\n }\r\n if (typeof date === 'string' && date.length === DATE_LENGTH) {\r\n const asDayjs = dayjs_min(date, ISO_FORMAT);\r\n if (asDayjs.format(ISO_FORMAT) === date) {\r\n return asDayjs;\r\n }\r\n }\r\n const d = dateString(date, undefined);\r\n return d ? dayjs_min(d, ISO_FORMAT) : invalidValue;\r\n}\r\nfunction toDayjsOrInvalid(date) {\r\n return toDayjs(date, invalidDayjs);\r\n}\r\nfunction toDate(date, invalidValue) {\r\n const asDayjs = toDayjs(date, undefined);\r\n return asDayjs ? asDayjs.toDate() : invalidValue;\r\n}\r\nfunction toDateOrNull(date) {\r\n return toDate(date, null);\r\n}\r\nfunction addDashesFromFormat(date, format) {\r\n let cursor = 0;\r\n return format.split('-').map((value) => {\r\n cursor += value.length;\r\n return date.slice(cursor - value.length, cursor);\r\n }).join('-');\r\n}\r\nfunction toLocaleString(date, invalidValue) {\r\n const asDayjs = toDayjs(date, null);\r\n return asDayjs ? asDayjs.format(LOCALE_FORMAT) : invalidValue;\r\n}\r\nfunction isAfter(date, compDate) {\r\n if (!date && compDate) {\r\n return true; // undefined is infinity\r\n }\r\n return toDayjsOrInvalid(date).isAfter(toDayjsOrInvalid(compDate));\r\n}\r\nfunction isBefore(date, compDate) {\r\n if (!compDate && date) {\r\n return true; // undefined is infinity\r\n }\r\n return toDayjsOrInvalid(date).isBefore(toDayjsOrInvalid(compDate));\r\n}\r\n/**\r\n * Compares a date if it fall between two other dates.\r\n * @param date Date to compare\r\n * @param compDates Array of two dates to compare with\r\n * @param options granularity: Sets the unit to compare with, default `'day'`; inclusive: include both compare dates; default `true`\r\n * @returns Boolean\r\n */\r\nfunction isBetween(date, compDates, options = {}) {\r\n let firstDate = compDates[0];\r\n let lastDate = compDates[1];\r\n if (toDayjsOrInvalid(lastDate).isBefore(toDayjsOrInvalid(firstDate))) {\r\n lastDate = compDates[0];\r\n firstDate = compDates[1];\r\n }\r\n const { granularity = 'day', inclusive = true } = options;\r\n return toDayjsOrInvalid(date).isBetween(toDayjsOrInvalid(firstDate), toDayjsOrInvalid(lastDate), granularity, inclusive ? '[]' : '()');\r\n}\r\nfunction endOf(date, type) {\r\n return dateStringOrEmpty(toDayjsOrInvalid(date).endOf(type));\r\n}\r\nfunction startOf(date, type) {\r\n return dateStringOrEmpty(toDayjsOrInvalid(date).startOf(type));\r\n}\r\nfunction add(date, num, type) {\r\n return dateStringOrEmpty(toDayjsOrInvalid(date).add(num, type));\r\n}\r\nfunction subtract(date, num, type) {\r\n return dateStringOrEmpty(toDayjsOrInvalid(date).subtract(num, type));\r\n}\r\nfunction diff(date1, date2, unit = 'day') {\r\n return toDayjsOrInvalid(date1).diff(toDayjsOrInvalid(date2), unit);\r\n}\r\n/**\r\n * Get the months between two dates in an object with years and months\r\n * @param date1 First date to get month from\r\n * @param date2 Last date to get month from\r\n * @returns Object with years as keys and month numbers (0-11) in an array per year\r\n *\r\n * @example\r\n * ```\r\n * const months = monthsBetween('01-10-2021', '31-03-2022')\r\n * console.log(months) // { '2021': [ 9, 10, 11 ], '2022': [ 0, 1, 2 ] }\r\n * ```\r\n */\r\nfunction monthsBetween(date1, date2 = undefined) {\r\n if (!date1) {\r\n return {};\r\n }\r\n const dayjsDateStart = toDayjsOrInvalid(date1);\r\n const dayjsDateEnd = !date2 ? dayjs_min() : toDayjsOrInvalid(date2);\r\n const list = {};\r\n let startMonth = dayjsDateStart.month();\r\n for (let year = dayjsDateStart.year(); year <= dayjsDateEnd.year(); year++) {\r\n const months = [];\r\n const tillMonth = year < dayjsDateEnd.year() ? 11 : dayjsDateEnd.month();\r\n for (let month = startMonth; month <= tillMonth; month++) {\r\n months.push(month);\r\n if (month === 11) {\r\n startMonth = 0;\r\n }\r\n }\r\n list[year] = months;\r\n }\r\n return list;\r\n}\n\nfunction dateFormat(v) {\r\n return toLocaleString(v, '-');\r\n}\r\nfunction childDateFormat(v) {\r\n return toLocaleString(v, '');\r\n}\r\nfunction percentageFormat(v) {\r\n return `${v} %`;\r\n}\r\nfunction createHeader(caption, prop, options) {\r\n return Object.assign(Object.assign({ sortable: false, filterable: true, hasLabel: true }, options), { text: caption, value: prop });\r\n}\r\nconst getSelectedFilters = (state) => {\r\n return state.filters.filter(({ selected }) => {\r\n return selected;\r\n });\r\n};\r\nconst isNothingSelected = (selectedFilters, searchString) => {\r\n return selectedFilters.length === 0 && !searchString;\r\n};\r\nconst isFilterHit = (filter, item) => {\r\n return String(filter.selected) === String(item[filter.id || filter.label]);\r\n};\r\nconst isSearchHit = (value, searchString) => {\r\n if (typeof value === 'object') {\r\n value = JSON.stringify(value);\r\n }\r\n // to match the shown (Dutch) way of dates to the data type\r\n const dateLikeRegex = /^(\\d{2})[ .-](\\d{2})?-?$/s;\r\n const fullDateRegex = /^(?\\d{2})[ .-](?\\d{2})[ .-]'?((?\\d{4})|(?\\d{2}))$/s;\r\n if (searchString.match(dateLikeRegex)) {\r\n searchString = searchString.replace(dateLikeRegex, (_m, p1, p2) => {\r\n return p2 ? `${p2}-${p1}` : p1;\r\n });\r\n }\r\n if (searchString.match(fullDateRegex)) {\r\n searchString = searchString.replace(fullDateRegex, (_m, ...args) => {\r\n const { d, m, y, Y } = args.pop(); // args.at(-1)\r\n return y ? `${Number(y) <= Number(new Date().getFullYear().toString().slice(-2)) ? '20' : '19'}${y}-${m}-${d}` : `${Y}-${m}-${d}`;\r\n });\r\n }\r\n // to match the shown (Dutch) way of amounts to the data type\r\n const withCentsRegex = /^-?[0-9.]+,(?:\\d|-){0,2}$/s; // 'e.g. 1.234,56' or '-1,23' or '1,-', etc.\r\n const withKSeperatorRegex = /[0-9]+(?:\\.\\d{3})+/s; // 'e.g. 1.234.567'\r\n if (searchString.match(withCentsRegex)) {\r\n searchString = searchString.replace(/[.,]/g, m => (m === '.' ? '' : '.')).replace(/\\.[-0]*$/g, '.00');\r\n value = String(value).match(/\\.\\d{2}/g) ? value : value + '.00';\r\n return String(value) === searchString;\r\n }\r\n else if (searchString.match(withKSeperatorRegex)) {\r\n searchString = searchString.replace('.', '');\r\n }\r\n return String(value).toLowerCase().includes(searchString.toLowerCase());\r\n};\r\nconst canBeSearched = (key, searchableKeys) => {\r\n return searchableKeys.includes(key);\r\n};\r\nconst isAndCombination = (filterHits, selectedFilters) => {\r\n // if multiple filters are selected, item has to have a hit on all\r\n return filterHits.length > 0 && filterHits.length === selectedFilters.length;\r\n};\r\nconst customFilter = ({ filters, searchableKeys, searchFilter }) => (value, search, item) => {\r\n // the custom filter loops over every cell in the datatable and to show the row it needs to return true.\r\n let show = false;\r\n const filterHits = [];\r\n const state = JSON.parse(search);\r\n const selectedFilters = getSelectedFilters(state);\r\n const searchString = state.search;\r\n // if searchFilter prop is set, let it handle it (the whole state, when it has filters, the string when not)\r\n if (searchFilter) {\r\n return searchFilter(value, filters.length > 0 ? state : searchString, item);\r\n }\r\n if (isNothingSelected(selectedFilters, searchString)) {\r\n show = true;\r\n }\r\n for (const filter of selectedFilters) {\r\n if (isFilterHit(filter, item)) {\r\n filterHits.push(true);\r\n }\r\n }\r\n if (searchString) {\r\n return show || shouldShowInCombinationWithSearchString(item, searchableKeys, searchString, selectedFilters, filterHits);\r\n }\r\n else if (isAndCombination(filterHits, selectedFilters)) {\r\n return true;\r\n }\r\n return show;\r\n};\r\nfunction shouldShowInCombinationWithSearchString(item, searchableKeys, searchString, selectedFilters, filterHits) {\r\n for (const [key, val] of Object.entries(item)) {\r\n if (canBeSearched(key, searchableKeys) &&\r\n isSearchHit(val, searchString) &&\r\n (selectedFilters.length === 0 || isAndCombination(filterHits, selectedFilters))) {\r\n return true;\r\n }\r\n }\r\n return false;\r\n}\n\nconst pAriaLiveFunctionsProviderName = 'p-aria-live-functions';\r\nconst pAriaLiveDataProviderName = 'p-aria-live-data';\n\nvar usePAriaLive = () => {\r\n const { announcePolite, announceAssertive } = inject(pAriaLiveFunctionsProviderName);\r\n return {\r\n announcePolite,\r\n announceAssertive,\r\n };\r\n};\n\nvar script$T = defineComponent({\r\n name: 'PDataTable',\r\n i18n: i18n$5,\r\n components: {\r\n PDataTableDesktop: __vue_component__$W,\r\n PDataTableMobile: __vue_component__$V,\r\n VPagination,\r\n PSelect: __vue_component__$Z,\r\n PFilters: __vue_component__$X,\r\n },\r\n props: {\r\n data: { type: Object, required: true },\r\n dataUi: { type: String, default: null },\r\n defaultSort: { type: String, default: null },\r\n defaultSortDescending: { type: Boolean, default: false },\r\n disablePagination: { type: Boolean, default: false },\r\n itemsPerPageChoices: { type: Array, default: () => itemsPerPageChoices },\r\n itemsPerPage: { type: Number, default: itemsPerPage },\r\n disableSort: { type: Boolean, default: false },\r\n filters: { type: Array, default: () => [] },\r\n filterDescriptions: { type: Object, default: undefined },\r\n itemTypesI18n: { type: String, default: undefined },\r\n searchEnabled: { type: Boolean, default: false },\r\n searchInColumns: { type: Array, default: undefined },\r\n searchFilter: { type: Function, default: undefined },\r\n customSearch: { type: String, default: null },\r\n },\r\n setup(props, { listeners, slots, emit }) {\r\n const dataTable = ref(null);\r\n const search = ref(props.customSearch);\r\n const isFiltered = ref(false);\r\n const pageCountLabelId = useIdGenerator('p-data-table-select-input').next();\r\n const { isMobileView, isTabletView } = useBreakpoints();\r\n const dataTableComposables = useDataTable(props);\r\n const { announcePolite } = usePAriaLive();\r\n const { tc } = useI18n();\r\n const showTopFilters = computed(() => (useHasSlot(slots)('top-filters') || !!props.searchFilter || props.searchEnabled || props.filters.length > 0));\r\n const searchableKeys = computed(() => (props.searchInColumns || props.data.headers.filter(({ filterable }) => filterable).map(({ value }) => value)));\r\n const customFilter$1 = computed(() => customFilter({ filters: props.filters, searchableKeys: searchableKeys.value, searchFilter: props.searchFilter }));\r\n const resultsMsg = computed(() => {\r\n return (tc(isFiltered.value ? 'filteredResults' : 'unfilteredResults', dataTableComposables.filteredLength.value, {\r\n filteredLength: dataTableComposables.filteredLength.value,\r\n itemTypes: tc(props.itemTypesI18n || 'results', dataTableComposables.filteredLength.value),\r\n }));\r\n });\r\n const onFiltersInputHandler = (state) => {\r\n search.value = JSON.stringify(state);\r\n isFiltered.value = !isNothingSelected(getSelectedFilters(state), state.search);\r\n emit('filters-state', state);\r\n const a11yMsg = () => announcePolite(resultsMsg.value);\r\n Vue$1.nextTick().then(a11yMsg);\r\n };\r\n const onPaginationUpdateHandler = (event) => {\r\n dataTableComposables.filteredLength.value = event.itemsLength;\r\n emit('update-pagination', Object.assign(Object.assign({}, event), { totalLength: dataTableComposables.itemLength.value }));\r\n };\r\n const onPageOptionChangeHandler = () => {\r\n if (isMobileView.value && dataTable.value) {\r\n const offset = dataTable.value.getBoundingClientRect();\r\n window.scrollTo({ top: offset.top + window.scrollY - 100 });\r\n }\r\n };\r\n watch(() => props.customSearch, (newSearch) => {\r\n search.value = JSON.stringify({ search: newSearch, filters: [] });\r\n });\r\n onMounted(() => {\r\n dataTableComposables.toggleSort(props.defaultSort, props.defaultSortDescending);\r\n });\r\n return Object.assign(Object.assign({}, dataTableComposables), { showTopFilters,\r\n dataTable,\r\n isMobileView,\r\n isTabletView,\r\n customFilter: customFilter$1,\r\n onPageOptionChangeHandler,\r\n onPaginationUpdateHandler,\r\n onFiltersInputHandler,\r\n search,\r\n resultsMsg, hasTableRowListener: !!listeners['table-row-click'], pageCountLabelId,\r\n showAll });\r\n },\r\n});\n\n/* script */\nconst __vue_script__$T = script$T;\n/* template */\nvar __vue_render__$U = function () {\n var _vm = this;\n var _h = _vm.$createElement;\n var _c = _vm._self._c || _h;\n return _c(\n \"div\",\n {\n ref: \"dataTable\",\n staticClass: \"p-data-table\",\n attrs: { \"data-ui\": _vm.dataUi },\n },\n [\n _c(_vm.isMobileView ? \"p-data-table-mobile\" : \"p-data-table-desktop\", {\n tag: \"component\",\n attrs: {\n \"table-data\": _vm.data,\n \"data-ui-prefix\": _vm.dataUi,\n \"sort-options\": _vm.sortOptions,\n \"page-options\": _vm.pageOptions,\n \"custom-sorter\": _vm.customSorter,\n \"custom-filter\": _vm.customFilter,\n \"disable-pagination\": _vm.disablePagination,\n \"disable-sort\": _vm.disableSort,\n \"has-table-row-listener\": _vm.hasTableRowListener,\n search: _vm.search,\n },\n on: {\n \"table-row-click\": function ($event) {\n return _vm.$emit(\"table-row-click\", $event)\n },\n sort: _vm.toggleSort,\n \"update-pagecount\": function ($event) {\n _vm.pageOptions.pageCount = $event;\n },\n \"update-pagination\": _vm.onPaginationUpdateHandler,\n },\n scopedSlots: _vm._u(\n [\n _vm.showTopFilters\n ? {\n key: \"top\",\n fn: function () {\n return [\n _c(\n \"div\",\n { staticClass: \"top-slot\" },\n [\n _vm._t(\"top-filters\", function () {\n return [\n _vm.filters ||\n _vm.searchEnabled ||\n !!_vm.searchFilter\n ? _c(\"p-filters\", {\n attrs: {\n filters: _vm.filters,\n descriptions: _vm.filterDescriptions,\n \"search-enabled\":\n _vm.searchEnabled || !!_vm.searchFilter,\n \"inline-labels\": _vm.filters.length === 1,\n \"one-line\":\n (_vm.searchEnabled ||\n !!_vm.searchFilter) &&\n _vm.filters.length < 3,\n \"data-ui\": _vm.dataUi + \"-filters\",\n },\n on: { input: _vm.onFiltersInputHandler },\n scopedSlots: _vm._u(\n [\n _vm._l(\n Object.keys(_vm.$scopedSlots).filter(\n function (a) {\n return a.startsWith(\n \"filter-info-\"\n )\n }\n ),\n function (slot) {\n return {\n key: slot,\n fn: function (props) {\n return [\n _vm._t(\n slot,\n null,\n null,\n props\n ),\n ]\n },\n }\n }\n ),\n ],\n null,\n true\n ),\n })\n : _vm._e(),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"p-data-table__items-found\" },\n [\n _vm._v(\n \"\\n \" +\n _vm._s(_vm.resultsMsg) +\n \"\\n \"\n ),\n ]\n ),\n ]\n }),\n ],\n 2\n ),\n ]\n },\n proxy: true,\n }\n : null,\n _vm._l(Object.keys(_vm.$scopedSlots), function (slot) {\n return {\n key: slot,\n fn: function (props) {\n return [_vm._t(slot, null, null, props)]\n },\n }\n }),\n ],\n null,\n true\n ),\n }),\n _vm._v(\" \"),\n _vm.itemLength > _vm.pageOptions.itemsPerPageChoices[0].value &&\n !_vm.disablePagination\n ? _c(\n \"div\",\n {\n class: [\n \"p-data-table__navigation\",\n \"d-flex justify-space-between\",\n {\n \"flex-column\": _vm.isMobileView,\n \"pt-9\": !_vm.isMobileView,\n },\n ],\n },\n [\n _c(\"p-select\", {\n staticClass: \"p-data-table__select-input\",\n attrs: {\n options: _vm.pageOptions.itemsPerPageChoices,\n label: _vm.$t(\"amountRows\"),\n \"inline-label\": \"\",\n \"hide-details\": \"\",\n },\n on: { input: _vm.onPageOptionChangeHandler },\n model: {\n value: _vm.pageOptions.itemsPerPage,\n callback: function ($$v) {\n _vm.$set(_vm.pageOptions, \"itemsPerPage\", $$v);\n },\n expression: \"pageOptions.itemsPerPage\",\n },\n }),\n _vm._v(\" \"),\n _c(\n \"div\",\n {\n class: [\n \"p-data-table__pagination d-flex\",\n {\n \"flex-column\": _vm.isMobileView,\n \"align-start\": _vm.isMobileView,\n \"align-center\": !_vm.isMobileView,\n \"pt-6\": _vm.isMobileView,\n },\n ],\n },\n [\n _c(\n \"span\",\n { class: [\"mr-5\", { \"pb-3\": _vm.isMobileView }] },\n [\n _vm._v(\n \"\\n \" +\n _vm._s(\n _vm.$t(\"shownResults\", {\n shownEntries: _vm.shownEntries,\n total: _vm.itemLength,\n })\n ) +\n \"\\n \"\n ),\n ]\n ),\n _vm._v(\" \"),\n _vm.itemLength > _vm.pageOptions.itemsPerPage &&\n _vm.pageOptions.itemsPerPage !== _vm.showAll\n ? _c(\"v-pagination\", {\n staticClass: \"pgb-pagination\",\n attrs: {\n \"total-visible\": 5,\n length: _vm.pageOptions.pageCount,\n },\n on: { input: _vm.onPageOptionChangeHandler },\n model: {\n value: _vm.pageOptions.page,\n callback: function ($$v) {\n _vm.$set(_vm.pageOptions, \"page\", $$v);\n },\n expression: \"pageOptions.page\",\n },\n })\n : _vm._e(),\n ],\n 1\n ),\n ],\n 1\n )\n : _vm._e(),\n ],\n 1\n )\n};\nvar __vue_staticRenderFns__$U = [];\n__vue_render__$U._withStripped = true;\n\n /* style */\n const __vue_inject_styles__$U = undefined;\n /* scoped */\n const __vue_scope_id__$U = \"data-v-efe6e62c\";\n /* module identifier */\n const __vue_module_identifier__$U = undefined;\n /* functional template */\n const __vue_is_functional_template__$U = false;\n /* style inject */\n \n /* style inject SSR */\n \n /* style inject shadow dom */\n \n\n \n const __vue_component__$U = /*#__PURE__*/normalizeComponent(\n { render: __vue_render__$U, staticRenderFns: __vue_staticRenderFns__$U },\n __vue_inject_styles__$U,\n __vue_script__$T,\n __vue_scope_id__$U,\n __vue_is_functional_template__$U,\n __vue_module_identifier__$U,\n false,\n undefined,\n undefined,\n undefined\n );\n\n/* script */\n\n/* template */\nvar __vue_render__$T = function () {\n var _vm = this;\n var _h = _vm.$createElement;\n var _c = _vm._self._c || _h;\n return _c(\n \"p-button\",\n _vm._g(\n _vm._b({ attrs: { small: \"\" } }, \"p-button\", _vm.$attrs, false),\n _vm.$listeners\n ),\n [_vm._t(\"default\")],\n 2\n )\n};\nvar __vue_staticRenderFns__$T = [];\n__vue_render__$T._withStripped = true;\n\n /* style */\n const __vue_inject_styles__$T = undefined;\n /* scoped */\n const __vue_scope_id__$T = undefined;\n /* module identifier */\n const __vue_module_identifier__$T = undefined;\n /* functional template */\n const __vue_is_functional_template__$T = false;\n /* style inject */\n \n /* style inject SSR */\n \n /* style inject shadow dom */\n \n\n \n const __vue_component__$T = /*#__PURE__*/normalizeComponent(\n { render: __vue_render__$T, staticRenderFns: __vue_staticRenderFns__$T },\n __vue_inject_styles__$T,\n {},\n __vue_scope_id__$T,\n __vue_is_functional_template__$T,\n __vue_module_identifier__$T,\n false,\n undefined,\n undefined,\n undefined\n );\n\nclass DelayedFormInputValidator {\r\n constructor(onStart, onValidate) {\r\n this._isValidating = ref(false);\r\n this._onStart = () => this.waitForValidation(onStart());\r\n this._onValidate = onValidate;\r\n }\r\n get isValidating() {\r\n return this._isValidating;\r\n }\r\n start(options) {\r\n this._isValidating.value = true;\r\n if (options) {\r\n this._waitForValidation = options.waitForValidation;\r\n }\r\n this._onStart();\r\n }\r\n validate() {\r\n return this._onValidate();\r\n }\r\n end() {\r\n this._isValidating.value = false;\r\n this._waitForValidation = undefined;\r\n }\r\n waitForValidation(promise) {\r\n if (this._waitForValidation) {\r\n this._waitForValidation(promise);\r\n }\r\n }\r\n}\r\n/// Register an additional formValidator via provide/inject to the PForm.\r\n/// A form validator that will first wait for the repository with loading all required data and then check if the loaded data has a valid final state.\r\nfunction registerDelayedFormInputValidator(waitFor, validate) {\r\n registerFormInputValidator(new DelayedFormInputValidator(waitFor, validate));\r\n}\n\nvar script$S = defineComponent({\r\n name: 'PForm',\r\n props: {\r\n delayValidation: { type: Object, default: null },\r\n },\r\n setup(props) {\r\n const internalId = useIdGenerator('p-form').next();\r\n provide(formIdProvider, internalId);\r\n const inputValidators = [\r\n ...(props.delayValidation\r\n ? [new DelayedFormInputValidator(props.delayValidation.waitFor, props.delayValidation.isValid)]\r\n : []),\r\n ];\r\n let waitForValidationList;\r\n const waitForValidation = (promise) => {\r\n if (!waitForValidationList) {\r\n logError('Call to waitForValidation without being in a validation cycle');\r\n return;\r\n }\r\n waitForValidationList.push(promise);\r\n };\r\n const addFormInputValidator = (inputValidator) => {\r\n inputValidators.push(inputValidator);\r\n };\r\n const removeFormInputValidator = (inputValidator) => {\r\n const index = inputValidators.indexOf(inputValidator);\r\n if (index > -1) {\r\n inputValidators.splice(index, 1);\r\n }\r\n };\r\n provideRegisterFormInputValidator((inputValidator, remove) => {\r\n if (remove) {\r\n removeFormInputValidator(inputValidator);\r\n }\r\n else {\r\n addFormInputValidator(inputValidator);\r\n }\r\n });\r\n const startFormValidation = () => {\r\n waitForValidationList = [];\r\n inputValidators.forEach(v => {\r\n v.start({ waitForValidation });\r\n });\r\n };\r\n const endFormValidation = () => {\r\n inputValidators.forEach((v) => v.end());\r\n Vue$1.nextTick().then(findAndFocusOnFirstError);\r\n };\r\n const validateInputs = () => inputValidators.map(a => a.validate()).every(i => i);\r\n const runWaitForValidation = () => __awaiter(this, void 0, void 0, function* () {\r\n while (waitForValidationList.length) {\r\n const promise = waitForValidationList[0];\r\n waitForValidationList.splice(0, 1);\r\n yield promise;\r\n yield Vue$1.nextTick();\r\n }\r\n });\r\n const validate = () => __awaiter(this, void 0, void 0, function* () {\r\n try {\r\n startFormValidation();\r\n yield Vue$1.nextTick();\r\n yield runWaitForValidation();\r\n return validateInputs();\r\n }\r\n finally {\r\n endFormValidation();\r\n }\r\n });\r\n return {\r\n inputValidators,\r\n validate,\r\n };\r\n },\r\n});\r\nfunction findAndFocusOnFirstError() {\r\n const inputsWithError = document.querySelector('.p-input--error');\r\n if (inputsWithError) {\r\n const rect = inputsWithError.getBoundingClientRect();\r\n const win = document.body.getBoundingClientRect();\r\n window.scrollTo({ top: rect.top - (win.top + 120) });\r\n const inputElement = inputsWithError.querySelector('input,textarea,[role=\"combobox\"]');\r\n if (inputElement) {\r\n inputElement.focus();\r\n }\r\n }\r\n}\n\n/* script */\nconst __vue_script__$S = script$S;\n\n/* template */\nvar __vue_render__$S = function () {\n var _vm = this;\n var _h = _vm.$createElement;\n var _c = _vm._self._c || _h;\n return _c(\n \"form\",\n _vm._b(\n {\n attrs: { novalidate: \"novalidate\" },\n on: {\n submit: function ($event) {\n $event.preventDefault();\n return _vm.$emit(\"submit\")\n },\n },\n },\n \"form\",\n _vm.$attrs,\n false\n ),\n [_vm._t(\"default\")],\n 2\n )\n};\nvar __vue_staticRenderFns__$S = [];\n__vue_render__$S._withStripped = true;\n\n /* style */\n const __vue_inject_styles__$S = undefined;\n /* scoped */\n const __vue_scope_id__$S = undefined;\n /* module identifier */\n const __vue_module_identifier__$S = undefined;\n /* functional template */\n const __vue_is_functional_template__$S = false;\n /* style inject */\n \n /* style inject SSR */\n \n /* style inject shadow dom */\n \n\n \n const __vue_component__$S = /*#__PURE__*/normalizeComponent(\n { render: __vue_render__$S, staticRenderFns: __vue_staticRenderFns__$S },\n __vue_inject_styles__$S,\n __vue_script__$S,\n __vue_scope_id__$S,\n __vue_is_functional_template__$S,\n __vue_module_identifier__$S,\n false,\n undefined,\n undefined,\n undefined\n );\n\nvar usePageDirtyState = () => {\r\n const formsStateManager = inject(formsStateManagerKey, null);\r\n const setPristine = () => {\r\n if (!formsStateManager) {\r\n return;\r\n }\r\n const { updateAllElements } = formsStateManager;\r\n updateAllElements({\r\n isDirty: false,\r\n });\r\n };\r\n return {\r\n isDirty: computed(() => {\r\n if (!formsStateManager) {\r\n return false;\r\n }\r\n const { formsState } = formsStateManager;\r\n const formsStateObj = formsState.value || {};\r\n return Object.keys(formsStateObj).some((formId) => Object.keys(formsStateObj[formId]).some((elementId) => formsStateObj[formId][elementId].isDirty));\r\n }),\r\n setPristine,\r\n };\r\n};\n\nvar script$R = defineComponent({\r\n name: 'AppFooter',\r\n components: { VContainer, VCol, VRow, VFooter },\r\n props: {\r\n links: { type: Array, required: true },\r\n },\r\n setup(_, { slots }) {\r\n const hasSlot = useHasSlot(slots);\r\n return {\r\n hasSlot,\r\n };\r\n },\r\n});\n\n/* script */\nconst __vue_script__$R = script$R;\n/* template */\nvar __vue_render__$R = function () {\n var _vm = this;\n var _h = _vm.$createElement;\n var _c = _vm._self._c || _h;\n return _c(\n \"v-footer\",\n _vm._b(\n {\n staticClass: \"p-footer flex-column align-stretch\",\n attrs: { padless: \"\" },\n },\n \"v-footer\",\n _vm.$attrs,\n false\n ),\n [\n _vm.hasSlot(\"footer-top\")\n ? _c(\"div\", { staticClass: \"p-footer__top\" }, [_vm._t(\"footer-top\")], 2)\n : _vm._e(),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"p-footer__links py-1\" },\n [\n _c(\n \"v-container\",\n { staticClass: \"pa-0 px-2\" },\n [\n _c(\n \"v-row\",\n {\n staticClass: \"pt-0 pb-0 justify-start justify-md-center\",\n attrs: { align: \"start\", \"no-gutters\": \"\" },\n },\n [\n _vm.hasSlot(\"footer-left-bottom\")\n ? _c(\n \"v-col\",\n {\n key: \"pFooterLeftBottom\",\n staticClass: \"px-4\",\n attrs: {\n \"align-self\": \"center\",\n sm: \"3\",\n md: \"auto\",\n cols: \"6\",\n },\n },\n [_vm._t(\"footer-left-bottom\")],\n 2\n )\n : _vm._e(),\n _vm._v(\" \"),\n _vm._l(_vm.links, function (link) {\n return _c(\n \"v-col\",\n {\n key: link.label,\n attrs: {\n \"align-self\": \"center\",\n sm: \"3\",\n cols: \"6\",\n md: \"auto\",\n },\n },\n [\n _c(\n \"a\",\n {\n staticClass:\n \"p-footer__links--single px-4 d-flex align-center\",\n attrs: { href: link.url, title: link.label },\n },\n [\n _vm._v(\n \"\\n \" +\n _vm._s(link.label) +\n \"\\n \"\n ),\n ]\n ),\n ]\n )\n }),\n _vm._v(\" \"),\n _vm.hasSlot(\"footer-right-bottom\")\n ? _c(\n \"v-col\",\n {\n key: \"pFooterRightBottom\",\n staticClass: \"px-4\",\n attrs: {\n \"align-self\": \"center\",\n cols: \"6\",\n sm: \"3\",\n md: \"auto\",\n },\n },\n [_vm._t(\"footer-right-bottom\")],\n 2\n )\n : _vm._e(),\n ],\n 2\n ),\n ],\n 1\n ),\n ],\n 1\n ),\n ]\n )\n};\nvar __vue_staticRenderFns__$R = [];\n__vue_render__$R._withStripped = true;\n\n /* style */\n const __vue_inject_styles__$R = undefined;\n /* scoped */\n const __vue_scope_id__$R = \"data-v-7a938937\";\n /* module identifier */\n const __vue_module_identifier__$R = undefined;\n /* functional template */\n const __vue_is_functional_template__$R = false;\n /* style inject */\n \n /* style inject SSR */\n \n /* style inject shadow dom */\n \n\n \n const __vue_component__$R = /*#__PURE__*/normalizeComponent(\n { render: __vue_render__$R, staticRenderFns: __vue_staticRenderFns__$R },\n __vue_inject_styles__$R,\n __vue_script__$R,\n __vue_scope_id__$R,\n __vue_is_functional_template__$R,\n __vue_module_identifier__$R,\n false,\n undefined,\n undefined,\n undefined\n );\n\nvar script$Q = defineComponent({\r\n name: 'TopMenu',\r\n components: { VIcon, VBtn },\r\n props: {\r\n items: { type: Array, default: null },\r\n version: { type: String, default: null },\r\n },\r\n setup(props, { root }) {\r\n const menuIcon = computed(() => activeMenu.value ? '$icon-sluiten' : '$icon-menu-hamburger');\r\n const resolvedItems = useRouteResolverMulti(props.items || []);\r\n if (props.items && props.items.filter((i) => i.menu).length > 1) {\r\n throw Error('Toolbar can only have 1 menu');\r\n }\r\n const { activeMenu, menuElement, activator, closeIfElementIsOutside, focusOnActivator, closeActiveMenu, toggleActiveMenu } = useMenuHandlers(root);\r\n const { clickOnBtn, onTab, onEsc } = useMenuEvents(focusOnActivator, closeActiveMenu, toggleActiveMenu, closeIfElementIsOutside);\r\n // Watch menu events and remove them when menu is closed\r\n watch(activeMenu, () => {\r\n if (activeMenu.value) {\r\n window.addEventListener('click', closeIfElementIsOutside);\r\n }\r\n else {\r\n window.removeEventListener('click', closeIfElementIsOutside);\r\n }\r\n });\r\n return {\r\n clickOnBtn,\r\n activeMenu,\r\n menuElement,\r\n menuIcon,\r\n activator,\r\n closeActiveMenu,\r\n focusOnActivator,\r\n onEsc,\r\n onTab,\r\n closeIfElementIsOutside,\r\n resolvedItems,\r\n };\r\n },\r\n});\r\nfunction useActiveMenu() {\r\n const activeMenu = ref(false);\r\n function closeActiveMenu() {\r\n activeMenu.value = false;\r\n }\r\n function toggleActiveMenu() {\r\n activeMenu.value = !activeMenu.value;\r\n }\r\n return {\r\n activeMenu,\r\n closeActiveMenu,\r\n toggleActiveMenu,\r\n };\r\n}\r\nfunction useMenuHandlers(root) {\r\n const menuElement = ref(null);\r\n const activator = ref(null);\r\n const { activeMenu, closeActiveMenu, toggleActiveMenu } = useActiveMenu();\r\n // Check if the focus persists within the menu, if not, hide the menu\r\n // noEvent option to be able to use this function for both events and independent elements\r\n function closeIfElementIsOutside(node, noEvent = false) {\r\n const activatorValue = activator.value && activator.value[0] ? activator.value[0].$el : null;\r\n if (node && menuElement.value && node !== activatorValue &&\r\n !menuElement.value.contains(noEvent ? node : (node.target || node))) {\r\n closeActiveMenu();\r\n }\r\n }\r\n function focusOnActivator() {\r\n root.$nextTick(() => {\r\n if (activator.value && activator.value[0]) {\r\n activator.value[0].$el.focus();\r\n }\r\n });\r\n }\r\n return {\r\n activeMenu,\r\n menuElement,\r\n activator,\r\n closeIfElementIsOutside,\r\n focusOnActivator,\r\n closeActiveMenu,\r\n toggleActiveMenu,\r\n };\r\n}\r\nfunction useMenuEvents(focusOnActivator, closeActiveMenu, toggleActiveMenu, closeIfElementIsOutside) {\r\n function clickOnBtn(item, e) {\r\n if (item.href) {\r\n return;\r\n }\r\n e.stopPropagation();\r\n if (item.menu) {\r\n toggleActiveMenu();\r\n focusOnActivator();\r\n return;\r\n }\r\n closeActiveMenu();\r\n }\r\n function onTab() {\r\n return new Promise((resolve) => {\r\n setTimeout(() => {\r\n // We want the activeElement to be the element that is being focussed on instead of what its being focussed from\r\n // So we set a setTimeout to finish render steps and look for the activeElement afterwards\r\n closeIfElementIsOutside(window.document.activeElement, true);\r\n resolve(window.document.activeElement);\r\n // FF seems to be a bit slow when receiving the new focussed element. So we use a 100ms timeout\r\n }, 100);\r\n });\r\n }\r\n function onEsc() {\r\n closeActiveMenu();\r\n focusOnActivator();\r\n }\r\n return { clickOnBtn, onTab, onEsc };\r\n}\n\n/* script */\nconst __vue_script__$Q = script$Q;\n/* template */\nvar __vue_render__$Q = function () {\n var _vm = this;\n var _h = _vm.$createElement;\n var _c = _vm._self._c || _h;\n return _c(\n \"header\",\n {\n staticClass: \"top-menu\",\n on: {\n keydown: [\n function ($event) {\n if (\n !$event.type.indexOf(\"key\") &&\n _vm._k($event.keyCode, \"esc\", 27, $event.key, [\"Esc\", \"Escape\"])\n ) {\n return null\n }\n return _vm.onEsc.apply(null, arguments)\n },\n function ($event) {\n if (\n !$event.type.indexOf(\"key\") &&\n _vm._k($event.keyCode, \"tab\", 9, $event.key, \"Tab\")\n ) {\n return null\n }\n return _vm.onTab.apply(null, arguments)\n },\n ],\n },\n },\n [\n _c(\n \"div\",\n { staticClass: \"top-menu__top d-flex align-center\" },\n [_vm._t(\"top-header\")],\n 2\n ),\n _vm._v(\" \"),\n _vm.resolvedItems.length\n ? _c(\"nav\", { staticClass: \"top-menu__nav d-flex align-center\" }, [\n _c(\"div\", { staticClass: \"container px-1 py-0\" }, [\n _c(\n \"ul\",\n {\n staticClass: \"d-flex pa-0 top-menu__list\",\n attrs: { role: \"menubar\" },\n },\n [\n _vm._l(_vm.resolvedItems, function (item, key) {\n var _obj;\n return _c(\n \"li\",\n {\n key: key,\n class: { \"d-none d-sm-block\": item.hiddenMobile },\n attrs: { role: \"none\" },\n },\n [\n _c(\n \"v-btn\",\n _vm._b(\n {\n ref: item.menu ? \"activator\" : null,\n refInFor: true,\n staticClass: \"top-menu__btn\",\n attrs: {\n text: \"\",\n \"active-class\": \"no-active\",\n id: item.id,\n color: \"white\",\n role: \"menuitem\",\n \"aria-current\": null,\n },\n on: {\n click: function ($event) {\n return _vm.clickOnBtn(item, $event)\n },\n },\n },\n \"v-btn\",\n Object.assign(\n ((_obj = {}),\n (_obj[item.to ? \"to\" : \"href\"] =\n item.to || item.href),\n _obj),\n item.menu\n ? {\n \"aria-expanded\": !!_vm.activeMenu\n ? \"true\"\n : \"false\",\n }\n : {}\n ),\n false\n ),\n [\n _c(\"v-icon\", { attrs: { left: \"\" } }, [\n _vm._v(\n \"\\n \" +\n _vm._s(item.menu ? _vm.menuIcon : item.icon) +\n \"\\n \"\n ),\n ]),\n _vm._v(\" \"),\n _c(\"span\", [_vm._v(_vm._s(item.title))]),\n ],\n 1\n ),\n ],\n 1\n )\n }),\n _vm._v(\" \"),\n _vm.version\n ? _c(\n \"li\",\n {\n staticClass: \"top-menu__version pa-1\",\n attrs: { role: \"none\" },\n },\n [\n _vm._v(\n \"\\n \" + _vm._s(_vm.version) + \"\\n \"\n ),\n ]\n )\n : _vm._e(),\n ],\n 2\n ),\n ]),\n _vm._v(\" \"),\n _c(\n \"div\",\n { ref: \"menuElement\", staticClass: \"top-menu__menu\" },\n [\n _vm._t(\"menu\", null, {\n isActive: _vm.activeMenu,\n close: _vm.closeActiveMenu,\n }),\n ],\n 2\n ),\n ])\n : _vm._e(),\n _vm._v(\" \"),\n _vm._t(\"support-modal\"),\n ],\n 2\n )\n};\nvar __vue_staticRenderFns__$Q = [];\n__vue_render__$Q._withStripped = true;\n\n /* style */\n const __vue_inject_styles__$Q = undefined;\n /* scoped */\n const __vue_scope_id__$Q = \"data-v-c7c1d1b8\";\n /* module identifier */\n const __vue_module_identifier__$Q = undefined;\n /* functional template */\n const __vue_is_functional_template__$Q = false;\n /* style inject */\n \n /* style inject SSR */\n \n /* style inject shadow dom */\n \n\n \n const __vue_component__$Q = /*#__PURE__*/normalizeComponent(\n { render: __vue_render__$Q, staticRenderFns: __vue_staticRenderFns__$Q },\n __vue_inject_styles__$Q,\n __vue_script__$Q,\n __vue_scope_id__$Q,\n __vue_is_functional_template__$Q,\n __vue_module_identifier__$Q,\n false,\n undefined,\n undefined,\n undefined\n );\n\nvar script$P = defineComponent({\r\n name: 'PList',\r\n components: { VList },\r\n props: {\r\n flat: { type: Boolean, default: false },\r\n color: { type: String, default: 'transparent' },\r\n },\r\n});\n\n/* script */\nconst __vue_script__$P = script$P;\n\n/* template */\nvar __vue_render__$P = function () {\n var _vm = this;\n var _h = _vm.$createElement;\n var _c = _vm._self._c || _h;\n return _c(\n \"v-list\",\n { attrs: { color: _vm.color, flat: _vm.flat } },\n [_vm._t(\"default\")],\n 2\n )\n};\nvar __vue_staticRenderFns__$P = [];\n__vue_render__$P._withStripped = true;\n\n /* style */\n const __vue_inject_styles__$P = undefined;\n /* scoped */\n const __vue_scope_id__$P = undefined;\n /* module identifier */\n const __vue_module_identifier__$P = undefined;\n /* functional template */\n const __vue_is_functional_template__$P = false;\n /* style inject */\n \n /* style inject SSR */\n \n /* style inject shadow dom */\n \n\n \n const __vue_component__$P = /*#__PURE__*/normalizeComponent(\n { render: __vue_render__$P, staticRenderFns: __vue_staticRenderFns__$P },\n __vue_inject_styles__$P,\n __vue_script__$P,\n __vue_scope_id__$P,\n __vue_is_functional_template__$P,\n __vue_module_identifier__$P,\n false,\n undefined,\n undefined,\n undefined\n );\n\nvar script$O = defineComponent({\r\n name: 'PListItem',\r\n components: { VListItem },\r\n props: {\r\n to: { type: [String, Object], default: undefined },\r\n href: { type: String, default: undefined },\r\n exact: { type: Boolean, default: undefined },\r\n target: { type: String, default: undefined },\r\n },\r\n setup(props) {\r\n const { allowed, linkTo, linkHref } = useRouteResolver(props);\r\n return { linkTo, linkHref, allowed };\r\n },\r\n});\n\n/* script */\nconst __vue_script__$O = script$O;\n/* template */\nvar __vue_render__$O = function () {\n var _vm = this;\n var _h = _vm.$createElement;\n var _c = _vm._self._c || _h;\n return _vm.allowed\n ? _c(\n \"v-list-item\",\n _vm._g(\n {\n attrs: {\n to: _vm.linkTo,\n href: _vm.linkHref,\n exact: _vm.exact,\n target: _vm.target,\n },\n },\n _vm.$listeners\n ),\n [_vm._t(\"default\")],\n 2\n )\n : _vm._e()\n};\nvar __vue_staticRenderFns__$O = [];\n__vue_render__$O._withStripped = true;\n\n /* style */\n const __vue_inject_styles__$O = undefined;\n /* scoped */\n const __vue_scope_id__$O = \"data-v-6b27467c\";\n /* module identifier */\n const __vue_module_identifier__$O = undefined;\n /* functional template */\n const __vue_is_functional_template__$O = false;\n /* style inject */\n \n /* style inject SSR */\n \n /* style inject shadow dom */\n \n\n \n const __vue_component__$O = /*#__PURE__*/normalizeComponent(\n { render: __vue_render__$O, staticRenderFns: __vue_staticRenderFns__$O },\n __vue_inject_styles__$O,\n __vue_script__$O,\n __vue_scope_id__$O,\n __vue_is_functional_template__$O,\n __vue_module_identifier__$O,\n false,\n undefined,\n undefined,\n undefined\n );\n\nvar script$N = defineComponent({\r\n name: 'PListItemContent',\r\n components: { VListItemContent },\r\n});\n\n/* script */\nconst __vue_script__$N = script$N;\n/* template */\nvar __vue_render__$N = function () {\n var _vm = this;\n var _h = _vm.$createElement;\n var _c = _vm._self._c || _h;\n return _c(\n \"v-list-item-content\",\n _vm._g({}, _vm.$listeners),\n [_vm._t(\"default\")],\n 2\n )\n};\nvar __vue_staticRenderFns__$N = [];\n__vue_render__$N._withStripped = true;\n\n /* style */\n const __vue_inject_styles__$N = undefined;\n /* scoped */\n const __vue_scope_id__$N = \"data-v-59e4be50\";\n /* module identifier */\n const __vue_module_identifier__$N = undefined;\n /* functional template */\n const __vue_is_functional_template__$N = false;\n /* style inject */\n \n /* style inject SSR */\n \n /* style inject shadow dom */\n \n\n \n const __vue_component__$N = /*#__PURE__*/normalizeComponent(\n { render: __vue_render__$N, staticRenderFns: __vue_staticRenderFns__$N },\n __vue_inject_styles__$N,\n __vue_script__$N,\n __vue_scope_id__$N,\n __vue_is_functional_template__$N,\n __vue_module_identifier__$N,\n false,\n undefined,\n undefined,\n undefined\n );\n\nvar script$M = defineComponent({\r\n name: 'PListItemTitle',\r\n components: { VListItemTitle },\r\n});\n\n/* script */\nconst __vue_script__$M = script$M;\n/* template */\nvar __vue_render__$M = function () {\n var _vm = this;\n var _h = _vm.$createElement;\n var _c = _vm._self._c || _h;\n return _c(\n \"v-list-item-title\",\n _vm._g({}, _vm.$listeners),\n [_vm._t(\"default\")],\n 2\n )\n};\nvar __vue_staticRenderFns__$M = [];\n__vue_render__$M._withStripped = true;\n\n /* style */\n const __vue_inject_styles__$M = undefined;\n /* scoped */\n const __vue_scope_id__$M = \"data-v-50ca83a0\";\n /* module identifier */\n const __vue_module_identifier__$M = undefined;\n /* functional template */\n const __vue_is_functional_template__$M = false;\n /* style inject */\n \n /* style inject SSR */\n \n /* style inject shadow dom */\n \n\n \n const __vue_component__$M = /*#__PURE__*/normalizeComponent(\n { render: __vue_render__$M, staticRenderFns: __vue_staticRenderFns__$M },\n __vue_inject_styles__$M,\n __vue_script__$M,\n __vue_scope_id__$M,\n __vue_is_functional_template__$M,\n __vue_module_identifier__$M,\n false,\n undefined,\n undefined,\n undefined\n );\n\nvar script$L = defineComponent({\r\n name: 'PRow',\r\n components: { VRow },\r\n});\n\n/* script */\nconst __vue_script__$L = script$L;\n\n/* template */\nvar __vue_render__$L = function () {\n var _vm = this;\n var _h = _vm.$createElement;\n var _c = _vm._self._c || _h;\n return _c(\"v-row\", [_vm._t(\"default\")], 2)\n};\nvar __vue_staticRenderFns__$L = [];\n__vue_render__$L._withStripped = true;\n\n /* style */\n const __vue_inject_styles__$L = undefined;\n /* scoped */\n const __vue_scope_id__$L = undefined;\n /* module identifier */\n const __vue_module_identifier__$L = undefined;\n /* functional template */\n const __vue_is_functional_template__$L = false;\n /* style inject */\n \n /* style inject SSR */\n \n /* style inject shadow dom */\n \n\n \n const __vue_component__$L = /*#__PURE__*/normalizeComponent(\n { render: __vue_render__$L, staticRenderFns: __vue_staticRenderFns__$L },\n __vue_inject_styles__$L,\n __vue_script__$L,\n __vue_scope_id__$L,\n __vue_is_functional_template__$L,\n __vue_module_identifier__$L,\n false,\n undefined,\n undefined,\n undefined\n );\n\nvar script$K = defineComponent({\r\n name: 'PCol',\r\n components: { VCol },\r\n props: {\r\n cols: { type: [Boolean, String, Number], default: undefined },\r\n sm: { type: [Boolean, String, Number], default: undefined },\r\n md: { type: [Boolean, String, Number], default: undefined },\r\n lg: { type: [Boolean, String, Number], default: undefined },\r\n },\r\n});\n\n/* script */\nconst __vue_script__$K = script$K;\n\n/* template */\nvar __vue_render__$K = function () {\n var _vm = this;\n var _h = _vm.$createElement;\n var _c = _vm._self._c || _h;\n return _c(\n \"v-col\",\n { attrs: { cols: _vm.cols, sm: _vm.sm, md: _vm.md, lg: _vm.lg } },\n [_vm._t(\"default\")],\n 2\n )\n};\nvar __vue_staticRenderFns__$K = [];\n__vue_render__$K._withStripped = true;\n\n /* style */\n const __vue_inject_styles__$K = undefined;\n /* scoped */\n const __vue_scope_id__$K = undefined;\n /* module identifier */\n const __vue_module_identifier__$K = undefined;\n /* functional template */\n const __vue_is_functional_template__$K = false;\n /* style inject */\n \n /* style inject SSR */\n \n /* style inject shadow dom */\n \n\n \n const __vue_component__$K = /*#__PURE__*/normalizeComponent(\n { render: __vue_render__$K, staticRenderFns: __vue_staticRenderFns__$K },\n __vue_inject_styles__$K,\n __vue_script__$K,\n __vue_scope_id__$K,\n __vue_is_functional_template__$K,\n __vue_module_identifier__$K,\n false,\n undefined,\n undefined,\n undefined\n );\n\nvar i18n$4 = {\r\n messages: {\r\n nl: {\r\n contentTitle: 'Hoofdmenu inhoud',\r\n },\r\n },\r\n};\n\nconst generateRouteDescriptionIds = (routes) => Object.keys(routes).reduce((prev, cur) => {\r\n return Object.assign(Object.assign({}, prev), { [cur]: useIdGenerator('main-menu-item').next() });\r\n}, {});\r\nconst useMainMenuDescriptionIds = (mainRoutes, additionalRoutes) => {\r\n const containerDescriptionId = useIdGenerator('main-menu').next();\r\n return {\r\n mainRouteDescriptionIdIndex: computed(() => generateRouteDescriptionIds(mainRoutes.value)),\r\n additionalRouteDescriptionIdIndex: computed(() => generateRouteDescriptionIds(additionalRoutes.value)),\r\n containerDescriptionId,\r\n };\r\n};\n\nvar script$J = defineComponent({\r\n name: 'MainMenu',\r\n components: {\r\n PContainer: __vue_component__$11,\r\n PRow: __vue_component__$L,\r\n PCol: __vue_component__$K,\r\n PList: __vue_component__$P,\r\n PListItem: __vue_component__$O,\r\n PListItemTitle: __vue_component__$M,\r\n PListItemContent: __vue_component__$N,\r\n VSlideYTransition,\r\n },\r\n i18n: i18n$4,\r\n props: {\r\n active: { type: Boolean, default: false },\r\n mainRoutes: { type: Object, required: true },\r\n additionalRoutes: { type: Object, default: null },\r\n toggleClose: { type: Function, default: null },\r\n },\r\n setup(props) {\r\n const { mainRoutes, additionalRoutes } = toRefs(props);\r\n return Object.assign({}, useMainMenuDescriptionIds(mainRoutes, additionalRoutes));\r\n },\r\n});\n\n/* script */\nconst __vue_script__$J = script$J;\n/* template */\nvar __vue_render__$J = function () {\n var _vm = this;\n var _h = _vm.$createElement;\n var _c = _vm._self._c || _h;\n return _c(\"v-slide-y-transition\", [\n _vm.active\n ? _c(\n \"div\",\n { staticClass: \"pgb-menu\" },\n [\n _c(\n \"p-container\",\n {\n staticClass: \"pgb-menu__wrapper py-0\",\n attrs: {\n fluid: \"\",\n role: \"list\",\n \"aria-describedby\": _vm.containerDescriptionId,\n },\n },\n [\n _c(\n \"span\",\n {\n staticClass: \"sr-only\",\n attrs: {\n \"aria-hidden\": \"true\",\n id: _vm.containerDescriptionId,\n },\n },\n [\n _vm._v(\n \"\\n \" + _vm._s(_vm.$t(\"contentTitle\")) + \"\\n \"\n ),\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"p-row\",\n { staticClass: \"my-0\" },\n [\n _c(\n \"p-col\",\n {\n staticClass: \"pgb-menu__container\",\n attrs: {\n md: _vm.additionalRoutes ? 9 : 12,\n sm: \"12\",\n cols: \"12\",\n },\n },\n [\n _c(\n \"p-container\",\n { staticClass: \"py-0\", attrs: { fluid: \"\" } },\n [\n _c(\n \"p-row\",\n { staticClass: \"my-0\" },\n _vm._l(_vm.mainRoutes, function (category, key) {\n return _c(\n \"p-col\",\n {\n key: key,\n staticClass:\n \"pgb-menu__category pa-0 mb-5 mt-2\",\n class: [\n \"pgb-menu__category pa-0 mb-5 mt-2\",\n {\n \"tablet-view\":\n _vm.$vuetify.breakpoint.sm,\n },\n ],\n attrs: { md: \"3\", sm: \"6\", cols: \"12\" },\n },\n [\n _c(\n \"div\",\n {\n staticClass: \"pa-0\",\n attrs: { role: \"listitem\" },\n },\n [\n _c(\n \"p-list-item-title\",\n {\n staticClass: \"px-4\",\n attrs: {\n id: _vm\n .mainRouteDescriptionIdIndex[\n key\n ],\n },\n },\n [\n _vm._v(\n \"\\n \" +\n _vm._s(category.title) +\n \"\\n \"\n ),\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"p-list\",\n {\n staticClass: \"pa-0\",\n attrs: {\n \"aria-describedby\":\n _vm.mainRouteDescriptionIdIndex[\n key\n ],\n },\n },\n _vm._l(\n category.items,\n function (item, i) {\n return _c(\n \"div\",\n {\n key: i,\n attrs: { role: \"listitem\" },\n },\n [\n _c(\n \"p-list-item\",\n {\n staticClass:\n \"pgb-menu__list-item\",\n attrs: {\n target: item.target,\n to: item.to,\n href: item.href,\n role: null,\n tabindex: null,\n exact: \"\",\n },\n on: {\n click: _vm.toggleClose,\n },\n },\n [\n _c(\n \"p-list-item-content\",\n { staticClass: \"py-2\" },\n [\n _vm._v(\n \"\\n \" +\n _vm._s(\n item.title\n ) +\n \"\\n \"\n ),\n ]\n ),\n ],\n 1\n ),\n ],\n 1\n )\n }\n ),\n 0\n ),\n ],\n 1\n ),\n ]\n )\n }),\n 1\n ),\n ],\n 1\n ),\n ],\n 1\n ),\n _vm._v(\" \"),\n _vm.additionalRoutes\n ? _c(\n \"p-col\",\n {\n key: \"mainMenuColAdditionalRoutes\",\n attrs: { md: \"3\", sm: \"12\", cols: \"12\" },\n },\n [\n _c(\n \"p-container\",\n {\n class: [\n \"pgb-menu__help\",\n { \"tablet-view\": _vm.$vuetify.breakpoint.sm },\n ],\n },\n [\n _c(\n \"div\",\n { staticClass: \"d-flex flex-column\" },\n [\n _c(\n \"p-row\",\n _vm._l(\n _vm.additionalRoutes,\n function (category, key, index) {\n return _c(\n \"p-col\",\n {\n key: key,\n staticClass:\n \"px-0 pt-2 pb-2 pgb-menu__help-column ml-0\",\n attrs: {\n sm: \"6\",\n md: \"12\",\n cols: \"12\",\n },\n },\n [\n _c(\n \"div\",\n {\n class: {\n \"no-flex\":\n _vm.$vuetify.breakpoint\n .sm ||\n _vm.$vuetify.breakpoint\n .xs,\n },\n attrs: { role: \"listitem\" },\n },\n [\n _c(\n \"p-list-item-title\",\n {\n staticClass: \"px-4\",\n attrs: {\n id: _vm\n .additionalRouteDescriptionIdIndex[\n key\n ],\n },\n },\n [\n _vm._v(\n \"\\n \" +\n _vm._s(\n category.title\n ) +\n \"\\n \"\n ),\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"p-list\",\n {\n staticClass: \"pa-0\",\n attrs: {\n \"aria-describedby\":\n _vm\n .additionalRouteDescriptionIdIndex[\n key\n ],\n },\n },\n [\n _vm._l(\n category.items,\n function (item, i) {\n return _c(\n \"div\",\n {\n key: i,\n attrs: {\n role: \"listitem\",\n },\n },\n [\n _c(\n \"p-list-item\",\n {\n staticClass:\n \"pgb-menu__list-item\",\n attrs: {\n to: item.to,\n href: item.href,\n role: null,\n tabindex:\n null,\n },\n on: {\n click:\n _vm.toggleClose,\n },\n },\n [\n _c(\n \"p-list-item-content\",\n {\n staticClass:\n \"py-2\",\n },\n [\n _vm._v(\n \"\\n \" +\n _vm._s(\n item.title\n ) +\n \"\\n \"\n ),\n ]\n ),\n ],\n 1\n ),\n ],\n 1\n )\n }\n ),\n _vm._v(\" \"),\n index ===\n Object.keys(\n _vm.additionalRoutes\n ).length -\n 1\n ? _c(\n \"div\",\n {\n staticClass:\n \"pl-4\",\n attrs: {\n role: \"listitem\",\n },\n },\n [\n _vm._t(\n \"support-slot\"\n ),\n ],\n 2\n )\n : _vm._e(),\n ],\n 2\n ),\n ],\n 1\n ),\n ]\n )\n }\n ),\n 1\n ),\n ],\n 1\n ),\n ]\n ),\n ],\n 1\n )\n : _vm._e(),\n ],\n 1\n ),\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\"div\", {\n staticClass: \"pgb-menu__backdrop\",\n class: { \"tablet-view\": _vm.$vuetify.breakpoint.sm },\n on: {\n click: function ($event) {\n $event.stopPropagation();\n return _vm.toggleClose.apply(null, arguments)\n },\n },\n }),\n ],\n 1\n )\n : _vm._e(),\n ])\n};\nvar __vue_staticRenderFns__$J = [];\n__vue_render__$J._withStripped = true;\n\n /* style */\n const __vue_inject_styles__$J = undefined;\n /* scoped */\n const __vue_scope_id__$J = \"data-v-35c3d8de\";\n /* module identifier */\n const __vue_module_identifier__$J = undefined;\n /* functional template */\n const __vue_is_functional_template__$J = false;\n /* style inject */\n \n /* style inject SSR */\n \n /* style inject shadow dom */\n \n\n \n const __vue_component__$J = /*#__PURE__*/normalizeComponent(\n { render: __vue_render__$J, staticRenderFns: __vue_staticRenderFns__$J },\n __vue_inject_styles__$J,\n __vue_script__$J,\n __vue_scope_id__$J,\n __vue_is_functional_template__$J,\n __vue_module_identifier__$J,\n false,\n undefined,\n undefined,\n undefined\n );\n\nvar script$I = defineComponent({\r\n name: 'MainMenuMobile',\r\n components: {\r\n PContainer: __vue_component__$11,\r\n PDivider: __vue_component__$1j,\r\n VNavigationDrawer,\r\n PList: __vue_component__$P,\r\n PListItem: __vue_component__$O,\r\n PListItemContent: __vue_component__$N,\r\n PListItemTitle: __vue_component__$M,\r\n },\r\n i18n: i18n$4,\r\n props: {\r\n active: { type: Boolean, default: false },\r\n mainRoutes: { type: Object, required: true },\r\n additionalRoutes: { type: Object, default: null },\r\n toggleClose: { type: Function, default: null },\r\n },\r\n setup(props) {\r\n const { mainRoutes, additionalRoutes } = toRefs(props);\r\n const onChange = (active) => {\r\n if (!active) {\r\n // v-navigation drawer has its own closing input value\r\n // So we need to send a message to PgbToolbar that the menu has closed\r\n props.toggleClose();\r\n }\r\n };\r\n return Object.assign({ onChange }, useMainMenuDescriptionIds(mainRoutes, additionalRoutes));\r\n },\r\n});\n\n/* script */\nconst __vue_script__$I = script$I;\n/* template */\nvar __vue_render__$I = function () {\n var _vm = this;\n var _h = _vm.$createElement;\n var _c = _vm._self._c || _h;\n return _c(\n \"v-navigation-drawer\",\n {\n staticClass: \"main-menu-expander-mobile px-3\",\n attrs: { value: _vm.active, width: \"100%\", fixed: \"\" },\n on: { input: _vm.onChange },\n },\n [\n _c(\n \"p-container\",\n {\n staticClass: \"pa-0\",\n attrs: {\n role: \"list\",\n \"aria-describedby\": _vm.containerDescriptionId,\n },\n },\n [\n _c(\n \"span\",\n {\n staticClass: \"sr-only\",\n attrs: { \"aria-hidden\": \"true\", id: _vm.containerDescriptionId },\n },\n [_vm._v(\"\\n \" + _vm._s(_vm.$t(\"contentTitle\")) + \"\\n \")]\n ),\n _vm._v(\" \"),\n _vm._t(\"default\"),\n _vm._v(\" \"),\n _vm._l(_vm.mainRoutes, function (category, key) {\n return _c(\n \"div\",\n { key: key, attrs: { role: \"listitem\" } },\n [\n _c(\"p-divider\"),\n _vm._v(\" \"),\n _c(\n \"p-list-item-title\",\n {\n staticClass:\n \"main-menu-expander-mobile__list-header px-4 pt-4 mb-0\",\n attrs: { id: _vm.mainRouteDescriptionIdIndex[key] },\n },\n [_vm._v(\"\\n \" + _vm._s(category.title) + \"\\n \")]\n ),\n _vm._v(\" \"),\n _c(\n \"p-list\",\n {\n staticClass: \"main-menu-expander-mobile__list \",\n attrs: {\n \"aria-describedby\": _vm.mainRouteDescriptionIdIndex[key],\n },\n },\n _vm._l(category.items, function (item, i) {\n return _c(\n \"div\",\n { key: i, attrs: { role: \"listitem\" } },\n [\n _c(\n \"p-list-item\",\n {\n staticClass:\n \"px-4 main-menu-expander-mobile__list-item\",\n attrs: {\n target: item.target,\n to: item.to,\n href: item.href,\n role: null,\n tabindex: null,\n exact: \"\",\n },\n },\n [\n _c(\"p-list-item-content\", { staticClass: \"py-2\" }, [\n _vm._v(\n \"\\n \" +\n _vm._s(item.title) +\n \"\\n \"\n ),\n ]),\n ],\n 1\n ),\n ],\n 1\n )\n }),\n 0\n ),\n ],\n 1\n )\n }),\n _vm._v(\" \"),\n _vm.additionalRoutes\n ? _c(\n \"div\",\n { staticClass: \"main-menu-expander-mobile__help pa-4\" },\n _vm._l(_vm.additionalRoutes, function (category, key, index) {\n return _c(\n \"div\",\n {\n key: key,\n staticClass: \"main-menu-expander-mobile__list px-0\",\n attrs: { role: \"listitem\" },\n },\n [\n _c(\n \"p-list-item-title\",\n {\n staticClass:\n \"main-menu-expander-mobile__list-header mb-0 mt-2\",\n attrs: {\n id: _vm.additionalRouteDescriptionIdIndex[key],\n },\n },\n [\n _vm._v(\n \"\\n \" +\n _vm._s(category.title) +\n \"\\n \"\n ),\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"p-list\",\n {\n attrs: {\n \"aria-describedby\":\n _vm.additionalRouteDescriptionIdIndex[key],\n },\n },\n [\n _vm._l(category.items, function (item, i) {\n return _c(\n \"div\",\n { key: i, attrs: { role: \"listitem\" } },\n [\n _c(\n \"p-list-item\",\n {\n staticClass:\n \"pl-0 main-menu-expander-mobile__list-item\",\n attrs: {\n target: item.target,\n to: item.to,\n href: item.href,\n role: null,\n tabindex: null,\n },\n },\n [\n _c(\n \"p-list-item-content\",\n { staticClass: \"py-2\" },\n [\n _vm._v(\n \"\\n \" +\n _vm._s(item.title) +\n \"\\n \"\n ),\n ]\n ),\n ],\n 1\n ),\n ],\n 1\n )\n }),\n _vm._v(\" \"),\n index === Object.keys(_vm.additionalRoutes).length - 1\n ? _c(\n \"div\",\n { attrs: { role: \"listitem\" } },\n [_vm._t(\"support-slot\")],\n 2\n )\n : _vm._e(),\n ],\n 2\n ),\n ],\n 1\n )\n }),\n 0\n )\n : _vm._e(),\n ],\n 2\n ),\n ],\n 1\n )\n};\nvar __vue_staticRenderFns__$I = [];\n__vue_render__$I._withStripped = true;\n\n /* style */\n const __vue_inject_styles__$I = undefined;\n /* scoped */\n const __vue_scope_id__$I = \"data-v-d6fc774e\";\n /* module identifier */\n const __vue_module_identifier__$I = undefined;\n /* functional template */\n const __vue_is_functional_template__$I = false;\n /* style inject */\n \n /* style inject SSR */\n \n /* style inject shadow dom */\n \n\n \n const __vue_component__$I = /*#__PURE__*/normalizeComponent(\n { render: __vue_render__$I, staticRenderFns: __vue_staticRenderFns__$I },\n __vue_inject_styles__$I,\n __vue_script__$I,\n __vue_scope_id__$I,\n __vue_is_functional_template__$I,\n __vue_module_identifier__$I,\n false,\n undefined,\n undefined,\n undefined\n );\n\nvar script$H = defineComponent({\r\n name: 'PHeader',\r\n components: { TopMenu: __vue_component__$Q, MainMenu: __vue_component__$J, MainMenuMobile: __vue_component__$I, PButton: __vue_component__$1f },\r\n props: {\r\n toolbarItems: { type: Array, default: () => [] },\r\n mainRoutes: { type: Object, default: () => ({}) },\r\n additionalRoutes: { type: Object, default: null },\r\n version: { type: String, default: '' },\r\n headerImage: { type: String, default: '' },\r\n },\r\n setup() {\r\n const { isMobileView } = useBreakpoints();\r\n return {\r\n isMobile: isMobileView,\r\n };\r\n },\r\n});\n\n/* script */\nconst __vue_script__$H = script$H;\n/* template */\nvar __vue_render__$H = function () {\n var _vm = this;\n var _h = _vm.$createElement;\n var _c = _vm._self._c || _h;\n return _c(\n \"top-menu\",\n {\n attrs: { items: _vm.toolbarItems, version: _vm.version },\n scopedSlots: _vm._u(\n [\n {\n key: \"menu\",\n fn: function (scopedProps) {\n return [\n _vm.mainRoutes && scopedProps\n ? _c(\n !_vm.isMobile ? \"main-menu\" : \"main-menu-mobile\",\n {\n tag: \"component\",\n attrs: {\n active: scopedProps.isActive,\n \"main-routes\": _vm.mainRoutes,\n \"additional-routes\": _vm.additionalRoutes,\n \"toggle-close\": scopedProps.close,\n },\n scopedSlots: _vm._u(\n [\n {\n key: \"support-slot\",\n fn: function () {\n return [_vm._t(\"support-slot\")]\n },\n proxy: true,\n },\n ],\n null,\n true\n ),\n },\n [_vm.isMobile ? _vm._t(\"mobile-custom-items\") : _vm._e()],\n 2\n )\n : _vm._e(),\n ]\n },\n },\n {\n key: \"support-modal\",\n fn: function () {\n return [_vm._t(\"support-modal\")]\n },\n proxy: true,\n },\n ],\n null,\n true\n ),\n },\n [\n _c(\n \"div\",\n {\n staticClass:\n \"topbar container py-0 d-flex justify-space-between align-center\",\n attrs: { slot: \"top-header\" },\n slot: \"top-header\",\n },\n [\n _c(\"img\", {\n staticClass: \"topbar__logo\",\n attrs: { src: _vm.headerImage, alt: \"mijnPGB\", tabindex: \"-1\" },\n }),\n _vm._v(\" \"),\n _vm._t(\"skiplink\"),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"topbar__nav d-flex align-center\" },\n [_vm._t(\"top-header-items\")],\n 2\n ),\n ],\n 2\n ),\n ]\n )\n};\nvar __vue_staticRenderFns__$H = [];\n__vue_render__$H._withStripped = true;\n\n /* style */\n const __vue_inject_styles__$H = undefined;\n /* scoped */\n const __vue_scope_id__$H = \"data-v-a9e2e7f8\";\n /* module identifier */\n const __vue_module_identifier__$H = undefined;\n /* functional template */\n const __vue_is_functional_template__$H = false;\n /* style inject */\n \n /* style inject SSR */\n \n /* style inject shadow dom */\n \n\n \n const __vue_component__$H = /*#__PURE__*/normalizeComponent(\n { render: __vue_render__$H, staticRenderFns: __vue_staticRenderFns__$H },\n __vue_inject_styles__$H,\n __vue_script__$H,\n __vue_scope_id__$H,\n __vue_is_functional_template__$H,\n __vue_module_identifier__$H,\n false,\n undefined,\n undefined,\n undefined\n );\n\n//\nvar script$G = defineComponent({\r\n name: 'PHeaderButton',\r\n components: { VIcon, VBtn },\r\n props: {\r\n preset: {\r\n type: String,\r\n required: true,\r\n validator: function (value) {\r\n return ['signout', 'account'].indexOf(value) !== -1\r\n },\r\n },\r\n },\r\n setup (props) {\r\n const icons = {\r\n signout: '$icon-uitschrijven',\r\n account: '$icon-gebruiker',\r\n };\r\n return {\r\n icon: computed(() => icons[props.preset]),\r\n }\r\n },\r\n});\n\n/* script */\nconst __vue_script__$G = script$G;\n/* template */\nvar __vue_render__$G = function () {\n var _vm = this;\n var _h = _vm.$createElement;\n var _c = _vm._self._c || _h;\n return _c(\n \"v-btn\",\n _vm._g(\n _vm._b(\n {\n staticClass: \"p-header-button px-4\",\n attrs: { color: \"dark\", text: \"\" },\n },\n \"v-btn\",\n _vm.$attrs,\n false\n ),\n _vm.$listeners\n ),\n [\n _c(\n \"v-icon\",\n { staticClass: \"p-header-button__icon mr-4\", attrs: { left: \"\" } },\n [_vm._v(\"\\n \" + _vm._s(_vm.icon) + \"\\n \")]\n ),\n _vm._v(\" \"),\n _vm._t(\"default\"),\n ],\n 2\n )\n};\nvar __vue_staticRenderFns__$G = [];\n__vue_render__$G._withStripped = true;\n\n /* style */\n const __vue_inject_styles__$G = undefined;\n /* scoped */\n const __vue_scope_id__$G = undefined;\n /* module identifier */\n const __vue_module_identifier__$G = undefined;\n /* functional template */\n const __vue_is_functional_template__$G = false;\n /* style inject */\n \n /* style inject SSR */\n \n /* style inject shadow dom */\n \n\n \n const __vue_component__$G = /*#__PURE__*/normalizeComponent(\n { render: __vue_render__$G, staticRenderFns: __vue_staticRenderFns__$G },\n __vue_inject_styles__$G,\n __vue_script__$G,\n __vue_scope_id__$G,\n __vue_is_functional_template__$G,\n __vue_module_identifier__$G,\n false,\n undefined,\n undefined,\n undefined\n );\n\nvar script$F = defineComponent({\r\n name: 'PIcon',\r\n components: { VIcon },\r\n props: {\r\n color: { type: String, default: undefined },\r\n left: { type: Boolean, default: undefined },\r\n right: { type: Boolean, default: undefined },\r\n },\r\n});\n\n/* script */\nconst __vue_script__$F = script$F;\n\n/* template */\nvar __vue_render__$F = function () {\n var _vm = this;\n var _h = _vm.$createElement;\n var _c = _vm._self._c || _h;\n return _c(\n \"v-icon\",\n { attrs: { color: _vm.color, left: _vm.left, right: _vm.right } },\n [_vm._t(\"default\")],\n 2\n )\n};\nvar __vue_staticRenderFns__$F = [];\n__vue_render__$F._withStripped = true;\n\n /* style */\n const __vue_inject_styles__$F = undefined;\n /* scoped */\n const __vue_scope_id__$F = undefined;\n /* module identifier */\n const __vue_module_identifier__$F = undefined;\n /* functional template */\n const __vue_is_functional_template__$F = false;\n /* style inject */\n \n /* style inject SSR */\n \n /* style inject shadow dom */\n \n\n \n const __vue_component__$F = /*#__PURE__*/normalizeComponent(\n { render: __vue_render__$F, staticRenderFns: __vue_staticRenderFns__$F },\n __vue_inject_styles__$F,\n __vue_script__$F,\n __vue_scope_id__$F,\n __vue_is_functional_template__$F,\n __vue_module_identifier__$F,\n false,\n undefined,\n undefined,\n undefined\n );\n\nvar script$E = defineComponent({\r\n name: 'PContactList',\r\n components: { PList: __vue_component__$P },\r\n});\n\n/* script */\nconst __vue_script__$E = script$E;\n\n/* template */\nvar __vue_render__$E = function () {\n var _vm = this;\n var _h = _vm.$createElement;\n var _c = _vm._self._c || _h;\n return _c(\"p-list\", { attrs: { flat: \"\" } }, [_vm._t(\"default\")], 2)\n};\nvar __vue_staticRenderFns__$E = [];\n__vue_render__$E._withStripped = true;\n\n /* style */\n const __vue_inject_styles__$E = undefined;\n /* scoped */\n const __vue_scope_id__$E = undefined;\n /* module identifier */\n const __vue_module_identifier__$E = undefined;\n /* functional template */\n const __vue_is_functional_template__$E = false;\n /* style inject */\n \n /* style inject SSR */\n \n /* style inject shadow dom */\n \n\n \n const __vue_component__$E = /*#__PURE__*/normalizeComponent(\n { render: __vue_render__$E, staticRenderFns: __vue_staticRenderFns__$E },\n __vue_inject_styles__$E,\n __vue_script__$E,\n __vue_scope_id__$E,\n __vue_is_functional_template__$E,\n __vue_module_identifier__$E,\n false,\n undefined,\n undefined,\n undefined\n );\n\nvar script$D = defineComponent({\r\n name: 'PListItemIcon',\r\n components: { VListItemIcon, PIcon: __vue_component__$F },\r\n props: {\r\n color: { type: String, default: undefined },\r\n },\r\n});\n\n/* script */\nconst __vue_script__$D = script$D;\n\n/* template */\nvar __vue_render__$D = function () {\n var _vm = this;\n var _h = _vm.$createElement;\n var _c = _vm._self._c || _h;\n return _c(\n \"v-list-item-icon\",\n _vm._g({}, _vm.$listeners),\n [_c(\"p-icon\", { attrs: { color: _vm.color } }, [_vm._t(\"default\")], 2)],\n 1\n )\n};\nvar __vue_staticRenderFns__$D = [];\n__vue_render__$D._withStripped = true;\n\n /* style */\n const __vue_inject_styles__$D = undefined;\n /* scoped */\n const __vue_scope_id__$D = undefined;\n /* module identifier */\n const __vue_module_identifier__$D = undefined;\n /* functional template */\n const __vue_is_functional_template__$D = false;\n /* style inject */\n \n /* style inject SSR */\n \n /* style inject shadow dom */\n \n\n \n const __vue_component__$D = /*#__PURE__*/normalizeComponent(\n { render: __vue_render__$D, staticRenderFns: __vue_staticRenderFns__$D },\n __vue_inject_styles__$D,\n __vue_script__$D,\n __vue_scope_id__$D,\n __vue_is_functional_template__$D,\n __vue_module_identifier__$D,\n false,\n undefined,\n undefined,\n undefined\n );\n\nconst icon = {\r\n phone: '$icon-telefoon',\r\n email: '$icon-envelop',\r\n hulp: '$icon-helpdesk',\r\n};\r\nvar script$C = defineComponent({\r\n name: 'PContactListItem',\r\n components: { PListItem: __vue_component__$O, PListItemContent: __vue_component__$N, PListItemIcon: __vue_component__$D },\r\n props: {\r\n type: {\r\n type: String,\r\n default: null,\r\n validator(value) {\r\n return ['phone', 'email', 'hulp'].indexOf(value) !== -1;\r\n },\r\n },\r\n },\r\n setup() {\r\n return {\r\n icon,\r\n };\r\n },\r\n});\n\n/* script */\nconst __vue_script__$C = script$C;\n/* template */\nvar __vue_render__$C = function () {\n var _vm = this;\n var _h = _vm.$createElement;\n var _c = _vm._self._c || _h;\n return _c(\n \"p-list-item\",\n { staticClass: \"p-contact-list-item pb-1\" },\n [\n _vm.icon[_vm.type]\n ? _c(\"p-list-item-icon\", [\n _vm._v(\"\\n \" + _vm._s(_vm.icon[_vm.type]) + \"\\n \"),\n ])\n : _vm._e(),\n _vm._v(\" \"),\n _c(\"p-list-item-content\", [_vm._t(\"default\")], 2),\n ],\n 1\n )\n};\nvar __vue_staticRenderFns__$C = [];\n__vue_render__$C._withStripped = true;\n\n /* style */\n const __vue_inject_styles__$C = undefined;\n /* scoped */\n const __vue_scope_id__$C = \"data-v-7f387080\";\n /* module identifier */\n const __vue_module_identifier__$C = undefined;\n /* functional template */\n const __vue_is_functional_template__$C = false;\n /* style inject */\n \n /* style inject SSR */\n \n /* style inject shadow dom */\n \n\n \n const __vue_component__$C = /*#__PURE__*/normalizeComponent(\n { render: __vue_render__$C, staticRenderFns: __vue_staticRenderFns__$C },\n __vue_inject_styles__$C,\n __vue_script__$C,\n __vue_scope_id__$C,\n __vue_is_functional_template__$C,\n __vue_module_identifier__$C,\n false,\n undefined,\n undefined,\n undefined\n );\n\n//\n\r\nvar script$B = defineComponent({\r\n name: 'PMenu',\r\n components: { VMenu },\r\n props: {\r\n offsetY: { type: Boolean, default: false },\r\n offsetX: { type: Boolean, default: false },\r\n left: { type: Boolean, default: false },\r\n right: { type: Boolean, default: false },\r\n contentClass: { type: String, default: undefined },\r\n },\r\n});\n\n/* script */\nconst __vue_script__$B = script$B;\n\n/* template */\nvar __vue_render__$B = function () {\n var _vm = this;\n var _h = _vm.$createElement;\n var _c = _vm._self._c || _h;\n return _c(\n \"v-menu\",\n _vm._g(\n {\n attrs: {\n \"offset-x\": _vm.offsetX,\n \"offset-y\": _vm.offsetY,\n left: _vm.left,\n right: _vm.right,\n \"content-class\": _vm.contentClass,\n },\n scopedSlots: _vm._u(\n [\n {\n key: \"activator\",\n fn: function (ref) {\n var on = ref.on;\n var attrs = ref.attrs;\n return [_vm._t(\"activator\", null, { on: on, attrs: attrs })]\n },\n },\n ],\n null,\n true\n ),\n },\n _vm.$listeners\n ),\n [_vm._v(\" \"), _vm._t(\"default\")],\n 2\n )\n};\nvar __vue_staticRenderFns__$B = [];\n__vue_render__$B._withStripped = true;\n\n /* style */\n const __vue_inject_styles__$B = undefined;\n /* scoped */\n const __vue_scope_id__$B = undefined;\n /* module identifier */\n const __vue_module_identifier__$B = undefined;\n /* functional template */\n const __vue_is_functional_template__$B = false;\n /* style inject */\n \n /* style inject SSR */\n \n /* style inject shadow dom */\n \n\n \n const __vue_component__$B = /*#__PURE__*/normalizeComponent(\n { render: __vue_render__$B, staticRenderFns: __vue_staticRenderFns__$B },\n __vue_inject_styles__$B,\n __vue_script__$B,\n __vue_scope_id__$B,\n __vue_is_functional_template__$B,\n __vue_module_identifier__$B,\n false,\n undefined,\n undefined,\n undefined\n );\n\nvar script$A = defineComponent({\r\n name: 'PAriaLive',\r\n setup() {\r\n const politeMessage = ref(null);\r\n const assertiveMessage = ref(null);\r\n const announcePolite = (msg) => {\r\n politeMessage.value = { msg };\r\n };\r\n const announceAssertive = (msg) => {\r\n assertiveMessage.value = { msg };\r\n };\r\n provide(pAriaLiveDataProviderName, {\r\n politeMessage,\r\n assertiveMessage,\r\n });\r\n provide(pAriaLiveFunctionsProviderName, {\r\n announcePolite,\r\n announceAssertive,\r\n });\r\n },\r\n});\n\n/* script */\nconst __vue_script__$A = script$A;\n\n/* template */\nvar __vue_render__$A = function () {\n var _vm = this;\n var _h = _vm.$createElement;\n var _c = _vm._self._c || _h;\n return _c(\"div\", [_vm._t(\"default\")], 2)\n};\nvar __vue_staticRenderFns__$A = [];\n__vue_render__$A._withStripped = true;\n\n /* style */\n const __vue_inject_styles__$A = undefined;\n /* scoped */\n const __vue_scope_id__$A = undefined;\n /* module identifier */\n const __vue_module_identifier__$A = undefined;\n /* functional template */\n const __vue_is_functional_template__$A = false;\n /* style inject */\n \n /* style inject SSR */\n \n /* style inject shadow dom */\n \n\n \n const __vue_component__$A = /*#__PURE__*/normalizeComponent(\n { render: __vue_render__$A, staticRenderFns: __vue_staticRenderFns__$A },\n __vue_inject_styles__$A,\n __vue_script__$A,\n __vue_scope_id__$A,\n __vue_is_functional_template__$A,\n __vue_module_identifier__$A,\n false,\n undefined,\n undefined,\n undefined\n );\n\nvar script$z = defineComponent({\r\n name: 'PAriaLiveMessage',\r\n props: {\r\n ariaLive: {\r\n type: String,\r\n default: 'assertive',\r\n validator: (value) => ['assertive', 'polite'].indexOf(value) !== -1,\r\n required: true,\r\n },\r\n message: { type: Object, default: null },\r\n },\r\n setup(props) {\r\n const internalMessage = ref('');\r\n let timeoutIdentifier;\r\n watch(() => props.message, (message) => {\r\n if (!message || !message.msg) {\r\n return;\r\n }\r\n clearTimeout(timeoutIdentifier);\r\n timeoutIdentifier = undefined;\r\n internalMessage.value = message.msg;\r\n timeoutIdentifier = window.setTimeout(() => {\r\n internalMessage.value = '';\r\n }, 500);\r\n });\r\n return {\r\n internalMessage,\r\n };\r\n },\r\n});\n\n/* script */\nconst __vue_script__$z = script$z;\n\n/* template */\nvar __vue_render__$z = function () {\n var _vm = this;\n var _h = _vm.$createElement;\n var _c = _vm._self._c || _h;\n return _c(\n \"div\",\n {\n staticClass: \"sr-only\",\n attrs: { \"aria-live\": _vm.ariaLive, \"aria-atomic\": \"true\" },\n },\n [_vm._v(\"\\n \" + _vm._s(_vm.internalMessage) + \"\\n\")]\n )\n};\nvar __vue_staticRenderFns__$z = [];\n__vue_render__$z._withStripped = true;\n\n /* style */\n const __vue_inject_styles__$z = undefined;\n /* scoped */\n const __vue_scope_id__$z = undefined;\n /* module identifier */\n const __vue_module_identifier__$z = undefined;\n /* functional template */\n const __vue_is_functional_template__$z = false;\n /* style inject */\n \n /* style inject SSR */\n \n /* style inject shadow dom */\n \n\n \n const __vue_component__$z = /*#__PURE__*/normalizeComponent(\n { render: __vue_render__$z, staticRenderFns: __vue_staticRenderFns__$z },\n __vue_inject_styles__$z,\n __vue_script__$z,\n __vue_scope_id__$z,\n __vue_is_functional_template__$z,\n __vue_module_identifier__$z,\n false,\n undefined,\n undefined,\n undefined\n );\n\nvar script$y = defineComponent({\r\n name: 'PAriaLiveMessagePair',\r\n components: { PAriaLiveMessage: __vue_component__$z },\r\n props: {\r\n ariaLive: {\r\n type: String,\r\n default: 'assertive',\r\n validator: (value) => ['assertive', 'polite'].indexOf(value) !== -1,\r\n required: true,\r\n },\r\n message: { type: Object, default: null },\r\n },\r\n setup(props) {\r\n const message1 = ref(null);\r\n const message2 = ref(null);\r\n let setFirstMessageField = true;\r\n watch(() => props.message, (message) => {\r\n if (!message || !message.msg) {\r\n return;\r\n }\r\n if (setFirstMessageField) {\r\n message1.value = { msg: message.msg };\r\n setFirstMessageField = false;\r\n }\r\n else {\r\n message2.value = { msg: message.msg };\r\n setFirstMessageField = true;\r\n }\r\n });\r\n return {\r\n message1,\r\n message2,\r\n };\r\n },\r\n});\n\n/* script */\nconst __vue_script__$y = script$y;\n\n/* template */\nvar __vue_render__$y = function () {\n var _vm = this;\n var _h = _vm.$createElement;\n var _c = _vm._self._c || _h;\n return _c(\n \"div\",\n [\n _c(\"p-aria-live-message\", {\n attrs: { \"aria-live\": _vm.ariaLive, message: _vm.message1 },\n }),\n _vm._v(\" \"),\n _c(\"p-aria-live-message\", {\n attrs: { \"aria-live\": _vm.ariaLive, message: _vm.message2 },\n }),\n ],\n 1\n )\n};\nvar __vue_staticRenderFns__$y = [];\n__vue_render__$y._withStripped = true;\n\n /* style */\n const __vue_inject_styles__$y = undefined;\n /* scoped */\n const __vue_scope_id__$y = undefined;\n /* module identifier */\n const __vue_module_identifier__$y = undefined;\n /* functional template */\n const __vue_is_functional_template__$y = false;\n /* style inject */\n \n /* style inject SSR */\n \n /* style inject shadow dom */\n \n\n \n const __vue_component__$y = /*#__PURE__*/normalizeComponent(\n { render: __vue_render__$y, staticRenderFns: __vue_staticRenderFns__$y },\n __vue_inject_styles__$y,\n __vue_script__$y,\n __vue_scope_id__$y,\n __vue_is_functional_template__$y,\n __vue_module_identifier__$y,\n false,\n undefined,\n undefined,\n undefined\n );\n\nvar script$x = defineComponent({\r\n name: 'PAriaLiveMessageBlock',\r\n components: { PAriaLiveMessagePair: __vue_component__$y },\r\n setup() {\r\n const ariaLiveProvider = inject(pAriaLiveDataProviderName);\r\n return {\r\n politeMessage: ariaLiveProvider ? ariaLiveProvider.politeMessage : null,\r\n assertiveMessage: ariaLiveProvider ? ariaLiveProvider.assertiveMessage : null,\r\n };\r\n },\r\n});\n\n/* script */\nconst __vue_script__$x = script$x;\n\n/* template */\nvar __vue_render__$x = function () {\n var _vm = this;\n var _h = _vm.$createElement;\n var _c = _vm._self._c || _h;\n return _c(\n \"div\",\n [\n _c(\"p-aria-live-message-pair\", {\n attrs: { \"aria-live\": \"polite\", message: _vm.politeMessage },\n }),\n _vm._v(\" \"),\n _c(\"p-aria-live-message-pair\", {\n attrs: { \"aria-live\": \"assertive\", message: _vm.assertiveMessage },\n }),\n ],\n 1\n )\n};\nvar __vue_staticRenderFns__$x = [];\n__vue_render__$x._withStripped = true;\n\n /* style */\n const __vue_inject_styles__$x = undefined;\n /* scoped */\n const __vue_scope_id__$x = undefined;\n /* module identifier */\n const __vue_module_identifier__$x = undefined;\n /* functional template */\n const __vue_is_functional_template__$x = false;\n /* style inject */\n \n /* style inject SSR */\n \n /* style inject shadow dom */\n \n\n \n const __vue_component__$x = /*#__PURE__*/normalizeComponent(\n { render: __vue_render__$x, staticRenderFns: __vue_staticRenderFns__$x },\n __vue_inject_styles__$x,\n __vue_script__$x,\n __vue_scope_id__$x,\n __vue_is_functional_template__$x,\n __vue_module_identifier__$x,\n false,\n undefined,\n undefined,\n undefined\n );\n\nvar script$w = defineComponent({\r\n name: 'PFormsStateManager',\r\n setup() {\r\n const formsState = ref({});\r\n const registerElement = (formId, elementId, state) => {\r\n // Element already registered, don't register again. For persistent form state.\r\n if (formsState.value[formId] && formsState.value[formId][elementId]) {\r\n return;\r\n }\r\n const newFormState = Object.assign(Object.assign({}, (formsState.value[formId] || {})), { [elementId]: Object.assign({}, state) });\r\n formsState.value = Object.assign(Object.assign({}, formsState.value), { [formId]: newFormState });\r\n };\r\n const deregisterElement = (formId, elementId) => {\r\n if (!formsState.value[formId]) {\r\n return;\r\n }\r\n if (Object.keys(formsState.value[formId]).length === 1) {\r\n const newAllState = Object.assign({}, formsState.value);\r\n delete newAllState[formId];\r\n formsState.value = newAllState;\r\n }\r\n else {\r\n const newFormState = Object.assign({}, formsState.value[formId]);\r\n delete newFormState[elementId];\r\n formsState.value = Object.assign(Object.assign({}, formsState.value), { [formId]: newFormState });\r\n }\r\n };\r\n const updateElement = (formId, elementId, partialState) => {\r\n if (!formsState.value[formId] || !formsState.value[formId][elementId]) {\r\n return;\r\n }\r\n const newFormState = Object.assign(Object.assign({}, formsState.value[formId]), { [elementId]: Object.assign(Object.assign({}, formsState.value[formId][elementId]), partialState) });\r\n if (JSON.stringify(newFormState) !== JSON.stringify(formsState.value[formId])) {\r\n formsState.value = Object.assign(Object.assign({}, formsState.value), { [formId]: newFormState });\r\n }\r\n };\r\n const updateAllElements = (partialState) => {\r\n if (!formsState.value) {\r\n return;\r\n }\r\n formsState.value = Object.keys(formsState.value).reduce((prevFormsState, formId) => (Object.assign(Object.assign({}, prevFormsState), { [formId]: Object.keys(formsState.value[formId]).reduce((prevForm, elementId) => (Object.assign(Object.assign({}, prevForm), { [elementId]: Object.assign(Object.assign({}, formsState.value[formId][elementId]), partialState) })), {}) })), {});\r\n };\r\n provide(formsStateManagerKey, {\r\n formsState,\r\n registerElement,\r\n deregisterElement,\r\n updateElement,\r\n updateAllElements,\r\n });\r\n },\r\n});\n\n/* script */\nconst __vue_script__$w = script$w;\n\n/* template */\nvar __vue_render__$w = function () {\n var _vm = this;\n var _h = _vm.$createElement;\n var _c = _vm._self._c || _h;\n return _c(\"div\", [_vm._t(\"default\")], 2)\n};\nvar __vue_staticRenderFns__$w = [];\n__vue_render__$w._withStripped = true;\n\n /* style */\n const __vue_inject_styles__$w = undefined;\n /* scoped */\n const __vue_scope_id__$w = undefined;\n /* module identifier */\n const __vue_module_identifier__$w = undefined;\n /* functional template */\n const __vue_is_functional_template__$w = false;\n /* style inject */\n \n /* style inject SSR */\n \n /* style inject shadow dom */\n \n\n \n const __vue_component__$w = /*#__PURE__*/normalizeComponent(\n { render: __vue_render__$w, staticRenderFns: __vue_staticRenderFns__$w },\n __vue_inject_styles__$w,\n __vue_script__$w,\n __vue_scope_id__$w,\n __vue_is_functional_template__$w,\n __vue_module_identifier__$w,\n false,\n undefined,\n undefined,\n undefined\n );\n\nvar script$v = defineComponent({\r\n name: 'PApp',\r\n components: { VApp, PAriaLive: __vue_component__$A, PAriaLiveMessageBlock: __vue_component__$x, PFormsStateManager: __vue_component__$w },\r\n});\n\n/* script */\nconst __vue_script__$v = script$v;\n/* template */\nvar __vue_render__$v = function () {\n var _vm = this;\n var _h = _vm.$createElement;\n var _c = _vm._self._c || _h;\n return _c(\n \"v-app\",\n [\n _c(\n \"p-forms-state-manager\",\n [\n _c(\n \"p-aria-live\",\n [_vm._t(\"default\"), _vm._v(\" \"), _c(\"p-aria-live-message-block\")],\n 2\n ),\n ],\n 1\n ),\n ],\n 1\n )\n};\nvar __vue_staticRenderFns__$v = [];\n__vue_render__$v._withStripped = true;\n\n /* style */\n const __vue_inject_styles__$v = undefined;\n /* scoped */\n const __vue_scope_id__$v = undefined;\n /* module identifier */\n const __vue_module_identifier__$v = undefined;\n /* functional template */\n const __vue_is_functional_template__$v = false;\n /* style inject */\n \n /* style inject SSR */\n \n /* style inject shadow dom */\n \n\n \n const __vue_component__$v = /*#__PURE__*/normalizeComponent(\n { render: __vue_render__$v, staticRenderFns: __vue_staticRenderFns__$v },\n __vue_inject_styles__$v,\n __vue_script__$v,\n __vue_scope_id__$v,\n __vue_is_functional_template__$v,\n __vue_module_identifier__$v,\n false,\n undefined,\n undefined,\n undefined\n );\n\nvar script$u = defineComponent({\r\n name: 'PMain',\r\n components: { VMain },\r\n});\n\n/* script */\nconst __vue_script__$u = script$u;\n\n/* template */\nvar __vue_render__$u = function () {\n var _vm = this;\n var _h = _vm.$createElement;\n var _c = _vm._self._c || _h;\n return _c(\n \"v-main\",\n _vm._b({}, \"v-main\", _vm.$attrs, false),\n [_vm._t(\"default\")],\n 2\n )\n};\nvar __vue_staticRenderFns__$u = [];\n__vue_render__$u._withStripped = true;\n\n /* style */\n const __vue_inject_styles__$u = undefined;\n /* scoped */\n const __vue_scope_id__$u = undefined;\n /* module identifier */\n const __vue_module_identifier__$u = undefined;\n /* functional template */\n const __vue_is_functional_template__$u = false;\n /* style inject */\n \n /* style inject SSR */\n \n /* style inject shadow dom */\n \n\n \n const __vue_component__$u = /*#__PURE__*/normalizeComponent(\n { render: __vue_render__$u, staticRenderFns: __vue_staticRenderFns__$u },\n __vue_inject_styles__$u,\n __vue_script__$u,\n __vue_scope_id__$u,\n __vue_is_functional_template__$u,\n __vue_module_identifier__$u,\n false,\n undefined,\n undefined,\n undefined\n );\n\nvar script$t = defineComponent({\r\n name: 'PLoadingIndicator',\r\n components: { VProgressCircular },\r\n});\n\n/* script */\nconst __vue_script__$t = script$t;\n\n/* template */\nvar __vue_render__$t = function () {\n var _vm = this;\n var _h = _vm.$createElement;\n var _c = _vm._self._c || _h;\n return _c(\"v-progress-circular\", {\n attrs: { indeterminate: \"\", color: \"primary\" },\n })\n};\nvar __vue_staticRenderFns__$t = [];\n__vue_render__$t._withStripped = true;\n\n /* style */\n const __vue_inject_styles__$t = undefined;\n /* scoped */\n const __vue_scope_id__$t = undefined;\n /* module identifier */\n const __vue_module_identifier__$t = undefined;\n /* functional template */\n const __vue_is_functional_template__$t = false;\n /* style inject */\n \n /* style inject SSR */\n \n /* style inject shadow dom */\n \n\n \n const __vue_component__$t = /*#__PURE__*/normalizeComponent(\n { render: __vue_render__$t, staticRenderFns: __vue_staticRenderFns__$t },\n __vue_inject_styles__$t,\n __vue_script__$t,\n __vue_scope_id__$t,\n __vue_is_functional_template__$t,\n __vue_module_identifier__$t,\n false,\n undefined,\n undefined,\n undefined\n );\n\nvar script$s = defineComponent({\r\n name: 'PNotifyRequiredField',\r\n});\n\n/* script */\nconst __vue_script__$s = script$s;\n\n/* template */\nvar __vue_render__$s = function () {\n var _vm = this;\n var _h = _vm.$createElement;\n var _c = _vm._self._c || _h;\n return _c(\"p\", { staticClass: \"ma-0\", attrs: { \"aria-hidden\": \"true\" } }, [\n _vm._v(\"\\n * = \" + _vm._s(_vm.$t(\"requiredField\")) + \"\\n\"),\n ])\n};\nvar __vue_staticRenderFns__$s = [];\n__vue_render__$s._withStripped = true;\n\n /* style */\n const __vue_inject_styles__$s = undefined;\n /* scoped */\n const __vue_scope_id__$s = undefined;\n /* module identifier */\n const __vue_module_identifier__$s = undefined;\n /* functional template */\n const __vue_is_functional_template__$s = false;\n /* style inject */\n \n /* style inject SSR */\n \n /* style inject shadow dom */\n \n\n \n const __vue_component__$s = /*#__PURE__*/normalizeComponent(\n { render: __vue_render__$s, staticRenderFns: __vue_staticRenderFns__$s },\n __vue_inject_styles__$s,\n __vue_script__$s,\n __vue_scope_id__$s,\n __vue_is_functional_template__$s,\n __vue_module_identifier__$s,\n false,\n undefined,\n undefined,\n undefined\n );\n\nvar script$r = defineComponent({\r\n name: 'PTextField',\r\n components: { PInput: __vue_component__$$, VTextField },\r\n props: {\r\n value: { type: [String, Number], default: null },\r\n id: { type: String, default: null },\r\n dataUi: { type: String, default: null },\r\n label: { type: String, default: null },\r\n info: { type: String, default: null },\r\n suffix: { type: String, default: null },\r\n placeholder: { type: String, default: null },\r\n disabled: { type: Boolean, default: false },\r\n readonly: { type: Boolean, default: false },\r\n hint: { type: String, default: null },\r\n counter: { type: Boolean, default: false },\r\n autofocus: { type: Boolean, default: false },\r\n step: { type: Number, default: 1 },\r\n hideDetails: { type: Boolean, default: false },\r\n validation: { type: Object, default: () => ({ firstErrorMessage: null }) },\r\n currency: { type: Boolean, default: false },\r\n type: {\r\n type: String,\r\n default: 'text',\r\n validator: (value) => {\r\n return ['text', 'password', 'email', 'submit', 'number'].indexOf(value) !== -1;\r\n },\r\n },\r\n inputmode: { type: String, default: null },\r\n focus: { type: [String, Array], default: 'dark' },\r\n },\r\n setup(props, { slots, emit }) {\r\n const hasSlot = useHasSlot(slots);\r\n const customFocus = useCustomFocus(props.focus);\r\n const internalId = useIdGenerator('p-text-field').next();\r\n return {\r\n inputEventHandler: (payload) => {\r\n let content = payload instanceof Event || !['string', 'number'].includes(typeof payload)\r\n ? props.value\r\n : payload;\r\n if (typeof content === 'string') {\r\n content = content.trim().replace(/\\s+/g, props.currency ? '' : ' ');\r\n }\r\n emit('input', content);\r\n },\r\n hasSlot,\r\n customFocus,\r\n internalId,\r\n };\r\n },\r\n});\n\n/* script */\nconst __vue_script__$r = script$r;\n/* template */\nvar __vue_render__$r = function () {\n var _vm = this;\n var _h = _vm.$createElement;\n var _c = _vm._self._c || _h;\n return _c(\n \"p-input\",\n _vm._g(\n {\n class: [\n \"p-text-field\",\n { \"p-text-field--currency\": _vm.currency },\n \"p-focus-\" + (_vm.customFocus ? \"custom\" : _vm.focus),\n ],\n style: _vm.customFocus,\n attrs: {\n id: _vm.id,\n \"data-ui\": _vm.dataUi,\n label: _vm.label,\n info: _vm.info,\n disabled: _vm.disabled,\n readonly: _vm.readonly,\n autofocus: _vm.autofocus,\n validation: _vm.validation,\n \"hide-details\": _vm.hideDetails,\n hint: _vm.hint,\n \"forms-state-manager-id\": _vm.internalId,\n },\n scopedSlots: _vm._u(\n [\n {\n key: \"post-label-input\",\n fn: function () {\n return [_vm._t(\"label-info\")]\n },\n proxy: true,\n },\n {\n key: \"default\",\n fn: function (ref) {\n var on = ref.on;\n var attrs = ref.attrs;\n var maxlength = ref.maxlength;\n var min = ref.min;\n var max = ref.max;\n return [\n _vm.readonly\n ? _c(\n \"input\",\n _vm._b(\n {\n staticClass: \"p-text-field__readonly\",\n attrs: { type: _vm.type },\n domProps: { value: _vm.value },\n },\n \"input\",\n Object.assign({}, attrs),\n false\n )\n )\n : _c(\n \"v-text-field\",\n _vm._g(\n _vm._b(\n {\n attrs: {\n value: _vm.value,\n suffix: _vm.suffix,\n type: _vm.type,\n \"hide-details\": \"\",\n inputmode: _vm.inputmode,\n placeholder: _vm.placeholder,\n maxlength:\n _vm.type === \"text\" ? maxlength : null,\n min: _vm.type === \"number\" ? min : null,\n max: _vm.type === \"number\" ? max : null,\n step: _vm.type === \"number\" ? _vm.step : null,\n counter:\n _vm.type === \"text\" && maxlength\n ? _vm.counter\n : false,\n outlined: \"\",\n },\n on: {\n input: _vm.inputEventHandler,\n blur: _vm.inputEventHandler,\n },\n },\n \"v-text-field\",\n attrs,\n false\n ),\n on\n ),\n [\n _vm.currency\n ? _c(\"template\", { slot: \"prepend-inner\" }, [\n _vm._v(\"\\n €\\n \"),\n ])\n : _vm._e(),\n ],\n 2\n ),\n ]\n },\n },\n _vm.hasSlot(\"error-message\")\n ? {\n key: \"error-message\",\n fn: function () {\n return [_vm._t(\"error-message\")]\n },\n proxy: true,\n }\n : null,\n ],\n null,\n true\n ),\n },\n _vm.$listeners\n )\n )\n};\nvar __vue_staticRenderFns__$r = [];\n__vue_render__$r._withStripped = true;\n\n /* style */\n const __vue_inject_styles__$r = undefined;\n /* scoped */\n const __vue_scope_id__$r = \"data-v-1e7b2f20\";\n /* module identifier */\n const __vue_module_identifier__$r = undefined;\n /* functional template */\n const __vue_is_functional_template__$r = false;\n /* style inject */\n \n /* style inject SSR */\n \n /* style inject shadow dom */\n \n\n \n const __vue_component__$r = /*#__PURE__*/normalizeComponent(\n { render: __vue_render__$r, staticRenderFns: __vue_staticRenderFns__$r },\n __vue_inject_styles__$r,\n __vue_script__$r,\n __vue_scope_id__$r,\n __vue_is_functional_template__$r,\n __vue_module_identifier__$r,\n false,\n undefined,\n undefined,\n undefined\n );\n\nvar script$q = defineComponent({\r\n name: 'PTextarea',\r\n components: { PInput: __vue_component__$$, VTextarea },\r\n props: {\r\n value: { type: String, default: null },\r\n id: { type: String, default: null },\r\n dataUi: { type: String, default: null },\r\n label: { type: String, default: null },\r\n info: { type: String, default: null },\r\n placeholder: { type: String, default: null },\r\n disabled: { type: Boolean, default: false },\r\n readonly: { type: Boolean, default: false },\r\n counter: { type: Boolean, default: false },\r\n hint: { type: String, default: null },\r\n autofocus: { type: Boolean, default: false },\r\n noResize: { type: Boolean, default: false },\r\n rows: { type: Number, default: 5 },\r\n validation: { type: Object, default: () => ({ firstErrorMessage: null }) },\r\n focus: { type: [String, Array], default: 'dark' },\r\n },\r\n setup(props) {\r\n const customFocus = useCustomFocus(props.focus);\r\n const internalId = useIdGenerator('p-textarea').next();\r\n return {\r\n customFocus,\r\n internalId,\r\n };\r\n },\r\n});\n\n/* script */\nconst __vue_script__$q = script$q;\n/* template */\nvar __vue_render__$q = function () {\n var _vm = this;\n var _h = _vm.$createElement;\n var _c = _vm._self._c || _h;\n return _c(\n \"p-input\",\n _vm._g(\n {\n class: [\n \"p-textarea\",\n \"p-focus-\" + (_vm.customFocus ? \"custom\" : _vm.focus),\n ],\n style: _vm.customFocus,\n attrs: {\n id: _vm.id,\n \"data-ui\": _vm.dataUi,\n label: _vm.label,\n info: _vm.info,\n disabled: _vm.disabled,\n readonly: _vm.readonly,\n autofocus: _vm.autofocus,\n validation: _vm.validation,\n hint: _vm.hint,\n \"forms-state-manager-id\": _vm.internalId,\n },\n scopedSlots: _vm._u([\n {\n key: \"default\",\n fn: function (ref) {\n var on = ref.on;\n var attrs = ref.attrs;\n var maxlength = ref.maxlength;\n return [\n _c(\n \"v-textarea\",\n _vm._g(\n _vm._b(\n {\n attrs: {\n value: _vm.value,\n placeholder: _vm.placeholder,\n maxlength: maxlength,\n counter: maxlength ? _vm.counter : false,\n \"no-resize\": _vm.noResize,\n rows: _vm.rows,\n outlined: \"\",\n },\n on: {\n input: function ($event) {\n return _vm.$emit(\"input\", arguments[0])\n },\n },\n },\n \"v-textarea\",\n attrs,\n false\n ),\n on\n )\n ),\n ]\n },\n },\n ]),\n },\n _vm.$listeners\n )\n )\n};\nvar __vue_staticRenderFns__$q = [];\n__vue_render__$q._withStripped = true;\n\n /* style */\n const __vue_inject_styles__$q = undefined;\n /* scoped */\n const __vue_scope_id__$q = \"data-v-79182d48\";\n /* module identifier */\n const __vue_module_identifier__$q = undefined;\n /* functional template */\n const __vue_is_functional_template__$q = false;\n /* style inject */\n \n /* style inject SSR */\n \n /* style inject shadow dom */\n \n\n \n const __vue_component__$q = /*#__PURE__*/normalizeComponent(\n { render: __vue_render__$q, staticRenderFns: __vue_staticRenderFns__$q },\n __vue_inject_styles__$q,\n __vue_script__$q,\n __vue_scope_id__$q,\n __vue_is_functional_template__$q,\n __vue_module_identifier__$q,\n false,\n undefined,\n undefined,\n undefined\n );\n\nvar i18n$3 = {\r\n messages: {\r\n nl: {\r\n hint: 'Het datum formaat is DD-MM-JJJJ',\r\n },\r\n },\r\n};\n\nvar script$p = defineComponent({\r\n name: 'PDatePickerTextField',\r\n components: { PInput: __vue_component__$$, VTextField },\r\n i18n: i18n$3,\r\n props: {\r\n value: { type: String, default: null },\r\n id: { type: String, default: null },\r\n internalId: { type: String, required: true },\r\n formsStateManagerId: { type: String, default: null },\r\n dataUi: { type: String, default: null },\r\n label: { type: String, default: null },\r\n info: { type: String, default: null },\r\n hint: { type: String, default: null },\r\n placeholder: { type: String, default: null },\r\n disabled: { type: Boolean, default: false },\r\n readonly: { type: Boolean, default: false },\r\n persistentHint: { type: Boolean, default: false },\r\n validation: { type: Object, required: true },\r\n holdValidation: { type: Boolean, default: false },\r\n },\r\n});\n\n/* script */\nconst __vue_script__$p = script$p;\n/* template */\nvar __vue_render__$p = function () {\n var _vm = this;\n var _h = _vm.$createElement;\n var _c = _vm._self._c || _h;\n return _c(\n \"p-input\",\n _vm._g(\n {\n staticClass: \"p-date-picker-text-field\",\n attrs: {\n id: _vm.id,\n \"data-ui\": _vm.dataUi,\n label: _vm.label,\n info: _vm.info,\n validation: _vm.validation,\n \"hold-validation\": _vm.holdValidation,\n hint: _vm.$t(\"hint\"),\n \"forms-state-manager-id\": _vm.internalId,\n \"persist-in-forms-state\": \"\",\n },\n scopedSlots: _vm._u([\n {\n key: \"default\",\n fn: function (ref) {\n var on = ref.on;\n var attrs = ref.attrs;\n return [\n _c(\n \"v-text-field\",\n _vm._g(\n _vm._b(\n {\n staticClass: \"p-date-picker-text-field__input\",\n attrs: {\n autocomplete: \"off\",\n value: _vm.value,\n \"prepend-inner-icon\": \"$icon-kalender\",\n placeholder: _vm.placeholder,\n outlined: \"\",\n readonly: _vm.readonly,\n },\n on: {\n input: function ($event) {\n return _vm.$emit(\"input\", arguments[0])\n },\n },\n },\n \"v-text-field\",\n attrs,\n false\n ),\n on\n )\n ),\n ]\n },\n },\n ]),\n },\n _vm.$listeners\n )\n )\n};\nvar __vue_staticRenderFns__$p = [];\n__vue_render__$p._withStripped = true;\n\n /* style */\n const __vue_inject_styles__$p = undefined;\n /* scoped */\n const __vue_scope_id__$p = \"data-v-5d9305b6\";\n /* module identifier */\n const __vue_module_identifier__$p = undefined;\n /* functional template */\n const __vue_is_functional_template__$p = false;\n /* style inject */\n \n /* style inject SSR */\n \n /* style inject shadow dom */\n \n\n \n const __vue_component__$p = /*#__PURE__*/normalizeComponent(\n { render: __vue_render__$p, staticRenderFns: __vue_staticRenderFns__$p },\n __vue_inject_styles__$p,\n __vue_script__$p,\n __vue_scope_id__$p,\n __vue_is_functional_template__$p,\n __vue_module_identifier__$p,\n false,\n undefined,\n undefined,\n undefined\n );\n\nvar script$o = defineComponent({\r\n name: 'PDatePickerMenu',\r\n components: { VMenu, VDatePicker, PDatePickerTextField: __vue_component__$p },\r\n props: {\r\n label: { type: String, required: true },\r\n info: { type: String, default: null },\r\n validation: { type: Object, required: true },\r\n activePickerStart: { type: String, default: 'DATE' },\r\n pickerDate: { type: String, default: null },\r\n value: { type: String, default: null },\r\n id: { type: String, default: null },\r\n internalId: { type: String, required: true },\r\n dataUi: { type: String, default: '' },\r\n },\r\n setup(props, { emit }) {\r\n const toLocaleFormat = (d) => toLocaleString(d, '');\r\n const date = ref(props.value); // (ISO): yyyy-mm-dd\r\n const dateFormatted = ref(toLocaleFormat(date.value)); // (nl-NL): dd-mm-yyyy\r\n const menu = ref(false);\r\n const activePickerRef = ref(props.activePickerStart);\r\n const pickerDateRef = ref(props.pickerDate);\r\n const setDate = () => {\r\n date.value = dateString(dateFormatted.value, null);\r\n };\r\n const onPickerInput = (newDate) => {\r\n emit('picker-clicked');\r\n dateFormatted.value = toLocaleFormat(newDate);\r\n menu.value = false;\r\n setDate();\r\n };\r\n watch(() => date.value, (newValue) => {\r\n emit('input', newValue);\r\n });\r\n watch(() => props.value, (newValue) => {\r\n date.value = newValue;\r\n dateFormatted.value = toLocaleFormat(newValue);\r\n });\r\n watch(() => menu.value, (newValue) => {\r\n newValue && !date.value && setTimeout(() => (activePickerRef.value = props.activePickerStart));\r\n });\r\n watch(() => props.pickerDate, (newValue) => {\r\n pickerDateRef.value = newValue;\r\n });\r\n return {\r\n menu,\r\n date,\r\n dateFormatted,\r\n onPickerInput,\r\n setDate,\r\n activePickerRef,\r\n pickerDateRef,\r\n };\r\n },\r\n});\n\n/* script */\nconst __vue_script__$o = script$o;\n\n/* template */\nvar __vue_render__$o = function () {\n var _vm = this;\n var _h = _vm.$createElement;\n var _c = _vm._self._c || _h;\n return _c(\n \"v-menu\",\n {\n attrs: {\n \"close-on-content-click\": false,\n \"nudge-right\": 0,\n \"nudge-top\": 26,\n transition: \"scale-transition\",\n \"offset-y\": \"\",\n \"allow-overflow\": \"\",\n \"max-width\": \"290px\",\n \"min-width\": \"290px\",\n },\n scopedSlots: _vm._u([\n {\n key: \"activator\",\n fn: function (ref) {\n var on = ref.on;\n return [\n _c(\n \"p-date-picker-text-field\",\n _vm._g(\n {\n attrs: {\n id: _vm.id,\n \"internal-id\": _vm.internalId,\n \"hold-validation\": _vm.menu,\n validation: _vm.validation,\n info: _vm.info,\n label: _vm.label,\n \"data-ui\": _vm.dataUi,\n },\n on: {\n blur: _vm.setDate,\n keydown: function ($event) {\n if (\n !$event.type.indexOf(\"key\") &&\n _vm._k($event.keyCode, \"tab\", 9, $event.key, \"Tab\")\n ) {\n return null\n }\n _vm.menu = false;\n },\n },\n model: {\n value: _vm.dateFormatted,\n callback: function ($$v) {\n _vm.dateFormatted = $$v;\n },\n expression: \"dateFormatted\",\n },\n },\n on\n )\n ),\n ]\n },\n },\n ]),\n model: {\n value: _vm.menu,\n callback: function ($$v) {\n _vm.menu = $$v;\n },\n expression: \"menu\",\n },\n },\n [\n _vm._v(\" \"),\n _c(\"v-date-picker\", {\n attrs: {\n min: _vm.validation.minDate,\n max: _vm.validation.maxDate,\n \"active-picker\": _vm.activePickerRef,\n \"picker-date\": _vm.pickerDateRef,\n color: \"primary\",\n },\n on: {\n input: function ($event) {\n return _vm.onPickerInput($event)\n },\n \"update:activePicker\": function ($event) {\n _vm.activePickerRef = $event;\n },\n \"update:active-picker\": function ($event) {\n _vm.activePickerRef = $event;\n },\n \"update:pickerDate\": function ($event) {\n _vm.pickerDateRef = $event;\n },\n \"update:picker-date\": function ($event) {\n _vm.pickerDateRef = $event;\n },\n },\n model: {\n value: _vm.date,\n callback: function ($$v) {\n _vm.date = $$v;\n },\n expression: \"date\",\n },\n }),\n ],\n 1\n )\n};\nvar __vue_staticRenderFns__$o = [];\n__vue_render__$o._withStripped = true;\n\n /* style */\n const __vue_inject_styles__$o = undefined;\n /* scoped */\n const __vue_scope_id__$o = undefined;\n /* module identifier */\n const __vue_module_identifier__$o = undefined;\n /* functional template */\n const __vue_is_functional_template__$o = false;\n /* style inject */\n \n /* style inject SSR */\n \n /* style inject shadow dom */\n \n\n \n const __vue_component__$o = /*#__PURE__*/normalizeComponent(\n { render: __vue_render__$o, staticRenderFns: __vue_staticRenderFns__$o },\n __vue_inject_styles__$o,\n __vue_script__$o,\n __vue_scope_id__$o,\n __vue_is_functional_template__$o,\n __vue_module_identifier__$o,\n false,\n undefined,\n undefined,\n undefined\n );\n\nvar script$n = defineComponent({\r\n name: 'PDatePickerDialog',\r\n components: {\r\n PDatePickerTextField: __vue_component__$p,\r\n PButton: __vue_component__$1f,\r\n PButtonContainer: __vue_component__$12,\r\n VDatePicker,\r\n VDialog,\r\n },\r\n props: {\r\n label: { type: String, required: true },\r\n info: { type: String, default: null },\r\n validation: { type: Object, required: true },\r\n activePickerStart: { type: String, default: 'DATE' },\r\n pickerDate: { type: String, default: null },\r\n value: { type: String, default: null },\r\n id: { type: String, default: null },\r\n internalId: { type: String, required: true },\r\n dataUi: { type: String, default: '' },\r\n },\r\n setup(props, { emit }) {\r\n const date = ref(props.value);\r\n const selectedDate = ref(props.value);\r\n const modal = ref(false);\r\n const activePickerRef = ref(props.activePickerStart);\r\n const pickerDateRef = ref(props.pickerDate);\r\n watch(() => props.value, (newValue) => {\r\n date.value = newValue;\r\n selectedDate.value = newValue;\r\n });\r\n watch(() => modal.value, (newValue) => {\r\n newValue && !date.value && setTimeout(() => (activePickerRef.value = props.activePickerStart));\r\n });\r\n watch(() => props.pickerDate, (newValue) => {\r\n pickerDateRef.value = newValue;\r\n });\r\n const setDateFromInput = (data) => {\r\n modal.value = false;\r\n emit('input', data);\r\n };\r\n const cancel = () => {\r\n modal.value = false;\r\n selectedDate.value = date.value;\r\n };\r\n const onPickerInput = () => {\r\n emit('picker-clicked');\r\n };\r\n return {\r\n modal,\r\n date,\r\n selectedDate,\r\n cancel,\r\n setDateFromInput,\r\n onPickerInput,\r\n activePickerRef,\r\n pickerDateRef,\r\n };\r\n },\r\n});\n\n/* script */\nconst __vue_script__$n = script$n;\n\n/* template */\nvar __vue_render__$n = function () {\n var _vm = this;\n var _h = _vm.$createElement;\n var _c = _vm._self._c || _h;\n return _c(\n \"v-dialog\",\n {\n ref: \"dialog\",\n attrs: { \"return-value\": _vm.date, persistent: \"\", width: \"290px\" },\n on: {\n \"update:returnValue\": function ($event) {\n _vm.date = $event;\n },\n \"update:return-value\": function ($event) {\n _vm.date = $event;\n },\n },\n scopedSlots: _vm._u([\n {\n key: \"activator\",\n fn: function (ref) {\n var on = ref.on;\n return [\n _c(\n \"p-date-picker-text-field\",\n _vm._g(\n _vm._b(\n {\n attrs: {\n id: _vm.id,\n value: _vm.$d(_vm.date, \"long\"),\n readonly: \"\",\n validation: _vm.validation,\n info: _vm.info,\n label: _vm.label,\n \"data-ui\": _vm.dataUi,\n \"internal-id\": _vm.internalId,\n },\n },\n \"p-date-picker-text-field\",\n _vm.$attrs,\n false\n ),\n on\n )\n ),\n ]\n },\n },\n ]),\n model: {\n value: _vm.modal,\n callback: function ($$v) {\n _vm.modal = $$v;\n },\n expression: \"modal\",\n },\n },\n [\n _vm._v(\" \"),\n _c(\n \"v-date-picker\",\n {\n attrs: {\n scrollable: \"\",\n min: _vm.validation.minDate,\n max: _vm.validation.maxDate,\n color: \"primary\",\n \"active-picker\": _vm.activePickerRef,\n \"picker-date\": _vm.pickerDateRef,\n },\n on: {\n input: function ($event) {\n return _vm.onPickerInput()\n },\n \"update:activePicker\": function ($event) {\n _vm.activePickerRef = $event;\n },\n \"update:active-picker\": function ($event) {\n _vm.activePickerRef = $event;\n },\n \"update:pickerDate\": function ($event) {\n _vm.pickerDateRef = $event;\n },\n \"update:picker-date\": function ($event) {\n _vm.pickerDateRef = $event;\n },\n },\n model: {\n value: _vm.selectedDate,\n callback: function ($$v) {\n _vm.selectedDate = $$v;\n },\n expression: \"selectedDate\",\n },\n },\n [\n _c(\n \"p-button-container\",\n {\n staticClass: \"flex-row flex-sm-column justify-space-between mb-2\",\n },\n [\n _c(\n \"p-button\",\n {\n on: {\n click: function ($event) {\n return _vm.cancel()\n },\n },\n },\n [_vm._v(\"\\n \" + _vm._s(_vm.$t(\"cancel\")) + \"\\n \")]\n ),\n _vm._v(\" \"),\n _c(\n \"p-button\",\n {\n on: {\n click: function ($event) {\n return _vm.setDateFromInput(_vm.selectedDate)\n },\n },\n },\n [_vm._v(\"\\n \" + _vm._s(_vm.$t(\"ok\")) + \"\\n \")]\n ),\n ],\n 1\n ),\n ],\n 1\n ),\n ],\n 1\n )\n};\nvar __vue_staticRenderFns__$n = [];\n__vue_render__$n._withStripped = true;\n\n /* style */\n const __vue_inject_styles__$n = undefined;\n /* scoped */\n const __vue_scope_id__$n = undefined;\n /* module identifier */\n const __vue_module_identifier__$n = undefined;\n /* functional template */\n const __vue_is_functional_template__$n = false;\n /* style inject */\n \n /* style inject SSR */\n \n /* style inject shadow dom */\n \n\n \n const __vue_component__$n = /*#__PURE__*/normalizeComponent(\n { render: __vue_render__$n, staticRenderFns: __vue_staticRenderFns__$n },\n __vue_inject_styles__$n,\n __vue_script__$n,\n __vue_scope_id__$n,\n __vue_is_functional_template__$n,\n __vue_module_identifier__$n,\n false,\n undefined,\n undefined,\n undefined\n );\n\nvar script$m = defineComponent({\r\n name: 'PDatePicker',\r\n components: { PDatePickerDialog: __vue_component__$n, PDatePickerMenu: __vue_component__$o },\r\n props: {\r\n label: { type: String, required: true },\r\n info: { type: String, default: null },\r\n validation: { type: Object, default: undefined },\r\n activePickerStart: { type: String, default: undefined },\r\n pickerDate: { type: String, default: null },\r\n value: { type: String, default: null },\r\n id: { type: String, default: null },\r\n dataUi: { type: String, default: '' },\r\n focus: { type: [String, Array], default: 'dark' },\r\n },\r\n setup(props, { emit }) {\r\n const internalId = useIdGenerator('p-date-picker').next();\r\n const updatedValue = ref(props.value || null);\r\n const customFocus = useCustomFocus(props.focus);\r\n const { manualDeregister, setDirty } = useFormsStateManager(internalId);\r\n const activePickerStartRef = ref(props.activePickerStart);\r\n const pickerDateRef = ref(props.pickerDate);\r\n watch(() => updatedValue.value, (newDate) => {\r\n emit('input', newDate);\r\n });\r\n watch(() => props.value, (newDate) => {\r\n updatedValue.value = newDate;\r\n });\r\n watch(() => props.activePickerStart, (newActivePickerStart) => {\r\n activePickerStartRef.value = newActivePickerStart;\r\n });\r\n watch(() => props.pickerDate, (newPickerDate) => {\r\n pickerDateRef.value = newPickerDate;\r\n });\r\n const onPickerClickedHandler = () => {\r\n setDirty();\r\n };\r\n manualDeregister();\r\n return Object.assign(Object.assign({ internalId }, useBreakpoints()), { updatedValue, fieldValidation: props.validation || { firstErrorMessage: null }, activePickerStartRef,\r\n pickerDateRef,\r\n customFocus,\r\n onPickerClickedHandler });\r\n },\r\n});\n\n/* script */\nconst __vue_script__$m = script$m;\n/* template */\nvar __vue_render__$m = function () {\n var _vm = this;\n var _h = _vm.$createElement;\n var _c = _vm._self._c || _h;\n return _c(\n \"div\",\n {\n class: [\n \"p-date-picker\",\n \"p-focus-\" + (_vm.customFocus ? \"custom\" : _vm.focus),\n ],\n style: _vm.customFocus,\n },\n [\n _c(\n _vm.isMobileView ? \"p-date-picker-dialog\" : \"p-date-picker-menu\",\n {\n ref: \"pickerRef\",\n tag: \"component\",\n attrs: {\n label: _vm.label,\n info: _vm.info,\n validation: _vm.fieldValidation,\n \"active-picker-start\": _vm.activePickerStartRef,\n \"picker-date\": _vm.pickerDateRef,\n id: _vm.id,\n \"internal-id\": _vm.internalId,\n \"data-ui\": _vm.dataUi,\n },\n on: { \"picker-clicked\": _vm.onPickerClickedHandler },\n model: {\n value: _vm.updatedValue,\n callback: function ($$v) {\n _vm.updatedValue = $$v;\n },\n expression: \"updatedValue\",\n },\n },\n [_vm._t(\"default\")],\n 2\n ),\n ],\n 1\n )\n};\nvar __vue_staticRenderFns__$m = [];\n__vue_render__$m._withStripped = true;\n\n /* style */\n const __vue_inject_styles__$m = undefined;\n /* scoped */\n const __vue_scope_id__$m = undefined;\n /* module identifier */\n const __vue_module_identifier__$m = undefined;\n /* functional template */\n const __vue_is_functional_template__$m = false;\n /* style inject */\n \n /* style inject SSR */\n \n /* style inject shadow dom */\n \n\n \n const __vue_component__$m = /*#__PURE__*/normalizeComponent(\n { render: __vue_render__$m, staticRenderFns: __vue_staticRenderFns__$m },\n __vue_inject_styles__$m,\n __vue_script__$m,\n __vue_scope_id__$m,\n __vue_is_functional_template__$m,\n __vue_module_identifier__$m,\n false,\n undefined,\n undefined,\n undefined\n );\n\nvar script$l = defineComponent({\r\n name: 'PCheckbox',\r\n components: { VCheckbox, PInput: __vue_component__$$ },\r\n inheritAttrs: false,\r\n props: {\r\n id: { type: String, default: null },\r\n label: { type: String, required: true },\r\n value: { type: [String, Number, Boolean], default: false },\r\n disabled: { type: Boolean, default: false },\r\n autofocus: { type: Boolean, default: false },\r\n info: { type: String, default: null },\r\n dataUi: { type: String, default: null },\r\n readonly: { type: Boolean, default: false },\r\n validation: { type: Object, default: undefined },\r\n hideDetails: { type: Boolean, default: false },\r\n focus: { type: [String, Array], default: 'dark' },\r\n invert: { type: Boolean, default: false },\r\n },\r\n setup(props, { slots, emit }) {\r\n const internalId = useIdGenerator('p-checkbox').next();\r\n const hasSlot = useHasSlot(slots);\r\n const inputState = ref(props.value);\r\n const customFocus = useCustomFocus(props.focus);\r\n const handleChange = (payload) => {\r\n emit('input', payload);\r\n };\r\n watch(() => props.value, (v) => {\r\n inputState.value = v;\r\n });\r\n return {\r\n inputState,\r\n handleChange,\r\n hasSlot,\r\n checkboxValidation: props.validation || { firstErrorMessage: null },\r\n customFocus,\r\n internalId,\r\n };\r\n },\r\n});\n\n/* script */\nconst __vue_script__$l = script$l;\n/* template */\nvar __vue_render__$l = function () {\n var _vm = this;\n var _h = _vm.$createElement;\n var _c = _vm._self._c || _h;\n return _c(\n \"p-input\",\n _vm._g(\n {\n class: [\n \"p-checkbox\",\n \"p-focus-\" + (_vm.customFocus ? \"custom\" : _vm.focus),\n ],\n style: _vm.customFocus,\n attrs: {\n id: _vm.id,\n \"data-ui\": _vm.dataUi,\n validation: _vm.checkboxValidation,\n disabled: _vm.disabled,\n readonly: _vm.readonly,\n autofocus: _vm.autofocus,\n \"hide-details\": _vm.hideDetails,\n \"forms-state-manager-id\": _vm.internalId,\n },\n scopedSlots: _vm._u(\n [\n {\n key: \"default\",\n fn: function (ref) {\n var on = ref.on;\n var attrs = ref.attrs;\n var required = ref.required;\n return [\n _c(\n \"v-checkbox\",\n _vm._g(\n _vm._b(\n {\n staticClass: \"p-checkbox__button\",\n attrs: {\n ripple: \"\",\n info: _vm.info,\n dark: _vm.invert,\n },\n on: { change: _vm.handleChange },\n model: {\n value: _vm.inputState,\n callback: function ($$v) {\n _vm.inputState = $$v;\n },\n expression: \"inputState\",\n },\n },\n \"v-checkbox\",\n attrs,\n false\n ),\n on\n ),\n [\n _c(\n \"template\",\n { slot: \"label\" },\n [\n _vm._v(\"\\n \" + _vm._s(_vm.label) + \"\\n \"),\n required\n ? _c(\n \"span\",\n {\n staticClass: \"ml-1\",\n attrs: { \"aria-hidden\": \"true\" },\n },\n [_vm._v(\"\\n *\\n \")]\n )\n : _vm._e(),\n _vm._v(\" \"),\n _vm._t(\"label-info\"),\n ],\n 2\n ),\n ],\n 2\n ),\n ]\n },\n },\n ],\n null,\n true\n ),\n },\n _vm.$listeners\n )\n )\n};\nvar __vue_staticRenderFns__$l = [];\n__vue_render__$l._withStripped = true;\n\n /* style */\n const __vue_inject_styles__$l = undefined;\n /* scoped */\n const __vue_scope_id__$l = \"data-v-6214342b\";\n /* module identifier */\n const __vue_module_identifier__$l = undefined;\n /* functional template */\n const __vue_is_functional_template__$l = false;\n /* style inject */\n \n /* style inject SSR */\n \n /* style inject shadow dom */\n \n\n \n const __vue_component__$l = /*#__PURE__*/normalizeComponent(\n { render: __vue_render__$l, staticRenderFns: __vue_staticRenderFns__$l },\n __vue_inject_styles__$l,\n __vue_script__$l,\n __vue_scope_id__$l,\n __vue_is_functional_template__$l,\n __vue_module_identifier__$l,\n false,\n undefined,\n undefined,\n undefined\n );\n\nclass UseGroupValidation {\r\n constructor(props) {\r\n this.props = props;\r\n this.errorMessage = ref('');\r\n this.shouldValidate = ref(false);\r\n this.linkedFormFields = ref({});\r\n this.linkedFormFieldsInError = ref(false);\r\n this.i18n = useI18n();\r\n this.validation = new UseValidation({ validation: props.validation }, this.i18n, this.validate.bind(this), () => this.shouldValidate.value);\r\n watch(this.linkedFormFields, () => {\r\n this.linkedFormFieldsInError.value = Object.keys(this.linkedFormFields.value).some(key => (this.linkedFormFields.value)[key].isInError);\r\n });\r\n }\r\n validate(force) {\r\n if (force) {\r\n this.shouldValidate.value = true;\r\n }\r\n this.errorMessage.value = this.shouldValidate.value ? this.validation.getValidationMessage() : '';\r\n this.forceErrorState(!!this.errorMessage.value);\r\n return !this.validation.isInError.value;\r\n }\r\n forceErrorState(state) {\r\n this.validation.isInError.value = state;\r\n }\r\n setGroupField(id, isInError) {\r\n this.linkedFormFields.value = Object.assign(Object.assign({}, this.linkedFormFields.value), { [id]: { isInError } });\r\n }\r\n deleteGroupField(id) {\r\n const newFields = Object.assign({}, this.linkedFormFields.value);\r\n delete newFields[id];\r\n this.linkedFormFields.value = newFields;\r\n }\r\n initValidator() {\r\n const errorId = useIdGenerator('p-group-validation-error').next();\r\n provide(groupValidationProviderName, reactive({\r\n hasGroupValidation: true,\r\n isInError: computed(() => !this.linkedFormFieldsInError.value && this.validation.isInError.value),\r\n errorMessage: computed(() => this.linkedFormFieldsInError.value ? '' : this.errorMessage.value),\r\n errorId,\r\n setAriaDescribedby: computed(() => !this.linkedFormFieldsInError.value && !this.props.noAriaDescribedby),\r\n setGroupField: this.setGroupField.bind(this),\r\n deleteGroupField: this.deleteGroupField.bind(this),\r\n validate: this.validate.bind(this),\r\n hideChildValidationOnError: computed(() => !this.props.alwaysReserveChildErrorSpace),\r\n isRequired: computed(() => this.validation.isRequired.value),\r\n }));\r\n }\r\n}\n\nvar script$k = defineComponent({\r\n name: 'PGroupValidation',\r\n props: {\r\n validation: {\r\n type: Object,\r\n required: true,\r\n },\r\n noAriaDescribedby: { type: Boolean },\r\n alwaysReserveChildErrorSpace: { type: Boolean },\r\n },\r\n setup(props) {\r\n new UseGroupValidation(props).initValidator();\r\n },\r\n});\n\n/* script */\nconst __vue_script__$k = script$k;\n\n/* template */\nvar __vue_render__$k = function () {\n var _vm = this;\n var _h = _vm.$createElement;\n var _c = _vm._self._c || _h;\n return _c(\"div\", [_vm._t(\"default\")], 2)\n};\nvar __vue_staticRenderFns__$k = [];\n__vue_render__$k._withStripped = true;\n\n /* style */\n const __vue_inject_styles__$k = undefined;\n /* scoped */\n const __vue_scope_id__$k = undefined;\n /* module identifier */\n const __vue_module_identifier__$k = undefined;\n /* functional template */\n const __vue_is_functional_template__$k = false;\n /* style inject */\n \n /* style inject SSR */\n \n /* style inject shadow dom */\n \n\n \n const __vue_component__$k = /*#__PURE__*/normalizeComponent(\n { render: __vue_render__$k, staticRenderFns: __vue_staticRenderFns__$k },\n __vue_inject_styles__$k,\n __vue_script__$k,\n __vue_scope_id__$k,\n __vue_is_functional_template__$k,\n __vue_module_identifier__$k,\n false,\n undefined,\n undefined,\n undefined\n );\n\nvar i18n$2 = {\r\n messages: {\r\n nl: {\r\n requiredLegendText: 'Verplicht',\r\n },\r\n },\r\n};\n\nvar script$j = defineComponent({\r\n name: 'PGroupValidationError',\r\n props: {\r\n ariaLive: {\r\n type: String,\r\n default: 'assertive',\r\n validator: (value) => ['assertive', 'polite', 'off'].indexOf(value) !== -1,\r\n },\r\n },\r\n setup(_, { slots }) {\r\n const groupValidationApi = inject(groupValidationProviderName);\r\n const hasSlot = useHasSlot(slots);\r\n return {\r\n groupValidationApi,\r\n hasSlot,\r\n };\r\n },\r\n});\n\n/* script */\nconst __vue_script__$j = script$j;\n/* template */\nvar __vue_render__$j = function () {\n var _vm = this;\n var _h = _vm.$createElement;\n var _c = _vm._self._c || _h;\n return _c(\n \"div\",\n {\n attrs: {\n \"aria-live\": _vm.ariaLive === \"off\" ? null : _vm.ariaLive,\n \"aria-atomic\": _vm.ariaLive === \"off\" ? null : \"true\",\n },\n },\n [\n _vm.hasSlot(\"default\")\n ? [\n _vm._t(\"default\", null, {\n isInError: _vm.groupValidationApi.isInError,\n errorMessage: _vm.groupValidationApi.errorMessage,\n }),\n ]\n : _c(\n \"div\",\n {\n class: [\n \"p-group-validation-error__message v-messages theme--light\",\n _vm.groupValidationApi.isInError\n ? \"p-group-validation-error__message--has-error pr-4\"\n : \"\",\n ],\n },\n [\n _vm.groupValidationApi.isInError\n ? _c(\n \"span\",\n {\n staticClass:\n \"p-input__error v-messages__message error--text\",\n attrs: {\n id: _vm.groupValidationApi.setAriaDescribedby\n ? _vm.groupValidationApi.errorId\n : null,\n },\n },\n [_vm._v(_vm._s(_vm.groupValidationApi.errorMessage))]\n )\n : _vm._e(),\n ]\n ),\n ],\n 2\n )\n};\nvar __vue_staticRenderFns__$j = [];\n__vue_render__$j._withStripped = true;\n\n /* style */\n const __vue_inject_styles__$j = undefined;\n /* scoped */\n const __vue_scope_id__$j = \"data-v-e751f926\";\n /* module identifier */\n const __vue_module_identifier__$j = undefined;\n /* functional template */\n const __vue_is_functional_template__$j = false;\n /* style inject */\n \n /* style inject SSR */\n \n /* style inject shadow dom */\n \n\n \n const __vue_component__$j = /*#__PURE__*/normalizeComponent(\n { render: __vue_render__$j, staticRenderFns: __vue_staticRenderFns__$j },\n __vue_inject_styles__$j,\n __vue_script__$j,\n __vue_scope_id__$j,\n __vue_is_functional_template__$j,\n __vue_module_identifier__$j,\n false,\n undefined,\n undefined,\n undefined\n );\n\nvar script$i = defineComponent({\r\n name: 'PFieldsetLegend',\r\n components: { PInfo: __vue_component__$16, PGroupValidationError: __vue_component__$j },\r\n i18n: i18n$2,\r\n props: {\r\n legendText: { type: String, default: '', required: true },\r\n useStandardLabels: { type: Boolean },\r\n info: { type: String, default: null },\r\n hint: { type: String, default: null },\r\n },\r\n setup() {\r\n const groupValidationApi = inject(groupValidationProviderName, { hasGroupValidation: false, isInError: false, hideChildValidationOnError: false });\r\n return {\r\n groupValidationApi,\r\n };\r\n },\r\n});\n\n/* script */\nconst __vue_script__$i = script$i;\n/* template */\nvar __vue_render__$i = function () {\n var _vm = this;\n var _h = _vm.$createElement;\n var _c = _vm._self._c || _h;\n return _c(\n \"legend\",\n {\n class: [\n \"p-fieldset-legend\",\n _vm.useStandardLabels ? \"pb-4\" : \"pb-2\",\n {\n \"p-fieldset-legend--as-label\": !_vm.useStandardLabels,\n \"error--text\":\n !_vm.useStandardLabels && _vm.groupValidationApi.isInError,\n },\n ],\n },\n [\n _c(\n \"span\",\n { staticClass: \"p-fieldset-legend__text-container d-flex\" },\n [\n _vm._v(\"\\n \" + _vm._s(_vm.legendText) + \"\\n \"),\n _vm.groupValidationApi.isRequired\n ? _c(\n \"span\",\n { staticClass: \"ml-1\", attrs: { \"aria-hidden\": \"true\" } },\n [_vm._v(\"\\n *\\n \")]\n )\n : _vm._e(),\n _vm._v(\" \"),\n _vm.groupValidationApi.isRequired\n ? _c(\"span\", { staticClass: \"sr-only\" }, [\n _vm._v(\" \" + _vm._s(_vm.$t(\"requiredLegendText\"))),\n ])\n : _vm._e(),\n _vm._v(\" \"),\n _c(\"p-group-validation-error\", {\n scopedSlots: _vm._u([\n {\n key: \"default\",\n fn: function () {\n return [\n _vm.groupValidationApi.isInError\n ? _c(\"span\", { staticClass: \"sr-only\" }, [\n _vm._v(\n \" \" + _vm._s(_vm.groupValidationApi.errorMessage)\n ),\n ])\n : _vm._e(),\n ]\n },\n proxy: true,\n },\n ]),\n }),\n _vm._v(\" \"),\n _vm._t(\"label-info\", function () {\n return [\n _vm.info && !_vm.useStandardLabels\n ? _c(\"p-info\", {\n attrs: {\n \"linked-label-text\": _vm.legendText,\n message: _vm.info,\n },\n })\n : _vm._e(),\n ]\n }),\n ],\n 2\n ),\n _vm._v(\" \"),\n _vm.hint && !_vm.useStandardLabels\n ? _c(\n \"span\",\n {\n staticClass:\n \"p-fieldset-legend__hint font-italic font-weight-regular\",\n },\n [_vm._v(\"\\n \" + _vm._s(_vm.hint) + \"\\n \")]\n )\n : _vm._e(),\n ]\n )\n};\nvar __vue_staticRenderFns__$i = [];\n__vue_render__$i._withStripped = true;\n\n /* style */\n const __vue_inject_styles__$i = undefined;\n /* scoped */\n const __vue_scope_id__$i = \"data-v-255a8c77\";\n /* module identifier */\n const __vue_module_identifier__$i = undefined;\n /* functional template */\n const __vue_is_functional_template__$i = false;\n /* style inject */\n \n /* style inject SSR */\n \n /* style inject shadow dom */\n \n\n \n const __vue_component__$i = /*#__PURE__*/normalizeComponent(\n { render: __vue_render__$i, staticRenderFns: __vue_staticRenderFns__$i },\n __vue_inject_styles__$i,\n __vue_script__$i,\n __vue_scope_id__$i,\n __vue_is_functional_template__$i,\n __vue_module_identifier__$i,\n false,\n undefined,\n undefined,\n undefined\n );\n\nvar script$h = defineComponent({\r\n name: 'PFieldset',\r\n props: {\r\n legendText: { type: String, default: '', required: true },\r\n useStandardLabels: { type: Boolean },\r\n alwaysReserveChildErrorSpace: { type: Boolean },\r\n validation: {\r\n type: Object,\r\n required: true,\r\n },\r\n info: { type: String, default: null },\r\n hint: { type: String, default: null },\r\n },\r\n components: {\r\n PFieldsetLegend: __vue_component__$i,\r\n PGroupValidation: __vue_component__$k,\r\n },\r\n setup(props) {\r\n if (props.legendText === '') {\r\n logWarning('PFieldset has no legend, please provide a `legend-text`');\r\n }\r\n provide(fieldsetProviderName, reactive({\r\n visuallyHideLabels: computed(() => !props.useStandardLabels),\r\n }));\r\n },\r\n});\n\n/* script */\nconst __vue_script__$h = script$h;\n/* template */\nvar __vue_render__$h = function () {\n var _vm = this;\n var _h = _vm.$createElement;\n var _c = _vm._self._c || _h;\n return _c(\n \"p-group-validation\",\n {\n attrs: {\n validation: _vm.validation,\n \"always-reserve-child-error-space\": _vm.alwaysReserveChildErrorSpace,\n \"no-aria-describedby\": \"\",\n },\n },\n [\n _c(\n \"fieldset\",\n { staticClass: \"p-fieldset\" },\n [\n _vm.legendText\n ? _c(\"p-fieldset-legend\", {\n attrs: {\n \"legend-text\": _vm.legendText,\n \"use-standard-labels\": _vm.useStandardLabels,\n hint: _vm.hint,\n info: _vm.info,\n },\n scopedSlots: _vm._u(\n [\n {\n key: \"label-info\",\n fn: function () {\n return [_vm._t(\"label-info\")]\n },\n proxy: true,\n },\n ],\n null,\n true\n ),\n })\n : _vm._e(),\n _vm._v(\" \"),\n _vm._t(\"default\"),\n ],\n 2\n ),\n ]\n )\n};\nvar __vue_staticRenderFns__$h = [];\n__vue_render__$h._withStripped = true;\n\n /* style */\n const __vue_inject_styles__$h = undefined;\n /* scoped */\n const __vue_scope_id__$h = \"data-v-785a8cb8\";\n /* module identifier */\n const __vue_module_identifier__$h = undefined;\n /* functional template */\n const __vue_is_functional_template__$h = false;\n /* style inject */\n \n /* style inject SSR */\n \n /* style inject shadow dom */\n \n\n \n const __vue_component__$h = /*#__PURE__*/normalizeComponent(\n { render: __vue_render__$h, staticRenderFns: __vue_staticRenderFns__$h },\n __vue_inject_styles__$h,\n __vue_script__$h,\n __vue_scope_id__$h,\n __vue_is_functional_template__$h,\n __vue_module_identifier__$h,\n false,\n undefined,\n undefined,\n undefined\n );\n\nvar script$g = defineComponent({\r\n name: 'PFieldsetError',\r\n components: {\r\n PGroupValidationError: __vue_component__$j,\r\n },\r\n});\n\n/* script */\nconst __vue_script__$g = script$g;\n\n/* template */\nvar __vue_render__$g = function () {\n var _vm = this;\n var _h = _vm.$createElement;\n var _c = _vm._self._c || _h;\n return _c(\"p-group-validation-error\", { attrs: { \"aria-live\": \"off\" } })\n};\nvar __vue_staticRenderFns__$g = [];\n__vue_render__$g._withStripped = true;\n\n /* style */\n const __vue_inject_styles__$g = undefined;\n /* scoped */\n const __vue_scope_id__$g = undefined;\n /* module identifier */\n const __vue_module_identifier__$g = undefined;\n /* functional template */\n const __vue_is_functional_template__$g = false;\n /* style inject */\n \n /* style inject SSR */\n \n /* style inject shadow dom */\n \n\n \n const __vue_component__$g = /*#__PURE__*/normalizeComponent(\n { render: __vue_render__$g, staticRenderFns: __vue_staticRenderFns__$g },\n __vue_inject_styles__$g,\n __vue_script__$g,\n __vue_scope_id__$g,\n __vue_is_functional_template__$g,\n __vue_module_identifier__$g,\n false,\n undefined,\n undefined,\n undefined\n );\n\nvar script$f = defineComponent({\r\n name: 'PRadioGroup',\r\n components: { PFieldset: __vue_component__$h, PFieldsetError: __vue_component__$g, PInput: __vue_component__$$, VIcon },\r\n inheritAttrs: false,\r\n props: {\r\n value: { type: [String, Number, Boolean], default: null },\r\n items: { type: Array, required: true },\r\n isColumn: { type: Boolean, default: false },\r\n id: { type: String, default: undefined },\r\n name: { type: String, default: undefined },\r\n label: { type: String, required: true },\r\n info: { type: String, default: null },\r\n dataUi: { type: String, default: null },\r\n validation: { type: Object, default: undefined },\r\n focus: { type: [String, Array], default: 'dark' },\r\n invert: { type: Boolean, default: false },\r\n },\r\n setup(props, { emit }) {\r\n const internalId = useIdGenerator('p-radio-group').next();\r\n const radioGroupId = props.id || props.name || useIdGenerator('radio-group').next();\r\n const itemsWithIds = computed(() => props.items && props.items.map((item) => (Object.assign(Object.assign({}, (typeof item !== 'object' ? { value: item } : item)), { label: item.label || item.value || item, id: item.id || useIdGenerator(radioGroupId).next(), name: props.name || radioGroupId }))));\r\n const customFocus = useCustomFocus(props.focus);\r\n const modelValue = ref(props.value);\r\n watch(() => props.value, (v) => {\r\n modelValue.value = v;\r\n });\r\n watch(() => modelValue.value, (vnew, vold) => {\r\n if (vold !== undefined) {\r\n emit('input', vnew);\r\n }\r\n });\r\n return {\r\n radioGroupId,\r\n modelValue,\r\n radioValidation: props.validation || { firstErrorMessage: null },\r\n itemsWithIds,\r\n customFocus,\r\n internalId,\r\n };\r\n },\r\n});\n\n/* script */\nconst __vue_script__$f = script$f;\n/* template */\nvar __vue_render__$f = function () {\n var _vm = this;\n var _h = _vm.$createElement;\n var _c = _vm._self._c || _h;\n return _c(\n \"p-fieldset\",\n {\n class: [\n \"p-radio-group\",\n \"p-focus-\" + (_vm.customFocus ? \"custom\" : _vm.focus),\n _vm.invert ? \"p-invert\" : \"\",\n ],\n style: _vm.customFocus,\n attrs: {\n id: _vm.radioGroupId,\n \"data-ui\": _vm.dataUi,\n validation: _vm.radioValidation,\n \"legend-text\": _vm.label,\n info: _vm.info,\n },\n scopedSlots: _vm._u(\n [\n {\n key: \"label-info\",\n fn: function () {\n return [_vm._t(\"label-info\")]\n },\n proxy: true,\n },\n ],\n null,\n true\n ),\n },\n [\n _vm._v(\" \"),\n _c(\n \"div\",\n {\n class: [\n _vm.isColumn ? \"p-radio-group--column\" : \"p-radio-group--row\",\n \"mt-1 mb-1 pt-0\",\n ],\n },\n _vm._l(_vm.itemsWithIds, function (item, index) {\n return _c(\n \"div\",\n {\n key: item.value,\n class: [\n \"p-radio-button\",\n index === _vm.items.length - 1 && !_vm.isColumn\n ? \"mr-0\"\n : \"mr-8\",\n ],\n },\n [\n _c(\"p-input\", {\n attrs: {\n \"hide-details\": true,\n \"data-ui\": _vm.dataUi ? _vm.dataUi + \"-\" + index : undefined,\n \"forms-state-manager-id\": _vm.internalId,\n },\n scopedSlots: _vm._u(\n [\n {\n key: \"default\",\n fn: function (ref) {\n var on = ref.on;\n var attrs = ref.attrs;\n return [\n _c(\n \"input\",\n _vm._g(\n _vm._b(\n {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.modelValue,\n expression: \"modelValue\",\n },\n ],\n staticClass: \"sr-only\",\n attrs: {\n type: \"radio\",\n id: item.id,\n name: item.name,\n \"aria-required\":\n _vm.radioValidation.required,\n },\n domProps: {\n value: item.value,\n checked: _vm._q(_vm.modelValue, item.value),\n },\n on: {\n change: function ($event) {\n _vm.modelValue = item.value;\n },\n },\n },\n \"input\",\n attrs,\n false\n ),\n on\n )\n ),\n _vm._v(\" \"),\n _c(\n \"label\",\n {\n staticClass: \"font-weight-regular pb-0\",\n attrs: { for: item.id },\n },\n [\n _c(\n \"div\",\n { staticClass: \"p-radio-icon\" },\n [\n _c(\n \"v-icon\",\n { staticClass: \"p-radio-icon--off\" },\n [\n _vm._v(\n \"\\n $radioOff\\n \"\n ),\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"v-icon\",\n { staticClass: \"p-radio-icon--on\" },\n [\n _vm._v(\n \"\\n $radioOn\\n \"\n ),\n ]\n ),\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\"span\", { staticClass: \"p-radio-label\" }, [\n _vm._v(_vm._s(item.label)),\n ]),\n ]\n ),\n ]\n },\n },\n ],\n null,\n true\n ),\n }),\n ],\n 1\n )\n }),\n 0\n ),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"mb-4 mt-2 pr-4\" }, [_c(\"p-fieldset-error\")], 1),\n ]\n )\n};\nvar __vue_staticRenderFns__$f = [];\n__vue_render__$f._withStripped = true;\n\n /* style */\n const __vue_inject_styles__$f = undefined;\n /* scoped */\n const __vue_scope_id__$f = \"data-v-0ca254c9\";\n /* module identifier */\n const __vue_module_identifier__$f = undefined;\n /* functional template */\n const __vue_is_functional_template__$f = false;\n /* style inject */\n \n /* style inject SSR */\n \n /* style inject shadow dom */\n \n\n \n const __vue_component__$f = /*#__PURE__*/normalizeComponent(\n { render: __vue_render__$f, staticRenderFns: __vue_staticRenderFns__$f },\n __vue_inject_styles__$f,\n __vue_script__$f,\n __vue_scope_id__$f,\n __vue_is_functional_template__$f,\n __vue_module_identifier__$f,\n false,\n undefined,\n undefined,\n undefined\n );\n\n/**\n * Creates a XHR request\n *\n * @param {Object} options\n */\nconst createRequest = (options) => {\n const xhr = new XMLHttpRequest();\n xhr.open(options.method || 'GET', options.url);\n xhr.responseType = 'json';\n if (options.headers) {\n Object.keys(options.headers).forEach(key => {\n xhr.setRequestHeader(key, options.headers[key]);\n });\n }\n\n return xhr\n};\n\n/**\n * Sends a XHR request with certain body\n *\n * @param {XMLHttpRequest} xhr\n * @param {Object} body\n */\nconst sendRequest = (xhr, body) => {\n return new Promise((resolve, reject) => {\n xhr.onload = () => {\n if (xhr.status >= 200 && xhr.status < 300) {\n var response;\n try {\n response = JSON.parse(xhr.response);\n } catch (err) {\n response = xhr.response;\n }\n resolve(response);\n } else {\n reject(xhr.response);\n }\n };\n xhr.onerror = () => reject(xhr.response);\n xhr.send(JSON.stringify(body));\n })\n};\n\n/**\n * Sends a XHR request with certain form data\n *\n * @param {XMLHttpRequest} xhr\n * @param {Object} data\n */\nconst sendFormRequest = (xhr, data) => {\n const body = new FormData();\n for (var name in data) {\n body.append(name, data[name]);\n }\n\n return new Promise((resolve, reject) => {\n xhr.onload = () => {\n if (xhr.status >= 200 && xhr.status < 300) {\n var response;\n try {\n response = JSON.parse(xhr.response);\n } catch (err) {\n response = xhr.response;\n }\n resolve(response);\n } else {\n reject(xhr.response);\n }\n };\n xhr.onerror = () => reject(xhr.response);\n xhr.send(body);\n })\n};\n\n/**\n * Creates and sends XHR request\n *\n * @param {Object} options\n *\n * @returns Promise\n */\nfunction request (options) {\n const xhr = createRequest(options);\n\n return sendRequest(xhr, options.body)\n}\n\nclass ChunkUploadHandler {\n /**\n * Constructor\n *\n * @param {File} file\n * @param {Object} options\n */\n constructor(file, options) {\n this.file = file;\n this.options = options;\n this.chunks = [];\n this.sessionId = null;\n this.chunkSize = null;\n this.speedInterval = null;\n }\n\n /**\n * Gets the max retries from options\n */\n get maxRetries() {\n return parseInt(this.options.maxRetries, 10)\n }\n\n /**\n * Gets the max number of active chunks being uploaded at once from options\n */\n get maxActiveChunks() {\n return parseInt(this.options.maxActive, 10)\n }\n\n /**\n * Gets the file type\n */\n get fileType() {\n return this.file.type\n }\n\n /**\n * Gets the file size\n */\n get fileSize() {\n return this.file.size\n }\n\n /**\n * Gets the file name\n */\n get fileName() {\n return this.file.name\n }\n\n /**\n * Gets action (url) to upload the file\n */\n get action() {\n return this.options.action || null\n }\n\n /**\n * Gets the body to be merged when sending the request in start phase\n */\n get startBody() {\n return this.options.startBody || {}\n }\n\n /**\n * Gets the body to be merged when sending the request in upload phase\n */\n get uploadBody() {\n return this.options.uploadBody || {}\n }\n\n /**\n * Gets the body to be merged when sending the request in finish phase\n */\n get finishBody() {\n return this.options.finishBody || {}\n }\n\n /**\n * Gets the headers of the requests from options\n */\n get headers() {\n return this.options.headers || {}\n }\n\n /**\n * Whether it's ready to upload files or not\n */\n get readyToUpload() {\n return !!this.chunks\n }\n\n /**\n * Gets the progress of the chunk upload\n * - Gets all the completed chunks\n * - Gets the progress of all the chunks that are being uploaded\n */\n get progress() {\n const completedProgress = (this.chunksUploaded.length / this.chunks.length) * 100;\n const uploadingProgress = this.chunksUploading.reduce((progress, chunk) => {\n return progress + ((chunk.progress | 0) / this.chunks.length)\n }, 0);\n\n return Math.min(completedProgress + uploadingProgress, 100)\n }\n\n /**\n * Gets all the chunks that are pending to be uploaded\n */\n get chunksToUpload() {\n return this.chunks.filter(chunk => {\n return !chunk.active && !chunk.uploaded\n })\n }\n\n /**\n * Whether there are chunks to upload or not\n */\n get hasChunksToUpload() {\n return this.chunksToUpload.length > 0\n }\n\n /**\n * Gets all the chunks that are uploading\n */\n get chunksUploading() {\n return this.chunks.filter(chunk => {\n return !!chunk.xhr && !!chunk.active\n })\n }\n\n /**\n * Gets all the chunks that have finished uploading\n */\n get chunksUploaded() {\n return this.chunks.filter(chunk => {\n return !!chunk.uploaded\n })\n }\n\n /**\n * Creates all the chunks in the initial state\n */\n createChunks() {\n this.chunks = [];\n\n let start = 0;\n let end = this.chunkSize;\n while (start < this.fileSize) {\n this.chunks.push({\n blob: this.file.file.slice(start, end),\n startOffset: start,\n active: false,\n retries: this.maxRetries\n });\n start = end;\n end = start + this.chunkSize;\n }\n }\n\n /**\n * Updates the progress of the file with the handler's progress\n */\n updateFileProgress() {\n this.file.progress = this.progress;\n }\n\n /**\n * Paues the upload process\n * - Stops all active requests\n * - Sets the file not active\n */\n pause() {\n this.file.active = false;\n this.stopChunks();\n }\n\n /**\n * Stops all the current chunks\n */\n stopChunks() {\n this.chunksUploading.forEach(chunk => {\n chunk.xhr.abort();\n chunk.active = false;\n });\n\n this.stopSpeedCalc();\n }\n\n /**\n * Resumes the file upload\n * - Sets the file active\n * - Starts the following chunks\n */\n resume() {\n this.file.active = true;\n this.startChunking();\n }\n\n /**\n * Starts the file upload\n *\n * @returns Promise\n * - resolve The file was uploaded\n * - reject The file upload failed\n */\n upload() {\n this.promise = new Promise((resolve, reject) => {\n this.resolve = resolve;\n this.reject = reject;\n });\n this.start();\n\n return this.promise\n }\n\n /**\n * Start phase\n * Sends a request to the backend to initialise the chunks\n */\n start() {\n request({\n method: 'POST',\n headers: Object.assign({}, this.headers, {\n 'Content-Type': 'application/json'\n }),\n url: this.action,\n body: Object.assign(this.startBody, {\n phase: 'start',\n mime_type: this.fileType,\n size: this.fileSize,\n name: this.fileName\n })\n }).then(res => {\n if (res.status !== 'success') {\n this.file.response = res;\n return this.reject('server')\n }\n\n this.sessionId = res.data.session_id;\n this.chunkSize = res.data.end_offset;\n\n this.createChunks();\n this.startChunking();\n }).catch(res => {\n this.file.response = res;\n this.reject('server');\n });\n }\n\n /**\n * Starts to upload chunks\n */\n startChunking() {\n for (let i = 0; i < this.maxActiveChunks; i++) {\n this.uploadNextChunk();\n }\n\n this.startSpeedCalc();\n }\n\n /**\n * Uploads the next chunk\n * - Won't do anything if the process is paused\n * - Will start finish phase if there are no more chunks to upload\n */\n uploadNextChunk() {\n if (this.file.active) {\n if (this.hasChunksToUpload) {\n return this.uploadChunk(this.chunksToUpload[0])\n }\n\n if (this.chunksUploading.length === 0) {\n return this.finish()\n }\n }\n }\n\n /**\n * Uploads a chunk\n * - Sends the chunk to the backend\n * - Sets the chunk as uploaded if everything went well\n * - Decreases the number of retries if anything went wrong\n * - Fails if there are no more retries\n *\n * @param {Object} chunk\n */\n uploadChunk(chunk) {\n chunk.progress = 0;\n chunk.active = true;\n this.updateFileProgress();\n chunk.xhr = createRequest({\n method: 'POST',\n headers: this.headers,\n url: this.action\n });\n\n chunk.xhr.upload.addEventListener('progress', function (evt) {\n if (evt.lengthComputable) {\n chunk.progress = Math.round(evt.loaded / evt.total * 100);\n }\n }, false);\n\n sendFormRequest(chunk.xhr, Object.assign(this.uploadBody, {\n phase: 'upload',\n session_id: this.sessionId,\n start_offset: chunk.startOffset,\n chunk: chunk.blob\n })).then(res => {\n chunk.active = false;\n if (res.status === 'success') {\n chunk.uploaded = true;\n } else {\n if (chunk.retries-- <= 0) {\n this.stopChunks();\n return this.reject('upload')\n }\n }\n\n this.uploadNextChunk();\n }).catch(() => {\n chunk.active = false;\n if (chunk.retries-- <= 0) {\n this.stopChunks();\n return this.reject('upload')\n }\n\n this.uploadNextChunk();\n });\n }\n\n /**\n * Finish phase\n * Sends a request to the backend to finish the process\n */\n finish() {\n this.updateFileProgress();\n this.stopSpeedCalc();\n\n request({\n method: 'POST',\n headers: Object.assign({}, this.headers, {\n 'Content-Type': 'application/json'\n }),\n url: this.action,\n body: Object.assign(this.finishBody, {\n phase: 'finish',\n session_id: this.sessionId\n })\n }).then(res => {\n this.file.response = res;\n if (res.status !== 'success') {\n return this.reject('server')\n }\n\n this.resolve(res);\n }).catch(res => {\n this.file.response = res;\n this.reject('server');\n });\n }\n\n\n /**\n * Sets an interval to calculate and\n * set upload speed every 3 seconds\n */\n startSpeedCalc() {\n this.file.speed = 0;\n let lastUploadedBytes = 0;\n if (!this.speedInterval) {\n this.speedInterval = window.setInterval(() => {\n let uploadedBytes = (this.progress / 100) * this.fileSize;\n this.file.speed = (uploadedBytes - lastUploadedBytes);\n lastUploadedBytes = uploadedBytes;\n }, 1000);\n }\n }\n\n /**\n * Removes the upload speed interval\n */\n stopSpeedCalc() {\n this.speedInterval && window.clearInterval(this.speedInterval);\n this.speedInterval = null;\n this.file.speed = 0;\n }\n}\n\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\nvar script$e = {\n methods: {\n change(e) {\n this.$parent.addInputFile(e.target);\n if (e.target.files) {\n e.target.value = '';\n if (e.target.files.length && !/safari/i.test(navigator.userAgent)) {\n e.target.type = '';\n e.target.type = 'file';\n }\n } else {\n // ie9 fix #219\n this.$destroy();\n // eslint-disable-next-line\n new this.constructor({\n parent: this.$parent,\n el: this.$el,\n });\n }\n }\n }\n};\n\n/* script */\nconst __vue_script__$e = script$e;\n\n/* template */\nvar __vue_render__$e = function () {\n var _vm = this;\n var _h = _vm.$createElement;\n var _c = _vm._self._c || _h;\n return _c(\"input\", {\n attrs: {\n type: \"file\",\n name: _vm.$parent.name,\n id: _vm.$parent.inputId || _vm.$parent.name,\n accept: _vm.$parent.accept,\n capture: _vm.$parent.capture,\n disabled: _vm.$parent.disabled,\n webkitdirectory:\n _vm.$parent.directory && _vm.$parent.features.directory\n ? true\n : undefined,\n directory:\n _vm.$parent.directory && _vm.$parent.features.directory\n ? true\n : undefined,\n multiple: _vm.$parent.multiple && _vm.$parent.features.html5,\n },\n on: { change: _vm.change },\n })\n};\nvar __vue_staticRenderFns__$e = [];\n__vue_render__$e._withStripped = true;\n\n /* style */\n const __vue_inject_styles__$e = undefined;\n /* scoped */\n const __vue_scope_id__$e = undefined;\n /* module identifier */\n const __vue_module_identifier__$e = undefined;\n /* functional template */\n const __vue_is_functional_template__$e = false;\n /* style inject */\n \n /* style inject SSR */\n \n /* style inject shadow dom */\n \n\n \n const __vue_component__$e = /*#__PURE__*/normalizeComponent(\n { render: __vue_render__$e, staticRenderFns: __vue_staticRenderFns__$e },\n __vue_inject_styles__$e,\n __vue_script__$e,\n __vue_scope_id__$e,\n __vue_is_functional_template__$e,\n __vue_module_identifier__$e,\n false,\n undefined,\n undefined,\n undefined\n );\n\n//\n\nconst CHUNK_DEFAULT_OPTIONS = {\n headers: {},\n action: '',\n minSize: 1048576,\n maxActive: 3,\n maxRetries: 5,\n\n handler: ChunkUploadHandler\n};\n\nvar script$d = {\n components: {\n InputFile: __vue_component__$e,\n },\n props: {\n inputId: {\n type: String,\n },\n\n name: {\n type: String,\n default: 'file',\n },\n\n accept: {\n type: String,\n },\n\n capture: {\n },\n\n disabled: {\n },\n\n multiple: {\n type: Boolean,\n },\n\n maximum: {\n type: Number,\n default() {\n return this.multiple ? 0 : 1\n }\n },\n\n addIndex: {\n type: [Boolean, Number],\n },\n\n directory: {\n type: Boolean,\n },\n\n postAction: {\n type: String,\n },\n\n putAction: {\n type: String,\n },\n\n customAction: {\n type: Function,\n },\n\n headers: {\n type: Object,\n default: Object,\n },\n\n data: {\n type: Object,\n default: Object,\n },\n\n timeout: {\n type: Number,\n default: 0,\n },\n\n\n drop: {\n default: false,\n },\n\n dropDirectory: {\n type: Boolean,\n default: true,\n },\n\n size: {\n type: Number,\n default: 0,\n },\n\n extensions: {\n default: Array,\n },\n\n\n value: {\n type: Array,\n default: Array,\n },\n\n thread: {\n type: Number,\n default: 1,\n },\n\n // Chunk upload enabled\n chunkEnabled: {\n type: Boolean,\n default: false\n },\n\n // Chunk upload properties\n chunk: {\n type: Object,\n default: () => {\n return CHUNK_DEFAULT_OPTIONS\n }\n }\n },\n\n data() {\n return {\n files: this.value,\n features: {\n html5: true,\n directory: false,\n drop: false,\n },\n\n active: false,\n dropActive: false,\n\n uploading: 0,\n\n destroy: false,\n }\n },\n\n\n /**\n * mounted\n * @return {[type]} [description]\n */\n mounted() {\n let input = document.createElement('input');\n input.type = 'file';\n input.multiple = true;\n\n // html5 特征\n if (window.FormData && input.files) {\n // 上传目录特征\n if (typeof input.webkitdirectory === 'boolean' || typeof input.directory === 'boolean') {\n this.features.directory = true;\n }\n\n // 拖拽特征\n if (this.features.html5 && typeof input.ondrop !== 'undefined') {\n this.features.drop = true;\n }\n } else {\n this.features.html5 = false;\n }\n\n // files 定位缓存\n this.maps = {};\n if (this.files) {\n for (let i = 0; i < this.files.length; i++) {\n let file = this.files[i];\n this.maps[file.id] = file;\n }\n }\n\n this.$nextTick(function () {\n\n // 更新下父级\n if (this.$parent) {\n this.$parent.$forceUpdate();\n // 拖拽渲染\n this.$parent.$nextTick(() => {\n this.watchDrop(this.drop);\n });\n } else {\n // 拖拽渲染\n this.watchDrop(this.drop);\n }\n });\n },\n\n /**\n * beforeDestroy\n * @return {[type]} [description]\n */\n beforeDestroy() {\n // 已销毁\n this.destroy = true;\n\n // 设置成不激活\n this.active = false;\n\n // 销毁拖拽事件\n this.watchDrop(false);\n },\n\n computed: {\n /**\n * uploading 正在上传的线程\n * @return {[type]} [description]\n */\n\n /**\n * uploaded 文件列表是否全部已上传\n * @return {[type]} [description]\n */\n uploaded() {\n let file;\n for (let i = 0; i < this.files.length; i++) {\n file = this.files[i];\n if (file.fileObject && !file.error && !file.success) {\n return false\n }\n }\n return true\n },\n\n chunkOptions () {\n return Object.assign(CHUNK_DEFAULT_OPTIONS, this.chunk)\n },\n\n className() {\n return [\n 'file-uploads',\n this.features.html5 ? 'file-uploads-html5' : 'file-uploads-html4',\n this.features.directory && this.directory ? 'file-uploads-directory' : undefined,\n this.features.drop && this.drop ? 'file-uploads-drop' : undefined,\n this.disabled ? 'file-uploads-disabled' : undefined,\n ]\n }\n },\n\n\n watch: {\n active(active) {\n this.watchActive(active);\n },\n\n dropActive(value) {\n this.watchDropActive(value);\n if (this.$parent) {\n this.$parent.$forceUpdate();\n }\n },\n \n\n drop(value) {\n this.watchDrop(value);\n },\n\n value(files) {\n if (this.files === files) {\n return\n }\n this.files = files;\n\n let oldMaps = this.maps;\n\n // 重写 maps 缓存\n this.maps = {};\n for (let i = 0; i < this.files.length; i++) {\n let file = this.files[i];\n this.maps[file.id] = file;\n }\n\n // add, update\n for (let key in this.maps) {\n let newFile = this.maps[key];\n let oldFile = oldMaps[key];\n if (newFile !== oldFile) {\n this.emitFile(newFile, oldFile);\n }\n }\n\n // delete\n for (let key in oldMaps) {\n if (!this.maps[key]) {\n this.emitFile(undefined, oldMaps[key]);\n }\n }\n },\n },\n\n methods: {\n\n // 清空\n clear() {\n if (this.files.length) {\n let files = this.files;\n this.files = [];\n\n // 定位\n this.maps = {};\n\n // 事件\n this.emitInput();\n for (let i = 0; i < files.length; i++) {\n this.emitFile(undefined, files[i]);\n }\n }\n return true\n },\n\n // 选择\n get(id) {\n if (!id) {\n return false\n }\n\n if (typeof id === 'object') {\n return this.maps[id.id] || false\n }\n\n return this.maps[id] || false\n },\n\n // 添加\n add(_files, index = this.addIndex) {\n let files = _files;\n let isArray = files instanceof Array;\n\n // 不是数组整理成数组\n if (!isArray) {\n files = [files];\n }\n\n // 遍历规范对象\n let addFiles = [];\n for (let i = 0; i < files.length; i++) {\n let file = files[i];\n if (this.features.html5 && file instanceof Blob) {\n file = {\n file,\n size: file.size,\n name: file.webkitRelativePath || file.relativePath || file.name || 'unknown',\n type: file.type,\n };\n }\n let fileObject = false;\n if (file.fileObject === false) ; else if (file.fileObject) {\n fileObject = true;\n } else if (typeof Element !== 'undefined' && file.el instanceof Element) {\n fileObject = true;\n } else if (typeof Blob !== 'undefined' && file.file instanceof Blob) {\n fileObject = true;\n }\n if (fileObject) {\n file = {\n fileObject: true,\n size: -1,\n name: 'Filename',\n type: '',\n active: false,\n error: '',\n success: false,\n putAction: this.putAction,\n postAction: this.postAction,\n timeout: this.timeout,\n ...file,\n response: {},\n\n progress: '0.00', // 只读\n speed: 0, // 只读\n // xhr: false, // 只读\n // iframe: false, // 只读\n };\n\n file.data = {\n ...this.data,\n ...file.data ? file.data : {},\n };\n\n file.headers = {\n ...this.headers,\n ...file.headers ? file.headers : {},\n };\n }\n\n // 必须包含 id\n if (!file.id) {\n file.id = Math.random().toString(36).substr(2);\n }\n\n if (this.emitFilter(file, undefined)) {\n continue\n }\n\n // 最大数量限制\n if (this.maximum > 1 && (addFiles.length + this.files.length) >= this.maximum) {\n break\n }\n\n addFiles.push(file);\n\n // 最大数量限制\n if (this.maximum === 1) {\n break\n }\n }\n\n // 没有文件\n if (!addFiles.length) {\n return false\n }\n\n // 如果是 1 清空\n if (this.maximum === 1) {\n this.clear();\n }\n\n\n // 添加进去 files\n let newFiles;\n if (index === true || index === 0) {\n newFiles = addFiles.concat(this.files);\n } else if (index) {\n newFiles = this.files.concat([]);\n newFiles.splice(index, 0, ...addFiles);\n } else {\n newFiles = this.files.concat(addFiles);\n }\n\n this.files = newFiles;\n\n // 定位\n for (let i = 0; i < addFiles.length; i++) {\n let file = addFiles[i];\n this.maps[file.id] = file;\n }\n\n // 事件\n this.emitInput();\n for (let i = 0; i < addFiles.length; i++) {\n this.emitFile(addFiles[i], undefined);\n }\n\n return isArray ? addFiles : addFiles[0]\n },\n\n\n\n // 添加表单文件\n addInputFile(el) {\n let files = [];\n if (el.files) {\n for (let i = 0; i < el.files.length; i++) {\n let file = el.files[i];\n files.push({\n size: file.size,\n name: file.webkitRelativePath || file.relativePath || file.name,\n type: file.type,\n file,\n });\n }\n } else {\n var names = el.value.replace(/\\\\/g, '/').split('/');\n delete el.__vuex__;\n files.push({\n name: names[names.length - 1],\n el,\n });\n }\n return this.add(files)\n },\n\n\n // 添加 DataTransfer\n addDataTransfer(dataTransfer) {\n let files = [];\n if (dataTransfer.items && dataTransfer.items.length) {\n let items = [];\n for (let i = 0; i < dataTransfer.items.length; i++) {\n let item = dataTransfer.items[i];\n if (item.getAsEntry) {\n item = item.getAsEntry() || item.getAsFile();\n } else if (item.webkitGetAsEntry) {\n item = item.webkitGetAsEntry() || item.getAsFile();\n } else {\n item = item.getAsFile();\n }\n if (item) {\n items.push(item);\n }\n }\n\n return new Promise((resolve, reject) => {\n let forEach = (i) => {\n let item = items[i];\n // 结束 文件数量大于 最大数量\n if (!item || (this.maximum > 0 && files.length >= this.maximum)) {\n return resolve(this.add(files))\n }\n this.getEntry(item).then(function (results) {\n files.push(...results);\n forEach(i + 1);\n });\n };\n forEach(0);\n })\n }\n\n if (dataTransfer.files.length) {\n for (let i = 0; i < dataTransfer.files.length; i++) {\n files.push(dataTransfer.files[i]);\n if (this.maximum > 0 && files.length >= this.maximum) {\n break\n }\n }\n return Promise.resolve(this.add(files))\n }\n\n return Promise.resolve([])\n },\n\n\n // 获得 entry\n getEntry(entry, path = '') {\n return new Promise((resolve, reject) => {\n if (entry.isFile) {\n entry.file(function (file) {\n resolve([\n {\n size: file.size,\n name: path + file.name,\n type: file.type,\n file,\n }\n ]);\n });\n } else if (entry.isDirectory && this.dropDirectory) {\n let files = [];\n let dirReader = entry.createReader();\n let readEntries = () => {\n dirReader.readEntries((entries) => {\n let forEach = (i) => {\n if ((!entries[i] && i === 0) || (this.maximum > 0 && files.length >= this.maximum)) {\n return resolve(files)\n }\n if (!entries[i]) {\n return readEntries()\n }\n this.getEntry(entries[i], path + entry.name + '/').then((results) => {\n files.push(...results);\n forEach(i + 1);\n });\n };\n forEach(0);\n });\n };\n readEntries();\n } else {\n resolve([]);\n }\n })\n },\n\n\n replace(id1, id2) {\n let file1 = this.get(id1);\n let file2 = this.get(id2);\n if (!file1 || !file2 || file1 === file2) {\n return false\n }\n let files = this.files.concat([]);\n let index1 = files.indexOf(file1);\n let index2 = files.indexOf(file2);\n if (index1 === -1 || index2 === -1) {\n return false\n }\n files[index1] = file2;\n files[index2] = file1;\n this.files = files;\n this.emitInput();\n return true\n },\n\n // 移除\n remove(id) {\n let file = this.get(id);\n if (file) {\n if (this.emitFilter(undefined, file)) {\n return false\n }\n let files = this.files.concat([]);\n let index = files.indexOf(file);\n if (index === -1) {\n console.error('remove', file);\n return false\n }\n files.splice(index, 1);\n this.files = files;\n\n // 定位\n delete this.maps[file.id];\n\n // 事件\n this.emitInput();\n this.emitFile(undefined, file);\n }\n return file\n },\n\n // 更新\n update(id, data) {\n let file = this.get(id);\n if (file) {\n let newFile = {\n ...file,\n ...data\n };\n // 停用必须加上错误\n if (file.fileObject && file.active && !newFile.active && !newFile.error && !newFile.success) {\n newFile.error = 'abort';\n }\n\n if (this.emitFilter(newFile, file)) {\n return false\n }\n\n let files = this.files.concat([]);\n let index = files.indexOf(file);\n if (index === -1) {\n console.error('update', file);\n return false\n }\n files.splice(index, 1, newFile);\n this.files = files;\n\n // 删除 旧定位 写入 新定位 (已便支持修改id)\n delete this.maps[file.id];\n this.maps[newFile.id] = newFile;\n\n // 事件\n this.emitInput();\n this.emitFile(newFile, file);\n return newFile\n }\n return false\n },\n\n\n\n // 预处理 事件 过滤器\n emitFilter(newFile, oldFile) {\n let isPrevent = false;\n this.$emit('input-filter', newFile, oldFile, function () {\n isPrevent = true;\n return isPrevent\n });\n return isPrevent\n },\n\n // 处理后 事件 分发\n emitFile(newFile, oldFile) {\n this.$emit('input-file', newFile, oldFile);\n if (newFile && newFile.fileObject && newFile.active && (!oldFile || !oldFile.active)) {\n this.uploading++;\n // 激活\n this.$nextTick(function () {\n setTimeout(() => {\n this.upload(newFile).then(() => {\n // eslint-disable-next-line\n newFile = this.get(newFile);\n if (newFile && newFile.fileObject) {\n this.update(newFile, {\n active: false,\n success: !newFile.error\n });\n }\n }).catch((e) => {\n this.update(newFile, {\n active: false,\n success: false,\n error: e.code || e.error || e.message || e\n });\n });\n }, parseInt(Math.random() * 50 + 50, 10));\n });\n } else if ((!newFile || !newFile.fileObject || !newFile.active) && oldFile && oldFile.fileObject && oldFile.active) {\n // 停止\n this.uploading--;\n }\n\n // 自动延续激活\n if (this.active && (Boolean(newFile) !== Boolean(oldFile) || newFile.active !== oldFile.active)) {\n this.watchActive(true);\n }\n },\n\n emitInput() {\n this.$emit('input', this.files);\n },\n\n\n // 上传\n upload(id) {\n let file = this.get(id);\n\n // 被删除\n if (!file) {\n return Promise.reject('not_exists')\n }\n\n // 不是文件对象\n if (!file.fileObject) {\n return Promise.reject('file_object')\n }\n\n // 有错误直接响应\n if (file.error) {\n return Promise.reject(file.error)\n }\n\n // 已完成直接响应\n if (file.success) {\n return Promise.resolve(file)\n }\n\n // 后缀\n let extensions = this.extensions;\n if (extensions && (extensions.length || typeof extensions.length === 'undefined')) {\n if (typeof extensions !== 'object' || !(extensions instanceof RegExp)) {\n if (typeof extensions === 'string') {\n extensions = extensions.split(',').map(value => value.trim()).filter(value => value);\n }\n extensions = new RegExp('\\\\.(' + extensions.join('|').replace(/\\./g, '\\\\.') + ')$', 'i');\n }\n if (file.name.search(extensions) === -1) {\n return Promise.reject('extension')\n }\n }\n\n // 大小\n if (this.size > 0 && file.size >= 0 && file.size > this.size) {\n return Promise.reject('size')\n }\n\n if (this.customAction) {\n return this.customAction(file, this)\n }\n\n if (this.features.html5) {\n if (this.shouldUseChunkUpload(file)) {\n return this.uploadChunk(file)\n }\n if (file.putAction) {\n return this.uploadPut(file)\n }\n if (file.postAction) {\n return this.uploadHtml5(file)\n }\n }\n if (file.postAction) {\n return this.uploadHtml4(file)\n }\n return Promise.reject('No action configured')\n },\n\n /**\n * Whether this file should be uploaded using chunk upload or not\n *\n * @param Object file\n */\n shouldUseChunkUpload (file) {\n return this.chunkEnabled &&\n !!this.chunkOptions.handler &&\n file.size > this.chunkOptions.minSize\n },\n\n /**\n * Upload a file using Chunk method\n *\n * @param File file\n */\n uploadChunk (file) {\n const HandlerClass = this.chunkOptions.handler;\n file.chunk = new HandlerClass(file, this.chunkOptions);\n\n return file.chunk.upload()\n },\n\n uploadPut(file) {\n let querys = [];\n let value;\n for (let key in file.data) {\n value = file.data[key];\n if (value !== null && value !== undefined) {\n querys.push(encodeURIComponent(key) + '=' + encodeURIComponent(value));\n }\n }\n let queryString = querys.length ? (file.putAction.indexOf('?') === -1 ? '?' : '&') + querys.join('&') : '';\n let xhr = new XMLHttpRequest();\n xhr.open('PUT', file.putAction + queryString);\n return this.uploadXhr(xhr, file, file.file)\n },\n\n uploadHtml5(file) {\n let form = new window.FormData();\n let value;\n for (let key in file.data) {\n value = file.data[key];\n if (value && typeof value === 'object' && typeof value.toString !== 'function') {\n if (value instanceof File) {\n form.append(key, value, value.name);\n } else {\n form.append(key, JSON.stringify(value));\n }\n } else if (value !== null && value !== undefined) {\n form.append(key, value);\n }\n }\n form.append(this.name, file.file, file.file.filename || file.name);\n let xhr = new XMLHttpRequest();\n xhr.open('POST', file.postAction);\n return this.uploadXhr(xhr, file, form)\n },\n\n uploadXhr(xhr, _file, body) {\n let file = _file;\n let speedTime = 0;\n let speedLoaded = 0;\n\n // 进度条\n xhr.upload.onprogress = (e) => {\n // 还未开始上传 已删除 未激活\n file = this.get(file);\n if (!e.lengthComputable || !file || !file.fileObject || !file.active) {\n return\n }\n\n // 进度 速度 每秒更新一次\n let speedTime2 = Math.round(Date.now() / 1000);\n if (speedTime2 === speedTime) {\n return\n }\n speedTime = speedTime2;\n\n file = this.update(file, {\n progress: (e.loaded / e.total * 100).toFixed(2),\n speed: e.loaded - speedLoaded,\n });\n speedLoaded = e.loaded;\n };\n\n // 检查激活状态\n let interval = setInterval(() => {\n file = this.get(file);\n if (file && file.fileObject && !file.success && !file.error && file.active) {\n return\n }\n\n if (interval) {\n clearInterval(interval);\n interval = false;\n }\n\n try {\n xhr.abort();\n xhr.timeout = 1;\n } catch (e) {\n }\n }, 100);\n\n return new Promise((resolve, reject) => {\n let complete;\n let fn = (e) => {\n // 已经处理过了\n if (complete) {\n return\n }\n complete = true;\n if (interval) {\n clearInterval(interval);\n interval = false;\n }\n\n file = this.get(file);\n\n // 不存在直接响应\n if (!file) {\n return reject('not_exists')\n }\n\n // 不是文件对象\n if (!file.fileObject) {\n return reject('file_object')\n }\n\n // 有错误自动响应\n if (file.error) {\n return reject(file.error)\n }\n\n // 未激活\n if (!file.active) {\n return reject('abort')\n }\n\n\n // 已完成 直接相应\n if (file.success) {\n return resolve(file)\n }\n\n let data = {};\n\n switch (e.type) {\n case 'timeout':\n case 'abort':\n data.error = e.type;\n break\n case 'error':\n if (!xhr.status) {\n data.error = 'network';\n } else if (xhr.status >= 500) {\n data.error = 'server';\n } else if (xhr.status >= 400) {\n data.error = 'denied';\n }\n break\n default:\n if (xhr.status >= 500) {\n data.error = 'server';\n } else if (xhr.status >= 400) {\n data.error = 'denied';\n } else {\n data.progress = '100.00';\n }\n }\n\n if (xhr.responseText) {\n let contentType = xhr.getResponseHeader('Content-Type');\n if (contentType && contentType.indexOf('/json') !== -1) {\n data.response = JSON.parse(xhr.responseText);\n } else {\n data.response = xhr.responseText;\n }\n }\n\n // 更新\n file = this.update(file, data);\n\n // 相应错误\n if (file.error) {\n return reject(file.error)\n }\n\n // 响应\n return resolve(file)\n };\n\n // 事件\n xhr.onload = fn;\n xhr.onerror = fn;\n xhr.onabort = fn;\n xhr.ontimeout = fn;\n\n // 超时\n if (file.timeout) {\n xhr.timeout = file.timeout;\n }\n\n // headers\n for (let key in file.headers) {\n xhr.setRequestHeader(key, file.headers[key]);\n }\n\n // 更新 xhr\n file = this.update(file, { xhr });\n\n // 开始上传\n xhr.send(body);\n })\n },\n\n\n\n\n uploadHtml4(_file) {\n let file = _file;\n let onKeydown = function (e) {\n if (e.keyCode === 27) {\n e.preventDefault();\n }\n };\n\n let iframe = document.createElement('iframe');\n iframe.id = 'upload-iframe-' + file.id;\n iframe.name = 'upload-iframe-' + file.id;\n iframe.src = 'about:blank';\n iframe.setAttribute('style', 'width:1px;height:1px;top:-999em;position:absolute; margin-top:-999em;');\n\n\n let form = document.createElement('form');\n\n form.action = file.postAction;\n\n form.name = 'upload-form-' + file.id;\n\n\n form.setAttribute('method', 'POST');\n form.setAttribute('target', 'upload-iframe-' + file.id);\n form.setAttribute('enctype', 'multipart/form-data');\n\n let value;\n let input;\n for (let key in file.data) {\n value = file.data[key];\n if (value && typeof value === 'object' && typeof value.toString !== 'function') {\n value = JSON.stringify(value);\n }\n if (value !== null && value !== undefined) {\n input = document.createElement('input');\n input.type = 'hidden';\n input.name = key;\n input.value = value;\n form.appendChild(input);\n }\n }\n form.appendChild(file.el);\n\n document.body.appendChild(iframe).appendChild(form);\n\n\n\n\n let getResponseData = function () {\n let doc;\n try {\n if (iframe.contentWindow) {\n doc = iframe.contentWindow.document;\n }\n } catch (err) {\n }\n if (!doc) {\n try {\n doc = iframe.contentDocument ? iframe.contentDocument : iframe.document;\n } catch (err) {\n doc = iframe.document;\n }\n }\n if (doc && doc.body) {\n return doc.body.innerHTML\n }\n return null\n };\n\n\n return new Promise((resolve, reject) => {\n setTimeout(() => {\n file = this.update(file, { iframe });\n\n // 不存在\n if (!file) {\n return reject('not_exists')\n }\n\n // 定时检查\n let interval = setInterval(() => {\n file = this.get(file);\n if (file && file.fileObject && !file.success && !file.error && file.active) {\n return\n }\n\n if (interval) {\n clearInterval(interval);\n interval = false;\n }\n\n iframe.onabort({ type: file ? 'abort' : 'not_exists' });\n }, 100);\n\n\n let complete;\n let fn = (e) => {\n // 已经处理过了\n if (complete) {\n return\n }\n complete = true;\n\n\n if (interval) {\n clearInterval(interval);\n interval = false;\n }\n\n // 关闭 esc 事件\n document.body.removeEventListener('keydown', onKeydown);\n\n file = this.get(file);\n\n // 不存在直接响应\n if (!file) {\n return reject('not_exists')\n }\n\n // 不是文件对象\n if (!file.fileObject) {\n return reject('file_object')\n }\n\n // 有错误自动响应\n if (file.error) {\n return reject(file.error)\n }\n\n // 未激活\n if (!file.active) {\n return reject('abort')\n }\n\n // 已完成 直接相应\n if (file.success) {\n return resolve(file)\n }\n\n let response = getResponseData();\n let data = {};\n switch (e.type) {\n case 'abort':\n data.error = 'abort';\n break\n case 'error':\n if (file.error) {\n data.error = file.error;\n } else if (response === null) {\n data.error = 'network';\n } else {\n data.error = 'denied';\n }\n break\n default:\n if (file.error) {\n data.error = file.error;\n } else if (data === null) {\n data.error = 'network';\n } else {\n data.progress = '100.00';\n }\n }\n\n if (response !== null) {\n if (response && response.substr(0, 1) === '{' && response.substr(response.length - 1, 1) === '}') {\n try {\n response = JSON.parse(response);\n } catch (err) {\n }\n }\n data.response = response;\n }\n\n // 更新\n file = this.update(file, data);\n\n if (file.error) {\n return reject(file.error)\n }\n\n // 响应\n return resolve(file)\n };\n\n\n // 添加事件\n iframe.onload = fn;\n iframe.onerror = fn;\n iframe.onabort = fn;\n\n\n // 禁止 esc 键\n document.body.addEventListener('keydown', onKeydown);\n\n // 提交\n form.submit();\n }, 50);\n }).then(function (res) {\n iframe.parentNode && iframe.parentNode.removeChild(iframe);\n return res\n }).catch(function (res) {\n iframe.parentNode && iframe.parentNode.removeChild(iframe);\n return res\n })\n },\n\n\n\n watchActive(active) {\n let file;\n let index = 0;\n while ((file = this.files[index])) {\n index++;\n if (!file.fileObject) ; else if (active && !this.destroy) {\n if (this.uploading >= this.thread || (this.uploading && !this.features.html5)) {\n break\n }\n if (!file.active && !file.error && !file.success) {\n this.update(file, { active: true });\n }\n } else {\n if (file.active) {\n this.update(file, { active: false });\n }\n }\n }\n if (this.uploading === 0) {\n this.active = false;\n }\n },\n\n\n watchDrop(_el) {\n let el = _el;\n if (!this.features.drop) {\n return\n }\n\n // 移除挂载\n if (this.dropElement) {\n try {\n document.removeEventListener('dragenter', this.onDocumentDragenter, false);\n document.removeEventListener('dragleave', this.onDocumentDragleave, false);\n document.removeEventListener('dragover', this.onDocumentDragover, false);\n document.removeEventListener('drop', this.onDocumentDrop, false);\n this.dropElement.removeEventListener('dragover', this.onDragover, false);\n this.dropElement.removeEventListener('drop', this.onDrop, false);\n } catch (e) {\n }\n }\n\n if (!el) {\n el = false;\n } else if (typeof el === 'string') {\n el = document.querySelector(el) || this.$root.$el.querySelector(el);\n } else if (el === true) {\n el = this.$parent.$el;\n }\n\n this.dropElement = el;\n\n if (this.dropElement) {\n document.addEventListener('dragenter', this.onDocumentDragenter, false);\n document.addEventListener('dragleave', this.onDocumentDragleave, false);\n document.addEventListener('dragover', this.onDocumentDragover, false);\n document.addEventListener('drop', this.onDocumentDrop, false);\n this.dropElement.addEventListener('dragover', this.onDragover, false);\n this.dropElement.addEventListener('drop', this.onDrop, false);\n }\n },\n\n watchDropActive(newDropActive, oldDropActive) {\n if (newDropActive === oldDropActive) {\n return\n }\n if (this.dropTimeout) {\n clearTimeout(this.dropTimeout);\n this.dropTimeout = null;\n }\n if (newDropActive) {\n this.dropTimeout = setTimeout(this.onDocumentDrop, 1000);\n }\n },\n\n\n onDocumentDragenter(e) {\n if (this.dropActive) {\n return\n }\n if (!e.dataTransfer) {\n return\n }\n let dt = e.dataTransfer;\n if (dt.files && dt.files.length) {\n this.dropActive = true;\n } else if (!dt.types) {\n this.dropActive = true;\n } else if (dt.types.indexOf && dt.types.indexOf('Files') !== -1) {\n this.dropActive = true;\n } else if (dt.types.contains && dt.types.contains('Files')) {\n this.dropActive = true;\n }\n if (this.dropActive) {\n this.watchDropActive(true);\n }\n },\n\n onDocumentDragleave(e) {\n if (!this.dropActive) {\n return\n }\n if (e.target === e.explicitOriginalTarget || (!e.fromElement && (e.clientX <= 0 || e.clientY <= 0 || e.clientX >= window.innerWidth || e.clientY >= window.innerHeight))) {\n this.dropActive = false;\n this.watchDropActive(false);\n }\n },\n\n onDocumentDragover() {\n this.watchDropActive(true);\n },\n\n onDocumentDrop() {\n this.dropActive = false;\n this.watchDropActive(false);\n },\n\n onDragover(e) {\n e.preventDefault();\n },\n\n\n onDrop(e) {\n e.preventDefault();\n e.dataTransfer && this.addDataTransfer(e.dataTransfer);\n },\n }\n};\n\n/* script */\nconst __vue_script__$d = script$d;\n/* template */\nvar __vue_render__$d = function () {\n var _vm = this;\n var _h = _vm.$createElement;\n var _c = _vm._self._c || _h;\n return _c(\n \"span\",\n { class: _vm.className },\n [\n _vm._t(\"default\"),\n _vm._v(\" \"),\n _c(\"label\", { attrs: { for: _vm.inputId || _vm.name } }),\n _vm._v(\" \"),\n _c(\"input-file\"),\n ],\n 2\n )\n};\nvar __vue_staticRenderFns__$d = [];\n__vue_render__$d._withStripped = true;\n\n /* style */\n const __vue_inject_styles__$d = undefined;\n /* scoped */\n const __vue_scope_id__$d = undefined;\n /* module identifier */\n const __vue_module_identifier__$d = undefined;\n /* functional template */\n const __vue_is_functional_template__$d = false;\n /* style inject */\n \n /* style inject SSR */\n \n /* style inject shadow dom */\n \n\n \n const __vue_component__$d = /*#__PURE__*/normalizeComponent(\n { render: __vue_render__$d, staticRenderFns: __vue_staticRenderFns__$d },\n __vue_inject_styles__$d,\n __vue_script__$d,\n __vue_scope_id__$d,\n __vue_is_functional_template__$d,\n __vue_module_identifier__$d,\n false,\n undefined,\n undefined,\n undefined\n );\n\nconst defaultIcon = '$icon-document';\r\nfunction isImage(vueUploadItem) {\r\n return vueUploadItem.type && vueUploadItem.type.substr(0, 6) === 'image/';\r\n}\r\nfunction createObjectURL(vueUploadItem) {\r\n const URL = window.URL || webkitURL;\r\n if (URL && URL.createObjectURL) {\r\n return URL.createObjectURL(vueUploadItem.file);\r\n }\r\n return '';\r\n}\r\nfunction revokeObjectUrl(url) {\r\n const URL = window.URL || webkitURL;\r\n if (URL && URL.revokeObjectURL) {\r\n URL.revokeObjectURL(url);\r\n }\r\n}\r\nfunction createThumb(vueUploadItem) {\r\n if (isImage(vueUploadItem)) {\r\n return createObjectURL(vueUploadItem);\r\n }\r\n return null;\r\n}\r\nfunction friendlyByteSize(bytes) {\r\n const i = bytes === 0 ? 0 : Math.floor(Math.log(bytes) / Math.log(1024));\r\n const unit = ['B', 'KB', 'MB', 'GB', 'TB'][i];\r\n return `${Number((bytes / Math.pow(1024, i)).toFixed(2))} ${unit}`;\r\n}\n\nclass UseFileUploadHelper {\r\n constructor(maxSize, maxTotalSize) {\r\n this.maxSize = maxSize;\r\n this.maxTotalSize = maxTotalSize;\r\n this._totalFileSize = 0;\r\n this.maxSize = maxSize;\r\n this.maxTotalSize = maxTotalSize;\r\n }\r\n calculateTotalSize(collection) {\r\n this._totalFileSize = collection.reduce((prev, curr) => prev + (curr && curr.size ? curr.size : 0), 0);\r\n }\r\n get combinedFileSize() {\r\n return this._totalFileSize;\r\n }\r\n maxFileSize() {\r\n return {\r\n file: friendlyByteSize(this.maxSize),\r\n total: friendlyByteSize(this.maxTotalSize),\r\n };\r\n }\r\n isAllowedFileSize(file) {\r\n return this.maxSize === 0 || (file && file.size && file.size <= this.maxSize) || false;\r\n }\r\n isDuplicate(file, collection) {\r\n const allFiles = [file, ...collection];\r\n const uniqueValues = new Set(allFiles.map((f) => `${f.name}-${f.size}-${f.type}`));\r\n return uniqueValues.size < allFiles.length;\r\n }\r\n isFileAllowed(file, extensions) {\r\n if (extensions.length > 0 && file.name) {\r\n const escapedExtensions = extensions.map(e => `\\\\.${e}`);\r\n const rxExtensions = new RegExp(`(${escapedExtensions.join('|')})$`, 'i');\r\n return rxExtensions.test(file.name);\r\n }\r\n return true;\r\n }\r\n}\n\nclass UseFileUpload {\r\n constructor(props, i18n, inputRef) {\r\n this.props = props;\r\n this.i18n = i18n;\r\n this.inputRef = inputRef;\r\n this.events = { uploaded: 'file:uploaded', downloaded: 'file:downloaded', removed: 'file:removed' };\r\n this.errorMessage = ref('');\r\n this.warningMessage = ref('');\r\n this.batchCompletionTimer = null;\r\n this.queuedTotalFiles = 0;\r\n this.queuedTotalFileSize = 0;\r\n this.shouldValidate = ref(false);\r\n this.validation = new UseValidation(props, this.i18n, this.validate.bind(this), () => this.shouldValidate.value);\r\n this.service = props.service;\r\n this.uploadedFiles = ref(props.value);\r\n this.failedUploads = ref([]);\r\n this.extensionsList = (props.extensions || []).map(x => `.${x}`).join(', ');\r\n this.helper = new UseFileUploadHelper(props.size || 0, props.totalSize || 0);\r\n onMounted(() => Vue$1.nextTick().then(() => this.onMountedHandler()));\r\n }\r\n onMountedHandler() {\r\n this.fileComponent = this.inputRef.value;\r\n if (this.fileComponent) {\r\n this.validate();\r\n watch(() => this.uploadedFiles.value, () => this.helper.calculateTotalSize(this.uploadedFiles.value));\r\n }\r\n }\r\n setWarningMessage(message) {\r\n this.warningMessage.value = message;\r\n }\r\n clearWarningMessage() {\r\n this.setWarningMessage('');\r\n }\r\n validate(force) {\r\n if (force) {\r\n this.shouldValidate.value = true;\r\n }\r\n this.errorMessage.value = this.shouldValidate.value ? this.validation.getValidationMessage() : '';\r\n this.validation.isInError.value = !!this.errorMessage.value;\r\n return !this.validation.isInError.value;\r\n }\r\n validateNewFile(vueUploadItem) {\r\n if (this.helper.isDuplicate(vueUploadItem, this.uploadedFiles.value)) {\r\n return this.i18n.t('errorMessages.alreadyUploaded', { name: vueUploadItem.name });\r\n }\r\n if (!this.helper.isFileAllowed(vueUploadItem, this.props.extensions || [])) {\r\n return this.i18n.t('errorMessages.illegalTypes', { extensionsList: this.extensionsList });\r\n }\r\n if (!this.helper.isAllowedFileSize(vueUploadItem)) {\r\n return this.i18n.t('errorMessages.exceedFileSize', { maxFileSize: friendlyByteSize(this.props.size || 0) });\r\n }\r\n if (this.props.totalSize && ((this.queuedTotalFileSize + this.helper.combinedFileSize) > this.props.totalSize)) {\r\n return this.i18n.t('errorMessages.exceedMaxFileSize', { maxTotalSize: friendlyByteSize(this.props.totalSize || 0) });\r\n }\r\n const numberOfFiles = this.uploadedFiles.value.length + this.queuedTotalFiles;\r\n if (this.props.totalFiles && numberOfFiles > this.props.totalFiles) {\r\n return this.i18n.t('errorMessages.exceedMaxNumberOfFiles', { maxNumberOfFiles: this.props.totalFiles });\r\n }\r\n return '';\r\n }\r\n fileWasRemoved(vueUploadItem) {\r\n this.clearWarningMessage();\r\n this.service.removeFile(vueUploadItem);\r\n }\r\n handleFailedUpload(vueUploadItem, validationErrorMessage) {\r\n if (validationErrorMessage) {\r\n vueUploadItem.error = validationErrorMessage;\r\n }\r\n this.failedUploads.value.push(vueUploadItem);\r\n this.setWarningMessage(this.i18n.t('errorMessages.faultyFiles'));\r\n }\r\n removeFailedUpload(vueUploadItem) {\r\n this.failedUploads.value = this.failedUploads.value.filter((fileFromArray) => fileFromArray.id !== vueUploadItem.id);\r\n if (!this.failedUploads.value.length) {\r\n this.clearWarningMessage();\r\n }\r\n }\r\n checkIfAllUploadsAreQueued(vueUploadItem) {\r\n // To check if all uploads within the selection of multiple files have been queued, we declare a timeout of 200ms\r\n // Queueing a file should not take longer than 200ms, so if the timer expires, we assume that the last upload has been queued\r\n if (!this.batchCompletionTimer) {\r\n this.failedUploads.value = [];\r\n }\r\n this.queuedTotalFiles++;\r\n // To accurately check if we've uploaded too much data, we maintain a property that represents the total size of files that are stil queued\r\n this.queuedTotalFileSize += vueUploadItem.size;\r\n clearTimeout(this.batchCompletionTimer);\r\n this.batchCompletionTimer = setTimeout(() => {\r\n this.batchCompletionTimer = null;\r\n this.queuedTotalFiles = 0;\r\n this.queuedTotalFileSize = 0;\r\n }, 200);\r\n }\r\n fileWasAdded(vueUploadItem, prevent) {\r\n this.checkIfAllUploadsAreQueued(vueUploadItem);\r\n const validationErrorMessage = this.validateNewFile(vueUploadItem);\r\n if (validationErrorMessage) {\r\n this.handleFailedUpload(vueUploadItem, validationErrorMessage);\r\n prevent();\r\n }\r\n else {\r\n this.clearWarningMessage();\r\n this.service.uploadFile(vueUploadItem).then(() => {\r\n if (this.fileComponent) {\r\n if (vueUploadItem.error) {\r\n this.handleFailedUpload(vueUploadItem);\r\n this.fileComponent.remove(vueUploadItem);\r\n }\r\n else {\r\n this.fileComponent.update(vueUploadItem, { success: true });\r\n }\r\n this.validate();\r\n }\r\n });\r\n }\r\n }\r\n filterInput(newFile, oldFile, prevent) {\r\n if (!this.shouldValidate.value) {\r\n this.shouldValidate.value = true;\r\n }\r\n if (newFile && !oldFile) {\r\n this.fileWasAdded(newFile, prevent);\r\n }\r\n if (!newFile && oldFile) {\r\n this.fileWasRemoved(oldFile);\r\n }\r\n this.validate();\r\n }\r\n extractComposable() {\r\n return {\r\n uploadedFiles: this.uploadedFiles,\r\n failedUploads: this.failedUploads,\r\n errorMessage: this.errorMessage,\r\n warningMessage: this.warningMessage,\r\n extensionsList: this.extensionsList,\r\n extractedValidation: {\r\n shouldValidate: this.shouldValidate,\r\n errorMessage: this.errorMessage,\r\n isRequired: this.validation.isRequired,\r\n isInError: this.validation.isInError,\r\n hideValidation: ref(false),\r\n },\r\n filterInput: this.filterInput.bind(this),\r\n maxFileSize: this.helper.maxFileSize(),\r\n removeFailedUpload: this.removeFailedUpload.bind(this),\r\n };\r\n }\r\n}\r\nfunction useFileUpload(props, usei18n, inputRef) {\r\n return new UseFileUpload(props, usei18n, inputRef).extractComposable();\r\n}\n\nvar i18n$1 = {\r\n messages: {\r\n nl: {\r\n dragOneFile: 'Sleep een bestand @:toThisArea',\r\n dragOneOrMoreFiles: 'Sleep één of meerdere bestand(en) @:toThisArea',\r\n toThisArea: 'naar dit vak.',\r\n orChooseFile: 'Of kies een bestand door op de knop te drukken.',\r\n chooseFile: 'Kies een bestand',\r\n allowedFileExtensions: 'Toegestane bestandsformaten zijn {extensionsList}.',\r\n maximumFileSize: 'Maximaal {maxFileSize} per bestand en de gezamenlijke uploadlimiet is {maxTotalSize}.',\r\n noMaximumFileSize: 'De gezamenlijke uploadlimiet is {maxTotalSize}.',\r\n noMaximumTotalSize: 'Maximaal {maxFileSize} per bestand.',\r\n allowedNumberOfFiles: 'U kunt maximaal {maxNumberOfFiles} bestanden per keer uploaden',\r\n remove: 'Verwijder',\r\n removeFile: 'Verwijder {file}',\r\n openFile: 'Open {file}',\r\n errorMessages: {\r\n illegalTypes: 'Het gekozen bestandstype is niet toegestaan, kies een ander bestandstype ({extensionsList})',\r\n exceedFileSize: 'Het geselecteerde bestand is te groot, kies een kleiner bestand (met een maximum van {maxFileSize})',\r\n exceedMaxFileSize: 'De gezamenlijke uploadlimiet van {maxTotalSize} is overschreden',\r\n exceedMaxNumberOfFiles: 'U kunt maximaal {maxNumberOfFiles} bestanden per keer uploaden',\r\n alreadyUploaded: 'U heeft het bestand {name} al geüpload',\r\n faultyFiles: 'Een of meerdere bestanden zijn foutief, vervang deze door andere bestanden en verwijder deze.',\r\n },\r\n },\r\n },\r\n};\n\nvar script$c = defineComponent({\r\n name: 'PFile',\r\n props: {\r\n file: { type: Object, required: true },\r\n },\r\n components: {\r\n VImg,\r\n VIcon,\r\n VList,\r\n VListItem,\r\n VListItemAvatar,\r\n VListItemAction,\r\n VListItemContent,\r\n VListItemTitle,\r\n PButton: __vue_component__$1f,\r\n PAlert: __vue_component__$1b,\r\n PLoadingIndicator: __vue_component__$t,\r\n },\r\n i18n: i18n$1,\r\n setup(props) {\r\n const fileInfo = {\r\n friendlyByteSize: !props.file.isArchived ? friendlyByteSize(props.file.size) : '',\r\n icon: defaultIcon,\r\n thumb: !props.file.isArchived && createThumb(props.file),\r\n };\r\n return {\r\n // file.success comes from vue-upload-component and must be strictly equal to false,\r\n // undefined means it isn't an upload file.\r\n // for computed reactiveness to work it must use the props parent.\r\n isUploading: computed(() => props.file.success === false && !props.file.error),\r\n hasBeenUploaded: computed(() => props.file.success),\r\n hasFailed: computed(() => props.file.success === false && props.file.error),\r\n fileInfo,\r\n onImgLoad() {\r\n setTimeout(() => {\r\n revokeObjectUrl(fileInfo.thumb || '');\r\n }, 0);\r\n },\r\n };\r\n },\r\n});\n\n/* script */\nconst __vue_script__$c = script$c;\n/* template */\nvar __vue_render__$c = function () {\n var _vm = this;\n var _h = _vm.$createElement;\n var _c = _vm._self._c || _h;\n return _vm.isUploading || _vm.hasBeenUploaded\n ? _c(\n \"v-list\",\n { staticClass: \"p-file\" },\n [\n _c(\n \"v-list-item\",\n [\n _c(\n \"v-list-item-avatar\",\n [\n _vm.fileInfo.thumb\n ? _c(\"v-img\", {\n attrs: {\n alt: _vm.file.name + \" avatar\",\n src: _vm.fileInfo.thumb,\n },\n on: { load: _vm.onImgLoad },\n })\n : _vm.fileInfo.icon\n ? _c(\"v-icon\", [\n _vm._v(\n \"\\n \" + _vm._s(_vm.fileInfo.icon) + \"\\n \"\n ),\n ])\n : _vm._e(),\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"v-list-item-content\",\n { staticClass: \"d-inline-block hidden-overflow text-no-wrap\" },\n [\n _c(\n \"a\",\n {\n staticClass: \"d-block\",\n attrs: {\n href: \"#\",\n title: _vm.file.name,\n \"aria-label\": _vm.$t(\"openFile\", {\n file: _vm.file.name,\n }),\n },\n on: {\n click: function ($event) {\n $event.preventDefault();\n return _vm.$emit(\"download\", _vm.file)\n },\n },\n },\n [\n _c(\n \"v-list-item-title\",\n { staticClass: \"text-truncate\" },\n [\n _vm._v(\n \"\\n \" +\n _vm._s(_vm.file.name) +\n \"\\n \"\n ),\n _vm.isUploading\n ? _c(\"p-loading-indicator\", {\n staticClass: \"ml-2 my-1\",\n })\n : _vm._e(),\n ],\n 1\n ),\n ],\n 1\n ),\n ]\n ),\n _vm._v(\" \"),\n _c(\"v-list-item-action\", [\n _vm._v(\n \"\\n \" + _vm._s(_vm.fileInfo.friendlyByteSize) + \"\\n \"\n ),\n ]),\n _vm._v(\" \"),\n _c(\n \"v-list-item-action\",\n [\n _vm.hasBeenUploaded\n ? _c(\n \"p-button\",\n {\n attrs: {\n \"data-ui\": \"remove-file\",\n small: \"\",\n \"aria-label\": _vm.$t(\"removeFile\", {\n file: _vm.file.name,\n }),\n },\n on: {\n click: function ($event) {\n $event.preventDefault();\n return _vm.$emit(\"remove\", _vm.file)\n },\n },\n },\n [\n _vm._v(\n \"\\n \" + _vm._s(_vm.$t(\"remove\")) + \"\\n \"\n ),\n ]\n )\n : _vm._e(),\n ],\n 1\n ),\n ],\n 1\n ),\n ],\n 1\n )\n : _vm.hasFailed\n ? _c(\n \"p-alert\",\n {\n staticClass: \"mb-0 mt-4\",\n attrs: {\n dismissible: true,\n type: \"error\",\n \"truncate-title\": \"\",\n title: _vm.file.name,\n },\n on: {\n input: function ($event) {\n return _vm.$emit(\"dismiss\", _vm.file)\n },\n },\n },\n [\n _c(\"div\", { staticClass: \"d-flex flex-column\" }, [\n _c(\"span\", [_vm._v(_vm._s(_vm.file.error))]),\n ]),\n ]\n )\n : _vm._e()\n};\nvar __vue_staticRenderFns__$c = [];\n__vue_render__$c._withStripped = true;\n\n /* style */\n const __vue_inject_styles__$c = undefined;\n /* scoped */\n const __vue_scope_id__$c = \"data-v-38a41a8c\";\n /* module identifier */\n const __vue_module_identifier__$c = undefined;\n /* functional template */\n const __vue_is_functional_template__$c = false;\n /* style inject */\n \n /* style inject SSR */\n \n /* style inject shadow dom */\n \n\n \n const __vue_component__$c = /*#__PURE__*/normalizeComponent(\n { render: __vue_render__$c, staticRenderFns: __vue_staticRenderFns__$c },\n __vue_inject_styles__$c,\n __vue_script__$c,\n __vue_scope_id__$c,\n __vue_is_functional_template__$c,\n __vue_module_identifier__$c,\n false,\n undefined,\n undefined,\n undefined\n );\n\nvar script$b = defineComponent({\r\n name: 'PFileUpload',\r\n inheritAttrs: false,\r\n components: { VueUploadComponent: __vue_component__$d, PFile: __vue_component__$c, VIcon, PButton: __vue_component__$1f, PInput: __vue_component__$$ },\r\n props: {\r\n service: { type: Object, required: true },\r\n value: { type: Array, default: () => [] },\r\n extensions: { type: Array, default: () => [] },\r\n size: { type: Number, default: 0 },\r\n totalSize: { type: Number, default: 0 },\r\n totalFiles: { type: Number, default: null },\r\n multiple: { type: Boolean, default: false },\r\n id: { type: String, default: undefined },\r\n validation: { type: Object, default: () => undefined },\r\n label: { type: String, default: null },\r\n },\r\n i18n: i18n$1,\r\n setup(props, { emit }) {\r\n const internalId = useIdGenerator('p-file-upload').next();\r\n const inputRef = ref(null);\r\n const vmI18n = useI18n();\r\n const dataContext = useFileUpload(props, vmI18n, inputRef);\r\n const inputState = ref(props.value);\r\n const InputIsfocussed = ref(false);\r\n const allFiles = computed(() => [...dataContext.uploadedFiles.value, ...dataContext.failedUploads.value]);\r\n const { setDirty } = useFormsStateManager(internalId);\r\n const onFileSelectHandler = () => {\r\n setDirty();\r\n };\r\n watch(() => dataContext.uploadedFiles.value, () => {\r\n emit('input', dataContext.uploadedFiles.value);\r\n });\r\n // the input is invisible and should not have a tabindex\r\n onMounted(() => {\r\n if (inputRef.value) {\r\n inputRef.value.$el.querySelector('input[type=file]').setAttribute('tabindex', '-1');\r\n }\r\n });\r\n // The input upload should be triggered as soon as the button is clicked\r\n function onButtonClick() {\r\n inputRef.value.$el.querySelector('input[type=file]').click();\r\n }\r\n return Object.assign(Object.assign({}, dataContext), { allFiles,\r\n inputRef,\r\n inputState,\r\n InputIsfocussed,\r\n onButtonClick, removeFile: (file) => inputRef.value.remove(file), onFileSelectHandler,\r\n internalId });\r\n },\r\n});\n\n/* script */\nconst __vue_script__$b = script$b;\n/* template */\nvar __vue_render__$b = function () {\n var _vm = this;\n var _h = _vm.$createElement;\n var _c = _vm._self._c || _h;\n return _c(\n \"div\",\n { staticClass: \"p-file-upload\" },\n [\n _c(\n \"p-input\",\n _vm._g(\n {\n attrs: {\n id: _vm.id,\n \"extracted-validation\": _vm.extractedValidation,\n label: _vm.label,\n \"forms-state-manager-id\": _vm.internalId,\n },\n scopedSlots: _vm._u([\n {\n key: \"default\",\n fn: function (ref) {\n var isInError = ref.isInError;\n var attrs = ref.attrs;\n if (attrs === void 0) attrs = {};\n return [\n _c(\n \"div\",\n {\n staticClass: \"p-file-upload-cmp\",\n class: isInError ? \"has-error\" : \"\",\n },\n [\n _c(\n \"div\",\n { staticClass: \"icon\" },\n [\n _c(\"v-icon\", { attrs: { size: \"120\" } }, [\n _vm._v(\n \"\\n $icon-upload-cloud\\n \"\n ),\n ]),\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"div\",\n {\n staticClass: \"p-file-upload__drag-file-copy\",\n attrs: { id: _vm.internalId + \"-description\" },\n },\n [\n _vm._v(\n \"\\n \" +\n _vm._s(\n _vm.$t(\n _vm.multiple\n ? \"dragOneOrMoreFiles\"\n : \"dragOneFile\"\n )\n )\n ),\n _c(\"br\"),\n _vm._v(\n \"\\n \" +\n _vm._s(_vm.$t(\"orChooseFile\")) +\n \"\\n \"\n ),\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"vue-upload-component\",\n {\n ref: \"inputRef\",\n staticClass: \"p-file-upload__input-cmp\",\n attrs: {\n \"input-id\": attrs.id,\n accept: _vm.extensionsList,\n multiple: _vm.multiple,\n drop: true,\n \"drop-directory\": false,\n },\n on: {\n \"input-filter\": _vm.filterInput,\n input: _vm.onFileSelectHandler,\n },\n model: {\n value: _vm.uploadedFiles,\n callback: function ($$v) {\n _vm.uploadedFiles = $$v;\n },\n expression: \"uploadedFiles\",\n },\n },\n [\n _c(\n \"p-button\",\n {\n staticClass: \"p-file-upload-button ma-1\",\n attrs: {\n preset: \"outlined\",\n \"aria-describedby\":\n _vm.internalId +\n \"-description \" +\n _vm.internalId +\n \"-smallprint \" +\n attrs.id +\n \"_error\",\n \"aria-invalid\": isInError,\n },\n on: { click: _vm.onButtonClick },\n },\n [\n _vm._v(\n \"\\n \" +\n _vm._s(_vm.$t(\"chooseFile\")) +\n \"\\n \"\n ),\n ]\n ),\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"div\",\n {\n staticClass: \"p-file-upload__smallprint\",\n attrs: { id: _vm.internalId + \"-smallprint\" },\n },\n [\n _vm.extensionsList\n ? _c(\"p\", [\n _vm._v(\n \"\\n \" +\n _vm._s(\n _vm.$t(\"allowedFileExtensions\", {\n extensionsList: _vm.extensionsList,\n })\n ) +\n \"\\n \"\n ),\n ])\n : _vm._e(),\n _vm._v(\" \"),\n _vm.size && _vm.totalSize\n ? _c(\"p\", [\n _vm._v(\n \"\\n \" +\n _vm._s(\n _vm.$t(\"maximumFileSize\", {\n maxFileSize: _vm.maxFileSize.file,\n maxTotalSize: _vm.maxFileSize.total,\n })\n ) +\n \"\\n \"\n ),\n ])\n : !_vm.size && _vm.totalSize\n ? _c(\"p\", [\n _vm._v(\n \"\\n \" +\n _vm._s(\n _vm.$t(\"noMaximumFileSize\", {\n maxTotalSize: _vm.maxFileSize.total,\n })\n ) +\n \"\\n \"\n ),\n ])\n : _vm.size && !_vm.totalSize\n ? _c(\"p\", [\n _vm._v(\n \"\\n \" +\n _vm._s(\n _vm.$t(\"noMaximumTotalSize\", {\n maxFileSize: _vm.maxFileSize.file,\n })\n ) +\n \"\\n \"\n ),\n ])\n : _vm._e(),\n _vm._v(\" \"),\n _vm.totalFiles\n ? _c(\"p\", [\n _vm._v(\n \"\\n \" +\n _vm._s(\n _vm.$t(\"allowedNumberOfFiles\", {\n maxNumberOfFiles: _vm.totalFiles,\n })\n ) +\n \"\\n \"\n ),\n ])\n : _vm._e(),\n ]\n ),\n ],\n 1\n ),\n ]\n },\n },\n ]),\n },\n _vm.$listeners\n )\n ),\n _vm._v(\" \"),\n _vm.allFiles.length\n ? _c(\n \"div\",\n _vm._l(_vm.allFiles, function (file) {\n return _c(\"p-file\", {\n key: file.id,\n attrs: { file: file },\n on: {\n download: _vm.service.downloadFile,\n remove: _vm.removeFile,\n dismiss: _vm.removeFailedUpload,\n },\n })\n }),\n 1\n )\n : _vm._e(),\n ],\n 1\n )\n};\nvar __vue_staticRenderFns__$b = [];\n__vue_render__$b._withStripped = true;\n\n /* style */\n const __vue_inject_styles__$b = undefined;\n /* scoped */\n const __vue_scope_id__$b = \"data-v-325904ee\";\n /* module identifier */\n const __vue_module_identifier__$b = undefined;\n /* functional template */\n const __vue_is_functional_template__$b = false;\n /* style inject */\n \n /* style inject SSR */\n \n /* style inject shadow dom */\n \n\n \n const __vue_component__$b = /*#__PURE__*/normalizeComponent(\n { render: __vue_render__$b, staticRenderFns: __vue_staticRenderFns__$b },\n __vue_inject_styles__$b,\n __vue_script__$b,\n __vue_scope_id__$b,\n __vue_is_functional_template__$b,\n __vue_module_identifier__$b,\n false,\n undefined,\n undefined,\n undefined\n );\n\nvar script$a = defineComponent({\r\n name: 'PRouterLink',\r\n props: {\r\n to: { type: [String, Object], default: undefined },\r\n href: { type: String, default: undefined },\r\n },\r\n setup(props) {\r\n const { allowed, linkTo, linkHref } = useRouteResolver(props);\r\n return {\r\n allowed, linkTo, linkHref,\r\n };\r\n },\r\n});\n\n/* script */\nconst __vue_script__$a = script$a;\n\n/* template */\nvar __vue_render__$a = function () {\n var _vm = this;\n var _h = _vm.$createElement;\n var _c = _vm._self._c || _h;\n return _vm.allowed && _vm.linkTo\n ? _c(\"router-link\", { attrs: { to: _vm.linkTo } }, [_vm._t(\"default\")], 2)\n : _vm.allowed && _vm.linkHref\n ? _c(\"a\", { attrs: { href: _vm.linkHref } }, [_vm._t(\"default\")], 2)\n : _vm._e()\n};\nvar __vue_staticRenderFns__$a = [];\n__vue_render__$a._withStripped = true;\n\n /* style */\n const __vue_inject_styles__$a = undefined;\n /* scoped */\n const __vue_scope_id__$a = undefined;\n /* module identifier */\n const __vue_module_identifier__$a = undefined;\n /* functional template */\n const __vue_is_functional_template__$a = false;\n /* style inject */\n \n /* style inject SSR */\n \n /* style inject shadow dom */\n \n\n \n const __vue_component__$a = /*#__PURE__*/normalizeComponent(\n { render: __vue_render__$a, staticRenderFns: __vue_staticRenderFns__$a },\n __vue_inject_styles__$a,\n __vue_script__$a,\n __vue_scope_id__$a,\n __vue_is_functional_template__$a,\n __vue_module_identifier__$a,\n false,\n undefined,\n undefined,\n undefined\n );\n\nvar script$9 = defineComponent({\r\n name: 'PSection',\r\n components: {\r\n PHeading: __vue_component__$1i,\r\n },\r\n props: {\r\n headingLevel: { type: [String, Number], required: true },\r\n headingText: { type: String, default: '' },\r\n headingClass: { type: String, default: null },\r\n },\r\n setup() {\r\n const headingId = useIdGenerator('p-heading').next();\r\n return { headingId };\r\n },\r\n});\n\n/* script */\nconst __vue_script__$9 = script$9;\n\n/* template */\nvar __vue_render__$9 = function () {\n var _vm = this;\n var _h = _vm.$createElement;\n var _c = _vm._self._c || _h;\n return _c(\n \"section\",\n { attrs: { \"aria-labelledby\": _vm.headingId } },\n [\n _c(\n \"p-heading\",\n {\n class: _vm.headingClass,\n attrs: { level: _vm.headingLevel, id: _vm.headingId },\n },\n [\n _vm.headingText\n ? [_vm._v(\"\\n \" + _vm._s(_vm.headingText) + \"\\n \")]\n : _vm._t(\"heading\"),\n ],\n 2\n ),\n _vm._v(\" \"),\n _vm._t(\"default\"),\n ],\n 2\n )\n};\nvar __vue_staticRenderFns__$9 = [];\n__vue_render__$9._withStripped = true;\n\n /* style */\n const __vue_inject_styles__$9 = undefined;\n /* scoped */\n const __vue_scope_id__$9 = undefined;\n /* module identifier */\n const __vue_module_identifier__$9 = undefined;\n /* functional template */\n const __vue_is_functional_template__$9 = false;\n /* style inject */\n \n /* style inject SSR */\n \n /* style inject shadow dom */\n \n\n \n const __vue_component__$9 = /*#__PURE__*/normalizeComponent(\n { render: __vue_render__$9, staticRenderFns: __vue_staticRenderFns__$9 },\n __vue_inject_styles__$9,\n __vue_script__$9,\n __vue_scope_id__$9,\n __vue_is_functional_template__$9,\n __vue_module_identifier__$9,\n false,\n undefined,\n undefined,\n undefined\n );\n\nvar script$8 = defineComponent({\r\n name: 'PGroupValidationExclude',\r\n props: {\r\n alwaysShowFieldValidator: { type: Boolean, default: false },\r\n },\r\n setup(props) {\r\n const groupValidationApi = inject(groupValidationProviderName);\r\n provide(groupValidationProviderName, reactive({\r\n hasGroupValidation: false,\r\n isInError: computed(() => groupValidationApi && groupValidationApi.isInError),\r\n hideChildValidationOnError: computed(() => !props.alwaysShowFieldValidator && groupValidationApi && groupValidationApi.hideChildValidationOnError),\r\n }));\r\n },\r\n});\n\n/* script */\nconst __vue_script__$8 = script$8;\n\n/* template */\nvar __vue_render__$8 = function () {\n var _vm = this;\n var _h = _vm.$createElement;\n var _c = _vm._self._c || _h;\n return _c(\"div\", [_vm._t(\"default\")], 2)\n};\nvar __vue_staticRenderFns__$8 = [];\n__vue_render__$8._withStripped = true;\n\n /* style */\n const __vue_inject_styles__$8 = undefined;\n /* scoped */\n const __vue_scope_id__$8 = undefined;\n /* module identifier */\n const __vue_module_identifier__$8 = undefined;\n /* functional template */\n const __vue_is_functional_template__$8 = false;\n /* style inject */\n \n /* style inject SSR */\n \n /* style inject shadow dom */\n \n\n \n const __vue_component__$8 = /*#__PURE__*/normalizeComponent(\n { render: __vue_render__$8, staticRenderFns: __vue_staticRenderFns__$8 },\n __vue_inject_styles__$8,\n __vue_script__$8,\n __vue_scope_id__$8,\n __vue_is_functional_template__$8,\n __vue_module_identifier__$8,\n false,\n undefined,\n undefined,\n undefined\n );\n\nvar script$7 = defineComponent({\r\n name: 'PGroupValidationSpacer',\r\n props: {\r\n mobileOnly: { type: Boolean },\r\n },\r\n setup() {\r\n const groupValidationApi = inject(groupValidationProviderName, {\r\n hasGroupValidation: false,\r\n isInError: false,\r\n hideChildValidationOnError: false,\r\n });\r\n return { groupValidationApi };\r\n },\r\n});\n\n/* script */\nconst __vue_script__$7 = script$7;\n/* template */\nvar __vue_render__$7 = function () {\n var _vm = this;\n var _h = _vm.$createElement;\n var _c = _vm._self._c || _h;\n return _c(\"div\", {\n class: [\n \"pr-4\",\n \"p-group-validation-spacer\",\n {\n \"p-group-validation-spacer--has-error\":\n _vm.groupValidationApi.isInError,\n \"p-group-validation-spacer--mobile-only\": _vm.mobileOnly,\n },\n ],\n })\n};\nvar __vue_staticRenderFns__$7 = [];\n__vue_render__$7._withStripped = true;\n\n /* style */\n const __vue_inject_styles__$7 = undefined;\n /* scoped */\n const __vue_scope_id__$7 = \"data-v-058b92dc\";\n /* module identifier */\n const __vue_module_identifier__$7 = undefined;\n /* functional template */\n const __vue_is_functional_template__$7 = false;\n /* style inject */\n \n /* style inject SSR */\n \n /* style inject shadow dom */\n \n\n \n const __vue_component__$7 = /*#__PURE__*/normalizeComponent(\n { render: __vue_render__$7, staticRenderFns: __vue_staticRenderFns__$7 },\n __vue_inject_styles__$7,\n __vue_script__$7,\n __vue_scope_id__$7,\n __vue_is_functional_template__$7,\n __vue_module_identifier__$7,\n false,\n undefined,\n undefined,\n undefined\n );\n\nvar script$6 = defineComponent({\r\n name: 'PFieldsetValidationExclude',\r\n components: { PGroupValidationExclude: __vue_component__$8 },\r\n});\n\n/* script */\nconst __vue_script__$6 = script$6;\n\n/* template */\nvar __vue_render__$6 = function () {\n var _vm = this;\n var _h = _vm.$createElement;\n var _c = _vm._self._c || _h;\n return _c(\"p-group-validation-exclude\", [_vm._t(\"default\")], 2)\n};\nvar __vue_staticRenderFns__$6 = [];\n__vue_render__$6._withStripped = true;\n\n /* style */\n const __vue_inject_styles__$6 = undefined;\n /* scoped */\n const __vue_scope_id__$6 = undefined;\n /* module identifier */\n const __vue_module_identifier__$6 = undefined;\n /* functional template */\n const __vue_is_functional_template__$6 = false;\n /* style inject */\n \n /* style inject SSR */\n \n /* style inject shadow dom */\n \n\n \n const __vue_component__$6 = /*#__PURE__*/normalizeComponent(\n { render: __vue_render__$6, staticRenderFns: __vue_staticRenderFns__$6 },\n __vue_inject_styles__$6,\n __vue_script__$6,\n __vue_scope_id__$6,\n __vue_is_functional_template__$6,\n __vue_module_identifier__$6,\n false,\n undefined,\n undefined,\n undefined\n );\n\nvar script$5 = defineComponent({\r\n name: 'PFieldsetSpacer',\r\n components: { PGroupValidationSpacer: __vue_component__$7 },\r\n props: {\r\n mobileOnly: { type: Boolean },\r\n },\r\n});\n\n/* script */\nconst __vue_script__$5 = script$5;\n\n/* template */\nvar __vue_render__$5 = function () {\n var _vm = this;\n var _h = _vm.$createElement;\n var _c = _vm._self._c || _h;\n return _c(\"p-group-validation-spacer\", {\n attrs: { \"mobile-only\": _vm.mobileOnly },\n })\n};\nvar __vue_staticRenderFns__$5 = [];\n__vue_render__$5._withStripped = true;\n\n /* style */\n const __vue_inject_styles__$5 = undefined;\n /* scoped */\n const __vue_scope_id__$5 = undefined;\n /* module identifier */\n const __vue_module_identifier__$5 = undefined;\n /* functional template */\n const __vue_is_functional_template__$5 = false;\n /* style inject */\n \n /* style inject SSR */\n \n /* style inject shadow dom */\n \n\n \n const __vue_component__$5 = /*#__PURE__*/normalizeComponent(\n { render: __vue_render__$5, staticRenderFns: __vue_staticRenderFns__$5 },\n __vue_inject_styles__$5,\n __vue_script__$5,\n __vue_scope_id__$5,\n __vue_is_functional_template__$5,\n __vue_module_identifier__$5,\n false,\n undefined,\n undefined,\n undefined\n );\n\nvar components = /*#__PURE__*/Object.freeze({\n\t__proto__: null,\n\tPAlert: __vue_component__$1b,\n\tPCard: __vue_component__$1a,\n\tPHelp: __vue_component__$1d,\n\tPHelpMobileTrigger: __vue_component__$19,\n\tPValueGrid: __vue_component__$18,\n\tPValueRow: __vue_component__$15,\n\tPStep: __vue_component__$14,\n\tPStepper: __vue_component__$13,\n\tPButton: __vue_component__$1f,\n\tPButtonContainer: __vue_component__$12,\n\tPInfo: __vue_component__$16,\n\tPDataTable: __vue_component__$U,\n\tPDataTableButton: __vue_component__$T,\n\tPFilters: __vue_component__$X,\n\tPForm: __vue_component__$S,\n\tusePageDirtyState: usePageDirtyState,\n\tPFooter: __vue_component__$R,\n\tPHeader: __vue_component__$H,\n\tPHeaderButton: __vue_component__$G,\n\tPDialog: __vue_component__$17,\n\tPContainer: __vue_component__$11,\n\tPIcon: __vue_component__$F,\n\tPContactList: __vue_component__$E,\n\tPContactListItem: __vue_component__$C,\n\tPList: __vue_component__$P,\n\tPListItem: __vue_component__$O,\n\tPListItemIcon: __vue_component__$D,\n\tPListItemTitle: __vue_component__$M,\n\tPListItemContent: __vue_component__$N,\n\tPMenu: __vue_component__$B,\n\tPApp: __vue_component__$v,\n\tPMain: __vue_component__$u,\n\tPLoadingIndicator: __vue_component__$t,\n\tPDivider: __vue_component__$1j,\n\tPRow: __vue_component__$L,\n\tPCol: __vue_component__$K,\n\tPNotifyRequiredField: __vue_component__$s,\n\tPTextField: __vue_component__$r,\n\tPTextarea: __vue_component__$q,\n\tPDatePicker: __vue_component__$m,\n\tPCheckbox: __vue_component__$l,\n\tPRadioGroup: __vue_component__$f,\n\tPSearch: __vue_component__$Y,\n\tPFileUpload: __vue_component__$b,\n\tPRouterLink: __vue_component__$a,\n\tPHeading: __vue_component__$1i,\n\tPSection: __vue_component__$9,\n\tPGroupValidation: __vue_component__$k,\n\tPGroupValidationError: __vue_component__$j,\n\tPGroupValidationExclude: __vue_component__$8,\n\tPGroupValidationSpacer: __vue_component__$7,\n\tPFieldset: __vue_component__$h,\n\tPFieldsetError: __vue_component__$g,\n\tPFieldsetValidationExclude: __vue_component__$6,\n\tPFieldsetSpacer: __vue_component__$5,\n\tusePAriaLive: usePAriaLive,\n\tPSelect: __vue_component__$Z\n});\n\nvar script$4 = defineComponent({\r\n name: 'PageLayoutFull',\r\n components: {\r\n PageLayoutBase: __vue_component__$1h,\r\n PHelp: __vue_component__$1d,\r\n PHelpMobileTrigger: __vue_component__$19,\r\n PButton: __vue_component__$1f,\r\n PCol: __vue_component__$K,\r\n PRow: __vue_component__$L,\r\n },\r\n props: {\r\n helpPanelItems: { type: Array, default: null },\r\n a11yFocusableOptions: { type: Object, default: null },\r\n pageTitle: { type: String, default: null },\r\n helpPanelPosition: {\r\n type: String,\r\n default: 'content-top-right',\r\n validator: propVal => {\r\n const approvedValues = ['header-inline-right', 'content-top-right'];\r\n return approvedValues.includes(propVal);\r\n },\r\n },\r\n printButton: { type: Boolean, default: false },\r\n },\r\n setup(_, { slots }) {\r\n const printer = useWindowPrint();\r\n const hasSlot = useHasSlot(slots);\r\n return {\r\n sendToPrinter: printer.sendToPrinter,\r\n hasSlot,\r\n };\r\n },\r\n});\n\n/* script */\nconst __vue_script__$4 = script$4;\n\n/* template */\nvar __vue_render__$4 = function () {\n var _vm = this;\n var _h = _vm.$createElement;\n var _c = _vm._self._c || _h;\n return _c(\n \"page-layout-base\",\n {\n attrs: {\n \"a11y-focusable-options\": _vm.a11yFocusableOptions,\n \"page-title\": _vm.pageTitle,\n divider:\n _vm.helpPanelPosition !== \"header-inline-right\" &&\n !_vm.hasSlot(\"headerInlineContent\"),\n },\n scopedSlots: _vm._u(\n [\n _vm.hasSlot(\"title\")\n ? {\n key: \"title\",\n fn: function () {\n return [_vm._t(\"title\")]\n },\n proxy: true,\n }\n : null,\n {\n key: \"headerInlineContent\",\n fn: function () {\n return [\n _vm._t(\"headerInlineContent\"),\n _vm._v(\" \"),\n _vm.helpPanelPosition === \"header-inline-right\"\n ? _c(\"p-help\", { attrs: { items: _vm.helpPanelItems } })\n : _vm._e(),\n ]\n },\n proxy: true,\n },\n ],\n null,\n true\n ),\n },\n [\n _vm._v(\" \"),\n _vm._v(\" \"),\n _vm.helpPanelItems !== null\n ? _c(\"p-help-mobile-trigger\", { staticClass: \"text-right\" })\n : _vm._e(),\n _vm._v(\" \"),\n _c(\n \"p-row\",\n { staticClass: \"flex-nowrap\" },\n [\n _vm.hasSlot(\"topRow\")\n ? _c(\n \"p-col\",\n {\n key: \"pageLayoutFullColTopRow\",\n staticClass: \"flex-grow-1\",\n attrs: { cols: \"12\", md: \"auto\" },\n },\n [_vm._t(\"topRow\")],\n 2\n )\n : _vm._e(),\n _vm._v(\" \"),\n _vm.hasSlot(\"extraButton\")\n ? _c(\n \"p-col\",\n {\n staticClass: \"flex-shrink-1 justify-end d-none d-md-block\",\n attrs: { md: \"auto\" },\n },\n [_vm._t(\"extraButton\")],\n 2\n )\n : _vm._e(),\n _vm._v(\" \"),\n _vm.printButton !== false\n ? _c(\n \"p-col\",\n {\n key: \"pageLayoutFullColPrintButton\",\n staticClass: \"flex-shrink-1 justify-end d-none d-md-block\",\n attrs: { md: \"auto\" },\n },\n [\n _c(\n \"p-button\",\n {\n attrs: {\n preset: \"print\",\n \"data-ui\": \"print-page-button\",\n },\n on: { click: _vm.sendToPrinter },\n },\n [\n _vm._v(\n \"\\n \" +\n _vm._s(_vm.$t(\"printOverview\")) +\n \"\\n \"\n ),\n ]\n ),\n ],\n 1\n )\n : _vm._e(),\n _vm._v(\" \"),\n _vm.helpPanelItems !== null &&\n _vm.helpPanelPosition === \"content-top-right\"\n ? _c(\n \"p-col\",\n {\n key: \"pageLayoutFullColHelpPanelItems\",\n staticClass: \"flex-shrink-1 justify-end pa-0 pa-md-3\",\n attrs: { md: \"auto\" },\n },\n [_c(\"p-help\", { attrs: { items: _vm.helpPanelItems } })],\n 1\n )\n : _vm._e(),\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\"p-row\", [_c(\"p-col\", [_vm._t(\"default\")], 2)], 1),\n _vm._v(\" \"),\n _c(\n \"p-row\",\n [\n _vm.hasSlot(\"extraButton\")\n ? _c(\n \"p-col\",\n { staticClass: \"d-flex d-md-none pt-0\", attrs: { cols: \"12\" } },\n [_vm._t(\"extraButton\")],\n 2\n )\n : _vm._e(),\n _vm._v(\" \"),\n _vm.printButton !== false\n ? _c(\n \"p-col\",\n { staticClass: \"d-flex d-md-none pt-0\", attrs: { cols: \"12\" } },\n [\n _c(\n \"p-button\",\n {\n attrs: { preset: \"print\" },\n on: { click: _vm.sendToPrinter },\n },\n [\n _vm._v(\n \"\\n \" +\n _vm._s(_vm.$t(\"printOverview\")) +\n \"\\n \"\n ),\n ]\n ),\n ],\n 1\n )\n : _vm._e(),\n ],\n 1\n ),\n ],\n 1\n )\n};\nvar __vue_staticRenderFns__$4 = [];\n__vue_render__$4._withStripped = true;\n\n /* style */\n const __vue_inject_styles__$4 = undefined;\n /* scoped */\n const __vue_scope_id__$4 = undefined;\n /* module identifier */\n const __vue_module_identifier__$4 = undefined;\n /* functional template */\n const __vue_is_functional_template__$4 = false;\n /* style inject */\n \n /* style inject SSR */\n \n /* style inject shadow dom */\n \n\n \n const __vue_component__$4 = /*#__PURE__*/normalizeComponent(\n { render: __vue_render__$4, staticRenderFns: __vue_staticRenderFns__$4 },\n __vue_inject_styles__$4,\n __vue_script__$4,\n __vue_scope_id__$4,\n __vue_is_functional_template__$4,\n __vue_module_identifier__$4,\n false,\n undefined,\n undefined,\n undefined\n );\n\nvar i18n = {\r\n messages: {\r\n nl: {\r\n pageNotFoundTitle: '404 - Pagina niet gevonden',\r\n pageNotFoundBody: {\r\n notFound: 'Helaas, de door u opgevraagde pagina kan niet (meer) worden gevonden!',\r\n troubleshoot: {\r\n title: 'Wat kunt u doen?',\r\n typo: 'Controleer of het adres van de pagina correct is en geen typefouten bevat.',\r\n previousPage: {\r\n text: 'Ga terug naar de {0}.',\r\n link: 'vorige pagina',\r\n },\r\n homepage: {\r\n text: 'Begin opnieuw op de {0}.',\r\n link: 'startpagina',\r\n },\r\n tryLater: 'Probeer het later nog eens, wellicht is de pagina dan wel te vinden.',\r\n },\r\n keepsPersisting: 'Blijft het probleem zich voordoen, neem dan {0} op met uw verstrekker.',\r\n contact: 'contact',\r\n timestamp: 'Vermeld hierin ook het volgende tijdstip: {time}',\r\n },\r\n },\r\n },\r\n};\n\n//\nvar script$3 = defineComponent({\r\n name: 'PageNotFound',\r\n components: { PageLayoutFull: __vue_component__$4 },\r\n i18n,\r\n setup () {\r\n return {\r\n time: new Date().toLocaleString('nl-NL').slice(0, -3),\r\n }\r\n },\r\n});\n\n/* script */\nconst __vue_script__$3 = script$3;\n\n/* template */\nvar __vue_render__$3 = function () {\n var _vm = this;\n var _h = _vm.$createElement;\n var _c = _vm._self._c || _h;\n return _c(\n \"page-layout-full\",\n { attrs: { \"page-title\": _vm.$t(\"pageNotFoundTitle\") } },\n [\n _c(\"p\", { staticClass: \"text-h6\" }, [\n _vm._v(\"\\n \" + _vm._s(_vm.$t(\"pageNotFoundBody.notFound\")) + \"\\n \"),\n ]),\n _vm._v(\" \"),\n _c(\"p\", { staticClass: \"text-h6\" }, [\n _vm._v(\n \"\\n \" +\n _vm._s(_vm.$t(\"pageNotFoundBody.troubleshoot.title\")) +\n \"\\n \"\n ),\n ]),\n _vm._v(\" \"),\n _c(\"ul\", { staticClass: \"mb-5\" }, [\n _c(\"li\", [\n _vm._v(_vm._s(_vm.$t(\"pageNotFoundBody.troubleshoot.typo\"))),\n ]),\n _vm._v(\" \"),\n _c(\n \"li\",\n [\n _c(\n \"i18n\",\n {\n attrs: {\n path: \"pageNotFoundBody.troubleshoot.previousPage.text\",\n },\n },\n [\n _c(\n \"a\",\n {\n attrs: { \"data-ui\": \"previous-page-link\", href: \"#\" },\n on: {\n click: function ($event) {\n $event.preventDefault();\n return _vm.$emit(\"toPreviousPage\")\n },\n },\n },\n [\n _vm._v(\n _vm._s(\n _vm.$t(\n \"pageNotFoundBody.troubleshoot.previousPage.link\"\n )\n ) + \"\\n \"\n ),\n ]\n ),\n ]\n ),\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"li\",\n [\n _c(\n \"i18n\",\n {\n attrs: { path: \"pageNotFoundBody.troubleshoot.homepage.text\" },\n },\n [\n _c(\n \"a\",\n {\n attrs: { \"data-ui\": \"homepage-link\", href: \"#\" },\n on: {\n click: function ($event) {\n $event.preventDefault();\n return _vm.$emit(\"toHomepage\")\n },\n },\n },\n [\n _vm._v(\n _vm._s(\n _vm.$t(\"pageNotFoundBody.troubleshoot.homepage.link\")\n ) + \"\\n \"\n ),\n ]\n ),\n ]\n ),\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\"li\", [\n _vm._v(_vm._s(_vm.$t(\"pageNotFoundBody.troubleshoot.tryLater\"))),\n ]),\n ]),\n _vm._v(\" \"),\n _c(\n \"p\",\n [\n _c(\"i18n\", { attrs: { path: \"pageNotFoundBody.keepsPersisting\" } }, [\n _c(\n \"a\",\n {\n attrs: {\n \"data-ui\": \"contact-page-link\",\n href: \"https://www.mijnpgb.nl/onderwerpen/contact\",\n },\n },\n [_vm._v(_vm._s(_vm.$t(\"pageNotFoundBody.contact\")))]\n ),\n ]),\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\"p\", [\n _vm._v(\n _vm._s(_vm.$t(\"pageNotFoundBody.timestamp\", { time: _vm.time }))\n ),\n ]),\n ]\n )\n};\nvar __vue_staticRenderFns__$3 = [];\n__vue_render__$3._withStripped = true;\n\n /* style */\n const __vue_inject_styles__$3 = undefined;\n /* scoped */\n const __vue_scope_id__$3 = undefined;\n /* module identifier */\n const __vue_module_identifier__$3 = undefined;\n /* functional template */\n const __vue_is_functional_template__$3 = false;\n /* style inject */\n \n /* style inject SSR */\n \n /* style inject shadow dom */\n \n\n \n const __vue_component__$3 = /*#__PURE__*/normalizeComponent(\n { render: __vue_render__$3, staticRenderFns: __vue_staticRenderFns__$3 },\n __vue_inject_styles__$3,\n __vue_script__$3,\n __vue_scope_id__$3,\n __vue_is_functional_template__$3,\n __vue_module_identifier__$3,\n false,\n undefined,\n undefined,\n undefined\n );\n\n/*!\n * vue-i18n v8.28.2 \n * (c) 2022 kazuya kawaguchi\n * Released under the MIT License.\n */\n/* */\n\n/**\n * constants\n */\n\nvar numberFormatKeys = [\n 'compactDisplay',\n 'currency',\n 'currencyDisplay',\n 'currencySign',\n 'localeMatcher',\n 'notation',\n 'numberingSystem',\n 'signDisplay',\n 'style',\n 'unit',\n 'unitDisplay',\n 'useGrouping',\n 'minimumIntegerDigits',\n 'minimumFractionDigits',\n 'maximumFractionDigits',\n 'minimumSignificantDigits',\n 'maximumSignificantDigits'\n];\n\nvar dateTimeFormatKeys = [\n 'dateStyle',\n 'timeStyle',\n 'calendar',\n 'localeMatcher',\n \"hour12\",\n \"hourCycle\",\n \"timeZone\",\n \"formatMatcher\",\n 'weekday',\n 'era',\n 'year',\n 'month',\n 'day',\n 'hour',\n 'minute',\n 'second',\n 'timeZoneName' ];\n\n/**\n * utilities\n */\n\nfunction warn (msg, err) {\n if (typeof console !== 'undefined') {\n console.warn('[vue-i18n] ' + msg);\n /* istanbul ignore if */\n if (err) {\n console.warn(err.stack);\n }\n }\n}\n\nfunction error (msg, err) {\n if (typeof console !== 'undefined') {\n console.error('[vue-i18n] ' + msg);\n /* istanbul ignore if */\n if (err) {\n console.error(err.stack);\n }\n }\n}\n\nvar isArray = Array.isArray;\n\nfunction isObject (obj) {\n return obj !== null && typeof obj === 'object'\n}\n\nfunction isBoolean (val) {\n return typeof val === 'boolean'\n}\n\nfunction isString (val) {\n return typeof val === 'string'\n}\n\nvar toString = Object.prototype.toString;\nvar OBJECT_STRING = '[object Object]';\nfunction isPlainObject (obj) {\n return toString.call(obj) === OBJECT_STRING\n}\n\nfunction isNull (val) {\n return val === null || val === undefined\n}\n\nfunction isFunction (val) {\n return typeof val === 'function'\n}\n\nfunction parseArgs () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n var locale = null;\n var params = null;\n if (args.length === 1) {\n if (isObject(args[0]) || isArray(args[0])) {\n params = args[0];\n } else if (typeof args[0] === 'string') {\n locale = args[0];\n }\n } else if (args.length === 2) {\n if (typeof args[0] === 'string') {\n locale = args[0];\n }\n /* istanbul ignore if */\n if (isObject(args[1]) || isArray(args[1])) {\n params = args[1];\n }\n }\n\n return { locale: locale, params: params }\n}\n\nfunction looseClone (obj) {\n return JSON.parse(JSON.stringify(obj))\n}\n\nfunction remove (arr, item) {\n if (arr.delete(item)) {\n return arr\n }\n}\n\nfunction arrayFrom (arr) {\n var ret = [];\n arr.forEach(function (a) { return ret.push(a); });\n return ret\n}\n\nfunction includes (arr, item) {\n return !!~arr.indexOf(item)\n}\n\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nfunction hasOwn (obj, key) {\n return hasOwnProperty.call(obj, key)\n}\n\nfunction merge (target) {\n var arguments$1 = arguments;\n\n var output = Object(target);\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments$1[i];\n if (source !== undefined && source !== null) {\n var key = (void 0);\n for (key in source) {\n if (hasOwn(source, key)) {\n if (isObject(source[key])) {\n output[key] = merge(output[key], source[key]);\n } else {\n output[key] = source[key];\n }\n }\n }\n }\n }\n return output\n}\n\nfunction looseEqual (a, b) {\n if (a === b) { return true }\n var isObjectA = isObject(a);\n var isObjectB = isObject(b);\n if (isObjectA && isObjectB) {\n try {\n var isArrayA = isArray(a);\n var isArrayB = isArray(b);\n if (isArrayA && isArrayB) {\n return a.length === b.length && a.every(function (e, i) {\n return looseEqual(e, b[i])\n })\n } else if (!isArrayA && !isArrayB) {\n var keysA = Object.keys(a);\n var keysB = Object.keys(b);\n return keysA.length === keysB.length && keysA.every(function (key) {\n return looseEqual(a[key], b[key])\n })\n } else {\n /* istanbul ignore next */\n return false\n }\n } catch (e) {\n /* istanbul ignore next */\n return false\n }\n } else if (!isObjectA && !isObjectB) {\n return String(a) === String(b)\n } else {\n return false\n }\n}\n\n/**\n * Sanitizes html special characters from input strings. For mitigating risk of XSS attacks.\n * @param rawText The raw input from the user that should be escaped.\n */\nfunction escapeHtml(rawText) {\n return rawText\n .replace(//g, '>')\n .replace(/\"/g, '"')\n .replace(/'/g, ''')\n}\n\n/**\n * Escapes html tags and special symbols from all provided params which were returned from parseArgs().params.\n * This method performs an in-place operation on the params object.\n *\n * @param {any} params Parameters as provided from `parseArgs().params`.\n * May be either an array of strings or a string->any map.\n *\n * @returns The manipulated `params` object.\n */\nfunction escapeParams(params) {\n if(params != null) {\n Object.keys(params).forEach(function (key) {\n if(typeof(params[key]) == 'string') {\n params[key] = escapeHtml(params[key]);\n }\n });\n }\n return params\n}\n\n/* */\n\nfunction extend (Vue) {\n if (!Vue.prototype.hasOwnProperty('$i18n')) {\n // $FlowFixMe\n Object.defineProperty(Vue.prototype, '$i18n', {\n get: function get () { return this._i18n }\n });\n }\n\n Vue.prototype.$t = function (key) {\n var values = [], len = arguments.length - 1;\n while ( len-- > 0 ) values[ len ] = arguments[ len + 1 ];\n\n var i18n = this.$i18n;\n return i18n._t.apply(i18n, [ key, i18n.locale, i18n._getMessages(), this ].concat( values ))\n };\n\n Vue.prototype.$tc = function (key, choice) {\n var values = [], len = arguments.length - 2;\n while ( len-- > 0 ) values[ len ] = arguments[ len + 2 ];\n\n var i18n = this.$i18n;\n return i18n._tc.apply(i18n, [ key, i18n.locale, i18n._getMessages(), this, choice ].concat( values ))\n };\n\n Vue.prototype.$te = function (key, locale) {\n var i18n = this.$i18n;\n return i18n._te(key, i18n.locale, i18n._getMessages(), locale)\n };\n\n Vue.prototype.$d = function (value) {\n var ref;\n\n var args = [], len = arguments.length - 1;\n while ( len-- > 0 ) args[ len ] = arguments[ len + 1 ];\n return (ref = this.$i18n).d.apply(ref, [ value ].concat( args ))\n };\n\n Vue.prototype.$n = function (value) {\n var ref;\n\n var args = [], len = arguments.length - 1;\n while ( len-- > 0 ) args[ len ] = arguments[ len + 1 ];\n return (ref = this.$i18n).n.apply(ref, [ value ].concat( args ))\n };\n}\n\n/* */\n\n/**\n * Mixin\n * \n * If `bridge` mode, empty mixin is returned,\n * else regulary mixin implementation is returned.\n */\nfunction defineMixin (bridge) {\n if ( bridge === void 0 ) bridge = false;\n\n function mounted () {\n if (this !== this.$root && this.$options.__INTLIFY_META__ && this.$el) {\n this.$el.setAttribute('data-intlify', this.$options.__INTLIFY_META__);\n }\n }\n\n return bridge\n ? { mounted: mounted } // delegate `vue-i18n-bridge` mixin implementation\n : { // regulary \n beforeCreate: function beforeCreate () {\n var options = this.$options;\n options.i18n = options.i18n || ((options.__i18nBridge || options.__i18n) ? {} : null);\n\n if (options.i18n) {\n if (options.i18n instanceof VueI18n) {\n // init locale messages via custom blocks\n if ((options.__i18nBridge || options.__i18n)) {\n try {\n var localeMessages = options.i18n && options.i18n.messages ? options.i18n.messages : {};\n var _i18n = options.__i18nBridge || options.__i18n;\n _i18n.forEach(function (resource) {\n localeMessages = merge(localeMessages, JSON.parse(resource));\n });\n Object.keys(localeMessages).forEach(function (locale) {\n options.i18n.mergeLocaleMessage(locale, localeMessages[locale]);\n });\n } catch (e) {\n if (process.env.NODE_ENV !== 'production') {\n error(\"Cannot parse locale messages via custom blocks.\", e);\n }\n }\n }\n this._i18n = options.i18n;\n this._i18nWatcher = this._i18n.watchI18nData();\n } else if (isPlainObject(options.i18n)) {\n var rootI18n = this.$root && this.$root.$i18n && this.$root.$i18n instanceof VueI18n\n ? this.$root.$i18n\n : null;\n // component local i18n\n if (rootI18n) {\n options.i18n.root = this.$root;\n options.i18n.formatter = rootI18n.formatter;\n options.i18n.fallbackLocale = rootI18n.fallbackLocale;\n options.i18n.formatFallbackMessages = rootI18n.formatFallbackMessages;\n options.i18n.silentTranslationWarn = rootI18n.silentTranslationWarn;\n options.i18n.silentFallbackWarn = rootI18n.silentFallbackWarn;\n options.i18n.pluralizationRules = rootI18n.pluralizationRules;\n options.i18n.preserveDirectiveContent = rootI18n.preserveDirectiveContent;\n }\n\n // init locale messages via custom blocks\n if ((options.__i18nBridge || options.__i18n)) {\n try {\n var localeMessages$1 = options.i18n && options.i18n.messages ? options.i18n.messages : {};\n var _i18n$1 = options.__i18nBridge || options.__i18n;\n _i18n$1.forEach(function (resource) {\n localeMessages$1 = merge(localeMessages$1, JSON.parse(resource));\n });\n options.i18n.messages = localeMessages$1;\n } catch (e) {\n if (process.env.NODE_ENV !== 'production') {\n warn(\"Cannot parse locale messages via custom blocks.\", e);\n }\n }\n }\n\n var ref = options.i18n;\n var sharedMessages = ref.sharedMessages;\n if (sharedMessages && isPlainObject(sharedMessages)) {\n options.i18n.messages = merge(options.i18n.messages, sharedMessages);\n }\n\n this._i18n = new VueI18n(options.i18n);\n this._i18nWatcher = this._i18n.watchI18nData();\n\n if (options.i18n.sync === undefined || !!options.i18n.sync) {\n this._localeWatcher = this.$i18n.watchLocale();\n }\n\n if (rootI18n) {\n rootI18n.onComponentInstanceCreated(this._i18n);\n }\n } else {\n if (process.env.NODE_ENV !== 'production') {\n warn(\"Cannot be interpreted 'i18n' option.\");\n }\n }\n } else if (this.$root && this.$root.$i18n && this.$root.$i18n instanceof VueI18n) {\n // root i18n\n this._i18n = this.$root.$i18n;\n } else if (options.parent && options.parent.$i18n && options.parent.$i18n instanceof VueI18n) {\n // parent i18n\n this._i18n = options.parent.$i18n;\n }\n },\n\n beforeMount: function beforeMount () {\n var options = this.$options;\n options.i18n = options.i18n || ((options.__i18nBridge || options.__i18n) ? {} : null);\n\n if (options.i18n) {\n if (options.i18n instanceof VueI18n) {\n // init locale messages via custom blocks\n this._i18n.subscribeDataChanging(this);\n this._subscribing = true;\n } else if (isPlainObject(options.i18n)) {\n this._i18n.subscribeDataChanging(this);\n this._subscribing = true;\n } else {\n if (process.env.NODE_ENV !== 'production') {\n warn(\"Cannot be interpreted 'i18n' option.\");\n }\n }\n } else if (this.$root && this.$root.$i18n && this.$root.$i18n instanceof VueI18n) {\n this._i18n.subscribeDataChanging(this);\n this._subscribing = true;\n } else if (options.parent && options.parent.$i18n && options.parent.$i18n instanceof VueI18n) {\n this._i18n.subscribeDataChanging(this);\n this._subscribing = true;\n }\n },\n\n mounted: mounted,\n\n beforeDestroy: function beforeDestroy () {\n if (!this._i18n) { return }\n\n var self = this;\n this.$nextTick(function () {\n if (self._subscribing) {\n self._i18n.unsubscribeDataChanging(self);\n delete self._subscribing;\n }\n\n if (self._i18nWatcher) {\n self._i18nWatcher();\n self._i18n.destroyVM();\n delete self._i18nWatcher;\n }\n\n if (self._localeWatcher) {\n self._localeWatcher();\n delete self._localeWatcher;\n }\n });\n }\n }\n}\n\n/* */\n\nvar interpolationComponent = {\n name: 'i18n',\n functional: true,\n props: {\n tag: {\n type: [String, Boolean, Object],\n default: 'span'\n },\n path: {\n type: String,\n required: true\n },\n locale: {\n type: String\n },\n places: {\n type: [Array, Object]\n }\n },\n render: function render (h, ref) {\n var data = ref.data;\n var parent = ref.parent;\n var props = ref.props;\n var slots = ref.slots;\n\n var $i18n = parent.$i18n;\n if (!$i18n) {\n if (process.env.NODE_ENV !== 'production') {\n warn('Cannot find VueI18n instance!');\n }\n return\n }\n\n var path = props.path;\n var locale = props.locale;\n var places = props.places;\n var params = slots();\n var children = $i18n.i(\n path,\n locale,\n onlyHasDefaultPlace(params) || places\n ? useLegacyPlaces(params.default, places)\n : params\n );\n\n var tag = (!!props.tag && props.tag !== true) || props.tag === false ? props.tag : 'span';\n return tag ? h(tag, data, children) : children\n }\n};\n\nfunction onlyHasDefaultPlace (params) {\n var prop;\n for (prop in params) {\n if (prop !== 'default') { return false }\n }\n return Boolean(prop)\n}\n\nfunction useLegacyPlaces (children, places) {\n var params = places ? createParamsFromPlaces(places) : {};\n\n if (!children) { return params }\n\n // Filter empty text nodes\n children = children.filter(function (child) {\n return child.tag || child.text.trim() !== ''\n });\n\n var everyPlace = children.every(vnodeHasPlaceAttribute);\n if (process.env.NODE_ENV !== 'production' && everyPlace) {\n warn('`place` attribute is deprecated in next major version. Please switch to Vue slots.');\n }\n\n return children.reduce(\n everyPlace ? assignChildPlace : assignChildIndex,\n params\n )\n}\n\nfunction createParamsFromPlaces (places) {\n if (process.env.NODE_ENV !== 'production') {\n warn('`places` prop is deprecated in next major version. Please switch to Vue slots.');\n }\n\n return Array.isArray(places)\n ? places.reduce(assignChildIndex, {})\n : Object.assign({}, places)\n}\n\nfunction assignChildPlace (params, child) {\n if (child.data && child.data.attrs && child.data.attrs.place) {\n params[child.data.attrs.place] = child;\n }\n return params\n}\n\nfunction assignChildIndex (params, child, index) {\n params[index] = child;\n return params\n}\n\nfunction vnodeHasPlaceAttribute (vnode) {\n return Boolean(vnode.data && vnode.data.attrs && vnode.data.attrs.place)\n}\n\n/* */\n\nvar numberComponent = {\n name: 'i18n-n',\n functional: true,\n props: {\n tag: {\n type: [String, Boolean, Object],\n default: 'span'\n },\n value: {\n type: Number,\n required: true\n },\n format: {\n type: [String, Object]\n },\n locale: {\n type: String\n }\n },\n render: function render (h, ref) {\n var props = ref.props;\n var parent = ref.parent;\n var data = ref.data;\n\n var i18n = parent.$i18n;\n\n if (!i18n) {\n if (process.env.NODE_ENV !== 'production') {\n warn('Cannot find VueI18n instance!');\n }\n return null\n }\n\n var key = null;\n var options = null;\n\n if (isString(props.format)) {\n key = props.format;\n } else if (isObject(props.format)) {\n if (props.format.key) {\n key = props.format.key;\n }\n\n // Filter out number format options only\n options = Object.keys(props.format).reduce(function (acc, prop) {\n var obj;\n\n if (includes(numberFormatKeys, prop)) {\n return Object.assign({}, acc, ( obj = {}, obj[prop] = props.format[prop], obj ))\n }\n return acc\n }, null);\n }\n\n var locale = props.locale || i18n.locale;\n var parts = i18n._ntp(props.value, locale, key, options);\n\n var values = parts.map(function (part, index) {\n var obj;\n\n var slot = data.scopedSlots && data.scopedSlots[part.type];\n return slot ? slot(( obj = {}, obj[part.type] = part.value, obj.index = index, obj.parts = parts, obj )) : part.value\n });\n\n var tag = (!!props.tag && props.tag !== true) || props.tag === false ? props.tag : 'span';\n return tag\n ? h(tag, {\n attrs: data.attrs,\n 'class': data['class'],\n staticClass: data.staticClass\n }, values)\n : values\n }\n};\n\n/* */\n\nfunction bind (el, binding, vnode) {\n if (!assert(el, vnode)) { return }\n\n t(el, binding, vnode);\n}\n\nfunction update (el, binding, vnode, oldVNode) {\n if (!assert(el, vnode)) { return }\n\n var i18n = vnode.context.$i18n;\n if (localeEqual(el, vnode) &&\n (looseEqual(binding.value, binding.oldValue) &&\n looseEqual(el._localeMessage, i18n.getLocaleMessage(i18n.locale)))) { return }\n\n t(el, binding, vnode);\n}\n\nfunction unbind (el, binding, vnode, oldVNode) {\n var vm = vnode.context;\n if (!vm) {\n warn('Vue instance does not exists in VNode context');\n return\n }\n\n var i18n = vnode.context.$i18n || {};\n if (!binding.modifiers.preserve && !i18n.preserveDirectiveContent) {\n el.textContent = '';\n }\n el._vt = undefined;\n delete el['_vt'];\n el._locale = undefined;\n delete el['_locale'];\n el._localeMessage = undefined;\n delete el['_localeMessage'];\n}\n\nfunction assert (el, vnode) {\n var vm = vnode.context;\n if (!vm) {\n warn('Vue instance does not exists in VNode context');\n return false\n }\n\n if (!vm.$i18n) {\n warn('VueI18n instance does not exists in Vue instance');\n return false\n }\n\n return true\n}\n\nfunction localeEqual (el, vnode) {\n var vm = vnode.context;\n return el._locale === vm.$i18n.locale\n}\n\nfunction t (el, binding, vnode) {\n var ref$1, ref$2;\n\n var value = binding.value;\n\n var ref = parseValue(value);\n var path = ref.path;\n var locale = ref.locale;\n var args = ref.args;\n var choice = ref.choice;\n if (!path && !locale && !args) {\n warn('value type not supported');\n return\n }\n\n if (!path) {\n warn('`path` is required in v-t directive');\n return\n }\n\n var vm = vnode.context;\n if (choice != null) {\n el._vt = el.textContent = (ref$1 = vm.$i18n).tc.apply(ref$1, [ path, choice ].concat( makeParams(locale, args) ));\n } else {\n el._vt = el.textContent = (ref$2 = vm.$i18n).t.apply(ref$2, [ path ].concat( makeParams(locale, args) ));\n }\n el._locale = vm.$i18n.locale;\n el._localeMessage = vm.$i18n.getLocaleMessage(vm.$i18n.locale);\n}\n\nfunction parseValue (value) {\n var path;\n var locale;\n var args;\n var choice;\n\n if (isString(value)) {\n path = value;\n } else if (isPlainObject(value)) {\n path = value.path;\n locale = value.locale;\n args = value.args;\n choice = value.choice;\n }\n\n return { path: path, locale: locale, args: args, choice: choice }\n}\n\nfunction makeParams (locale, args) {\n var params = [];\n\n locale && params.push(locale);\n if (args && (Array.isArray(args) || isPlainObject(args))) {\n params.push(args);\n }\n\n return params\n}\n\nvar Vue;\n\nfunction install$1 (_Vue, options) {\n if ( options === void 0 ) options = { bridge: false };\n\n /* istanbul ignore if */\n if (process.env.NODE_ENV !== 'production' && install$1.installed && _Vue === Vue) {\n warn('already installed.');\n return\n }\n install$1.installed = true;\n\n Vue = _Vue;\n\n var version = (Vue.version && Number(Vue.version.split('.')[0])) || -1;\n /* istanbul ignore if */\n if (process.env.NODE_ENV !== 'production' && version < 2) {\n warn((\"vue-i18n (\" + (install$1.version) + \") need to use Vue 2.0 or later (Vue: \" + (Vue.version) + \").\"));\n return\n }\n\n extend(Vue);\n Vue.mixin(defineMixin(options.bridge));\n Vue.directive('t', { bind: bind, update: update, unbind: unbind });\n Vue.component(interpolationComponent.name, interpolationComponent);\n Vue.component(numberComponent.name, numberComponent);\n\n // use simple mergeStrategies to prevent i18n instance lose '__proto__'\n var strats = Vue.config.optionMergeStrategies;\n strats.i18n = function (parentVal, childVal) {\n return childVal === undefined\n ? parentVal\n : childVal\n };\n}\n\n/* */\n\nvar BaseFormatter = function BaseFormatter () {\n this._caches = Object.create(null);\n};\n\nBaseFormatter.prototype.interpolate = function interpolate (message, values) {\n if (!values) {\n return [message]\n }\n var tokens = this._caches[message];\n if (!tokens) {\n tokens = parse(message);\n this._caches[message] = tokens;\n }\n return compile(tokens, values)\n};\n\n\n\nvar RE_TOKEN_LIST_VALUE = /^(?:\\d)+/;\nvar RE_TOKEN_NAMED_VALUE = /^(?:\\w)+/;\n\nfunction parse (format) {\n var tokens = [];\n var position = 0;\n\n var text = '';\n while (position < format.length) {\n var char = format[position++];\n if (char === '{') {\n if (text) {\n tokens.push({ type: 'text', value: text });\n }\n\n text = '';\n var sub = '';\n char = format[position++];\n while (char !== undefined && char !== '}') {\n sub += char;\n char = format[position++];\n }\n var isClosed = char === '}';\n\n var type = RE_TOKEN_LIST_VALUE.test(sub)\n ? 'list'\n : isClosed && RE_TOKEN_NAMED_VALUE.test(sub)\n ? 'named'\n : 'unknown';\n tokens.push({ value: sub, type: type });\n } else if (char === '%') {\n // when found rails i18n syntax, skip text capture\n if (format[(position)] !== '{') {\n text += char;\n }\n } else {\n text += char;\n }\n }\n\n text && tokens.push({ type: 'text', value: text });\n\n return tokens\n}\n\nfunction compile (tokens, values) {\n var compiled = [];\n var index = 0;\n\n var mode = Array.isArray(values)\n ? 'list'\n : isObject(values)\n ? 'named'\n : 'unknown';\n if (mode === 'unknown') { return compiled }\n\n while (index < tokens.length) {\n var token = tokens[index];\n switch (token.type) {\n case 'text':\n compiled.push(token.value);\n break\n case 'list':\n compiled.push(values[parseInt(token.value, 10)]);\n break\n case 'named':\n if (mode === 'named') {\n compiled.push((values)[token.value]);\n } else {\n if (process.env.NODE_ENV !== 'production') {\n warn((\"Type of token '\" + (token.type) + \"' and format of value '\" + mode + \"' don't match!\"));\n }\n }\n break\n case 'unknown':\n if (process.env.NODE_ENV !== 'production') {\n warn(\"Detect 'unknown' type of token!\");\n }\n break\n }\n index++;\n }\n\n return compiled\n}\n\n/* */\n\n/**\n * Path parser\n * - Inspired:\n * Vue.js Path parser\n */\n\n// actions\nvar APPEND = 0;\nvar PUSH = 1;\nvar INC_SUB_PATH_DEPTH = 2;\nvar PUSH_SUB_PATH = 3;\n\n// states\nvar BEFORE_PATH = 0;\nvar IN_PATH = 1;\nvar BEFORE_IDENT = 2;\nvar IN_IDENT = 3;\nvar IN_SUB_PATH = 4;\nvar IN_SINGLE_QUOTE = 5;\nvar IN_DOUBLE_QUOTE = 6;\nvar AFTER_PATH = 7;\nvar ERROR = 8;\n\nvar pathStateMachine = [];\n\npathStateMachine[BEFORE_PATH] = {\n 'ws': [BEFORE_PATH],\n 'ident': [IN_IDENT, APPEND],\n '[': [IN_SUB_PATH],\n 'eof': [AFTER_PATH]\n};\n\npathStateMachine[IN_PATH] = {\n 'ws': [IN_PATH],\n '.': [BEFORE_IDENT],\n '[': [IN_SUB_PATH],\n 'eof': [AFTER_PATH]\n};\n\npathStateMachine[BEFORE_IDENT] = {\n 'ws': [BEFORE_IDENT],\n 'ident': [IN_IDENT, APPEND],\n '0': [IN_IDENT, APPEND],\n 'number': [IN_IDENT, APPEND]\n};\n\npathStateMachine[IN_IDENT] = {\n 'ident': [IN_IDENT, APPEND],\n '0': [IN_IDENT, APPEND],\n 'number': [IN_IDENT, APPEND],\n 'ws': [IN_PATH, PUSH],\n '.': [BEFORE_IDENT, PUSH],\n '[': [IN_SUB_PATH, PUSH],\n 'eof': [AFTER_PATH, PUSH]\n};\n\npathStateMachine[IN_SUB_PATH] = {\n \"'\": [IN_SINGLE_QUOTE, APPEND],\n '\"': [IN_DOUBLE_QUOTE, APPEND],\n '[': [IN_SUB_PATH, INC_SUB_PATH_DEPTH],\n ']': [IN_PATH, PUSH_SUB_PATH],\n 'eof': ERROR,\n 'else': [IN_SUB_PATH, APPEND]\n};\n\npathStateMachine[IN_SINGLE_QUOTE] = {\n \"'\": [IN_SUB_PATH, APPEND],\n 'eof': ERROR,\n 'else': [IN_SINGLE_QUOTE, APPEND]\n};\n\npathStateMachine[IN_DOUBLE_QUOTE] = {\n '\"': [IN_SUB_PATH, APPEND],\n 'eof': ERROR,\n 'else': [IN_DOUBLE_QUOTE, APPEND]\n};\n\n/**\n * Check if an expression is a literal value.\n */\n\nvar literalValueRE = /^\\s?(?:true|false|-?[\\d.]+|'[^']*'|\"[^\"]*\")\\s?$/;\nfunction isLiteral (exp) {\n return literalValueRE.test(exp)\n}\n\n/**\n * Strip quotes from a string\n */\n\nfunction stripQuotes (str) {\n var a = str.charCodeAt(0);\n var b = str.charCodeAt(str.length - 1);\n return a === b && (a === 0x22 || a === 0x27)\n ? str.slice(1, -1)\n : str\n}\n\n/**\n * Determine the type of a character in a keypath.\n */\n\nfunction getPathCharType (ch) {\n if (ch === undefined || ch === null) { return 'eof' }\n\n var code = ch.charCodeAt(0);\n\n switch (code) {\n case 0x5B: // [\n case 0x5D: // ]\n case 0x2E: // .\n case 0x22: // \"\n case 0x27: // '\n return ch\n\n case 0x5F: // _\n case 0x24: // $\n case 0x2D: // -\n return 'ident'\n\n case 0x09: // Tab\n case 0x0A: // Newline\n case 0x0D: // Return\n case 0xA0: // No-break space\n case 0xFEFF: // Byte Order Mark\n case 0x2028: // Line Separator\n case 0x2029: // Paragraph Separator\n return 'ws'\n }\n\n return 'ident'\n}\n\n/**\n * Format a subPath, return its plain form if it is\n * a literal string or number. Otherwise prepend the\n * dynamic indicator (*).\n */\n\nfunction formatSubPath (path) {\n var trimmed = path.trim();\n // invalid leading 0\n if (path.charAt(0) === '0' && isNaN(path)) { return false }\n\n return isLiteral(trimmed) ? stripQuotes(trimmed) : '*' + trimmed\n}\n\n/**\n * Parse a string path into an array of segments\n */\n\nfunction parse$1 (path) {\n var keys = [];\n var index = -1;\n var mode = BEFORE_PATH;\n var subPathDepth = 0;\n var c;\n var key;\n var newChar;\n var type;\n var transition;\n var action;\n var typeMap;\n var actions = [];\n\n actions[PUSH] = function () {\n if (key !== undefined) {\n keys.push(key);\n key = undefined;\n }\n };\n\n actions[APPEND] = function () {\n if (key === undefined) {\n key = newChar;\n } else {\n key += newChar;\n }\n };\n\n actions[INC_SUB_PATH_DEPTH] = function () {\n actions[APPEND]();\n subPathDepth++;\n };\n\n actions[PUSH_SUB_PATH] = function () {\n if (subPathDepth > 0) {\n subPathDepth--;\n mode = IN_SUB_PATH;\n actions[APPEND]();\n } else {\n subPathDepth = 0;\n if (key === undefined) { return false }\n key = formatSubPath(key);\n if (key === false) {\n return false\n } else {\n actions[PUSH]();\n }\n }\n };\n\n function maybeUnescapeQuote () {\n var nextChar = path[index + 1];\n if ((mode === IN_SINGLE_QUOTE && nextChar === \"'\") ||\n (mode === IN_DOUBLE_QUOTE && nextChar === '\"')) {\n index++;\n newChar = '\\\\' + nextChar;\n actions[APPEND]();\n return true\n }\n }\n\n while (mode !== null) {\n index++;\n c = path[index];\n\n if (c === '\\\\' && maybeUnescapeQuote()) {\n continue\n }\n\n type = getPathCharType(c);\n typeMap = pathStateMachine[mode];\n transition = typeMap[type] || typeMap['else'] || ERROR;\n\n if (transition === ERROR) {\n return // parse error\n }\n\n mode = transition[0];\n action = actions[transition[1]];\n if (action) {\n newChar = transition[2];\n newChar = newChar === undefined\n ? c\n : newChar;\n if (action() === false) {\n return\n }\n }\n\n if (mode === AFTER_PATH) {\n return keys\n }\n }\n}\n\n\n\n\n\nvar I18nPath = function I18nPath () {\n this._cache = Object.create(null);\n};\n\n/**\n * External parse that check for a cache hit first\n */\nI18nPath.prototype.parsePath = function parsePath (path) {\n var hit = this._cache[path];\n if (!hit) {\n hit = parse$1(path);\n if (hit) {\n this._cache[path] = hit;\n }\n }\n return hit || []\n};\n\n/**\n * Get path value from path string\n */\nI18nPath.prototype.getPathValue = function getPathValue (obj, path) {\n if (!isObject(obj)) { return null }\n\n var paths = this.parsePath(path);\n if (paths.length === 0) {\n return null\n } else {\n var length = paths.length;\n var last = obj;\n var i = 0;\n while (i < length) {\n var value = last[paths[i]];\n if (value === undefined || value === null) {\n return null\n }\n last = value;\n i++;\n }\n\n return last\n }\n};\n\n/* */\n\n\n\nvar htmlTagMatcher = /<\\/?[\\w\\s=\"/.':;#-\\/]+>/;\nvar linkKeyMatcher = /(?:@(?:\\.[a-zA-Z]+)?:(?:[\\w\\-_|./]+|\\([\\w\\-_:|./]+\\)))/g;\nvar linkKeyPrefixMatcher = /^@(?:\\.([a-zA-Z]+))?:/;\nvar bracketsMatcher = /[()]/g;\nvar defaultModifiers = {\n 'upper': function (str) { return str.toLocaleUpperCase(); },\n 'lower': function (str) { return str.toLocaleLowerCase(); },\n 'capitalize': function (str) { return (\"\" + (str.charAt(0).toLocaleUpperCase()) + (str.substr(1))); }\n};\n\nvar defaultFormatter = new BaseFormatter();\n\nvar VueI18n = function VueI18n (options) {\n var this$1$1 = this;\n if ( options === void 0 ) options = {};\n\n // Auto install if it is not done yet and `window` has `Vue`.\n // To allow users to avoid auto-installation in some cases,\n // this code should be placed here. See #290\n /* istanbul ignore if */\n if (!Vue && typeof window !== 'undefined' && window.Vue) {\n install$1(window.Vue);\n }\n\n var locale = options.locale || 'en-US';\n var fallbackLocale = options.fallbackLocale === false\n ? false\n : options.fallbackLocale || 'en-US';\n var messages = options.messages || {};\n var dateTimeFormats = options.dateTimeFormats || options.datetimeFormats || {};\n var numberFormats = options.numberFormats || {};\n\n this._vm = null;\n this._formatter = options.formatter || defaultFormatter;\n this._modifiers = options.modifiers || {};\n this._missing = options.missing || null;\n this._root = options.root || null;\n this._sync = options.sync === undefined ? true : !!options.sync;\n this._fallbackRoot = options.fallbackRoot === undefined\n ? true\n : !!options.fallbackRoot;\n this._fallbackRootWithEmptyString = options.fallbackRootWithEmptyString === undefined\n ? true\n : !!options.fallbackRootWithEmptyString;\n this._formatFallbackMessages = options.formatFallbackMessages === undefined\n ? false\n : !!options.formatFallbackMessages;\n this._silentTranslationWarn = options.silentTranslationWarn === undefined\n ? false\n : options.silentTranslationWarn;\n this._silentFallbackWarn = options.silentFallbackWarn === undefined\n ? false\n : !!options.silentFallbackWarn;\n this._dateTimeFormatters = {};\n this._numberFormatters = {};\n this._path = new I18nPath();\n this._dataListeners = new Set();\n this._componentInstanceCreatedListener = options.componentInstanceCreatedListener || null;\n this._preserveDirectiveContent = options.preserveDirectiveContent === undefined\n ? false\n : !!options.preserveDirectiveContent;\n this.pluralizationRules = options.pluralizationRules || {};\n this._warnHtmlInMessage = options.warnHtmlInMessage || 'off';\n this._postTranslation = options.postTranslation || null;\n this._escapeParameterHtml = options.escapeParameterHtml || false;\n\n if ('__VUE_I18N_BRIDGE__' in options) {\n this.__VUE_I18N_BRIDGE__ = options.__VUE_I18N_BRIDGE__;\n }\n\n /**\n * @param choice {number} a choice index given by the input to $tc: `$tc('path.to.rule', choiceIndex)`\n * @param choicesLength {number} an overall amount of available choices\n * @returns a final choice index\n */\n this.getChoiceIndex = function (choice, choicesLength) {\n var thisPrototype = Object.getPrototypeOf(this$1$1);\n if (thisPrototype && thisPrototype.getChoiceIndex) {\n var prototypeGetChoiceIndex = (thisPrototype.getChoiceIndex);\n return (prototypeGetChoiceIndex).call(this$1$1, choice, choicesLength)\n }\n\n // Default (old) getChoiceIndex implementation - english-compatible\n var defaultImpl = function (_choice, _choicesLength) {\n _choice = Math.abs(_choice);\n\n if (_choicesLength === 2) {\n return _choice\n ? _choice > 1\n ? 1\n : 0\n : 1\n }\n\n return _choice ? Math.min(_choice, 2) : 0\n };\n\n if (this$1$1.locale in this$1$1.pluralizationRules) {\n return this$1$1.pluralizationRules[this$1$1.locale].apply(this$1$1, [choice, choicesLength])\n } else {\n return defaultImpl(choice, choicesLength)\n }\n };\n\n\n this._exist = function (message, key) {\n if (!message || !key) { return false }\n if (!isNull(this$1$1._path.getPathValue(message, key))) { return true }\n // fallback for flat key\n if (message[key]) { return true }\n return false\n };\n\n if (this._warnHtmlInMessage === 'warn' || this._warnHtmlInMessage === 'error') {\n Object.keys(messages).forEach(function (locale) {\n this$1$1._checkLocaleMessage(locale, this$1$1._warnHtmlInMessage, messages[locale]);\n });\n }\n\n this._initVM({\n locale: locale,\n fallbackLocale: fallbackLocale,\n messages: messages,\n dateTimeFormats: dateTimeFormats,\n numberFormats: numberFormats\n });\n};\n\nvar prototypeAccessors = { vm: { configurable: true },messages: { configurable: true },dateTimeFormats: { configurable: true },numberFormats: { configurable: true },availableLocales: { configurable: true },locale: { configurable: true },fallbackLocale: { configurable: true },formatFallbackMessages: { configurable: true },missing: { configurable: true },formatter: { configurable: true },silentTranslationWarn: { configurable: true },silentFallbackWarn: { configurable: true },preserveDirectiveContent: { configurable: true },warnHtmlInMessage: { configurable: true },postTranslation: { configurable: true },sync: { configurable: true } };\n\nVueI18n.prototype._checkLocaleMessage = function _checkLocaleMessage (locale, level, message) {\n var paths = [];\n\n var fn = function (level, locale, message, paths) {\n if (isPlainObject(message)) {\n Object.keys(message).forEach(function (key) {\n var val = message[key];\n if (isPlainObject(val)) {\n paths.push(key);\n paths.push('.');\n fn(level, locale, val, paths);\n paths.pop();\n paths.pop();\n } else {\n paths.push(key);\n fn(level, locale, val, paths);\n paths.pop();\n }\n });\n } else if (isArray(message)) {\n message.forEach(function (item, index) {\n if (isPlainObject(item)) {\n paths.push((\"[\" + index + \"]\"));\n paths.push('.');\n fn(level, locale, item, paths);\n paths.pop();\n paths.pop();\n } else {\n paths.push((\"[\" + index + \"]\"));\n fn(level, locale, item, paths);\n paths.pop();\n }\n });\n } else if (isString(message)) {\n var ret = htmlTagMatcher.test(message);\n if (ret) {\n var msg = \"Detected HTML in message '\" + message + \"' of keypath '\" + (paths.join('')) + \"' at '\" + locale + \"'. Consider component interpolation with '' to avoid XSS. See https://bit.ly/2ZqJzkp\";\n if (level === 'warn') {\n warn(msg);\n } else if (level === 'error') {\n error(msg);\n }\n }\n }\n };\n\n fn(level, locale, message, paths);\n};\n\nVueI18n.prototype._initVM = function _initVM (data) {\n var silent = Vue.config.silent;\n Vue.config.silent = true;\n this._vm = new Vue({ data: data, __VUE18N__INSTANCE__: true });\n Vue.config.silent = silent;\n};\n\nVueI18n.prototype.destroyVM = function destroyVM () {\n this._vm.$destroy();\n};\n\nVueI18n.prototype.subscribeDataChanging = function subscribeDataChanging (vm) {\n this._dataListeners.add(vm);\n};\n\nVueI18n.prototype.unsubscribeDataChanging = function unsubscribeDataChanging (vm) {\n remove(this._dataListeners, vm);\n};\n\nVueI18n.prototype.watchI18nData = function watchI18nData () {\n var this$1$1 = this;\n return this._vm.$watch('$data', function () {\n var listeners = arrayFrom(this$1$1._dataListeners);\n var i = listeners.length;\n while(i--) {\n Vue.nextTick(function () {\n listeners[i] && listeners[i].$forceUpdate();\n });\n }\n }, { deep: true })\n};\n\nVueI18n.prototype.watchLocale = function watchLocale (composer) {\n if (!composer) {\n /* istanbul ignore if */\n if (!this._sync || !this._root) { return null }\n var target = this._vm;\n return this._root.$i18n.vm.$watch('locale', function (val) {\n target.$set(target, 'locale', val);\n target.$forceUpdate();\n }, { immediate: true })\n } else {\n // deal with vue-i18n-bridge\n if (!this.__VUE_I18N_BRIDGE__) { return null }\n var self = this;\n var target$1 = this._vm;\n return this.vm.$watch('locale', function (val) {\n target$1.$set(target$1, 'locale', val);\n if (self.__VUE_I18N_BRIDGE__ && composer) {\n composer.locale.value = val;\n }\n target$1.$forceUpdate();\n }, { immediate: true })\n }\n};\n\nVueI18n.prototype.onComponentInstanceCreated = function onComponentInstanceCreated (newI18n) {\n if (this._componentInstanceCreatedListener) {\n this._componentInstanceCreatedListener(newI18n, this);\n }\n};\n\nprototypeAccessors.vm.get = function () { return this._vm };\n\nprototypeAccessors.messages.get = function () { return looseClone(this._getMessages()) };\nprototypeAccessors.dateTimeFormats.get = function () { return looseClone(this._getDateTimeFormats()) };\nprototypeAccessors.numberFormats.get = function () { return looseClone(this._getNumberFormats()) };\nprototypeAccessors.availableLocales.get = function () { return Object.keys(this.messages).sort() };\n\nprototypeAccessors.locale.get = function () { return this._vm.locale };\nprototypeAccessors.locale.set = function (locale) {\n this._vm.$set(this._vm, 'locale', locale);\n};\n\nprototypeAccessors.fallbackLocale.get = function () { return this._vm.fallbackLocale };\nprototypeAccessors.fallbackLocale.set = function (locale) {\n this._localeChainCache = {};\n this._vm.$set(this._vm, 'fallbackLocale', locale);\n};\n\nprototypeAccessors.formatFallbackMessages.get = function () { return this._formatFallbackMessages };\nprototypeAccessors.formatFallbackMessages.set = function (fallback) { this._formatFallbackMessages = fallback; };\n\nprototypeAccessors.missing.get = function () { return this._missing };\nprototypeAccessors.missing.set = function (handler) { this._missing = handler; };\n\nprototypeAccessors.formatter.get = function () { return this._formatter };\nprototypeAccessors.formatter.set = function (formatter) { this._formatter = formatter; };\n\nprototypeAccessors.silentTranslationWarn.get = function () { return this._silentTranslationWarn };\nprototypeAccessors.silentTranslationWarn.set = function (silent) { this._silentTranslationWarn = silent; };\n\nprototypeAccessors.silentFallbackWarn.get = function () { return this._silentFallbackWarn };\nprototypeAccessors.silentFallbackWarn.set = function (silent) { this._silentFallbackWarn = silent; };\n\nprototypeAccessors.preserveDirectiveContent.get = function () { return this._preserveDirectiveContent };\nprototypeAccessors.preserveDirectiveContent.set = function (preserve) { this._preserveDirectiveContent = preserve; };\n\nprototypeAccessors.warnHtmlInMessage.get = function () { return this._warnHtmlInMessage };\nprototypeAccessors.warnHtmlInMessage.set = function (level) {\n var this$1$1 = this;\n\n var orgLevel = this._warnHtmlInMessage;\n this._warnHtmlInMessage = level;\n if (orgLevel !== level && (level === 'warn' || level === 'error')) {\n var messages = this._getMessages();\n Object.keys(messages).forEach(function (locale) {\n this$1$1._checkLocaleMessage(locale, this$1$1._warnHtmlInMessage, messages[locale]);\n });\n }\n};\n\nprototypeAccessors.postTranslation.get = function () { return this._postTranslation };\nprototypeAccessors.postTranslation.set = function (handler) { this._postTranslation = handler; };\n\nprototypeAccessors.sync.get = function () { return this._sync };\nprototypeAccessors.sync.set = function (val) { this._sync = val; };\n\nVueI18n.prototype._getMessages = function _getMessages () { return this._vm.messages };\nVueI18n.prototype._getDateTimeFormats = function _getDateTimeFormats () { return this._vm.dateTimeFormats };\nVueI18n.prototype._getNumberFormats = function _getNumberFormats () { return this._vm.numberFormats };\n\nVueI18n.prototype._warnDefault = function _warnDefault (locale, key, result, vm, values, interpolateMode) {\n if (!isNull(result)) { return result }\n if (this._missing) {\n var missingRet = this._missing.apply(null, [locale, key, vm, values]);\n if (isString(missingRet)) {\n return missingRet\n }\n } else {\n if (process.env.NODE_ENV !== 'production' && !this._isSilentTranslationWarn(key)) {\n warn(\n \"Cannot translate the value of keypath '\" + key + \"'. \" +\n 'Use the value of keypath as default.'\n );\n }\n }\n\n if (this._formatFallbackMessages) {\n var parsedArgs = parseArgs.apply(void 0, values);\n return this._render(key, interpolateMode, parsedArgs.params, key)\n } else {\n return key\n }\n};\n\nVueI18n.prototype._isFallbackRoot = function _isFallbackRoot (val) {\n return (this._fallbackRootWithEmptyString? !val : isNull(val)) && !isNull(this._root) && this._fallbackRoot\n};\n\nVueI18n.prototype._isSilentFallbackWarn = function _isSilentFallbackWarn (key) {\n return this._silentFallbackWarn instanceof RegExp\n ? this._silentFallbackWarn.test(key)\n : this._silentFallbackWarn\n};\n\nVueI18n.prototype._isSilentFallback = function _isSilentFallback (locale, key) {\n return this._isSilentFallbackWarn(key) && (this._isFallbackRoot() || locale !== this.fallbackLocale)\n};\n\nVueI18n.prototype._isSilentTranslationWarn = function _isSilentTranslationWarn (key) {\n return this._silentTranslationWarn instanceof RegExp\n ? this._silentTranslationWarn.test(key)\n : this._silentTranslationWarn\n};\n\nVueI18n.prototype._interpolate = function _interpolate (\n locale,\n message,\n key,\n host,\n interpolateMode,\n values,\n visitedLinkStack\n) {\n if (!message) { return null }\n\n var pathRet = this._path.getPathValue(message, key);\n if (isArray(pathRet) || isPlainObject(pathRet)) { return pathRet }\n\n var ret;\n if (isNull(pathRet)) {\n /* istanbul ignore else */\n if (isPlainObject(message)) {\n ret = message[key];\n if (!(isString(ret) || isFunction(ret))) {\n if (process.env.NODE_ENV !== 'production' && !this._isSilentTranslationWarn(key) && !this._isSilentFallback(locale, key)) {\n warn((\"Value of key '\" + key + \"' is not a string or function !\"));\n }\n return null\n }\n } else {\n return null\n }\n } else {\n /* istanbul ignore else */\n if (isString(pathRet) || isFunction(pathRet)) {\n ret = pathRet;\n } else {\n if (process.env.NODE_ENV !== 'production' && !this._isSilentTranslationWarn(key) && !this._isSilentFallback(locale, key)) {\n warn((\"Value of key '\" + key + \"' is not a string or function!\"));\n }\n return null\n }\n }\n\n // Check for the existence of links within the translated string\n if (isString(ret) && (ret.indexOf('@:') >= 0 || ret.indexOf('@.') >= 0)) {\n ret = this._link(locale, message, ret, host, 'raw', values, visitedLinkStack);\n }\n\n return this._render(ret, interpolateMode, values, key)\n};\n\nVueI18n.prototype._link = function _link (\n locale,\n message,\n str,\n host,\n interpolateMode,\n values,\n visitedLinkStack\n) {\n var ret = str;\n\n // Match all the links within the local\n // We are going to replace each of\n // them with its translation\n var matches = ret.match(linkKeyMatcher);\n\n // eslint-disable-next-line no-autofix/prefer-const\n for (var idx in matches) {\n // ie compatible: filter custom array\n // prototype method\n if (!matches.hasOwnProperty(idx)) {\n continue\n }\n var link = matches[idx];\n var linkKeyPrefixMatches = link.match(linkKeyPrefixMatcher);\n var linkPrefix = linkKeyPrefixMatches[0];\n var formatterName = linkKeyPrefixMatches[1];\n\n // Remove the leading @:, @.case: and the brackets\n var linkPlaceholder = link.replace(linkPrefix, '').replace(bracketsMatcher, '');\n\n if (includes(visitedLinkStack, linkPlaceholder)) {\n if (process.env.NODE_ENV !== 'production') {\n warn((\"Circular reference found. \\\"\" + link + \"\\\" is already visited in the chain of \" + (visitedLinkStack.reverse().join(' <- '))));\n }\n return ret\n }\n visitedLinkStack.push(linkPlaceholder);\n\n // Translate the link\n var translated = this._interpolate(\n locale, message, linkPlaceholder, host,\n interpolateMode === 'raw' ? 'string' : interpolateMode,\n interpolateMode === 'raw' ? undefined : values,\n visitedLinkStack\n );\n\n if (this._isFallbackRoot(translated)) {\n if (process.env.NODE_ENV !== 'production' && !this._isSilentTranslationWarn(linkPlaceholder)) {\n warn((\"Fall back to translate the link placeholder '\" + linkPlaceholder + \"' with root locale.\"));\n }\n /* istanbul ignore if */\n if (!this._root) { throw Error('unexpected error') }\n var root = this._root.$i18n;\n translated = root._translate(\n root._getMessages(), root.locale, root.fallbackLocale,\n linkPlaceholder, host, interpolateMode, values\n );\n }\n translated = this._warnDefault(\n locale, linkPlaceholder, translated, host,\n isArray(values) ? values : [values],\n interpolateMode\n );\n\n if (this._modifiers.hasOwnProperty(formatterName)) {\n translated = this._modifiers[formatterName](translated);\n } else if (defaultModifiers.hasOwnProperty(formatterName)) {\n translated = defaultModifiers[formatterName](translated);\n }\n\n visitedLinkStack.pop();\n\n // Replace the link with the translated\n ret = !translated ? ret : ret.replace(link, translated);\n }\n\n return ret\n};\n\nVueI18n.prototype._createMessageContext = function _createMessageContext (values, formatter, path, interpolateMode) {\n var this$1$1 = this;\n\n var _list = isArray(values) ? values : [];\n var _named = isObject(values) ? values : {};\n var list = function (index) { return _list[index]; };\n var named = function (key) { return _named[key]; };\n var messages = this._getMessages();\n var locale = this.locale;\n\n return {\n list: list,\n named: named,\n values: values,\n formatter: formatter,\n path: path,\n messages: messages,\n locale: locale,\n linked: function (linkedKey) { return this$1$1._interpolate(locale, messages[locale] || {}, linkedKey, null, interpolateMode, undefined, [linkedKey]); }\n }\n};\n\nVueI18n.prototype._render = function _render (message, interpolateMode, values, path) {\n if (isFunction(message)) {\n return message(\n this._createMessageContext(values, this._formatter || defaultFormatter, path, interpolateMode)\n )\n }\n\n var ret = this._formatter.interpolate(message, values, path);\n\n // If the custom formatter refuses to work - apply the default one\n if (!ret) {\n ret = defaultFormatter.interpolate(message, values, path);\n }\n\n // if interpolateMode is **not** 'string' ('row'),\n // return the compiled data (e.g. ['foo', VNode, 'bar']) with formatter\n return interpolateMode === 'string' && !isString(ret) ? ret.join('') : ret\n};\n\nVueI18n.prototype._appendItemToChain = function _appendItemToChain (chain, item, blocks) {\n var follow = false;\n if (!includes(chain, item)) {\n follow = true;\n if (item) {\n follow = item[item.length - 1] !== '!';\n item = item.replace(/!/g, '');\n chain.push(item);\n if (blocks && blocks[item]) {\n follow = blocks[item];\n }\n }\n }\n return follow\n};\n\nVueI18n.prototype._appendLocaleToChain = function _appendLocaleToChain (chain, locale, blocks) {\n var follow;\n var tokens = locale.split('-');\n do {\n var item = tokens.join('-');\n follow = this._appendItemToChain(chain, item, blocks);\n tokens.splice(-1, 1);\n } while (tokens.length && (follow === true))\n return follow\n};\n\nVueI18n.prototype._appendBlockToChain = function _appendBlockToChain (chain, block, blocks) {\n var follow = true;\n for (var i = 0; (i < block.length) && (isBoolean(follow)); i++) {\n var locale = block[i];\n if (isString(locale)) {\n follow = this._appendLocaleToChain(chain, locale, blocks);\n }\n }\n return follow\n};\n\nVueI18n.prototype._getLocaleChain = function _getLocaleChain (start, fallbackLocale) {\n if (start === '') { return [] }\n\n if (!this._localeChainCache) {\n this._localeChainCache = {};\n }\n\n var chain = this._localeChainCache[start];\n if (!chain) {\n if (!fallbackLocale) {\n fallbackLocale = this.fallbackLocale;\n }\n chain = [];\n\n // first block defined by start\n var block = [start];\n\n // while any intervening block found\n while (isArray(block)) {\n block = this._appendBlockToChain(\n chain,\n block,\n fallbackLocale\n );\n }\n\n // last block defined by default\n var defaults;\n if (isArray(fallbackLocale)) {\n defaults = fallbackLocale;\n } else if (isObject(fallbackLocale)) {\n /* $FlowFixMe */\n if (fallbackLocale['default']) {\n defaults = fallbackLocale['default'];\n } else {\n defaults = null;\n }\n } else {\n defaults = fallbackLocale;\n }\n\n // convert defaults to array\n if (isString(defaults)) {\n block = [defaults];\n } else {\n block = defaults;\n }\n if (block) {\n this._appendBlockToChain(\n chain,\n block,\n null\n );\n }\n this._localeChainCache[start] = chain;\n }\n return chain\n};\n\nVueI18n.prototype._translate = function _translate (\n messages,\n locale,\n fallback,\n key,\n host,\n interpolateMode,\n args\n) {\n var chain = this._getLocaleChain(locale, fallback);\n var res;\n for (var i = 0; i < chain.length; i++) {\n var step = chain[i];\n res =\n this._interpolate(step, messages[step], key, host, interpolateMode, args, [key]);\n if (!isNull(res)) {\n if (step !== locale && process.env.NODE_ENV !== 'production' && !this._isSilentTranslationWarn(key) && !this._isSilentFallbackWarn(key)) {\n warn((\"Fall back to translate the keypath '\" + key + \"' with '\" + step + \"' locale.\"));\n }\n return res\n }\n }\n return null\n};\n\nVueI18n.prototype._t = function _t (key, _locale, messages, host) {\n var ref;\n\n var values = [], len = arguments.length - 4;\n while ( len-- > 0 ) values[ len ] = arguments[ len + 4 ];\n if (!key) { return '' }\n\n var parsedArgs = parseArgs.apply(void 0, values);\n if(this._escapeParameterHtml) {\n parsedArgs.params = escapeParams(parsedArgs.params);\n }\n\n var locale = parsedArgs.locale || _locale;\n\n var ret = this._translate(\n messages, locale, this.fallbackLocale, key,\n host, 'string', parsedArgs.params\n );\n if (this._isFallbackRoot(ret)) {\n if (process.env.NODE_ENV !== 'production' && !this._isSilentTranslationWarn(key) && !this._isSilentFallbackWarn(key)) {\n warn((\"Fall back to translate the keypath '\" + key + \"' with root locale.\"));\n }\n /* istanbul ignore if */\n if (!this._root) { throw Error('unexpected error') }\n return (ref = this._root).$t.apply(ref, [ key ].concat( values ))\n } else {\n ret = this._warnDefault(locale, key, ret, host, values, 'string');\n if (this._postTranslation && ret !== null && ret !== undefined) {\n ret = this._postTranslation(ret, key);\n }\n return ret\n }\n};\n\nVueI18n.prototype.t = function t (key) {\n var ref;\n\n var values = [], len = arguments.length - 1;\n while ( len-- > 0 ) values[ len ] = arguments[ len + 1 ];\n return (ref = this)._t.apply(ref, [ key, this.locale, this._getMessages(), null ].concat( values ))\n};\n\nVueI18n.prototype._i = function _i (key, locale, messages, host, values) {\n var ret =\n this._translate(messages, locale, this.fallbackLocale, key, host, 'raw', values);\n if (this._isFallbackRoot(ret)) {\n if (process.env.NODE_ENV !== 'production' && !this._isSilentTranslationWarn(key)) {\n warn((\"Fall back to interpolate the keypath '\" + key + \"' with root locale.\"));\n }\n if (!this._root) { throw Error('unexpected error') }\n return this._root.$i18n.i(key, locale, values)\n } else {\n return this._warnDefault(locale, key, ret, host, [values], 'raw')\n }\n};\n\nVueI18n.prototype.i = function i (key, locale, values) {\n /* istanbul ignore if */\n if (!key) { return '' }\n\n if (!isString(locale)) {\n locale = this.locale;\n }\n\n return this._i(key, locale, this._getMessages(), null, values)\n};\n\nVueI18n.prototype._tc = function _tc (\n key,\n _locale,\n messages,\n host,\n choice\n) {\n var ref;\n\n var values = [], len = arguments.length - 5;\n while ( len-- > 0 ) values[ len ] = arguments[ len + 5 ];\n if (!key) { return '' }\n if (choice === undefined) {\n choice = 1;\n }\n\n var predefined = { 'count': choice, 'n': choice };\n var parsedArgs = parseArgs.apply(void 0, values);\n parsedArgs.params = Object.assign(predefined, parsedArgs.params);\n values = parsedArgs.locale === null ? [parsedArgs.params] : [parsedArgs.locale, parsedArgs.params];\n return this.fetchChoice((ref = this)._t.apply(ref, [ key, _locale, messages, host ].concat( values )), choice)\n};\n\nVueI18n.prototype.fetchChoice = function fetchChoice (message, choice) {\n /* istanbul ignore if */\n if (!message || !isString(message)) { return null }\n var choices = message.split('|');\n\n choice = this.getChoiceIndex(choice, choices.length);\n if (!choices[choice]) { return message }\n return choices[choice].trim()\n};\n\nVueI18n.prototype.tc = function tc (key, choice) {\n var ref;\n\n var values = [], len = arguments.length - 2;\n while ( len-- > 0 ) values[ len ] = arguments[ len + 2 ];\n return (ref = this)._tc.apply(ref, [ key, this.locale, this._getMessages(), null, choice ].concat( values ))\n};\n\nVueI18n.prototype._te = function _te (key, locale, messages) {\n var args = [], len = arguments.length - 3;\n while ( len-- > 0 ) args[ len ] = arguments[ len + 3 ];\n\n var _locale = parseArgs.apply(void 0, args).locale || locale;\n return this._exist(messages[_locale], key)\n};\n\nVueI18n.prototype.te = function te (key, locale) {\n return this._te(key, this.locale, this._getMessages(), locale)\n};\n\nVueI18n.prototype.getLocaleMessage = function getLocaleMessage (locale) {\n return looseClone(this._vm.messages[locale] || {})\n};\n\nVueI18n.prototype.setLocaleMessage = function setLocaleMessage (locale, message) {\n if (this._warnHtmlInMessage === 'warn' || this._warnHtmlInMessage === 'error') {\n this._checkLocaleMessage(locale, this._warnHtmlInMessage, message);\n }\n this._vm.$set(this._vm.messages, locale, message);\n};\n\nVueI18n.prototype.mergeLocaleMessage = function mergeLocaleMessage (locale, message) {\n if (this._warnHtmlInMessage === 'warn' || this._warnHtmlInMessage === 'error') {\n this._checkLocaleMessage(locale, this._warnHtmlInMessage, message);\n }\n this._vm.$set(this._vm.messages, locale, merge(\n typeof this._vm.messages[locale] !== 'undefined' && Object.keys(this._vm.messages[locale]).length\n ? Object.assign({}, this._vm.messages[locale])\n : {},\n message\n ));\n};\n\nVueI18n.prototype.getDateTimeFormat = function getDateTimeFormat (locale) {\n return looseClone(this._vm.dateTimeFormats[locale] || {})\n};\n\nVueI18n.prototype.setDateTimeFormat = function setDateTimeFormat (locale, format) {\n this._vm.$set(this._vm.dateTimeFormats, locale, format);\n this._clearDateTimeFormat(locale, format);\n};\n\nVueI18n.prototype.mergeDateTimeFormat = function mergeDateTimeFormat (locale, format) {\n this._vm.$set(this._vm.dateTimeFormats, locale, merge(this._vm.dateTimeFormats[locale] || {}, format));\n this._clearDateTimeFormat(locale, format);\n};\n\nVueI18n.prototype._clearDateTimeFormat = function _clearDateTimeFormat (locale, format) {\n // eslint-disable-next-line no-autofix/prefer-const\n for (var key in format) {\n var id = locale + \"__\" + key;\n\n if (!this._dateTimeFormatters.hasOwnProperty(id)) {\n continue\n }\n\n delete this._dateTimeFormatters[id];\n }\n};\n\nVueI18n.prototype._localizeDateTime = function _localizeDateTime (\n value,\n locale,\n fallback,\n dateTimeFormats,\n key,\n options\n) {\n var _locale = locale;\n var formats = dateTimeFormats[_locale];\n\n var chain = this._getLocaleChain(locale, fallback);\n for (var i = 0; i < chain.length; i++) {\n var current = _locale;\n var step = chain[i];\n formats = dateTimeFormats[step];\n _locale = step;\n // fallback locale\n if (isNull(formats) || isNull(formats[key])) {\n if (step !== locale && process.env.NODE_ENV !== 'production' && !this._isSilentTranslationWarn(key) && !this._isSilentFallbackWarn(key)) {\n warn((\"Fall back to '\" + step + \"' datetime formats from '\" + current + \"' datetime formats.\"));\n }\n } else {\n break\n }\n }\n\n if (isNull(formats) || isNull(formats[key])) {\n return null\n } else {\n var format = formats[key];\n\n var formatter;\n if (options) {\n formatter = new Intl.DateTimeFormat(_locale, Object.assign({}, format, options));\n } else {\n var id = _locale + \"__\" + key;\n formatter = this._dateTimeFormatters[id];\n if (!formatter) {\n formatter = this._dateTimeFormatters[id] = new Intl.DateTimeFormat(_locale, format);\n }\n }\n\n return formatter.format(value)\n }\n};\n\nVueI18n.prototype._d = function _d (value, locale, key, options) {\n /* istanbul ignore if */\n if (process.env.NODE_ENV !== 'production' && !VueI18n.availabilities.dateTimeFormat) {\n warn('Cannot format a Date value due to not supported Intl.DateTimeFormat.');\n return ''\n }\n\n if (!key) {\n var dtf = !options ? new Intl.DateTimeFormat(locale) : new Intl.DateTimeFormat(locale, options);\n return dtf.format(value)\n }\n\n var ret =\n this._localizeDateTime(value, locale, this.fallbackLocale, this._getDateTimeFormats(), key, options);\n if (this._isFallbackRoot(ret)) {\n if (process.env.NODE_ENV !== 'production' && !this._isSilentTranslationWarn(key) && !this._isSilentFallbackWarn(key)) {\n warn((\"Fall back to datetime localization of root: key '\" + key + \"'.\"));\n }\n /* istanbul ignore if */\n if (!this._root) { throw Error('unexpected error') }\n return this._root.$i18n.d(value, key, locale)\n } else {\n return ret || ''\n }\n};\n\nVueI18n.prototype.d = function d (value) {\n var args = [], len = arguments.length - 1;\n while ( len-- > 0 ) args[ len ] = arguments[ len + 1 ];\n\n var locale = this.locale;\n var key = null;\n var options = null;\n\n if (args.length === 1) {\n if (isString(args[0])) {\n key = args[0];\n } else if (isObject(args[0])) {\n if (args[0].locale) {\n locale = args[0].locale;\n }\n if (args[0].key) {\n key = args[0].key;\n }\n }\n\n options = Object.keys(args[0]).reduce(function (acc, key) {\n var obj;\n\n if (includes(dateTimeFormatKeys, key)) {\n return Object.assign({}, acc, ( obj = {}, obj[key] = args[0][key], obj ))\n }\n return acc\n }, null);\n\n } else if (args.length === 2) {\n if (isString(args[0])) {\n key = args[0];\n }\n if (isString(args[1])) {\n locale = args[1];\n }\n }\n\n return this._d(value, locale, key, options)\n};\n\nVueI18n.prototype.getNumberFormat = function getNumberFormat (locale) {\n return looseClone(this._vm.numberFormats[locale] || {})\n};\n\nVueI18n.prototype.setNumberFormat = function setNumberFormat (locale, format) {\n this._vm.$set(this._vm.numberFormats, locale, format);\n this._clearNumberFormat(locale, format);\n};\n\nVueI18n.prototype.mergeNumberFormat = function mergeNumberFormat (locale, format) {\n this._vm.$set(this._vm.numberFormats, locale, merge(this._vm.numberFormats[locale] || {}, format));\n this._clearNumberFormat(locale, format);\n};\n\nVueI18n.prototype._clearNumberFormat = function _clearNumberFormat (locale, format) {\n // eslint-disable-next-line no-autofix/prefer-const\n for (var key in format) {\n var id = locale + \"__\" + key;\n\n if (!this._numberFormatters.hasOwnProperty(id)) {\n continue\n }\n\n delete this._numberFormatters[id];\n }\n};\n\nVueI18n.prototype._getNumberFormatter = function _getNumberFormatter (\n value,\n locale,\n fallback,\n numberFormats,\n key,\n options\n) {\n var _locale = locale;\n var formats = numberFormats[_locale];\n\n var chain = this._getLocaleChain(locale, fallback);\n for (var i = 0; i < chain.length; i++) {\n var current = _locale;\n var step = chain[i];\n formats = numberFormats[step];\n _locale = step;\n // fallback locale\n if (isNull(formats) || isNull(formats[key])) {\n if (step !== locale && process.env.NODE_ENV !== 'production' && !this._isSilentTranslationWarn(key) && !this._isSilentFallbackWarn(key)) {\n warn((\"Fall back to '\" + step + \"' number formats from '\" + current + \"' number formats.\"));\n }\n } else {\n break\n }\n }\n\n if (isNull(formats) || isNull(formats[key])) {\n return null\n } else {\n var format = formats[key];\n\n var formatter;\n if (options) {\n // If options specified - create one time number formatter\n formatter = new Intl.NumberFormat(_locale, Object.assign({}, format, options));\n } else {\n var id = _locale + \"__\" + key;\n formatter = this._numberFormatters[id];\n if (!formatter) {\n formatter = this._numberFormatters[id] = new Intl.NumberFormat(_locale, format);\n }\n }\n return formatter\n }\n};\n\nVueI18n.prototype._n = function _n (value, locale, key, options) {\n /* istanbul ignore if */\n if (!VueI18n.availabilities.numberFormat) {\n if (process.env.NODE_ENV !== 'production') {\n warn('Cannot format a Number value due to not supported Intl.NumberFormat.');\n }\n return ''\n }\n\n if (!key) {\n var nf = !options ? new Intl.NumberFormat(locale) : new Intl.NumberFormat(locale, options);\n return nf.format(value)\n }\n\n var formatter = this._getNumberFormatter(value, locale, this.fallbackLocale, this._getNumberFormats(), key, options);\n var ret = formatter && formatter.format(value);\n if (this._isFallbackRoot(ret)) {\n if (process.env.NODE_ENV !== 'production' && !this._isSilentTranslationWarn(key) && !this._isSilentFallbackWarn(key)) {\n warn((\"Fall back to number localization of root: key '\" + key + \"'.\"));\n }\n /* istanbul ignore if */\n if (!this._root) { throw Error('unexpected error') }\n return this._root.$i18n.n(value, Object.assign({}, { key: key, locale: locale }, options))\n } else {\n return ret || ''\n }\n};\n\nVueI18n.prototype.n = function n (value) {\n var args = [], len = arguments.length - 1;\n while ( len-- > 0 ) args[ len ] = arguments[ len + 1 ];\n\n var locale = this.locale;\n var key = null;\n var options = null;\n\n if (args.length === 1) {\n if (isString(args[0])) {\n key = args[0];\n } else if (isObject(args[0])) {\n if (args[0].locale) {\n locale = args[0].locale;\n }\n if (args[0].key) {\n key = args[0].key;\n }\n\n // Filter out number format options only\n options = Object.keys(args[0]).reduce(function (acc, key) {\n var obj;\n\n if (includes(numberFormatKeys, key)) {\n return Object.assign({}, acc, ( obj = {}, obj[key] = args[0][key], obj ))\n }\n return acc\n }, null);\n }\n } else if (args.length === 2) {\n if (isString(args[0])) {\n key = args[0];\n }\n if (isString(args[1])) {\n locale = args[1];\n }\n }\n\n return this._n(value, locale, key, options)\n};\n\nVueI18n.prototype._ntp = function _ntp (value, locale, key, options) {\n /* istanbul ignore if */\n if (!VueI18n.availabilities.numberFormat) {\n if (process.env.NODE_ENV !== 'production') {\n warn('Cannot format to parts a Number value due to not supported Intl.NumberFormat.');\n }\n return []\n }\n\n if (!key) {\n var nf = !options ? new Intl.NumberFormat(locale) : new Intl.NumberFormat(locale, options);\n return nf.formatToParts(value)\n }\n\n var formatter = this._getNumberFormatter(value, locale, this.fallbackLocale, this._getNumberFormats(), key, options);\n var ret = formatter && formatter.formatToParts(value);\n if (this._isFallbackRoot(ret)) {\n if (process.env.NODE_ENV !== 'production' && !this._isSilentTranslationWarn(key)) {\n warn((\"Fall back to format number to parts of root: key '\" + key + \"' .\"));\n }\n /* istanbul ignore if */\n if (!this._root) { throw Error('unexpected error') }\n return this._root.$i18n._ntp(value, locale, key, options)\n } else {\n return ret || []\n }\n};\n\nObject.defineProperties( VueI18n.prototype, prototypeAccessors );\n\nvar availabilities;\n// $FlowFixMe\nObject.defineProperty(VueI18n, 'availabilities', {\n get: function get () {\n if (!availabilities) {\n var intlDefined = typeof Intl !== 'undefined';\n availabilities = {\n dateTimeFormat: intlDefined && typeof Intl.DateTimeFormat !== 'undefined',\n numberFormat: intlDefined && typeof Intl.NumberFormat !== 'undefined'\n };\n }\n\n return availabilities\n }\n});\n\nVueI18n.install = install$1;\nVueI18n.version = '8.28.2';\n\nvar VueI18n$1 = VueI18n;\n\nvar common = {\r\n nl: {\r\n cancel: 'Annuleren',\r\n close: 'Sluiten',\r\n compose: 'Opstellen',\r\n complete: 'Afronden',\r\n continue: 'Doorgaan',\r\n days: '{count} dag | {count} dagen',\r\n edit: 'Wijzigen',\r\n implement: 'Doorvoeren',\r\n leavePage: 'Pagina verlaten',\r\n nextStep: 'Volgende',\r\n no: 'Nee',\r\n ok: 'Ok',\r\n previousStep: 'Vorige',\r\n printOverview: 'Print overzicht',\r\n print: 'Printen',\r\n requiredField: 'Verplicht veld',\r\n results: 'resultaat | resultaten',\r\n save: 'Opslaan',\r\n submit: 'Indienen',\r\n submitted: 'Ingediend',\r\n success: 'Succes',\r\n unknown: 'Onbekend',\r\n verification: 'Controle',\r\n yes: 'Ja',\r\n },\r\n};\n\nvar errorMessages = {\r\n nl: {\r\n emptyField: 'Dit veld is nog niet ingevuld.',\r\n emptyDate: 'U heeft geen datum ingevuld. Vul een datum in.',\r\n emptyFiles: 'U heeft nog geen bestand gekozen om te uploaden.',\r\n invalid: 'De ingevoerde waarde is niet correct.',\r\n invalidDate: 'U heeft een ongeldige datum ingevuld.',\r\n maxDate: 'De ingevoerde datum mag niet na {maxDate} liggen.',\r\n minDate: 'De ingevoerde datum mag niet voor {minDate} liggen.',\r\n chooseOption: 'U heeft nog geen keuze gemaakt.',\r\n noMatch: 'U heeft een verkeerde waarde ingevoerd.',\r\n maxValue: 'De ingevoerde waarde mag niet groter dan {maxValue} zijn.',\r\n minValue: 'De ingevoerde waarde mag niet kleiner dan {minValue} zijn.',\r\n invalidNumber: 'U heeft een verkeerd getal ingevoerd.',\r\n invalidInteger: 'U heeft een verkeerd getal ingevoerd. Vul een geheel getal in.',\r\n positiveInteger: 'U heeft een verkeerd getal ingevoerd. Vul een geheel getal in groter dan of gelijk aan 0.',\r\n invalidRange: 'Waarde moet tussen {minValue} en {maxValue} liggen.',\r\n invalidRangeWithStep: 'Waarde moet tussen {minValue} en {maxValue} liggen en is een veelvoud van {step}.',\r\n notInCollection: 'U heeft een verkeerde waarde ingevoerd. Vul een van de volgende waardes in {values}.',\r\n },\r\n};\n\nconst dateTimeFormats = {\r\n long: { year: 'numeric', month: 'long', day: 'numeric' },\r\n short: { year: 'numeric', month: '2-digit', day: '2-digit' },\r\n dateTime: { year: 'numeric', month: '2-digit', day: '2-digit', hour: '2-digit', minute: '2-digit', hour12: false },\r\n dateTimeLong: { year: 'numeric', month: 'long', day: 'numeric', hour: '2-digit', minute: '2-digit', hour12: false },\r\n};\r\nfunction buildI18n(settings) {\r\n return {\r\n locale: 'nl',\r\n fallbackLocale: 'nl',\r\n silentFallbackWarn: true,\r\n numberFormats: {\r\n nl: {\r\n currency: {\r\n style: 'currency', currency: 'EUR', currencyDisplay: 'symbol',\r\n },\r\n },\r\n },\r\n dateTimeFormats: {\r\n nl: Object.assign({}, dateTimeFormats),\r\n },\r\n messages: {\r\n nl: Object.assign(Object.assign(Object.assign({}, (settings.common ? settings.common.nl : {})), common.nl), { errorMessages: Object.assign({}, errorMessages.nl) }),\r\n },\r\n };\r\n}\r\nfunction getI18n(VueI18nInstance, settings = {}, fillGlobalI18n) {\r\n const i18n = buildI18n(settings);\r\n if (fillGlobalI18n) {\r\n fillGlobalI18n(i18n);\r\n }\r\n return overrideVueI18nD(new VueI18nInstance(i18n));\r\n}\n\nfunction _typeof(obj) {\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function (obj) {\n return typeof obj;\n };\n } else {\n _typeof = function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n\n return _typeof(obj);\n}\n\nfunction _toConsumableArray(arr) {\n return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread();\n}\n\nfunction _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) {\n for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) arr2[i] = arr[i];\n\n return arr2;\n }\n}\n\nfunction _iterableToArray(iter) {\n if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === \"[object Arguments]\") return Array.from(iter);\n}\n\nfunction _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance\");\n}\n\nvar inBrowser = typeof window !== 'undefined';\nfunction freeze(item) {\n if (Array.isArray(item) || _typeof(item) === 'object') {\n return Object.freeze(item);\n }\n\n return item;\n}\nfunction combinePassengers(transports) {\n var slotProps = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n return transports.reduce(function (passengers, transport) {\n var temp = transport.passengers[0];\n var newPassengers = typeof temp === 'function' ? temp(slotProps) : transport.passengers;\n return passengers.concat(newPassengers);\n }, []);\n}\nfunction stableSort(array, compareFn) {\n return array.map(function (v, idx) {\n return [idx, v];\n }).sort(function (a, b) {\n return compareFn(a[1], b[1]) || a[0] - b[0];\n }).map(function (c) {\n return c[1];\n });\n}\nfunction pick(obj, keys) {\n return keys.reduce(function (acc, key) {\n if (obj.hasOwnProperty(key)) {\n acc[key] = obj[key];\n }\n\n return acc;\n }, {});\n}\n\nvar transports = {};\nvar targets = {};\nvar sources = {};\nvar Wormhole = Vue$1.extend({\n data: function data() {\n return {\n transports: transports,\n targets: targets,\n sources: sources,\n trackInstances: inBrowser\n };\n },\n methods: {\n open: function open(transport) {\n if (!inBrowser) return;\n var to = transport.to,\n from = transport.from,\n passengers = transport.passengers,\n _transport$order = transport.order,\n order = _transport$order === void 0 ? Infinity : _transport$order;\n if (!to || !from || !passengers) return;\n var newTransport = {\n to: to,\n from: from,\n passengers: freeze(passengers),\n order: order\n };\n var keys = Object.keys(this.transports);\n\n if (keys.indexOf(to) === -1) {\n Vue$1.set(this.transports, to, []);\n }\n\n var currentIndex = this.$_getTransportIndex(newTransport); // Copying the array here so that the PortalTarget change event will actually contain two distinct arrays\n\n var newTransports = this.transports[to].slice(0);\n\n if (currentIndex === -1) {\n newTransports.push(newTransport);\n } else {\n newTransports[currentIndex] = newTransport;\n }\n\n this.transports[to] = stableSort(newTransports, function (a, b) {\n return a.order - b.order;\n });\n },\n close: function close(transport) {\n var force = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n var to = transport.to,\n from = transport.from;\n if (!to || !from && force === false) return;\n\n if (!this.transports[to]) {\n return;\n }\n\n if (force) {\n this.transports[to] = [];\n } else {\n var index = this.$_getTransportIndex(transport);\n\n if (index >= 0) {\n // Copying the array here so that the PortalTarget change event will actually contain two distinct arrays\n var newTransports = this.transports[to].slice(0);\n newTransports.splice(index, 1);\n this.transports[to] = newTransports;\n }\n }\n },\n registerTarget: function registerTarget(target, vm, force) {\n if (!inBrowser) return;\n\n if (this.trackInstances && !force && this.targets[target]) {\n console.warn(\"[portal-vue]: Target \".concat(target, \" already exists\"));\n }\n\n this.$set(this.targets, target, Object.freeze([vm]));\n },\n unregisterTarget: function unregisterTarget(target) {\n this.$delete(this.targets, target);\n },\n registerSource: function registerSource(source, vm, force) {\n if (!inBrowser) return;\n\n if (this.trackInstances && !force && this.sources[source]) {\n console.warn(\"[portal-vue]: source \".concat(source, \" already exists\"));\n }\n\n this.$set(this.sources, source, Object.freeze([vm]));\n },\n unregisterSource: function unregisterSource(source) {\n this.$delete(this.sources, source);\n },\n hasTarget: function hasTarget(to) {\n return !!(this.targets[to] && this.targets[to][0]);\n },\n hasSource: function hasSource(to) {\n return !!(this.sources[to] && this.sources[to][0]);\n },\n hasContentFor: function hasContentFor(to) {\n return !!this.transports[to] && !!this.transports[to].length;\n },\n // Internal\n $_getTransportIndex: function $_getTransportIndex(_ref) {\n var to = _ref.to,\n from = _ref.from;\n\n for (var i in this.transports[to]) {\n if (this.transports[to][i].from === from) {\n return +i;\n }\n }\n\n return -1;\n }\n }\n});\nvar wormhole = new Wormhole(transports);\n\nvar _id = 1;\nvar Portal = Vue$1.extend({\n name: 'portal',\n props: {\n disabled: {\n type: Boolean\n },\n name: {\n type: String,\n default: function _default() {\n return String(_id++);\n }\n },\n order: {\n type: Number,\n default: 0\n },\n slim: {\n type: Boolean\n },\n slotProps: {\n type: Object,\n default: function _default() {\n return {};\n }\n },\n tag: {\n type: String,\n default: 'DIV'\n },\n to: {\n type: String,\n default: function _default() {\n return String(Math.round(Math.random() * 10000000));\n }\n }\n },\n created: function created() {\n var _this = this;\n\n this.$nextTick(function () {\n wormhole.registerSource(_this.name, _this);\n });\n },\n mounted: function mounted() {\n if (!this.disabled) {\n this.sendUpdate();\n }\n },\n updated: function updated() {\n if (this.disabled) {\n this.clear();\n } else {\n this.sendUpdate();\n }\n },\n beforeDestroy: function beforeDestroy() {\n wormhole.unregisterSource(this.name);\n this.clear();\n },\n watch: {\n to: function to(newValue, oldValue) {\n oldValue && oldValue !== newValue && this.clear(oldValue);\n this.sendUpdate();\n }\n },\n methods: {\n clear: function clear(target) {\n var closer = {\n from: this.name,\n to: target || this.to\n };\n wormhole.close(closer);\n },\n normalizeSlots: function normalizeSlots() {\n return this.$scopedSlots.default ? [this.$scopedSlots.default] : this.$slots.default;\n },\n normalizeOwnChildren: function normalizeOwnChildren(children) {\n return typeof children === 'function' ? children(this.slotProps) : children;\n },\n sendUpdate: function sendUpdate() {\n var slotContent = this.normalizeSlots();\n\n if (slotContent) {\n var transport = {\n from: this.name,\n to: this.to,\n passengers: _toConsumableArray(slotContent),\n order: this.order\n };\n wormhole.open(transport);\n } else {\n this.clear();\n }\n }\n },\n render: function render(h) {\n var children = this.$slots.default || this.$scopedSlots.default || [];\n var Tag = this.tag;\n\n if (children && this.disabled) {\n return children.length <= 1 && this.slim ? this.normalizeOwnChildren(children)[0] : h(Tag, [this.normalizeOwnChildren(children)]);\n } else {\n return this.slim ? h() : h(Tag, {\n class: {\n 'v-portal': true\n },\n style: {\n display: 'none'\n },\n key: 'v-portal-placeholder'\n });\n }\n }\n});\n\nvar PortalTarget = Vue$1.extend({\n name: 'portalTarget',\n props: {\n multiple: {\n type: Boolean,\n default: false\n },\n name: {\n type: String,\n required: true\n },\n slim: {\n type: Boolean,\n default: false\n },\n slotProps: {\n type: Object,\n default: function _default() {\n return {};\n }\n },\n tag: {\n type: String,\n default: 'div'\n },\n transition: {\n type: [String, Object, Function]\n }\n },\n data: function data() {\n return {\n transports: wormhole.transports,\n firstRender: true\n };\n },\n created: function created() {\n var _this = this;\n\n this.$nextTick(function () {\n wormhole.registerTarget(_this.name, _this);\n });\n },\n watch: {\n ownTransports: function ownTransports() {\n this.$emit('change', this.children().length > 0);\n },\n name: function name(newVal, oldVal) {\n /**\r\n * TODO\r\n * This should warn as well ...\r\n */\n wormhole.unregisterTarget(oldVal);\n wormhole.registerTarget(newVal, this);\n }\n },\n mounted: function mounted() {\n var _this2 = this;\n\n if (this.transition) {\n this.$nextTick(function () {\n // only when we have a transition, because it causes a re-render\n _this2.firstRender = false;\n });\n }\n },\n beforeDestroy: function beforeDestroy() {\n wormhole.unregisterTarget(this.name);\n },\n computed: {\n ownTransports: function ownTransports() {\n var transports = this.transports[this.name] || [];\n\n if (this.multiple) {\n return transports;\n }\n\n return transports.length === 0 ? [] : [transports[transports.length - 1]];\n },\n passengers: function passengers() {\n return combinePassengers(this.ownTransports, this.slotProps);\n }\n },\n methods: {\n // can't be a computed prop because it has to \"react\" to $slot changes.\n children: function children() {\n return this.passengers.length !== 0 ? this.passengers : this.$scopedSlots.default ? this.$scopedSlots.default(this.slotProps) : this.$slots.default || [];\n },\n // can't be a computed prop because it has to \"react\" to this.children().\n noWrapper: function noWrapper() {\n var noWrapper = this.slim && !this.transition;\n\n if (noWrapper && this.children().length > 1) {\n console.warn('[portal-vue]: PortalTarget with `slim` option received more than one child element.');\n }\n\n return noWrapper;\n }\n },\n render: function render(h) {\n var noWrapper = this.noWrapper();\n var children = this.children();\n var Tag = this.transition || this.tag;\n return noWrapper ? children[0] : this.slim && !Tag ? h() : h(Tag, {\n props: {\n // if we have a transition component, pass the tag if it exists\n tag: this.transition && this.tag ? this.tag : undefined\n },\n class: {\n 'vue-portal-target': true\n }\n }, children);\n }\n});\n\nvar _id$1 = 0;\nvar portalProps = ['disabled', 'name', 'order', 'slim', 'slotProps', 'tag', 'to'];\nvar targetProps = ['multiple', 'transition'];\nvar MountingPortal = Vue$1.extend({\n name: 'MountingPortal',\n inheritAttrs: false,\n props: {\n append: {\n type: [Boolean, String]\n },\n bail: {\n type: Boolean\n },\n mountTo: {\n type: String,\n required: true\n },\n // Portal\n disabled: {\n type: Boolean\n },\n // name for the portal\n name: {\n type: String,\n default: function _default() {\n return 'mounted_' + String(_id$1++);\n }\n },\n order: {\n type: Number,\n default: 0\n },\n slim: {\n type: Boolean\n },\n slotProps: {\n type: Object,\n default: function _default() {\n return {};\n }\n },\n tag: {\n type: String,\n default: 'DIV'\n },\n // name for the target\n to: {\n type: String,\n default: function _default() {\n return String(Math.round(Math.random() * 10000000));\n }\n },\n // Target\n multiple: {\n type: Boolean,\n default: false\n },\n targetSlim: {\n type: Boolean\n },\n targetSlotProps: {\n type: Object,\n default: function _default() {\n return {};\n }\n },\n targetTag: {\n type: String,\n default: 'div'\n },\n transition: {\n type: [String, Object, Function]\n }\n },\n created: function created() {\n if (typeof document === 'undefined') return;\n var el = document.querySelector(this.mountTo);\n\n if (!el) {\n console.error(\"[portal-vue]: Mount Point '\".concat(this.mountTo, \"' not found in document\"));\n return;\n }\n\n var props = this.$props; // Target already exists\n\n if (wormhole.targets[props.name]) {\n if (props.bail) {\n console.warn(\"[portal-vue]: Target \".concat(props.name, \" is already mounted.\\n Aborting because 'bail: true' is set\"));\n } else {\n this.portalTarget = wormhole.targets[props.name];\n }\n\n return;\n }\n\n var append = props.append;\n\n if (append) {\n var type = typeof append === 'string' ? append : 'DIV';\n var mountEl = document.createElement(type);\n el.appendChild(mountEl);\n el = mountEl;\n } // get props for target from $props\n // we have to rename a few of them\n\n\n var _props = pick(this.$props, targetProps);\n\n _props.slim = this.targetSlim;\n _props.tag = this.targetTag;\n _props.slotProps = this.targetSlotProps;\n _props.name = this.to;\n this.portalTarget = new PortalTarget({\n el: el,\n parent: this.$parent || this,\n propsData: _props\n });\n },\n beforeDestroy: function beforeDestroy() {\n var target = this.portalTarget;\n\n if (this.append) {\n var el = target.$el;\n el.parentNode.removeChild(el);\n }\n\n target.$destroy();\n },\n render: function render(h) {\n if (!this.portalTarget) {\n console.warn(\"[portal-vue] Target wasn't mounted\");\n return h();\n } // if there's no \"manual\" scoped slot, so we create a ourselves\n\n\n if (!this.$scopedSlots.manual) {\n var props = pick(this.$props, portalProps);\n return h(Portal, {\n props: props,\n attrs: this.$attrs,\n on: this.$listeners,\n scopedSlots: this.$scopedSlots\n }, this.$slots.default);\n } // else, we render the scoped slot\n\n\n var content = this.$scopedSlots.manual({\n to: this.to\n }); // if user used